UNPKG

@dialpad/dialtone-vue

Version:

Vue component library for Dialpad's design system Dialtone

1 lines 2.69 kB
{"version":3,"file":"scrollbar.cjs","names":["ClickScrollPlugin"],"sources":["../../../directives/scrollbar_directive/scrollbar.js"],"sourcesContent":["import { OverlayScrollbars, ClickScrollPlugin } from 'overlayscrollbars';\n\nexport const DtScrollbarDirective = {\n name: 'dt-scrollbar-directive',\n install (app) {\n OverlayScrollbars.plugin(ClickScrollPlugin);\n const instances = new WeakMap();\n app.directive('dt-scrollbar', {\n mounted (el, binding) {\n // @property inside a shadow DOM stylesheet doesn't register globally.\n // Without global registration Chrome's WAAPI can't interpolate\n // --os-scroll-percent as a number and the scrollbar thumb never moves.\n try {\n CSS.registerProperty({\n name: '--os-scroll-percent',\n syntax: '<number>',\n inherits: true,\n initialValue: '0',\n });\n } catch (error) {\n // Chrome throws InvalidModificationError when the property is already\n // registered — that's the expected case on non-web-component pages\n // where overlayscrollbars.css is loaded globally. Anything else is a\n // real failure and should not be silently swallowed.\n if (!(error instanceof DOMException) || error.name !== 'InvalidModificationError') {\n throw error;\n }\n }\n\n const os = OverlayScrollbars({\n target: el,\n elements: {\n viewport: el.children[0],\n },\n }, {\n scrollbars: {\n autoHide: `${binding.arg || 'leave'}`,\n clickScroll: true,\n autoHideDelay: `${!binding.arg || binding.arg === 'leave' ? 0 : 1300}`,\n },\n });\n el.setAttribute('data-overlayscrollbars-initialize', true);\n el.classList.add('d-scrollbar');\n instances.set(el, os);\n },\n unmounted (el) {\n instances.get(el).destroy();\n },\n });\n },\n};\n\nexport default DtScrollbarDirective;\n"],"mappings":"sKAEA,IAAa,EAAuB,CAClC,KAAM,yBACN,QAAS,EAAK,CACZ,EAAA,kBAAkB,OAAOA,EAAAA,kBAAkB,CAC3C,IAAM,EAAY,IAAI,QACtB,EAAI,UAAU,eAAgB,CAC5B,QAAS,EAAI,EAAS,CAIpB,GAAI,CACF,IAAI,iBAAiB,CACnB,KAAM,sBACN,OAAQ,WACR,SAAU,GACV,aAAc,IACf,CAAC,OACK,EAAO,CAKd,GAAI,EAAE,aAAiB,eAAiB,EAAM,OAAS,2BACrD,MAAM,EAIV,IAAM,GAAA,EAAA,EAAA,mBAAuB,CAC3B,OAAQ,EACR,SAAU,CACR,SAAU,EAAG,SAAS,GACvB,CACF,CAAE,CACD,WAAY,CACV,SAAU,GAAG,EAAQ,KAAO,UAC5B,YAAa,GACb,cAAe,GAAG,CAAC,EAAQ,KAAO,EAAQ,MAAQ,QAAU,EAAI,OACjE,CACF,CAAC,CACF,EAAG,aAAa,oCAAqC,GAAK,CAC1D,EAAG,UAAU,IAAI,cAAc,CAC/B,EAAU,IAAI,EAAI,EAAG,EAEvB,UAAW,EAAI,CACb,EAAU,IAAI,EAAG,CAAC,SAAS,EAE9B,CAAC,EAEL"}