import { OverlayScrollbars } from "./chunk-BAESQNSA.js"; import { createBlock, createElementBlock, defineComponent, onUnmounted, openBlock, ref, renderSlot, resolveDynamicComponent, shallowRef, toRefs, unref, watch, watchPostEffect, withCtx } from "./chunk-Y2QQXEZR.js"; // node_modules/overlayscrollbars-vue/overlayscrollbars-vue.mjs var g = () => { if (typeof window > "u") { const o = () => { }; return [o, o]; } let a, t; const n = window, l = typeof n.requestIdleCallback == "function", s = n.requestAnimationFrame, r = n.cancelAnimationFrame, f = l ? n.requestIdleCallback : s, p = l ? n.cancelIdleCallback : r, e = () => { p(a), r(t); }; return [ (o, m) => { e(), a = f( l ? () => { e(), t = s(o); } : o, typeof m == "object" ? m : { timeout: 2233 } ); }, e ]; }; var x = (a) => { let t = null, n, l, s; const r = shallowRef(a || {}), [f, p] = g(); return watch( () => { var e; return unref((e = r.value) == null ? void 0 : e.defer); }, (e) => { s = e; }, { deep: true, immediate: true } ), watch( () => { var e; return unref((e = r.value) == null ? void 0 : e.options); }, (e) => { n = e, OverlayScrollbars.valid(t) && t.options(n || {}, true); }, { deep: true, immediate: true } ), watch( () => { var e; return unref((e = r.value) == null ? void 0 : e.events); }, (e) => { l = e, OverlayScrollbars.valid(t) && t.on( /* c8 ignore next */ l || {}, true ); }, { deep: true, immediate: true } ), onUnmounted(() => { p(), t == null || t.destroy(); }), [ (e) => { if (OverlayScrollbars.valid(t)) return t; const o = () => t = OverlayScrollbars(e, n || {}, l || {}); s ? f(o, s) : o(); }, () => t ]; }; var P = defineComponent({ __name: "OverlayScrollbarsComponent", props: { element: { type: [String, Object], default: "div" }, options: { type: Object }, events: { type: Object }, defer: { type: [Boolean, Object] } }, emits: ["osInitialized", "osUpdated", "osDestroyed", "osScroll"], setup(a, { expose: t, emit: n }) { const l = a, s = { initialized: "osInitialized", updated: "osUpdated", destroyed: "osDestroyed", scroll: "osScroll" }, { element: r, options: f, events: p, defer: e } = toRefs(l), o = shallowRef(null), m = shallowRef(null), I = ref(), [E, O] = x({ options: f, events: I, defer: e }); return t({ osInstance: O, getElement: () => o.value }), watchPostEffect((c) => { const { value: i } = o, { value: v } = m; i && (E( r.value === "body" ? { target: i, cancel: { body: null } } : { target: i, elements: { viewport: v, content: v } } ), c(() => { var d; return (d = O()) == null ? void 0 : d.destroy(); })); }), watch( () => unref(p), (c) => { const i = c || {}; I.value = Object.keys(s).reduce((v, d) => { const k = i[d]; return v[d] = [ (...R) => n( s[d], ...R ), ...(Array.isArray(k) ? k : [k]).filter(Boolean) ], v; }, {}); }, { deep: true, immediate: true } ), (c, i) => (openBlock(), createBlock(resolveDynamicComponent(unref(r)), { "data-overlayscrollbars-initialize": "", ref_key: "elementRef", ref: o }, { default: withCtx(() => [ unref(r) === "body" ? renderSlot(c.$slots, "default", { key: 0 }) : (openBlock(), createElementBlock("div", { key: 1, "data-overlayscrollbars-contents": "", ref_key: "slotRef", ref: m }, [ renderSlot(c.$slots, "default") ], 512)) ]), _: 3 }, 512)); } }); export { P as OverlayScrollbarsComponent, x as useOverlayScrollbars }; //# sourceMappingURL=overlayscrollbars-vue.js.map