@vc-shell/framework 2.0.0-alpha.9 → 2.0.0-pr221.637b802
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +549 -539
- package/dist/ai-agent/index.js +13 -0
- package/dist/ai-agent/index.js.map +1 -0
- package/dist/chunks/ExtensionPoint.vue_vue_type_style_index_0_lang-B1R06zHa.js +12 -0
- package/dist/chunks/ExtensionPoint.vue_vue_type_style_index_0_lang-B1R06zHa.js.map +1 -0
- package/dist/chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-D0kWIlz3.js +4485 -0
- package/dist/chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-D0kWIlz3.js.map +1 -0
- package/dist/chunks/VcTableAdapter.vue_vue_type_style_index_0_lang-Dh7DDZB9.js +22070 -0
- package/dist/chunks/VcTableAdapter.vue_vue_type_style_index_0_lang-Dh7DDZB9.js.map +1 -0
- package/dist/chunks/index-BuTo_Lx8.js +72 -0
- package/dist/chunks/index-BuTo_Lx8.js.map +1 -0
- package/dist/chunks/index-CDUdOax4.js +117 -0
- package/dist/chunks/index-CDUdOax4.js.map +1 -0
- package/dist/chunks/vendor-boolbase-DYkUBG-P.js.map +1 -0
- package/dist/chunks/vendor-cheerio-DE71XQ9x.js.map +1 -0
- package/dist/chunks/vendor-cheerio-select-D-qK1Cpo.js.map +1 -0
- package/dist/chunks/vendor-css-select-DqoO1-RK.js.map +1 -0
- package/dist/chunks/vendor-css-what-CZZaquJM.js.map +1 -0
- package/dist/chunks/vendor-cypress-signalr-mock-itnm2wpA.js.map +1 -0
- package/dist/chunks/vendor-d3-array-9cpTrqlO.js.map +1 -0
- package/dist/chunks/vendor-d3-axis-D1_DbKLz.js.map +1 -0
- package/dist/chunks/vendor-d3-brush-CcKeJp9e.js.map +1 -0
- package/dist/chunks/vendor-d3-chord-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-color-BOYE6h_9.js.map +1 -0
- package/dist/chunks/vendor-d3-dispatch-fx-WMg0D.js.map +1 -0
- package/dist/chunks/vendor-d3-drag-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-ease-Cr34gv04.js.map +1 -0
- package/dist/chunks/vendor-d3-force-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-format-DaIwZvFc.js.map +1 -0
- package/dist/chunks/vendor-d3-geo-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-geo-projection-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-hierarchy-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-interpolate-BYG2gvO4.js.map +1 -0
- package/dist/chunks/vendor-d3-interpolate-path-CpGLvKgS.js.map +1 -0
- package/dist/chunks/vendor-d3-path-DJOTitNW.js.map +1 -0
- package/dist/chunks/vendor-d3-quadtree-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-sankey-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-d3-scale-CC5rtdt5.js.map +1 -0
- package/dist/chunks/vendor-d3-selection-CNMxsYiL.js.map +1 -0
- package/dist/chunks/vendor-d3-shape-DBhCDMiV.js.map +1 -0
- package/dist/chunks/vendor-d3-time-DAPP210_.js.map +1 -0
- package/dist/chunks/vendor-d3-time-format-hD7iE2WG.js.map +1 -0
- package/dist/chunks/vendor-d3-timer-C1cUWKPz.js.map +1 -0
- package/dist/chunks/vendor-d3-transition-BbNQT7qF.js.map +1 -0
- package/dist/chunks/vendor-d3-zoom-CcKeJp9e.js.map +1 -0
- package/dist/chunks/vendor-date-fns-BKO3x1R1.js.map +1 -0
- package/dist/chunks/vendor-dom-serializer-BbVuF1MQ.js.map +1 -0
- package/dist/chunks/vendor-domelementtype-B3sFIGaC.js.map +1 -0
- package/dist/chunks/vendor-domhandler-Kufn9M_V.js.map +1 -0
- package/dist/chunks/vendor-dompurify-DpIUMBYC.js +560 -0
- package/dist/chunks/vendor-dompurify-DpIUMBYC.js.map +1 -0
- package/dist/chunks/vendor-domutils-DDRq_ial.js.map +1 -0
- package/dist/chunks/vendor-elkjs-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-emotion-cache-eEZT5l-Q.js.map +1 -0
- package/dist/chunks/vendor-emotion-hash-DImMRhyK.js.map +1 -0
- package/dist/chunks/vendor-emotion-memoize-BcEUCz8q.js.map +1 -0
- package/dist/chunks/vendor-emotion-serialize-BSDW8NwU.js.map +1 -0
- package/dist/chunks/vendor-emotion-sheet-CS8ZBl9s.js.map +1 -0
- package/dist/chunks/vendor-emotion-unitless-B7u1PU6w.js.map +1 -0
- package/dist/chunks/vendor-emotion-utils-D7refZTM.js.map +1 -0
- package/dist/chunks/vendor-emotion-weak-memoize-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-entities-J86Og8IU.js.map +1 -0
- package/dist/chunks/vendor-floating-ui-core-BoHdh92a.js.map +1 -0
- package/dist/chunks/vendor-floating-ui-dom-BvVXFZ4B.js.map +1 -0
- package/dist/chunks/vendor-floating-ui-utils-CidJRIm2.js.map +1 -0
- package/dist/chunks/vendor-floating-ui-vue-sCrhit51.js.map +1 -0
- package/dist/chunks/vendor-gridstack-Beau2jQ7.js +3460 -0
- package/dist/chunks/vendor-gridstack-Beau2jQ7.js.map +1 -0
- package/dist/chunks/vendor-headlessui-vue-Cn-RMs4E.js.map +1 -0
- package/dist/chunks/vendor-htmlparser2-BxKKzWLL.js.map +1 -0
- package/dist/chunks/vendor-internmap-Q5729_cS.js.map +1 -0
- package/dist/chunks/vendor-intlify-core-base-Cf8V01l9.js +1141 -0
- package/dist/chunks/vendor-intlify-core-base-Cf8V01l9.js.map +1 -0
- package/dist/chunks/vendor-intlify-message-compiler-h1txdYa8.js +960 -0
- package/dist/chunks/vendor-intlify-message-compiler-h1txdYa8.js.map +1 -0
- package/dist/chunks/vendor-intlify-shared-D4BJYR57.js +144 -0
- package/dist/chunks/vendor-intlify-shared-D4BJYR57.js.map +1 -0
- package/dist/chunks/vendor-iso-639-1-BEjYyfKo.js.map +1 -0
- package/dist/chunks/vendor-juggle-resize-observer-DiSiNbbT.js.map +1 -0
- package/dist/chunks/vendor-kdbush-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-leaflet-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-linkify-it-LzoUhj6C.js.map +1 -0
- package/dist/chunks/vendor-linkifyjs-dCH9UYes.js.map +1 -0
- package/dist/chunks/vendor-lodash-es-CfnUOh0o.js +1490 -0
- package/dist/chunks/vendor-lodash-es-CfnUOh0o.js.map +1 -0
- package/dist/chunks/vendor-lodash-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-lucide-vue-next-CwUrzD6N.js +33103 -0
- package/dist/chunks/vendor-lucide-vue-next-CwUrzD6N.js.map +1 -0
- package/dist/chunks/vendor-maplibre-gl-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-markdown-it-Bs9KEWkF.js.map +1 -0
- package/dist/chunks/vendor-markdown-it-task-lists-CHKeJZfk.js.map +1 -0
- package/dist/chunks/vendor-mdurl-DZFDNdqC.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-analytics-js-ufpnHxNR.js +1142 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-analytics-js-ufpnHxNR.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-cfgsync-js-BmGq5cEx.js +247 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-cfgsync-js-BmGq5cEx.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-channel-js-BdtUi1l8.js +1907 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-channel-js-BdtUi1l8.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-core-js-CR3vyuZc.js +8406 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-core-js-CR3vyuZc.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-dependencies-js-DXmYt4tG.js +1441 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-dependencies-js-DXmYt4tG.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-properties-js-CLbNzgkN.js +610 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-properties-js-CLbNzgkN.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-shims-CGX8KXgN.js +44 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-shims-CGX8KXgN.js.map +1 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-web-DzgnK2Mn.js +970 -0
- package/dist/chunks/vendor-microsoft-applicationinsights-web-DzgnK2Mn.js.map +1 -0
- package/dist/chunks/vendor-microsoft-dynamicproto-js-D7567TLZ.js +147 -0
- package/dist/chunks/vendor-microsoft-dynamicproto-js-D7567TLZ.js.map +1 -0
- package/dist/chunks/vendor-microsoft-signalr-Bgpbb4fW.js +1761 -0
- package/dist/chunks/vendor-microsoft-signalr-Bgpbb4fW.js.map +1 -0
- package/dist/chunks/vendor-nevware21-ts-async-BxN_lmkD.js +271 -0
- package/dist/chunks/vendor-nevware21-ts-async-BxN_lmkD.js.map +1 -0
- package/dist/chunks/vendor-nevware21-ts-utils-Dr-hD3q9.js +973 -0
- package/dist/chunks/vendor-nevware21-ts-utils-Dr-hD3q9.js.map +1 -0
- package/dist/chunks/vendor-nth-check-D0N1qpsw.js.map +1 -0
- package/dist/chunks/vendor-orderedmap-B3SOk52B.js.map +1 -0
- package/dist/chunks/vendor-parse5-htmlparser2-tree-adapter-BUDJ887-.js.map +1 -0
- package/dist/chunks/vendor-parse5-zq5Hn0y9.js.map +1 -0
- package/dist/chunks/vendor-prettier-2Sf6a5jB.js +5309 -0
- package/dist/chunks/vendor-prettier-2Sf6a5jB.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-commands-BaRVaTVO.js +385 -0
- package/dist/chunks/vendor-prosemirror-commands-BaRVaTVO.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-dropcursor-PuLxL9JM.js +86 -0
- package/dist/chunks/vendor-prosemirror-dropcursor-PuLxL9JM.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-gapcursor-C7MEx13L.js +203 -0
- package/dist/chunks/vendor-prosemirror-gapcursor-C7MEx13L.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-history-_AfZxoMt.js +248 -0
- package/dist/chunks/vendor-prosemirror-history-_AfZxoMt.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-keymap-tvZqK1zZ.js +62 -0
- package/dist/chunks/vendor-prosemirror-keymap-tvZqK1zZ.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-markdown-rpUTSG_Q.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-model-DAA3avbR.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-schema-list-qDgvFydE.js +87 -0
- package/dist/chunks/vendor-prosemirror-schema-list-qDgvFydE.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-state-BvFA7AjG.js +821 -0
- package/dist/chunks/vendor-prosemirror-state-BvFA7AjG.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-tables-CbmHRq4G.js +1414 -0
- package/dist/chunks/vendor-prosemirror-tables-CbmHRq4G.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-transform-DVGD47fI.js +1541 -0
- package/dist/chunks/vendor-prosemirror-transform-DVGD47fI.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-view-BW4UqvjQ.js +3802 -0
- package/dist/chunks/vendor-prosemirror-view-BW4UqvjQ.js.map +1 -0
- package/dist/chunks/vendor-punycode-js-CgGegfA_.js.map +1 -0
- package/dist/chunks/vendor-rope-sequence-BWC2FSrq.js.map +1 -0
- package/dist/chunks/vendor-sortablejs-Bsvu-FKn.js +1276 -0
- package/dist/chunks/vendor-sortablejs-Bsvu-FKn.js.map +1 -0
- package/dist/chunks/vendor-striptags-DtlgQudQ.js.map +1 -0
- package/dist/chunks/vendor-stylis-ClfDrgKE.js.map +1 -0
- package/dist/chunks/vendor-supercluster-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-swiper-BgqGfw3Y.js +3800 -0
- package/dist/chunks/vendor-swiper-BgqGfw3Y.js.map +1 -0
- package/dist/chunks/vendor-tanstack-virtual-core-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-tanstack-vue-virtual-CD9yLWd7.js.map +1 -0
- package/dist/chunks/vendor-three-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-throttle-debounce-CX0imT7m.js.map +1 -0
- package/dist/chunks/vendor-tiptap-core-CZbeo7XQ.js +3944 -0
- package/dist/chunks/vendor-tiptap-core-CZbeo7XQ.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-blockquote-B8uwrgnZ.js +60 -0
- package/dist/chunks/vendor-tiptap-extension-blockquote-B8uwrgnZ.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-bold-Ch9pbrZY.js +80 -0
- package/dist/chunks/vendor-tiptap-extension-bold-Ch9pbrZY.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-code-CVh_mZgz.js +52 -0
- package/dist/chunks/vendor-tiptap-extension-code-CVh_mZgz.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-code-block-CfoUSR2N.js +215 -0
- package/dist/chunks/vendor-tiptap-extension-code-block-CfoUSR2N.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-document-C4tn-v0L.js +12 -0
- package/dist/chunks/vendor-tiptap-extension-document-C4tn-v0L.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-hard-break-CbK1eM89.js +59 -0
- package/dist/chunks/vendor-tiptap-extension-hard-break-CbK1eM89.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-heading-BlkYF-RD.js +63 -0
- package/dist/chunks/vendor-tiptap-extension-heading-BlkYF-RD.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-horizontal-rule-DjMOsQCA.js +56 -0
- package/dist/chunks/vendor-tiptap-extension-horizontal-rule-DjMOsQCA.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-image-BpqLcXdw.js +128 -0
- package/dist/chunks/vendor-tiptap-extension-image-BpqLcXdw.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-italic-YDdh6jEW.js +79 -0
- package/dist/chunks/vendor-tiptap-extension-italic-YDdh6jEW.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-link-CETrc0Mo.js +312 -0
- package/dist/chunks/vendor-tiptap-extension-link-CETrc0Mo.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-list-DsiDvJxK.js +753 -0
- package/dist/chunks/vendor-tiptap-extension-list-DsiDvJxK.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-paragraph-Bcss4jc0.js +49 -0
- package/dist/chunks/vendor-tiptap-extension-paragraph-Bcss4jc0.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-placeholder-ClNjQXk_.js +1 -0
- package/dist/chunks/vendor-tiptap-extension-placeholder-ClNjQXk_.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-strike-BZiBed9b.js +64 -0
- package/dist/chunks/vendor-tiptap-extension-strike-BZiBed9b.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-table-QVjcLO_H.js +409 -0
- package/dist/chunks/vendor-tiptap-extension-table-QVjcLO_H.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-table-cell-CuXZTKj8.js +1 -0
- package/dist/chunks/vendor-tiptap-extension-table-cell-CuXZTKj8.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-table-header-CuXZTKj8.js +1 -0
- package/dist/chunks/vendor-tiptap-extension-table-header-CuXZTKj8.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-table-row-CuXZTKj8.js +1 -0
- package/dist/chunks/vendor-tiptap-extension-table-row-CuXZTKj8.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-text-Wofhchrp.js +13 -0
- package/dist/chunks/vendor-tiptap-extension-text-Wofhchrp.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-text-style-Bc6nvmn0.js +235 -0
- package/dist/chunks/vendor-tiptap-extension-text-style-Bc6nvmn0.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extension-underline-Bo1pXXDN.js +65 -0
- package/dist/chunks/vendor-tiptap-extension-underline-Bo1pXXDN.js.map +1 -0
- package/dist/chunks/vendor-tiptap-extensions-D7eaegpB.js +299 -0
- package/dist/chunks/vendor-tiptap-extensions-D7eaegpB.js.map +1 -0
- package/dist/chunks/vendor-tiptap-markdown-18K1hcU0.js +826 -0
- package/dist/chunks/vendor-tiptap-markdown-18K1hcU0.js.map +1 -0
- package/dist/chunks/vendor-tiptap-pm-yqZPZQMU.js +1 -0
- package/dist/chunks/vendor-tiptap-pm-yqZPZQMU.js.map +1 -0
- package/dist/chunks/vendor-tiptap-starter-kit-ny-AoaO_.js +28 -0
- package/dist/chunks/vendor-tiptap-starter-kit-ny-AoaO_.js.map +1 -0
- package/dist/chunks/vendor-tiptap-vue-3-BNAw8onj.js +157 -0
- package/dist/chunks/vendor-tiptap-vue-3-BNAw8onj.js.map +1 -0
- package/dist/chunks/vendor-topojson-client-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-truncate-html-ChA1T5zy.js.map +1 -0
- package/dist/chunks/vendor-tslib-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-uc-micro-4lbSaZOs.js.map +1 -0
- package/dist/chunks/vendor-unovis-dagre-layout-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-unovis-graphlibrary-l0sNRNKZ.js.map +1 -0
- package/dist/chunks/vendor-unovis-ts-stSsHr9j.js.map +1 -0
- package/dist/chunks/vendor-unovis-vue-CZWGT3-0.js.map +1 -0
- package/dist/chunks/vendor-vee-validate-i18n-zT8NxX3R.js.map +1 -0
- package/dist/chunks/vendor-vee-validate-rules-4oWUZPpG.js.map +1 -0
- package/dist/chunks/vendor-vue-currency-input-CckB4kjx.js.map +1 -0
- package/dist/chunks/vendor-vue-demi-CD9yLWd7.js.map +1 -0
- package/dist/chunks/vendor-vue-devtools-api-aVYGocXp.js.map +1 -0
- package/dist/chunks/vendor-vue-i18n-LO-EJStU.js +1369 -0
- package/dist/chunks/vendor-vue-i18n-LO-EJStU.js.map +1 -0
- package/dist/chunks/vendor-vue3-application-insights-CAgbt8pk.js +69 -0
- package/dist/chunks/vendor-vue3-application-insights-CAgbt8pk.js.map +1 -0
- package/dist/chunks/vendor-vue3-touch-events-DqysuuWh.js.map +1 -0
- package/dist/chunks/vendor-vuepic-vue-datepicker-CaZ_qpJp.js.map +1 -0
- package/dist/chunks/vendor-vueuse-components-BW7i7Uhb.js +219 -0
- package/dist/chunks/vendor-vueuse-components-BW7i7Uhb.js.map +1 -0
- package/dist/chunks/vendor-vueuse-core-CEdpDfzx.js +586 -0
- package/dist/chunks/vendor-vueuse-core-CEdpDfzx.js.map +1 -0
- package/dist/chunks/vendor-vueuse-shared-BlCOXw5g.js +149 -0
- package/dist/chunks/vendor-vueuse-shared-BlCOXw5g.js.map +1 -0
- package/dist/chunks/vendor-w3c-keyname-CLxH8j-f.js.map +1 -0
- package/dist/chunks/vendor-web-vitals-ByFgAM-8.js +215 -0
- package/dist/chunks/vendor-web-vitals-ByFgAM-8.js.map +1 -0
- package/dist/core/api/platform.d.ts +304 -958
- package/dist/core/api/platform.d.ts.map +1 -1
- package/dist/core/blade-navigation/bladeConfigRegistry.d.ts +21 -0
- package/dist/core/blade-navigation/bladeConfigRegistry.d.ts.map +1 -0
- package/dist/core/blade-navigation/index.d.ts +5 -0
- package/dist/core/blade-navigation/index.d.ts.map +1 -0
- package/dist/core/blade-navigation/singletons.d.ts +21 -0
- package/dist/core/blade-navigation/singletons.d.ts.map +1 -0
- package/dist/core/blade-navigation/types/index.d.ts +252 -0
- package/dist/core/blade-navigation/types/index.d.ts.map +1 -0
- package/dist/core/blade-navigation/useBladeMessaging.d.ts +18 -0
- package/dist/core/blade-navigation/useBladeMessaging.d.ts.map +1 -0
- package/dist/core/blade-navigation/useBladeStack.d.ts +19 -0
- package/dist/core/blade-navigation/useBladeStack.d.ts.map +1 -0
- package/dist/core/blade-navigation/utils/bladeRouterGuard.d.ts +32 -0
- package/dist/core/blade-navigation/utils/bladeRouterGuard.d.ts.map +1 -0
- package/dist/core/blade-navigation/utils/navigateToMainRoute.d.ts.map +1 -0
- package/dist/core/blade-navigation/utils/restoreFromUrl.d.ts +24 -0
- package/dist/core/blade-navigation/utils/restoreFromUrl.d.ts.map +1 -0
- package/dist/core/blade-navigation/utils/urlSync.d.ts +54 -0
- package/dist/core/blade-navigation/utils/urlSync.d.ts.map +1 -0
- package/dist/core/composables/bladeContext/index.d.ts +29 -0
- package/dist/core/composables/bladeContext/index.d.ts.map +1 -0
- package/dist/core/composables/index.d.ts +7 -1
- package/dist/core/composables/index.d.ts.map +1 -1
- package/dist/core/composables/useAppBarMobileButtons/index.d.ts.map +1 -1
- package/dist/core/composables/useAppInsights/index.d.ts +2 -1
- package/dist/core/composables/useAppInsights/index.d.ts.map +1 -1
- package/dist/core/composables/useAssets/index.d.ts.map +1 -1
- package/dist/core/composables/useAssetsManager/index.d.ts +24 -0
- package/dist/core/composables/useAssetsManager/index.d.ts.map +1 -0
- package/dist/core/composables/useAsync/index.d.ts.map +1 -1
- package/dist/core/composables/useBlade/index.d.ts +34 -27
- package/dist/core/composables/useBlade/index.d.ts.map +1 -1
- package/dist/core/composables/useBladeForm/index.d.ts +17 -0
- package/dist/core/composables/useBladeForm/index.d.ts.map +1 -0
- package/dist/core/composables/useBladeForm/types.d.ts +40 -0
- package/dist/core/composables/useBladeForm/types.d.ts.map +1 -0
- package/dist/core/composables/useBladeNavigationAdapter/index.d.ts +33 -0
- package/dist/core/composables/useBladeNavigationAdapter/index.d.ts.map +1 -0
- package/dist/core/composables/useBladeRegistry/index.d.ts +1 -1
- package/dist/core/composables/useBladeRegistry/index.d.ts.map +1 -1
- package/dist/core/composables/useBladeWidgets/index.d.ts +49 -0
- package/dist/core/composables/useBladeWidgets/index.d.ts.map +1 -0
- package/dist/core/composables/useBreadcrumbs/index.d.ts +1 -1
- package/dist/core/composables/useBreadcrumbs/index.d.ts.map +1 -1
- package/dist/core/composables/useConnectionStatus/index.d.ts.map +1 -1
- package/dist/core/composables/useDynamicProperties/index.d.ts +3 -69
- package/dist/core/composables/useDynamicProperties/index.d.ts.map +1 -1
- package/dist/core/composables/useDynamicProperties/strategies/boolean.d.ts +3 -0
- package/dist/core/composables/useDynamicProperties/strategies/boolean.d.ts.map +1 -0
- package/dist/core/composables/useDynamicProperties/strategies/color.d.ts +3 -0
- package/dist/core/composables/useDynamicProperties/strategies/color.d.ts.map +1 -0
- package/dist/core/composables/useDynamicProperties/strategies/dictionary.d.ts +3 -0
- package/dist/core/composables/useDynamicProperties/strategies/dictionary.d.ts.map +1 -0
- package/dist/core/composables/useDynamicProperties/strategies/index.d.ts +4 -0
- package/dist/core/composables/useDynamicProperties/strategies/index.d.ts.map +1 -0
- package/dist/core/composables/useDynamicProperties/strategies/measure.d.ts +3 -0
- package/dist/core/composables/useDynamicProperties/strategies/measure.d.ts.map +1 -0
- package/dist/core/composables/useDynamicProperties/strategies/regular.d.ts +3 -0
- package/dist/core/composables/useDynamicProperties/strategies/regular.d.ts.map +1 -0
- package/dist/core/composables/useDynamicProperties/strategies/types.d.ts +16 -0
- package/dist/core/composables/useDynamicProperties/strategies/types.d.ts.map +1 -0
- package/dist/core/composables/useDynamicProperties/types.d.ts +70 -0
- package/dist/core/composables/useDynamicProperties/types.d.ts.map +1 -0
- package/dist/core/composables/useDynamicProperties/utils.d.ts +10 -0
- package/dist/core/composables/useDynamicProperties/utils.d.ts.map +1 -0
- package/dist/core/composables/useExternalProvider/index.d.ts +12 -0
- package/dist/core/composables/useExternalProvider/index.d.ts.map +1 -0
- package/dist/core/composables/useFunctions/debounce.d.ts.map +1 -1
- package/dist/core/composables/useMenuExpanded/index.d.ts +9 -0
- package/dist/core/composables/useMenuExpanded/index.d.ts.map +1 -0
- package/dist/core/composables/useModificationTracker/index.d.ts.map +1 -0
- package/dist/core/composables/useNotifications/index.d.ts +3 -8
- package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
- package/dist/core/composables/usePermissions/index.d.ts.map +1 -1
- package/dist/core/composables/usePlatformLocaleSync/index.d.ts +17 -0
- package/dist/core/composables/usePlatformLocaleSync/index.d.ts.map +1 -0
- package/dist/core/composables/usePopup/index.d.ts +12 -0
- package/dist/core/composables/usePopup/index.d.ts.map +1 -0
- package/dist/core/composables/usePopup/keys.d.ts +4 -0
- package/dist/core/composables/usePopup/keys.d.ts.map +1 -0
- package/dist/core/composables/usePopup/preset-registry.d.ts +7 -0
- package/dist/core/composables/usePopup/preset-registry.d.ts.map +1 -0
- package/dist/core/composables/usePopup/singleton.d.ts +6 -0
- package/dist/core/composables/usePopup/singleton.d.ts.map +1 -0
- package/dist/core/composables/usePopup/types.d.ts +22 -0
- package/dist/core/composables/usePopup/types.d.ts.map +1 -0
- package/dist/core/composables/useResponsive/index.d.ts +26 -0
- package/dist/core/composables/useResponsive/index.d.ts.map +1 -0
- package/dist/core/composables/useSidebarState/index.d.ts.map +1 -1
- package/dist/core/composables/useSlowNetworkDetection/index.d.ts +10 -0
- package/dist/core/composables/useSlowNetworkDetection/index.d.ts.map +1 -0
- package/dist/core/composables/useTheme/index.d.ts.map +1 -1
- package/dist/core/composables/useToolbar/index.d.ts.map +1 -1
- package/dist/core/composables/useUser/index.d.ts +1 -0
- package/dist/core/composables/useUser/index.d.ts.map +1 -1
- package/dist/core/composables/useUserManagement/index.d.ts.map +1 -1
- package/dist/core/composables/useWidgets/index.d.ts +4 -0
- package/dist/core/composables/useWidgets/index.d.ts.map +1 -1
- package/dist/core/constants/index.d.ts +0 -1
- package/dist/core/constants/index.d.ts.map +1 -1
- package/dist/core/directives/index.d.ts +2 -0
- package/dist/core/directives/index.d.ts.map +1 -1
- package/dist/core/interceptors/index.d.ts.map +1 -1
- package/dist/core/notifications/composables/index.d.ts +5 -0
- package/dist/core/notifications/composables/index.d.ts.map +1 -0
- package/dist/core/notifications/composables/useBladeNotifications.d.ts +13 -0
- package/dist/core/notifications/composables/useBladeNotifications.d.ts.map +1 -0
- package/dist/core/notifications/composables/useBroadcastFilter.d.ts +7 -0
- package/dist/core/notifications/composables/useBroadcastFilter.d.ts.map +1 -0
- package/dist/core/notifications/composables/useNotificationContext.d.ts +4 -0
- package/dist/core/notifications/composables/useNotificationContext.d.ts.map +1 -0
- package/dist/core/notifications/composables/useNotificationStore.d.ts +11 -0
- package/dist/core/notifications/composables/useNotificationStore.d.ts.map +1 -0
- package/dist/core/notifications/index.d.ts +11 -0
- package/dist/core/notifications/index.d.ts.map +1 -0
- package/dist/core/notifications/notification.d.ts +37 -0
- package/dist/core/notifications/notification.d.ts.map +1 -0
- package/dist/core/notifications/store.d.ts +31 -0
- package/dist/core/notifications/store.d.ts.map +1 -0
- package/dist/core/notifications/toast-controller.d.ts +7 -0
- package/dist/core/notifications/toast-controller.d.ts.map +1 -0
- package/dist/core/notifications/toast-types.d.ts +27 -0
- package/dist/core/notifications/toast-types.d.ts.map +1 -0
- package/dist/core/notifications/types.d.ts +48 -0
- package/dist/core/notifications/types.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentHeader.vue.d.ts +3 -2
- package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentHeader.vue.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentIframe.vue.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentLoader.vue.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/components/_internal/VcVirtoOzLogo.vue.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/composables/index.d.ts +1 -1
- package/dist/core/plugins/ai-agent/composables/index.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/composables/useAiAgent.d.ts +2 -10
- package/dist/core/plugins/ai-agent/composables/useAiAgent.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/composables/useAiAgentContext.d.ts +2 -3
- package/dist/core/plugins/ai-agent/composables/useAiAgentContext.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/index.d.ts +2 -2
- package/dist/core/plugins/ai-agent/index.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/public.d.ts +12 -0
- package/dist/core/plugins/ai-agent/public.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/services/ai-agent-service.d.ts +2 -4
- package/dist/core/plugins/ai-agent/services/ai-agent-service.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/services/context-manager.d.ts +21 -0
- package/dist/core/plugins/ai-agent/services/context-manager.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/services/message-transport.d.ts +29 -0
- package/dist/core/plugins/ai-agent/services/message-transport.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/services/panel-controller.d.ts +16 -0
- package/dist/core/plugins/ai-agent/services/panel-controller.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/types.d.ts +2 -2
- package/dist/core/plugins/ai-agent/types.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/utils/deep-merge-changes.d.ts +16 -0
- package/dist/core/plugins/ai-agent/utils/deep-merge-changes.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/utils/index.d.ts +2 -0
- package/dist/core/plugins/ai-agent/utils/index.d.ts.map +1 -0
- package/dist/core/plugins/extension-points/ExtensionPoint.vue.d.ts.map +1 -1
- package/dist/core/plugins/extension-points/public.d.ts +8 -0
- package/dist/core/plugins/extension-points/public.d.ts.map +1 -0
- package/dist/core/plugins/extension-points/store.d.ts.map +1 -1
- package/dist/core/plugins/modularity/index.d.ts +44 -30
- package/dist/core/plugins/modularity/index.d.ts.map +1 -1
- package/dist/core/plugins/signalR/index.d.ts +2 -6
- package/dist/core/plugins/signalR/index.d.ts.map +1 -1
- package/dist/core/plugins/validation/rules.d.ts.map +1 -1
- package/dist/core/services/_internal/index.d.ts +3 -3
- package/dist/core/services/_internal/index.d.ts.map +1 -1
- package/dist/core/services/app-bar-menu-service.d.ts.map +1 -1
- package/dist/core/services/dashboard-service.d.ts.map +1 -1
- package/dist/core/services/settings-menu-service.d.ts.map +1 -1
- package/dist/core/services/widget-service.d.ts +25 -24
- package/dist/core/services/widget-service.d.ts.map +1 -1
- package/dist/core/types/breadcrumbs.d.ts +8 -0
- package/dist/core/types/breadcrumbs.d.ts.map +1 -0
- package/dist/core/types/index.d.ts +13 -33
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/menu-types.d.ts +4 -4
- package/dist/core/types/menu-types.d.ts.map +1 -1
- package/dist/core/utilities/assets.d.ts +6 -0
- package/dist/core/utilities/assets.d.ts.map +1 -0
- package/dist/core/utilities/colorUtils.d.ts.map +1 -0
- package/dist/core/utilities/date/formatDate.d.ts.map +1 -1
- package/dist/core/utilities/error.d.ts.map +1 -1
- package/dist/core/utilities/formatBadgeCount.d.ts.map +1 -0
- package/dist/core/utilities/index.d.ts +4 -0
- package/dist/core/utilities/index.d.ts.map +1 -1
- package/dist/core/utilities/pendingErrorNotifications.d.ts +2 -2
- package/dist/core/utilities/thumbnail/index.d.ts +42 -0
- package/dist/core/utilities/thumbnail/index.d.ts.map +1 -0
- package/dist/extensions/index.js +8 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/framework.js +4462 -31895
- package/dist/framework.js.map +1 -0
- package/dist/index.css +9 -0
- package/dist/index.d.ts +31 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/injection-keys.d.ts +11 -20
- package/dist/injection-keys.d.ts.map +1 -1
- package/dist/locales/de.d.ts +3 -0
- package/dist/locales/de.js +439 -0
- package/dist/locales/en.d.ts +3 -0
- package/dist/locales/en.js +439 -0
- package/dist/locales/en.json +17 -5
- package/dist/locales/types.d.ts +446 -0
- package/dist/modules/assets/components/assets-details/assets-details.vue.d.ts +4 -0
- package/dist/modules/assets/components/assets-details/assets-details.vue.d.ts.map +1 -0
- package/dist/modules/assets/components/assets-details/index.d.ts +3 -0
- package/dist/modules/assets/components/assets-details/index.d.ts.map +1 -0
- package/dist/modules/assets/components/index.d.ts +2 -0
- package/dist/modules/assets/components/index.d.ts.map +1 -0
- package/dist/modules/assets/index.d.ts +6 -0
- package/dist/modules/assets/index.d.ts.map +1 -0
- package/dist/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +4 -0
- package/dist/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +1 -0
- package/dist/modules/assets-manager/components/assets-manager/index.d.ts +3 -0
- package/dist/modules/assets-manager/components/assets-manager/index.d.ts.map +1 -0
- package/dist/modules/assets-manager/components/index.d.ts +2 -0
- package/dist/modules/assets-manager/components/index.d.ts.map +1 -0
- package/dist/modules/assets-manager/index.d.ts +5 -0
- package/dist/modules/assets-manager/index.d.ts.map +1 -0
- package/dist/modules/index.d.ts +3 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/scripts/check-locales.cjs +3185 -0
- package/dist/shell/_internal/_storybook-helpers.d.ts.map +1 -0
- package/dist/shell/_internal/blade-navigation/components/index.d.ts +3 -0
- package/dist/shell/_internal/blade-navigation/components/index.d.ts.map +1 -0
- package/dist/shell/_internal/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue.d.ts.map +1 -0
- package/dist/shell/_internal/blade-navigation/components/vc-blade-navigation/index.d.ts +3 -0
- package/dist/shell/_internal/blade-navigation/components/vc-blade-navigation/index.d.ts.map +1 -0
- package/dist/shell/_internal/blade-navigation/components/vc-blade-navigation/vc-blade-navigation-new.vue.d.ts.map +1 -0
- package/dist/shell/_internal/blade-navigation/components/vc-blade-slot/index.d.ts +2 -0
- package/dist/shell/_internal/blade-navigation/components/vc-blade-slot/index.d.ts.map +1 -0
- package/dist/shell/_internal/blade-navigation/components/vc-blade-slot/vc-blade-slot.vue.d.ts +21 -0
- package/dist/shell/_internal/blade-navigation/components/vc-blade-slot/vc-blade-slot.vue.d.ts.map +1 -0
- package/dist/shell/_internal/blade-navigation/index.d.ts +3 -0
- package/dist/shell/_internal/blade-navigation/index.d.ts.map +1 -0
- package/dist/shell/_internal/blade-navigation/plugin-v2.d.ts +22 -0
- package/dist/shell/_internal/blade-navigation/plugin-v2.d.ts.map +1 -0
- package/dist/shell/_internal/notifications/components/index.d.ts +2 -0
- package/dist/shell/_internal/notifications/components/index.d.ts.map +1 -0
- package/dist/shell/_internal/notifications/components/notification-container/index.d.ts +120 -0
- package/dist/shell/_internal/notifications/components/notification-container/index.d.ts.map +1 -0
- package/dist/shell/_internal/notifications/composables/index.d.ts +3 -0
- package/dist/shell/_internal/notifications/composables/index.d.ts.map +1 -0
- package/dist/shell/_internal/notifications/composables/useContainer/index.d.ts +23 -0
- package/dist/shell/_internal/notifications/composables/useContainer/index.d.ts.map +1 -0
- package/dist/shell/_internal/notifications/composables/useInstance/index.d.ts +11 -0
- package/dist/shell/_internal/notifications/composables/useInstance/index.d.ts.map +1 -0
- package/dist/shell/_internal/notifications/register-backend.d.ts +6 -0
- package/dist/shell/_internal/notifications/register-backend.d.ts.map +1 -0
- package/dist/shell/_internal/popup/common/vc-popup-base.vue.d.ts +51 -0
- package/dist/shell/_internal/popup/common/vc-popup-base.vue.d.ts.map +1 -0
- package/dist/shell/_internal/popup/common/vc-popup-error.vue.d.ts.map +1 -0
- package/dist/shell/_internal/popup/common/vc-popup-info.vue.d.ts.map +1 -0
- package/dist/shell/_internal/popup/common/vc-popup-warning.vue.d.ts.map +1 -0
- package/dist/shell/_internal/popup/components/index.d.ts +2 -0
- package/dist/shell/_internal/popup/components/index.d.ts.map +1 -0
- package/dist/shell/_internal/popup/components/vc-popup-container/index.d.ts +3 -0
- package/dist/shell/_internal/popup/components/vc-popup-container/index.d.ts.map +1 -0
- package/dist/shell/_internal/popup/components/vc-popup-container/vc-popup-container.vue.d.ts.map +1 -0
- package/dist/shell/_internal/popup/composables/index.d.ts +2 -0
- package/dist/shell/_internal/popup/composables/index.d.ts.map +1 -0
- package/dist/shell/_internal/popup/composables/usePopup/index.d.ts +2 -0
- package/dist/shell/_internal/popup/composables/usePopup/index.d.ts.map +1 -0
- package/dist/shell/_internal/popup/index.d.ts +12 -0
- package/dist/shell/_internal/popup/index.d.ts.map +1 -0
- package/dist/shell/_internal/popup/keys.d.ts +2 -0
- package/dist/shell/_internal/popup/keys.d.ts.map +1 -0
- package/dist/shell/_internal/popup/plugin.d.ts +6 -0
- package/dist/shell/_internal/popup/plugin.d.ts.map +1 -0
- package/dist/shell/_internal/popup/register-presets.d.ts +6 -0
- package/dist/shell/_internal/popup/register-presets.d.ts.map +1 -0
- package/dist/shell/_internal/popup/types/index.d.ts +2 -0
- package/dist/shell/_internal/popup/types/index.d.ts.map +1 -0
- package/dist/shell/_internal/popup/utils/index.d.ts.map +1 -0
- package/dist/shell/auth/ChangePasswordPage/components/change-password/ChangePassword.vue.d.ts.map +1 -0
- package/dist/shell/auth/ChangePasswordPage/components/change-password/index.d.ts +3 -0
- package/dist/shell/auth/ChangePasswordPage/components/change-password/index.d.ts.map +1 -0
- package/dist/shell/auth/ChangePasswordPage/components/index.d.ts +2 -0
- package/dist/shell/auth/ChangePasswordPage/components/index.d.ts.map +1 -0
- package/dist/shell/auth/ChangePasswordPage/index.d.ts +2 -0
- package/dist/shell/auth/ChangePasswordPage/index.d.ts.map +1 -0
- package/dist/shell/auth/ForgotPasswordPage/components/forgot-password/ForgotPassword.vue.d.ts.map +1 -0
- package/dist/shell/auth/ForgotPasswordPage/components/forgot-password/index.d.ts +3 -0
- package/dist/shell/auth/ForgotPasswordPage/components/forgot-password/index.d.ts.map +1 -0
- package/dist/shell/auth/ForgotPasswordPage/components/index.d.ts +2 -0
- package/dist/shell/auth/ForgotPasswordPage/components/index.d.ts.map +1 -0
- package/dist/shell/auth/ForgotPasswordPage/index.d.ts +2 -0
- package/dist/shell/auth/ForgotPasswordPage/index.d.ts.map +1 -0
- package/dist/shell/auth/InvitePage/components/index.d.ts +2 -0
- package/dist/shell/auth/InvitePage/components/index.d.ts.map +1 -0
- package/dist/shell/auth/InvitePage/components/invite/Invite.vue.d.ts +14 -0
- package/dist/shell/auth/InvitePage/components/invite/Invite.vue.d.ts.map +1 -0
- package/dist/shell/auth/InvitePage/components/invite/index.d.ts +3 -0
- package/dist/shell/auth/InvitePage/components/invite/index.d.ts.map +1 -0
- package/dist/shell/auth/InvitePage/index.d.ts +2 -0
- package/dist/shell/auth/InvitePage/index.d.ts.map +1 -0
- package/dist/shell/auth/LoginPage/components/index.d.ts +2 -0
- package/dist/shell/auth/LoginPage/components/index.d.ts.map +1 -0
- package/dist/shell/auth/LoginPage/components/login/Login.vue.d.ts.map +1 -0
- package/dist/shell/auth/LoginPage/components/login/index.d.ts +3 -0
- package/dist/shell/auth/LoginPage/components/login/index.d.ts.map +1 -0
- package/dist/shell/auth/LoginPage/index.d.ts +2 -0
- package/dist/shell/auth/LoginPage/index.d.ts.map +1 -0
- package/dist/shell/auth/ResetPasswordPage/components/index.d.ts +2 -0
- package/dist/shell/auth/ResetPasswordPage/components/index.d.ts.map +1 -0
- package/dist/shell/auth/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts +14 -0
- package/dist/shell/auth/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -0
- package/dist/shell/auth/ResetPasswordPage/components/reset-password/index.d.ts +3 -0
- package/dist/shell/auth/ResetPasswordPage/components/reset-password/index.d.ts.map +1 -0
- package/dist/shell/auth/ResetPasswordPage/index.d.ts +2 -0
- package/dist/shell/auth/ResetPasswordPage/index.d.ts.map +1 -0
- package/dist/shell/auth/_test-utils/shared-dependency-mocks.d.ts +8 -0
- package/dist/shell/auth/_test-utils/shared-dependency-mocks.d.ts.map +1 -0
- package/dist/shell/auth/_test-utils/shared-mock-factories.d.ts +13 -0
- package/dist/shell/auth/_test-utils/shared-mock-factories.d.ts.map +1 -0
- package/dist/shell/auth/_test-utils/shared-stubs.d.ts +33 -0
- package/dist/shell/auth/_test-utils/shared-stubs.d.ts.map +1 -0
- package/dist/shell/auth/index.d.ts +7 -0
- package/dist/shell/auth/index.d.ts.map +1 -0
- package/dist/shell/auth/sign-in/external-provider.vue.d.ts.map +1 -0
- package/dist/shell/auth/sign-in/external-providers.vue.d.ts.map +1 -0
- package/dist/shell/auth/sign-in/index.d.ts +2 -0
- package/dist/shell/auth/sign-in/index.d.ts.map +1 -0
- package/dist/shell/auth/sign-in/useExternalProvider.d.ts +3 -0
- package/dist/shell/auth/sign-in/useExternalProvider.d.ts.map +1 -0
- package/dist/shell/auth/utils.d.ts +25 -0
- package/dist/shell/auth/utils.d.ts.map +1 -0
- package/dist/shell/components/app-hub/composables/index.d.ts +2 -0
- package/dist/shell/components/app-hub/composables/index.d.ts.map +1 -0
- package/dist/shell/components/app-hub/composables/useAppHub/index.d.ts +10 -0
- package/dist/shell/components/app-hub/composables/useAppHub/index.d.ts.map +1 -0
- package/dist/shell/components/change-password/change-password.vue.d.ts.map +1 -0
- package/dist/shell/components/change-password/index.d.ts +3 -0
- package/dist/shell/components/change-password/index.d.ts.map +1 -0
- package/dist/shell/components/change-password-button/change-password-button.vue.d.ts.map +1 -0
- package/dist/shell/components/change-password-button/index.d.ts.map +1 -0
- package/dist/shell/components/error-interceptor/index.d.ts +14 -0
- package/dist/shell/components/error-interceptor/index.d.ts.map +1 -0
- package/dist/shell/components/error-interceptor/interceptor.d.ts.map +1 -0
- package/dist/shell/components/index.d.ts +13 -0
- package/dist/shell/components/index.d.ts.map +1 -0
- package/dist/shell/components/language-selector/index.d.ts +3 -0
- package/dist/shell/components/language-selector/index.d.ts.map +1 -0
- package/dist/shell/components/language-selector/language-selector.vue.d.ts.map +1 -0
- package/dist/shell/components/logout-button/index.d.ts.map +1 -0
- package/dist/shell/components/logout-button/logout-button.vue.d.ts.map +1 -0
- package/dist/shell/components/notification-dropdown/_internal/notification/index.d.ts.map +1 -0
- package/dist/shell/components/notification-dropdown/_internal/notification/notification.vue.d.ts +15 -0
- package/dist/shell/components/notification-dropdown/_internal/notification/notification.vue.d.ts.map +1 -0
- package/dist/shell/components/notification-dropdown/index.d.ts +3 -0
- package/dist/shell/components/notification-dropdown/index.d.ts.map +1 -0
- package/dist/shell/components/notification-dropdown/notification-dropdown.vue.d.ts.map +1 -0
- package/dist/shell/components/notification-template/index.d.ts +3 -0
- package/dist/shell/components/notification-template/index.d.ts.map +1 -0
- package/dist/shell/components/notification-template/notification-template.vue.d.ts +29 -0
- package/dist/shell/components/notification-template/notification-template.vue.d.ts.map +1 -0
- package/dist/shell/components/settings-menu/index.d.ts.map +1 -0
- package/dist/shell/components/settings-menu/settings-menu.vue.d.ts.map +1 -0
- package/dist/shell/components/settings-menu-item/index.d.ts.map +1 -0
- package/dist/shell/components/settings-menu-item/settings-menu-item.vue.d.ts +42 -0
- package/dist/shell/components/settings-menu-item/settings-menu-item.vue.d.ts.map +1 -0
- package/dist/shell/components/sidebar/index.d.ts +47 -0
- package/dist/shell/components/sidebar/index.d.ts.map +1 -0
- package/dist/shell/components/sidebar/sidebar.vue.d.ts +31 -0
- package/dist/shell/components/sidebar/sidebar.vue.d.ts.map +1 -0
- package/dist/shell/components/theme-selector/index.d.ts.map +1 -0
- package/dist/shell/components/theme-selector/theme-selector.vue.d.ts.map +1 -0
- package/dist/shell/components/user-dropdown-button/_internal/user-info.vue.d.ts.map +1 -0
- package/dist/shell/components/user-dropdown-button/_internal/user-sidebar.vue.d.ts.map +1 -0
- package/dist/shell/components/user-dropdown-button/index.d.ts +3 -0
- package/dist/shell/components/user-dropdown-button/index.d.ts.map +1 -0
- package/dist/shell/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/ChartContainer.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/ChartLegend.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/ChartTooltip.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/DashboardBarChart.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/DashboardDonutChart.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/DashboardLineChart.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/chart-utils.d.ts +29 -0
- package/dist/shell/dashboard/dashboard-charts/chart-utils.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/index.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/types.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-widget-card/dashboard-feed-list.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-widget-card/dashboard-feed-row.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-widget-card/dashboard-stat-item.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-widget-card/dashboard-widget-card.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-widget-card/index.d.ts +5 -0
- package/dist/shell/dashboard/dashboard-widget-card/index.d.ts.map +1 -0
- package/dist/shell/dashboard/draggable-dashboard/DraggableDashboard.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/draggable-dashboard/GridstackDashboard.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/draggable-dashboard/composables/useGridstack.d.ts +56 -0
- package/dist/shell/dashboard/draggable-dashboard/composables/useGridstack.d.ts.map +1 -0
- package/dist/shell/dashboard/draggable-dashboard/composables/useGridstackAdapter.d.ts +47 -0
- package/dist/shell/dashboard/draggable-dashboard/composables/useGridstackAdapter.d.ts.map +1 -0
- package/dist/shell/dashboard/draggable-dashboard/index.d.ts +13 -0
- package/dist/shell/dashboard/draggable-dashboard/index.d.ts.map +1 -0
- package/dist/shell/dashboard/draggable-dashboard/types.d.ts.map +1 -0
- package/dist/shell/dashboard/index.d.ts +4 -0
- package/dist/shell/dashboard/index.d.ts.map +1 -0
- package/dist/test-helpers.d.ts +103 -14
- package/dist/test-helpers.d.ts.map +1 -1
- package/dist/test-mock-factories.d.ts +48 -0
- package/dist/test-mock-factories.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts +2 -2
- package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-banner/vc-banner.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-button/index.d.ts +1 -1
- package/dist/ui/components/atoms/vc-button/index.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +2 -2
- package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-col/vc-col.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/composables/index.d.ts +1 -2
- package/dist/ui/components/atoms/vc-icon/composables/index.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/types.d.ts +15 -2
- package/dist/ui/components/atoms/vc-icon/types.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue.d.ts +1 -0
- package/dist/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue.d.ts +2 -1
- package/dist/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts +3 -2
- package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-lucide-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts +1 -0
- package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-svg-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts +3 -0
- package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +1 -1
- package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-row/vc-row.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-scrollable-container/vc-scrollable-container.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-skeleton/vc-skeleton.vue.d.ts +1 -1
- package/dist/ui/components/atoms/vc-skeleton/vc-skeleton.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts +2 -2
- package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts +1 -0
- package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/index.d.ts +2 -0
- package/dist/ui/components/molecules/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/multilanguage-selector/index.d.ts +2 -0
- package/dist/ui/components/molecules/multilanguage-selector/index.d.ts.map +1 -0
- package/dist/ui/components/molecules/multilanguage-selector/multilanguage-selector.vue.d.ts +44 -0
- package/dist/ui/components/molecules/multilanguage-selector/multilanguage-selector.vue.d.ts.map +1 -0
- package/dist/ui/components/molecules/vc-accordion/_internal/vc-accordion-item/vc-accordion-item.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-accordion/_internal/vc-accordion-item/vc-accordion-item.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-accordion/index.d.ts +1 -1
- package/dist/ui/components/molecules/vc-accordion/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-accordion/vc-accordion.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-accordion/vc-accordion.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-color-input/vc-color-input.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-color-input/vc-color-input.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-date-picker/vc-date-picker.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-date-picker/vc-date-picker.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-dropdown/index.d.ts +1 -1
- package/dist/ui/components/molecules/vc-dropdown/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-dropdown/vc-dropdown.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-dropdown-panel/vc-dropdown-panel.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-dropdown-panel/vc-dropdown-panel.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-editor/_internal/extensions/font-size.d.ts +3 -3
- package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-custom-button.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-font-selector.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-toolbar.vue.d.ts +2 -2
- package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-toolbar.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +3 -3
- package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts +2 -21
- package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-image-tile/index.d.ts +3 -0
- package/dist/ui/components/molecules/vc-image-tile/index.d.ts.map +1 -0
- package/dist/ui/components/molecules/vc-image-tile/vc-image-tile.vue.d.ts +41 -0
- package/dist/ui/components/molecules/vc-image-tile/vc-image-tile.vue.d.ts.map +1 -0
- package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input-dropdown/index.d.ts +1 -1
- package/dist/ui/components/molecules/vc-input-dropdown/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input-group/vc-input-group.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-menu/index.d.ts +1 -1
- package/dist/ui/components/molecules/vc-menu/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-menu/vc-menu-group.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-menu/vc-menu-group.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-menu/vc-menu-item.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-menu/vc-menu-item.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-menu/vc-menu.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-menu/vc-menu.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-multivalue/_internal/MultivalueDropdown.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-multivalue/_internal/MultivalueTrigger.vue.d.ts +4 -4
- package/dist/ui/components/molecules/vc-multivalue/composables/index.d.ts +1 -1
- package/dist/ui/components/molecules/vc-multivalue/composables/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-radio-button/vc-radio-button.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-radio-group/vc-radio-group.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/_internal/SelectDropdown.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/_internal/SelectTrigger.vue.d.ts +2 -2
- package/dist/ui/components/molecules/vc-select/_internal/SelectTrigger.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/composables/index.d.ts +1 -1
- package/dist/ui/components/molecules/vc-select/composables/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/composables/useSelectDataSource.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/composables/useSelectSelection.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/composables/useSelectValueMapping.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/composables/useSelectVisibility.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +10 -27
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts +5 -5
- package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-switch/vc-switch.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-toast/vc-toast.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-toast/vc-toast.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/index.d.ts +1 -1
- package/dist/ui/components/organisms/index.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/AppBarMobileActions.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/AppBarOverlay.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/AppBarWidgetItem.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/AppHubContent.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/MenuSidebar.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/MenuSidebar.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/composables/useToggleableContent.d.ts +3 -3
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/composables/useToggleableContent.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/layouts/DesktopLayout.vue.d.ts +7 -3
- package/dist/ui/components/organisms/vc-app/_internal/layouts/DesktopLayout.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/layouts/MobileLayout.vue.d.ts +7 -3
- package/dist/ui/components/organisms/vc-app/_internal/layouts/MobileLayout.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/menu/VcAppMenu.vue.d.ts +1 -0
- package/dist/ui/components/organisms/vc-app/_internal/menu/VcAppMenu.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/sidebar/SidebarContent.vue.d.ts +4 -0
- package/dist/ui/components/organisms/vc-app/_internal/sidebar/SidebarContent.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/sidebar/SidebarHeader.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/sidebar/SidebarHeader.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/composables/useShellBootstrap.d.ts +1 -1
- package/dist/ui/components/organisms/vc-app/composables/useShellBootstrap.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/composables/useShellNavigation.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/composition/menu/index.d.ts +1 -1
- package/dist/ui/components/organisms/vc-app/composition/menu/index.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/composition/state/index.d.ts +1 -1
- package/dist/ui/components/organisms/vc-app/composition/state/index.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +5 -2
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/BladeHeader.vue.d.ts +2 -2
- package/dist/ui/components/organisms/vc-blade/_internal/BladeHeader.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/BladeStatusBanners.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/BladeToolbar.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/BladeToolbar.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/BladeToolbarSkeleton.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/composables/useBladeError.d.ts +2 -2
- package/dist/ui/components/organisms/vc-blade/_internal/composables/useBladeError.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/composables/useToolbarRegistration.d.ts +2 -2
- package/dist/ui/components/organisms/vc-blade/_internal/composables/useToolbarRegistration.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarBaseButton.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarDesktop.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarMobile.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/widgets/WidgetContainer.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/widgets/WidgetContainerDesktop.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/widgets/WidgetContainerMobile.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/widgets/WidgetScope.vue.d.ts +17 -0
- package/dist/ui/components/organisms/vc-blade/_internal/widgets/WidgetScope.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-blade/_internal/widgets/useHeadlessWidgetHelpers.d.ts +9 -0
- package/dist/ui/components/organisms/vc-blade/_internal/widgets/useHeadlessWidgetHelpers.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-blade/utils.d.ts +3 -3
- package/dist/ui/components/organisms/vc-blade/utils.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +3 -31
- package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/VcDataTable.vue.d.ts +308 -0
- package/dist/ui/components/organisms/vc-data-table/VcDataTable.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/VcTableAdapter.vue.d.ts +132 -0
- package/dist/ui/components/organisms/vc-data-table/VcTableAdapter.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts +31 -0
- package/dist/ui/components/organisms/vc-data-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +20 -0
- package/dist/ui/components/organisms/vc-data-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +11 -0
- package/dist/ui/components/organisms/vc-data-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts +23 -0
- package/dist/ui/components/organisms/vc-data-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/base/BaseVcDataTable.d.ts +377 -0
- package/dist/ui/components/organisms/vc-data-table/base/BaseVcDataTable.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/ColumnFilter.vue.d.ts +59 -0
- package/dist/ui/components/organisms/vc-data-table/components/ColumnFilter.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/ColumnSwitcherButton.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/DataTableBody.vue.d.ts +161 -0
- package/dist/ui/components/organisms/vc-data-table/components/DataTableBody.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/DataTableCellRenderer.vue.d.ts +54 -0
- package/dist/ui/components/organisms/vc-data-table/components/DataTableCellRenderer.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/DataTableHeader.vue.d.ts +83 -0
- package/dist/ui/components/organisms/vc-data-table/components/DataTableHeader.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/DataTableRow.vue.d.ts +122 -0
- package/dist/ui/components/organisms/vc-data-table/components/DataTableRow.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/GlobalFiltersButton.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/GlobalFiltersPanel.vue.d.ts +45 -0
- package/dist/ui/components/organisms/vc-data-table/components/GlobalFiltersPanel.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/Table.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableActions.vue.d.ts +23 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableActions.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableAddRowButton.vue.d.ts +17 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableAddRowButton.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableBody.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableCell.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableCheckbox.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableColumnSwitcher.vue.d.ts +32 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableColumnSwitcher.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableEmpty.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableFooter.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableGroupRow.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableHead.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableHeader.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableResizeHandle.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableRow.vue.d.ts +77 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableRow.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableRowActions.vue.d.ts +51 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableRowActions.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableSearchHeader.vue.d.ts +69 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableSearchHeader.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/TableSelectAllBar.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/VcColumn.vue.d.ts +362 -0
- package/dist/ui/components/organisms/vc-data-table/components/VcColumn.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/_internal/SlotProxy.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/_internal/TableSkeletonRows.vue.d.ts +18 -0
- package/dist/ui/components/organisms/vc-data-table/components/_internal/TableSkeletonRows.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellDate.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellDateAgo.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellDefault.vue.d.ts +40 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellDefault.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellEditableWrapper.vue.d.ts +29 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellEditableWrapper.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellHtml.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellImage.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellLink.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellMoney.vue.d.ts +42 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellMoney.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellNumber.vue.d.ts +40 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellNumber.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellStatus.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/CellStatusIcon.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/DynamicCellRenderer.vue.d.ts +48 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/DynamicCellRenderer.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/index.d.ts +12 -0
- package/dist/ui/components/organisms/vc-data-table/components/cells/index.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/index.d.ts +27 -0
- package/dist/ui/components/organisms/vc-data-table/components/index.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/mobile/DataTableMobileCard.vue.d.ts +54 -0
- package/dist/ui/components/organisms/vc-data-table/components/mobile/DataTableMobileCard.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/mobile/DataTableMobileView.vue.d.ts +66 -0
- package/dist/ui/components/organisms/vc-data-table/components/mobile/DataTableMobileView.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/mobile/MobileActionSheet.vue.d.ts +32 -0
- package/dist/ui/components/organisms/vc-data-table/components/mobile/MobileActionSheet.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/mobile/MobileCellRenderer.vue.d.ts +51 -0
- package/dist/ui/components/organisms/vc-data-table/components/mobile/MobileCellRenderer.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/mobile/PullToRefresh.vue.d.ts +43 -0
- package/dist/ui/components/organisms/vc-data-table/components/mobile/PullToRefresh.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/components/mobile/index.d.ts +6 -0
- package/dist/ui/components/organisms/vc-data-table/components/mobile/index.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/index.d.ts +31 -0
- package/dist/ui/components/organisms/vc-data-table/composables/index.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useCellBase.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useCellRegistry.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useColumnFilter.d.ts +38 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useColumnFilter.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useColumnWidthEngine.d.ts +46 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useColumnWidthEngine.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useDataProcessing.d.ts +34 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useDataProcessing.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useDataTableOrchestrator.d.ts +279 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useDataTableOrchestrator.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useDataTableState.d.ts +30 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useDataTableState.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useMobileCardLayout.d.ts +48 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useMobileCardLayout.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableColumns.d.ts +53 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableColumns.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableColumnsReorder.d.ts +30 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableColumnsReorder.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableColumnsResize.d.ts +36 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableColumnsResize.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableContext.d.ts +8 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableContext.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableEditing.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableExpansion.d.ts +44 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableExpansion.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableFilter.d.ts +25 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableFilter.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableInlineEdit.d.ts +69 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableInlineEdit.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableRowGrouping.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableRowReorder.d.ts +32 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableRowReorder.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableSelectionV2.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableSort.d.ts +48 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableSort.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useTableSwipe.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/composables/useVirtualScroll.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/index.d.ts +13 -0
- package/dist/ui/components/organisms/vc-data-table/index.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/keys.d.ts +22 -0
- package/dist/ui/components/organisms/vc-data-table/keys.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/types.d.ts +842 -0
- package/dist/ui/components/organisms/vc-data-table/types.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/utils/ColumnCollector.d.ts +67 -0
- package/dist/ui/components/organisms/vc-data-table/utils/ColumnCollector.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/utils/columnHelpers.d.ts +30 -0
- package/dist/ui/components/organisms/vc-data-table/utils/columnHelpers.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/utils/deepClone.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-data-table/utils/index.d.ts +10 -0
- package/dist/ui/components/organisms/vc-data-table/utils/index.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-filmstrip/vc-gallery-filmstrip.vue.d.ts +42 -0
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-filmstrip/vc-gallery-filmstrip.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +12 -10
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +5 -4
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/composables/index.d.ts +1 -0
- package/dist/ui/components/organisms/vc-gallery/composables/index.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryFilmstrip.d.ts +16 -0
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryFilmstrip.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryPreview.d.ts +2 -2
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryPreview.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryReorder.d.ts +7 -12
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryReorder.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryUpload.d.ts +2 -2
- package/dist/ui/components/organisms/vc-gallery/composables/useGalleryUpload.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +39 -42
- package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-image-upload/vc-image-upload.vue.d.ts +6 -5
- package/dist/ui/components/organisms/vc-image-upload/vc-image-upload.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +2 -2
- package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-sidebar/vc-sidebar.vue.d.ts +5 -5
- package/dist/ui/components/organisms/vc-sidebar/vc-sidebar.vue.d.ts.map +1 -1
- package/dist/ui/composables/index.d.ts +5 -0
- package/dist/ui/composables/index.d.ts.map +1 -1
- package/dist/ui/composables/useAdaptiveItems.d.ts +9 -8
- package/dist/ui/composables/useAdaptiveItems.d.ts.map +1 -1
- package/dist/ui/composables/useBladeLoading/index.d.ts +6 -0
- package/dist/ui/composables/useBladeLoading/index.d.ts.map +1 -0
- package/dist/ui/composables/useCollapsible.d.ts.map +1 -1
- package/dist/ui/composables/useDataTablePagination.d.ts +30 -0
- package/dist/ui/composables/useDataTablePagination.d.ts.map +1 -0
- package/dist/ui/composables/useDataTableSort.d.ts +24 -0
- package/dist/ui/composables/useDataTableSort.d.ts.map +1 -0
- package/dist/ui/composables/useScrollArrows.d.ts.map +1 -1
- package/dist/ui/composables/useTableSelection.d.ts.map +1 -0
- package/dist/ui/composables/useTableSort.d.ts.map +1 -0
- package/dist/ui/index.d.ts +5 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +149 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/types/index.d.ts +1 -7
- package/dist/ui/types/index.d.ts.map +1 -1
- package/dist/ui/utilities/index.d.ts +2 -0
- package/dist/ui/utilities/index.d.ts.map +1 -0
- package/dist/vitest-axe.setup.d.ts.map +1 -1
- package/dist/vitest-mocks.setup.d.ts +2 -0
- package/dist/vitest-mocks.setup.d.ts.map +1 -0
- package/globals-augments.d.ts +36 -0
- package/globals.d.ts +22 -0
- package/package.json +50 -13
- package/shims-vue.d.ts +14 -0
- package/typings/blade-macros.d.ts +25 -0
- package/typings/shims-vue.d.ts +43 -0
- package/dist/core/composables/useGlobalSearch/index.d.ts +0 -5
- package/dist/core/composables/useGlobalSearch/index.d.ts.map +0 -1
- package/dist/core/constants/ui.d.ts +0 -50
- package/dist/core/constants/ui.d.ts.map +0 -1
- package/dist/framework.css +0 -9
- package/dist/locales/de.json +0 -426
- package/dist/shared/components/app-switcher/components/index.d.ts +0 -2
- package/dist/shared/components/app-switcher/components/index.d.ts.map +0 -1
- package/dist/shared/components/app-switcher/components/vc-app-switcher/index.d.ts +0 -2
- package/dist/shared/components/app-switcher/components/vc-app-switcher/index.d.ts.map +0 -1
- package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts +0 -14
- package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +0 -1
- package/dist/shared/components/app-switcher/composables/index.d.ts +0 -2
- package/dist/shared/components/app-switcher/composables/index.d.ts.map +0 -1
- package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts +0 -10
- package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +0 -1
- package/dist/shared/components/app-switcher/index.d.ts +0 -14
- package/dist/shared/components/app-switcher/index.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/components/index.d.ts +0 -3
- package/dist/shared/components/blade-navigation/components/index.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts +0 -3
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation-new.vue.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-slot/index.d.ts +0 -2
- package/dist/shared/components/blade-navigation/components/vc-blade-slot/index.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-slot/vc-blade-slot.vue.d.ts +0 -21
- package/dist/shared/components/blade-navigation/components/vc-blade-slot/vc-blade-slot.vue.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +0 -26
- package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/composables/index.d.ts +0 -6
- package/dist/shared/components/blade-navigation/composables/index.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/composables/useBladeMessaging.d.ts +0 -18
- package/dist/shared/components/blade-navigation/composables/useBladeMessaging.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/composables/useBladeNavigationAdapter.d.ts +0 -33
- package/dist/shared/components/blade-navigation/composables/useBladeNavigationAdapter.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/composables/useBladeStack.d.ts +0 -19
- package/dist/shared/components/blade-navigation/composables/useBladeStack.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/index.d.ts +0 -5
- package/dist/shared/components/blade-navigation/index.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/plugin-v2.d.ts +0 -39
- package/dist/shared/components/blade-navigation/plugin-v2.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/types/index.d.ts +0 -216
- package/dist/shared/components/blade-navigation/types/index.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/utils/bladeRouterGuard.d.ts +0 -31
- package/dist/shared/components/blade-navigation/utils/bladeRouterGuard.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/utils/navigateToMainRoute.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/utils/restoreFromUrl.d.ts +0 -23
- package/dist/shared/components/blade-navigation/utils/restoreFromUrl.d.ts.map +0 -1
- package/dist/shared/components/blade-navigation/utils/urlSync.d.ts +0 -54
- package/dist/shared/components/blade-navigation/utils/urlSync.d.ts.map +0 -1
- package/dist/shared/components/change-password/change-password.vue.d.ts.map +0 -1
- package/dist/shared/components/change-password/index.d.ts +0 -8
- package/dist/shared/components/change-password/index.d.ts.map +0 -1
- package/dist/shared/components/change-password-button/change-password-button.vue.d.ts.map +0 -1
- package/dist/shared/components/change-password-button/index.d.ts.map +0 -1
- package/dist/shared/components/common/popup/vc-popup-base.vue.d.ts +0 -51
- package/dist/shared/components/common/popup/vc-popup-base.vue.d.ts.map +0 -1
- package/dist/shared/components/common/popup/vc-popup-error.vue.d.ts.map +0 -1
- package/dist/shared/components/common/popup/vc-popup-info.vue.d.ts.map +0 -1
- package/dist/shared/components/common/popup/vc-popup-warning.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/ChartContainer.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/ChartLegend.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/ChartTooltip.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/DashboardBarChart.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/DashboardDonutChart.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/DashboardLineChart.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/chart-utils.d.ts +0 -29
- package/dist/shared/components/dashboard-charts/chart-utils.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/index.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/types.d.ts.map +0 -1
- package/dist/shared/components/dashboard-widget-card/dashboard-feed-list.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-widget-card/dashboard-feed-row.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-widget-card/dashboard-stat-item.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-widget-card/dashboard-widget-card.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-widget-card/index.d.ts +0 -5
- package/dist/shared/components/dashboard-widget-card/index.d.ts.map +0 -1
- package/dist/shared/components/draggable-dashboard/DraggableDashboard.vue.d.ts.map +0 -1
- package/dist/shared/components/draggable-dashboard/GridstackDashboard.vue.d.ts.map +0 -1
- package/dist/shared/components/draggable-dashboard/composables/useGridstack.d.ts +0 -56
- package/dist/shared/components/draggable-dashboard/composables/useGridstack.d.ts.map +0 -1
- package/dist/shared/components/draggable-dashboard/composables/useGridstackAdapter.d.ts +0 -47
- package/dist/shared/components/draggable-dashboard/composables/useGridstackAdapter.d.ts.map +0 -1
- package/dist/shared/components/draggable-dashboard/index.d.ts +0 -13
- package/dist/shared/components/draggable-dashboard/index.d.ts.map +0 -1
- package/dist/shared/components/draggable-dashboard/types.d.ts.map +0 -1
- package/dist/shared/components/error-interceptor/index.d.ts +0 -19
- package/dist/shared/components/error-interceptor/index.d.ts.map +0 -1
- package/dist/shared/components/error-interceptor/interceptor.d.ts.map +0 -1
- package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts +0 -57
- package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts.map +0 -1
- package/dist/shared/components/generic-dropdown/index.d.ts +0 -75
- package/dist/shared/components/generic-dropdown/index.d.ts.map +0 -1
- package/dist/shared/components/index.d.ts +0 -26
- package/dist/shared/components/index.d.ts.map +0 -1
- package/dist/shared/components/language-selector/index.d.ts +0 -8
- package/dist/shared/components/language-selector/index.d.ts.map +0 -1
- package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +0 -1
- package/dist/shared/components/logout-button/index.d.ts.map +0 -1
- package/dist/shared/components/logout-button/logout-button.vue.d.ts.map +0 -1
- package/dist/shared/components/multilanguage-selector/index.d.ts +0 -2
- package/dist/shared/components/multilanguage-selector/index.d.ts.map +0 -1
- package/dist/shared/components/multilanguage-selector/multilanguage-selector.vue.d.ts +0 -44
- package/dist/shared/components/multilanguage-selector/multilanguage-selector.vue.d.ts.map +0 -1
- package/dist/shared/components/notification-dropdown/_internal/notification/index.d.ts.map +0 -1
- package/dist/shared/components/notification-dropdown/_internal/notification/notification.vue.d.ts +0 -17
- package/dist/shared/components/notification-dropdown/_internal/notification/notification.vue.d.ts.map +0 -1
- package/dist/shared/components/notification-dropdown/index.d.ts +0 -8
- package/dist/shared/components/notification-dropdown/index.d.ts.map +0 -1
- package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts.map +0 -1
- package/dist/shared/components/notification-template/index.d.ts +0 -8
- package/dist/shared/components/notification-template/index.d.ts.map +0 -1
- package/dist/shared/components/notification-template/notification-template.vue.d.ts +0 -26
- package/dist/shared/components/notification-template/notification-template.vue.d.ts.map +0 -1
- package/dist/shared/components/notifications/components/index.d.ts +0 -2
- package/dist/shared/components/notifications/components/index.d.ts.map +0 -1
- package/dist/shared/components/notifications/components/notification-container/index.d.ts +0 -120
- package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +0 -1
- package/dist/shared/components/notifications/composables/index.d.ts +0 -3
- package/dist/shared/components/notifications/composables/index.d.ts.map +0 -1
- package/dist/shared/components/notifications/composables/useContainer/index.d.ts +0 -23
- package/dist/shared/components/notifications/composables/useContainer/index.d.ts.map +0 -1
- package/dist/shared/components/notifications/composables/useInstance/index.d.ts +0 -11
- package/dist/shared/components/notifications/composables/useInstance/index.d.ts.map +0 -1
- package/dist/shared/components/notifications/core/index.d.ts +0 -2
- package/dist/shared/components/notifications/core/index.d.ts.map +0 -1
- package/dist/shared/components/notifications/core/notification.d.ts +0 -18
- package/dist/shared/components/notifications/core/notification.d.ts.map +0 -1
- package/dist/shared/components/notifications/index.d.ts +0 -6
- package/dist/shared/components/notifications/index.d.ts.map +0 -1
- package/dist/shared/components/notifications/types/index.d.ts +0 -27
- package/dist/shared/components/notifications/types/index.d.ts.map +0 -1
- package/dist/shared/components/popup-handler/components/index.d.ts +0 -2
- package/dist/shared/components/popup-handler/components/index.d.ts.map +0 -1
- package/dist/shared/components/popup-handler/components/vc-popup-container/index.d.ts +0 -3
- package/dist/shared/components/popup-handler/components/vc-popup-container/index.d.ts.map +0 -1
- package/dist/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue.d.ts.map +0 -1
- package/dist/shared/components/popup-handler/composables/index.d.ts +0 -2
- package/dist/shared/components/popup-handler/composables/index.d.ts.map +0 -1
- package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts +0 -14
- package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts.map +0 -1
- package/dist/shared/components/popup-handler/index.d.ts +0 -16
- package/dist/shared/components/popup-handler/index.d.ts.map +0 -1
- package/dist/shared/components/popup-handler/keys.d.ts +0 -4
- package/dist/shared/components/popup-handler/keys.d.ts.map +0 -1
- package/dist/shared/components/popup-handler/plugin.d.ts +0 -7
- package/dist/shared/components/popup-handler/plugin.d.ts.map +0 -1
- package/dist/shared/components/popup-handler/types/index.d.ts +0 -22
- package/dist/shared/components/popup-handler/types/index.d.ts.map +0 -1
- package/dist/shared/components/popup-handler/utils/index.d.ts.map +0 -1
- package/dist/shared/components/settings-menu/index.d.ts.map +0 -1
- package/dist/shared/components/settings-menu/settings-menu.vue.d.ts.map +0 -1
- package/dist/shared/components/settings-menu-item/index.d.ts.map +0 -1
- package/dist/shared/components/settings-menu-item/settings-menu-item.vue.d.ts +0 -41
- package/dist/shared/components/settings-menu-item/settings-menu-item.vue.d.ts.map +0 -1
- package/dist/shared/components/sidebar/index.d.ts +0 -47
- package/dist/shared/components/sidebar/index.d.ts.map +0 -1
- package/dist/shared/components/sidebar/sidebar.vue.d.ts +0 -31
- package/dist/shared/components/sidebar/sidebar.vue.d.ts.map +0 -1
- package/dist/shared/components/sign-in/external-provider.vue.d.ts.map +0 -1
- package/dist/shared/components/sign-in/external-providers.vue.d.ts.map +0 -1
- package/dist/shared/components/sign-in/index.d.ts +0 -2
- package/dist/shared/components/sign-in/index.d.ts.map +0 -1
- package/dist/shared/components/sign-in/useExternalProvider.d.ts +0 -12
- package/dist/shared/components/sign-in/useExternalProvider.d.ts.map +0 -1
- package/dist/shared/components/theme-selector/index.d.ts.map +0 -1
- package/dist/shared/components/theme-selector/theme-selector.vue.d.ts.map +0 -1
- package/dist/shared/components/user-dropdown-button/_internal/user-info.vue.d.ts.map +0 -1
- package/dist/shared/components/user-dropdown-button/_internal/user-sidebar.vue.d.ts.map +0 -1
- package/dist/shared/components/user-dropdown-button/index.d.ts +0 -8
- package/dist/shared/components/user-dropdown-button/index.d.ts.map +0 -1
- package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +0 -1
- package/dist/shared/composables/index.d.ts +0 -6
- package/dist/shared/composables/index.d.ts.map +0 -1
- package/dist/shared/composables/useExternalWidgets.d.ts +0 -10
- package/dist/shared/composables/useExternalWidgets.d.ts.map +0 -1
- package/dist/shared/composables/useMenuExpanded.d.ts +0 -9
- package/dist/shared/composables/useMenuExpanded.d.ts.map +0 -1
- package/dist/shared/composables/useModificationTracker/index.d.ts.map +0 -1
- package/dist/shared/composables/useTableSelection.d.ts.map +0 -1
- package/dist/shared/composables/useTableSort.d.ts.map +0 -1
- package/dist/shared/index.d.ts +0 -13
- package/dist/shared/index.d.ts.map +0 -1
- package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts +0 -34
- package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts.map +0 -1
- package/dist/shared/modules/assets/components/assets-details/index.d.ts +0 -3
- package/dist/shared/modules/assets/components/assets-details/index.d.ts.map +0 -1
- package/dist/shared/modules/assets/components/index.d.ts +0 -2
- package/dist/shared/modules/assets/components/index.d.ts.map +0 -1
- package/dist/shared/modules/assets/index.d.ts +0 -13
- package/dist/shared/modules/assets/index.d.ts.map +0 -1
- package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +0 -42
- package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +0 -1
- package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts +0 -3
- package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts.map +0 -1
- package/dist/shared/modules/assets-manager/components/index.d.ts +0 -2
- package/dist/shared/modules/assets-manager/components/index.d.ts.map +0 -1
- package/dist/shared/modules/assets-manager/index.d.ts +0 -13
- package/dist/shared/modules/assets-manager/index.d.ts.map +0 -1
- package/dist/shared/modules/index.d.ts +0 -3
- package/dist/shared/modules/index.d.ts.map +0 -1
- package/dist/shared/pages/ChangePasswordPage/components/change-password/ChangePassword.vue.d.ts.map +0 -1
- package/dist/shared/pages/ChangePasswordPage/components/change-password/index.d.ts +0 -3
- package/dist/shared/pages/ChangePasswordPage/components/change-password/index.d.ts.map +0 -1
- package/dist/shared/pages/ChangePasswordPage/components/index.d.ts +0 -2
- package/dist/shared/pages/ChangePasswordPage/components/index.d.ts.map +0 -1
- package/dist/shared/pages/ChangePasswordPage/index.d.ts +0 -2
- package/dist/shared/pages/ChangePasswordPage/index.d.ts.map +0 -1
- package/dist/shared/pages/ChangePasswordPage/plugin.d.ts +0 -6
- package/dist/shared/pages/ChangePasswordPage/plugin.d.ts.map +0 -1
- package/dist/shared/pages/ForgotPasswordPage/components/forgot-password/ForgotPassword.vue.d.ts.map +0 -1
- package/dist/shared/pages/ForgotPasswordPage/components/forgot-password/index.d.ts +0 -3
- package/dist/shared/pages/ForgotPasswordPage/components/forgot-password/index.d.ts.map +0 -1
- package/dist/shared/pages/ForgotPasswordPage/components/index.d.ts +0 -2
- package/dist/shared/pages/ForgotPasswordPage/components/index.d.ts.map +0 -1
- package/dist/shared/pages/ForgotPasswordPage/index.d.ts +0 -2
- package/dist/shared/pages/ForgotPasswordPage/index.d.ts.map +0 -1
- package/dist/shared/pages/ForgotPasswordPage/plugin.d.ts +0 -6
- package/dist/shared/pages/ForgotPasswordPage/plugin.d.ts.map +0 -1
- package/dist/shared/pages/InvitePage/components/index.d.ts +0 -2
- package/dist/shared/pages/InvitePage/components/index.d.ts.map +0 -1
- package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts +0 -14
- package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +0 -1
- package/dist/shared/pages/InvitePage/components/invite/index.d.ts +0 -3
- package/dist/shared/pages/InvitePage/components/invite/index.d.ts.map +0 -1
- package/dist/shared/pages/InvitePage/index.d.ts +0 -2
- package/dist/shared/pages/InvitePage/index.d.ts.map +0 -1
- package/dist/shared/pages/InvitePage/plugin.d.ts +0 -6
- package/dist/shared/pages/InvitePage/plugin.d.ts.map +0 -1
- package/dist/shared/pages/LoginPage/components/index.d.ts +0 -2
- package/dist/shared/pages/LoginPage/components/index.d.ts.map +0 -1
- package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +0 -1
- package/dist/shared/pages/LoginPage/components/login/index.d.ts +0 -3
- package/dist/shared/pages/LoginPage/components/login/index.d.ts.map +0 -1
- package/dist/shared/pages/LoginPage/index.d.ts +0 -2
- package/dist/shared/pages/LoginPage/index.d.ts.map +0 -1
- package/dist/shared/pages/LoginPage/plugin.d.ts +0 -6
- package/dist/shared/pages/LoginPage/plugin.d.ts.map +0 -1
- package/dist/shared/pages/ResetPasswordPage/components/index.d.ts +0 -2
- package/dist/shared/pages/ResetPasswordPage/components/index.d.ts.map +0 -1
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts +0 -14
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +0 -1
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts +0 -3
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts.map +0 -1
- package/dist/shared/pages/ResetPasswordPage/index.d.ts +0 -2
- package/dist/shared/pages/ResetPasswordPage/index.d.ts.map +0 -1
- package/dist/shared/pages/ResetPasswordPage/plugin.d.ts +0 -6
- package/dist/shared/pages/ResetPasswordPage/plugin.d.ts.map +0 -1
- package/dist/shared/pages/_storybook-helpers.d.ts.map +0 -1
- package/dist/shared/pages/index.d.ts +0 -6
- package/dist/shared/pages/index.d.ts.map +0 -1
- package/dist/shared/pages/plugin.d.ts +0 -6
- package/dist/shared/pages/plugin.d.ts.map +0 -1
- package/dist/shared/utilities/assets.d.ts +0 -5
- package/dist/shared/utilities/assets.d.ts.map +0 -1
- package/dist/shared/utilities/colorUtils.d.ts.map +0 -1
- package/dist/shared/utilities/formatBadgeCount.d.ts.map +0 -1
- package/dist/shared/utilities/index.d.ts +0 -5
- package/dist/shared/utilities/index.d.ts.map +0 -1
- package/dist/shared/utilities/vueUtils.d.ts +0 -34
- package/dist/shared/utilities/vueUtils.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/composables/use-icon-type.d.ts +0 -22
- package/dist/ui/components/atoms/vc-icon/composables/use-icon-type.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/composables/use-icon.d.ts +0 -30
- package/dist/ui/components/atoms/vc-icon/composables/use-icon.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-blade/_internal/widgets/WidgetDropdownItem.vue.d.ts +0 -15
- package/dist/ui/components/organisms/vc-blade/_internal/widgets/WidgetDropdownItem.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-blade/constants.d.ts +0 -8
- package/dist/ui/components/organisms/vc-blade/constants.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/VcDataTable.vue.d.ts +0 -307
- package/dist/ui/components/organisms/vc-table/VcDataTable.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/VcTableAdapter.vue.d.ts +0 -132
- package/dist/ui/components/organisms/vc-table/VcTableAdapter.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts +0 -31
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +0 -20
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +0 -11
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts +0 -23
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/base/BaseVcDataTable.d.ts +0 -377
- package/dist/ui/components/organisms/vc-table/base/BaseVcDataTable.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/ColumnFilter.vue.d.ts +0 -59
- package/dist/ui/components/organisms/vc-table/components/ColumnFilter.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/ColumnSwitcherButton.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/DataTableBody.vue.d.ts +0 -158
- package/dist/ui/components/organisms/vc-table/components/DataTableBody.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/DataTableCellRenderer.vue.d.ts +0 -52
- package/dist/ui/components/organisms/vc-table/components/DataTableCellRenderer.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/DataTableHeader.vue.d.ts +0 -79
- package/dist/ui/components/organisms/vc-table/components/DataTableHeader.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/DataTableRow.vue.d.ts +0 -118
- package/dist/ui/components/organisms/vc-table/components/DataTableRow.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/GlobalFiltersButton.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/GlobalFiltersPanel.vue.d.ts +0 -45
- package/dist/ui/components/organisms/vc-table/components/GlobalFiltersPanel.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/Table.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableActions.vue.d.ts +0 -23
- package/dist/ui/components/organisms/vc-table/components/TableActions.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableAddRowButton.vue.d.ts +0 -17
- package/dist/ui/components/organisms/vc-table/components/TableAddRowButton.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableBody.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableCell.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableCheckbox.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableColumnSwitcher.vue.d.ts +0 -30
- package/dist/ui/components/organisms/vc-table/components/TableColumnSwitcher.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableEmpty.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableFooter.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableGroupRow.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableHead.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableHeader.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableResizeHandle.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableRow.vue.d.ts +0 -71
- package/dist/ui/components/organisms/vc-table/components/TableRow.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableRowActions.vue.d.ts +0 -43
- package/dist/ui/components/organisms/vc-table/components/TableRowActions.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableSearchHeader.vue.d.ts +0 -69
- package/dist/ui/components/organisms/vc-table/components/TableSearchHeader.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/TableSelectAllBar.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/VcColumn.vue.d.ts +0 -362
- package/dist/ui/components/organisms/vc-table/components/VcColumn.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/_internal/SlotProxy.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/_internal/TableSkeletonRows.vue.d.ts +0 -18
- package/dist/ui/components/organisms/vc-table/components/_internal/TableSkeletonRows.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/cells/CellDate.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/cells/CellDateAgo.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/cells/CellDefault.vue.d.ts +0 -38
- package/dist/ui/components/organisms/vc-table/components/cells/CellDefault.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/cells/CellEditableWrapper.vue.d.ts +0 -27
- package/dist/ui/components/organisms/vc-table/components/cells/CellEditableWrapper.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/cells/CellHtml.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/cells/CellImage.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/cells/CellLink.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/cells/CellMoney.vue.d.ts +0 -40
- package/dist/ui/components/organisms/vc-table/components/cells/CellMoney.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/cells/CellNumber.vue.d.ts +0 -38
- package/dist/ui/components/organisms/vc-table/components/cells/CellNumber.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/cells/CellStatus.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/cells/CellStatusIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/cells/DynamicCellRenderer.vue.d.ts +0 -46
- package/dist/ui/components/organisms/vc-table/components/cells/DynamicCellRenderer.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/cells/index.d.ts +0 -12
- package/dist/ui/components/organisms/vc-table/components/cells/index.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/index.d.ts +0 -27
- package/dist/ui/components/organisms/vc-table/components/index.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/mobile/DataTableMobileCard.vue.d.ts +0 -49
- package/dist/ui/components/organisms/vc-table/components/mobile/DataTableMobileCard.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/mobile/DataTableMobileView.vue.d.ts +0 -61
- package/dist/ui/components/organisms/vc-table/components/mobile/DataTableMobileView.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/mobile/MobileActionSheet.vue.d.ts +0 -32
- package/dist/ui/components/organisms/vc-table/components/mobile/MobileActionSheet.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/mobile/MobileCellRenderer.vue.d.ts +0 -27
- package/dist/ui/components/organisms/vc-table/components/mobile/MobileCellRenderer.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/mobile/PullToRefresh.vue.d.ts +0 -44
- package/dist/ui/components/organisms/vc-table/components/mobile/PullToRefresh.vue.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/components/mobile/index.d.ts +0 -6
- package/dist/ui/components/organisms/vc-table/components/mobile/index.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/index.d.ts +0 -31
- package/dist/ui/components/organisms/vc-table/composables/index.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useCellBase.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useCellRegistry.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useColumnFilter.d.ts +0 -38
- package/dist/ui/components/organisms/vc-table/composables/useColumnFilter.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useDataProcessing.d.ts +0 -34
- package/dist/ui/components/organisms/vc-table/composables/useDataProcessing.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useDataTableOrchestrator.d.ts +0 -276
- package/dist/ui/components/organisms/vc-table/composables/useDataTableOrchestrator.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useDataTableState.d.ts +0 -30
- package/dist/ui/components/organisms/vc-table/composables/useDataTableState.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useMobileCardLayout.d.ts +0 -48
- package/dist/ui/components/organisms/vc-table/composables/useMobileCardLayout.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableColumns.d.ts +0 -40
- package/dist/ui/components/organisms/vc-table/composables/useTableColumns.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableColumnsReorder.d.ts +0 -33
- package/dist/ui/components/organisms/vc-table/composables/useTableColumnsReorder.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableColumnsResize.d.ts +0 -25
- package/dist/ui/components/organisms/vc-table/composables/useTableColumnsResize.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableContext.d.ts +0 -8
- package/dist/ui/components/organisms/vc-table/composables/useTableContext.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableEditing.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableExpansion.d.ts +0 -40
- package/dist/ui/components/organisms/vc-table/composables/useTableExpansion.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableFilter.d.ts +0 -25
- package/dist/ui/components/organisms/vc-table/composables/useTableFilter.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableInlineEdit.d.ts +0 -68
- package/dist/ui/components/organisms/vc-table/composables/useTableInlineEdit.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableRowGrouping.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableRowReorder.d.ts +0 -32
- package/dist/ui/components/organisms/vc-table/composables/useTableRowReorder.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableSelectionV2.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableSort.d.ts +0 -48
- package/dist/ui/components/organisms/vc-table/composables/useTableSort.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableSwipe.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/composables/useVirtualScroll.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/index.d.ts +0 -13
- package/dist/ui/components/organisms/vc-table/index.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/keys.d.ts +0 -22
- package/dist/ui/components/organisms/vc-table/keys.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/types.d.ts +0 -807
- package/dist/ui/components/organisms/vc-table/types.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/utils/ColumnCollector.d.ts +0 -67
- package/dist/ui/components/organisms/vc-table/utils/ColumnCollector.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/utils/deepClone.d.ts.map +0 -1
- package/dist/ui/components/organisms/vc-table/utils/index.d.ts +0 -9
- package/dist/ui/components/organisms/vc-table/utils/index.d.ts.map +0 -1
- package/dist/ui/types/global-components.d.ts +0 -10
- package/dist/ui/types/global-components.d.ts.map +0 -1
- package/dist/vendor-dompurify-M2Bspgo5.js +0 -553
- package/dist/vendor-gridstack-Dkfw452e.js +0 -3390
- package/dist/vendor-intlify-core-base-BmIo1dK4.js +0 -1141
- package/dist/vendor-intlify-message-compiler-D9VOavkL.js +0 -960
- package/dist/vendor-intlify-shared-SCAs3ybf.js +0 -144
- package/dist/vendor-lodash-es-BBiobZqS.js +0 -1502
- package/dist/vendor-lucide-vue-next-CPgeDcFj.js +0 -33093
- package/dist/vendor-microsoft-applicationinsights-analytics-js-DFu_cVaY.js +0 -1207
- package/dist/vendor-microsoft-applicationinsights-cfgsync-js-DRQLN2Ue.js +0 -261
- package/dist/vendor-microsoft-applicationinsights-channel-js-BIJDcP3D.js +0 -1822
- package/dist/vendor-microsoft-applicationinsights-common-CJjmnDMb.js +0 -1921
- package/dist/vendor-microsoft-applicationinsights-core-js-BOc_o46i.js +0 -4276
- package/dist/vendor-microsoft-applicationinsights-dependencies-js-DDz502id.js +0 -1407
- package/dist/vendor-microsoft-applicationinsights-properties-js-9aDWHwXJ.js +0 -572
- package/dist/vendor-microsoft-applicationinsights-shims-Dton8Vqy.js +0 -43
- package/dist/vendor-microsoft-applicationinsights-web-DTa5YN-h.js +0 -487
- package/dist/vendor-microsoft-dynamicproto-js-89GEKjvR.js +0 -147
- package/dist/vendor-microsoft-signalr-Bgpbb4fW.js +0 -1761
- package/dist/vendor-nevware21-ts-async-D4qa7g-U.js +0 -261
- package/dist/vendor-nevware21-ts-utils-DII8jruI.js +0 -853
- package/dist/vendor-prettier-DeqUTTnE.js +0 -5215
- package/dist/vendor-prosemirror-commands-Bv4ChObl.js +0 -385
- package/dist/vendor-prosemirror-dropcursor-kF5UKNFM.js +0 -86
- package/dist/vendor-prosemirror-gapcursor-S3ikcYX6.js +0 -203
- package/dist/vendor-prosemirror-history-CQYKHz3u.js +0 -248
- package/dist/vendor-prosemirror-keymap-CAfQyvJ7.js +0 -62
- package/dist/vendor-prosemirror-schema-list-BNJkECdS.js +0 -87
- package/dist/vendor-prosemirror-state-IeimrELV.js +0 -821
- package/dist/vendor-prosemirror-tables-zVUKdbdQ.js +0 -1414
- package/dist/vendor-prosemirror-transform-BUjWd5Tb.js +0 -1525
- package/dist/vendor-prosemirror-view-DFpBkGRq.js +0 -3794
- package/dist/vendor-swiper-1bp0oJwt.js +0 -3387
- package/dist/vendor-tiptap-core-CDScflP1.js +0 -3921
- package/dist/vendor-tiptap-extension-blockquote-ChRAwuus.js +0 -55
- package/dist/vendor-tiptap-extension-bold-BwoVpOFS.js +0 -74
- package/dist/vendor-tiptap-extension-code-DOlgG3ih.js +0 -52
- package/dist/vendor-tiptap-extension-code-block-CMeTs87s.js +0 -215
- package/dist/vendor-tiptap-extension-document-DO8oly70.js +0 -12
- package/dist/vendor-tiptap-extension-hard-break-BgDl2sHf.js +0 -59
- package/dist/vendor-tiptap-extension-heading-DFuYlwHi.js +0 -63
- package/dist/vendor-tiptap-extension-horizontal-rule-uyfttMp9.js +0 -56
- package/dist/vendor-tiptap-extension-image-DPeBaTE3.js +0 -128
- package/dist/vendor-tiptap-extension-italic-C9-3jNxO.js +0 -73
- package/dist/vendor-tiptap-extension-link-B57VzStq.js +0 -312
- package/dist/vendor-tiptap-extension-list-spvOF7Mz.js +0 -722
- package/dist/vendor-tiptap-extension-paragraph-Cj7auQB7.js +0 -44
- package/dist/vendor-tiptap-extension-placeholder-DhwvmZ6Y.js +0 -1
- package/dist/vendor-tiptap-extension-strike-yj6UvnkO.js +0 -64
- package/dist/vendor-tiptap-extension-table-cell-CQpTPSvF.js +0 -1
- package/dist/vendor-tiptap-extension-table-ex1kZQ-9.js +0 -374
- package/dist/vendor-tiptap-extension-table-header-CQpTPSvF.js +0 -1
- package/dist/vendor-tiptap-extension-table-row-CQpTPSvF.js +0 -1
- package/dist/vendor-tiptap-extension-text-C8FG4KnI.js +0 -13
- package/dist/vendor-tiptap-extension-text-style-DsQDXowp.js +0 -235
- package/dist/vendor-tiptap-extension-underline-HB3fg6Dc.js +0 -65
- package/dist/vendor-tiptap-extensions-CUGwjzl5.js +0 -296
- package/dist/vendor-tiptap-markdown-BTXJw7Bt.js +0 -826
- package/dist/vendor-tiptap-pm-DSHuSumV.js +0 -1
- package/dist/vendor-tiptap-starter-kit-C42PcJ7J.js +0 -28
- package/dist/vendor-tiptap-vue-3-BxWCzu9Z.js +0 -157
- package/dist/vendor-vue-i18n-DfoSKa-v.js +0 -1369
- package/dist/vendor-vue3-application-insights-BmJCYUcp.js +0 -69
- package/dist/vendor-vueuse-components-C3DWJalC.js +0 -219
- package/dist/vendor-vueuse-core-NnO9wNjs.js +0 -530
- package/dist/vendor-vueuse-shared-Byno6iDO.js +0 -149
- package/dist/vendor-web-vitals-vrpLO1bu.js +0 -207
- /package/dist/{vendor-boolbase-DYkUBG-P.js → chunks/vendor-boolbase-DYkUBG-P.js} +0 -0
- /package/dist/{vendor-cheerio-DE71XQ9x.js → chunks/vendor-cheerio-DE71XQ9x.js} +0 -0
- /package/dist/{vendor-cheerio-select-D-qK1Cpo.js → chunks/vendor-cheerio-select-D-qK1Cpo.js} +0 -0
- /package/dist/{vendor-css-select-DqoO1-RK.js → chunks/vendor-css-select-DqoO1-RK.js} +0 -0
- /package/dist/{vendor-css-what-CZZaquJM.js → chunks/vendor-css-what-CZZaquJM.js} +0 -0
- /package/dist/{vendor-cypress-signalr-mock-itnm2wpA.js → chunks/vendor-cypress-signalr-mock-itnm2wpA.js} +0 -0
- /package/dist/{vendor-d3-array-9cpTrqlO.js → chunks/vendor-d3-array-9cpTrqlO.js} +0 -0
- /package/dist/{vendor-d3-axis-D1_DbKLz.js → chunks/vendor-d3-axis-D1_DbKLz.js} +0 -0
- /package/dist/{vendor-d3-brush-CcKeJp9e.js → chunks/vendor-d3-brush-CcKeJp9e.js} +0 -0
- /package/dist/{vendor-d3-color-BOYE6h_9.js → chunks/vendor-d3-color-BOYE6h_9.js} +0 -0
- /package/dist/{vendor-d3-dispatch-fx-WMg0D.js → chunks/vendor-d3-dispatch-fx-WMg0D.js} +0 -0
- /package/dist/{vendor-d3-ease-Cr34gv04.js → chunks/vendor-d3-ease-Cr34gv04.js} +0 -0
- /package/dist/{vendor-d3-format-DaIwZvFc.js → chunks/vendor-d3-format-DaIwZvFc.js} +0 -0
- /package/dist/{vendor-d3-interpolate-BYG2gvO4.js → chunks/vendor-d3-interpolate-BYG2gvO4.js} +0 -0
- /package/dist/{vendor-d3-interpolate-path-CpGLvKgS.js → chunks/vendor-d3-interpolate-path-CpGLvKgS.js} +0 -0
- /package/dist/{vendor-d3-path-DJOTitNW.js → chunks/vendor-d3-path-DJOTitNW.js} +0 -0
- /package/dist/{vendor-d3-scale-CC5rtdt5.js → chunks/vendor-d3-scale-CC5rtdt5.js} +0 -0
- /package/dist/{vendor-d3-selection-CNMxsYiL.js → chunks/vendor-d3-selection-CNMxsYiL.js} +0 -0
- /package/dist/{vendor-d3-shape-DBhCDMiV.js → chunks/vendor-d3-shape-DBhCDMiV.js} +0 -0
- /package/dist/{vendor-d3-time-DAPP210_.js → chunks/vendor-d3-time-DAPP210_.js} +0 -0
- /package/dist/{vendor-d3-time-format-hD7iE2WG.js → chunks/vendor-d3-time-format-hD7iE2WG.js} +0 -0
- /package/dist/{vendor-d3-timer-C1cUWKPz.js → chunks/vendor-d3-timer-C1cUWKPz.js} +0 -0
- /package/dist/{vendor-d3-transition-BbNQT7qF.js → chunks/vendor-d3-transition-BbNQT7qF.js} +0 -0
- /package/dist/{vendor-d3-zoom-CcKeJp9e.js → chunks/vendor-d3-zoom-CcKeJp9e.js} +0 -0
- /package/dist/{vendor-date-fns-BKO3x1R1.js → chunks/vendor-date-fns-BKO3x1R1.js} +0 -0
- /package/dist/{vendor-dom-serializer-BbVuF1MQ.js → chunks/vendor-dom-serializer-BbVuF1MQ.js} +0 -0
- /package/dist/{vendor-domelementtype-B3sFIGaC.js → chunks/vendor-domelementtype-B3sFIGaC.js} +0 -0
- /package/dist/{vendor-domhandler-Kufn9M_V.js → chunks/vendor-domhandler-Kufn9M_V.js} +0 -0
- /package/dist/{vendor-domutils-DDRq_ial.js → chunks/vendor-domutils-DDRq_ial.js} +0 -0
- /package/dist/{vendor-emotion-cache-eEZT5l-Q.js → chunks/vendor-emotion-cache-eEZT5l-Q.js} +0 -0
- /package/dist/{vendor-emotion-hash-DImMRhyK.js → chunks/vendor-emotion-hash-DImMRhyK.js} +0 -0
- /package/dist/{vendor-emotion-memoize-BcEUCz8q.js → chunks/vendor-emotion-memoize-BcEUCz8q.js} +0 -0
- /package/dist/{vendor-emotion-serialize-BSDW8NwU.js → chunks/vendor-emotion-serialize-BSDW8NwU.js} +0 -0
- /package/dist/{vendor-emotion-sheet-CS8ZBl9s.js → chunks/vendor-emotion-sheet-CS8ZBl9s.js} +0 -0
- /package/dist/{vendor-emotion-unitless-B7u1PU6w.js → chunks/vendor-emotion-unitless-B7u1PU6w.js} +0 -0
- /package/dist/{vendor-emotion-utils-D7refZTM.js → chunks/vendor-emotion-utils-D7refZTM.js} +0 -0
- /package/dist/{vendor-entities-J86Og8IU.js → chunks/vendor-entities-J86Og8IU.js} +0 -0
- /package/dist/{vendor-floating-ui-core-BoHdh92a.js → chunks/vendor-floating-ui-core-BoHdh92a.js} +0 -0
- /package/dist/{vendor-floating-ui-dom-BvVXFZ4B.js → chunks/vendor-floating-ui-dom-BvVXFZ4B.js} +0 -0
- /package/dist/{vendor-floating-ui-utils-CidJRIm2.js → chunks/vendor-floating-ui-utils-CidJRIm2.js} +0 -0
- /package/dist/{vendor-floating-ui-vue-sCrhit51.js → chunks/vendor-floating-ui-vue-sCrhit51.js} +0 -0
- /package/dist/{vendor-headlessui-vue-Cn-RMs4E.js → chunks/vendor-headlessui-vue-Cn-RMs4E.js} +0 -0
- /package/dist/{vendor-htmlparser2-BxKKzWLL.js → chunks/vendor-htmlparser2-BxKKzWLL.js} +0 -0
- /package/dist/{vendor-internmap-Q5729_cS.js → chunks/vendor-internmap-Q5729_cS.js} +0 -0
- /package/dist/{vendor-iso-639-1-BEjYyfKo.js → chunks/vendor-iso-639-1-BEjYyfKo.js} +0 -0
- /package/dist/{vendor-juggle-resize-observer-DiSiNbbT.js → chunks/vendor-juggle-resize-observer-DiSiNbbT.js} +0 -0
- /package/dist/{vendor-linkify-it-LzoUhj6C.js → chunks/vendor-linkify-it-LzoUhj6C.js} +0 -0
- /package/dist/{vendor-linkifyjs-dCH9UYes.js → chunks/vendor-linkifyjs-dCH9UYes.js} +0 -0
- /package/dist/{vendor-markdown-it-Bs9KEWkF.js → chunks/vendor-markdown-it-Bs9KEWkF.js} +0 -0
- /package/dist/{vendor-markdown-it-task-lists-CHKeJZfk.js → chunks/vendor-markdown-it-task-lists-CHKeJZfk.js} +0 -0
- /package/dist/{vendor-mdurl-DZFDNdqC.js → chunks/vendor-mdurl-DZFDNdqC.js} +0 -0
- /package/dist/{vendor-nth-check-D0N1qpsw.js → chunks/vendor-nth-check-D0N1qpsw.js} +0 -0
- /package/dist/{vendor-orderedmap-B3SOk52B.js → chunks/vendor-orderedmap-B3SOk52B.js} +0 -0
- /package/dist/{vendor-parse5-htmlparser2-tree-adapter-BUDJ887-.js → chunks/vendor-parse5-htmlparser2-tree-adapter-BUDJ887-.js} +0 -0
- /package/dist/{vendor-parse5-zq5Hn0y9.js → chunks/vendor-parse5-zq5Hn0y9.js} +0 -0
- /package/dist/{vendor-prosemirror-markdown-rpUTSG_Q.js → chunks/vendor-prosemirror-markdown-rpUTSG_Q.js} +0 -0
- /package/dist/{vendor-prosemirror-model-DAA3avbR.js → chunks/vendor-prosemirror-model-DAA3avbR.js} +0 -0
- /package/dist/{vendor-punycode-js-CgGegfA_.js → chunks/vendor-punycode-js-CgGegfA_.js} +0 -0
- /package/dist/{vendor-rope-sequence-BWC2FSrq.js → chunks/vendor-rope-sequence-BWC2FSrq.js} +0 -0
- /package/dist/{vendor-striptags-DtlgQudQ.js → chunks/vendor-striptags-DtlgQudQ.js} +0 -0
- /package/dist/{vendor-stylis-ClfDrgKE.js → chunks/vendor-stylis-ClfDrgKE.js} +0 -0
- /package/dist/{vendor-tanstack-vue-virtual-CD9yLWd7.js → chunks/vendor-tanstack-vue-virtual-CD9yLWd7.js} +0 -0
- /package/dist/{vendor-throttle-debounce-CX0imT7m.js → chunks/vendor-throttle-debounce-CX0imT7m.js} +0 -0
- /package/dist/{vendor-truncate-html-ChA1T5zy.js → chunks/vendor-truncate-html-ChA1T5zy.js} +0 -0
- /package/dist/{vendor-uc-micro-4lbSaZOs.js → chunks/vendor-uc-micro-4lbSaZOs.js} +0 -0
- /package/dist/{vendor-unovis-ts-stSsHr9j.js → chunks/vendor-unovis-ts-stSsHr9j.js} +0 -0
- /package/dist/{vendor-unovis-vue-CZWGT3-0.js → chunks/vendor-unovis-vue-CZWGT3-0.js} +0 -0
- /package/dist/{vendor-vee-validate-i18n-zT8NxX3R.js → chunks/vendor-vee-validate-i18n-zT8NxX3R.js} +0 -0
- /package/dist/{vendor-vee-validate-rules-4oWUZPpG.js → chunks/vendor-vee-validate-rules-4oWUZPpG.js} +0 -0
- /package/dist/{vendor-vue-currency-input-CckB4kjx.js → chunks/vendor-vue-currency-input-CckB4kjx.js} +0 -0
- /package/dist/{vendor-vue-demi-CD9yLWd7.js → chunks/vendor-vue-demi-CD9yLWd7.js} +0 -0
- /package/dist/{vendor-vue-devtools-api-aVYGocXp.js → chunks/vendor-vue-devtools-api-aVYGocXp.js} +0 -0
- /package/dist/{vendor-vue3-touch-events-DqysuuWh.js → chunks/vendor-vue3-touch-events-DqysuuWh.js} +0 -0
- /package/dist/{vendor-vuepic-vue-datepicker-CaZ_qpJp.js → chunks/vendor-vuepic-vue-datepicker-CaZ_qpJp.js} +0 -0
- /package/dist/{vendor-w3c-keyname-CLxH8j-f.js → chunks/vendor-w3c-keyname-CLxH8j-f.js} +0 -0
- /package/dist/{shared/components → core}/blade-navigation/utils/navigateToMainRoute.d.ts +0 -0
- /package/dist/{shared → core}/composables/useModificationTracker/index.d.ts +0 -0
- /package/dist/{shared → core}/utilities/colorUtils.d.ts +0 -0
- /package/dist/{shared → core}/utilities/formatBadgeCount.d.ts +0 -0
- /package/dist/{shared/pages → shell/_internal}/_storybook-helpers.d.ts +0 -0
- /package/dist/{shared/components → shell/_internal}/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/_internal}/blade-navigation/components/vc-blade-navigation/vc-blade-navigation-new.vue.d.ts +0 -0
- /package/dist/{shared/components/common/popup → shell/_internal/popup/common}/vc-popup-error.vue.d.ts +0 -0
- /package/dist/{shared/components/common/popup → shell/_internal/popup/common}/vc-popup-info.vue.d.ts +0 -0
- /package/dist/{shared/components/common/popup → shell/_internal/popup/common}/vc-popup-warning.vue.d.ts +0 -0
- /package/dist/{shared/components/popup-handler → shell/_internal/popup}/components/vc-popup-container/vc-popup-container.vue.d.ts +0 -0
- /package/dist/{shared/components/popup-handler → shell/_internal/popup}/utils/index.d.ts +0 -0
- /package/dist/{shared/pages → shell/auth}/ChangePasswordPage/components/change-password/ChangePassword.vue.d.ts +0 -0
- /package/dist/{shared/pages → shell/auth}/ForgotPasswordPage/components/forgot-password/ForgotPassword.vue.d.ts +0 -0
- /package/dist/{shared/pages → shell/auth}/LoginPage/components/login/Login.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/auth}/sign-in/external-provider.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/auth}/sign-in/external-providers.vue.d.ts +0 -0
- /package/dist/{shared → shell}/components/change-password/change-password.vue.d.ts +0 -0
- /package/dist/{shared → shell}/components/change-password-button/change-password-button.vue.d.ts +0 -0
- /package/dist/{shared → shell}/components/change-password-button/index.d.ts +0 -0
- /package/dist/{shared → shell}/components/error-interceptor/interceptor.d.ts +0 -0
- /package/dist/{shared → shell}/components/language-selector/language-selector.vue.d.ts +0 -0
- /package/dist/{shared → shell}/components/logout-button/index.d.ts +0 -0
- /package/dist/{shared → shell}/components/logout-button/logout-button.vue.d.ts +0 -0
- /package/dist/{shared → shell}/components/notification-dropdown/_internal/notification/index.d.ts +0 -0
- /package/dist/{shared → shell}/components/notification-dropdown/notification-dropdown.vue.d.ts +0 -0
- /package/dist/{shared → shell}/components/settings-menu/index.d.ts +0 -0
- /package/dist/{shared → shell}/components/settings-menu/settings-menu.vue.d.ts +0 -0
- /package/dist/{shared → shell}/components/settings-menu-item/index.d.ts +0 -0
- /package/dist/{shared → shell}/components/theme-selector/index.d.ts +0 -0
- /package/dist/{shared → shell}/components/theme-selector/theme-selector.vue.d.ts +0 -0
- /package/dist/{shared → shell}/components/user-dropdown-button/_internal/user-info.vue.d.ts +0 -0
- /package/dist/{shared → shell}/components/user-dropdown-button/_internal/user-sidebar.vue.d.ts +0 -0
- /package/dist/{shared → shell}/components/user-dropdown-button/user-dropdown-button.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/dashboard-charts/ChartContainer.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/dashboard-charts/ChartLegend.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/dashboard-charts/ChartTooltip.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/dashboard-charts/DashboardBarChart.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/dashboard-charts/DashboardDonutChart.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/dashboard-charts/DashboardLineChart.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/dashboard-charts/index.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/dashboard-charts/types.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/dashboard-widget-card/dashboard-feed-list.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/dashboard-widget-card/dashboard-feed-row.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/dashboard-widget-card/dashboard-stat-item.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/dashboard-widget-card/dashboard-widget-card.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/draggable-dashboard/DraggableDashboard.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/draggable-dashboard/GridstackDashboard.vue.d.ts +0 -0
- /package/dist/{shared/components → shell/dashboard}/draggable-dashboard/types.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/_internal/vc-table-filter/vc-table-filter.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/ColumnSwitcherButton.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/GlobalFiltersButton.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/Table.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/TableBody.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/TableCell.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/TableCheckbox.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/TableEmpty.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/TableFooter.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/TableGroupRow.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/TableHead.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/TableHeader.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/TableResizeHandle.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/TableSelectAllBar.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/_internal/SlotProxy.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/cells/CellDate.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/cells/CellDateAgo.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/cells/CellHtml.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/cells/CellImage.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/cells/CellLink.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/cells/CellStatus.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/components/cells/CellStatusIcon.vue.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/composables/useCellBase.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/composables/useCellRegistry.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/composables/useTableEditing.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/composables/useTableRowGrouping.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/composables/useTableSelectionV2.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/composables/useTableSwipe.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/composables/useVirtualScroll.d.ts +0 -0
- /package/dist/ui/components/organisms/{vc-table → vc-data-table}/utils/deepClone.d.ts +0 -0
- /package/dist/{shared → ui}/composables/useTableSelection.d.ts +0 -0
- /package/dist/{shared → ui}/composables/useTableSort.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vendor-vueuse-core-CEdpDfzx.js","sources":["../../../node_modules/@vueuse/core/index.mjs"],"sourcesContent":["import { noop, makeDestructurable, camelize, toValue, isClient, isObject, tryOnScopeDispose, isIOS, tryOnMounted, notNullish, objectOmit, promiseTimeout, until, increaseWithUnit, objectEntries, createSingletonPromise, useTimeoutFn, pausableWatch, toRef, createEventHook, computedWithControl, timestamp, pausableFilter, watchIgnorable, debounceFilter, createFilterWrapper, bypassFilter, toRefs, useIntervalFn, containsProp, hasOwn, throttleFilter, useDebounceFn, useThrottleFn, clamp, syncRef, objectPick, tryOnUnmounted, watchWithFilter, tryOnBeforeUnmount, identity, isDef, isWorker } from '@vueuse/shared';\nexport * from '@vueuse/shared';\nimport { isRef, ref, shallowRef, watchEffect, computed, inject, isVue3, version, defineComponent, h, TransitionGroup, shallowReactive, Fragment, watch, getCurrentInstance, customRef, onUpdated, onMounted, isVue2, readonly, nextTick, reactive, markRaw, unref, getCurrentScope, set, del, isReadonly, onBeforeUpdate } from 'vue-demi';\n\nfunction computedAsync(evaluationCallback, initialState, optionsOrRef) {\n let options;\n if (isRef(optionsOrRef)) {\n options = {\n evaluating: optionsOrRef\n };\n } else {\n options = optionsOrRef || {};\n }\n const {\n lazy = false,\n evaluating = void 0,\n shallow = true,\n onError = noop\n } = options;\n const started = ref(!lazy);\n const current = shallow ? shallowRef(initialState) : ref(initialState);\n let counter = 0;\n watchEffect(async (onInvalidate) => {\n if (!started.value)\n return;\n counter++;\n const counterAtBeginning = counter;\n let hasFinished = false;\n if (evaluating) {\n Promise.resolve().then(() => {\n evaluating.value = true;\n });\n }\n try {\n const result = await evaluationCallback((cancelCallback) => {\n onInvalidate(() => {\n if (evaluating)\n evaluating.value = false;\n if (!hasFinished)\n cancelCallback();\n });\n });\n if (counterAtBeginning === counter)\n current.value = result;\n } catch (e) {\n onError(e);\n } finally {\n if (evaluating && counterAtBeginning === counter)\n evaluating.value = false;\n hasFinished = true;\n }\n });\n if (lazy) {\n return computed(() => {\n started.value = true;\n return current.value;\n });\n } else {\n return current;\n }\n}\n\nfunction computedInject(key, options, defaultSource, treatDefaultAsFactory) {\n let source = inject(key);\n if (defaultSource)\n source = inject(key, defaultSource);\n if (treatDefaultAsFactory)\n source = inject(key, defaultSource, treatDefaultAsFactory);\n if (typeof options === \"function\") {\n return computed((ctx) => options(source, ctx));\n } else {\n return computed({\n get: (ctx) => options.get(source, ctx),\n set: options.set\n });\n }\n}\n\nfunction createReusableTemplate(options = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createReusableTemplate only works in Vue 2.7 or above.\");\n return;\n }\n const {\n inheritAttrs = true\n } = options;\n const render = shallowRef();\n const define = /* #__PURE__ */ defineComponent({\n setup(_, { slots }) {\n return () => {\n render.value = slots.default;\n };\n }\n });\n const reuse = /* #__PURE__ */ defineComponent({\n inheritAttrs,\n setup(_, { attrs, slots }) {\n return () => {\n var _a;\n if (!render.value && process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] Failed to find the definition of reusable template\");\n const vnode = (_a = render.value) == null ? void 0 : _a.call(render, { ...keysToCamelKebabCase(attrs), $slots: slots });\n return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode;\n };\n }\n });\n return makeDestructurable(\n { define, reuse },\n [define, reuse]\n );\n}\nfunction keysToCamelKebabCase(obj) {\n const newObj = {};\n for (const key in obj)\n newObj[camelize(key)] = obj[key];\n return newObj;\n}\n\nfunction createTemplatePromise(options = {}) {\n if (!isVue3) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createTemplatePromise only works in Vue 3 or above.\");\n return;\n }\n let index = 0;\n const instances = ref([]);\n function create(...args) {\n const props = shallowReactive({\n key: index++,\n args,\n promise: void 0,\n resolve: () => {\n },\n reject: () => {\n },\n isResolving: false,\n options\n });\n instances.value.push(props);\n props.promise = new Promise((_resolve, _reject) => {\n props.resolve = (v) => {\n props.isResolving = true;\n return _resolve(v);\n };\n props.reject = _reject;\n }).finally(() => {\n props.promise = void 0;\n const index2 = instances.value.indexOf(props);\n if (index2 !== -1)\n instances.value.splice(index2, 1);\n });\n return props.promise;\n }\n function start(...args) {\n if (options.singleton && instances.value.length > 0)\n return instances.value[0].promise;\n return create(...args);\n }\n const component = /* #__PURE__ */ defineComponent((_, { slots }) => {\n const renderList = () => instances.value.map((props) => {\n var _a;\n return h(Fragment, { key: props.key }, (_a = slots.default) == null ? void 0 : _a.call(slots, props));\n });\n if (options.transition)\n return () => h(TransitionGroup, options.transition, renderList);\n return renderList;\n });\n component.start = start;\n return component;\n}\n\nfunction createUnrefFn(fn) {\n return function(...args) {\n return fn.apply(this, args.map((i) => toValue(i)));\n };\n}\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nconst defaultWindow = isClient ? window : void 0;\nconst defaultDocument = isClient ? window.document : void 0;\nconst defaultNavigator = isClient ? window.navigator : void 0;\nconst defaultLocation = isClient ? window.location : void 0;\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(\n () => [unrefElement(target), toValue(options)],\n ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n const optionsClone = isObject(options2) ? { ...options2 } : options2;\n cleanups.push(\n ...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, optionsClone));\n })\n );\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return noop;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n window.document.documentElement.addEventListener(\"click\", noop);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return ignore.some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n const listener = (event) => {\n const el = unrefElement(target);\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n const cleanup = [\n useEventListener(window, \"click\", listener, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement))) {\n handler(event);\n }\n }, 0);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction onKeyDown(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keydown\" });\n}\nfunction onKeyPressed(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keypress\" });\n}\nfunction onKeyUp(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keyup\" });\n}\n\nconst DEFAULT_DELAY = 500;\nconst DEFAULT_THRESHOLD = 10;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n let posStart;\n let startTimestamp;\n let hasLongPressed = false;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n posStart = void 0;\n startTimestamp = void 0;\n hasLongPressed = false;\n }\n function onRelease(ev) {\n var _a2, _b2, _c;\n const [_startTimestamp, _posStart, _hasLongPressed] = [startTimestamp, posStart, hasLongPressed];\n clear();\n if (!(options == null ? void 0 : options.onMouseUp) || !_posStart || !_startTimestamp)\n return;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - _posStart.x;\n const dy = ev.y - _posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n options.onMouseUp(ev.timeStamp - _startTimestamp, distance, _hasLongPressed);\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n posStart = {\n x: ev.x,\n y: ev.y\n };\n startTimestamp = ev.timeStamp;\n timeout = setTimeout(\n () => {\n hasLongPressed = true;\n handler(ev);\n },\n (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n );\n }\n function onMove(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if (!posStart || (options == null ? void 0 : options.distanceThreshold) === false)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - posStart.x;\n const dy = ev.y - posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n if (distance >= ((_d = options == null ? void 0 : options.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD))\n clear();\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n const cleanup = [\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions),\n useEventListener(elementRef, \"pointermove\", onMove, listenerOptions),\n useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], onRelease, listenerOptions)\n ];\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction isFocusedElementEditable() {\n const { activeElement, body } = document;\n if (!activeElement)\n return false;\n if (activeElement === body)\n return false;\n switch (activeElement.tagName) {\n case \"INPUT\":\n case \"TEXTAREA\":\n return true;\n }\n return activeElement.hasAttribute(\"contenteditable\");\n}\nfunction isTypedCharValid({\n keyCode,\n metaKey,\n ctrlKey,\n altKey\n}) {\n if (metaKey || ctrlKey || altKey)\n return false;\n if (keyCode >= 48 && keyCode <= 57)\n return true;\n if (keyCode >= 65 && keyCode <= 90)\n return true;\n if (keyCode >= 97 && keyCode <= 122)\n return true;\n return false;\n}\nfunction onStartTyping(callback, options = {}) {\n const { document: document2 = defaultDocument } = options;\n const keydown = (event) => {\n !isFocusedElementEditable() && isTypedCharValid(event) && callback(event);\n };\n if (document2)\n useEventListener(document2, \"keydown\", keydown, { passive: true });\n}\n\nfunction templateRef(key, initialValue = null) {\n const instance = getCurrentInstance();\n let _trigger = () => {\n };\n const element = customRef((track, trigger) => {\n _trigger = trigger;\n return {\n get() {\n var _a, _b;\n track();\n return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue;\n },\n set() {\n }\n };\n });\n tryOnMounted(_trigger);\n onUpdated(_trigger);\n return element;\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n const instance = getCurrentInstance();\n if (instance) {\n onMounted(() => {\n isMounted.value = true;\n }, isVue2 ? void 0 : instance);\n }\n return isMounted;\n}\n\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\n\nfunction useMutationObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const value = toValue(target);\n const items = (Array.isArray(value) ? value : [value]).map(unrefElement).filter(notNullish);\n return new Set(items);\n });\n const stopWatch = watch(\n () => targets.value,\n (targets2) => {\n cleanup();\n if (isSupported.value && targets2.size) {\n observer = new MutationObserver(callback);\n targets2.forEach((el) => observer.observe(el, mutationOptions));\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const takeRecords = () => {\n return observer == null ? void 0 : observer.takeRecords();\n };\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop,\n takeRecords\n };\n}\n\nfunction useActiveElement(options = {}) {\n var _a;\n const {\n window = defaultWindow,\n deep = true,\n triggerOnRemoval = false\n } = options;\n const document = (_a = options.document) != null ? _a : window == null ? void 0 : window.document;\n const getDeepActiveElement = () => {\n var _a2;\n let element = document == null ? void 0 : document.activeElement;\n if (deep) {\n while (element == null ? void 0 : element.shadowRoot)\n element = (_a2 = element == null ? void 0 : element.shadowRoot) == null ? void 0 : _a2.activeElement;\n }\n return element;\n };\n const activeElement = ref();\n const trigger = () => {\n activeElement.value = getDeepActiveElement();\n };\n if (window) {\n useEventListener(window, \"blur\", (event) => {\n if (event.relatedTarget !== null)\n return;\n trigger();\n }, true);\n useEventListener(window, \"focus\", trigger, true);\n }\n if (triggerOnRemoval) {\n useMutationObserver(document, (mutations) => {\n mutations.filter((m) => m.removedNodes.length).map((n) => Array.from(n.removedNodes)).flat().forEach((node) => {\n if (node === activeElement.value)\n trigger();\n });\n }, {\n childList: true,\n subtree: true\n });\n }\n trigger();\n return activeElement;\n}\n\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n fpsLimit = void 0,\n window = defaultWindow\n } = options;\n const isActive = ref(false);\n const intervalLimit = fpsLimit ? 1e3 / fpsLimit : null;\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp) {\n if (!isActive.value || !window)\n return;\n if (!previousFrameTimestamp)\n previousFrameTimestamp = timestamp;\n const delta = timestamp - previousFrameTimestamp;\n if (intervalLimit && delta < intervalLimit) {\n rafId = window.requestAnimationFrame(loop);\n return;\n }\n previousFrameTimestamp = timestamp;\n fn({ delta, timestamp });\n rafId = window.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window) {\n isActive.value = true;\n previousFrameTimestamp = 0;\n rafId = window.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window) {\n window.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\n\nfunction useAnimate(target, keyframes, options) {\n let config;\n let animateOptions;\n if (isObject(options)) {\n config = options;\n animateOptions = objectOmit(options, [\"window\", \"immediate\", \"commitStyles\", \"persist\", \"onReady\", \"onError\"]);\n } else {\n config = { duration: options };\n animateOptions = options;\n }\n const {\n window = defaultWindow,\n immediate = true,\n commitStyles,\n persist,\n playbackRate: _playbackRate = 1,\n onReady,\n onError = (e) => {\n console.error(e);\n }\n } = config;\n const isSupported = useSupported(() => window && HTMLElement && \"animate\" in HTMLElement.prototype);\n const animate = shallowRef(void 0);\n const store = shallowReactive({\n startTime: null,\n currentTime: null,\n timeline: null,\n playbackRate: _playbackRate,\n pending: false,\n playState: immediate ? \"idle\" : \"paused\",\n replaceState: \"active\"\n });\n const pending = computed(() => store.pending);\n const playState = computed(() => store.playState);\n const replaceState = computed(() => store.replaceState);\n const startTime = computed({\n get() {\n return store.startTime;\n },\n set(value) {\n store.startTime = value;\n if (animate.value)\n animate.value.startTime = value;\n }\n });\n const currentTime = computed({\n get() {\n return store.currentTime;\n },\n set(value) {\n store.currentTime = value;\n if (animate.value) {\n animate.value.currentTime = value;\n syncResume();\n }\n }\n });\n const timeline = computed({\n get() {\n return store.timeline;\n },\n set(value) {\n store.timeline = value;\n if (animate.value)\n animate.value.timeline = value;\n }\n });\n const playbackRate = computed({\n get() {\n return store.playbackRate;\n },\n set(value) {\n store.playbackRate = value;\n if (animate.value)\n animate.value.playbackRate = value;\n }\n });\n const play = () => {\n if (animate.value) {\n try {\n animate.value.play();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n } else {\n update();\n }\n };\n const pause = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.pause();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const reverse = () => {\n var _a;\n !animate.value && update();\n try {\n (_a = animate.value) == null ? void 0 : _a.reverse();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n };\n const finish = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.finish();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const cancel = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.cancel();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n watch(() => unrefElement(target), (el) => {\n el && update();\n });\n watch(() => keyframes, (value) => {\n !animate.value && update();\n if (!unrefElement(target) && animate.value) {\n animate.value.effect = new KeyframeEffect(\n unrefElement(target),\n toValue(value),\n animateOptions\n );\n }\n }, { deep: true });\n tryOnMounted(() => {\n nextTick(() => update(true));\n });\n tryOnScopeDispose(cancel);\n function update(init) {\n const el = unrefElement(target);\n if (!isSupported.value || !el)\n return;\n if (!animate.value)\n animate.value = el.animate(toValue(keyframes), animateOptions);\n if (persist)\n animate.value.persist();\n if (_playbackRate !== 1)\n animate.value.playbackRate = _playbackRate;\n if (init && !immediate)\n animate.value.pause();\n else\n syncResume();\n onReady == null ? void 0 : onReady(animate.value);\n }\n useEventListener(animate, [\"cancel\", \"finish\", \"remove\"], syncPause);\n useEventListener(animate, \"finish\", () => {\n var _a;\n if (commitStyles)\n (_a = animate.value) == null ? void 0 : _a.commitStyles();\n });\n const { resume: resumeRef, pause: pauseRef } = useRafFn(() => {\n if (!animate.value)\n return;\n store.pending = animate.value.pending;\n store.playState = animate.value.playState;\n store.replaceState = animate.value.replaceState;\n store.startTime = animate.value.startTime;\n store.currentTime = animate.value.currentTime;\n store.timeline = animate.value.timeline;\n store.playbackRate = animate.value.playbackRate;\n }, { immediate: false });\n function syncResume() {\n if (isSupported.value)\n resumeRef();\n }\n function syncPause() {\n if (isSupported.value && window)\n window.requestAnimationFrame(pauseRef);\n }\n return {\n isSupported,\n animate,\n // actions\n play,\n pause,\n reverse,\n finish,\n cancel,\n // state\n pending,\n playState,\n replaceState,\n startTime,\n currentTime,\n timeline,\n playbackRate\n };\n}\n\nfunction useAsyncQueue(tasks, options) {\n const {\n interrupt = true,\n onError = noop,\n onFinished = noop,\n signal\n } = options || {};\n const promiseState = {\n aborted: \"aborted\",\n fulfilled: \"fulfilled\",\n pending: \"pending\",\n rejected: \"rejected\"\n };\n const initialResult = Array.from(Array.from({ length: tasks.length }), () => ({ state: promiseState.pending, data: null }));\n const result = reactive(initialResult);\n const activeIndex = ref(-1);\n if (!tasks || tasks.length === 0) {\n onFinished();\n return {\n activeIndex,\n result\n };\n }\n function updateResult(state, res) {\n activeIndex.value++;\n result[activeIndex.value].data = res;\n result[activeIndex.value].state = state;\n }\n tasks.reduce((prev, curr) => {\n return prev.then((prevRes) => {\n var _a;\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, new Error(\"aborted\"));\n return;\n }\n if (((_a = result[activeIndex.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) {\n onFinished();\n return;\n }\n const done = curr(prevRes).then((currentRes) => {\n updateResult(promiseState.fulfilled, currentRes);\n activeIndex.value === tasks.length - 1 && onFinished();\n return currentRes;\n });\n if (!signal)\n return done;\n return Promise.race([done, whenAborted(signal)]);\n }).catch((e) => {\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, e);\n return e;\n }\n updateResult(promiseState.rejected, e);\n onError();\n return e;\n });\n }, Promise.resolve());\n return {\n activeIndex,\n result\n };\n}\nfunction whenAborted(signal) {\n return new Promise((resolve, reject) => {\n const error = new Error(\"aborted\");\n if (signal.aborted)\n reject(error);\n else\n signal.addEventListener(\"abort\", () => reject(error), { once: true });\n });\n}\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = shallowRef(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw e;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n const shell = {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n function waitUntilIsLoaded() {\n return new Promise((resolve, reject) => {\n until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n });\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilIsLoaded().then(onFulfilled, onRejected);\n }\n };\n}\n\nconst defaults = {\n array: (v) => JSON.stringify(v),\n object: (v) => JSON.stringify(v),\n set: (v) => JSON.stringify(Array.from(v)),\n map: (v) => JSON.stringify(Object.fromEntries(v)),\n null: () => \"\"\n};\nfunction getDefaultSerialization(target) {\n if (!target)\n return defaults.null;\n if (target instanceof Map)\n return defaults.map;\n else if (target instanceof Set)\n return defaults.set;\n else if (Array.isArray(target))\n return defaults.array;\n else\n return defaults.object;\n}\n\nfunction useBase64(target, options) {\n const base64 = ref(\"\");\n const promise = ref();\n function execute() {\n if (!isClient)\n return;\n promise.value = new Promise((resolve, reject) => {\n try {\n const _target = toValue(target);\n if (_target == null) {\n resolve(\"\");\n } else if (typeof _target === \"string\") {\n resolve(blobToBase64(new Blob([_target], { type: \"text/plain\" })));\n } else if (_target instanceof Blob) {\n resolve(blobToBase64(_target));\n } else if (_target instanceof ArrayBuffer) {\n resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target))));\n } else if (_target instanceof HTMLCanvasElement) {\n resolve(_target.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n } else if (_target instanceof HTMLImageElement) {\n const img = _target.cloneNode(false);\n img.crossOrigin = \"Anonymous\";\n imgLoaded(img).then(() => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n }).catch(reject);\n } else if (typeof _target === \"object\") {\n const _serializeFn = (options == null ? void 0 : options.serializer) || getDefaultSerialization(_target);\n const serialized = _serializeFn(_target);\n return resolve(blobToBase64(new Blob([serialized], { type: \"application/json\" })));\n } else {\n reject(new Error(\"target is unsupported types\"));\n }\n } catch (error) {\n reject(error);\n }\n });\n promise.value.then((res) => base64.value = res);\n return promise.value;\n }\n if (isRef(target) || typeof target === \"function\")\n watch(target, execute, { immediate: true });\n else\n execute();\n return {\n base64,\n promise,\n execute\n };\n}\nfunction imgLoaded(img) {\n return new Promise((resolve, reject) => {\n if (!img.complete) {\n img.onload = () => {\n resolve();\n };\n img.onerror = reject;\n } else {\n resolve();\n }\n });\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onload = (e) => {\n resolve(e.target.result);\n };\n fr.onerror = reject;\n fr.readAsDataURL(blob);\n });\n}\n\nfunction useBattery(options = {}) {\n const { navigator = defaultNavigator } = options;\n const events = [\"chargingchange\", \"chargingtimechange\", \"dischargingtimechange\", \"levelchange\"];\n const isSupported = useSupported(() => navigator && \"getBattery\" in navigator && typeof navigator.getBattery === \"function\");\n const charging = ref(false);\n const chargingTime = ref(0);\n const dischargingTime = ref(0);\n const level = ref(1);\n let battery;\n function updateBatteryInfo() {\n charging.value = this.charging;\n chargingTime.value = this.chargingTime || 0;\n dischargingTime.value = this.dischargingTime || 0;\n level.value = this.level;\n }\n if (isSupported.value) {\n navigator.getBattery().then((_battery) => {\n battery = _battery;\n updateBatteryInfo.call(battery);\n useEventListener(battery, events, updateBatteryInfo, { passive: true });\n });\n }\n return {\n isSupported,\n charging,\n chargingTime,\n dischargingTime,\n level\n };\n}\n\nfunction useBluetooth(options) {\n let {\n acceptAllDevices = false\n } = options || {};\n const {\n filters = void 0,\n optionalServices = void 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => navigator && \"bluetooth\" in navigator);\n const device = shallowRef(void 0);\n const error = shallowRef(null);\n watch(device, () => {\n connectToBluetoothGATTServer();\n });\n async function requestDevice() {\n if (!isSupported.value)\n return;\n error.value = null;\n if (filters && filters.length > 0)\n acceptAllDevices = false;\n try {\n device.value = await (navigator == null ? void 0 : navigator.bluetooth.requestDevice({\n acceptAllDevices,\n filters,\n optionalServices\n }));\n } catch (err) {\n error.value = err;\n }\n }\n const server = ref();\n const isConnected = computed(() => {\n var _a;\n return ((_a = server.value) == null ? void 0 : _a.connected) || false;\n });\n async function connectToBluetoothGATTServer() {\n error.value = null;\n if (device.value && device.value.gatt) {\n device.value.addEventListener(\"gattserverdisconnected\", () => {\n });\n try {\n server.value = await device.value.gatt.connect();\n } catch (err) {\n error.value = err;\n }\n }\n }\n tryOnMounted(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.connect();\n });\n tryOnScopeDispose(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.disconnect();\n });\n return {\n isSupported,\n isConnected,\n // Device:\n device,\n requestDevice,\n // Server:\n server,\n // Errors:\n error\n };\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", handler);\n else\n mediaQuery.removeListener(handler);\n };\n const stopWatch = watchEffect(() => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(toValue(query));\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", handler);\n else\n mediaQuery.addListener(handler);\n matches.value = mediaQuery.matches;\n });\n tryOnScopeDispose(() => {\n stopWatch();\n cleanup();\n mediaQuery = void 0;\n });\n return matches;\n}\n\nconst breakpointsTailwind = {\n \"sm\": 640,\n \"md\": 768,\n \"lg\": 1024,\n \"xl\": 1280,\n \"2xl\": 1536\n};\nconst breakpointsBootstrapV5 = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\nconst breakpointsVuetifyV2 = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1264,\n xl: 1904\n};\nconst breakpointsVuetifyV3 = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560\n};\nconst breakpointsVuetify = breakpointsVuetifyV2;\nconst breakpointsAntDesign = {\n xs: 480,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600\n};\nconst breakpointsQuasar = {\n xs: 0,\n sm: 600,\n md: 1024,\n lg: 1440,\n xl: 1920\n};\nconst breakpointsSematic = {\n mobileS: 320,\n mobileM: 375,\n mobileL: 425,\n tablet: 768,\n laptop: 1024,\n laptopL: 1440,\n desktop4K: 2560\n};\nconst breakpointsMasterCss = {\n \"3xs\": 360,\n \"2xs\": 480,\n \"xs\": 600,\n \"sm\": 768,\n \"md\": 1024,\n \"lg\": 1280,\n \"xl\": 1440,\n \"2xl\": 1600,\n \"3xl\": 1920,\n \"4xl\": 2560\n};\nconst breakpointsPrimeFlex = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200\n};\n\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = toValue(breakpoints[toValue(k)]);\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window = defaultWindow, strategy = \"min-width\" } = options;\n function match(query) {\n if (!window)\n return false;\n return window.matchMedia(query).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(() => `(min-width: ${getValue(k)})`, options);\n };\n const smallerOrEqual = (k) => {\n return useMediaQuery(() => `(max-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => strategy === \"min-width\" ? greaterOrEqual(k) : smallerOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n function current() {\n const points = Object.keys(breakpoints).map((i) => [i, greaterOrEqual(i)]);\n return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));\n }\n return Object.assign(shortcutMethods, {\n greaterOrEqual,\n smallerOrEqual,\n greater(k) {\n return useMediaQuery(() => `(min-width: ${getValue(k, 0.1)})`, options);\n },\n smaller(k) {\n return useMediaQuery(() => `(max-width: ${getValue(k, -0.1)})`, options);\n },\n between(a, b) {\n return useMediaQuery(() => `(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(`(min-width: ${getValue(k, 0.1)})`);\n },\n isGreaterOrEqual(k) {\n return match(`(min-width: ${getValue(k)})`);\n },\n isSmaller(k) {\n return match(`(max-width: ${getValue(k, -0.1)})`);\n },\n isSmallerOrEqual(k) {\n return match(`(max-width: ${getValue(k)})`);\n },\n isInBetween(a, b) {\n return match(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`);\n },\n current,\n active() {\n const bps = current();\n return computed(() => bps.value.length === 0 ? \"\" : bps.value.at(-1));\n }\n });\n}\n\nfunction useBroadcastChannel(options) {\n const {\n name,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"BroadcastChannel\" in window);\n const isClosed = ref(false);\n const channel = ref();\n const data = ref();\n const error = shallowRef(null);\n const post = (data2) => {\n if (channel.value)\n channel.value.postMessage(data2);\n };\n const close = () => {\n if (channel.value)\n channel.value.close();\n isClosed.value = true;\n };\n if (isSupported.value) {\n tryOnMounted(() => {\n error.value = null;\n channel.value = new BroadcastChannel(name);\n channel.value.addEventListener(\"message\", (e) => {\n data.value = e.data;\n }, { passive: true });\n channel.value.addEventListener(\"messageerror\", (e) => {\n error.value = e;\n }, { passive: true });\n channel.value.addEventListener(\"close\", () => {\n isClosed.value = true;\n });\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n isSupported,\n channel,\n data,\n post,\n close,\n error,\n isClosed\n };\n}\n\nconst WRITABLE_PROPERTIES = [\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"search\"\n];\nfunction useBrowserLocation(options = {}) {\n const { window = defaultWindow } = options;\n const refs = Object.fromEntries(\n WRITABLE_PROPERTIES.map((key) => [key, ref()])\n );\n for (const [key, ref2] of objectEntries(refs)) {\n watch(ref2, (value) => {\n if (!(window == null ? void 0 : window.location) || window.location[key] === value)\n return;\n window.location[key] = value;\n });\n }\n const buildState = (trigger) => {\n var _a;\n const { state: state2, length } = (window == null ? void 0 : window.history) || {};\n const { origin } = (window == null ? void 0 : window.location) || {};\n for (const key of WRITABLE_PROPERTIES)\n refs[key].value = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a[key];\n return reactive({\n trigger,\n state: state2,\n length,\n origin,\n ...refs\n });\n };\n const state = ref(buildState(\"load\"));\n if (window) {\n useEventListener(window, \"popstate\", () => state.value = buildState(\"popstate\"), { passive: true });\n useEventListener(window, \"hashchange\", () => state.value = buildState(\"hashchange\"), { passive: true });\n }\n return state;\n}\n\nfunction useCached(refValue, comparator = (a, b) => a === b, watchOptions) {\n const cachedValue = ref(refValue.value);\n watch(() => refValue.value, (value) => {\n if (!comparator(value, cachedValue.value))\n cachedValue.value = value;\n }, watchOptions);\n return cachedValue;\n}\n\nfunction usePermission(permissionDesc, options = {}) {\n const {\n controls = false,\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"permissions\" in navigator);\n let permissionStatus;\n const desc = typeof permissionDesc === \"string\" ? { name: permissionDesc } : permissionDesc;\n const state = ref();\n const onChange = () => {\n if (permissionStatus)\n state.value = permissionStatus.state;\n };\n const query = createSingletonPromise(async () => {\n if (!isSupported.value)\n return;\n if (!permissionStatus) {\n try {\n permissionStatus = await navigator.permissions.query(desc);\n useEventListener(permissionStatus, \"change\", onChange);\n onChange();\n } catch (e) {\n state.value = \"prompt\";\n }\n }\n return permissionStatus;\n });\n query();\n if (controls) {\n return {\n state,\n isSupported,\n query\n };\n } else {\n return state;\n }\n}\n\nfunction useClipboard(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500,\n legacy = false\n } = options;\n const isClipboardApiSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const permissionRead = usePermission(\"clipboard-read\");\n const permissionWrite = usePermission(\"clipboard-write\");\n const isSupported = computed(() => isClipboardApiSupported.value || legacy);\n const text = ref(\"\");\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateText() {\n if (isClipboardApiSupported.value && isAllowed(permissionRead.value)) {\n navigator.clipboard.readText().then((value) => {\n text.value = value;\n });\n } else {\n text.value = legacyRead();\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateText);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n if (isClipboardApiSupported.value && isAllowed(permissionWrite.value))\n await navigator.clipboard.writeText(value);\n else\n legacyCopy(value);\n text.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n function legacyCopy(value) {\n const ta = document.createElement(\"textarea\");\n ta.value = value != null ? value : \"\";\n ta.style.position = \"absolute\";\n ta.style.opacity = \"0\";\n document.body.appendChild(ta);\n ta.select();\n document.execCommand(\"copy\");\n ta.remove();\n }\n function legacyRead() {\n var _a, _b, _c;\n return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : \"\";\n }\n function isAllowed(status) {\n return status === \"granted\" || status === \"prompt\";\n }\n return {\n isSupported,\n text,\n copied,\n copy\n };\n}\n\nfunction useClipboardItems(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500\n } = options;\n const isSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const content = ref([]);\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateContent() {\n if (isSupported.value) {\n navigator.clipboard.read().then((items) => {\n content.value = items;\n });\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateContent);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n await navigator.clipboard.write(value);\n content.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n return {\n isSupported,\n content,\n copied,\n copy\n };\n}\n\nfunction cloneFnJSON(source) {\n return JSON.parse(JSON.stringify(source));\n}\nfunction useCloned(source, options = {}) {\n const cloned = ref({});\n const {\n manual,\n clone = cloneFnJSON,\n // watch options\n deep = true,\n immediate = true\n } = options;\n function sync() {\n cloned.value = clone(toValue(source));\n }\n if (!manual && (isRef(source) || typeof source === \"function\")) {\n watch(source, sync, {\n ...options,\n deep,\n immediate\n });\n } else {\n sync();\n }\n return { cloned, sync };\n}\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\nfunction setSSRHandler(key, fn) {\n handlers[key] = fn;\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n },\n initOnMounted\n } = options;\n const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n if (window && listenToStorageChanges) {\n tryOnMounted(() => {\n useEventListener(window, \"storage\", update);\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n if (initOnMounted)\n update();\n });\n }\n if (!initOnMounted)\n update();\n function dispatchWriteEvent(oldValue, newValue) {\n if (window) {\n window.dispatchEvent(new CustomEvent(customStorageEventName, {\n detail: {\n key,\n oldValue,\n newValue,\n storageArea: storage\n }\n }));\n }\n }\n function write(v) {\n try {\n const oldValue = storage.getItem(key);\n if (v == null) {\n dispatchWriteEvent(oldValue, null);\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n dispatchWriteEvent(oldValue, serialized);\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit != null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n return data;\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n let style;\n if (disableTransition) {\n style = window.document.createElement(\"style\");\n const styleString = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\n style.appendChild(document.createTextNode(styleString));\n window.document.head.appendChild(style);\n }\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n el.classList.add(v);\n else\n el.classList.remove(v);\n });\n } else {\n el.setAttribute(attribute2, value);\n }\n if (disableTransition) {\n window.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n try {\n return Object.assign(auto, { store, system, state });\n } catch (e) {\n return auto;\n }\n}\n\nfunction useConfirmDialog(revealed = ref(false)) {\n const confirmHook = createEventHook();\n const cancelHook = createEventHook();\n const revealHook = createEventHook();\n let _resolve = noop;\n const reveal = (data) => {\n revealHook.trigger(data);\n revealed.value = true;\n return new Promise((resolve) => {\n _resolve = resolve;\n });\n };\n const confirm = (data) => {\n revealed.value = false;\n confirmHook.trigger(data);\n _resolve({ data, isCanceled: false });\n };\n const cancel = (data) => {\n revealed.value = false;\n cancelHook.trigger(data);\n _resolve({ data, isCanceled: true });\n };\n return {\n isRevealed: computed(() => revealed.value),\n reveal,\n confirm,\n cancel,\n onReveal: revealHook.on,\n onConfirm: confirmHook.on,\n onCancel: cancelHook.on\n };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n const { window = defaultWindow, initialValue = \"\", observe = false } = options;\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n function updateCssVar() {\n var _a;\n const key = toValue(prop);\n const el = toValue(elRef);\n if (el && window) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }\n if (observe) {\n useMutationObserver(elRef, updateCssVar, {\n attributeFilter: [\"style\", \"class\"],\n window\n });\n }\n watch(\n [elRef, () => toValue(prop)],\n updateCssVar,\n { immediate: true }\n );\n watch(\n variable,\n (val) => {\n var _a;\n if ((_a = elRef.value) == null ? void 0 : _a.style)\n elRef.value.style.setProperty(toValue(prop), val);\n }\n );\n return variable;\n}\n\nfunction useCurrentElement(rootComponent) {\n const vm = getCurrentInstance();\n const currentElement = computedWithControl(\n () => null,\n () => rootComponent ? unrefElement(rootComponent) : vm.proxy.$el\n );\n onUpdated(currentElement.trigger);\n onMounted(currentElement.trigger);\n return currentElement;\n}\n\nfunction useCycleList(list, options) {\n const state = shallowRef(getInitialValue());\n const listRef = toRef(list);\n const index = computed({\n get() {\n var _a;\n const targetList = listRef.value;\n let index2 = (options == null ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, targetList) : targetList.indexOf(state.value);\n if (index2 < 0)\n index2 = (_a = options == null ? void 0 : options.fallbackIndex) != null ? _a : 0;\n return index2;\n },\n set(v) {\n set(v);\n }\n });\n function set(i) {\n const targetList = listRef.value;\n const length = targetList.length;\n const index2 = (i % length + length) % length;\n const value = targetList[index2];\n state.value = value;\n return value;\n }\n function shift(delta = 1) {\n return set(index.value + delta);\n }\n function next(n = 1) {\n return shift(n);\n }\n function prev(n = 1) {\n return shift(-n);\n }\n function getInitialValue() {\n var _a, _b;\n return (_b = toValue((_a = options == null ? void 0 : options.initialValue) != null ? _a : toValue(list)[0])) != null ? _b : void 0;\n }\n watch(listRef, () => set(index.value));\n return {\n state,\n index,\n next,\n prev,\n go: set\n };\n}\n\nfunction useDark(options = {}) {\n const {\n valueDark = \"dark\",\n valueLight = \"\",\n window = defaultWindow\n } = options;\n const mode = useColorMode({\n ...options,\n onChanged: (mode2, defaultHandler) => {\n var _a;\n if (options.onChanged)\n (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === \"dark\", defaultHandler, mode2);\n else\n defaultHandler(mode2);\n },\n modes: {\n dark: valueDark,\n light: valueLight\n }\n });\n const system = computed(() => {\n if (mode.system) {\n return mode.system.value;\n } else {\n const preferredDark = usePreferredDark({ window });\n return preferredDark.value ? \"dark\" : \"light\";\n }\n });\n const isDark = computed({\n get() {\n return mode.value === \"dark\";\n },\n set(v) {\n const modeVal = v ? \"dark\" : \"light\";\n if (system.value === modeVal)\n mode.value = \"auto\";\n else\n mode.value = modeVal;\n }\n });\n return isDark;\n}\n\nfunction fnBypass(v) {\n return v;\n}\nfunction fnSetSource(source, value) {\n return source.value = value;\n}\nfunction defaultDump(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction defaultParse(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction useManualRefHistory(source, options = {}) {\n const {\n clone = false,\n dump = defaultDump(clone),\n parse = defaultParse(clone),\n setSource = fnSetSource\n } = options;\n function _createHistoryRecord() {\n return markRaw({\n snapshot: dump(source.value),\n timestamp: timestamp()\n });\n }\n const last = ref(_createHistoryRecord());\n const undoStack = ref([]);\n const redoStack = ref([]);\n const _setSource = (record) => {\n setSource(source, parse(record.snapshot));\n last.value = record;\n };\n const commit = () => {\n undoStack.value.unshift(last.value);\n last.value = _createHistoryRecord();\n if (options.capacity && undoStack.value.length > options.capacity)\n undoStack.value.splice(options.capacity, Number.POSITIVE_INFINITY);\n if (redoStack.value.length)\n redoStack.value.splice(0, redoStack.value.length);\n };\n const clear = () => {\n undoStack.value.splice(0, undoStack.value.length);\n redoStack.value.splice(0, redoStack.value.length);\n };\n const undo = () => {\n const state = undoStack.value.shift();\n if (state) {\n redoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const redo = () => {\n const state = redoStack.value.shift();\n if (state) {\n undoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const reset = () => {\n _setSource(last.value);\n };\n const history = computed(() => [last.value, ...undoStack.value]);\n const canUndo = computed(() => undoStack.value.length > 0);\n const canRedo = computed(() => redoStack.value.length > 0);\n return {\n source,\n undoStack,\n redoStack,\n last,\n history,\n canUndo,\n canRedo,\n clear,\n commit,\n reset,\n undo,\n redo\n };\n}\n\nfunction useRefHistory(source, options = {}) {\n const {\n deep = false,\n flush = \"pre\",\n eventFilter\n } = options;\n const {\n eventFilter: composedFilter,\n pause,\n resume: resumeTracking,\n isActive: isTracking\n } = pausableFilter(eventFilter);\n const {\n ignoreUpdates,\n ignorePrevAsyncUpdates,\n stop\n } = watchIgnorable(\n source,\n commit,\n { deep, flush, eventFilter: composedFilter }\n );\n function setSource(source2, value) {\n ignorePrevAsyncUpdates();\n ignoreUpdates(() => {\n source2.value = value;\n });\n }\n const manualHistory = useManualRefHistory(source, { ...options, clone: options.clone || deep, setSource });\n const { clear, commit: manualCommit } = manualHistory;\n function commit() {\n ignorePrevAsyncUpdates();\n manualCommit();\n }\n function resume(commitNow) {\n resumeTracking();\n if (commitNow)\n commit();\n }\n function batch(fn) {\n let canceled = false;\n const cancel = () => canceled = true;\n ignoreUpdates(() => {\n fn(cancel);\n });\n if (!canceled)\n commit();\n }\n function dispose() {\n stop();\n clear();\n }\n return {\n ...manualHistory,\n isTracking,\n pause,\n resume,\n commit,\n batch,\n dispose\n };\n}\n\nfunction useDebouncedRefHistory(source, options = {}) {\n const filter = options.debounce ? debounceFilter(options.debounce) : void 0;\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nfunction useDeviceMotion(options = {}) {\n const {\n window = defaultWindow,\n eventFilter = bypassFilter\n } = options;\n const acceleration = ref({ x: null, y: null, z: null });\n const rotationRate = ref({ alpha: null, beta: null, gamma: null });\n const interval = ref(0);\n const accelerationIncludingGravity = ref({\n x: null,\n y: null,\n z: null\n });\n if (window) {\n const onDeviceMotion = createFilterWrapper(\n eventFilter,\n (event) => {\n acceleration.value = event.acceleration;\n accelerationIncludingGravity.value = event.accelerationIncludingGravity;\n rotationRate.value = event.rotationRate;\n interval.value = event.interval;\n }\n );\n useEventListener(window, \"devicemotion\", onDeviceMotion);\n }\n return {\n acceleration,\n accelerationIncludingGravity,\n rotationRate,\n interval\n };\n}\n\nfunction useDeviceOrientation(options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"DeviceOrientationEvent\" in window);\n const isAbsolute = ref(false);\n const alpha = ref(null);\n const beta = ref(null);\n const gamma = ref(null);\n if (window && isSupported.value) {\n useEventListener(window, \"deviceorientation\", (event) => {\n isAbsolute.value = event.absolute;\n alpha.value = event.alpha;\n beta.value = event.beta;\n gamma.value = event.gamma;\n });\n }\n return {\n isSupported,\n isAbsolute,\n alpha,\n beta,\n gamma\n };\n}\n\nfunction useDevicePixelRatio(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const pixelRatio = ref(1);\n if (window) {\n let observe2 = function() {\n pixelRatio.value = window.devicePixelRatio;\n cleanup2();\n media = window.matchMedia(`(resolution: ${pixelRatio.value}dppx)`);\n media.addEventListener(\"change\", observe2, { once: true });\n }, cleanup2 = function() {\n media == null ? void 0 : media.removeEventListener(\"change\", observe2);\n };\n let media;\n observe2();\n tryOnScopeDispose(cleanup2);\n }\n return { pixelRatio };\n}\n\nfunction useDevicesList(options = {}) {\n const {\n navigator = defaultNavigator,\n requestPermissions = false,\n constraints = { audio: true, video: true },\n onUpdated\n } = options;\n const devices = ref([]);\n const videoInputs = computed(() => devices.value.filter((i) => i.kind === \"videoinput\"));\n const audioInputs = computed(() => devices.value.filter((i) => i.kind === \"audioinput\"));\n const audioOutputs = computed(() => devices.value.filter((i) => i.kind === \"audiooutput\"));\n const isSupported = useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices);\n const permissionGranted = ref(false);\n let stream;\n async function update() {\n if (!isSupported.value)\n return;\n devices.value = await navigator.mediaDevices.enumerateDevices();\n onUpdated == null ? void 0 : onUpdated(devices.value);\n if (stream) {\n stream.getTracks().forEach((t) => t.stop());\n stream = null;\n }\n }\n async function ensurePermissions() {\n if (!isSupported.value)\n return false;\n if (permissionGranted.value)\n return true;\n const { state, query } = usePermission(\"camera\", { controls: true });\n await query();\n if (state.value !== \"granted\") {\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n update();\n permissionGranted.value = true;\n } else {\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n }\n if (isSupported.value) {\n if (requestPermissions)\n ensurePermissions();\n useEventListener(navigator.mediaDevices, \"devicechange\", update);\n update();\n }\n return {\n devices,\n ensurePermissions,\n permissionGranted,\n videoInputs,\n audioInputs,\n audioOutputs,\n isSupported\n };\n}\n\nfunction useDisplayMedia(options = {}) {\n var _a;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const video = options.video;\n const audio = options.audio;\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getDisplayMedia;\n });\n const constraint = { audio, video };\n const stream = shallowRef();\n async function _start() {\n var _a2;\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getDisplayMedia(constraint);\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.addEventListener(\"ended\", stop));\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n return {\n isSupported,\n stream,\n start,\n stop,\n enabled\n };\n}\n\nfunction useDocumentVisibility(options = {}) {\n const { document = defaultDocument } = options;\n if (!document)\n return ref(\"visible\");\n const visibility = ref(document.visibilityState);\n useEventListener(document, \"visibilitychange\", () => {\n visibility.value = document.visibilityState;\n });\n return visibility;\n}\n\nfunction useDraggable(target, options = {}) {\n var _a, _b;\n const {\n pointerTypes,\n preventDefault,\n stopPropagation,\n exact,\n onMove,\n onEnd,\n onStart,\n initialValue,\n axis = \"both\",\n draggingElement = defaultWindow,\n containerElement,\n handle: draggingHandle = target\n } = options;\n const position = ref(\n (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 }\n );\n const pressedDelta = ref();\n const filterEvent = (e) => {\n if (pointerTypes)\n return pointerTypes.includes(e.pointerType);\n return true;\n };\n const handleEvent = (e) => {\n if (toValue(preventDefault))\n e.preventDefault();\n if (toValue(stopPropagation))\n e.stopPropagation();\n };\n const start = (e) => {\n var _a2;\n if (e.button !== 0)\n return;\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (toValue(exact) && e.target !== toValue(target))\n return;\n const container = toValue(containerElement);\n const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container);\n const targetRect = toValue(target).getBoundingClientRect();\n const pos = {\n x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left),\n y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top)\n };\n if ((onStart == null ? void 0 : onStart(pos, e)) === false)\n return;\n pressedDelta.value = pos;\n handleEvent(e);\n };\n const move = (e) => {\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n const container = toValue(containerElement);\n const targetRect = toValue(target).getBoundingClientRect();\n let { x, y } = position.value;\n if (axis === \"x\" || axis === \"both\") {\n x = e.clientX - pressedDelta.value.x;\n if (container)\n x = Math.min(Math.max(0, x), container.scrollWidth - targetRect.width);\n }\n if (axis === \"y\" || axis === \"both\") {\n y = e.clientY - pressedDelta.value.y;\n if (container)\n y = Math.min(Math.max(0, y), container.scrollHeight - targetRect.height);\n }\n position.value = {\n x,\n y\n };\n onMove == null ? void 0 : onMove(position.value, e);\n handleEvent(e);\n };\n const end = (e) => {\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n pressedDelta.value = void 0;\n onEnd == null ? void 0 : onEnd(position.value, e);\n handleEvent(e);\n };\n if (isClient) {\n const config = { capture: (_b = options.capture) != null ? _b : true };\n useEventListener(draggingHandle, \"pointerdown\", start, config);\n useEventListener(draggingElement, \"pointermove\", move, config);\n useEventListener(draggingElement, \"pointerup\", end, config);\n }\n return {\n ...toRefs(position),\n position,\n isDragging: computed(() => !!pressedDelta.value),\n style: computed(\n () => `left:${position.value.x}px;top:${position.value.y}px;`\n )\n };\n}\n\nfunction useDropZone(target, options = {}) {\n const isOverDropZone = ref(false);\n const files = shallowRef(null);\n let counter = 0;\n let isDataTypeIncluded = true;\n if (isClient) {\n const _options = typeof options === \"function\" ? { onDrop: options } : options;\n const getFiles = (event) => {\n var _a, _b;\n const list = Array.from((_b = (_a = event.dataTransfer) == null ? void 0 : _a.files) != null ? _b : []);\n return files.value = list.length === 0 ? null : list;\n };\n useEventListener(target, \"dragenter\", (event) => {\n var _a, _b;\n const types = Array.from(((_a = event == null ? void 0 : event.dataTransfer) == null ? void 0 : _a.items) || []).map((i) => i.kind === \"file\" ? i.type : null).filter(notNullish);\n if (_options.dataTypes && event.dataTransfer) {\n const dataTypes = unref(_options.dataTypes);\n isDataTypeIncluded = typeof dataTypes === \"function\" ? dataTypes(types) : dataTypes ? dataTypes.some((item) => types.includes(item)) : true;\n if (!isDataTypeIncluded)\n return;\n }\n event.preventDefault();\n counter += 1;\n isOverDropZone.value = true;\n (_b = _options.onEnter) == null ? void 0 : _b.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragover\", (event) => {\n var _a;\n if (!isDataTypeIncluded)\n return;\n event.preventDefault();\n (_a = _options.onOver) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragleave\", (event) => {\n var _a;\n if (!isDataTypeIncluded)\n return;\n event.preventDefault();\n counter -= 1;\n if (counter === 0)\n isOverDropZone.value = false;\n (_a = _options.onLeave) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"drop\", (event) => {\n var _a;\n event.preventDefault();\n counter = 0;\n isOverDropZone.value = false;\n (_a = _options.onDrop) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n }\n return {\n files,\n isOverDropZone\n };\n}\n\nfunction useResizeObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => Array.isArray(target) ? target.map((el) => unrefElement(el)) : [unrefElement(target)]);\n const stopWatch = watch(\n targets,\n (els) => {\n cleanup();\n if (isSupported.value && window) {\n observer = new ResizeObserver(callback);\n for (const _el of els)\n _el && observer.observe(_el, observerOptions);\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementBounding(target, options = {}) {\n const {\n reset = true,\n windowResize = true,\n windowScroll = true,\n immediate = true\n } = options;\n const height = ref(0);\n const bottom = ref(0);\n const left = ref(0);\n const right = ref(0);\n const top = ref(0);\n const width = ref(0);\n const x = ref(0);\n const y = ref(0);\n function update() {\n const el = unrefElement(target);\n if (!el) {\n if (reset) {\n height.value = 0;\n bottom.value = 0;\n left.value = 0;\n right.value = 0;\n top.value = 0;\n width.value = 0;\n x.value = 0;\n y.value = 0;\n }\n return;\n }\n const rect = el.getBoundingClientRect();\n height.value = rect.height;\n bottom.value = rect.bottom;\n left.value = rect.left;\n right.value = rect.right;\n top.value = rect.top;\n width.value = rect.width;\n x.value = rect.x;\n y.value = rect.y;\n }\n useResizeObserver(target, update);\n watch(() => unrefElement(target), (ele) => !ele && update());\n useMutationObserver(target, update, {\n attributeFilter: [\"style\", \"class\"]\n });\n if (windowScroll)\n useEventListener(\"scroll\", update, { capture: true, passive: true });\n if (windowResize)\n useEventListener(\"resize\", update, { passive: true });\n tryOnMounted(() => {\n if (immediate)\n update();\n });\n return {\n height,\n bottom,\n left,\n right,\n top,\n width,\n x,\n y,\n update\n };\n}\n\nfunction useElementByPoint(options) {\n const {\n x,\n y,\n document = defaultDocument,\n multiple,\n interval = \"requestAnimationFrame\",\n immediate = true\n } = options;\n const isSupported = useSupported(() => {\n if (toValue(multiple))\n return document && \"elementsFromPoint\" in document;\n return document && \"elementFromPoint\" in document;\n });\n const element = ref(null);\n const cb = () => {\n var _a, _b;\n element.value = toValue(multiple) ? (_a = document == null ? void 0 : document.elementsFromPoint(toValue(x), toValue(y))) != null ? _a : [] : (_b = document == null ? void 0 : document.elementFromPoint(toValue(x), toValue(y))) != null ? _b : null;\n };\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n return {\n isSupported,\n element,\n ...controls\n };\n}\n\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n window = defaultWindow\n } = options;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n const { stop: stop1 } = useResizeObserver(\n target,\n ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const rect = $elem.getBoundingClientRect();\n width.value = rect.width;\n height.value = rect.height;\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n },\n options\n );\n tryOnMounted(() => {\n const ele = unrefElement(target);\n if (ele) {\n width.value = \"offsetWidth\" in ele ? ele.offsetWidth : initialSize.width;\n height.value = \"offsetHeight\" in ele ? ele.offsetHeight : initialSize.height;\n }\n });\n const stop2 = watch(\n () => unrefElement(target),\n (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n function stop() {\n stop1();\n stop2();\n }\n return {\n width,\n height,\n stop\n };\n}\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0.1,\n window = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n const targets = computed(() => {\n const _target = toValue(target);\n return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = ref(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\n\nfunction useElementVisibility(element, options = {}) {\n const { window = defaultWindow, scrollTarget, threshold = 0 } = options;\n const elementIsVisible = ref(false);\n useIntersectionObserver(\n element,\n (intersectionObserverEntries) => {\n let isIntersecting = elementIsVisible.value;\n let latestTime = 0;\n for (const entry of intersectionObserverEntries) {\n if (entry.time >= latestTime) {\n latestTime = entry.time;\n isIntersecting = entry.isIntersecting;\n }\n }\n elementIsVisible.value = isIntersecting;\n },\n {\n root: scrollTarget,\n window,\n threshold\n }\n );\n return elementIsVisible;\n}\n\nconst events = /* @__PURE__ */ new Map();\n\nfunction useEventBus(key) {\n const scope = getCurrentScope();\n function on(listener) {\n var _a;\n const listeners = events.get(key) || /* @__PURE__ */ new Set();\n listeners.add(listener);\n events.set(key, listeners);\n const _off = () => off(listener);\n (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off);\n return _off;\n }\n function once(listener) {\n function _listener(...args) {\n off(_listener);\n listener(...args);\n }\n return on(_listener);\n }\n function off(listener) {\n const listeners = events.get(key);\n if (!listeners)\n return;\n listeners.delete(listener);\n if (!listeners.size)\n reset();\n }\n function reset() {\n events.delete(key);\n }\n function emit(event, payload) {\n var _a;\n (_a = events.get(key)) == null ? void 0 : _a.forEach((v) => v(event, payload));\n }\n return { on, once, off, emit, reset };\n}\n\nfunction resolveNestedOptions$1(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useEventSource(url, events = [], options = {}) {\n const event = ref(null);\n const data = ref(null);\n const status = ref(\"CONNECTING\");\n const eventSource = ref(null);\n const error = shallowRef(null);\n const urlRef = toRef(url);\n const lastEventId = shallowRef(null);\n let explicitlyClosed = false;\n let retried = 0;\n const {\n withCredentials = false,\n immediate = true\n } = options;\n const close = () => {\n if (isClient && eventSource.value) {\n eventSource.value.close();\n eventSource.value = null;\n status.value = \"CLOSED\";\n explicitlyClosed = true;\n }\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const es = new EventSource(urlRef.value, { withCredentials });\n status.value = \"CONNECTING\";\n eventSource.value = es;\n es.onopen = () => {\n status.value = \"OPEN\";\n error.value = null;\n };\n es.onerror = (e) => {\n status.value = \"CLOSED\";\n error.value = e;\n if (es.readyState === 2 && !explicitlyClosed && options.autoReconnect) {\n es.close();\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions$1(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n es.onmessage = (e) => {\n event.value = null;\n data.value = e.data;\n lastEventId.value = e.lastEventId;\n };\n for (const event_name of events) {\n useEventListener(es, event_name, (e) => {\n event.value = event_name;\n data.value = e.data || null;\n });\n }\n };\n const open = () => {\n if (!isClient)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n watch(urlRef, open, { immediate: true });\n tryOnScopeDispose(close);\n return {\n eventSource,\n event,\n data,\n status,\n error,\n open,\n close,\n lastEventId\n };\n}\n\nfunction useEyeDropper(options = {}) {\n const { initialValue = \"\" } = options;\n const isSupported = useSupported(() => typeof window !== \"undefined\" && \"EyeDropper\" in window);\n const sRGBHex = ref(initialValue);\n async function open(openOptions) {\n if (!isSupported.value)\n return;\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(openOptions);\n sRGBHex.value = result.sRGBHex;\n return result;\n }\n return { isSupported, sRGBHex, open };\n}\n\nfunction useFavicon(newIcon = null, options = {}) {\n const {\n baseUrl = \"\",\n rel = \"icon\",\n document = defaultDocument\n } = options;\n const favicon = toRef(newIcon);\n const applyIcon = (icon) => {\n const elements = document == null ? void 0 : document.head.querySelectorAll(`link[rel*=\"${rel}\"]`);\n if (!elements || elements.length === 0) {\n const link = document == null ? void 0 : document.createElement(\"link\");\n if (link) {\n link.rel = rel;\n link.href = `${baseUrl}${icon}`;\n link.type = `image/${icon.split(\".\").pop()}`;\n document == null ? void 0 : document.head.append(link);\n }\n return;\n }\n elements == null ? void 0 : elements.forEach((el) => el.href = `${baseUrl}${icon}`);\n };\n watch(\n favicon,\n (i, o) => {\n if (typeof i === \"string\" && i !== o)\n applyIcon(i);\n },\n { immediate: true }\n );\n return favicon;\n}\n\nconst payloadMapping = {\n json: \"application/json\",\n text: \"text/plain\"\n};\nfunction isFetchOptions(obj) {\n return obj && containsProp(obj, \"immediate\", \"refetch\", \"initialData\", \"timeout\", \"beforeFetch\", \"afterFetch\", \"onFetchError\", \"fetch\", \"updateDataOnError\");\n}\nconst reAbsolute = /^(?:[a-z][a-z\\d+\\-.]*:)?\\/\\//i;\nfunction isAbsoluteURL(url) {\n return reAbsolute.test(url);\n}\nfunction headersToObject(headers) {\n if (typeof Headers !== \"undefined\" && headers instanceof Headers)\n return Object.fromEntries(headers.entries());\n return headers;\n}\nfunction combineCallbacks(combination, ...callbacks) {\n if (combination === \"overwrite\") {\n return async (ctx) => {\n const callback = callbacks[callbacks.length - 1];\n if (callback)\n return { ...ctx, ...await callback(ctx) };\n return ctx;\n };\n } else {\n return async (ctx) => {\n for (const callback of callbacks) {\n if (callback)\n ctx = { ...ctx, ...await callback(ctx) };\n }\n return ctx;\n };\n }\n}\nfunction createFetch(config = {}) {\n const _combination = config.combination || \"chain\";\n const _options = config.options || {};\n const _fetchOptions = config.fetchOptions || {};\n function useFactoryFetch(url, ...args) {\n const computedUrl = computed(() => {\n const baseUrl = toValue(config.baseUrl);\n const targetUrl = toValue(url);\n return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl;\n });\n let options = _options;\n let fetchOptions = _fetchOptions;\n if (args.length > 0) {\n if (isFetchOptions(args[0])) {\n options = {\n ...options,\n ...args[0],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)\n };\n } else {\n fetchOptions = {\n ...fetchOptions,\n ...args[0],\n headers: {\n ...headersToObject(fetchOptions.headers) || {},\n ...headersToObject(args[0].headers) || {}\n }\n };\n }\n }\n if (args.length > 1 && isFetchOptions(args[1])) {\n options = {\n ...options,\n ...args[1],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)\n };\n }\n return useFetch(computedUrl, fetchOptions, options);\n }\n return useFactoryFetch;\n}\nfunction useFetch(url, ...args) {\n var _a;\n const supportsAbort = typeof AbortController === \"function\";\n let fetchOptions = {};\n let options = {\n immediate: true,\n refetch: false,\n timeout: 0,\n updateDataOnError: false\n };\n const config = {\n method: \"GET\",\n type: \"text\",\n payload: void 0\n };\n if (args.length > 0) {\n if (isFetchOptions(args[0]))\n options = { ...options, ...args[0] };\n else\n fetchOptions = args[0];\n }\n if (args.length > 1) {\n if (isFetchOptions(args[1]))\n options = { ...options, ...args[1] };\n }\n const {\n fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch,\n initialData,\n timeout\n } = options;\n const responseEvent = createEventHook();\n const errorEvent = createEventHook();\n const finallyEvent = createEventHook();\n const isFinished = ref(false);\n const isFetching = ref(false);\n const aborted = ref(false);\n const statusCode = ref(null);\n const response = shallowRef(null);\n const error = shallowRef(null);\n const data = shallowRef(initialData || null);\n const canAbort = computed(() => supportsAbort && isFetching.value);\n let controller;\n let timer;\n const abort = () => {\n if (supportsAbort) {\n controller == null ? void 0 : controller.abort();\n controller = new AbortController();\n controller.signal.onabort = () => aborted.value = true;\n fetchOptions = {\n ...fetchOptions,\n signal: controller.signal\n };\n }\n };\n const loading = (isLoading) => {\n isFetching.value = isLoading;\n isFinished.value = !isLoading;\n };\n if (timeout)\n timer = useTimeoutFn(abort, timeout, { immediate: false });\n let executeCounter = 0;\n const execute = async (throwOnFailed = false) => {\n var _a2, _b;\n abort();\n loading(true);\n error.value = null;\n statusCode.value = null;\n aborted.value = false;\n executeCounter += 1;\n const currentExecuteCounter = executeCounter;\n const defaultFetchOptions = {\n method: config.method,\n headers: {}\n };\n if (config.payload) {\n const headers = headersToObject(defaultFetchOptions.headers);\n const payload = toValue(config.payload);\n if (!config.payloadType && payload && Object.getPrototypeOf(payload) === Object.prototype && !(payload instanceof FormData))\n config.payloadType = \"json\";\n if (config.payloadType)\n headers[\"Content-Type\"] = (_a2 = payloadMapping[config.payloadType]) != null ? _a2 : config.payloadType;\n defaultFetchOptions.body = config.payloadType === \"json\" ? JSON.stringify(payload) : payload;\n }\n let isCanceled = false;\n const context = {\n url: toValue(url),\n options: {\n ...defaultFetchOptions,\n ...fetchOptions\n },\n cancel: () => {\n isCanceled = true;\n }\n };\n if (options.beforeFetch)\n Object.assign(context, await options.beforeFetch(context));\n if (isCanceled || !fetch) {\n loading(false);\n return Promise.resolve(null);\n }\n let responseData = null;\n if (timer)\n timer.start();\n return fetch(\n context.url,\n {\n ...defaultFetchOptions,\n ...context.options,\n headers: {\n ...headersToObject(defaultFetchOptions.headers),\n ...headersToObject((_b = context.options) == null ? void 0 : _b.headers)\n }\n }\n ).then(async (fetchResponse) => {\n response.value = fetchResponse;\n statusCode.value = fetchResponse.status;\n responseData = await fetchResponse.clone()[config.type]();\n if (!fetchResponse.ok) {\n data.value = initialData || null;\n throw new Error(fetchResponse.statusText);\n }\n if (options.afterFetch) {\n ({ data: responseData } = await options.afterFetch({\n data: responseData,\n response: fetchResponse\n }));\n }\n data.value = responseData;\n responseEvent.trigger(fetchResponse);\n return fetchResponse;\n }).catch(async (fetchError) => {\n let errorData = fetchError.message || fetchError.name;\n if (options.onFetchError) {\n ({ error: errorData, data: responseData } = await options.onFetchError({\n data: responseData,\n error: fetchError,\n response: response.value\n }));\n }\n error.value = errorData;\n if (options.updateDataOnError)\n data.value = responseData;\n errorEvent.trigger(fetchError);\n if (throwOnFailed)\n throw fetchError;\n return null;\n }).finally(() => {\n if (currentExecuteCounter === executeCounter)\n loading(false);\n if (timer)\n timer.stop();\n finallyEvent.trigger(null);\n });\n };\n const refetch = toRef(options.refetch);\n watch(\n [\n refetch,\n toRef(url)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n const shell = {\n isFinished: readonly(isFinished),\n isFetching: readonly(isFetching),\n statusCode,\n response,\n error,\n data,\n canAbort,\n aborted,\n abort,\n execute,\n onFetchResponse: responseEvent.on,\n onFetchError: errorEvent.on,\n onFetchFinally: finallyEvent.on,\n // method\n get: setMethod(\"GET\"),\n put: setMethod(\"PUT\"),\n post: setMethod(\"POST\"),\n delete: setMethod(\"DELETE\"),\n patch: setMethod(\"PATCH\"),\n head: setMethod(\"HEAD\"),\n options: setMethod(\"OPTIONS\"),\n // type\n json: setType(\"json\"),\n text: setType(\"text\"),\n blob: setType(\"blob\"),\n arrayBuffer: setType(\"arrayBuffer\"),\n formData: setType(\"formData\")\n };\n function setMethod(method) {\n return (payload, payloadType) => {\n if (!isFetching.value) {\n config.method = method;\n config.payload = payload;\n config.payloadType = payloadType;\n if (isRef(config.payload)) {\n watch(\n [\n refetch,\n toRef(config.payload)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n function waitUntilFinished() {\n return new Promise((resolve, reject) => {\n until(isFinished).toBe(true).then(() => resolve(shell)).catch((error2) => reject(error2));\n });\n }\n function setType(type) {\n return () => {\n if (!isFetching.value) {\n config.type = type;\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n if (options.immediate)\n Promise.resolve().then(() => execute());\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n}\nfunction joinPaths(start, end) {\n if (!start.endsWith(\"/\") && !end.startsWith(\"/\"))\n return `${start}/${end}`;\n return `${start}${end}`;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: \"*\",\n reset: false,\n directory: false\n};\nfunction useFileDialog(options = {}) {\n const {\n document = defaultDocument\n } = options;\n const files = ref(null);\n const { on: onChange, trigger } = createEventHook();\n let input;\n if (document) {\n input = document.createElement(\"input\");\n input.type = \"file\";\n input.onchange = (event) => {\n const result = event.target;\n files.value = result.files;\n trigger(files.value);\n };\n }\n const reset = () => {\n files.value = null;\n if (input && input.value) {\n input.value = \"\";\n trigger(null);\n }\n };\n const open = (localOptions) => {\n if (!input)\n return;\n const _options = {\n ...DEFAULT_OPTIONS,\n ...options,\n ...localOptions\n };\n input.multiple = _options.multiple;\n input.accept = _options.accept;\n input.webkitdirectory = _options.directory;\n if (hasOwn(_options, \"capture\"))\n input.capture = _options.capture;\n if (_options.reset)\n reset();\n input.click();\n };\n return {\n files: readonly(files),\n open,\n reset,\n onChange\n };\n}\n\nfunction useFileSystemAccess(options = {}) {\n const {\n window: _window = defaultWindow,\n dataType = \"Text\"\n } = options;\n const window = _window;\n const isSupported = useSupported(() => window && \"showSaveFilePicker\" in window && \"showOpenFilePicker\" in window);\n const fileHandle = ref();\n const data = ref();\n const file = ref();\n const fileName = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : \"\";\n });\n const fileMIME = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : \"\";\n });\n const fileSize = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0;\n });\n const fileLastModified = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0;\n });\n async function open(_options = {}) {\n if (!isSupported.value)\n return;\n const [handle] = await window.showOpenFilePicker({ ...toValue(options), ..._options });\n fileHandle.value = handle;\n await updateData();\n }\n async function create(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n data.value = void 0;\n await updateData();\n }\n async function save(_options = {}) {\n if (!isSupported.value)\n return;\n if (!fileHandle.value)\n return saveAs(_options);\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function saveAs(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function updateFile() {\n var _a;\n file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile());\n }\n async function updateData() {\n var _a, _b;\n await updateFile();\n const type = toValue(dataType);\n if (type === \"Text\")\n data.value = await ((_a = file.value) == null ? void 0 : _a.text());\n else if (type === \"ArrayBuffer\")\n data.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer());\n else if (type === \"Blob\")\n data.value = file.value;\n }\n watch(() => toValue(dataType), updateData);\n return {\n isSupported,\n data,\n file,\n fileName,\n fileMIME,\n fileSize,\n fileLastModified,\n open,\n create,\n save,\n saveAs,\n updateData\n };\n}\n\nfunction useFocus(target, options = {}) {\n const { initialValue = false, focusVisible = false, preventScroll = false } = options;\n const innerFocused = ref(false);\n const targetElement = computed(() => unrefElement(target));\n useEventListener(targetElement, \"focus\", (event) => {\n var _a, _b;\n if (!focusVisible || ((_b = (_a = event.target).matches) == null ? void 0 : _b.call(_a, \":focus-visible\")))\n innerFocused.value = true;\n });\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus({ preventScroll });\n }\n });\n watch(\n targetElement,\n () => {\n focused.value = initialValue;\n },\n { immediate: true, flush: \"post\" }\n );\n return { focused };\n}\n\nfunction useFocusWithin(target, options = {}) {\n const activeElement = useActiveElement(options);\n const targetElement = computed(() => unrefElement(target));\n const focused = computed(() => targetElement.value && activeElement.value ? targetElement.value.contains(activeElement.value) : false);\n return { focused };\n}\n\nfunction useFps(options) {\n var _a;\n const fps = ref(0);\n if (typeof performance === \"undefined\")\n return fps;\n const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10;\n let last = performance.now();\n let ticks = 0;\n useRafFn(() => {\n ticks += 1;\n if (ticks >= every) {\n const now = performance.now();\n const diff = now - last;\n fps.value = Math.round(1e3 / (diff / ticks));\n last = now;\n ticks = 0;\n }\n });\n return fps;\n}\n\nconst eventHandlers = [\n \"fullscreenchange\",\n \"webkitfullscreenchange\",\n \"webkitendfullscreen\",\n \"mozfullscreenchange\",\n \"MSFullscreenChange\"\n];\nfunction useFullscreen(target, options = {}) {\n const {\n document = defaultDocument,\n autoExit = false\n } = options;\n const targetRef = computed(() => {\n var _a;\n return (_a = unrefElement(target)) != null ? _a : document == null ? void 0 : document.querySelector(\"html\");\n });\n const isFullscreen = ref(false);\n const requestMethod = computed(() => {\n return [\n \"requestFullscreen\",\n \"webkitRequestFullscreen\",\n \"webkitEnterFullscreen\",\n \"webkitEnterFullScreen\",\n \"webkitRequestFullScreen\",\n \"mozRequestFullScreen\",\n \"msRequestFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const exitMethod = computed(() => {\n return [\n \"exitFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitExitFullScreen\",\n \"webkitCancelFullScreen\",\n \"mozCancelFullScreen\",\n \"msExitFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenEnabled = computed(() => {\n return [\n \"fullScreen\",\n \"webkitIsFullScreen\",\n \"webkitDisplayingFullscreen\",\n \"mozFullScreen\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenElementMethod = [\n \"fullscreenElement\",\n \"webkitFullscreenElement\",\n \"mozFullScreenElement\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document);\n const isSupported = useSupported(() => targetRef.value && document && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0);\n const isCurrentElementFullScreen = () => {\n if (fullscreenElementMethod)\n return (document == null ? void 0 : document[fullscreenElementMethod]) === targetRef.value;\n return false;\n };\n const isElementFullScreen = () => {\n if (fullscreenEnabled.value) {\n if (document && document[fullscreenEnabled.value] != null) {\n return document[fullscreenEnabled.value];\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[fullscreenEnabled.value]) != null) {\n return Boolean(target2[fullscreenEnabled.value]);\n }\n }\n }\n return false;\n };\n async function exit() {\n if (!isSupported.value || !isFullscreen.value)\n return;\n if (exitMethod.value) {\n if ((document == null ? void 0 : document[exitMethod.value]) != null) {\n await document[exitMethod.value]();\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[exitMethod.value]) != null)\n await target2[exitMethod.value]();\n }\n }\n isFullscreen.value = false;\n }\n async function enter() {\n if (!isSupported.value || isFullscreen.value)\n return;\n if (isElementFullScreen())\n await exit();\n const target2 = targetRef.value;\n if (requestMethod.value && (target2 == null ? void 0 : target2[requestMethod.value]) != null) {\n await target2[requestMethod.value]();\n isFullscreen.value = true;\n }\n }\n async function toggle() {\n await (isFullscreen.value ? exit() : enter());\n }\n const handlerCallback = () => {\n const isElementFullScreenValue = isElementFullScreen();\n if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen())\n isFullscreen.value = isElementFullScreenValue;\n };\n useEventListener(document, eventHandlers, handlerCallback, false);\n useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, false);\n if (autoExit)\n tryOnScopeDispose(exit);\n return {\n isSupported,\n isFullscreen,\n enter,\n exit,\n toggle\n };\n}\n\nfunction mapGamepadToXbox360Controller(gamepad) {\n return computed(() => {\n if (gamepad.value) {\n return {\n buttons: {\n a: gamepad.value.buttons[0],\n b: gamepad.value.buttons[1],\n x: gamepad.value.buttons[2],\n y: gamepad.value.buttons[3]\n },\n bumper: {\n left: gamepad.value.buttons[4],\n right: gamepad.value.buttons[5]\n },\n triggers: {\n left: gamepad.value.buttons[6],\n right: gamepad.value.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.value.axes[0],\n vertical: gamepad.value.axes[1],\n button: gamepad.value.buttons[10]\n },\n right: {\n horizontal: gamepad.value.axes[2],\n vertical: gamepad.value.axes[3],\n button: gamepad.value.buttons[11]\n }\n },\n dpad: {\n up: gamepad.value.buttons[12],\n down: gamepad.value.buttons[13],\n left: gamepad.value.buttons[14],\n right: gamepad.value.buttons[15]\n },\n back: gamepad.value.buttons[8],\n start: gamepad.value.buttons[9]\n };\n }\n return null;\n });\n}\nfunction useGamepad(options = {}) {\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"getGamepads\" in navigator);\n const gamepads = ref([]);\n const onConnectedHook = createEventHook();\n const onDisconnectedHook = createEventHook();\n const stateFromGamepad = (gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = \"vibrationActuator\" in gamepad ? gamepad.vibrationActuator : null;\n if (vibrationActuator)\n hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators)\n hapticActuators.push(...gamepad.hapticActuators);\n return {\n id: gamepad.id,\n index: gamepad.index,\n connected: gamepad.connected,\n mapping: gamepad.mapping,\n timestamp: gamepad.timestamp,\n vibrationActuator: gamepad.vibrationActuator,\n hapticActuators,\n axes: gamepad.axes.map((axes) => axes),\n buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value }))\n };\n };\n const updateGamepadState = () => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (const gamepad of _gamepads) {\n if (gamepad && gamepads.value[gamepad.index])\n gamepads.value[gamepad.index] = stateFromGamepad(gamepad);\n }\n };\n const { isActive, pause, resume } = useRafFn(updateGamepadState);\n const onGamepadConnected = (gamepad) => {\n if (!gamepads.value.some(({ index }) => index === gamepad.index)) {\n gamepads.value.push(stateFromGamepad(gamepad));\n onConnectedHook.trigger(gamepad.index);\n }\n resume();\n };\n const onGamepadDisconnected = (gamepad) => {\n gamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index);\n onDisconnectedHook.trigger(gamepad.index);\n };\n useEventListener(\"gamepadconnected\", (e) => onGamepadConnected(e.gamepad));\n useEventListener(\"gamepaddisconnected\", (e) => onGamepadDisconnected(e.gamepad));\n tryOnMounted(() => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (const gamepad of _gamepads) {\n if (gamepad && gamepads.value[gamepad.index])\n onGamepadConnected(gamepad);\n }\n });\n pause();\n return {\n isSupported,\n onConnected: onConnectedHook.on,\n onDisconnected: onDisconnectedHook.on,\n gamepads,\n pause,\n resume,\n isActive\n };\n}\n\nfunction useGeolocation(options = {}) {\n const {\n enableHighAccuracy = true,\n maximumAge = 3e4,\n timeout = 27e3,\n navigator = defaultNavigator,\n immediate = true\n } = options;\n const isSupported = useSupported(() => navigator && \"geolocation\" in navigator);\n const locatedAt = ref(null);\n const error = shallowRef(null);\n const coords = ref({\n accuracy: 0,\n latitude: Number.POSITIVE_INFINITY,\n longitude: Number.POSITIVE_INFINITY,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n function updatePosition(position) {\n locatedAt.value = position.timestamp;\n coords.value = position.coords;\n error.value = null;\n }\n let watcher;\n function resume() {\n if (isSupported.value) {\n watcher = navigator.geolocation.watchPosition(\n updatePosition,\n (err) => error.value = err,\n {\n enableHighAccuracy,\n maximumAge,\n timeout\n }\n );\n }\n }\n if (immediate)\n resume();\n function pause() {\n if (watcher && navigator)\n navigator.geolocation.clearWatch(watcher);\n }\n tryOnScopeDispose(() => {\n pause();\n });\n return {\n isSupported,\n coords,\n locatedAt,\n error,\n resume,\n pause\n };\n}\n\nconst defaultEvents$1 = [\"mousemove\", \"mousedown\", \"resize\", \"keydown\", \"touchstart\", \"wheel\"];\nconst oneMinute = 6e4;\nfunction useIdle(timeout = oneMinute, options = {}) {\n const {\n initialState = false,\n listenForVisibilityChange = true,\n events = defaultEvents$1,\n window = defaultWindow,\n eventFilter = throttleFilter(50)\n } = options;\n const idle = ref(initialState);\n const lastActive = ref(timestamp());\n let timer;\n const reset = () => {\n idle.value = false;\n clearTimeout(timer);\n timer = setTimeout(() => idle.value = true, timeout);\n };\n const onEvent = createFilterWrapper(\n eventFilter,\n () => {\n lastActive.value = timestamp();\n reset();\n }\n );\n if (window) {\n const document = window.document;\n for (const event of events)\n useEventListener(window, event, onEvent, { passive: true });\n if (listenForVisibilityChange) {\n useEventListener(document, \"visibilitychange\", () => {\n if (!document.hidden)\n onEvent();\n });\n }\n reset();\n }\n return {\n idle,\n lastActive,\n reset\n };\n}\n\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n if (clazz)\n img.className = clazz;\n if (loading)\n img.loading = loading;\n if (crossorigin)\n img.crossOrigin = crossorigin;\n if (referrerPolicy)\n img.referrerPolicy = referrerPolicy;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n const state = useAsyncState(\n () => loadImage(toValue(options)),\n void 0,\n {\n resetOnExecute: true,\n ...asyncStateOptions\n }\n );\n watch(\n () => toValue(options),\n () => state.execute(asyncStateOptions.delay),\n { deep: true }\n );\n return state;\n}\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\",\n window = defaultWindow,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c, _d;\n if (!window)\n return;\n const _element = toValue(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = toValue(_y)) != null ? _a : y.value,\n left: (_b = toValue(_x)) != null ? _b : x.value,\n behavior: toValue(behavior)\n });\n const scrollContainer = ((_d = _element == null ? void 0 : _element.document) == null ? void 0 : _d.documentElement) || (_element == null ? void 0 : _element.documentElement) || _element;\n if (x != null)\n internalX.value = scrollContainer.scrollLeft;\n if (y != null)\n internalY.value = scrollContainer.scrollTop;\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const setArrivedState = (target) => {\n var _a;\n if (!window)\n return;\n const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target);\n const { display, flexDirection } = getComputedStyle(el);\n const scrollLeft = el.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalX.value;\n const left = Math.abs(scrollLeft) <= (offset.left || 0);\n const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"row-reverse\") {\n arrivedState.left = right;\n arrivedState.right = left;\n } else {\n arrivedState.left = left;\n arrivedState.right = right;\n }\n internalX.value = scrollLeft;\n let scrollTop = el.scrollTop;\n if (target === window.document && !scrollTop)\n scrollTop = window.document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n const top = Math.abs(scrollTop) <= (offset.top || 0);\n const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"column-reverse\") {\n arrivedState.top = bottom;\n arrivedState.bottom = top;\n } else {\n arrivedState.top = top;\n arrivedState.bottom = bottom;\n }\n internalY.value = scrollTop;\n };\n const onScrollHandler = (e) => {\n var _a;\n if (!window)\n return;\n const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n setArrivedState(eventTarget);\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(\n element,\n \"scroll\",\n throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n eventListenerOptions\n );\n tryOnMounted(() => {\n try {\n const _element = toValue(element);\n if (!_element)\n return;\n setArrivedState(_element);\n } catch (e) {\n onError(e);\n }\n });\n useEventListener(\n element,\n \"scrollend\",\n onScrollEnd,\n eventListenerOptions\n );\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions,\n measure() {\n const _element = toValue(element);\n if (window && _element)\n setArrivedState(_element);\n }\n };\n}\n\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a;\n const {\n direction = \"bottom\",\n interval = 100,\n canLoadMore = () => true\n } = options;\n const state = reactive(useScroll(\n element,\n {\n ...options,\n offset: {\n [direction]: (_a = options.distance) != null ? _a : 0,\n ...options.offset\n }\n }\n ));\n const promise = ref();\n const isLoading = computed(() => !!promise.value);\n const observedElement = computed(() => {\n return resolveElement(toValue(element));\n });\n const isElementVisible = useElementVisibility(observedElement);\n function checkAndLoad() {\n state.measure();\n if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value))\n return;\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n if (state.arrivedState[direction] || isNarrower) {\n if (!promise.value) {\n promise.value = Promise.all([\n onLoadMore(state),\n new Promise((resolve) => setTimeout(resolve, interval))\n ]).finally(() => {\n promise.value = null;\n nextTick(() => checkAndLoad());\n });\n }\n }\n }\n watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n return {\n isLoading\n };\n}\n\nconst defaultEvents = [\"mousedown\", \"mouseup\", \"keydown\", \"keyup\"];\nfunction useKeyModifier(modifier, options = {}) {\n const {\n events = defaultEvents,\n document = defaultDocument,\n initial = null\n } = options;\n const state = ref(initial);\n if (document) {\n events.forEach((listenerEvent) => {\n useEventListener(document, listenerEvent, (evt) => {\n if (typeof evt.getModifierState === \"function\")\n state.value = evt.getModifierState(modifier);\n });\n });\n }\n return state;\n}\n\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.localStorage, options);\n}\n\nconst DefaultMagicKeysAliasMap = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\n\nfunction useMagicKeys(options = {}) {\n const {\n reactive: useReactive = false,\n target = defaultWindow,\n aliasMap = DefaultMagicKeysAliasMap,\n passive = true,\n onEventFired = noop\n } = options;\n const current = reactive(/* @__PURE__ */ new Set());\n const obj = {\n toJSON() {\n return {};\n },\n current\n };\n const refs = useReactive ? reactive(obj) : obj;\n const metaDeps = /* @__PURE__ */ new Set();\n const usedKeys = /* @__PURE__ */ new Set();\n function setRefs(key, value) {\n if (key in refs) {\n if (useReactive)\n refs[key] = value;\n else\n refs[key].value = value;\n }\n }\n function reset() {\n current.clear();\n for (const key of usedKeys)\n setRefs(key, false);\n }\n function updateRefs(e, value) {\n var _a, _b;\n const key = (_a = e.key) == null ? void 0 : _a.toLowerCase();\n const code = (_b = e.code) == null ? void 0 : _b.toLowerCase();\n const values = [code, key].filter(Boolean);\n if (key) {\n if (value)\n current.add(key);\n else\n current.delete(key);\n }\n for (const key2 of values) {\n usedKeys.add(key2);\n setRefs(key2, value);\n }\n if (key === \"meta\" && !value) {\n metaDeps.forEach((key2) => {\n current.delete(key2);\n setRefs(key2, false);\n });\n metaDeps.clear();\n } else if (typeof e.getModifierState === \"function\" && e.getModifierState(\"Meta\") && value) {\n [...current, ...values].forEach((key2) => metaDeps.add(key2));\n }\n }\n useEventListener(target, \"keydown\", (e) => {\n updateRefs(e, true);\n return onEventFired(e);\n }, { passive });\n useEventListener(target, \"keyup\", (e) => {\n updateRefs(e, false);\n return onEventFired(e);\n }, { passive });\n useEventListener(\"blur\", reset, { passive: true });\n useEventListener(\"focus\", reset, { passive: true });\n const proxy = new Proxy(\n refs,\n {\n get(target2, prop, rec) {\n if (typeof prop !== \"string\")\n return Reflect.get(target2, prop, rec);\n prop = prop.toLowerCase();\n if (prop in aliasMap)\n prop = aliasMap[prop];\n if (!(prop in refs)) {\n if (/[+_-]/.test(prop)) {\n const keys = prop.split(/[+_-]/g).map((i) => i.trim());\n refs[prop] = computed(() => keys.every((key) => toValue(proxy[key])));\n } else {\n refs[prop] = ref(false);\n }\n }\n const r = Reflect.get(target2, prop, rec);\n return useReactive ? toValue(r) : r;\n }\n }\n );\n return proxy;\n}\n\nfunction usingElRef(source, cb) {\n if (toValue(source))\n cb(toValue(source));\n}\nfunction timeRangeToArray(timeRanges) {\n let ranges = [];\n for (let i = 0; i < timeRanges.length; ++i)\n ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]];\n return ranges;\n}\nfunction tracksToArray(tracks) {\n return Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({ id, label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }));\n}\nconst defaultOptions = {\n src: \"\",\n tracks: []\n};\nfunction useMediaControls(target, options = {}) {\n target = toRef(target);\n options = {\n ...defaultOptions,\n ...options\n };\n const {\n document = defaultDocument\n } = options;\n const currentTime = ref(0);\n const duration = ref(0);\n const seeking = ref(false);\n const volume = ref(1);\n const waiting = ref(false);\n const ended = ref(false);\n const playing = ref(false);\n const rate = ref(1);\n const stalled = ref(false);\n const buffered = ref([]);\n const tracks = ref([]);\n const selectedTrack = ref(-1);\n const isPictureInPicture = ref(false);\n const muted = ref(false);\n const supportsPictureInPicture = document && \"pictureInPictureEnabled\" in document;\n const sourceErrorEvent = createEventHook();\n const disableTrack = (track) => {\n usingElRef(target, (el) => {\n if (track) {\n const id = typeof track === \"number\" ? track : track.id;\n el.textTracks[id].mode = \"disabled\";\n } else {\n for (let i = 0; i < el.textTracks.length; ++i)\n el.textTracks[i].mode = \"disabled\";\n }\n selectedTrack.value = -1;\n });\n };\n const enableTrack = (track, disableTracks = true) => {\n usingElRef(target, (el) => {\n const id = typeof track === \"number\" ? track : track.id;\n if (disableTracks)\n disableTrack();\n el.textTracks[id].mode = \"showing\";\n selectedTrack.value = id;\n });\n };\n const togglePictureInPicture = () => {\n return new Promise((resolve, reject) => {\n usingElRef(target, async (el) => {\n if (supportsPictureInPicture) {\n if (!isPictureInPicture.value) {\n el.requestPictureInPicture().then(resolve).catch(reject);\n } else {\n document.exitPictureInPicture().then(resolve).catch(reject);\n }\n }\n });\n });\n };\n watchEffect(() => {\n if (!document)\n return;\n const el = toValue(target);\n if (!el)\n return;\n const src = toValue(options.src);\n let sources = [];\n if (!src)\n return;\n if (typeof src === \"string\")\n sources = [{ src }];\n else if (Array.isArray(src))\n sources = src;\n else if (isObject(src))\n sources = [src];\n el.querySelectorAll(\"source\").forEach((e) => {\n e.removeEventListener(\"error\", sourceErrorEvent.trigger);\n e.remove();\n });\n sources.forEach(({ src: src2, type }) => {\n const source = document.createElement(\"source\");\n source.setAttribute(\"src\", src2);\n source.setAttribute(\"type\", type || \"\");\n source.addEventListener(\"error\", sourceErrorEvent.trigger);\n el.appendChild(source);\n });\n el.load();\n });\n tryOnScopeDispose(() => {\n const el = toValue(target);\n if (!el)\n return;\n el.querySelectorAll(\"source\").forEach((e) => e.removeEventListener(\"error\", sourceErrorEvent.trigger));\n });\n watch([target, volume], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.volume = volume.value;\n });\n watch([target, muted], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.muted = muted.value;\n });\n watch([target, rate], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.playbackRate = rate.value;\n });\n watchEffect(() => {\n if (!document)\n return;\n const textTracks = toValue(options.tracks);\n const el = toValue(target);\n if (!textTracks || !textTracks.length || !el)\n return;\n el.querySelectorAll(\"track\").forEach((e) => e.remove());\n textTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => {\n const track = document.createElement(\"track\");\n track.default = isDefault || false;\n track.kind = kind;\n track.label = label;\n track.src = src;\n track.srclang = srcLang;\n if (track.default)\n selectedTrack.value = i;\n el.appendChild(track);\n });\n });\n const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => {\n const el = toValue(target);\n if (!el)\n return;\n el.currentTime = time;\n });\n const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => {\n const el = toValue(target);\n if (!el)\n return;\n isPlaying ? el.play() : el.pause();\n });\n useEventListener(target, \"timeupdate\", () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime));\n useEventListener(target, \"durationchange\", () => duration.value = toValue(target).duration);\n useEventListener(target, \"progress\", () => buffered.value = timeRangeToArray(toValue(target).buffered));\n useEventListener(target, \"seeking\", () => seeking.value = true);\n useEventListener(target, \"seeked\", () => seeking.value = false);\n useEventListener(target, [\"waiting\", \"loadstart\"], () => {\n waiting.value = true;\n ignorePlayingUpdates(() => playing.value = false);\n });\n useEventListener(target, \"loadeddata\", () => waiting.value = false);\n useEventListener(target, \"playing\", () => {\n waiting.value = false;\n ended.value = false;\n ignorePlayingUpdates(() => playing.value = true);\n });\n useEventListener(target, \"ratechange\", () => rate.value = toValue(target).playbackRate);\n useEventListener(target, \"stalled\", () => stalled.value = true);\n useEventListener(target, \"ended\", () => ended.value = true);\n useEventListener(target, \"pause\", () => ignorePlayingUpdates(() => playing.value = false));\n useEventListener(target, \"play\", () => ignorePlayingUpdates(() => playing.value = true));\n useEventListener(target, \"enterpictureinpicture\", () => isPictureInPicture.value = true);\n useEventListener(target, \"leavepictureinpicture\", () => isPictureInPicture.value = false);\n useEventListener(target, \"volumechange\", () => {\n const el = toValue(target);\n if (!el)\n return;\n volume.value = el.volume;\n muted.value = el.muted;\n });\n const listeners = [];\n const stop = watch([target], () => {\n const el = toValue(target);\n if (!el)\n return;\n stop();\n listeners[0] = useEventListener(el.textTracks, \"addtrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[1] = useEventListener(el.textTracks, \"removetrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[2] = useEventListener(el.textTracks, \"change\", () => tracks.value = tracksToArray(el.textTracks));\n });\n tryOnScopeDispose(() => listeners.forEach((listener) => listener()));\n return {\n currentTime,\n duration,\n waiting,\n seeking,\n ended,\n stalled,\n buffered,\n playing,\n rate,\n // Volume\n volume,\n muted,\n // Tracks\n tracks,\n selectedTrack,\n enableTrack,\n disableTrack,\n // Picture in Picture\n supportsPictureInPicture,\n togglePictureInPicture,\n isPictureInPicture,\n // Events\n onSourceError: sourceErrorEvent.on\n };\n}\n\nfunction getMapVue2Compat() {\n const data = shallowReactive({});\n return {\n get: (key) => data[key],\n set: (key, value) => set(data, key, value),\n has: (key) => hasOwn(data, key),\n delete: (key) => del(data, key),\n clear: () => {\n Object.keys(data).forEach((key) => {\n del(data, key);\n });\n }\n };\n}\nfunction useMemoize(resolver, options) {\n const initCache = () => {\n if (options == null ? void 0 : options.cache)\n return shallowReactive(options.cache);\n if (isVue2)\n return getMapVue2Compat();\n return shallowReactive(/* @__PURE__ */ new Map());\n };\n const cache = initCache();\n const generateKey = (...args) => (options == null ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args);\n const _loadData = (key, ...args) => {\n cache.set(key, resolver(...args));\n return cache.get(key);\n };\n const loadData = (...args) => _loadData(generateKey(...args), ...args);\n const deleteData = (...args) => {\n cache.delete(generateKey(...args));\n };\n const clearData = () => {\n cache.clear();\n };\n const memoized = (...args) => {\n const key = generateKey(...args);\n if (cache.has(key))\n return cache.get(key);\n return _loadData(key, ...args);\n };\n memoized.load = loadData;\n memoized.delete = deleteData;\n memoized.clear = clearData;\n memoized.generateKey = generateKey;\n memoized.cache = cache;\n return memoized;\n}\n\nfunction useMemory(options = {}) {\n const memory = ref();\n const isSupported = useSupported(() => typeof performance !== \"undefined\" && \"memory\" in performance);\n if (isSupported.value) {\n const { interval = 1e3 } = options;\n useIntervalFn(() => {\n memory.value = performance.memory;\n }, interval, { immediate: options.immediate, immediateCallback: options.immediateCallback });\n }\n return { isSupported, memory };\n}\n\nconst UseMouseBuiltinExtractors = {\n page: (event) => [event.pageX, event.pageY],\n client: (event) => [event.clientX, event.clientY],\n screen: (event) => [event.screenX, event.screenY],\n movement: (event) => event instanceof Touch ? null : [event.movementX, event.movementY]\n};\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window = defaultWindow,\n target = window,\n scroll = true,\n eventFilter\n } = options;\n let _prevMouseEvent = null;\n const x = ref(initialValue.x);\n const y = ref(initialValue.y);\n const sourceType = ref(null);\n const extractor = typeof type === \"function\" ? type : UseMouseBuiltinExtractors[type];\n const mouseHandler = (event) => {\n const result = extractor(event);\n _prevMouseEvent = event;\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"mouse\";\n }\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const result = extractor(event.touches[0]);\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"touch\";\n }\n }\n };\n const scrollHandler = () => {\n if (!_prevMouseEvent || !window)\n return;\n const pos = extractor(_prevMouseEvent);\n if (_prevMouseEvent instanceof MouseEvent && pos) {\n x.value = pos[0] + window.scrollX;\n y.value = pos[1] + window.scrollY;\n }\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event);\n const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event);\n const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler();\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"mousemove\", \"dragover\"], mouseHandlerWrapper, listenerOptions);\n if (touch && type !== \"movement\") {\n useEventListener(target, [\"touchstart\", \"touchmove\"], touchHandlerWrapper, listenerOptions);\n if (resetOnTouchEnds)\n useEventListener(target, \"touchend\", reset, listenerOptions);\n }\n if (scroll && type === \"page\")\n useEventListener(window, \"scroll\", scrollHandlerWrapper, { passive: true });\n }\n return {\n x,\n y,\n sourceType\n };\n}\n\nfunction useMouseInElement(target, options = {}) {\n const {\n handleOutside = true,\n window = defaultWindow\n } = options;\n const type = options.type || \"page\";\n const { x, y, sourceType } = useMouse(options);\n const targetRef = ref(target != null ? target : window == null ? void 0 : window.document.body);\n const elementX = ref(0);\n const elementY = ref(0);\n const elementPositionX = ref(0);\n const elementPositionY = ref(0);\n const elementHeight = ref(0);\n const elementWidth = ref(0);\n const isOutside = ref(true);\n let stop = () => {\n };\n if (window) {\n stop = watch(\n [targetRef, x, y],\n () => {\n const el = unrefElement(targetRef);\n if (!el)\n return;\n const {\n left,\n top,\n width,\n height\n } = el.getBoundingClientRect();\n elementPositionX.value = left + (type === \"page\" ? window.pageXOffset : 0);\n elementPositionY.value = top + (type === \"page\" ? window.pageYOffset : 0);\n elementHeight.value = height;\n elementWidth.value = width;\n const elX = x.value - elementPositionX.value;\n const elY = y.value - elementPositionY.value;\n isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height;\n if (handleOutside || !isOutside.value) {\n elementX.value = elX;\n elementY.value = elY;\n }\n },\n { immediate: true }\n );\n useEventListener(document, \"mouseleave\", () => {\n isOutside.value = true;\n });\n }\n return {\n x,\n y,\n sourceType,\n elementX,\n elementY,\n elementPositionX,\n elementPositionY,\n elementHeight,\n elementWidth,\n isOutside,\n stop\n };\n}\n\nfunction useMousePressed(options = {}) {\n const {\n touch = true,\n drag = true,\n capture = false,\n initialValue = false,\n window = defaultWindow\n } = options;\n const pressed = ref(initialValue);\n const sourceType = ref(null);\n if (!window) {\n return {\n pressed,\n sourceType\n };\n }\n const onPressed = (srcType) => () => {\n pressed.value = true;\n sourceType.value = srcType;\n };\n const onReleased = () => {\n pressed.value = false;\n sourceType.value = null;\n };\n const target = computed(() => unrefElement(options.target) || window);\n useEventListener(target, \"mousedown\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"mouseleave\", onReleased, { passive: true, capture });\n useEventListener(window, \"mouseup\", onReleased, { passive: true, capture });\n if (drag) {\n useEventListener(target, \"dragstart\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"drop\", onReleased, { passive: true, capture });\n useEventListener(window, \"dragend\", onReleased, { passive: true, capture });\n }\n if (touch) {\n useEventListener(target, \"touchstart\", onPressed(\"touch\"), { passive: true, capture });\n useEventListener(window, \"touchend\", onReleased, { passive: true, capture });\n useEventListener(window, \"touchcancel\", onReleased, { passive: true, capture });\n }\n return {\n pressed,\n sourceType\n };\n}\n\nfunction useNavigatorLanguage(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"language\" in navigator);\n const language = ref(navigator == null ? void 0 : navigator.language);\n useEventListener(window, \"languagechange\", () => {\n if (navigator)\n language.value = navigator.language;\n });\n return {\n isSupported,\n language\n };\n}\n\nfunction useNetwork(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"connection\" in navigator);\n const isOnline = ref(true);\n const saveData = ref(false);\n const offlineAt = ref(void 0);\n const onlineAt = ref(void 0);\n const downlink = ref(void 0);\n const downlinkMax = ref(void 0);\n const rtt = ref(void 0);\n const effectiveType = ref(void 0);\n const type = ref(\"unknown\");\n const connection = isSupported.value && navigator.connection;\n function updateNetworkInformation() {\n if (!navigator)\n return;\n isOnline.value = navigator.onLine;\n offlineAt.value = isOnline.value ? void 0 : Date.now();\n onlineAt.value = isOnline.value ? Date.now() : void 0;\n if (connection) {\n downlink.value = connection.downlink;\n downlinkMax.value = connection.downlinkMax;\n effectiveType.value = connection.effectiveType;\n rtt.value = connection.rtt;\n saveData.value = connection.saveData;\n type.value = connection.type;\n }\n }\n if (window) {\n useEventListener(window, \"offline\", () => {\n isOnline.value = false;\n offlineAt.value = Date.now();\n });\n useEventListener(window, \"online\", () => {\n isOnline.value = true;\n onlineAt.value = Date.now();\n });\n }\n if (connection)\n useEventListener(connection, \"change\", updateNetworkInformation, false);\n updateNetworkInformation();\n return {\n isSupported,\n isOnline,\n saveData,\n offlineAt,\n onlineAt,\n downlink,\n downlinkMax,\n effectiveType,\n rtt,\n type\n };\n}\n\nfunction useNow(options = {}) {\n const {\n controls: exposeControls = false,\n interval = \"requestAnimationFrame\"\n } = options;\n const now = ref(/* @__PURE__ */ new Date());\n const update = () => now.value = /* @__PURE__ */ new Date();\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true });\n if (exposeControls) {\n return {\n now,\n ...controls\n };\n } else {\n return now;\n }\n}\n\nfunction useObjectUrl(object) {\n const url = ref();\n const release = () => {\n if (url.value)\n URL.revokeObjectURL(url.value);\n url.value = void 0;\n };\n watch(\n () => toValue(object),\n (newObject) => {\n release();\n if (newObject)\n url.value = URL.createObjectURL(newObject);\n },\n { immediate: true }\n );\n tryOnScopeDispose(release);\n return readonly(url);\n}\n\nfunction useClamp(value, min, max) {\n if (typeof value === \"function\" || isReadonly(value))\n return computed(() => clamp(toValue(value), toValue(min), toValue(max)));\n const _value = ref(value);\n return computed({\n get() {\n return _value.value = clamp(_value.value, toValue(min), toValue(max));\n },\n set(value2) {\n _value.value = clamp(value2, toValue(min), toValue(max));\n }\n });\n}\n\nfunction useOffsetPagination(options) {\n const {\n total = Number.POSITIVE_INFINITY,\n pageSize = 10,\n page = 1,\n onPageChange = noop,\n onPageSizeChange = noop,\n onPageCountChange = noop\n } = options;\n const currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY);\n const pageCount = computed(() => Math.max(\n 1,\n Math.ceil(toValue(total) / toValue(currentPageSize))\n ));\n const currentPage = useClamp(page, 1, pageCount);\n const isFirstPage = computed(() => currentPage.value === 1);\n const isLastPage = computed(() => currentPage.value === pageCount.value);\n if (isRef(page)) {\n syncRef(page, currentPage, {\n direction: isReadonly(page) ? \"ltr\" : \"both\"\n });\n }\n if (isRef(pageSize)) {\n syncRef(pageSize, currentPageSize, {\n direction: isReadonly(pageSize) ? \"ltr\" : \"both\"\n });\n }\n function prev() {\n currentPage.value--;\n }\n function next() {\n currentPage.value++;\n }\n const returnValue = {\n currentPage,\n currentPageSize,\n pageCount,\n isFirstPage,\n isLastPage,\n prev,\n next\n };\n watch(currentPage, () => {\n onPageChange(reactive(returnValue));\n });\n watch(currentPageSize, () => {\n onPageSizeChange(reactive(returnValue));\n });\n watch(pageCount, () => {\n onPageCountChange(reactive(returnValue));\n });\n return returnValue;\n}\n\nfunction useOnline(options = {}) {\n const { isOnline } = useNetwork(options);\n return isOnline;\n}\n\nfunction usePageLeave(options = {}) {\n const { window = defaultWindow } = options;\n const isLeft = ref(false);\n const handler = (event) => {\n if (!window)\n return;\n event = event || window.event;\n const from = event.relatedTarget || event.toElement;\n isLeft.value = !from;\n };\n if (window) {\n useEventListener(window, \"mouseout\", handler, { passive: true });\n useEventListener(window.document, \"mouseleave\", handler, { passive: true });\n useEventListener(window.document, \"mouseenter\", handler, { passive: true });\n }\n return isLeft;\n}\n\nfunction useScreenOrientation(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"screen\" in window && \"orientation\" in window.screen);\n const screenOrientation = isSupported.value ? window.screen.orientation : {};\n const orientation = ref(screenOrientation.type);\n const angle = ref(screenOrientation.angle || 0);\n if (isSupported.value) {\n useEventListener(window, \"orientationchange\", () => {\n orientation.value = screenOrientation.type;\n angle.value = screenOrientation.angle;\n });\n }\n const lockOrientation = (type) => {\n if (isSupported.value && typeof screenOrientation.lock === \"function\")\n return screenOrientation.lock(type);\n return Promise.reject(new Error(\"Not supported\"));\n };\n const unlockOrientation = () => {\n if (isSupported.value && typeof screenOrientation.unlock === \"function\")\n screenOrientation.unlock();\n };\n return {\n isSupported,\n orientation,\n angle,\n lockOrientation,\n unlockOrientation\n };\n}\n\nfunction useParallax(target, options = {}) {\n const {\n deviceOrientationTiltAdjust = (i) => i,\n deviceOrientationRollAdjust = (i) => i,\n mouseTiltAdjust = (i) => i,\n mouseRollAdjust = (i) => i,\n window = defaultWindow\n } = options;\n const orientation = reactive(useDeviceOrientation({ window }));\n const screenOrientation = reactive(useScreenOrientation({ window }));\n const {\n elementX: x,\n elementY: y,\n elementWidth: width,\n elementHeight: height\n } = useMouseInElement(target, { handleOutside: false, window });\n const source = computed(() => {\n if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0)) {\n return \"deviceOrientation\";\n }\n return \"mouse\";\n });\n const roll = computed(() => {\n if (source.value === \"deviceOrientation\") {\n let value;\n switch (screenOrientation.orientation) {\n case \"landscape-primary\":\n value = orientation.gamma / 90;\n break;\n case \"landscape-secondary\":\n value = -orientation.gamma / 90;\n break;\n case \"portrait-primary\":\n value = -orientation.beta / 90;\n break;\n case \"portrait-secondary\":\n value = orientation.beta / 90;\n break;\n default:\n value = -orientation.beta / 90;\n }\n return deviceOrientationRollAdjust(value);\n } else {\n const value = -(y.value - height.value / 2) / height.value;\n return mouseRollAdjust(value);\n }\n });\n const tilt = computed(() => {\n if (source.value === \"deviceOrientation\") {\n let value;\n switch (screenOrientation.orientation) {\n case \"landscape-primary\":\n value = orientation.beta / 90;\n break;\n case \"landscape-secondary\":\n value = -orientation.beta / 90;\n break;\n case \"portrait-primary\":\n value = orientation.gamma / 90;\n break;\n case \"portrait-secondary\":\n value = -orientation.gamma / 90;\n break;\n default:\n value = orientation.gamma / 90;\n }\n return deviceOrientationTiltAdjust(value);\n } else {\n const value = (x.value - width.value / 2) / width.value;\n return mouseTiltAdjust(value);\n }\n });\n return { roll, tilt, source };\n}\n\nfunction useParentElement(element = useCurrentElement()) {\n const parentElement = shallowRef();\n const update = () => {\n const el = unrefElement(element);\n if (el)\n parentElement.value = el.parentElement;\n };\n tryOnMounted(update);\n watch(() => toValue(element), update);\n return parentElement;\n}\n\nfunction usePerformanceObserver(options, callback) {\n const {\n window = defaultWindow,\n immediate = true,\n ...performanceOptions\n } = options;\n const isSupported = useSupported(() => window && \"PerformanceObserver\" in window);\n let observer;\n const stop = () => {\n observer == null ? void 0 : observer.disconnect();\n };\n const start = () => {\n if (isSupported.value) {\n stop();\n observer = new PerformanceObserver(callback);\n observer.observe(performanceOptions);\n }\n };\n tryOnScopeDispose(stop);\n if (immediate)\n start();\n return {\n isSupported,\n start,\n stop\n };\n}\n\nconst defaultState = {\n x: 0,\n y: 0,\n pointerId: 0,\n pressure: 0,\n tiltX: 0,\n tiltY: 0,\n width: 0,\n height: 0,\n twist: 0,\n pointerType: null\n};\nconst keys = /* @__PURE__ */ Object.keys(defaultState);\nfunction usePointer(options = {}) {\n const {\n target = defaultWindow\n } = options;\n const isInside = ref(false);\n const state = ref(options.initialValue || {});\n Object.assign(state.value, defaultState, state.value);\n const handler = (event) => {\n isInside.value = true;\n if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType))\n return;\n state.value = objectPick(event, keys, false);\n };\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"pointerdown\", \"pointermove\", \"pointerup\"], handler, listenerOptions);\n useEventListener(target, \"pointerleave\", () => isInside.value = false, listenerOptions);\n }\n return {\n ...toRefs(state),\n isInside\n };\n}\n\nfunction usePointerLock(target, options = {}) {\n const { document = defaultDocument } = options;\n const isSupported = useSupported(() => document && \"pointerLockElement\" in document);\n const element = ref();\n const triggerElement = ref();\n let targetElement;\n if (isSupported.value) {\n useEventListener(document, \"pointerlockchange\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n element.value = document.pointerLockElement;\n if (!element.value)\n targetElement = triggerElement.value = null;\n }\n });\n useEventListener(document, \"pointerlockerror\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n const action = document.pointerLockElement ? \"release\" : \"acquire\";\n throw new Error(`Failed to ${action} pointer lock.`);\n }\n });\n }\n async function lock(e) {\n var _a;\n if (!isSupported.value)\n throw new Error(\"Pointer Lock API is not supported by your browser.\");\n triggerElement.value = e instanceof Event ? e.currentTarget : null;\n targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);\n if (!targetElement)\n throw new Error(\"Target element undefined.\");\n targetElement.requestPointerLock();\n return await until(element).toBe(targetElement);\n }\n async function unlock() {\n if (!element.value)\n return false;\n document.exitPointerLock();\n await until(element).toBeNull();\n return true;\n }\n return {\n isSupported,\n element,\n triggerElement,\n lock,\n unlock\n };\n}\n\nfunction usePointerSwipe(target, options = {}) {\n const targetRef = toRef(target);\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n disableTextSelect = false\n } = options;\n const posStart = reactive({ x: 0, y: 0 });\n const updatePosStart = (x, y) => {\n posStart.x = x;\n posStart.y = y;\n };\n const posEnd = reactive({ x: 0, y: 0 });\n const updatePosEnd = (x, y) => {\n posEnd.x = x;\n posEnd.y = y;\n };\n const distanceX = computed(() => posStart.x - posEnd.x);\n const distanceY = computed(() => posStart.y - posEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold);\n const isSwiping = ref(false);\n const isPointerDown = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(distanceX.value) > abs(distanceY.value)) {\n return distanceX.value > 0 ? \"left\" : \"right\";\n } else {\n return distanceY.value > 0 ? \"up\" : \"down\";\n }\n });\n const eventIsAllowed = (e) => {\n var _a, _b, _c;\n const isReleasingButton = e.buttons === 0;\n const isPrimaryButton = e.buttons === 1;\n return (_c = (_b = (_a = options.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true;\n };\n const stops = [\n useEventListener(target, \"pointerdown\", (e) => {\n if (!eventIsAllowed(e))\n return;\n isPointerDown.value = true;\n const eventTarget = e.target;\n eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId);\n const { clientX: x, clientY: y } = e;\n updatePosStart(x, y);\n updatePosEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }),\n useEventListener(target, \"pointermove\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (!isPointerDown.value)\n return;\n const { clientX: x, clientY: y } = e;\n updatePosEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }),\n useEventListener(target, \"pointerup\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isPointerDown.value = false;\n isSwiping.value = false;\n })\n ];\n tryOnMounted(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"none\");\n if (disableTextSelect) {\n (_d = (_c = targetRef.value) == null ? void 0 : _c.style) == null ? void 0 : _d.setProperty(\"-webkit-user-select\", \"none\");\n (_f = (_e = targetRef.value) == null ? void 0 : _e.style) == null ? void 0 : _f.setProperty(\"-ms-user-select\", \"none\");\n (_h = (_g = targetRef.value) == null ? void 0 : _g.style) == null ? void 0 : _h.setProperty(\"user-select\", \"none\");\n }\n });\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping: readonly(isSwiping),\n direction: readonly(direction),\n posStart: readonly(posStart),\n posEnd: readonly(posEnd),\n distanceX,\n distanceY,\n stop\n };\n}\n\nfunction usePreferredColorScheme(options) {\n const isLight = useMediaQuery(\"(prefers-color-scheme: light)\", options);\n const isDark = useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n return computed(() => {\n if (isDark.value)\n return \"dark\";\n if (isLight.value)\n return \"light\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredContrast(options) {\n const isMore = useMediaQuery(\"(prefers-contrast: more)\", options);\n const isLess = useMediaQuery(\"(prefers-contrast: less)\", options);\n const isCustom = useMediaQuery(\"(prefers-contrast: custom)\", options);\n return computed(() => {\n if (isMore.value)\n return \"more\";\n if (isLess.value)\n return \"less\";\n if (isCustom.value)\n return \"custom\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredLanguages(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref([\"en\"]);\n const navigator = window.navigator;\n const value = ref(navigator.languages);\n useEventListener(window, \"languagechange\", () => {\n value.value = navigator.languages;\n });\n return value;\n}\n\nfunction usePreferredReducedMotion(options) {\n const isReduced = useMediaQuery(\"(prefers-reduced-motion: reduce)\", options);\n return computed(() => {\n if (isReduced.value)\n return \"reduce\";\n return \"no-preference\";\n });\n}\n\nfunction usePrevious(value, initialValue) {\n const previous = shallowRef(initialValue);\n watch(\n toRef(value),\n (_, oldValue) => {\n previous.value = oldValue;\n },\n { flush: \"sync\" }\n );\n return readonly(previous);\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nfunction useScriptTag(src, onLoaded = noop, options = {}) {\n const {\n immediate = true,\n manual = false,\n type = \"text/javascript\",\n async = true,\n crossOrigin,\n referrerPolicy,\n noModule,\n defer,\n document = defaultDocument,\n attrs = {}\n } = options;\n const scriptTag = ref(null);\n let _promise = null;\n const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => {\n const resolveWithElement = (el2) => {\n scriptTag.value = el2;\n resolve(el2);\n return el2;\n };\n if (!document) {\n resolve(false);\n return;\n }\n let shouldAppend = false;\n let el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (!el) {\n el = document.createElement(\"script\");\n el.type = type;\n el.async = async;\n el.src = toValue(src);\n if (defer)\n el.defer = defer;\n if (crossOrigin)\n el.crossOrigin = crossOrigin;\n if (noModule)\n el.noModule = noModule;\n if (referrerPolicy)\n el.referrerPolicy = referrerPolicy;\n Object.entries(attrs).forEach(([name, value]) => el == null ? void 0 : el.setAttribute(name, value));\n shouldAppend = true;\n } else if (el.hasAttribute(\"data-loaded\")) {\n resolveWithElement(el);\n }\n el.addEventListener(\"error\", (event) => reject(event));\n el.addEventListener(\"abort\", (event) => reject(event));\n el.addEventListener(\"load\", () => {\n el.setAttribute(\"data-loaded\", \"true\");\n onLoaded(el);\n resolveWithElement(el);\n });\n if (shouldAppend)\n el = document.head.appendChild(el);\n if (!waitForScriptLoad)\n resolveWithElement(el);\n });\n const load = (waitForScriptLoad = true) => {\n if (!_promise)\n _promise = loadScript(waitForScriptLoad);\n return _promise;\n };\n const unload = () => {\n if (!document)\n return;\n _promise = null;\n if (scriptTag.value)\n scriptTag.value = null;\n const el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (el)\n document.head.removeChild(el);\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnUnmounted(unload);\n return { scriptTag, load, unload };\n}\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow = \"\";\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n if (!elInitialOverflow.get(ele))\n elInitialOverflow.set(ele, ele.style.overflow);\n if (ele.style.overflow !== \"hidden\")\n initialOverflow = ele.style.overflow;\n if (ele.style.overflow === \"hidden\")\n return isLocked.value = true;\n if (isLocked.value)\n return ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n isIOS && (stopTouchMoveListener == null ? void 0 : stopTouchMoveListener());\n el.style.overflow = initialOverflow;\n elInitialOverflow.delete(el);\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else unlock();\n }\n });\n}\n\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.sessionStorage, options);\n}\n\nfunction useShare(shareOptions = {}, options = {}) {\n const { navigator = defaultNavigator } = options;\n const _navigator = navigator;\n const isSupported = useSupported(() => _navigator && \"canShare\" in _navigator);\n const share = async (overrideOptions = {}) => {\n if (isSupported.value) {\n const data = {\n ...toValue(shareOptions),\n ...toValue(overrideOptions)\n };\n let granted = true;\n if (data.files && _navigator.canShare)\n granted = _navigator.canShare({ files: data.files });\n if (granted)\n return _navigator.share(data);\n }\n };\n return {\n isSupported,\n share\n };\n}\n\nconst defaultSortFn = (source, compareFn) => source.sort(compareFn);\nconst defaultCompare = (a, b) => a - b;\nfunction useSorted(...args) {\n var _a, _b, _c, _d;\n const [source] = args;\n let compareFn = defaultCompare;\n let options = {};\n if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n options = args[1];\n compareFn = (_a = options.compareFn) != null ? _a : defaultCompare;\n } else {\n compareFn = (_b = args[1]) != null ? _b : defaultCompare;\n }\n } else if (args.length > 2) {\n compareFn = (_c = args[1]) != null ? _c : defaultCompare;\n options = (_d = args[2]) != null ? _d : {};\n }\n const {\n dirty = false,\n sortFn = defaultSortFn\n } = options;\n if (!dirty)\n return computed(() => sortFn([...toValue(source)], compareFn));\n watchEffect(() => {\n const result = sortFn(toValue(source), compareFn);\n if (isRef(source))\n source.value = result;\n else\n source.splice(0, source.length, ...result);\n });\n return source;\n}\n\nfunction useSpeechRecognition(options = {}) {\n const {\n interimResults = true,\n continuous = true,\n window = defaultWindow\n } = options;\n const lang = toRef(options.lang || \"en-US\");\n const isListening = ref(false);\n const isFinal = ref(false);\n const result = ref(\"\");\n const error = shallowRef(void 0);\n const toggle = (value = !isListening.value) => {\n isListening.value = value;\n };\n const start = () => {\n isListening.value = true;\n };\n const stop = () => {\n isListening.value = false;\n };\n const SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition);\n const isSupported = useSupported(() => SpeechRecognition);\n let recognition;\n if (isSupported.value) {\n recognition = new SpeechRecognition();\n recognition.continuous = continuous;\n recognition.interimResults = interimResults;\n recognition.lang = toValue(lang);\n recognition.onstart = () => {\n isFinal.value = false;\n };\n watch(lang, (lang2) => {\n if (recognition && !isListening.value)\n recognition.lang = lang2;\n });\n recognition.onresult = (event) => {\n const currentResult = event.results[event.resultIndex];\n const { transcript } = currentResult[0];\n isFinal.value = currentResult.isFinal;\n result.value = transcript;\n error.value = void 0;\n };\n recognition.onerror = (event) => {\n error.value = event;\n };\n recognition.onend = () => {\n isListening.value = false;\n recognition.lang = toValue(lang);\n };\n watch(isListening, () => {\n if (isListening.value)\n recognition.start();\n else\n recognition.stop();\n });\n }\n tryOnScopeDispose(() => {\n isListening.value = false;\n });\n return {\n isSupported,\n isListening,\n isFinal,\n recognition,\n result,\n error,\n toggle,\n start,\n stop\n };\n}\n\nfunction useSpeechSynthesis(text, options = {}) {\n const {\n pitch = 1,\n rate = 1,\n volume = 1,\n window = defaultWindow\n } = options;\n const synth = window && window.speechSynthesis;\n const isSupported = useSupported(() => synth);\n const isPlaying = ref(false);\n const status = ref(\"init\");\n const spokenText = toRef(text || \"\");\n const lang = toRef(options.lang || \"en-US\");\n const error = shallowRef(void 0);\n const toggle = (value = !isPlaying.value) => {\n isPlaying.value = value;\n };\n const bindEventsForUtterance = (utterance2) => {\n utterance2.lang = toValue(lang);\n utterance2.voice = toValue(options.voice) || null;\n utterance2.pitch = toValue(pitch);\n utterance2.rate = toValue(rate);\n utterance2.volume = volume;\n utterance2.onstart = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onpause = () => {\n isPlaying.value = false;\n status.value = \"pause\";\n };\n utterance2.onresume = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onend = () => {\n isPlaying.value = false;\n status.value = \"end\";\n };\n utterance2.onerror = (event) => {\n error.value = event;\n };\n };\n const utterance = computed(() => {\n isPlaying.value = false;\n status.value = \"init\";\n const newUtterance = new SpeechSynthesisUtterance(spokenText.value);\n bindEventsForUtterance(newUtterance);\n return newUtterance;\n });\n const speak = () => {\n synth.cancel();\n utterance && synth.speak(utterance.value);\n };\n const stop = () => {\n synth.cancel();\n isPlaying.value = false;\n };\n if (isSupported.value) {\n bindEventsForUtterance(utterance.value);\n watch(lang, (lang2) => {\n if (utterance.value && !isPlaying.value)\n utterance.value.lang = lang2;\n });\n if (options.voice) {\n watch(options.voice, () => {\n synth.cancel();\n });\n }\n watch(isPlaying, () => {\n if (isPlaying.value)\n synth.resume();\n else\n synth.pause();\n });\n }\n tryOnScopeDispose(() => {\n isPlaying.value = false;\n });\n return {\n isSupported,\n isPlaying,\n status,\n utterance,\n error,\n stop,\n toggle,\n speak\n };\n}\n\nfunction useStepper(steps, initialStep) {\n const stepsRef = ref(steps);\n const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value));\n const index = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0]));\n const current = computed(() => at(index.value));\n const isFirst = computed(() => index.value === 0);\n const isLast = computed(() => index.value === stepNames.value.length - 1);\n const next = computed(() => stepNames.value[index.value + 1]);\n const previous = computed(() => stepNames.value[index.value - 1]);\n function at(index2) {\n if (Array.isArray(stepsRef.value))\n return stepsRef.value[index2];\n return stepsRef.value[stepNames.value[index2]];\n }\n function get(step) {\n if (!stepNames.value.includes(step))\n return;\n return at(stepNames.value.indexOf(step));\n }\n function goTo(step) {\n if (stepNames.value.includes(step))\n index.value = stepNames.value.indexOf(step);\n }\n function goToNext() {\n if (isLast.value)\n return;\n index.value++;\n }\n function goToPrevious() {\n if (isFirst.value)\n return;\n index.value--;\n }\n function goBackTo(step) {\n if (isAfter(step))\n goTo(step);\n }\n function isNext(step) {\n return stepNames.value.indexOf(step) === index.value + 1;\n }\n function isPrevious(step) {\n return stepNames.value.indexOf(step) === index.value - 1;\n }\n function isCurrent(step) {\n return stepNames.value.indexOf(step) === index.value;\n }\n function isBefore(step) {\n return index.value < stepNames.value.indexOf(step);\n }\n function isAfter(step) {\n return index.value > stepNames.value.indexOf(step);\n }\n return {\n steps: stepsRef,\n stepNames,\n index,\n current,\n next,\n previous,\n isFirst,\n isLast,\n at,\n get,\n goTo,\n goToNext,\n goToPrevious,\n goBackTo,\n isNext,\n isPrevious,\n isCurrent,\n isBefore,\n isAfter\n };\n}\n\nfunction useStorageAsync(key, initialValue, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const rawInit = toValue(initialValue);\n const type = guessSerializerType(rawInit);\n const data = (shallow ? shallowRef : ref)(initialValue);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorageAsync\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n async function read(event) {\n if (!storage || event && event.key !== key)\n return;\n try {\n const rawValue = event ? event.newValue : await storage.getItem(key);\n if (rawValue == null) {\n data.value = rawInit;\n if (writeDefaults && rawInit !== null)\n await storage.setItem(key, await serializer.write(rawInit));\n } else if (mergeDefaults) {\n const value = await serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n data.value = mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n data.value = { ...rawInit, ...value };\n else data.value = value;\n } else {\n data.value = await serializer.read(rawValue);\n }\n } catch (e) {\n onError(e);\n }\n }\n read();\n if (window && listenToStorageChanges)\n useEventListener(window, \"storage\", (e) => Promise.resolve().then(() => read(e)));\n if (storage) {\n watchWithFilter(\n data,\n async () => {\n try {\n if (data.value == null)\n await storage.removeItem(key);\n else\n await storage.setItem(key, await serializer.write(data.value));\n } catch (e) {\n onError(e);\n }\n },\n {\n flush,\n deep,\n eventFilter\n }\n );\n }\n return data;\n}\n\nlet _id = 0;\nfunction useStyleTag(css, options = {}) {\n const isLoaded = ref(false);\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n id = `vueuse_styletag_${++_id}`\n } = options;\n const cssRef = ref(css);\n let stop = () => {\n };\n const load = () => {\n if (!document)\n return;\n const el = document.getElementById(id) || document.createElement(\"style\");\n if (!el.isConnected) {\n el.id = id;\n if (options.media)\n el.media = options.media;\n document.head.appendChild(el);\n }\n if (isLoaded.value)\n return;\n stop = watch(\n cssRef,\n (value) => {\n el.textContent = value;\n },\n { immediate: true }\n );\n isLoaded.value = true;\n };\n const unload = () => {\n if (!document || !isLoaded.value)\n return;\n stop();\n document.head.removeChild(document.getElementById(id));\n isLoaded.value = false;\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnScopeDispose(unload);\n return {\n id,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\n\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true,\n window = defaultWindow\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? \"left\" : \"right\";\n } else {\n return diffY.value > 0 ? \"up\" : \"down\";\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n let listenerOptions;\n const isPassiveEventSupported = checkPassiveEventSupport(window == null ? void 0 : window.document);\n if (!passive)\n listenerOptions = isPassiveEventSupported ? { passive: false, capture: true } : { capture: true };\n else\n listenerOptions = isPassiveEventSupported ? { passive: true } : { capture: false };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (e.touches.length !== 1)\n return;\n if (listenerOptions.capture && !listenerOptions.passive)\n e.preventDefault();\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, [\"touchend\", \"touchcancel\"], onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isPassiveEventSupported,\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop\n };\n}\nfunction checkPassiveEventSupport(document) {\n if (!document)\n return false;\n let supportsPassive = false;\n const optionsBlock = {\n get passive() {\n supportsPassive = true;\n return false;\n }\n };\n document.addEventListener(\"x\", noop, optionsBlock);\n document.removeEventListener(\"x\", noop);\n return supportsPassive;\n}\n\nfunction useTemplateRefsList() {\n const refs = ref([]);\n refs.value.set = (el) => {\n if (el)\n refs.value.push(el);\n };\n onBeforeUpdate(() => {\n refs.value.length = 0;\n });\n return refs;\n}\n\nfunction useTextDirection(options = {}) {\n const {\n document = defaultDocument,\n selector = \"html\",\n observe = false,\n initialValue = \"ltr\"\n } = options;\n function getValue() {\n var _a, _b;\n return (_b = (_a = document == null ? void 0 : document.querySelector(selector)) == null ? void 0 : _a.getAttribute(\"dir\")) != null ? _b : initialValue;\n }\n const dir = ref(getValue());\n tryOnMounted(() => dir.value = getValue());\n if (observe && document) {\n useMutationObserver(\n document.querySelector(selector),\n () => dir.value = getValue(),\n { attributes: true }\n );\n }\n return computed({\n get() {\n return dir.value;\n },\n set(v) {\n var _a, _b;\n dir.value = v;\n if (!document)\n return;\n if (dir.value)\n (_a = document.querySelector(selector)) == null ? void 0 : _a.setAttribute(\"dir\", dir.value);\n else\n (_b = document.querySelector(selector)) == null ? void 0 : _b.removeAttribute(\"dir\");\n }\n });\n}\n\nfunction getRangesFromSelection(selection) {\n var _a;\n const rangeCount = (_a = selection.rangeCount) != null ? _a : 0;\n return Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i));\n}\nfunction useTextSelection(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const selection = ref(null);\n const text = computed(() => {\n var _a, _b;\n return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : \"\";\n });\n const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []);\n const rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect()));\n function onSelectionChange() {\n selection.value = null;\n if (window)\n selection.value = window.getSelection();\n }\n if (window)\n useEventListener(window.document, \"selectionchange\", onSelectionChange);\n return {\n text,\n rects,\n ranges,\n selection\n };\n}\n\nfunction useTextareaAutosize(options) {\n var _a;\n const textarea = ref(options == null ? void 0 : options.element);\n const input = ref(options == null ? void 0 : options.input);\n const styleProp = (_a = options == null ? void 0 : options.styleProp) != null ? _a : \"height\";\n const textareaScrollHeight = ref(1);\n function triggerResize() {\n var _a2;\n if (!textarea.value)\n return;\n let height = \"\";\n textarea.value.style[styleProp] = \"1px\";\n textareaScrollHeight.value = (_a2 = textarea.value) == null ? void 0 : _a2.scrollHeight;\n if (options == null ? void 0 : options.styleTarget)\n toValue(options.styleTarget).style[styleProp] = `${textareaScrollHeight.value}px`;\n else\n height = `${textareaScrollHeight.value}px`;\n textarea.value.style[styleProp] = height;\n }\n watch([input, textarea], () => nextTick(triggerResize), { immediate: true });\n watch(textareaScrollHeight, () => {\n var _a2;\n return (_a2 = options == null ? void 0 : options.onResize) == null ? void 0 : _a2.call(options);\n });\n useResizeObserver(textarea, () => triggerResize());\n if (options == null ? void 0 : options.watch)\n watch(options.watch, triggerResize, { immediate: true, deep: true });\n return {\n textarea,\n input,\n triggerResize\n };\n}\n\nfunction useThrottledRefHistory(source, options = {}) {\n const { throttle = 200, trailing = true } = options;\n const filter = throttleFilter(throttle, trailing);\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nconst DEFAULT_UNITS = [\n { max: 6e4, value: 1e3, name: \"second\" },\n { max: 276e4, value: 6e4, name: \"minute\" },\n { max: 72e6, value: 36e5, name: \"hour\" },\n { max: 5184e5, value: 864e5, name: \"day\" },\n { max: 24192e5, value: 6048e5, name: \"week\" },\n { max: 28512e6, value: 2592e6, name: \"month\" },\n { max: Number.POSITIVE_INFINITY, value: 31536e6, name: \"year\" }\n];\nconst DEFAULT_MESSAGES = {\n justNow: \"just now\",\n past: (n) => n.match(/\\d/) ? `${n} ago` : n,\n future: (n) => n.match(/\\d/) ? `in ${n}` : n,\n month: (n, past) => n === 1 ? past ? \"last month\" : \"next month\" : `${n} month${n > 1 ? \"s\" : \"\"}`,\n year: (n, past) => n === 1 ? past ? \"last year\" : \"next year\" : `${n} year${n > 1 ? \"s\" : \"\"}`,\n day: (n, past) => n === 1 ? past ? \"yesterday\" : \"tomorrow\" : `${n} day${n > 1 ? \"s\" : \"\"}`,\n week: (n, past) => n === 1 ? past ? \"last week\" : \"next week\" : `${n} week${n > 1 ? \"s\" : \"\"}`,\n hour: (n) => `${n} hour${n > 1 ? \"s\" : \"\"}`,\n minute: (n) => `${n} minute${n > 1 ? \"s\" : \"\"}`,\n second: (n) => `${n} second${n > 1 ? \"s\" : \"\"}`,\n invalid: \"\"\n};\nfunction DEFAULT_FORMATTER(date) {\n return date.toISOString().slice(0, 10);\n}\nfunction useTimeAgo(time, options = {}) {\n const {\n controls: exposeControls = false,\n updateInterval = 3e4\n } = options;\n const { now, ...controls } = useNow({ interval: updateInterval, controls: true });\n const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now)));\n if (exposeControls) {\n return {\n timeAgo,\n ...controls\n };\n } else {\n return timeAgo;\n }\n}\nfunction formatTimeAgo(from, options = {}, now = Date.now()) {\n var _a;\n const {\n max,\n messages = DEFAULT_MESSAGES,\n fullDateFormatter = DEFAULT_FORMATTER,\n units = DEFAULT_UNITS,\n showSecond = false,\n rounding = \"round\"\n } = options;\n const roundFn = typeof rounding === \"number\" ? (n) => +n.toFixed(rounding) : Math[rounding];\n const diff = +now - +from;\n const absDiff = Math.abs(diff);\n function getValue(diff2, unit) {\n return roundFn(Math.abs(diff2) / unit.value);\n }\n function format(diff2, unit) {\n const val = getValue(diff2, unit);\n const past = diff2 > 0;\n const str = applyFormat(unit.name, val, past);\n return applyFormat(past ? \"past\" : \"future\", str, past);\n }\n function applyFormat(name, val, isPast) {\n const formatter = messages[name];\n if (typeof formatter === \"function\")\n return formatter(val, isPast);\n return formatter.replace(\"{0}\", val.toString());\n }\n if (absDiff < 6e4 && !showSecond)\n return messages.justNow;\n if (typeof max === \"number\" && absDiff > max)\n return fullDateFormatter(new Date(from));\n if (typeof max === \"string\") {\n const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max;\n if (unitMax && absDiff > unitMax)\n return fullDateFormatter(new Date(from));\n }\n for (const [idx, unit] of units.entries()) {\n const val = getValue(diff, unit);\n if (val <= 0 && units[idx - 1])\n return format(diff, units[idx - 1]);\n if (absDiff < unit.max)\n return format(diff, unit);\n }\n return messages.invalid;\n}\n\nfunction useTimeoutPoll(fn, interval, timeoutPollOptions) {\n const { start } = useTimeoutFn(loop, interval, { immediate: false });\n const isActive = ref(false);\n async function loop() {\n if (!isActive.value)\n return;\n await fn();\n start();\n }\n function resume() {\n if (!isActive.value) {\n isActive.value = true;\n loop();\n }\n }\n function pause() {\n isActive.value = false;\n }\n if (timeoutPollOptions == null ? void 0 : timeoutPollOptions.immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = ref(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return {\n timestamp: ts,\n ...controls\n };\n } else {\n return ts;\n }\n}\n\nfunction useTitle(newTitle = null, options = {}) {\n var _a, _b, _c;\n const {\n document = defaultDocument,\n restoreOnUnmount = (t) => t\n } = options;\n const originalTitle = (_a = document == null ? void 0 : document.title) != null ? _a : \"\";\n const title = toRef((_b = newTitle != null ? newTitle : document == null ? void 0 : document.title) != null ? _b : null);\n const isReadonly = newTitle && typeof newTitle === \"function\";\n function format(t) {\n if (!(\"titleTemplate\" in options))\n return t;\n const template = options.titleTemplate || \"%s\";\n return typeof template === \"function\" ? template(t) : toValue(template).replace(/%s/g, t);\n }\n watch(\n title,\n (t, o) => {\n if (t !== o && document)\n document.title = format(typeof t === \"string\" ? t : \"\");\n },\n { immediate: true }\n );\n if (options.observe && !options.titleTemplate && document && !isReadonly) {\n useMutationObserver(\n (_c = document.head) == null ? void 0 : _c.querySelector(\"title\"),\n () => {\n if (document && document.title !== title.value)\n title.value = format(document.title);\n },\n { childList: true }\n );\n }\n tryOnBeforeUnmount(() => {\n if (restoreOnUnmount) {\n const restoredTitle = restoreOnUnmount(originalTitle, title.value || \"\");\n if (restoredTitle != null && document)\n document.title = restoredTitle;\n }\n });\n return title;\n}\n\nconst _TransitionPresets = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nconst TransitionPresets = /* @__PURE__ */ Object.assign({}, { linear: identity }, _TransitionPresets);\nfunction createEasingFunction([p0, p1, p2, p3]) {\n const a = (a1, a2) => 1 - 3 * a2 + 3 * a1;\n const b = (a1, a2) => 3 * a2 - 6 * a1;\n const c = (a1) => 3 * a1;\n const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);\n const getTforX = (x) => {\n let aGuessT = x;\n for (let i = 0; i < 4; ++i) {\n const currentSlope = getSlope(aGuessT, p0, p2);\n if (currentSlope === 0)\n return aGuessT;\n const currentX = calcBezier(aGuessT, p0, p2) - x;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n };\n return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);\n}\nfunction lerp(a, b, alpha) {\n return a + alpha * (b - a);\n}\nfunction toVec(t) {\n return (typeof t === \"number\" ? [t] : t) || [];\n}\nfunction executeTransition(source, from, to, options = {}) {\n var _a, _b;\n const fromVal = toValue(from);\n const toVal = toValue(to);\n const v1 = toVec(fromVal);\n const v2 = toVec(toVal);\n const duration = (_a = toValue(options.duration)) != null ? _a : 1e3;\n const startedAt = Date.now();\n const endAt = Date.now() + duration;\n const trans = typeof options.transition === \"function\" ? options.transition : (_b = toValue(options.transition)) != null ? _b : identity;\n const ease = typeof trans === \"function\" ? trans : createEasingFunction(trans);\n return new Promise((resolve) => {\n source.value = fromVal;\n const tick = () => {\n var _a2;\n if ((_a2 = options.abort) == null ? void 0 : _a2.call(options)) {\n resolve();\n return;\n }\n const now = Date.now();\n const alpha = ease((now - startedAt) / duration);\n const arr = toVec(source.value).map((n, i) => lerp(v1[i], v2[i], alpha));\n if (Array.isArray(source.value))\n source.value = arr.map((n, i) => {\n var _a3, _b2;\n return lerp((_a3 = v1[i]) != null ? _a3 : 0, (_b2 = v2[i]) != null ? _b2 : 0, alpha);\n });\n else if (typeof source.value === \"number\")\n source.value = arr[0];\n if (now < endAt) {\n requestAnimationFrame(tick);\n } else {\n source.value = toVal;\n resolve();\n }\n };\n tick();\n });\n}\nfunction useTransition(source, options = {}) {\n let currentId = 0;\n const sourceVal = () => {\n const v = toValue(source);\n return typeof v === \"number\" ? v : v.map(toValue);\n };\n const outputRef = ref(sourceVal());\n watch(sourceVal, async (to) => {\n var _a, _b;\n if (toValue(options.disabled))\n return;\n const id = ++currentId;\n if (options.delay)\n await promiseTimeout(toValue(options.delay));\n if (id !== currentId)\n return;\n const toVal = Array.isArray(to) ? to.map(toValue) : toValue(to);\n (_a = options.onStarted) == null ? void 0 : _a.call(options);\n await executeTransition(outputRef, outputRef.value, toVal, {\n ...options,\n abort: () => {\n var _a2;\n return id !== currentId || ((_a2 = options.abort) == null ? void 0 : _a2.call(options));\n }\n });\n (_b = options.onFinished) == null ? void 0 : _b.call(options);\n }, { deep: true });\n watch(() => toValue(options.disabled), (disabled) => {\n if (disabled) {\n currentId++;\n outputRef.value = sourceVal();\n }\n });\n tryOnScopeDispose(() => {\n currentId++;\n });\n return computed(() => toValue(options.disabled) ? sourceVal() : outputRef.value);\n}\n\nfunction useUrlSearchParams(mode = \"history\", options = {}) {\n const {\n initialValue = {},\n removeNullishValues = true,\n removeFalsyValues = false,\n write: enableWrite = true,\n window = defaultWindow\n } = options;\n if (!window)\n return reactive(initialValue);\n const state = reactive({});\n function getRawParams() {\n if (mode === \"history\") {\n return window.location.search || \"\";\n } else if (mode === \"hash\") {\n const hash = window.location.hash || \"\";\n const index = hash.indexOf(\"?\");\n return index > 0 ? hash.slice(index) : \"\";\n } else {\n return (window.location.hash || \"\").replace(/^#/, \"\");\n }\n }\n function constructQuery(params) {\n const stringified = params.toString();\n if (mode === \"history\")\n return `${stringified ? `?${stringified}` : \"\"}${window.location.hash || \"\"}`;\n if (mode === \"hash-params\")\n return `${window.location.search || \"\"}${stringified ? `#${stringified}` : \"\"}`;\n const hash = window.location.hash || \"#\";\n const index = hash.indexOf(\"?\");\n if (index > 0)\n return `${hash.slice(0, index)}${stringified ? `?${stringified}` : \"\"}`;\n return `${hash}${stringified ? `?${stringified}` : \"\"}`;\n }\n function read() {\n return new URLSearchParams(getRawParams());\n }\n function updateState(params) {\n const unusedKeys = new Set(Object.keys(state));\n for (const key of params.keys()) {\n const paramsForKey = params.getAll(key);\n state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || \"\";\n unusedKeys.delete(key);\n }\n Array.from(unusedKeys).forEach((key) => delete state[key]);\n }\n const { pause, resume } = pausableWatch(\n state,\n () => {\n const params = new URLSearchParams(\"\");\n Object.keys(state).forEach((key) => {\n const mapEntry = state[key];\n if (Array.isArray(mapEntry))\n mapEntry.forEach((value) => params.append(key, value));\n else if (removeNullishValues && mapEntry == null)\n params.delete(key);\n else if (removeFalsyValues && !mapEntry)\n params.delete(key);\n else\n params.set(key, mapEntry);\n });\n write(params);\n },\n { deep: true }\n );\n function write(params, shouldUpdate) {\n pause();\n if (shouldUpdate)\n updateState(params);\n window.history.replaceState(\n window.history.state,\n window.document.title,\n window.location.pathname + constructQuery(params)\n );\n resume();\n }\n function onChanged() {\n if (!enableWrite)\n return;\n write(read(), true);\n }\n useEventListener(window, \"popstate\", onChanged, false);\n if (mode !== \"history\")\n useEventListener(window, \"hashchange\", onChanged, false);\n const initial = read();\n if (initial.keys().next().value)\n updateState(initial);\n else\n Object.assign(state, initialValue);\n return state;\n}\n\nfunction useUserMedia(options = {}) {\n var _a, _b;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const autoSwitch = ref((_b = options.autoSwitch) != null ? _b : true);\n const constraints = ref(options.constraints);\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getUserMedia;\n });\n const stream = shallowRef();\n function getDeviceOptions(type) {\n switch (type) {\n case \"video\": {\n if (constraints.value)\n return constraints.value.video || false;\n break;\n }\n case \"audio\": {\n if (constraints.value)\n return constraints.value.audio || false;\n break;\n }\n }\n }\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getUserMedia({\n video: getDeviceOptions(\"video\"),\n audio: getDeviceOptions(\"audio\")\n });\n return stream.value;\n }\n function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n async function restart() {\n _stop();\n return await start();\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else _stop();\n },\n { immediate: true }\n );\n watch(\n constraints,\n () => {\n if (autoSwitch.value && stream.value)\n restart();\n },\n { immediate: true }\n );\n tryOnScopeDispose(() => {\n stop();\n });\n return {\n isSupported,\n stream,\n start,\n stop,\n restart,\n constraints,\n enabled,\n autoSwitch\n };\n}\n\nfunction useVModel(props, key, emit, options = {}) {\n var _a, _b, _c, _d, _e;\n const {\n clone = false,\n passive = false,\n eventName,\n deep = false,\n defaultValue,\n shouldEmit\n } = options;\n const vm = getCurrentInstance();\n const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy));\n let event = eventName;\n if (!key) {\n if (isVue2) {\n const modelOptions = (_e = (_d = vm == null ? void 0 : vm.proxy) == null ? void 0 : _d.$options) == null ? void 0 : _e.model;\n key = (modelOptions == null ? void 0 : modelOptions.value) || \"value\";\n if (!eventName)\n event = (modelOptions == null ? void 0 : modelOptions.event) || \"input\";\n } else {\n key = \"modelValue\";\n }\n }\n event = event || `update:${key.toString()}`;\n const cloneFn = (val) => !clone ? val : typeof clone === \"function\" ? clone(val) : cloneFnJSON(val);\n const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;\n const triggerEmit = (value) => {\n if (shouldEmit) {\n if (shouldEmit(value))\n _emit(event, value);\n } else {\n _emit(event, value);\n }\n };\n if (passive) {\n const initialValue = getValue();\n const proxy = ref(initialValue);\n let isUpdating = false;\n watch(\n () => props[key],\n (v) => {\n if (!isUpdating) {\n isUpdating = true;\n proxy.value = cloneFn(v);\n nextTick(() => isUpdating = false);\n }\n }\n );\n watch(\n proxy,\n (v) => {\n if (!isUpdating && (v !== props[key] || deep))\n triggerEmit(v);\n },\n { deep }\n );\n return proxy;\n } else {\n return computed({\n get() {\n return getValue();\n },\n set(value) {\n triggerEmit(value);\n }\n });\n }\n}\n\nfunction useVModels(props, emit, options = {}) {\n const ret = {};\n for (const key in props) {\n ret[key] = useVModel(\n props,\n key,\n emit,\n options\n );\n }\n return ret;\n}\n\nfunction useVibrate(options) {\n const {\n pattern = [],\n interval = 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => typeof navigator !== \"undefined\" && \"vibrate\" in navigator);\n const patternRef = toRef(pattern);\n let intervalControls;\n const vibrate = (pattern2 = patternRef.value) => {\n if (isSupported.value)\n navigator.vibrate(pattern2);\n };\n const stop = () => {\n if (isSupported.value)\n navigator.vibrate(0);\n intervalControls == null ? void 0 : intervalControls.pause();\n };\n if (interval > 0) {\n intervalControls = useIntervalFn(\n vibrate,\n interval,\n {\n immediate: false,\n immediateCallback: false\n }\n );\n }\n return {\n isSupported,\n pattern,\n intervalControls,\n vibrate,\n stop\n };\n}\n\nfunction useVirtualList(list, options) {\n const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = \"itemHeight\" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list);\n return {\n list: currentList,\n scrollTo,\n containerProps: {\n ref: containerRef,\n onScroll: () => {\n calculateRange();\n },\n style: containerStyle\n },\n wrapperProps\n };\n}\nfunction useVirtualListResources(list) {\n const containerRef = ref(null);\n const size = useElementSize(containerRef);\n const currentList = ref([]);\n const source = shallowRef(list);\n const state = ref({ start: 0, end: 10 });\n return { state, source, currentList, size, containerRef };\n}\nfunction createGetViewCapacity(state, source, itemSize) {\n return (containerSize) => {\n if (typeof itemSize === \"number\")\n return Math.ceil(containerSize / itemSize);\n const { start = 0 } = state.value;\n let sum = 0;\n let capacity = 0;\n for (let i = start; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n capacity = i;\n if (sum > containerSize)\n break;\n }\n return capacity - start;\n };\n}\nfunction createGetOffset(source, itemSize) {\n return (scrollDirection) => {\n if (typeof itemSize === \"number\")\n return Math.floor(scrollDirection / itemSize) + 1;\n let sum = 0;\n let offset = 0;\n for (let i = 0; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n if (sum >= scrollDirection) {\n offset = i;\n break;\n }\n }\n return offset + 1;\n };\n}\nfunction createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) {\n return () => {\n const element = containerRef.value;\n if (element) {\n const offset = getOffset(type === \"vertical\" ? element.scrollTop : element.scrollLeft);\n const viewCapacity = getViewCapacity(type === \"vertical\" ? element.clientHeight : element.clientWidth);\n const from = offset - overscan;\n const to = offset + viewCapacity + overscan;\n state.value = {\n start: from < 0 ? 0 : from,\n end: to > source.value.length ? source.value.length : to\n };\n currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({\n data: ele,\n index: index + state.value.start\n }));\n }\n };\n}\nfunction createGetDistance(itemSize, source) {\n return (index) => {\n if (typeof itemSize === \"number\") {\n const size2 = index * itemSize;\n return size2;\n }\n const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0);\n return size;\n };\n}\nfunction useWatchForSizes(size, list, containerRef, calculateRange) {\n watch([size.width, size.height, list, containerRef], () => {\n calculateRange();\n });\n}\nfunction createComputedTotalSize(itemSize, source) {\n return computed(() => {\n if (typeof itemSize === \"number\")\n return source.value.length * itemSize;\n return source.value.reduce((sum, _, index) => sum + itemSize(index), 0);\n });\n}\nconst scrollToDictionaryForElementScrollKey = {\n horizontal: \"scrollLeft\",\n vertical: \"scrollTop\"\n};\nfunction createScrollTo(type, calculateRange, getDistance, containerRef) {\n return (index) => {\n if (containerRef.value) {\n containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index);\n calculateRange();\n }\n };\n}\nfunction useHorizontalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowX: \"auto\" };\n const { itemWidth, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemWidth);\n const getOffset = createGetOffset(source, itemWidth);\n const calculateRange = createCalculateRange(\"horizontal\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceLeft = createGetDistance(itemWidth, source);\n const offsetLeft = computed(() => getDistanceLeft(state.value.start));\n const totalWidth = createComputedTotalSize(itemWidth, source);\n useWatchForSizes(size, list, containerRef, calculateRange);\n const scrollTo = createScrollTo(\"horizontal\", calculateRange, getDistanceLeft, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n height: \"100%\",\n width: `${totalWidth.value - offsetLeft.value}px`,\n marginLeft: `${offsetLeft.value}px`,\n display: \"flex\"\n }\n };\n });\n return {\n scrollTo,\n calculateRange,\n wrapperProps,\n containerStyle,\n currentList,\n containerRef\n };\n}\nfunction useVerticalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowY: \"auto\" };\n const { itemHeight, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemHeight);\n const getOffset = createGetOffset(source, itemHeight);\n const calculateRange = createCalculateRange(\"vertical\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceTop = createGetDistance(itemHeight, source);\n const offsetTop = computed(() => getDistanceTop(state.value.start));\n const totalHeight = createComputedTotalSize(itemHeight, source);\n useWatchForSizes(size, list, containerRef, calculateRange);\n const scrollTo = createScrollTo(\"vertical\", calculateRange, getDistanceTop, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n width: \"100%\",\n height: `${totalHeight.value - offsetTop.value}px`,\n marginTop: `${offsetTop.value}px`\n }\n };\n });\n return {\n calculateRange,\n scrollTo,\n containerStyle,\n wrapperProps,\n currentList,\n containerRef\n };\n}\n\nfunction useWakeLock(options = {}) {\n const {\n navigator = defaultNavigator,\n document = defaultDocument\n } = options;\n let wakeLock;\n const isSupported = useSupported(() => navigator && \"wakeLock\" in navigator);\n const isActive = ref(false);\n async function onVisibilityChange() {\n if (!isSupported.value || !wakeLock)\n return;\n if (document && document.visibilityState === \"visible\")\n wakeLock = await navigator.wakeLock.request(\"screen\");\n isActive.value = !wakeLock.released;\n }\n if (document)\n useEventListener(document, \"visibilitychange\", onVisibilityChange, { passive: true });\n async function request(type) {\n if (!isSupported.value)\n return;\n wakeLock = await navigator.wakeLock.request(type);\n isActive.value = !wakeLock.released;\n }\n async function release() {\n if (!isSupported.value || !wakeLock)\n return;\n await wakeLock.release();\n isActive.value = !wakeLock.released;\n wakeLock = null;\n }\n return {\n isSupported,\n isActive,\n request,\n release\n };\n}\n\nfunction useWebNotification(options = {}) {\n const {\n window = defaultWindow,\n requestPermissions: _requestForPermissions = true\n } = options;\n const defaultWebNotificationOptions = options;\n const isSupported = useSupported(() => {\n if (!window || !(\"Notification\" in window))\n return false;\n try {\n new Notification(\"\");\n } catch (e) {\n return false;\n }\n return true;\n });\n const permissionGranted = ref(isSupported.value && \"permission\" in Notification && Notification.permission === \"granted\");\n const notification = ref(null);\n const ensurePermissions = async () => {\n if (!isSupported.value)\n return;\n if (!permissionGranted.value && Notification.permission !== \"denied\") {\n const result = await Notification.requestPermission();\n if (result === \"granted\")\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n };\n const { on: onClick, trigger: clickTrigger } = createEventHook();\n const { on: onShow, trigger: showTrigger } = createEventHook();\n const { on: onError, trigger: errorTrigger } = createEventHook();\n const { on: onClose, trigger: closeTrigger } = createEventHook();\n const show = async (overrides) => {\n if (!isSupported.value || !permissionGranted.value)\n return;\n const options2 = Object.assign({}, defaultWebNotificationOptions, overrides);\n notification.value = new Notification(options2.title || \"\", options2);\n notification.value.onclick = clickTrigger;\n notification.value.onshow = showTrigger;\n notification.value.onerror = errorTrigger;\n notification.value.onclose = closeTrigger;\n return notification.value;\n };\n const close = () => {\n if (notification.value)\n notification.value.close();\n notification.value = null;\n };\n if (_requestForPermissions)\n tryOnMounted(ensurePermissions);\n tryOnScopeDispose(close);\n if (isSupported.value && window) {\n const document = window.document;\n useEventListener(document, \"visibilitychange\", (e) => {\n e.preventDefault();\n if (document.visibilityState === \"visible\") {\n close();\n }\n });\n }\n return {\n isSupported,\n notification,\n ensurePermissions,\n permissionGranted,\n show,\n close,\n onClick,\n onShow,\n onError,\n onClose\n };\n}\n\nconst DEFAULT_PING_MESSAGE = \"ping\";\nfunction resolveNestedOptions(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useWebSocket(url, options = {}) {\n const {\n onConnected,\n onDisconnected,\n onError,\n onMessage,\n immediate = true,\n autoClose = true,\n protocols = []\n } = options;\n const data = ref(null);\n const status = ref(\"CLOSED\");\n const wsRef = ref();\n const urlRef = toRef(url);\n let heartbeatPause;\n let heartbeatResume;\n let explicitlyClosed = false;\n let retried = 0;\n let bufferedData = [];\n let pongTimeoutWait;\n const _sendBuffer = () => {\n if (bufferedData.length && wsRef.value && status.value === \"OPEN\") {\n for (const buffer of bufferedData)\n wsRef.value.send(buffer);\n bufferedData = [];\n }\n };\n const resetHeartbeat = () => {\n clearTimeout(pongTimeoutWait);\n pongTimeoutWait = void 0;\n };\n const close = (code = 1e3, reason) => {\n if (!isClient || !wsRef.value)\n return;\n explicitlyClosed = true;\n resetHeartbeat();\n heartbeatPause == null ? void 0 : heartbeatPause();\n wsRef.value.close(code, reason);\n wsRef.value = void 0;\n };\n const send = (data2, useBuffer = true) => {\n if (!wsRef.value || status.value !== \"OPEN\") {\n if (useBuffer)\n bufferedData.push(data2);\n return false;\n }\n _sendBuffer();\n wsRef.value.send(data2);\n return true;\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const ws = new WebSocket(urlRef.value, protocols);\n wsRef.value = ws;\n status.value = \"CONNECTING\";\n ws.onopen = () => {\n status.value = \"OPEN\";\n onConnected == null ? void 0 : onConnected(ws);\n heartbeatResume == null ? void 0 : heartbeatResume();\n _sendBuffer();\n };\n ws.onclose = (ev) => {\n status.value = \"CLOSED\";\n onDisconnected == null ? void 0 : onDisconnected(ws, ev);\n if (!explicitlyClosed && options.autoReconnect) {\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n ws.onerror = (e) => {\n onError == null ? void 0 : onError(ws, e);\n };\n ws.onmessage = (e) => {\n if (options.heartbeat) {\n resetHeartbeat();\n const {\n message = DEFAULT_PING_MESSAGE\n } = resolveNestedOptions(options.heartbeat);\n if (e.data === message)\n return;\n }\n data.value = e.data;\n onMessage == null ? void 0 : onMessage(ws, e);\n };\n };\n if (options.heartbeat) {\n const {\n message = DEFAULT_PING_MESSAGE,\n interval = 1e3,\n pongTimeout = 1e3\n } = resolveNestedOptions(options.heartbeat);\n const { pause, resume } = useIntervalFn(\n () => {\n send(message, false);\n if (pongTimeoutWait != null)\n return;\n pongTimeoutWait = setTimeout(() => {\n close();\n explicitlyClosed = false;\n }, pongTimeout);\n },\n interval,\n { immediate: false }\n );\n heartbeatPause = pause;\n heartbeatResume = resume;\n }\n if (autoClose) {\n if (isClient)\n useEventListener(\"beforeunload\", () => close());\n tryOnScopeDispose(close);\n }\n const open = () => {\n if (!isClient && !isWorker)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n open();\n watch(urlRef, open);\n return {\n data,\n status,\n close,\n send,\n open,\n ws: wsRef\n };\n}\n\nfunction useWebWorker(arg0, workerOptions, options) {\n const {\n window = defaultWindow\n } = options != null ? options : {};\n const data = ref(null);\n const worker = shallowRef();\n const post = (...args) => {\n if (!worker.value)\n return;\n worker.value.postMessage(...args);\n };\n const terminate = function terminate2() {\n if (!worker.value)\n return;\n worker.value.terminate();\n };\n if (window) {\n if (typeof arg0 === \"string\")\n worker.value = new Worker(arg0, workerOptions);\n else if (typeof arg0 === \"function\")\n worker.value = arg0();\n else\n worker.value = arg0;\n worker.value.onmessage = (e) => {\n data.value = e.data;\n };\n tryOnScopeDispose(() => {\n if (worker.value)\n worker.value.terminate();\n });\n }\n return {\n data,\n post,\n terminate,\n worker\n };\n}\n\nfunction jobRunner(userFunc) {\n return (e) => {\n const userFuncArgs = e.data[0];\n return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => {\n postMessage([\"SUCCESS\", result]);\n }).catch((error) => {\n postMessage([\"ERROR\", error]);\n });\n };\n}\n\nfunction depsParser(deps, localDeps) {\n if (deps.length === 0 && localDeps.length === 0)\n return \"\";\n const depsString = deps.map((dep) => `'${dep}'`).toString();\n const depsFunctionString = localDeps.filter((dep) => typeof dep === \"function\").map((fn) => {\n const str = fn.toString();\n if (str.trim().startsWith(\"function\")) {\n return str;\n } else {\n const name = fn.name;\n return `const ${name} = ${str}`;\n }\n }).join(\";\");\n const importString = `importScripts(${depsString});`;\n return `${depsString.trim() === \"\" ? \"\" : importString} ${depsFunctionString}`;\n}\n\nfunction createWorkerBlobUrl(fn, deps, localDeps) {\n const blobCode = `${depsParser(deps, localDeps)}; onmessage=(${jobRunner})(${fn})`;\n const blob = new Blob([blobCode], { type: \"text/javascript\" });\n const url = URL.createObjectURL(blob);\n return url;\n}\n\nfunction useWebWorkerFn(fn, options = {}) {\n const {\n dependencies = [],\n localDependencies = [],\n timeout,\n window = defaultWindow\n } = options;\n const worker = ref();\n const workerStatus = ref(\"PENDING\");\n const promise = ref({});\n const timeoutId = ref();\n const workerTerminate = (status = \"PENDING\") => {\n if (worker.value && worker.value._url && window) {\n worker.value.terminate();\n URL.revokeObjectURL(worker.value._url);\n promise.value = {};\n worker.value = void 0;\n window.clearTimeout(timeoutId.value);\n workerStatus.value = status;\n }\n };\n workerTerminate();\n tryOnScopeDispose(workerTerminate);\n const generateWorker = () => {\n const blobUrl = createWorkerBlobUrl(fn, dependencies, localDependencies);\n const newWorker = new Worker(blobUrl);\n newWorker._url = blobUrl;\n newWorker.onmessage = (e) => {\n const { resolve = () => {\n }, reject = () => {\n } } = promise.value;\n const [status, result] = e.data;\n switch (status) {\n case \"SUCCESS\":\n resolve(result);\n workerTerminate(status);\n break;\n default:\n reject(result);\n workerTerminate(\"ERROR\");\n break;\n }\n };\n newWorker.onerror = (e) => {\n const { reject = () => {\n } } = promise.value;\n e.preventDefault();\n reject(e);\n workerTerminate(\"ERROR\");\n };\n if (timeout) {\n timeoutId.value = setTimeout(\n () => workerTerminate(\"TIMEOUT_EXPIRED\"),\n timeout\n );\n }\n return newWorker;\n };\n const callWorker = (...fnArgs) => new Promise((resolve, reject) => {\n promise.value = {\n resolve,\n reject\n };\n worker.value && worker.value.postMessage([[...fnArgs]]);\n workerStatus.value = \"RUNNING\";\n });\n const workerFn = (...fnArgs) => {\n if (workerStatus.value === \"RUNNING\") {\n console.error(\n \"[useWebWorkerFn] You can only run one instance of the worker at a time.\"\n );\n return Promise.reject();\n }\n worker.value = generateWorker();\n return callWorker(...fnArgs);\n };\n return {\n workerFn,\n workerStatus,\n workerTerminate\n };\n}\n\nfunction useWindowFocus(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref(false);\n const focused = ref(window.document.hasFocus());\n useEventListener(window, \"blur\", () => {\n focused.value = false;\n });\n useEventListener(window, \"focus\", () => {\n focused.value = true;\n });\n return focused;\n}\n\nfunction useWindowScroll(options = {}) {\n const { window = defaultWindow, behavior = \"auto\" } = options;\n if (!window) {\n return {\n x: ref(0),\n y: ref(0)\n };\n }\n const internalX = ref(window.scrollX);\n const internalY = ref(window.scrollY);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo({ left: x2, behavior });\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo({ top: y2, behavior });\n }\n });\n useEventListener(\n window,\n \"scroll\",\n () => {\n internalX.value = window.scrollX;\n internalY.value = window.scrollY;\n },\n {\n capture: false,\n passive: true\n }\n );\n return { x, y };\n}\n\nfunction useWindowSize(options = {}) {\n const {\n window = defaultWindow,\n initialWidth = Number.POSITIVE_INFINITY,\n initialHeight = Number.POSITIVE_INFINITY,\n listenOrientation = true,\n includeScrollbar = true\n } = options;\n const width = ref(initialWidth);\n const height = ref(initialHeight);\n const update = () => {\n if (window) {\n if (includeScrollbar) {\n width.value = window.innerWidth;\n height.value = window.innerHeight;\n } else {\n width.value = window.document.documentElement.clientWidth;\n height.value = window.document.documentElement.clientHeight;\n }\n }\n };\n update();\n tryOnMounted(update);\n useEventListener(\"resize\", update, { passive: true });\n if (listenOrientation) {\n const matches = useMediaQuery(\"(orientation: portrait)\");\n watch(matches, () => update());\n }\n return { width, height };\n}\n\nexport { DefaultMagicKeysAliasMap, StorageSerializers, TransitionPresets, computedAsync as asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsMasterCss, breakpointsPrimeFlex, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, breakpointsVuetifyV2, breakpointsVuetifyV3, cloneFnJSON, computedAsync, computedInject, createFetch, createReusableTemplate, createTemplatePromise, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, executeTransition, formatTimeAgo, getSSRHandler, mapGamepadToXbox360Controller, onClickOutside, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, setSSRHandler, templateRef, unrefElement, useActiveElement, useAnimate, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useClipboardItems, useCloned, useColorMode, useConfirmDialog, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, useParentElement, usePerformanceObserver, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useRafFn, useRefHistory, useResizeObserver, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize };\n"],"names":["unrefElement","elRef","_a","plain","toValue","defaultWindow","isClient","useEventListener","args","target","events","listeners","options","noop","cleanups","cleanup","fn","register","el","event","listener","options2","stopWatch","watch","optionsClone","isObject","stop","tryOnScopeDispose","DEFAULT_DELAY","DEFAULT_THRESHOLD","onLongPress","handler","_b","elementRef","computed","timeout","posStart","startTimestamp","hasLongPressed","clear","onRelease","ev","_a2","_b2","_c","_startTimestamp","_posStart","_hasLongPressed","dx","dy","distance","onDown","_d","onMove","listenerOptions","useMounted","isMounted","ref","instance","getCurrentInstance","onMounted","useSupported","callback","useMediaQuery","query","window","isSupported","mediaQuery","matches","watchEffect","useBreakpoints","breakpoints","getValue","k","delta","v","increaseWithUnit","strategy","match","greaterOrEqual","smallerOrEqual","shortcutMethods","shortcuts","current","points","i","a","b","bps","_global","globalKey","handlers","getHandlers","getSSRHandler","key","fallback","guessSerializerType","rawInit","StorageSerializers","customStorageEventName","useStorage","defaults","storage","flush","deep","listenToStorageChanges","writeDefaults","mergeDefaults","shallow","eventFilter","onError","e","initOnMounted","data","shallowRef","type","serializer","pauseWatch","resumeWatch","pausableWatch","write","tryOnMounted","update","updateFromCustomEvent","dispatchWriteEvent","oldValue","newValue","serialized","read","rawValue","value","nextTick","usePreferredDark","useColorMode","selector","attribute","initialValue","storageKey","storageRef","emitAuto","disableTransition","modes","preferredDark","system","store","toRef","state","updateHTMLAttrs","selector2","attribute2","style","defaultOnChanged","mode","onChanged","auto","useCycleList","list","getInitialValue","listRef","index","targetList","index2","set","length","shift","next","prev","useResizeObserver","observerOptions","observer","targets","els","_el","useElementSize","initialSize","box","isSVG","width","height","stop1","entry","boxSize","$elem","rect","formatBoxSize","acc","inlineSize","blockSize","ele","stop2","useIntersectionObserver","root","rootMargin","threshold","immediate","_target","notNullish","isActive","targets2","root2","resolveElement","useLocalStorage","useNetwork","navigator","isOnline","saveData","offlineAt","onlineAt","downlink","downlinkMax","rtt","effectiveType","connection","updateNetworkInformation","checkOverflowScroll","parent","preventDefault","rawEvent","elInitialOverflow","useScrollLock","element","initialState","isLocked","stopTouchMoveListener","initialOverflow","lock","isIOS","unlock"],"mappings":"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","x_google_ignoreList":[0]}
|