Forked from hermes-frontend, stripped openclaw/bun specifics: - Auth tokens: openclaw_session -> nyx_session - Vite proxy: localhost:3003 -> localhost:8000 (assay) - Prod WS: wss://assay.loop42.de/ws - Workspace paths: removed openclaw-specific paths - Added missing deps: @heroicons/vue, overlayscrollbars-vue - Branding: title -> nyx Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 line
12 KiB
Plaintext
1 line
12 KiB
Plaintext
{"version":3,"file":"overlayscrollbars-vue.mjs","sources":["../src/useOverlayScrollbars.ts","../src/OverlayScrollbarsComponent.vue"],"sourcesContent":["import { onUnmounted, shallowRef, unref, watch } from 'vue';\r\nimport { OverlayScrollbars } from 'overlayscrollbars';\r\nimport type { Ref, UnwrapRef } from 'vue';\r\nimport type { InitializationTarget } from 'overlayscrollbars';\r\nimport type {\r\n OverlayScrollbarsComponentProps,\r\n OverlayScrollbarsComponentRef,\r\n} from './OverlayScrollbarsComponent.types';\r\n\r\ntype Defer = [\r\n requestDefer: (callback: () => any, options?: OverlayScrollbarsComponentProps['defer']) => void,\r\n cancelDefer: () => void\r\n];\r\n\r\nexport interface UseOverlayScrollbarsParams {\r\n /** OverlayScrollbars options. */\r\n options?:\r\n | OverlayScrollbarsComponentProps['options']\r\n | Ref<OverlayScrollbarsComponentProps['options']>;\r\n /** OverlayScrollbars events. */\r\n events?:\r\n | OverlayScrollbarsComponentProps['events']\r\n | Ref<OverlayScrollbarsComponentProps['events']>;\r\n /** Whether to defer the initialization to a point in time when the browser is idle. (or to the next frame if `window.requestIdleCallback` is not supported) */\r\n defer?: OverlayScrollbarsComponentProps['defer'] | Ref<OverlayScrollbarsComponentProps['defer']>;\r\n}\r\n\r\nexport type UseOverlayScrollbarsInitialization = (target: InitializationTarget) => void;\r\n\r\nexport type UseOverlayScrollbarsInstance = () => ReturnType<\r\n OverlayScrollbarsComponentRef['osInstance']\r\n>;\r\n\r\nconst createDefer = (): Defer => {\r\n /* c8 ignore start */\r\n if (typeof window === 'undefined') {\r\n // mock ssr calls with \"noop\"\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n const noop = () => {};\r\n return [noop, noop];\r\n }\r\n /* c8 ignore end */\r\n\r\n let idleId: number;\r\n let rafId: number;\r\n const wnd = window;\r\n const idleSupported = typeof wnd.requestIdleCallback === 'function';\r\n const rAF = wnd.requestAnimationFrame;\r\n const cAF = wnd.cancelAnimationFrame;\r\n const rIdle = idleSupported ? wnd.requestIdleCallback : rAF;\r\n const cIdle = idleSupported ? wnd.cancelIdleCallback : cAF;\r\n const clear = () => {\r\n cIdle(idleId);\r\n cAF(rafId);\r\n };\r\n\r\n return [\r\n (callback, options) => {\r\n clear();\r\n idleId = rIdle(\r\n idleSupported\r\n ? () => {\r\n clear();\r\n // inside idle its best practice to use rAF to change DOM for best performance\r\n rafId = rAF(callback);\r\n }\r\n : callback,\r\n typeof options === 'object' ? options : { timeout: 2233 }\r\n );\r\n },\r\n clear,\r\n ];\r\n};\r\n\r\n/**\r\n * Composable for advanced usage of OverlayScrollbars. (When the OverlayScrollbarsComponent is not enough)\r\n * @param params Parameters for customization.\r\n * @returns A tuple with two values:\r\n * The first value is the initialization function, it takes one argument which is the `InitializationTarget` and returns the OverlayScrollbars instance.\r\n * The second value is a function which returns the current OverlayScrollbars instance or `null` if not initialized.\r\n */\r\nexport const useOverlayScrollbars = (\r\n params?: UseOverlayScrollbarsParams | Ref<UseOverlayScrollbarsParams | undefined>\r\n): [UseOverlayScrollbarsInitialization, UseOverlayScrollbarsInstance] => {\r\n let instance: ReturnType<UseOverlayScrollbarsInstance> = null;\r\n let options: UnwrapRef<UseOverlayScrollbarsParams['options']>;\r\n let events: UnwrapRef<UseOverlayScrollbarsParams['events']>;\r\n let defer: UnwrapRef<UseOverlayScrollbarsParams['defer']>;\r\n const paramsRef = shallowRef(params || {});\r\n const [requestDefer, clearDefer] = createDefer();\r\n\r\n watch(\r\n () => unref(paramsRef.value?.defer),\r\n (currDefer) => {\r\n defer = currDefer;\r\n },\r\n { deep: true, immediate: true }\r\n );\r\n\r\n watch(\r\n () => unref(paramsRef.value?.options),\r\n (currOptions) => {\r\n options = currOptions;\r\n\r\n if (OverlayScrollbars.valid(instance)) {\r\n instance.options(options || {}, true);\r\n }\r\n },\r\n { deep: true, immediate: true }\r\n );\r\n\r\n watch(\r\n () => unref(paramsRef.value?.events),\r\n (currEvents) => {\r\n events = currEvents;\r\n\r\n if (OverlayScrollbars.valid(instance)) {\r\n instance.on(\r\n /* c8 ignore next */\r\n events || {},\r\n true\r\n );\r\n }\r\n },\r\n { deep: true, immediate: true }\r\n );\r\n\r\n onUnmounted(() => {\r\n clearDefer();\r\n instance?.destroy();\r\n });\r\n\r\n return [\r\n (target) => {\r\n // if already initialized do nothing\r\n if (OverlayScrollbars.valid(instance)) {\r\n return instance;\r\n }\r\n\r\n const init = () => (instance = OverlayScrollbars(target, options || {}, events || {}));\r\n\r\n if (defer) {\r\n requestDefer(init, defer);\r\n } else {\r\n init();\r\n }\r\n },\r\n () => instance,\r\n ];\r\n};\r\n","<script setup lang=\"ts\">\r\nimport {\r\n ref,\r\n unref,\r\n shallowRef,\r\n toRefs,\r\n watch,\r\n watchPostEffect,\r\n onMounted,\r\n type PropType,\r\n} from 'vue';\r\nimport { useOverlayScrollbars } from './useOverlayScrollbars';\r\nimport type {\r\n OverlayScrollbarsComponentProps,\r\n OverlayScrollbarsComponentRef,\r\n} from './OverlayScrollbarsComponent.types';\r\nimport type { EventListeners, EventListenerArgs } from 'overlayscrollbars';\r\n\r\ntype EmitEventsMap = {\r\n [N in keyof EventListenerArgs]: `os${Capitalize<N>}`;\r\n};\r\n\r\nconst emitEvents: EmitEventsMap = {\r\n initialized: 'osInitialized',\r\n updated: 'osUpdated',\r\n destroyed: 'osDestroyed',\r\n scroll: 'osScroll',\r\n};\r\nconst props = defineProps({\r\n element: {\r\n type: [String, Object] as PropType<Required<OverlayScrollbarsComponentProps>['element']>,\r\n default: 'div',\r\n },\r\n options: { type: Object as PropType<OverlayScrollbarsComponentProps['options']> },\r\n events: { type: Object as PropType<OverlayScrollbarsComponentProps['events']> },\r\n defer: { type: [Boolean, Object] as PropType<OverlayScrollbarsComponentProps['defer']> },\r\n});\r\nconst emits = defineEmits<{\r\n (name: 'osInitialized', ...args: EventListenerArgs['initialized']): void;\r\n (name: 'osUpdated', ...args: EventListenerArgs['updated']): void;\r\n (name: 'osDestroyed', ...args: EventListenerArgs['destroyed']): void;\r\n (name: 'osScroll', ...args: EventListenerArgs['scroll']): void;\r\n}>();\r\n\r\nconst { element, options, events, defer } = toRefs(props);\r\nconst elementRef = shallowRef<HTMLElement | null>(null);\r\nconst slotRef = shallowRef<HTMLElement | null>(null);\r\nconst combinedEvents = ref<EventListeners>();\r\nconst [initialize, osInstance] = useOverlayScrollbars({ options, events: combinedEvents, defer });\r\n\r\nconst exposed: OverlayScrollbarsComponentRef = {\r\n osInstance,\r\n getElement: () => elementRef.value,\r\n};\r\n\r\ndefineExpose(exposed);\r\n\r\nwatchPostEffect((onCleanup) => {\r\n const { value: target } = elementRef;\r\n const { value: contentsElm } = slotRef;\r\n\r\n /* c8 ignore start */\r\n if (!target) {\r\n return;\r\n }\r\n /* c8 ignore end */\r\n\r\n initialize(\r\n element.value === 'body'\r\n ? {\r\n target,\r\n cancel: {\r\n body: null,\r\n },\r\n }\r\n : {\r\n target,\r\n elements: {\r\n viewport: contentsElm,\r\n content: contentsElm,\r\n },\r\n }\r\n );\r\n\r\n onCleanup(() => osInstance()?.destroy());\r\n});\r\n\r\nwatch(\r\n () => unref(events),\r\n (rawCurrEvents) => {\r\n const currEvents = rawCurrEvents || {};\r\n combinedEvents.value = (\r\n Object.keys(emitEvents) as (keyof EventListeners)[]\r\n ).reduce<EventListeners>(<N extends keyof EventListeners>(obj: EventListeners, name: N) => {\r\n const eventListener = currEvents[name];\r\n obj[name] = [\r\n (...args: EventListenerArgs[N]) =>\r\n emits(\r\n emitEvents[name],\r\n // @ts-ignore\r\n ...args\r\n ),\r\n ...(Array.isArray(eventListener) ? eventListener : [eventListener]).filter(Boolean),\r\n ];\r\n return obj;\r\n }, {});\r\n },\r\n { deep: true, immediate: true }\r\n);\r\n</script>\r\n\r\n<template>\r\n <component data-overlayscrollbars-initialize=\"\" :is=\"element\" ref=\"elementRef\">\r\n <slot v-if=\"element === 'body'\"></slot>\r\n <div v-else data-overlayscrollbars-contents=\"\" ref=\"slotRef\">\r\n <slot></slot>\r\n </div>\r\n </component>\r\n</template>\r\n"],"names":["createDefer","noop","idleId","rafId","wnd","idleSupported","rAF","cAF","rIdle","cIdle","clear","callback","options","useOverlayScrollbars","params","instance","events","defer","paramsRef","shallowRef","requestDefer","clearDefer","watch","unref","_a","currDefer","currOptions","OverlayScrollbars","currEvents","onUnmounted","target","init","emitEvents","element","toRefs","props","elementRef","slotRef","combinedEvents","ref","initialize","osInstance","expose","watchPostEffect","onCleanup","contentsElm","rawCurrEvents","obj","name","eventListener","args","emits"],"mappings":";;AAiCA,MAAMA,IAAc,MAAa;AAE3B,MAAA,OAAO,SAAW,KAAa;AAGjC,UAAMC,IAAO,MAAM;AAAA,IAAA;AACZ,WAAA,CAACA,GAAMA,CAAI;AAAA,EACpB;AAGI,MAAAC,GACAC;AACJ,QAAMC,IAAM,QACNC,IAAgB,OAAOD,EAAI,uBAAwB,YACnDE,IAAMF,EAAI,uBACVG,IAAMH,EAAI,sBACVI,IAAQH,IAAgBD,EAAI,sBAAsBE,GAClDG,IAAQJ,IAAgBD,EAAI,qBAAqBG,GACjDG,IAAQ,MAAM;AAClB,IAAAD,EAAMP,CAAM,GACZK,EAAIJ,CAAK;AAAA,EAAA;AAGJ,SAAA;AAAA,IACL,CAACQ,GAAUC,MAAY;AACf,MAAAF,KACGR,IAAAM;AAAA,QACPH,IACI,MAAM;AACE,UAAAK,KAENP,IAAQG,EAAIK,CAAQ;AAAA,QAAA,IAEtBA;AAAA,QACJ,OAAOC,KAAY,WAAWA,IAAU,EAAE,SAAS,KAAK;AAAA,MAAA;AAAA,IAE5D;AAAA,IACAF;AAAA,EAAA;AAEJ,GASaG,IAAuB,CAClCC,MACuE;AACvE,MAAIC,IAAqD,MACrDH,GACAI,GACAC;AACJ,QAAMC,IAAYC,EAAWL,KAAU,CAAE,CAAA,GACnC,CAACM,GAAcC,CAAU,IAAIrB,EAAY;AAE/C,SAAAsB;AAAA,IACE,MAAA;;AAAM,aAAAC,GAAMC,IAAAN,EAAU,UAAV,gBAAAM,EAAiB,KAAK;AAAA;AAAA,IAClC,CAACC,MAAc;AACL,MAAAR,IAAAQ;AAAA,IACV;AAAA,IACA,EAAE,MAAM,IAAM,WAAW,GAAK;AAAA,EAAA,GAGhCH;AAAA,IACE,MAAA;;AAAM,aAAAC,GAAMC,IAAAN,EAAU,UAAV,gBAAAM,EAAiB,OAAO;AAAA;AAAA,IACpC,CAACE,MAAgB;AACL,MAAAd,IAAAc,GAENC,EAAkB,MAAMZ,CAAQ,KAClCA,EAAS,QAAQH,KAAW,CAAC,GAAG,EAAI;AAAA,IAExC;AAAA,IACA,EAAE,MAAM,IAAM,WAAW,GAAK;AAAA,EAAA,GAGhCU;AAAA,IACE,MAAA;;AAAM,aAAAC,GAAMC,IAAAN,EAAU,UAAV,gBAAAM,EAAiB,MAAM;AAAA;AAAA,IACnC,CAACI,MAAe;AACL,MAAAZ,IAAAY,GAELD,EAAkB,MAAMZ,CAAQ,KACzBA,EAAA;AAAA;AAAA,QAEPC,KAAU,CAAC;AAAA,QACX;AAAA,MAAA;AAAA,IAGN;AAAA,IACA,EAAE,MAAM,IAAM,WAAW,GAAK;AAAA,EAAA,GAGhCa,EAAY,MAAM;AACL,IAAAR,KACXN,KAAA,QAAAA,EAAU;AAAA,EAAQ,CACnB,GAEM;AAAA,IACL,CAACe,MAAW;AAEN,UAAAH,EAAkB,MAAMZ,CAAQ;AAC3B,eAAAA;AAGH,YAAAgB,IAAO,MAAOhB,IAAWY,EAAkBG,GAAQlB,KAAW,CAAC,GAAGI,KAAU,CAAA,CAAE;AAEpF,MAAIC,IACFG,EAAaW,GAAMd,CAAK,IAEnBc;IAET;AAAA,IACA,MAAMhB;AAAA,EAAA;AAEV;;;;;;;;;;;;;iBC/HMiB,IAA4B;AAAA,MAChC,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAW;AAAA,MACX,QAAQ;AAAA,IAAA,GAkBJ,EAAE,SAAAC,GAAS,SAAArB,GAAS,QAAAI,GAAQ,OAAAC,MAAUiB,EAAOC,CAAK,GAClDC,IAAajB,EAA+B,IAAI,GAChDkB,IAAUlB,EAA+B,IAAI,GAC7CmB,IAAiBC,KACjB,CAACC,GAAYC,CAAU,IAAI5B,EAAqB,EAAE,SAAAD,GAAS,QAAQ0B,GAAgB,OAAArB,EAAA,CAAO;AAOhG,WAAAyB,EAL+C;AAAA,MAC7C,YAAAD;AAAA,MACA,YAAY,MAAML,EAAW;AAAA,IAAA,CAGX,GAEpBO,EAAgB,CAACC,MAAc;AACvB,YAAA,EAAE,OAAOd,EAAW,IAAAM,GACpB,EAAE,OAAOS,EAAgB,IAAAR;AAG/B,MAAKP,MAKLU;AAAA,QACEP,EAAQ,UAAU,SACd;AAAA,UACE,QAAAH;AAAA,UACA,QAAQ;AAAA,YACN,MAAM;AAAA,UACR;AAAA,QAAA,IAEF;AAAA,UACE,QAAAA;AAAA,UACA,UAAU;AAAA,YACR,UAAUe;AAAA,YACV,SAASA;AAAA,UACX;AAAA,QACF;AAAA,MAAA,GAGND,EAAU,MAAM;;AAAA,gBAAApB,IAAAiB,QAAA,gBAAAjB,EAAc;AAAA,OAAS;AAAA,IAAA,CACxC,GAEDF;AAAA,MACE,MAAMC,EAAMP,CAAM;AAAA,MAClB,CAAC8B,MAAkB;AACX,cAAAlB,IAAakB,KAAiB;AACrB,QAAAR,EAAA,QACb,OAAO,KAAKN,CAAU,EACtB,OAAuB,CAAiCe,GAAqBC,MAAY;AACnF,gBAAAC,IAAgBrB,EAAWoB,CAAI;AACrC,iBAAAD,EAAIC,CAAI,IAAI;AAAA,YACV,IAAIE,MACFC;AAAA,cACEnB,EAAWgB,CAAI;AAAA,cAEf,GAAGE;AAAA,YACL;AAAA,YACF,IAAI,MAAM,QAAQD,CAAa,IAAIA,IAAgB,CAACA,CAAa,GAAG,OAAO,OAAO;AAAA,UAAA,GAE7EF;AAAA,QACT,GAAG,CAAE,CAAA;AAAA,MACP;AAAA,MACA,EAAE,MAAM,IAAM,WAAW,GAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;"} |