@vc-shell/framework 2.0.0-alpha.8 → 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 -532
- package/dist/ai-agent/index.js +13 -0
- package/dist/ai-agent/index.js.map +1 -0
- package/dist/assets/042c75b764bc78a7.svg +1 -0
- package/dist/assets/0ba156439a339f2a.svg +1 -0
- package/dist/assets/0be560bfb22d0e72.woff2 +0 -0
- package/dist/assets/0d67e9e056b4c500.woff +0 -0
- package/dist/assets/0f590f8a94577092.svg +1 -0
- package/dist/assets/0fc5820f8be53a1b.svg +1 -0
- package/dist/assets/105efd028edc1dfe.woff +0 -0
- package/dist/assets/10768e2cc79fc60b.svg +1 -0
- package/dist/assets/11b3d25a56fd9a21.woff2 +0 -0
- package/dist/assets/131b34336aedaf47.woff +0 -0
- package/dist/assets/154365acf3010d96.woff2 +0 -0
- package/dist/assets/157b8721e0600ea8.svg +1 -0
- package/dist/assets/15e91cdd649cde9a.svg +1 -0
- package/dist/assets/19275e398ae57130.woff2 +0 -0
- package/dist/assets/19bb1c668a5db39f.woff2 +0 -0
- package/dist/assets/1a3e84b2457f709a.woff +0 -0
- package/dist/assets/1de63eb118636cce.svg +1 -0
- package/dist/assets/1ea01de36eb5491b.svg +1 -0
- package/dist/assets/2010ada3e82156ed.woff +0 -0
- package/dist/assets/204eaf512fde2023.svg +1 -0
- package/dist/assets/2088983edf42e153.svg +1 -0
- package/dist/assets/208f810a9321a327.svg +1 -0
- package/dist/assets/21220a9d10e6c558.svg +1 -0
- package/dist/assets/220db345a102045d.woff2 +0 -0
- package/dist/assets/225da11d23968333.svg +1 -0
- package/dist/assets/226f862dd81bdc13.woff2 +0 -0
- package/dist/assets/23a2d53395ddb14f.woff +0 -0
- package/dist/assets/259e6ad461a52ad7.svg +1 -0
- package/dist/assets/261e6dec4d53b9ac.woff +0 -0
- package/dist/assets/262f46a0b6d94bb6.svg +1 -0
- package/dist/assets/2857c513073467da.svg +1 -0
- package/dist/assets/2b3be7889467d98f.woff +0 -0
- package/dist/assets/2d4e6190eec72737.svg +1 -0
- package/dist/assets/2eba973185078bc8.woff +0 -0
- package/dist/assets/334d3f6bc766c516.woff +0 -0
- package/dist/assets/34ff7dd0c2285956.svg +1 -0
- package/dist/assets/3d26b7c1ab78bbe2.woff +0 -0
- package/dist/assets/3d892965ab4f1cbb.woff2 +0 -0
- package/dist/assets/3f8c4cc8099e34b6.woff2 +0 -0
- package/dist/assets/3fc09a6113184f16.woff +0 -0
- package/dist/assets/40a0e53b79ce63c6.woff2 +0 -0
- package/dist/assets/41275bcb979cb650.svg +1 -0
- package/dist/assets/434f7982590e462f.woff +0 -0
- package/dist/assets/475937116ee3314a.woff2 +0 -0
- package/dist/assets/477e1881a0394cc5.woff +0 -0
- package/dist/assets/489710fb710e73f0.woff +0 -0
- package/dist/assets/49791943b3872376.woff2 +0 -0
- package/dist/assets/4ae5f23e0ca888e7.woff2 +0 -0
- package/dist/assets/4d7a77b0e5373992.svg +1 -0
- package/dist/assets/4e43c74354534fb3.svg +1 -0
- package/dist/assets/4fe75f5117100705.svg +1 -0
- package/dist/assets/52e261a005074e1b.woff +0 -0
- package/dist/assets/5304c3d05a5f9789.woff2 +0 -0
- package/dist/assets/54cda5482c6c9218.woff +0 -0
- package/dist/assets/550f52072e8ccafe.woff2 +0 -0
- package/dist/assets/572bb1bb4156a9c1.svg +1 -0
- package/dist/assets/6075995d7e74da46.woff2 +0 -0
- package/dist/assets/617c4736236e199e.woff +0 -0
- package/dist/assets/67230f05dc94a265.svg +1 -0
- package/dist/assets/6798e4dd4add9b48.svg +1 -0
- package/dist/assets/686d4077c1e26876.woff2 +0 -0
- package/dist/assets/698ec6c722d4cb05.woff2 +0 -0
- package/dist/assets/6a3e73faf406cf33.svg +1 -0
- package/dist/assets/72de3a63bc0b70dd.svg +1 -0
- package/dist/assets/74c6a6ab81bb6340.woff2 +0 -0
- package/dist/assets/74ed5f8a78e71106.svg +1 -0
- package/dist/assets/7a5aa5abd625137f.ttf +0 -0
- package/dist/assets/7ce0c166fd6a1204.woff +0 -0
- package/dist/assets/7d55399c2a7bc985.svg +1 -0
- package/dist/assets/7d970675c69fca1d.woff +0 -0
- package/dist/assets/7eda727273fd98d3.svg +1 -0
- package/dist/assets/7f6ebfd707b76ca2.woff +0 -0
- package/dist/assets/7fa898d213fcc7bc.woff2 +0 -0
- package/dist/assets/861e6b7192b3b6c7.woff +0 -0
- package/dist/assets/8bbcde81ba21ecb2.woff2 +0 -0
- package/dist/assets/8f6657e5e0b8d3e4.woff +0 -0
- package/dist/assets/910b0d99b9e26568.svg +1 -0
- package/dist/assets/91fe94e424323d61.woff +0 -0
- package/dist/assets/92508f8707159b51.svg +1 -0
- package/dist/assets/9392bf1d591e1abb.svg +1 -0
- package/dist/assets/97e8d4984ba0713a.woff2 +0 -0
- package/dist/assets/9cb83236f6bb7ab1.svg +1 -0
- package/dist/assets/9d37314695c0b68d.woff +0 -0
- package/dist/assets/a03cdcd8da5bb987.woff +0 -0
- package/dist/assets/a18404194e3f9047.svg +1 -0
- package/dist/assets/a2017fe7f0a26510.svg +1 -0
- package/dist/assets/ab6e7190bb1492d5.woff2 +0 -0
- package/dist/assets/abf88f301a0730f4.svg +1 -0
- package/dist/assets/ac1a99b3d05d8232.woff +0 -0
- package/dist/assets/aed17cb6fdad2ada.woff2 +0 -0
- package/dist/assets/b1a596e31ad1185a.svg +1 -0
- package/dist/assets/b27767411c8427be.woff +0 -0
- package/dist/assets/b325adcae33bbe7a.svg +1 -0
- package/dist/assets/b372390551ca2fa1.svg +1 -0
- package/dist/assets/b5bb1e8fc975decd.svg +1 -0
- package/dist/assets/b645a4a2181b9dc1.svg +1 -0
- package/dist/assets/b6499ddce0a4ef7d.svg +1 -0
- package/dist/assets/b7ffde2383bb16ba.woff2 +0 -0
- package/dist/assets/b94421fadd23b0f2.svg +1 -0
- package/dist/assets/bb28fb0f27f1c11b.svg +1 -0
- package/dist/assets/c5195215cb712e9c.woff2 +0 -0
- package/dist/assets/c9191b638a10f67b.woff2 +0 -0
- package/dist/assets/c97328b91ac5cc66.woff +0 -0
- package/dist/assets/ca791c5ca5848a03.svg +1 -0
- package/dist/assets/cb32840ce330103f.woff +0 -0
- package/dist/assets/ccc878931d74181b.woff2 +0 -0
- package/dist/assets/cdc69f8b549c866d.woff2 +0 -0
- package/dist/assets/d084bda16abe8a56.svg +1 -0
- package/dist/assets/d32b129cae2fffd6.svg +1 -0
- package/dist/assets/d35a4c7113315758.woff2 +0 -0
- package/dist/assets/d3f792f54ae4c307.svg +1 -0
- package/dist/assets/d5a5b8630120073d.svg +1 -0
- package/dist/assets/d5eb20bcdcf5616a.woff2 +0 -0
- package/dist/assets/d5f9664ebbfb104b.svg +1 -0
- package/dist/assets/d84247b59449dd88.woff2 +0 -0
- package/dist/assets/da4b7f5883fe7743.woff2 +0 -0
- package/dist/assets/dceaf3b39091e6a4.woff +0 -0
- package/dist/assets/dd05d43ff0df2fc7.svg +1 -0
- package/dist/assets/e2ad5b3428289141.woff +0 -0
- package/dist/assets/e38acaa1757232e0.svg +1 -0
- package/dist/assets/e4a8550f1c7ffe36.svg +1 -0
- package/dist/assets/e5adb5ae3a3698f6.svg +1 -0
- package/dist/assets/e61a1889bac955f4.woff2 +0 -0
- package/dist/assets/e72bb11356af94c7.svg +1 -0
- package/dist/assets/e98196a9f8dcb2f0.svg +1 -0
- package/dist/assets/ebec912a42ad49ff.woff +0 -0
- package/dist/assets/ee6983981ffcbb41.woff2 +0 -0
- package/dist/assets/f09d89268e4c0317.svg +1 -0
- package/dist/assets/f239394367fcf005.woff2 +0 -0
- package/dist/assets/f5722262b6e7214e.woff2 +0 -0
- package/dist/assets/f7fc8bf46089d8b2.svg +1 -0
- package/dist/assets/fc829e3f399b70e0.woff2 +0 -0
- package/dist/assets/fe141d99763f5d2b.woff +0 -0
- package/dist/assets/fed13b0d59903483.svg +1 -0
- package/dist/assets/fed757d2c2344ead.woff2 +0 -0
- package/dist/assets/ffc438f20e79ce73.woff +0 -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 +18 -0
- package/dist/chunks/vendor-boolbase-DYkUBG-P.js.map +1 -0
- package/dist/chunks/vendor-cheerio-DE71XQ9x.js +1053 -0
- package/dist/chunks/vendor-cheerio-DE71XQ9x.js.map +1 -0
- package/dist/chunks/vendor-cheerio-select-D-qK1Cpo.js +191 -0
- package/dist/chunks/vendor-cheerio-select-D-qK1Cpo.js.map +1 -0
- package/dist/chunks/vendor-css-select-DqoO1-RK.js +622 -0
- package/dist/chunks/vendor-css-select-DqoO1-RK.js.map +1 -0
- package/dist/chunks/vendor-css-what-CZZaquJM.js +267 -0
- package/dist/chunks/vendor-css-what-CZZaquJM.js.map +1 -0
- package/dist/chunks/vendor-cypress-signalr-mock-itnm2wpA.js +781 -0
- package/dist/chunks/vendor-cypress-signalr-mock-itnm2wpA.js.map +1 -0
- package/dist/chunks/vendor-d3-array-9cpTrqlO.js +149 -0
- package/dist/chunks/vendor-d3-array-9cpTrqlO.js.map +1 -0
- package/dist/chunks/vendor-d3-axis-D1_DbKLz.js +74 -0
- package/dist/chunks/vendor-d3-axis-D1_DbKLz.js.map +1 -0
- package/dist/chunks/vendor-d3-brush-CcKeJp9e.js +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 +306 -0
- package/dist/chunks/vendor-d3-color-BOYE6h_9.js.map +1 -0
- package/dist/chunks/vendor-d3-dispatch-fx-WMg0D.js +64 -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 +8 -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 +182 -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 +177 -0
- package/dist/chunks/vendor-d3-interpolate-BYG2gvO4.js.map +1 -0
- package/dist/chunks/vendor-d3-interpolate-path-CpGLvKgS.js +299 -0
- package/dist/chunks/vendor-d3-interpolate-path-CpGLvKgS.js.map +1 -0
- package/dist/chunks/vendor-d3-path-DJOTitNW.js +64 -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 +561 -0
- package/dist/chunks/vendor-d3-scale-CC5rtdt5.js.map +1 -0
- package/dist/chunks/vendor-d3-selection-CNMxsYiL.js +603 -0
- package/dist/chunks/vendor-d3-selection-CNMxsYiL.js.map +1 -0
- package/dist/chunks/vendor-d3-shape-DBhCDMiV.js +925 -0
- package/dist/chunks/vendor-d3-shape-DBhCDMiV.js.map +1 -0
- package/dist/chunks/vendor-d3-time-DAPP210_.js +212 -0
- package/dist/chunks/vendor-d3-time-DAPP210_.js.map +1 -0
- package/dist/chunks/vendor-d3-time-format-hD7iE2WG.js +491 -0
- package/dist/chunks/vendor-d3-time-format-hD7iE2WG.js.map +1 -0
- package/dist/chunks/vendor-d3-timer-C1cUWKPz.js +67 -0
- package/dist/chunks/vendor-d3-timer-C1cUWKPz.js.map +1 -0
- package/dist/chunks/vendor-d3-transition-BbNQT7qF.js +524 -0
- package/dist/chunks/vendor-d3-transition-BbNQT7qF.js.map +1 -0
- package/dist/chunks/vendor-d3-zoom-CcKeJp9e.js +1 -0
- package/dist/chunks/vendor-d3-zoom-CcKeJp9e.js.map +1 -0
- package/dist/chunks/vendor-date-fns-BKO3x1R1.js +3102 -0
- package/dist/chunks/vendor-date-fns-BKO3x1R1.js.map +1 -0
- package/dist/chunks/vendor-dom-serializer-BbVuF1MQ.js +213 -0
- package/dist/chunks/vendor-dom-serializer-BbVuF1MQ.js.map +1 -0
- package/dist/chunks/vendor-domelementtype-B3sFIGaC.js +21 -0
- package/dist/chunks/vendor-domelementtype-B3sFIGaC.js.map +1 -0
- package/dist/chunks/vendor-domhandler-Kufn9M_V.js +311 -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 +386 -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 +274 -0
- package/dist/chunks/vendor-emotion-cache-eEZT5l-Q.js.map +1 -0
- package/dist/chunks/vendor-emotion-hash-DImMRhyK.js +22 -0
- package/dist/chunks/vendor-emotion-hash-DImMRhyK.js.map +1 -0
- package/dist/chunks/vendor-emotion-memoize-BcEUCz8q.js +9 -0
- package/dist/chunks/vendor-emotion-memoize-BcEUCz8q.js.map +1 -0
- package/dist/chunks/vendor-emotion-serialize-BSDW8NwU.js +123 -0
- package/dist/chunks/vendor-emotion-serialize-BSDW8NwU.js.map +1 -0
- package/dist/chunks/vendor-emotion-sheet-CS8ZBl9s.js +44 -0
- package/dist/chunks/vendor-emotion-sheet-CS8ZBl9s.js.map +1 -0
- package/dist/chunks/vendor-emotion-unitless-B7u1PU6w.js +53 -0
- package/dist/chunks/vendor-emotion-unitless-B7u1PU6w.js.map +1 -0
- package/dist/chunks/vendor-emotion-utils-D7refZTM.js +28 -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 +364 -0
- package/dist/chunks/vendor-entities-J86Og8IU.js.map +1 -0
- package/dist/chunks/vendor-floating-ui-core-BoHdh92a.js +432 -0
- package/dist/chunks/vendor-floating-ui-core-BoHdh92a.js.map +1 -0
- package/dist/chunks/vendor-floating-ui-dom-BvVXFZ4B.js +398 -0
- package/dist/chunks/vendor-floating-ui-dom-BvVXFZ4B.js.map +1 -0
- package/dist/chunks/vendor-floating-ui-utils-CidJRIm2.js +257 -0
- package/dist/chunks/vendor-floating-ui-utils-CidJRIm2.js.map +1 -0
- package/dist/chunks/vendor-floating-ui-vue-sCrhit51.js +121 -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 +961 -0
- package/dist/chunks/vendor-headlessui-vue-Cn-RMs4E.js.map +1 -0
- package/dist/chunks/vendor-htmlparser2-BxKKzWLL.js +735 -0
- package/dist/chunks/vendor-htmlparser2-BxKKzWLL.js.map +1 -0
- package/dist/chunks/vendor-internmap-Q5729_cS.js +35 -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 +784 -0
- package/dist/chunks/vendor-iso-639-1-BEjYyfKo.js.map +1 -0
- package/dist/chunks/vendor-juggle-resize-observer-DiSiNbbT.js +286 -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 +199 -0
- package/dist/chunks/vendor-linkify-it-LzoUhj6C.js.map +1 -0
- package/dist/chunks/vendor-linkifyjs-dCH9UYes.js +701 -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 +2266 -0
- package/dist/chunks/vendor-markdown-it-Bs9KEWkF.js.map +1 -0
- package/dist/chunks/vendor-markdown-it-task-lists-CHKeJZfk.js +69 -0
- package/dist/chunks/vendor-markdown-it-task-lists-CHKeJZfk.js.map +1 -0
- package/dist/chunks/vendor-mdurl-DZFDNdqC.js +192 -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 +45 -0
- package/dist/chunks/vendor-nth-check-D0N1qpsw.js.map +1 -0
- package/dist/chunks/vendor-orderedmap-B3SOk52B.js +103 -0
- package/dist/chunks/vendor-orderedmap-B3SOk52B.js.map +1 -0
- package/dist/chunks/vendor-parse5-htmlparser2-tree-adapter-BUDJ887-.js +143 -0
- package/dist/chunks/vendor-parse5-htmlparser2-tree-adapter-BUDJ887-.js.map +1 -0
- package/dist/chunks/vendor-parse5-zq5Hn0y9.js +5749 -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 +663 -0
- package/dist/chunks/vendor-prosemirror-markdown-rpUTSG_Q.js.map +1 -0
- package/dist/chunks/vendor-prosemirror-model-DAA3avbR.js +2730 -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 +133 -0
- package/dist/chunks/vendor-punycode-js-CgGegfA_.js.map +1 -0
- package/dist/chunks/vendor-rope-sequence-BWC2FSrq.js +100 -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 +120 -0
- package/dist/chunks/vendor-striptags-DtlgQudQ.js.map +1 -0
- package/dist/chunks/vendor-stylis-ClfDrgKE.js +334 -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 +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 +28 -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 +145 -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 +17 -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 +2382 -0
- package/dist/chunks/vendor-unovis-ts-stSsHr9j.js.map +1 -0
- package/dist/chunks/vendor-unovis-vue-CZWGT3-0.js +446 -0
- package/dist/chunks/vendor-unovis-vue-CZWGT3-0.js.map +1 -0
- package/dist/chunks/vendor-vee-validate-i18n-zT8NxX3R.js +93 -0
- package/dist/chunks/vendor-vee-validate-i18n-zT8NxX3R.js.map +1 -0
- package/dist/chunks/vendor-vee-validate-rules-4oWUZPpG.js +316 -0
- package/dist/chunks/vendor-vee-validate-rules-4oWUZPpG.js.map +1 -0
- package/dist/chunks/vendor-vue-currency-input-CckB4kjx.js +317 -0
- package/dist/chunks/vendor-vue-currency-input-CckB4kjx.js.map +1 -0
- package/dist/chunks/vendor-vue-demi-CD9yLWd7.js +1 -0
- package/dist/chunks/vendor-vue-demi-CD9yLWd7.js.map +1 -0
- package/dist/chunks/vendor-vue-devtools-api-aVYGocXp.js +93 -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 +169 -0
- package/dist/chunks/vendor-vue3-touch-events-DqysuuWh.js.map +1 -0
- package/dist/chunks/vendor-vuepic-vue-datepicker-CaZ_qpJp.js +4998 -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 +92 -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/VcAiAgentPanel.vue.d.ts +2 -1
- package/dist/core/plugins/ai-agent/components/VcAiAgentPanel.vue.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentHeader.vue.d.ts +5 -3
- 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 +2 -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 +2 -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 +2 -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 +3 -2
- 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 +4722 -0
- 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 +9 -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 +4 -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 +24 -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 +24 -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 +27 -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 +4 -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 +9 -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 +14 -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 +11 -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 +16 -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 +8 -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 +12 -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 +4 -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 +4 -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 +4 -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 +4 -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 +4 -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 +4 -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 +10 -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 +14 -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 +10 -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 +17 -0
- package/dist/shell/dashboard/dashboard-charts/ChartContainer.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/ChartLegend.vue.d.ts +8 -0
- package/dist/shell/dashboard/dashboard-charts/ChartLegend.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/ChartTooltip.vue.d.ts +13 -0
- package/dist/shell/dashboard/dashboard-charts/ChartTooltip.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/DashboardBarChart.vue.d.ts +39 -0
- package/dist/shell/dashboard/dashboard-charts/DashboardBarChart.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/DashboardDonutChart.vue.d.ts +33 -0
- package/dist/shell/dashboard/dashboard-charts/DashboardDonutChart.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/dashboard-charts/DashboardLineChart.vue.d.ts +39 -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 +13 -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 +18 -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 +12 -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 +22 -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 +21 -0
- package/dist/shell/dashboard/draggable-dashboard/DraggableDashboard.vue.d.ts.map +1 -0
- package/dist/shell/dashboard/draggable-dashboard/GridstackDashboard.vue.d.ts +22 -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 +5 -4
- 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 +3 -2
- 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-group.vue.d.ts +3 -2
- package/dist/ui/components/atoms/vc-button/vc-button-group.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +5 -4
- 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 +3 -2
- 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 +3 -2
- package/dist/ui/components/atoms/vc-col/vc-col.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts +5 -4
- package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-hint/vc-hint.vue.d.ts +3 -2
- package/dist/ui/components/atoms/vc-hint/vc-hint.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/icons/MenuBurgerIcon.vue.d.ts +2 -1
- package/dist/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue.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 +3 -1
- 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 +4 -2
- 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 +5 -3
- 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 +2 -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 +3 -1
- 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 +2 -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 +5 -1
- package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts +3 -2
- package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts +3 -2
- 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 +2 -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 +3 -2
- 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 +3 -2
- 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 +6 -5
- 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 +3 -2
- 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 +3 -2
- package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-status-icon/vc-status-icon.vue.d.ts +2 -1
- package/dist/ui/components/atoms/vc-status-icon/vc-status-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts +5 -4
- package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts +2 -1
- package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts +3 -1
- 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 +4 -3
- 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 +4 -3
- 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 +2 -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 +4 -3
- 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 +13 -8
- 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 +13 -8
- 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 +3 -2
- 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 +3 -2
- package/dist/ui/components/molecules/vc-date-picker/vc-date-picker.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-dropdown/_internal/VcDropdownItem.vue.d.ts +2 -1
- package/dist/ui/components/molecules/vc-dropdown/_internal/VcDropdownItem.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 +15 -10
- 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 +9 -8
- 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-button.vue.d.ts +2 -1
- package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-button.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-custom-button.vue.d.ts +2 -1
- 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 +2 -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 +4 -3
- 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 +6 -5
- package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts +3 -2
- package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts +4 -22
- 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 +3 -2
- package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts +3 -2
- package/dist/ui/components/molecules/vc-form/vc-form.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 +32 -54
- 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 +2 -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 +3 -2
- 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 +7 -6
- 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 +4 -3
- 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 +4 -3
- 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 +4 -3
- 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 +3 -2
- 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 +7 -6
- package/dist/ui/components/molecules/vc-multivalue/_internal/MultivalueTrigger.vue.d.ts.map +1 -1
- 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 +15 -10
- 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 +3 -2
- 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 +13 -8
- 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 +13 -8
- 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 +3 -2
- 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 +3 -2
- 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 +5 -4
- 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 +24 -36
- 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 +8 -7
- 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 +3 -2
- 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 +3 -2
- 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 +3 -2
- 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 +2 -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 +5 -4
- 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/AppBarWidgetContent.vue.d.ts +2 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/AppBarWidgetContent.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/AppBarWidgetItem.vue.d.ts +3 -2
- 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/AppBarWidgetsMenu.vue.d.ts +2 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/AppBarWidgetsMenu.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/AppHubContent.vue.d.ts +3 -2
- 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/AppHubPopover.vue.d.ts +3 -2
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/AppHubPopover.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/MenuSidebar.vue.d.ts +4 -3
- 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 +10 -5
- 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 +10 -5
- 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 +3 -1
- 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/SidebarCollapseButton.vue.d.ts +2 -1
- package/dist/ui/components/organisms/vc-app/_internal/sidebar/SidebarCollapseButton.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/sidebar/SidebarContent.vue.d.ts +7 -2
- 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 +7 -6
- 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 +8 -4
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-auth-layout/vc-auth-layout.vue.d.ts +3 -2
- package/dist/ui/components/organisms/vc-auth-layout/vc-auth-layout.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/BladeContentSkeleton.vue.d.ts +2 -1
- package/dist/ui/components/organisms/vc-blade/_internal/BladeContentSkeleton.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/BladeHeader.vue.d.ts +7 -6
- package/dist/ui/components/organisms/vc-blade/_internal/BladeHeader.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/BladeHeaderSkeleton.vue.d.ts +2 -1
- package/dist/ui/components/organisms/vc-blade/_internal/BladeHeaderSkeleton.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/BladeStatusBanners.vue.d.ts +2 -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 +6 -5
- 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 +2 -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 +3 -2
- package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarBaseButton.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarCircleButton.vue.d.ts +2 -1
- package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarCircleButton.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarDesktop.vue.d.ts +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +6 -33
- 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 +32 -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 +27 -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 +14 -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 +17 -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 +26 -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 +32 -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 +44 -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 +16 -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 +28 -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 +14 -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 +30 -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 +76 -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 +14 -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 +18 -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 +29 -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 +12 -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 +8 -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 +10 -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 +10 -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 +8 -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 +8 -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 +8 -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 +20 -15
- 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 +14 -11
- 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 +7 -5
- 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 +42 -44
- 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 +8 -6
- 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 +5 -4
- 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 +8 -7
- 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 +52 -15
- 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/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 -13
- 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 +0 -8
- 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 +0 -3
- 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 -20
- 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 +0 -11
- 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 +0 -3
- 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 -50
- 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 +0 -23
- 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 +0 -23
- 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 +0 -26
- 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 +0 -16
- package/dist/shared/components/dashboard-charts/ChartContainer.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/ChartLegend.vue.d.ts +0 -7
- package/dist/shared/components/dashboard-charts/ChartLegend.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/ChartTooltip.vue.d.ts +0 -12
- package/dist/shared/components/dashboard-charts/ChartTooltip.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/DashboardBarChart.vue.d.ts +0 -34
- package/dist/shared/components/dashboard-charts/DashboardBarChart.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/DashboardDonutChart.vue.d.ts +0 -28
- package/dist/shared/components/dashboard-charts/DashboardDonutChart.vue.d.ts.map +0 -1
- package/dist/shared/components/dashboard-charts/DashboardLineChart.vue.d.ts +0 -34
- 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 +0 -12
- 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 +0 -17
- 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 +0 -11
- 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 +0 -21
- 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 +0 -20
- package/dist/shared/components/draggable-dashboard/DraggableDashboard.vue.d.ts.map +0 -1
- package/dist/shared/components/draggable-dashboard/GridstackDashboard.vue.d.ts +0 -21
- 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 -52
- package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts.map +0 -1
- package/dist/shared/components/generic-dropdown/index.d.ts +0 -73
- 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 +0 -3
- 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 +0 -3
- 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 -43
- 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 -16
- 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 +0 -3
- 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 -25
- 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 +0 -3
- 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 +0 -3
- 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 -40
- 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 -30
- package/dist/shared/components/sidebar/sidebar.vue.d.ts.map +0 -1
- package/dist/shared/components/sign-in/external-provider.vue.d.ts +0 -15
- 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 +0 -7
- 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 +0 -3
- 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 +0 -9
- 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 +0 -13
- 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 +0 -9
- 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 -33
- 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 -41
- 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 +0 -8
- 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 +0 -13
- 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 -13
- 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 +0 -10
- 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 -13
- 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 -14
- 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 -302
- 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 -127
- 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 +0 -31
- 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 -30
- 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 -19
- 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 -10
- 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 -22
- 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 +0 -26
- 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 -58
- 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 +0 -13
- 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 -157
- 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 -47
- 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 -78
- 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 -113
- 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 +0 -16
- 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 -44
- 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 +0 -21
- 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 -22
- 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 -16
- 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 +0 -31
- 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 +0 -43
- 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 +0 -15
- 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 -29
- 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 +0 -27
- 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 +0 -13
- 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 +0 -29
- 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 +0 -75
- 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 +0 -13
- 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 +0 -17
- 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 -70
- 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 -42
- 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 -68
- 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 +0 -28
- 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 -361
- 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 -17
- 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 +0 -11
- 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 +0 -7
- 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 -37
- 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 -26
- 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 +0 -9
- 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 +0 -9
- 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 +0 -7
- 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 -39
- 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 -37
- 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 +0 -7
- 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 +0 -7
- 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 -45
- 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 -44
- 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 -56
- 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 -27
- 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 -22
- 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 -43
- 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/{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/popup-handler → shell/_internal/popup}/utils/index.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/logout-button/index.d.ts +0 -0
- /package/dist/{shared → shell}/components/notification-dropdown/_internal/notification/index.d.ts +0 -0
- /package/dist/{shared → shell}/components/settings-menu/index.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/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}/draggable-dashboard/types.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}/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-unovis-ts-stSsHr9j.js","sources":["../../../node_modules/@unovis/ts/types/component.js","../../../node_modules/@unovis/ts/types/data.js","../../../node_modules/@unovis/ts/utils/data.js","../../../node_modules/@unovis/ts/utils/resize-observer.js","../../../node_modules/@unovis/ts/core/container/config.js","../../../node_modules/@unovis/ts/core/container/index.js","../../../node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js","../../../node_modules/@emotion/css/dist/emotion-css.esm.js","../../../node_modules/@unovis/ts/utils/misc.js","../../../node_modules/@unovis/ts/styles/colors.js","../../../node_modules/@unovis/ts/styles/patterns.js","../../../node_modules/@unovis/ts/styles/index.js","../../../node_modules/@unovis/ts/utils/d3.js","../../../node_modules/@unovis/ts/containers/single-container/config.js","../../../node_modules/@unovis/ts/containers/single-container/index.js","../../../node_modules/@unovis/ts/data-models/core.js","../../../node_modules/@unovis/ts/components/axis/types.js","../../../node_modules/@unovis/ts/types/scale.js","../../../node_modules/@unovis/ts/types/direction.js","../../../node_modules/@unovis/ts/containers/xy-container/config.js","../../../node_modules/@unovis/ts/containers/xy-container/index.js","../../../node_modules/@unovis/ts/core/component/config.js","../../../node_modules/@unovis/ts/core/component/index.js","../../../node_modules/@unovis/ts/data-models/series.js","../../../node_modules/@unovis/ts/core/xy-component/config.js","../../../node_modules/@unovis/ts/core/xy-component/index.js","../../../node_modules/@unovis/ts/types/position.js","../../../node_modules/@unovis/ts/components/tooltip/config.js","../../../node_modules/@unovis/ts/components/tooltip/style.js","../../../node_modules/@unovis/ts/components/tooltip/index.js","../../../node_modules/@unovis/ts/utils/color.js","../../../node_modules/@unovis/ts/types/curve.js","../../../node_modules/@unovis/ts/components/line/config.js","../../../node_modules/@unovis/ts/components/line/style.js","../../../node_modules/@unovis/ts/components/line/index.js","../../../node_modules/@unovis/ts/utils/path.js","../../../node_modules/@unovis/ts/components/grouped-bar/config.js","../../../node_modules/@unovis/ts/components/grouped-bar/style.js","../../../node_modules/@unovis/ts/components/grouped-bar/index.js","../../../node_modules/@unovis/ts/types/text.js","../../../node_modules/@unovis/ts/types/svg.js","../../../node_modules/@unovis/ts/utils/text.js","../../../node_modules/@unovis/ts/components/axis/config.js","../../../node_modules/@unovis/ts/utils/style.js","../../../node_modules/@unovis/ts/components/axis/style.js","../../../node_modules/@unovis/ts/components/axis/index.js","../../../node_modules/@unovis/ts/components/crosshair/config.js","../../../node_modules/@unovis/ts/components/crosshair/style.js","../../../node_modules/@unovis/ts/components/crosshair/index.js","../../../node_modules/@unovis/ts/components/donut/config.js","../../../node_modules/@unovis/ts/components/donut/modules/arc.js","../../../node_modules/@unovis/ts/components/donut/constants.js","../../../node_modules/@unovis/ts/components/donut/style.js","../../../node_modules/@unovis/ts/components/donut/index.js"],"sourcesContent":["var ComponentType;\r\n(function (ComponentType) {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n ComponentType[ComponentType[\"SVG\"] = 0] = \"SVG\";\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n ComponentType[ComponentType[\"HTML\"] = 1] = \"HTML\";\r\n})(ComponentType || (ComponentType = {}));\r\nvar Sizing;\r\n(function (Sizing) {\r\n Sizing[\"Fit\"] = \"fit\";\r\n Sizing[\"Extend\"] = \"extend\";\r\n Sizing[\"FitWidth\"] = \"fit_width\";\r\n})(Sizing || (Sizing = {}));\n\nexport { ComponentType, Sizing };\n//# sourceMappingURL=component.js.map\n","var FindNearestDirection;\r\n(function (FindNearestDirection) {\r\n FindNearestDirection[\"Left\"] = \"left\";\r\n FindNearestDirection[\"Right\"] = \"right\";\r\n FindNearestDirection[\"Auto\"] = \"auto\";\r\n})(FindNearestDirection || (FindNearestDirection = {}));\n\nexport { FindNearestDirection };\n//# sourceMappingURL=data.js.map\n","import { mean, min, max, bisectLeft, bisectRight } from 'd3-array';\nimport { throttle as throttle$1 } from 'throttle-debounce';\nimport { FindNearestDirection } from '../types/data.js';\n\nconst isNumber = (a) => typeof a === 'number';\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nconst isFunction = (a) => typeof a === 'function';\r\nconst isUndefined = (a) => a === undefined;\r\nconst isNil = (a) => a == null;\r\nconst isString = (a) => typeof a === 'string';\r\nconst isArray = (a) => Array.isArray(a);\r\nconst isObject = (a) => (a instanceof Object);\r\nconst isAClassInstance = (a) => a.constructor.name !== 'Function' && a.constructor.name !== 'Object';\r\nconst isPlainObject = (a) => isObject(a) && !isArray(a) && !isFunction(a) && !isAClassInstance(a);\r\nconst isEmpty = (obj) => {\r\n return [Object, Array].includes((obj || {}).constructor) &&\r\n !Object.entries((obj || {})).length;\r\n};\r\n// Based on https://github.com/maplibre/maplibre-gl-js/blob/e78ad7944ef768e67416daa4af86b0464bd0f617/src/style-spec/util/deep_equal.ts, 3-Clause BSD license\r\nconst isEqual = (a, b, skipKeys = [], visited = new Set()) => {\r\n if (Array.isArray(a)) {\r\n if (!Array.isArray(b) || a.length !== b.length)\r\n return false;\r\n if (visited.has(a))\r\n return true;\r\n else\r\n visited.add(a);\r\n for (let i = 0; i < a.length; i++) {\r\n if (!isEqual(a[i], b[i], skipKeys, visited))\r\n return false;\r\n }\r\n return true;\r\n }\r\n if (a instanceof Date && b instanceof Date) {\r\n return a.getTime() === b.getTime();\r\n }\r\n if (typeof a === 'object' && a !== null && b !== null) {\r\n if (!(typeof b === 'object'))\r\n return false;\r\n if (a === b)\r\n return true;\r\n const keysA = Object.keys(a).filter(key => !skipKeys.includes(key));\r\n const keysB = Object.keys(b).filter(key => !skipKeys.includes(key));\r\n if (keysA.length !== keysB.length)\r\n return false;\r\n if (visited.has(a))\r\n return true;\r\n else\r\n visited.add(a);\r\n for (const key of keysA) {\r\n if (!isEqual(a[key], b[key], skipKeys, visited))\r\n return false;\r\n }\r\n return true;\r\n }\r\n return a === b;\r\n};\r\nconst without = (arr, ...args) => arr.filter(item => !args.includes(item));\r\nconst flatten = (arr) => arr.flat();\r\nconst cloneDeep = (obj, stack = new Map()) => {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return obj;\r\n }\r\n if (obj instanceof Date) {\r\n return new Date(obj.getTime());\r\n }\r\n if (obj instanceof Array) {\r\n const clone = [];\r\n stack.set(obj, clone);\r\n for (const item of obj) {\r\n clone.push(stack.has(item) ? stack.get(item) : cloneDeep(item, stack));\r\n }\r\n return clone;\r\n }\r\n // Class instances will be copied without cloning\r\n if (isAClassInstance(obj)) {\r\n const clone = obj;\r\n return clone;\r\n }\r\n if (obj instanceof Object) {\r\n const clone = {};\r\n stack.set(obj, clone);\r\n const objAsRecord = obj;\r\n Object.keys(obj)\r\n .reduce((newObj, key) => {\r\n newObj[key] = stack.has(objAsRecord[key]) ? stack.get(objAsRecord[key]) : cloneDeep(objAsRecord[key], stack);\r\n return newObj;\r\n }, clone);\r\n return clone;\r\n }\r\n return obj;\r\n};\r\nconst merge = (obj1, obj2, visited = new Map()) => {\r\n if (!obj1 || !obj2)\r\n return obj1;\r\n if (obj1 === obj2)\r\n return obj1;\r\n const newObj = (isAClassInstance(obj1) ? obj1 : cloneDeep(obj1));\r\n // Taking care of recursive structures\r\n if (visited.has(obj2))\r\n return visited.get(obj2);\r\n else\r\n visited.set(obj2, newObj);\r\n Object.keys(obj2).forEach(key => {\r\n // Preventing prototype pollution\r\n if (key === '__proto__' || key === 'constructor')\r\n return;\r\n if (isPlainObject(obj1[key]) && isPlainObject(obj2[key])) {\r\n newObj[key] = merge(obj1[key], obj2[key], visited);\r\n }\r\n else if (isAClassInstance(obj2)) {\r\n newObj[key] = obj2;\r\n }\r\n else {\r\n newObj[key] = cloneDeep(obj2[key]);\r\n }\r\n });\r\n return newObj;\r\n};\r\nconst omit = (obj, props) => {\r\n obj = Object.assign({}, obj);\r\n props.forEach(prop => delete obj[prop]);\r\n return obj;\r\n};\r\nconst groupBy = (arr, accessor) => {\r\n return arr.reduce((grouped, v, i, a, k = accessor(v, i)) => (((grouped[k] || (grouped[k] = [])).push(v), grouped)), {});\r\n};\r\nconst sortBy = (arr, accessor) => {\r\n return arr.concat() // The native sort method modifies the array in place. We use `.concat()` to copy the array first\r\n .sort((a, b) => {\r\n return (accessor(a) > accessor(b)) ? 1 : ((accessor(b) > accessor(a)) ? -1 : 0);\r\n });\r\n};\r\nconst throttle = (f, delay, options) => throttle$1(delay, f, options);\r\nfunction getValue(d, accessor, index) {\r\n // eslint-disable-next-line @typescript-eslint/ban-types\r\n if (isFunction(accessor))\r\n return accessor(d, index);\r\n else\r\n return accessor;\r\n}\r\nfunction getString(d, accessor, i) {\r\n return getValue(d, accessor, i);\r\n}\r\nfunction getNumber(d, accessor, i) {\r\n return getValue(d, accessor, i);\r\n}\r\nfunction getBoolean(d, accessor, i) {\r\n return getValue(d, accessor, i);\r\n}\r\nfunction clean(data) {\r\n return data.filter(d => d && !isNumber(d));\r\n}\r\nfunction clamp(d, min, max) {\r\n return Math.min(Math.max(d, min), max);\r\n}\r\nfunction unique(array) {\r\n return Array.from(new Set(array));\r\n}\r\nfunction countUnique(array, accessor = (d) => d) {\r\n return new Set(array.map(d => accessor(d))).size;\r\n}\r\nfunction arrayOfIndices(n) {\r\n return [...Array(n).keys()];\r\n}\r\nfunction shallowDiff(o1 = {}, o2 = {}) {\r\n return Object.keys(o2).reduce((diff, key) => {\r\n if (o1[key] === o2[key])\r\n return diff;\r\n return Object.assign(Object.assign({}, diff), { [key]: o2[key] });\r\n }, {});\r\n}\r\nfunction getStackedExtent(data, ...acs) {\r\n if (!data)\r\n return [undefined, undefined];\r\n if (isArray(acs)) {\r\n let minValue = 0;\r\n let maxValue = 0;\r\n data.forEach((d, i) => {\r\n let positiveStack = 0;\r\n let negativeStack = 0;\r\n for (const a of acs) {\r\n const value = getNumber(d, a, i) || 0;\r\n if (value >= 0)\r\n positiveStack += value;\r\n else\r\n negativeStack += value;\r\n }\r\n if (positiveStack > maxValue)\r\n maxValue = positiveStack;\r\n if (negativeStack < minValue)\r\n minValue = negativeStack;\r\n });\r\n return [minValue, maxValue];\r\n }\r\n}\r\nfunction getStackedValues(d, index, ...acs) {\r\n const values = [];\r\n let positiveStack = 0;\r\n let negativeStack = 0;\r\n for (const a of acs) {\r\n const value = getNumber(d, a, index) || 0;\r\n if (value >= 0) {\r\n values.push(positiveStack += value);\r\n }\r\n else {\r\n values.push(negativeStack += value);\r\n }\r\n }\r\n return values;\r\n}\r\nfunction getStackedData(data, baseline, acs, prevNegative // to help guessing the stack direction (positive/negative) when the values are 0 or null\r\n) {\r\n const baselineValues = data.map((d, i) => getNumber(d, baseline, i) || 0);\r\n const isNegativeStack = acs.map((a, j) => {\r\n const average = mean(data, (d, i) => getNumber(d, a, i) || 0);\r\n return (average === 0 && Array.isArray(prevNegative)) ? prevNegative[j] : average < 0;\r\n });\r\n const stackedData = acs.map(() => []);\r\n data.forEach((d, i) => {\r\n let positiveStack = baselineValues[i];\r\n let negativeStack = baselineValues[i];\r\n acs.forEach((a, j) => {\r\n const value = getNumber(d, a, i) || 0;\r\n if (value >= 0) {\r\n stackedData[j].push([positiveStack, positiveStack += value]);\r\n }\r\n else {\r\n stackedData[j].push([negativeStack, negativeStack += value]);\r\n }\r\n });\r\n });\r\n // Fill in additional stack information\r\n stackedData.forEach((stack, i) => {\r\n stack.isMostlyNegative = isNegativeStack[i];\r\n });\r\n return stackedData;\r\n}\r\nfunction getMin(data, ...acs) {\r\n if (!data)\r\n return undefined;\r\n const minValue = min(data, (d, i) => min(acs, a => getNumber(d, a, i)));\r\n return minValue;\r\n}\r\nfunction getMax(data, ...acs) {\r\n if (!data)\r\n return undefined;\r\n const maxValue = max(data, (d, i) => max(acs, a => getNumber(d, a, i)));\r\n return maxValue;\r\n}\r\nfunction getExtent(data, ...acs) {\r\n return [getMin(data, ...acs), getMax(data, ...acs)];\r\n}\r\nfunction getNearest(data, value, accessor, direction = FindNearestDirection.Auto) {\r\n if (data.length <= 1)\r\n return data[0];\r\n const dataWithIndex = data.map((d, i) => ([d, i]));\r\n const dataWithIndexSorted = dataWithIndex\r\n .sort(([a, i], [b, j]) => getNumber(a, accessor, i) - getNumber(b, accessor, j));\r\n const values = dataWithIndexSorted.map(([d, i]) => getNumber(d, accessor, i));\r\n const index = direction === FindNearestDirection.Right\r\n ? bisectLeft(values, value, 0, data.length - 1)\r\n : bisectRight(values, value, 1, data.length);\r\n if (direction === FindNearestDirection.Right) {\r\n return dataWithIndexSorted[index][0];\r\n }\r\n else if (direction === FindNearestDirection.Left) {\r\n return dataWithIndexSorted[index - 1][0];\r\n }\r\n // By default (`FindNearestDirection.Auto`) return the nearest value\r\n return value - values[index - 1] > values[index] - value ? dataWithIndexSorted[index][0] : dataWithIndexSorted[index - 1][0];\r\n}\r\nfunction filterDataByRange(data, range, accessor, includeNeighbors = false) {\r\n if (!accessor)\r\n return [];\r\n const filteredData = data.filter((d, i) => {\r\n const value = getNumber(d, accessor, i);\r\n return (value >= range[0]) && (value <= range[1]);\r\n });\r\n if (includeNeighbors) {\r\n // If `filteredData` is empty and `includeNeighbors` is true, try to find nearest points\r\n if (filteredData.length === 0) {\r\n const nearestLeft = getNearest(data, range[0], accessor, FindNearestDirection.Left);\r\n const nearestRight = getNearest(data, range[1], accessor, FindNearestDirection.Right);\r\n return [nearestLeft, nearestRight].filter(Boolean);\r\n }\r\n // Find indices of first and last filtered points in original data\r\n const firstFilteredItem = filteredData[0];\r\n const lastFilteredItem = filteredData[filteredData.length - 1];\r\n const firstFilteredIndex = data.findIndex((d) => d === firstFilteredItem);\r\n const lastFilteredIndex = data.findIndex((d) => d === lastFilteredItem);\r\n // Include neighbors (if they exist)\r\n const startIndex = Math.max(0, firstFilteredIndex - 1);\r\n const endIndex = Math.min(data.length - 1, lastFilteredIndex + 1);\r\n // Return data from startIndex to endIndex (inclusive)\r\n return data.slice(startIndex, endIndex + 1);\r\n }\r\n return filteredData;\r\n}\r\nfunction isNumberWithinRange(value, range) {\r\n return (value >= range[0] && value <= range[1]) || (value >= range[1] && value <= range[0]);\r\n}\r\nconst ensureArray = (value) => {\r\n if (value === null || value === undefined) {\r\n return [];\r\n }\r\n if (Array.isArray(value)) {\r\n return value;\r\n }\r\n return [value];\r\n};\n\nexport { arrayOfIndices, clamp, clean, cloneDeep, countUnique, ensureArray, filterDataByRange, flatten, getBoolean, getExtent, getMax, getMin, getNearest, getNumber, getStackedData, getStackedExtent, getStackedValues, getString, getValue, groupBy, isAClassInstance, isArray, isEmpty, isEqual, isFunction, isNil, isNumber, isNumberWithinRange, isObject, isPlainObject, isString, isUndefined, merge, omit, shallowDiff, sortBy, throttle, unique, without };\n//# sourceMappingURL=data.js.map\n","import { ResizeObserver as ResizeObserver$1 } from '@juggle/resize-observer';\n\nconst ResizeObserver = globalThis.ResizeObserver || ResizeObserver$1;\n\nexport { ResizeObserver };\n//# sourceMappingURL=resize-observer.js.map\n","import { Sizing } from '../../types/component.js';\n\n// Core\r\nconst ContainerDefaultConfig = {\r\n duration: undefined,\r\n margin: {\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0,\r\n },\r\n padding: {\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0,\r\n },\r\n sizing: Sizing.Fit,\r\n width: undefined,\r\n height: undefined,\r\n svgDefs: undefined,\r\n ariaLabel: undefined,\r\n};\n\nexport { ContainerDefaultConfig };\n//# sourceMappingURL=config.js.map\n","import { select } from 'd3-selection';\nimport { Sizing } from '../../types/component.js';\nimport { merge, clamp, isEqual } from '../../utils/data.js';\nimport { ResizeObserver } from '../../utils/resize-observer.js';\nimport { ContainerDefaultConfig } from './config.js';\n\nclass ContainerCore {\r\n constructor(element) {\r\n this._defaultConfig = ContainerDefaultConfig;\r\n this._isFirstRender = true;\r\n this._renderAnimationFrameId = null;\r\n this._container = element;\r\n // Setting `role` attribute to `image` to make the container accessible\r\n const container = select(this._container);\r\n container.attr('role', 'figure');\r\n // Create SVG element for visualizations\r\n this.svg = container.append('svg')\r\n // We set `display` to `block` because inline elements have an invisible\r\n // inline space that adds 4px to the height of the container\r\n .style('display', 'block')\r\n .attr('xmlns', 'http://www.w3.org/2000/svg')\r\n .attr('height', ContainerCore.DEFAULT_CONTAINER_HEIGHT) // Overriding default SVG height of 150\r\n .attr('aria-hidden', true);\r\n this._svgDefs = this.svg.append('defs');\r\n this._svgDefsExternal = this.svg.append('defs');\r\n this.element = this.svg.node();\r\n }\r\n updateContainer(config) {\r\n var _a;\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n this.prevConfig = this.config;\r\n this.config = merge(this._defaultConfig, config);\r\n // Add `svgDefs` if provided in the config\r\n if ((config === null || config === void 0 ? void 0 : config.svgDefs) !== ((_a = this.prevConfig) === null || _a === void 0 ? void 0 : _a.svgDefs)) {\r\n this._svgDefsExternal.selectAll('*').remove();\r\n this._svgDefsExternal.html(config.svgDefs);\r\n }\r\n }\r\n // The `_preRender` step should be used to perform some actions before rendering.\r\n // For example, calculating scales, setting component sizes, etc ...\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n _preRender() { }\r\n // The `_render` step should be used to perform the actual rendering\r\n _render(duration) {\r\n const { config } = this;\r\n // Apply the `aria-label` attribute\r\n select(this._container)\r\n .attr('aria-label', config.ariaLabel);\r\n this._isFirstRender = false;\r\n }\r\n // Warning: Some Containers (i.e. Single Container) may override this method, so if you introduce any changes here,\r\n // make sure to check that other containers didn't break after them.\r\n render(duration = this.config.duration) {\r\n const width = this.config.width || this.containerWidth;\r\n const height = this.config.height || this.containerHeight;\r\n // We set SVG size in `render()` instead of `_render()`, because the size values in pixels will become\r\n // available only in the next animation when being accessed via `element.clientWidth` and `element.clientHeight`,\r\n // and we rely on those values when setting width and size of the components.\r\n this.svg\r\n .attr('width', width)\r\n .attr('height', height);\r\n // Set up Resize Observer. We do it in `render()` to capture container size change if it happened\r\n // in the next animation frame after the initial `render` was called.\r\n if (!this._resizeObserver)\r\n this._setUpResizeObserver();\r\n // Schedule the actual rendering in the next frame\r\n cancelAnimationFrame(this._renderAnimationFrameId);\r\n this._renderAnimationFrameId = requestAnimationFrame(() => {\r\n this._preRender();\r\n this._render(duration);\r\n });\r\n }\r\n get containerWidth() {\r\n return this.config.width\r\n ? this.element.clientWidth\r\n : (this._container.clientWidth || this._container.getBoundingClientRect().width);\r\n }\r\n get containerHeight() {\r\n return this.config.height\r\n ? this.element.clientHeight\r\n : (this._container.clientHeight || this._container.getBoundingClientRect().height || ContainerCore.DEFAULT_CONTAINER_HEIGHT);\r\n }\r\n get width() {\r\n return clamp(this.containerWidth - this.config.margin.left - this.config.margin.right, 0, Number.POSITIVE_INFINITY);\r\n }\r\n get height() {\r\n return clamp(this.containerHeight - this.config.margin.top - this.config.margin.bottom, 0, Number.POSITIVE_INFINITY);\r\n }\r\n _removeAllChildren() {\r\n while (this.element.firstChild) {\r\n this.element.removeChild(this.element.firstChild);\r\n }\r\n }\r\n _onResize() {\r\n const { config } = this;\r\n const redrawOnResize = config.sizing === Sizing.Fit || config.sizing === Sizing.FitWidth;\r\n if (redrawOnResize)\r\n this.render(0);\r\n }\r\n _setUpResizeObserver() {\r\n if (this._resizeObserver)\r\n return;\r\n const containerRect = this._container.getBoundingClientRect();\r\n this._containerSize = { width: containerRect.width, height: containerRect.height };\r\n this._resizeObserver = new ResizeObserver((entries, observer) => {\r\n // Using request animation frame to avoid multiple resize events when scrollbars appear/disappear\r\n // See more: https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver#observation_errors\r\n cancelAnimationFrame(this._resizeObserverAnimationFrameId);\r\n this._resizeObserverAnimationFrameId = requestAnimationFrame(() => {\r\n const resizedContainerRect = this._container.getBoundingClientRect();\r\n const resizedContainerSize = { width: resizedContainerRect.width, height: resizedContainerRect.height };\r\n const hasSizeChanged = !isEqual(this._containerSize, resizedContainerSize);\r\n // Do resize only if element is attached to the DOM\r\n // will come in useful when some ancestor of container becomes detached\r\n if (hasSizeChanged && resizedContainerSize.width && resizedContainerSize.height) {\r\n this._containerSize = resizedContainerSize;\r\n this._onResize();\r\n }\r\n });\r\n });\r\n this._resizeObserver.observe(this._container);\r\n }\r\n destroy() {\r\n var _a;\r\n cancelAnimationFrame(this._renderAnimationFrameId);\r\n cancelAnimationFrame(this._resizeObserverAnimationFrameId);\r\n (_a = this._resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\r\n this.svg.remove();\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nContainerCore.DEFAULT_CONTAINER_HEIGHT = 300;\n\nexport { ContainerCore };\n//# sourceMappingURL=index.js.map\n","import createCache from '@emotion/cache';\nimport { serializeStyles } from '@emotion/serialize';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\n\nfunction insertWithoutScoping(cache, serialized) {\n if (cache.inserted[serialized.name] === undefined) {\n return cache.insert('', serialized, cache.sheet, true);\n }\n}\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar createEmotion = function createEmotion(options) {\n var cache = createCache(options);\n\n cache.sheet.speedy = function (value) {\n\n this.isSpeedy = value;\n };\n\n cache.compat = true;\n\n var css = function css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered, undefined);\n insertStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var keyframes = function keyframes() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n var animation = \"animation-\" + serialized.name;\n insertWithoutScoping(cache, {\n name: serialized.name,\n styles: \"@keyframes \" + animation + \"{\" + serialized.styles + \"}\"\n });\n return animation;\n };\n\n var injectGlobal = function injectGlobal() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n insertWithoutScoping(cache, serialized);\n };\n\n var cx = function cx() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n return {\n css: css,\n cx: cx,\n injectGlobal: injectGlobal,\n keyframes: keyframes,\n hydrate: function hydrate(ids) {\n ids.forEach(function (key) {\n cache.inserted[key] = true;\n });\n },\n flush: function flush() {\n cache.registered = {};\n cache.inserted = {};\n cache.sheet.flush();\n },\n sheet: cache.sheet,\n cache: cache,\n getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n merge: merge.bind(null, cache.registered, css)\n };\n};\n\nvar classnames = function classnames(args) {\n var cls = '';\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nexport { createEmotion as default };\n","import createEmotion from '../create-instance/dist/emotion-css-create-instance.esm.js';\nimport '@emotion/cache';\nimport '@emotion/serialize';\nimport '@emotion/utils';\n\nvar _createEmotion = createEmotion({\n key: 'css'\n}),\n flush = _createEmotion.flush,\n hydrate = _createEmotion.hydrate,\n cx = _createEmotion.cx,\n merge = _createEmotion.merge,\n getRegisteredStyles = _createEmotion.getRegisteredStyles,\n injectGlobal = _createEmotion.injectGlobal,\n keyframes = _createEmotion.keyframes,\n css = _createEmotion.css,\n sheet = _createEmotion.sheet,\n cache = _createEmotion.cache;\n\nexport { cache, css, cx, flush, getRegisteredStyles, hydrate, injectGlobal, keyframes, merge, sheet };\n","import { isString, getString } from './data.js';\nimport { toPx } from './to-px.js';\n\nfunction guid() {\r\n const s4 = () => Math.floor((1 + crypto.getRandomValues(new Uint32Array(1))[0]) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n return `${s4() + s4()}-${s4()}-${s4()}-${s4()}-${s4()}${s4()}${s4()}`;\r\n}\r\nfunction stringToHtmlId(str) {\r\n return (str || '').replace(/\\W/g, '_');\r\n}\r\nfunction isStringCSSVariable(s) {\r\n return isString(s) ? (s.substring(0, 6) === 'var(--') : false;\r\n}\r\nconst cssVariableCache = new WeakMap();\r\nfunction getCSSVariableValue(s, context) {\r\n if (!isString(s))\r\n return '';\r\n const variableName = s.substr(4, s.length - 5);\r\n let elementCache = cssVariableCache.get(context);\r\n if (!elementCache) {\r\n elementCache = new Map();\r\n cssVariableCache.set(context, elementCache);\r\n }\r\n if (elementCache.has(variableName)) {\r\n return elementCache.get(variableName);\r\n }\r\n const value = getComputedStyle(context).getPropertyValue(variableName);\r\n elementCache.set(variableName, value);\r\n return value;\r\n}\r\nfunction getCSSVariableValueInPixels(s, context) {\r\n const val = getCSSVariableValue(s, context);\r\n return toPx(val);\r\n}\r\nfunction getPixelValue(v) {\r\n return typeof v === 'number' ? v : toPx(v);\r\n}\r\nfunction rectIntersect(rect1, rect2, tolerancePx = 0) {\r\n const [left1, top1, right1, bottom1] = [\r\n rect1.x + tolerancePx,\r\n rect1.y + rect1.height - 2 * tolerancePx,\r\n rect1.x + rect1.width - 2 * tolerancePx,\r\n rect1.y + tolerancePx,\r\n ];\r\n const [left2, top2, right2, bottom2] = [\r\n rect2.x + tolerancePx,\r\n rect2.y + rect2.height - 2 * tolerancePx,\r\n rect2.x + rect2.width - 2 * tolerancePx,\r\n rect2.y + tolerancePx,\r\n ];\r\n return !(top1 < bottom2 || top2 < bottom1 || right1 < left2 || right2 < left1);\r\n}\r\nfunction getHref(d, identifier) {\r\n const id = getString(d, identifier);\r\n return id ? `url(#${id})` : null;\r\n}\r\nfunction evaluateSimpleExpression(expr) {\r\n // Handle multiplication and division first (higher precedence)\r\n // Keep applying until no more operations are found\r\n while (/(-?\\d+(?:\\.\\d+)?)\\s*([*/])\\s*(-?\\d+(?:\\.\\d+)?)/.test(expr)) {\r\n expr = expr.replace(/(-?\\d+(?:\\.\\d+)?)\\s*([*/])\\s*(-?\\d+(?:\\.\\d+)?)/, (_, a, op, b) => {\r\n const numA = parseFloat(a);\r\n const numB = parseFloat(b);\r\n return String(op === '*' ? numA * numB : numA / numB);\r\n });\r\n }\r\n // Handle addition and subtraction (lower precedence)\r\n // Keep applying until no more operations are found\r\n while (/(-?\\d+(?:\\.\\d+)?)\\s*([+-])\\s*(-?\\d+(?:\\.\\d+)?)/.test(expr)) {\r\n expr = expr.replace(/(-?\\d+(?:\\.\\d+)?)\\s*([+-])\\s*(-?\\d+(?:\\.\\d+)?)/, (_, a, op, b) => {\r\n const numA = parseFloat(a);\r\n const numB = parseFloat(b);\r\n return String(op === '+' ? numA + numB : numA - numB);\r\n });\r\n }\r\n const result = parseFloat(expr);\r\n if (isNaN(result))\r\n throw new Error(`Invalid expression: ${expr}`);\r\n return result;\r\n}\r\nfunction evaluateCalcExpression(expression, basis) {\r\n try {\r\n // Replace percentages and pixels with resolved values\r\n let expr = expression\r\n .replace(/(\\d+(?:\\.\\d+)?)%/g, (_, num) => String((basis * parseFloat(num)) / 100))\r\n .replace(/(\\d+(?:\\.\\d+)?)px/g, '$1')\r\n .replace(/\\s+/g, '');\r\n // Validate parentheses pairs before processing\r\n let parenCount = 0;\r\n for (const char of expr) {\r\n if (char === '(')\r\n parenCount++;\r\n else if (char === ')')\r\n parenCount--;\r\n if (parenCount < 0)\r\n throw new Error('Mismatched parentheses: closing parenthesis without opening');\r\n }\r\n if (parenCount !== 0)\r\n throw new Error('Mismatched parentheses: unclosed opening parenthesis');\r\n // Check for invalid characters (only allow numbers, operators, decimal points, and parentheses)\r\n if (!/^[0-9+\\-*/.() ]+$/.test(expr))\r\n throw new Error('Invalid characters in expression');\r\n // Check for empty parentheses\r\n if (/\\(\\s*\\)/.test(expr))\r\n throw new Error('Empty parentheses not allowed');\r\n // Simple regex-based evaluation for basic expressions\r\n // Handles: number, number+number, number-number, number*number, number/number\r\n // And simple parentheses: (expression)\r\n // Evaluate parentheses first\r\n let iterations = 0;\r\n const maxIterations = 100; // Prevent infinite loops\r\n while (expr.includes('(') && iterations < maxIterations) {\r\n const prevExpr = expr;\r\n expr = expr.replace(/\\(([^()]+)\\)/g, (_, inner) => String(evaluateSimpleExpression(inner)));\r\n if (expr === prevExpr)\r\n throw new Error('Unable to resolve parentheses');\r\n iterations++;\r\n }\r\n if (iterations >= maxIterations)\r\n throw new Error('Expression too complex or contains infinite recursion');\r\n if (expr.includes('(') || expr.includes(')'))\r\n throw new Error('Unresolved parentheses remain');\r\n return evaluateSimpleExpression(expr);\r\n }\r\n catch (error) {\r\n console.warn(`Failed to evaluate calc() expression: ${expression}`, error);\r\n return 0;\r\n }\r\n}\r\nfunction parseUnit(value, basis = 0) {\r\n if (!value)\r\n return 0;\r\n else if (typeof value === 'number')\r\n return value;\r\n else if (typeof value === 'string' && value.startsWith('calc(') && value.endsWith(')')) {\r\n // Parse calc() expression\r\n const expression = value.slice(5, -1).trim(); // Remove 'calc(' and ')'\r\n return evaluateCalcExpression(expression, basis);\r\n }\r\n else if (value.endsWith('%'))\r\n return basis * parseFloat(value) / 100;\r\n else if (value.endsWith('px'))\r\n return parseFloat(value);\r\n else\r\n return parseFloat(value) || 0;\r\n}\n\nexport { getCSSVariableValue, getCSSVariableValueInPixels, getHref, getPixelValue, guid, isStringCSSVariable, parseUnit, rectIntersect, stringToHtmlId };\n//# sourceMappingURL=misc.js.map\n","import { hsl } from 'd3-color';\nimport { isNumber } from '../utils/data.js';\n\n/** Array of default colors */\r\nconst colors = (globalThis === null || globalThis === void 0 ? void 0 : globalThis.UNOVIS_COLORS) || ['#4D8CFD', '#FF6B7E', '#F4B83E', '#A6CC74', '#00C19A', '#6859BE'];\r\nconst colorsDark = (globalThis === null || globalThis === void 0 ? void 0 : globalThis.UNOVIS_COLORS_DARK) || ['#4D8CFD', '#FF6B7E', '#FFC16D', '#A6CC74', '#00C19A', '#7887E0'];\r\n/** Return a CSS Variable name for a given color index or string */\r\nconst getCSSColorVariable = (suffix) => {\r\n return `--vis-${isNumber(suffix) ? `color${suffix % colors.length}` : suffix}`;\r\n};\r\nfunction getLighterColor(hex, percentage = 0.4) {\r\n const c = hsl(hex);\r\n c.l = c.l * (1 + percentage);\r\n return c.formatHex();\r\n}\r\nfunction getDarkerColor(hex, percentageL = 0.4, percentageS = 0.6) {\r\n const c = hsl(hex);\r\n c.s = c.s * (1 - percentageS);\r\n c.l = c.l * (1 - percentageL);\r\n return c.formatHex();\r\n}\n\nexport { colors, colorsDark, getCSSColorVariable, getDarkerColor, getLighterColor };\n//# sourceMappingURL=colors.js.map\n","import { getCSSColorVariable } from './colors.js';\n\nconst PATTERN_SIZE_PX = 10;\r\nconst fills = [\r\n { id: 'stripes-diagonal', svg: '<path d=\"M-1,1 l2,-2 M0,10 l10,-10 M9,11 l2,-2\" stroke=\"#000\"/>' },\r\n { id: 'dots', svg: '<path d=\"m0-1.5a1 1 0 010 3m10-3a1 1 0 000 3M5 3.5a1 1 0 010 3 1 1 0 010-3M0 8.5 a1 1 0 010 3m10-3a1 1 0 000 3\" fill\"#000\"/>' },\r\n { id: 'stripes-vertical', svg: '<path d=\"M 5,-1 L5,11\" stroke=\"#000\"/>' },\r\n { id: 'crosshatch', svg: '<path d=\"M0 0L10 10ZM10 0L0 10Z\" stroke=\"#000\"/>' },\r\n { id: 'waves', svg: '<path d=\"M0 4Q2.5 1 5 4 7.5 7 10 4v2Q7.5 9 5 6 2.5 3 0 6Z\" fill=\"#000\"/>' },\r\n { id: 'circles', svg: '<circle cx=\"5\" cy=\"5\" r=\"3\" stroke=\"#000\" fill=\"#fff\"/>' },\r\n];\r\nconst lines = [\r\n { id: 'circle', marker: '<circle cx=\"5\" cy=\"5\" r=\"5\"/>', dashArray: [] },\r\n { id: 'triangle', marker: '<path d=\"M5,0 L10,9 L0,9Z\">', dashArray: [9, 1] },\r\n { id: 'diamond', marker: '<path d=\"M 0 5 L5 0 L 10 5 L 5 10 L 0 5Z\">', dashArray: [2] },\r\n { id: 'arrow', marker: '<path d=\"M4 0 0 0 6 5 0 10 4 10 10 5Z\">', dashArray: [2, 3, 8, 3] },\r\n { id: 'square', marker: '<rect x=\"1\" y=\"1\" width=\"8\" height=\"8\"/>', dashArray: [6] },\r\n { id: 'star', marker: '<path d=\"m2 9 3-9 3 9L0 3h10Z\"/>', dashArray: [1, 6] },\r\n];\r\nfunction getPatternVariable(p) {\r\n return `vis-${`pattern-${p.svg ? 'fill' : 'marker'}`}-${p.id}`;\r\n}\r\nconst maskDef = (p) => `<mask id=\"${getPatternVariable(p)}\">\n <pattern id=\"${p.id}\" viewBox=\"0 0 10 10\" width=\"${PATTERN_SIZE_PX}\" height=\"${PATTERN_SIZE_PX}\" patternUnits=\"userSpaceOnUse\">\n <rect width=\"100%\" height=\"100%\" fill=\"#fff\"/>\n ${p.svg}\n </pattern>\n <rect x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\" fill=\"url(#${p.id})\"/>\n </mask>`;\r\nconst markerDef = (p, i) => `<marker id=\"${getPatternVariable(p)}\"\n fill=\"var(${getCSSColorVariable(i)})\"\n markerUnits=\"userSpaceOnUse\"\n refX=\"5\"\n refY=\"5\"\n markerWidth=\"${PATTERN_SIZE_PX}\"\n markerHeight=\"${PATTERN_SIZE_PX}\">\n ${p.marker}\n </marker>`;\r\n// // Injecting SVG defs as a single SVG element on the page\r\nfunction injectSVGDefs() {\r\n const svgDefs = fills.map(maskDef).concat(lines.map(markerDef)).join('');\r\n const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\r\n svg.setAttribute('height', '100%');\r\n svg.setAttribute('width', '100%');\r\n svg.style.position = 'fixed';\r\n svg.style.zIndex = '-99999999';\r\n svg.innerHTML = `<defs>${svgDefs}</defs>`;\r\n document.body.appendChild(svg);\r\n}\r\nif (typeof window !== 'undefined')\r\n injectSVGDefs();\n\nexport { PATTERN_SIZE_PX, fills, getPatternVariable, lines };\n//# sourceMappingURL=patterns.js.map\n","import { injectGlobal } from '@emotion/css';\nimport { getCSSVariableValue } from '../utils/misc.js';\nimport { getCSSColorVariable, getLighterColor, colors, getDarkerColor, colorsDark } from './colors.js';\nimport { fills, getPatternVariable, lines } from './patterns.js';\n\nconst UNOVIS_ICON_FONT_FAMILY_DEFAULT = (globalThis === null || globalThis === void 0 ? void 0 : globalThis.UNOVIS_ICON_FONT_FAMILY) || 'FontAwesome';\r\nconst UNOVIS_FONT_WH_RATIO_DEFAULT = (globalThis === null || globalThis === void 0 ? void 0 : globalThis.UNOVIS_FONT_W2H_RATIO_DEFAULT) || 0.5;\r\nconst UNOVIS_TEXT_SEPARATOR_DEFAULT = (globalThis === null || globalThis === void 0 ? void 0 : globalThis.UNOVIS_TEXT_SEPARATOR_DEFAULT) || [' ', '-', '.', ','];\r\nconst UNOVIS_TEXT_HYPHEN_CHARACTER_DEFAULT = (globalThis === null || globalThis === void 0 ? void 0 : globalThis.UNOVIS_TEXT_HYPHEN_CHARACTER_DEFAULT) || '-';\r\nconst UNOVIS_TEXT_DEFAULT = (globalThis === null || globalThis === void 0 ? void 0 : globalThis.UNOVIS_TEXT_DEFAULT) || {\r\n // If you change these defaults, don't forget to update the values in the `UnovisText` type in `types/text.ts`\r\n text: '',\r\n fontSize: 12,\r\n fontFamily: 'var(--vis-font-family)',\r\n lineHeight: 1.25,\r\n marginTop: 0,\r\n marginBottom: 0,\r\n};\r\nconst variables = injectGlobal `\n :root {\n label: vis-root-styles;\n --vis-font-family: Inter, Arial, \"Helvetica Neue\", Helvetica, sans-serif;\n --vis-font-wh-ratio: ${UNOVIS_FONT_WH_RATIO_DEFAULT};\n --vis-color-main: var(${getCSSColorVariable(0)});\n --vis-color-main-light: ${getLighterColor(colors[0])};\n --vis-color-main-dark: ${getDarkerColor(colors[0])};\n --vis-color-grey: #2a2a2a;\n ${colors.map((c, i) => `${getCSSColorVariable(i)}: ${c};`)}\n ${colorsDark.map((c, i) => `--vis-dark-color${i}: ${c};`)}\n ${fills.map((p, i) => `\n --${getPatternVariable(p)}: url(#${getPatternVariable(p)});\n --vis-pattern-fill${i}: var(--${getPatternVariable(p)});\n `)}\n ${lines.map((p, i) => {\r\n var _a;\r\n return `\n --${getPatternVariable(p)}: url(#${getPatternVariable(p)});\n --vis-pattern-marker${i}: var(--${getPatternVariable(p)});\n --vis-pattern-dasharray${i}: ${(_a = p.dashArray) === null || _a === void 0 ? void 0 : _a.join(' ')};\n `;\r\n})}\n\n body.theme-dark {\n ${colors.map((c, i) => `${getCSSColorVariable(i)}: var(--vis-dark-color${i});`)}\n }\n\n body.theme-patterns {\n ${fills.map((_, i) => `path[style*=\"fill: var(${getCSSColorVariable(i)})\"] {\n mask: var(--vis-pattern-fill${i});\n }`)}\n ${lines.map((_, i) => `\n path[stroke=\"var(${getCSSColorVariable(i)})\"]:not([style*=\"fill\"]),\n path[style*=\"stroke: var(${getCSSColorVariable(i)})\"]:not([style*=\"fill\"]) {\n marker: var(--vis-pattern-marker${i});\n stroke-dasharray: var(--vis-pattern-dasharray${i});\n }\n `)}\n}\n`;\r\nfunction getFontWidthToHeightRatio(context = window === null || window === void 0 ? void 0 : window.document.body) {\r\n return context ? +getCSSVariableValue('var(--vis-font-wh-ratio)', context) : UNOVIS_FONT_WH_RATIO_DEFAULT;\r\n}\n\nexport { UNOVIS_FONT_WH_RATIO_DEFAULT, UNOVIS_ICON_FONT_FAMILY_DEFAULT, UNOVIS_TEXT_DEFAULT, UNOVIS_TEXT_HYPHEN_CHARACTER_DEFAULT, UNOVIS_TEXT_SEPARATOR_DEFAULT, getFontWidthToHeightRatio, variables };\n//# sourceMappingURL=index.js.map\n","import { interrupt } from 'd3-transition';\n\nfunction smartTransition(selection, duration, easing) {\r\n selection.nodes().forEach(node => interrupt(node)); // Interrupt active transitions if any\r\n if (duration) {\r\n const transition = selection.transition().duration(duration);\r\n if (easing)\r\n transition.ease(easing);\r\n return transition;\r\n }\r\n else\r\n return selection;\r\n}\n\nexport { smartTransition };\n//# sourceMappingURL=d3.js.map\n","import { ContainerDefaultConfig } from '../../core/container/config.js';\n\n// Core\r\nconst SingleContainerDefaultConfig = Object.assign(Object.assign({}, ContainerDefaultConfig), { tooltip: undefined, annotations: undefined });\n\nexport { SingleContainerDefaultConfig };\n//# sourceMappingURL=config.js.map\n","import '../../styles/index.js';\nimport { ContainerCore } from '../../core/container/index.js';\nimport { smartTransition } from '../../utils/d3.js';\nimport { Sizing } from '../../types/component.js';\nimport { SingleContainerDefaultConfig } from './config.js';\n\n// Global CSS variables (side effects import)\r\nclass SingleContainer extends ContainerCore {\r\n constructor(element, config, data) {\r\n var _a;\r\n super(element);\r\n this._defaultConfig = SingleContainerDefaultConfig;\r\n this.config = this._defaultConfig;\r\n if (config) {\r\n this.updateContainer(config, true);\r\n this.component = config.component;\r\n }\r\n if (data) {\r\n this.setData(data, true);\r\n }\r\n // Render if component exists and has data\r\n if ((_a = this.component) === null || _a === void 0 ? void 0 : _a.datamodel.data)\r\n this.render();\r\n }\r\n setData(data, preventRender) {\r\n var _a;\r\n const { config } = this;\r\n if (this.component)\r\n this.component.setData(data);\r\n if (!preventRender)\r\n this.render();\r\n (_a = config.tooltip) === null || _a === void 0 ? void 0 : _a.hide();\r\n }\r\n updateContainer(containerConfig, preventRender) {\r\n super.updateContainer(containerConfig);\r\n this._removeAllChildren();\r\n this.component = containerConfig.component;\r\n if (containerConfig.sizing)\r\n this.component.sizing = containerConfig.sizing;\r\n this.element.appendChild(this.component.element);\r\n const tooltip = containerConfig.tooltip;\r\n if (tooltip) {\r\n if (!tooltip.hasContainer())\r\n tooltip.setContainer(this._container);\r\n tooltip.setComponents([this.component]);\r\n }\r\n const annotations = containerConfig.annotations;\r\n if (annotations) {\r\n this.element.appendChild(annotations.element);\r\n }\r\n // Defs\r\n this.element.appendChild(this._svgDefs.node());\r\n this.element.appendChild(this._svgDefsExternal.node());\r\n if (!preventRender)\r\n this.render();\r\n }\r\n updateComponent(componentConfig, preventRender) {\r\n this.component.setConfig(componentConfig);\r\n if (!preventRender)\r\n this.render();\r\n }\r\n update(containerConfig, componentConfig, data) {\r\n if (containerConfig)\r\n this.updateContainer(containerConfig, true);\r\n if (componentConfig)\r\n this.updateComponent(componentConfig, true);\r\n if (data)\r\n this.setData(data, true);\r\n this.render();\r\n }\r\n getFitWidthScale() {\r\n const { config, component } = this;\r\n const extendedSizeComponent = component;\r\n if (!extendedSizeComponent.getWidth)\r\n return 1;\r\n const componentWidth = extendedSizeComponent.getWidth() + config.margin.left + config.margin.right;\r\n return this.width / componentWidth;\r\n }\r\n _preRender() {\r\n var _a, _b;\r\n super._preRender();\r\n this.component.setSize(this.width, this.height, this.containerWidth, this.containerHeight);\r\n this.component.setContainerMargin(this.config.margin);\r\n (_a = this.config.annotations) === null || _a === void 0 ? void 0 : _a.setSize(this.width, this.height, this.containerWidth, this.containerHeight);\r\n (_b = this.config.annotations) === null || _b === void 0 ? void 0 : _b.setContainerMargin(this.config.margin);\r\n }\r\n _render(duration) {\r\n var _a, _b;\r\n const { config, component } = this;\r\n super._render(duration);\r\n component.g.attr('transform', `translate(${config.margin.left},${config.margin.top})`);\r\n component.render(duration);\r\n (_a = config.annotations) === null || _a === void 0 ? void 0 : _a.render(duration);\r\n if (config.tooltip)\r\n config.tooltip.update();\r\n (_b = config.onRenderComplete) === null || _b === void 0 ? void 0 : _b.call(config, this.svg.node(), config.margin, this.containerWidth, this.containerHeight, this.width, this.height);\r\n }\r\n // Re-defining the `render()` function to handle different sizing techniques (`Sizing.Extend` and `Sizing.FitWidth`)\r\n // Not calling `super.render()` because we don't want it to interfere with setting the SVG size here.\r\n render(duration = this.config.duration) {\r\n const { config, component } = this;\r\n if (config.sizing === Sizing.Extend || config.sizing === Sizing.FitWidth) {\r\n const fitToWidth = config.sizing === Sizing.FitWidth;\r\n const extendedSizeComponent = component;\r\n const componentWidth = extendedSizeComponent.getWidth() + config.margin.left + config.margin.right;\r\n const componentHeight = extendedSizeComponent.getHeight() + config.margin.top + config.margin.bottom;\r\n const scale = fitToWidth ? this.getFitWidthScale() : 1;\r\n const currentWidth = this.svg.attr('width');\r\n const currentHeight = this.svg.attr('height');\r\n const scaledWidth = componentWidth * scale;\r\n const scaledHeight = componentHeight * scale;\r\n const animated = currentWidth || currentHeight;\r\n smartTransition(this.svg, animated ? duration : 0)\r\n .attr('width', scaledWidth)\r\n .attr('height', scaledHeight)\r\n .attr('viewBox', `${0} ${0} ${componentWidth} ${fitToWidth ? scaledHeight : componentHeight}`)\r\n .attr('preserveAspectRatio', 'xMinYMin');\r\n }\r\n else {\r\n this.svg\r\n .attr('width', this.config.width || this.containerWidth)\r\n .attr('height', this.config.height || this.containerHeight);\r\n }\r\n // Set up Resize Observer\r\n if (!this._resizeObserver)\r\n this._setUpResizeObserver();\r\n // Schedule the actual rendering in the next frame\r\n cancelAnimationFrame(this._renderAnimationFrameId);\r\n this._renderAnimationFrameId = requestAnimationFrame(() => {\r\n this._preRender();\r\n this._render(duration);\r\n });\r\n }\r\n _onResize() {\r\n var _a;\r\n const { config } = this;\r\n super._onResize();\r\n (_a = config.tooltip) === null || _a === void 0 ? void 0 : _a.hide();\r\n }\r\n destroy() {\r\n var _a, _b;\r\n const { component, config } = this;\r\n super.destroy();\r\n component === null || component === void 0 ? void 0 : component.destroy();\r\n (_a = config.tooltip) === null || _a === void 0 ? void 0 : _a.destroy();\r\n (_b = config.annotations) === null || _b === void 0 ? void 0 : _b.destroy();\r\n }\r\n}\n\nexport { SingleContainer };\n//# sourceMappingURL=index.js.map\n","class CoreDataModel {\r\n constructor(data) {\r\n this.data = data;\r\n }\r\n get data() {\r\n return this._data;\r\n }\r\n set data(value) {\r\n this._data = value;\r\n }\r\n}\n\nexport { CoreDataModel };\n//# sourceMappingURL=core.js.map\n","var AxisType;\r\n(function (AxisType) {\r\n AxisType[\"X\"] = \"x\";\r\n AxisType[\"Y\"] = \"y\";\r\n})(AxisType || (AxisType = {}));\n\nexport { AxisType };\n//# sourceMappingURL=types.js.map\n","import { scaleLinear, scalePow, scaleSqrt, scaleLog, scaleSymlog, scaleIdentity, scaleTime, scaleUtc, scaleSequential, scaleDiverging, scaleQuantize, scaleQuantile, scaleThreshold, scaleOrdinal, scaleBand, scalePoint } from 'd3-scale';\n\nconst Scale = {\r\n scaleLinear,\r\n scalePow,\r\n scaleSqrt,\r\n scaleLog,\r\n scaleSymlog,\r\n scaleIdentity,\r\n scaleTime,\r\n scaleUtc,\r\n scaleSequential,\r\n scaleDiverging,\r\n scaleQuantize,\r\n scaleQuantile,\r\n scaleThreshold,\r\n scaleOrdinal,\r\n scaleBand,\r\n scalePoint,\r\n};\r\nvar ScaleDimension;\r\n(function (ScaleDimension) {\r\n ScaleDimension[\"X\"] = \"x\";\r\n ScaleDimension[\"Y\"] = \"y\";\r\n})(ScaleDimension || (ScaleDimension = {}));\n\nexport { Scale, ScaleDimension };\n//# sourceMappingURL=scale.js.map\n","var Direction;\r\n(function (Direction) {\r\n Direction[\"West\"] = \"west\";\r\n Direction[\"East\"] = \"east\";\r\n Direction[\"North\"] = \"north\";\r\n Direction[\"South\"] = \"south\";\r\n})(Direction || (Direction = {}));\n\nexport { Direction };\n//# sourceMappingURL=direction.js.map\n","import { ContainerDefaultConfig } from '../../core/container/config.js';\nimport { Direction } from '../../types/direction.js';\n\nconst XYContainerDefaultConfig = Object.assign(Object.assign({}, ContainerDefaultConfig), { components: [], tooltip: undefined, crosshair: undefined, annotations: undefined, xAxis: undefined, yAxis: undefined, autoMargin: true, xScale: undefined, xDomain: undefined, xDomainMinConstraint: undefined, xDomainMaxConstraint: undefined, xRange: undefined, yScale: undefined, yDomain: undefined, yDomainMinConstraint: undefined, yDomainMaxConstraint: undefined, yRange: undefined, yDirection: Direction.North, preventEmptyDomain: null, scaleByDomain: false, clipPathExtend: 2 });\n\nexport { XYContainerDefaultConfig };\n//# sourceMappingURL=config.js.map\n","import { css } from '@emotion/css';\nimport { extent, merge } from 'd3-array';\nimport '../../styles/index.js';\nimport { ContainerCore } from '../../core/container/index.js';\nimport { CoreDataModel } from '../../data-models/core.js';\nimport { AxisType } from '../../components/axis/types.js';\nimport { ScaleDimension } from '../../types/scale.js';\nimport { Direction } from '../../types/direction.js';\nimport { clamp, isEqual, clean, flatten } from '../../utils/data.js';\nimport { guid } from '../../utils/misc.js';\nimport { XYContainerDefaultConfig } from './config.js';\n\nclass XYContainer extends ContainerCore {\r\n constructor(element, config, data) {\r\n var _a, _b;\r\n super(element);\r\n this._defaultConfig = XYContainerDefaultConfig;\r\n this.datamodel = new CoreDataModel();\r\n this.config = this._defaultConfig;\r\n this._clipPathId = guid();\r\n this._axisMargin = { top: 0, bottom: 0, left: 0, right: 0 };\r\n this._firstRender = true;\r\n this._clipPath = this.svg.append('clipPath')\r\n .attr('id', this._clipPathId);\r\n this._clipPath.append('rect');\r\n // When the base tag is specified on the HTML head,\r\n // Safari fails to find the corresponding filter URL.\r\n // We have to provide tull url in order to fix that\r\n const highlightFilterId = 'saturate';\r\n const baseUrl = window.location.href.replace(window.location.hash, '');\r\n this.svg.attr('class', css `\n --highlight-filter-id: url(${baseUrl}#${highlightFilterId}); // defining a css variable\n `);\r\n this._svgDefs.append('filter')\r\n .attr('id', highlightFilterId)\r\n .attr('filterUnits', 'objectBoundingBox')\r\n .html('<feColorMatrix type=\"saturate\" in=\"SourceGraphic\" values=\"1.35\"/>');\r\n if (config) {\r\n this.updateContainer(config, true);\r\n }\r\n if (data) {\r\n this.setData(data, true);\r\n }\r\n // Render if there are axes or components with data\r\n if (this.config.xAxis ||\r\n this.config.yAxis ||\r\n ((_a = this.components) === null || _a === void 0 ? void 0 : _a.some(c => c.datamodel.data))) {\r\n this.render();\r\n }\r\n // Force re-render axes when fonts are loaded\r\n (_b = document.fonts) === null || _b === void 0 ? void 0 : _b.ready.then(() => {\r\n if (!this._firstRender)\r\n this._renderAxes(0);\r\n });\r\n }\r\n get components() {\r\n return this.config.components;\r\n }\r\n // Overriding ContainerCore default get width method to work with axis auto margin\r\n get width() {\r\n const margin = this._getMargin();\r\n return clamp(this.containerWidth - margin.left - margin.right, 0, Number.POSITIVE_INFINITY);\r\n }\r\n // Overriding ContainerCore default get height method to work with axis auto margin\r\n get height() {\r\n const margin = this._getMargin();\r\n return clamp(this.containerHeight - margin.top - margin.bottom, 0, Number.POSITIVE_INFINITY);\r\n }\r\n setData(data, preventRender) {\r\n var _a, _b, _c, _d, _e;\r\n const { components, config } = this;\r\n if (!data)\r\n return;\r\n this.datamodel.data = data;\r\n components.forEach((c) => {\r\n c.setData(data);\r\n });\r\n (_a = config.crosshair) === null || _a === void 0 ? void 0 : _a.setData(data);\r\n (_b = config.xAxis) === null || _b === void 0 ? void 0 : _b.setData(data);\r\n (_c = config.yAxis) === null || _c === void 0 ? void 0 : _c.setData(data);\r\n // Hide tooltip and crosshair if the data has changed\r\n // Important: We still want to do `setData` for the components above even if the data hasn't changed\r\n // because calling `updateContainer` may add new components and we need to pass them the data\r\n const hasDataUpdated = !isEqual(this.datamodel.data, data);\r\n if (hasDataUpdated) {\r\n (_d = config.tooltip) === null || _d === void 0 ? void 0 : _d.hide();\r\n (_e = config.crosshair) === null || _e === void 0 ? void 0 : _e.hide();\r\n }\r\n if (!preventRender)\r\n this.render();\r\n }\r\n updateContainer(containerConfig, preventRender) {\r\n super.updateContainer(containerConfig);\r\n this._removeAllChildren();\r\n // If there were any new components added we need to pass them data\r\n this.setData(this.datamodel.data, true);\r\n // Set up the axes\r\n if (containerConfig.xAxis) {\r\n this.config.xAxis.config.type = AxisType.X;\r\n this.element.appendChild(containerConfig.xAxis.element);\r\n }\r\n if (containerConfig.yAxis) {\r\n this.config.yAxis.config.type = AxisType.Y;\r\n this.element.appendChild(containerConfig.yAxis.element);\r\n }\r\n // Re-insert elements to the DOM\r\n for (const c of this.components) {\r\n this.element.appendChild(c.element);\r\n }\r\n // Set up the tooltip\r\n const tooltip = containerConfig.tooltip;\r\n if (tooltip) {\r\n if (!tooltip.hasContainer())\r\n tooltip.setContainer(this._container);\r\n tooltip.setComponents(this.components);\r\n }\r\n // Set up the crosshair\r\n const crosshair = containerConfig.crosshair;\r\n if (crosshair) {\r\n crosshair.setContainer(this.svg);\r\n crosshair.tooltip = tooltip;\r\n this.element.appendChild(crosshair.element);\r\n }\r\n // Set up annotations\r\n const annotations = containerConfig.annotations;\r\n if (annotations) {\r\n this.element.appendChild(annotations.element);\r\n }\r\n // Clipping path\r\n this.element.appendChild(this._clipPath.node());\r\n // Defs\r\n this.element.appendChild(this._svgDefs.node());\r\n this.element.appendChild(this._svgDefsExternal.node());\r\n // Rendering\r\n if (!preventRender)\r\n this.render();\r\n }\r\n updateComponents(componentConfigs, preventRender) {\r\n const { config } = this;\r\n this.components.forEach((c, i) => {\r\n const componentConfig = componentConfigs[i];\r\n if (componentConfig) {\r\n c.setConfig(componentConfigs[i]);\r\n }\r\n });\r\n this._updateScales(...this.components, config.xAxis, config.yAxis, config.crosshair);\r\n if (!preventRender)\r\n this.render();\r\n }\r\n update(containerConfig, componentConfigs, data) {\r\n if (data)\r\n this.datamodel.data = data; // Just updating the data model because the `updateContainer` method has the `setData` step inside\r\n if (containerConfig)\r\n this.updateContainer(containerConfig, true);\r\n if (componentConfigs)\r\n this.updateComponents(componentConfigs, true);\r\n this.render();\r\n }\r\n _preRender() {\r\n const { config } = this;\r\n super._preRender();\r\n // Calculate extra margin required to fit the axes\r\n if (config.autoMargin) {\r\n this._setAutoMargin();\r\n }\r\n // Pass size and margin to the components\r\n const components = clean([...this.components, config.xAxis, config.yAxis, config.crosshair, config.annotations]);\r\n const margin = this._getMargin();\r\n for (const c of components) {\r\n c.setSize(this.width, this.height, this.containerWidth, this.containerHeight);\r\n c.setContainerMargin(margin);\r\n }\r\n // Update Scales of all the components at once to calculate required paddings and sync them\r\n this._updateScales(...this.components, config.xAxis, config.yAxis, config.crosshair);\r\n }\r\n _render(customDuration) {\r\n var _a, _b, _c, _d, _e, _f;\r\n const { config } = this;\r\n super._render();\r\n // Get chart total margin after auto margin calculations\r\n const margin = this._getMargin();\r\n // Render components\r\n for (const c of this.components) {\r\n c.g.attr('transform', `translate(${margin.left},${margin.top})`)\r\n .style('clip-path', c.clippable ? `url(#${this._clipPathId})` : null)\r\n .style('-webkit-clip-path', c.clippable ? `url(#${this._clipPathId})` : null);\r\n c.render(customDuration);\r\n }\r\n this._renderAxes(this._firstRender ? 0 : customDuration);\r\n // Clip Rect\r\n // Extending the clipping path to allow small overflow (e.g. Line will looks better that way when it touches the edges)\r\n const clipPathExtension = config.clipPathExtend;\r\n this._clipPath.select('rect')\r\n .attr('x', -clipPathExtension)\r\n .attr('y', -clipPathExtension)\r\n .attr('width', this.width + 2 * clipPathExtension)\r\n .attr('height', this.height + 2 * clipPathExtension);\r\n // Tooltip\r\n (_a = config.tooltip) === null || _a === void 0 ? void 0 : _a.update(); // Re-bind events\r\n // Crosshair\r\n const crosshair = config.crosshair;\r\n if (crosshair) {\r\n // Pass accessors\r\n const yAccessors = this.components.filter(c => !c.stacked).map(c => c.config.y);\r\n const yStackedAccessors = this.components.filter(c => c.stacked).map(c => c.config.y);\r\n const baselineComponentConfig = (_b = this.components.find(c => c.config.baseline)) === null || _b === void 0 ? void 0 : _b.config;\r\n const baselineAccessor = baselineComponentConfig === null || baselineComponentConfig === void 0 ? void 0 : baselineComponentConfig.baseline;\r\n // Setting up fallback accessors for the crosshair to be used if they are not configured explicitly\r\n crosshair.accessors = {\r\n x: (_c = this.components[0]) === null || _c === void 0 ? void 0 : _c.config.x,\r\n y: flatten(yAccessors),\r\n yStacked: flatten(yStackedAccessors),\r\n baseline: baselineAccessor,\r\n };\r\n crosshair.g.attr('transform', `translate(${margin.left},${margin.top})`)\r\n .style('clip-path', `url(#${this._clipPathId})`)\r\n .style('-webkit-clip-path', `url(#${this._clipPathId})`);\r\n crosshair.render();\r\n }\r\n (_d = config.annotations) === null || _d === void 0 ? void 0 : _d.g.attr('transform', `translate(${margin.left},${margin.top})`);\r\n (_e = config.annotations) === null || _e === void 0 ? void 0 : _e.render();\r\n this._firstRender = false;\r\n (_f = config.onRenderComplete) === null || _f === void 0 ? void 0 : _f.call(config, this.svg.node(), margin, this._getBleed(this.components), this.containerWidth, this.containerHeight, this.width, this.height);\r\n }\r\n _updateScales(...components) {\r\n const c = clean(components || this.components);\r\n this._setScales(...c);\r\n this._updateScalesDomain(...c);\r\n this._updateScalesRange(...c);\r\n }\r\n _setScales(...components) {\r\n const { config } = this;\r\n if (!components)\r\n return;\r\n // Set the X and Y scales\r\n if (config.xScale)\r\n components.forEach(c => c.setScale(ScaleDimension.X, config.xScale));\r\n if (config.yScale)\r\n components.forEach(c => c.setScale(ScaleDimension.Y, config.yScale));\r\n }\r\n _updateScalesDomain(...components) {\r\n const { config } = this;\r\n if (!components)\r\n return;\r\n const componentsWithDomain = components.filter(c => !c.config.excludeFromDomainCalculation);\r\n // Loop over all the dimensions\r\n Object.values(ScaleDimension).forEach((dimension) => {\r\n var _a, _b, _c, _d, _e, _f, _g, _h;\r\n const [min, max] = extent(merge(componentsWithDomain.map(c => c.getDataExtent(dimension, config.scaleByDomain)))); // Components with undefined dimension accessors will return [undefined, undefined] but d3.extent will take care of that\r\n const configuredDomain = dimension === ScaleDimension.Y ? config.yDomain : config.xDomain;\r\n const configuredDomainMinConstraint = dimension === ScaleDimension.Y ? config.yDomainMinConstraint : config.xDomainMinConstraint;\r\n const configuredDomainMaxConstraint = dimension === ScaleDimension.Y ? config.yDomainMaxConstraint : config.xDomainMaxConstraint;\r\n const domainMin = (_b = (_a = configuredDomain === null || configuredDomain === void 0 ? void 0 : configuredDomain[0]) !== null && _a !== void 0 ? _a : min) !== null && _b !== void 0 ? _b : 0;\r\n const domainMax = (_d = (_c = configuredDomain === null || configuredDomain === void 0 ? void 0 : configuredDomain[1]) !== null && _c !== void 0 ? _c : max) !== null && _d !== void 0 ? _d : 1;\r\n const domain = [\r\n clamp(domainMin, (_e = configuredDomainMinConstraint === null || configuredDomainMinConstraint === void 0 ? void 0 : configuredDomainMinConstraint[0]) !== null && _e !== void 0 ? _e : Number.NEGATIVE_INFINITY, (_f = configuredDomainMinConstraint === null || configuredDomainMinConstraint === void 0 ? void 0 : configuredDomainMinConstraint[1]) !== null && _f !== void 0 ? _f : Number.POSITIVE_INFINITY),\r\n clamp(domainMax, (_g = configuredDomainMaxConstraint === null || configuredDomainMaxConstraint === void 0 ? void 0 : configuredDomainMaxConstraint[0]) !== null && _g !== void 0 ? _g : Number.NEGATIVE_INFINITY, (_h = configuredDomainMaxConstraint === null || configuredDomainMaxConstraint === void 0 ? void 0 : configuredDomainMaxConstraint[1]) !== null && _h !== void 0 ? _h : Number.POSITIVE_INFINITY),\r\n ];\r\n // Extend the X and Y domains if they're empty and `preventEmptyDomain` was explicitly set to `true`\r\n // or just the X domain if there is no data provided and `preventEmptyDomain` set to `null`\r\n if (domain[0] === domain[1]) {\r\n const hasDataProvided = componentsWithDomain.some(c => { var _a; return ((_a = c.datamodel.data) === null || _a === void 0 ? void 0 : _a.length) > 0; });\r\n if (config.preventEmptyDomain || (config.preventEmptyDomain === null && (!hasDataProvided || dimension === ScaleDimension.Y))) {\r\n domain[1] = domain[0] + 1;\r\n }\r\n }\r\n components.forEach(c => c.setScaleDomain(dimension, domain));\r\n });\r\n }\r\n _updateScalesRange(...components) {\r\n var _a, _b, _c, _d, _e, _f;\r\n const { config } = this;\r\n if (!components)\r\n return;\r\n // Set initial scale range\r\n const isYDirectionSouth = config.yDirection === Direction.South;\r\n const xRange = [(_a = config.padding.left) !== null && _a !== void 0 ? _a : 0, this.width - ((_b = config.padding.right) !== null && _b !== void 0 ? _b : 0)];\r\n const yRange = [this.height - ((_c = config.padding.bottom) !== null && _c !== void 0 ? _c : 0), (_d = config.padding.top) !== null && _d !== void 0 ? _d : 0];\r\n if (isYDirectionSouth)\r\n yRange.reverse();\r\n for (const c of components) {\r\n c.setSize(this.width, this.height, this.containerWidth, this.containerHeight);\r\n c.setScaleRange(ScaleDimension.X, (_e = config.xRange) !== null && _e !== void 0 ? _e : xRange);\r\n c.setScaleRange(ScaleDimension.Y, (_f = config.yRange) !== null && _f !== void 0 ? _f : yRange);\r\n }\r\n // Get and combine bleed\r\n const bleed = this._getBleed(components);\r\n // Update scale range\r\n for (const c of components) {\r\n c.setScaleRange(ScaleDimension.X, [xRange[0] + bleed.left, xRange[1] - bleed.right]);\r\n c.setScaleRange(ScaleDimension.Y, isYDirectionSouth\r\n ? [yRange[0] + bleed.top, yRange[1] - bleed.bottom] // if Y axis is directed downwards\r\n : [yRange[0] - bleed.bottom, yRange[1] + bleed.top] // if Y axis is directed upwards\r\n );\r\n }\r\n }\r\n _renderAxes(duration) {\r\n const { config: { xAxis, yAxis } } = this;\r\n const margin = this._getMargin();\r\n const axes = clean([xAxis, yAxis]);\r\n axes.forEach(axis => {\r\n const offset = axis.getOffset(margin);\r\n axis.g.attr('transform', `translate(${offset.left},${offset.top})`);\r\n axis.render(duration);\r\n });\r\n }\r\n _setAutoMargin() {\r\n const { config: { xAxis, yAxis } } = this;\r\n // At first we need to set the domain to the scales\r\n const components = clean([...this.components, xAxis, yAxis]);\r\n this._setScales(...components);\r\n this._updateScalesDomain(...components);\r\n // Calculate margin required by the axes\r\n // We do two iterations on the first render, because the amount and size of ticks can change\r\n // after new margin are calculated and applied (axes dimensions will change).\r\n // That's needed for correct label placement.\r\n const numIterations = this._firstRender ? 2 : 1;\r\n for (let i = 0; i < numIterations; i += 1) {\r\n const axisMargin = { top: 0, bottom: 0, left: 0, right: 0 };\r\n this._updateScalesRange(...components);\r\n const axes = clean([xAxis, yAxis]);\r\n axes.forEach(axis => {\r\n axis.preRender();\r\n const m = axis.getRequiredMargin();\r\n if (axisMargin.top < m.top)\r\n axisMargin.top = m.top;\r\n if (axisMargin.bottom < m.bottom)\r\n axisMargin.bottom = m.bottom;\r\n if (axisMargin.left < m.left)\r\n axisMargin.left = m.left;\r\n if (axisMargin.right < m.right)\r\n axisMargin.right = m.right;\r\n });\r\n this._axisMargin = axisMargin;\r\n }\r\n }\r\n _getMargin() {\r\n const { config: { margin } } = this;\r\n return {\r\n top: margin.top + this._axisMargin.top,\r\n bottom: margin.bottom + this._axisMargin.bottom,\r\n left: margin.left + this._axisMargin.left,\r\n right: margin.right + this._axisMargin.right,\r\n };\r\n }\r\n _getBleed(components) {\r\n return components.map(c => c.bleed).reduce((bleed, b) => {\r\n for (const key of Object.keys(bleed)) {\r\n const k = key;\r\n if (bleed[k] < b[k])\r\n bleed[k] = b[k];\r\n }\r\n return bleed;\r\n }, { top: 0, bottom: 0, left: 0, right: 0 });\r\n }\r\n destroy() {\r\n const { components, config: { tooltip, crosshair, annotations, xAxis, yAxis } } = this;\r\n super.destroy();\r\n for (const c of components)\r\n c === null || c === void 0 ? void 0 : c.destroy();\r\n tooltip === null || tooltip === void 0 ? void 0 : tooltip.destroy();\r\n crosshair === null || crosshair === void 0 ? void 0 : crosshair.destroy();\r\n annotations === null || annotations === void 0 ? void 0 : annotations.destroy();\r\n xAxis === null || xAxis === void 0 ? void 0 : xAxis.destroy();\r\n yAxis === null || yAxis === void 0 ? void 0 : yAxis.destroy();\r\n }\r\n}\n\nexport { XYContainer };\n//# sourceMappingURL=index.js.map\n","const ComponentDefaultConfig = {\r\n duration: 600,\r\n events: {},\r\n attributes: {},\r\n};\n\nexport { ComponentDefaultConfig };\n//# sourceMappingURL=config.js.map\n","import { select } from 'd3-selection';\nimport { CoreDataModel } from '../../data-models/core.js';\nimport { throttle, merge } from '../../utils/data.js';\nimport { guid } from '../../utils/misc.js';\nimport { ComponentType, Sizing } from '../../types/component.js';\nimport { ComponentDefaultConfig } from './config.js';\n\nclass ComponentCore {\r\n constructor(type = ComponentType.SVG) {\r\n var _a, _b;\r\n this.type = ComponentType.SVG;\r\n this.datamodel = new CoreDataModel();\r\n this.sizing = Sizing.Fit; // Supported by SingleContainer and a subset of components only (Sankey)\r\n this.events = {};\r\n /** Default configuration */\r\n this._defaultConfig = ComponentDefaultConfig;\r\n /** Component width in pixels. This property is set automatically by the container. */\r\n this._width = 400;\r\n /** Component height in pixels. This property is set automatically by the container. */\r\n this._height = 200;\r\n /** Container width in pixels. This property is set automatically by the container. */\r\n this._containerWidth = undefined;\r\n /** Container height in pixels. This property is set automatically by the container. */\r\n this._containerHeight = undefined;\r\n /** Container margin in pixels. This property is set automatically by the container. */\r\n this._containerMargin = { top: 0, bottom: 0, left: 0, right: 0 };\r\n this._setUpComponentEventsThrottled = throttle(this._setUpComponentEvents, 500);\r\n this._setCustomAttributesThrottled = throttle(this._setCustomAttributes, 500);\r\n if (type === ComponentType.SVG) {\r\n this.element = document.createElementNS('http://www.w3.org/2000/svg', 'g');\r\n }\r\n else {\r\n this.element = document.createElement('div');\r\n }\r\n this.uid = guid();\r\n this.g = select(this.element);\r\n // Setting the root class if available\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n // eslint-disable-next-line dot-notation\r\n const rootClass = (_b = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a['selectors']) === null || _b === void 0 ? void 0 : _b.root;\r\n if (rootClass)\r\n this.g.attr('class', rootClass);\r\n }\r\n /** Set the container margin. Called automatically by containers. */\r\n setContainerMargin(margin) {\r\n this._containerMargin = margin;\r\n }\r\n setConfig(config) {\r\n this.prevConfig = this.config; // Store the previous config instance\r\n this.config = merge(this._defaultConfig, config);\r\n }\r\n setData(data) {\r\n this.datamodel.data = data;\r\n }\r\n setSize(width, height, containerWidth, containerHeight) {\r\n if (isFinite(width))\r\n this._width = width;\r\n if (isFinite(height))\r\n this._height = height;\r\n if (isFinite(containerWidth))\r\n this._containerWidth = containerWidth;\r\n if (isFinite(containerHeight))\r\n this._containerHeight = containerHeight;\r\n }\r\n render(duration = this.config.duration) {\r\n this._render(duration);\r\n // While transition is in progress, we add the 'animating' attribute to the component's SVG group\r\n const ANIMATING_ATTR = 'animating';\r\n if (duration) {\r\n this.g.attr(ANIMATING_ATTR, '');\r\n const transition = this.g\r\n .transition(ANIMATING_ATTR)\r\n .duration(duration);\r\n transition.on('end interrupt', () => {\r\n this.g.attr(ANIMATING_ATTR, null);\r\n });\r\n }\r\n this._setUpComponentEventsThrottled();\r\n this._setCustomAttributesThrottled();\r\n }\r\n get bleed() {\r\n return { top: 0, bottom: 0, left: 0, right: 0 };\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n _render(duration = this.config.duration) {\r\n }\r\n _setCustomAttributes() {\r\n const attributeMap = this.config.attributes;\r\n Object.keys(attributeMap).forEach(className => {\r\n Object.keys(attributeMap[className]).forEach(attr => {\r\n const selection = this.g\r\n .selectAll(`.${className}`);\r\n selection.attr(attr, attributeMap[className][attr]);\r\n });\r\n });\r\n }\r\n _setUpComponentEvents() {\r\n // Set up default events\r\n this._bindEvents(this.events);\r\n // Set up user-defined events\r\n this._bindEvents(this.config.events, '.user');\r\n }\r\n _bindEvents(events = this.events, suffix = '') {\r\n Object.keys(events).forEach(className => {\r\n Object.keys(events[className]).forEach(eventType => {\r\n const selection = this.g\r\n .selectAll(`.${className}`);\r\n selection.on(eventType + suffix, (event, d) => {\r\n const els = selection.nodes();\r\n const i = els.indexOf(event.currentTarget);\r\n const eventFunction = events[className][eventType];\r\n return eventFunction === null || eventFunction === void 0 ? void 0 : eventFunction(d, event, i, els);\r\n });\r\n });\r\n });\r\n }\r\n destroy() {\r\n var _a;\r\n (_a = this.g) === null || _a === void 0 ? void 0 : _a.remove();\r\n this.element = undefined;\r\n }\r\n isDestroyed() {\r\n return !this.element;\r\n }\r\n}\n\nexport { ComponentCore };\n//# sourceMappingURL=index.js.map\n","import { CoreDataModel } from './core.js';\n\n// Core\r\nclass SeriesDataModel extends CoreDataModel {\r\n constructor(data) {\r\n super(data);\r\n }\r\n get data() {\r\n var _a;\r\n return (_a = this._data) !== null && _a !== void 0 ? _a : [];\r\n }\r\n set data(data) {\r\n if (Array.isArray(data))\r\n this._data = data;\r\n }\r\n}\n\nexport { SeriesDataModel };\n//# sourceMappingURL=series.js.map\n","import { ComponentDefaultConfig } from '../component/config.js';\n\n// Config\r\nconst XYComponentDefaultConfig = Object.assign(Object.assign({}, ComponentDefaultConfig), { x: undefined, y: undefined, id: (d, i) => { var _a; return (_a = d.id) !== null && _a !== void 0 ? _a : `${i}`; }, color: (d) => d.color, xScale: undefined, yScale: undefined, excludeFromDomainCalculation: false });\n\nexport { XYComponentDefaultConfig };\n//# sourceMappingURL=config.js.map\n","import { ComponentCore } from '../component/index.js';\nimport { SeriesDataModel } from '../../data-models/series.js';\nimport { getExtent, filterDataByRange, isArray } from '../../utils/data.js';\nimport { Scale, ScaleDimension } from '../../types/scale.js';\nimport { XYComponentDefaultConfig } from './config.js';\n\n// Core\r\nclass XYComponentCore extends ComponentCore {\r\n constructor() {\r\n super(...arguments);\r\n this.datamodel = new SeriesDataModel();\r\n /** Clippable components can be affected by a clipping path (set up in the container) */\r\n this.clippable = true;\r\n /** Identifies whether the component displayed stacked data (eg StackedBar, Area) */\r\n this.stacked = false;\r\n this._defaultConfig = XYComponentDefaultConfig;\r\n this._xScale = Scale.scaleLinear();\r\n this._yScale = Scale.scaleLinear();\r\n }\r\n get xScale() {\r\n return this.config.xScale || this._xScale;\r\n }\r\n get yScale() {\r\n return this.config.yScale || this._yScale;\r\n }\r\n setConfig(config) {\r\n var _a, _b;\r\n // We don't allow changing scales after the component has been initialized\r\n if ((_a = this.config) === null || _a === void 0 ? void 0 : _a.xScale)\r\n config.xScale = this.config.xScale;\r\n if ((_b = this.config) === null || _b === void 0 ? void 0 : _b.yScale)\r\n config.yScale = this.config.yScale;\r\n super.setConfig(config);\r\n }\r\n setScaleDomain(dimension, domain) {\r\n var _a, _b;\r\n if (dimension === ScaleDimension.X)\r\n (_a = this._xScale) === null || _a === void 0 ? void 0 : _a.domain(domain);\r\n if (dimension === ScaleDimension.Y)\r\n (_b = this._yScale) === null || _b === void 0 ? void 0 : _b.domain(domain);\r\n }\r\n setScaleRange(dimension, range) {\r\n var _a, _b;\r\n if (dimension === ScaleDimension.X)\r\n (_a = this._xScale) === null || _a === void 0 ? void 0 : _a.range(range);\r\n if (dimension === ScaleDimension.Y)\r\n (_b = this._yScale) === null || _b === void 0 ? void 0 : _b.range(range);\r\n }\r\n setScale(dimension, scale) {\r\n if (scale && (dimension === ScaleDimension.X))\r\n this._xScale = scale;\r\n if (scale && (dimension === ScaleDimension.Y))\r\n this._yScale = scale;\r\n }\r\n getDataExtent(dimension, scaleByVisibleData) {\r\n const { config, datamodel } = this;\r\n switch (dimension) {\r\n case ScaleDimension.X: return this.getXDataExtent();\r\n case ScaleDimension.Y: return this.getYDataExtent(scaleByVisibleData);\r\n default: return getExtent(datamodel.data, config[dimension]);\r\n }\r\n }\r\n getXDataExtent() {\r\n const { config, datamodel } = this;\r\n return getExtent(datamodel.data, config.x);\r\n }\r\n /** Some components override this method to provide custom data extent calculation */\r\n getYDataExtent(scaleByVisibleData) {\r\n const { config, datamodel } = this;\r\n const xDomain = this.xScale.domain();\r\n const data = scaleByVisibleData ? filterDataByRange(datamodel.data, xDomain, config.x, true) : datamodel.data;\r\n const yAccessors = (isArray(config.y) ? config.y : [config.y]);\r\n return getExtent(data, ...yAccessors);\r\n }\r\n}\n\nexport { XYComponentCore };\n//# sourceMappingURL=index.js.map\n","var Position;\r\n(function (Position) {\r\n Position[\"Top\"] = \"top\";\r\n Position[\"Bottom\"] = \"bottom\";\r\n Position[\"Left\"] = \"left\";\r\n Position[\"Right\"] = \"right\";\r\n Position[\"Center\"] = \"center\";\r\n Position[\"Auto\"] = \"auto\";\r\n})(Position || (Position = {}));\r\nvar PositionStrategy;\r\n(function (PositionStrategy) {\r\n PositionStrategy[\"Absolute\"] = \"absolute\";\r\n PositionStrategy[\"Fixed\"] = \"fixed\";\r\n})(PositionStrategy || (PositionStrategy = {}));\r\nvar Arrangement;\r\n(function (Arrangement) {\r\n Arrangement[\"Inside\"] = \"inside\";\r\n Arrangement[\"Outside\"] = \"outside\";\r\n Arrangement[\"Center\"] = \"center\";\r\n})(Arrangement || (Arrangement = {}));\r\nvar Orientation;\r\n(function (Orientation) {\r\n Orientation[\"Horizontal\"] = \"horizontal\";\r\n Orientation[\"Vertical\"] = \"vertical\";\r\n})(Orientation || (Orientation = {}));\n\nexport { Arrangement, Orientation, Position, PositionStrategy };\n//# sourceMappingURL=position.js.map\n","import { Position } from '../../types/position.js';\n\n// Types\r\nconst TooltipDefaultConfig = {\r\n components: [],\r\n container: undefined,\r\n followCursor: true,\r\n allowHover: false,\r\n horizontalPlacement: Position.Auto,\r\n horizontalShift: 0,\r\n verticalPlacement: Position.Top,\r\n verticalShift: 0,\r\n attributes: {},\r\n triggers: {},\r\n className: undefined,\r\n showDelay: undefined,\r\n hideDelay: undefined,\r\n};\n\nexport { TooltipDefaultConfig };\n//# sourceMappingURL=config.js.map\n","import { css, injectGlobal } from '@emotion/css';\n\nconst root = css `\n label: tooltip;\n display: inline-block;\n left: 0;\n bottom: 0;\n min-width: max-content;\n position: absolute;\n opacity: 0;\n transition: opacity;\n transition-duration: var(--vis-tooltip-transition-duration);\n z-index: 999999;\n padding: var(--vis-tooltip-padding);\n color: var(--vis-tooltip-text-color);\n border-radius: var(--vis-tooltip-border-radius);\n box-shadow: var(--vis-tooltip-box-shadow);\n border: solid 1px var(--vis-tooltip-border-color);\n background-color: var(--vis-tooltip-background-color);\n backdrop-filter: var(--vis-tooltip-backdrop-filter);\n`;\r\n/**\r\n * @deprecated This selector is deprecated and will be removed in future versions. Use `root` instead.\r\n */\r\nconst tooltip = root;\r\nconst variables = injectGlobal `\n :root {\n --vis-tooltip-background-color: rgba(255, 255, 255, 0.95);\n --vis-tooltip-border-color: #e5e9f7;\n --vis-tooltip-text-color: #000;\n --vis-tooltip-shadow-color: rgba(172, 179, 184, 0.35);\n --vis-tooltip-backdrop-filter: none;\n --vis-tooltip-padding: 10px 15px;\n --vis-tooltip-border-radius: 5px;\n --vis-tooltip-transition-duration: 300ms;\n --vis-tooltip-box-shadow: none;\n\n --vis-dark-tooltip-background-color: rgba(30,30,30, 0.95);\n --vis-dark-tooltip-text-color: #e5e9f7;\n --vis-dark-tooltip-border-color: var(--vis-color-grey);\n --vis-dark-tooltip-shadow-color: rgba(0,0,0, 0.95);\n }\n\n body.theme-dark ${`.${root}`} {\n --vis-tooltip-background-color: var(--vis-dark-tooltip-background-color);\n --vis-tooltip-text-color: var(--vis-dark-tooltip-text-color);\n --vis-tooltip-border-color: var(--vis-dark-tooltip-border-color);\n --vis-tooltip-shadow-color: var(--vis-dark-tooltip-shadow-color);\n }\n\n body.theme-dark {\n --vis-tooltip-background-color: rgba(30,30,30, 0.95);\n --vis-tooltip-text-color: #e5e9f7;\n --vis-tooltip-border-color: var(--vis-color-grey);\n --vis-tooltip-shadow-color: rgba(0,0,0, 0.95);\n }\n`;\r\nconst positionFixed = css `\n bottom: unset;\n position: fixed;\n`;\r\nconst show = css `\n opacity: 1;\n`;\r\nconst hidden = css `\n display: none;\n`;\r\nconst nonInteractive = css `\n label: non-interactive;\n pointer-events: none;\n user-select: none;\n`;\n\nexport { hidden, nonInteractive, positionFixed, root, show, tooltip, variables };\n//# sourceMappingURL=style.js.map\n","import { select, pointer } from 'd3-selection';\nimport { Position } from '../../types/position.js';\nimport { throttle, merge } from '../../utils/data.js';\nimport { TooltipDefaultConfig } from './config.js';\nimport * as style from './style.js';\nimport { root, show, hidden, nonInteractive, positionFixed } from './style.js';\n\nclass Tooltip {\r\n constructor(config = {}) {\r\n this._defaultConfig = TooltipDefaultConfig;\r\n this.config = this._defaultConfig;\r\n this._setUpEventsThrottled = throttle(this._setUpEvents, 500);\r\n this._setContainerPositionThrottled = throttle(this._setContainerPosition, 500);\r\n this._isShown = false;\r\n this.element = document.createElement('div');\r\n this.div = select(this.element)\r\n .attr('class', root)\r\n .classed(show, false)\r\n .classed(hidden, true);\r\n this.setConfig(config);\r\n this.components = this.config.components;\r\n // Set up MutationObserver to automatically re-position the tooltip\r\n // if the content has been dynamically changed\r\n this._mutationObserver = new MutationObserver(() => {\r\n if (!this._isShown)\r\n return;\r\n // Handle changes to the content of this.div\r\n // Add your logic here\r\n if (!this.config.followCursor && this._hoveredElement) {\r\n this.placeByElement(this._hoveredElement);\r\n }\r\n else if (this._position) {\r\n this.place({ x: this._position[0], y: this._position[1] });\r\n }\r\n });\r\n this._mutationObserver.observe(this.div.node(), { childList: true, subtree: true });\r\n }\r\n setConfig(config) {\r\n var _a;\r\n this.prevConfig = this.config;\r\n this.config = merge(this._defaultConfig, config);\r\n // Reset `this._overriddenHorizontalPlacement` if the `horizontalPlacement` has changed\r\n if (this.prevConfig.horizontalPlacement !== this.config.horizontalPlacement) {\r\n this.overrideHorizontalPlacement(undefined);\r\n }\r\n if (this.config.container && (this.config.container !== ((_a = this.prevConfig) === null || _a === void 0 ? void 0 : _a.container))) {\r\n this.setContainer(this.config.container);\r\n }\r\n this._setUpAttributes();\r\n }\r\n setContainer(container) {\r\n var _a;\r\n (_a = this.element.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(this.element);\r\n this._container = container;\r\n this._container.appendChild(this.element);\r\n this._setContainerPositionThrottled();\r\n }\r\n getContainer() {\r\n return this._container;\r\n }\r\n hasContainer() {\r\n return !!this._container && this._container.isConnected;\r\n }\r\n setComponents(components) {\r\n this.components = components;\r\n }\r\n update() {\r\n if (!this._container)\r\n return;\r\n this._setUpEventsThrottled();\r\n }\r\n /** Show the tooltip immediately by providing content and position */\r\n show(html, pos) {\r\n this.render(html);\r\n this.place(pos);\r\n }\r\n _hide() {\r\n this.div\r\n .classed(show, false) // The `show` class triggers the opacity transition\r\n .on('transitionend', () => {\r\n // We hide the element once the transition completes\r\n // This ensures container overflow will not occur when the window is resized\r\n this.div.classed(hidden, !this._isShown);\r\n });\r\n this._isShown = false;\r\n }\r\n /** Hides the tooltip after `hideDelay` */\r\n hide() {\r\n window.clearTimeout(this._showDelayTimeoutId);\r\n if (this.config.hideDelay) {\r\n window.clearTimeout(this._hideDelayTimeoutId);\r\n this._hideDelayTimeoutId = setTimeout(() => this._hide(), this.config.hideDelay);\r\n }\r\n else {\r\n this._hide();\r\n }\r\n }\r\n _display() {\r\n window.clearTimeout(this._hideDelayTimeoutId);\r\n this.div\r\n .classed(hidden, false) // The `hidden` class sets `display: none;`\r\n .classed(show, true); // The `show` class triggers the opacity transition\r\n this._isShown = true;\r\n }\r\n /** Simply display the tooltip with its previous content on position, taking into account `showDelay` */\r\n display() {\r\n if (this._isShown)\r\n return;\r\n if (this.config.showDelay) {\r\n window.clearTimeout(this._showDelayTimeoutId);\r\n this._showDelayTimeoutId = setTimeout(() => {\r\n this._display();\r\n this.place({ x: this._position[0], y: this._position[1] });\r\n }, this.config.showDelay);\r\n }\r\n else {\r\n this._display();\r\n }\r\n }\r\n place(pos) {\r\n this._position = [pos.x, pos.y];\r\n if (!this.hasContainer()) {\r\n console.warn('Unovis | Tooltip: Container was not set or is not initialized yet');\r\n return;\r\n }\r\n const { config } = this;\r\n const tooltipWidth = this.element.offsetWidth;\r\n const tooltipHeight = this.element.offsetHeight;\r\n const horizontalPlacement = this._overriddenHorizontalPlacement ||\r\n (config.horizontalPlacement === Position.Auto\r\n ? Position.Center\r\n : config.horizontalPlacement);\r\n const verticalPlacement = config.verticalPlacement === Position.Auto\r\n ? ((pos.y - tooltipHeight) < 0 ? Position.Bottom : Position.Top)\r\n : config.verticalPlacement;\r\n // Todo: Get rid of the hardcoded margin in version 2.0\r\n // Can be simply replaced with `verticalShift` and `horizontalShift`\r\n // but it'll be a breaking change\r\n const margin = 5;\r\n const translateX = horizontalPlacement === Position.Left ? -tooltipWidth - margin - config.horizontalShift\r\n : horizontalPlacement === Position.Center ? -tooltipWidth / 2\r\n : margin + config.horizontalShift;\r\n const translateY = verticalPlacement === Position.Bottom ? margin + config.verticalShift\r\n : verticalPlacement === Position.Center ? -tooltipHeight / 2\r\n : -margin - config.verticalShift - tooltipHeight;\r\n // translateX and translateY variables shift the tooltip from the default position (above the cursor, centred horizontally)\r\n const [top, left] = this._constraintPosToContainer(pos.x + translateX, pos.y + translateY, tooltipWidth, tooltipHeight);\r\n this._applyPosition(top, left, tooltipHeight);\r\n }\r\n placeByElement(hoveredElement) {\r\n const { config } = this;\r\n // Store the hovered element and the event for future reference,\r\n // i.e. to re-position the tooltip if the content has been changed\r\n // by something else and it was captured by the MutationObserver\r\n this._hoveredElement = hoveredElement;\r\n // Todo: Get rid of the hardcoded margin in version 2.0\r\n // Can be simply replaced with `verticalShift` and `horizontalShift`\r\n // but it'll be a breaking change\r\n const margin = 5;\r\n const tooltipWidth = this.element.offsetWidth;\r\n const tooltipHeight = this.element.offsetHeight;\r\n const isContainerBody = this.isContainerBody();\r\n const containerWidth = isContainerBody ? window.innerWidth : this._container.scrollWidth;\r\n const hoveredElementRect = hoveredElement.getBoundingClientRect();\r\n // We use D3's point transformation to get the correct position of the element by pretending it's a pointer event\r\n // See more: https://github.com/d3/d3-selection/blob/main/src/pointer.js\r\n const elementPos = isContainerBody ? [hoveredElementRect.x, hoveredElementRect.y] : pointer({\r\n clientX: hoveredElementRect.x,\r\n clientY: hoveredElementRect.y,\r\n pageX: hoveredElementRect.x,\r\n pageY: hoveredElementRect.y,\r\n }, this._container);\r\n const horizontalPlacement = this._overriddenHorizontalPlacement || (config.horizontalPlacement === Position.Auto\r\n ? (elementPos[0] - tooltipWidth < 0 ? Position.Right\r\n : elementPos[0] + tooltipWidth > containerWidth ? Position.Left : Position.Center)\r\n : config.horizontalPlacement);\r\n let translateX = 0;\r\n switch (horizontalPlacement) {\r\n case Position.Left:\r\n translateX = -tooltipWidth - margin - config.horizontalShift;\r\n break;\r\n case Position.Right:\r\n translateX = hoveredElementRect.width + margin + config.horizontalShift;\r\n break;\r\n case Position.Center:\r\n default:\r\n translateX = (-tooltipWidth + hoveredElementRect.width) / 2;\r\n break;\r\n }\r\n const verticalPlacement = config.verticalPlacement === Position.Auto\r\n ? (horizontalPlacement !== Position.Center ? Position.Center\r\n : elementPos[1] - tooltipHeight < 0 ? Position.Bottom : Position.Top)\r\n : config.verticalPlacement;\r\n let translateY = -tooltipHeight;\r\n switch (verticalPlacement) {\r\n case Position.Center:\r\n translateY += (tooltipHeight + hoveredElementRect.height) / 2;\r\n break;\r\n case Position.Bottom:\r\n translateY += tooltipHeight + hoveredElementRect.height + margin + config.verticalShift;\r\n break;\r\n case Position.Top:\r\n default:\r\n translateY += -margin - config.verticalShift;\r\n break;\r\n }\r\n const [top, left] = this._constraintPosToContainer(elementPos[0] + translateX, elementPos[1] + translateY, tooltipWidth, tooltipHeight);\r\n this._applyPosition(top, left, tooltipHeight);\r\n }\r\n isContainerBody() {\r\n return this._container === document.body;\r\n }\r\n /** Allows to override the horizontal placement of the tooltip which is useful when you want to define custom positioning behavior.\r\n * This method has been added for Crosshair to allow it position tooltip left or right of the crosshair line\r\n * (see the `_showTooltip` method of the Crosshair component).\r\n */\r\n overrideHorizontalPlacement(placement) {\r\n this._overriddenHorizontalPlacement = placement;\r\n }\r\n render(html) {\r\n var _a;\r\n const { config, prevConfig } = this;\r\n if (html instanceof HTMLElement) {\r\n const node = this.div.select(':first-child').node();\r\n if (node !== html)\r\n this.div.html('').append(() => html);\r\n }\r\n else if (html !== null) {\r\n this.div.html(html || '');\r\n }\r\n this.div\r\n .classed((_a = config.className) !== null && _a !== void 0 ? _a : '', Boolean(config.className))\r\n .classed(nonInteractive, !config.allowHover);\r\n // Remove the previous class name if it was set\r\n if ((prevConfig === null || prevConfig === void 0 ? void 0 : prevConfig.className) && prevConfig.className !== config.className) {\r\n this.div.classed(prevConfig.className, false);\r\n }\r\n this.display();\r\n }\r\n _applyPosition(x, y, tooltipHeight) {\r\n const isContainerBody = this.isContainerBody();\r\n const containerHeight = isContainerBody ? window.innerHeight : this._container.scrollHeight;\r\n this.div\r\n .classed(positionFixed, isContainerBody)\r\n .style('top', isContainerBody ? `${y}px` : 'unset')\r\n .style('bottom', !isContainerBody ? `${containerHeight - y - tooltipHeight}px` : 'unset')\r\n .style('left', `${x}px`);\r\n }\r\n _constraintPosToContainer(top, left, tooltipWidth, tooltipHeight) {\r\n const isContainerBody = this.isContainerBody();\r\n const containerHeight = isContainerBody ? window.innerHeight : this._container.scrollHeight;\r\n const containerWidth = isContainerBody ? window.innerWidth : this._container.scrollWidth;\r\n // // Constraint to container\r\n const paddingX = 10;\r\n const hitRight = top > (containerWidth - tooltipWidth - paddingX);\r\n const hitLeft = top < paddingX;\r\n const constrainedLeft = hitRight ? containerWidth - tooltipWidth - paddingX\r\n : hitLeft ? paddingX : top;\r\n const paddingY = 10;\r\n const hitBottom = left > (containerHeight - tooltipHeight - paddingY);\r\n const hitTop = left < paddingY;\r\n const constrainedTop = hitBottom ? containerHeight - tooltipHeight - paddingY\r\n : hitTop ? paddingY : left;\r\n return [\r\n containerWidth < tooltipWidth ? 0 : constrainedLeft,\r\n containerHeight < tooltipHeight ? 0 : constrainedTop,\r\n ];\r\n }\r\n _setContainerPosition() {\r\n var _a;\r\n // Tooltip position calculation relies on the parent position\r\n // If it's not set (static), we set it to `relative` (not a good practice)\r\n if (this._container !== document.body && ((_a = getComputedStyle(this._container)) === null || _a === void 0 ? void 0 : _a.position) === 'static') {\r\n this._container.style.position = 'relative';\r\n }\r\n }\r\n _setUpEvents() {\r\n const { config } = this;\r\n // We use the Event Delegation pattern to set up Tooltip events\r\n // Every component will have single `mousemove` and `mouseleave` event listener functions, where we'll check\r\n // the `path` of the event and trigger corresponding callbacks\r\n this.components.forEach(component => {\r\n const selection = select(component.element);\r\n selection\r\n .on('mousemove.tooltip', (e) => {\r\n const { config: currentConfig } = this; // get latest config because it could have been changed after the event was triggered\r\n const path = (e.composedPath && e.composedPath()) || e.path || [e.target];\r\n // Go through all of the configured triggers\r\n for (const className of Object.keys(currentConfig.triggers)) {\r\n const template = currentConfig.triggers[className];\r\n if (!template)\r\n continue; // Skip if the trigger is not configured\r\n const els = selection.selectAll(`.${className}`).nodes();\r\n // Go through all of the elements in the event path (from the deepest element upwards)\r\n for (const el of path) {\r\n if (el === selection.node())\r\n break; // Break on the component's level (usually the `<g>` element)\r\n if (el.classList.contains(className)) { // If there's a match, show the tooltip\r\n const i = els.indexOf(el);\r\n const d = select(el).datum();\r\n const content = template(d, i, els);\r\n const [x, y] = this.isContainerBody() ? [e.clientX, e.clientY] : pointer(e, this._container);\r\n if (content === null) {\r\n // If the content is `null`, we hide the tooltip\r\n this.hide();\r\n }\r\n else {\r\n // Otherwise we show the tooltip, but don't render the content if it's `undefined` or\r\n // an empty string. This way we can allow it to work with things like `createPortal` in React\r\n this.render(content);\r\n if (currentConfig.followCursor)\r\n this.place({ x, y });\r\n else\r\n this.placeByElement(el);\r\n }\r\n // Stop propagation to prevent other interfering events from being triggered, e.g. Crosshair\r\n e.stopPropagation();\r\n // Stop looking for other matches\r\n return;\r\n }\r\n }\r\n }\r\n // Hide the tooltip if the event didn't pass through any of the configured triggers.\r\n // We use the `this._isShown` condition as a little performance optimization tweak\r\n // (we don't want the tooltip to update its class on every mouse movement, see `this.hide()`).\r\n if (this._isShown)\r\n this.hide();\r\n })\r\n .on('mouseleave.tooltip', (e) => {\r\n e.stopPropagation(); // Stop propagation to prevent other interfering events from being triggered, e.g. Crosshair\r\n this.hide();\r\n });\r\n });\r\n // Set up Tooltip hover\r\n if (config.allowHover) {\r\n this.div\r\n .on('mouseenter.tooltip', this._display.bind(this))\r\n .on('mouseleave.tooltip', this.hide.bind(this));\r\n }\r\n else {\r\n this.div\r\n .on('mouseenter.tooltip', null)\r\n .on('mouseleave.tooltip', null);\r\n }\r\n }\r\n _setUpAttributes() {\r\n const attributesMap = this.config.attributes;\r\n if (!attributesMap)\r\n return;\r\n Object.keys(attributesMap).forEach(attr => {\r\n this.div.attr(attr, attributesMap[attr]);\r\n });\r\n }\r\n destroy() {\r\n var _a;\r\n this._mutationObserver.disconnect();\r\n window.clearTimeout(this._hideDelayTimeoutId);\r\n window.clearTimeout(this._showDelayTimeoutId);\r\n (_a = this.div) === null || _a === void 0 ? void 0 : _a.remove();\r\n }\r\n}\r\nTooltip.selectors = style;\n\nexport { Tooltip };\n//# sourceMappingURL=index.js.map\n","import { color, hcl } from 'd3-color';\nimport { getCSSColorVariable } from '../styles/colors.js';\nimport { getString, isNumber } from './data.js';\nimport { isStringCSSVariable, getCSSVariableValue } from './misc.js';\n\n/** Retrieves color from the data if provided, fallbacks to CSS variables if the index was passed */\r\nfunction getColor(d, accessor, index, dontFallbackToCssVar) {\r\n if (Array.isArray(accessor) && isFinite(index))\r\n return accessor[index % accessor.length];\r\n const value = getString(d, accessor, index);\r\n return (value || ((isNumber(index) && !dontFallbackToCssVar) ? `var(${getCSSColorVariable(index)})` : null));\r\n}\r\nfunction hexToRgb(hex) {\r\n const parsed = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n return parsed ? {\r\n r: parseInt(parsed[1], 16),\r\n g: parseInt(parsed[2], 16),\r\n b: parseInt(parsed[3], 16),\r\n } : { r: 0, g: 0, b: 0 };\r\n}\r\nfunction rgbToBrightness(rgb) {\r\n return (0.2126 * rgb.r + 0.7152 * rgb.g + 0.0722 * rgb.b) / 255;\r\n}\r\nfunction hexToBrightness(hex) {\r\n const rgb = hexToRgb(hex);\r\n return rgbToBrightness(rgb);\r\n}\r\nfunction getHexValue(s, context) {\r\n var _a;\r\n const hex = isStringCSSVariable(s) ? getCSSVariableValue(s, context) : s;\r\n return (_a = color(hex)) === null || _a === void 0 ? void 0 : _a.formatHex();\r\n}\r\nfunction rgbaToRgb(rgba, backgroundColor) {\r\n var _a;\r\n const rgb = (_a = color(rgba)) === null || _a === void 0 ? void 0 : _a.rgb();\r\n if (!rgb || rgb.opacity === 1)\r\n return rgb;\r\n const alpha = 1 - rgb.opacity;\r\n const bg = color(backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : '#fff').rgb();\r\n return {\r\n r: Math.round((rgb.opacity * (rgb.r / 255) + (alpha * (bg.r / 255))) * 255),\r\n g: Math.round((rgb.opacity * (rgb.g / 255) + (alpha * (bg.g / 255))) * 255),\r\n b: Math.round((rgb.opacity * (rgb.b / 255) + (alpha * (bg.b / 255))) * 255),\r\n };\r\n}\r\n/**\r\n * Makes a color brighter by a certain amount\r\n * @param inputColor - The color to brighten (hex, rgb, or rgba)\r\n * @param amount - Amount to brighten by (0-1)\r\n * @returns The brightened color in hex format\r\n */\r\nfunction brighter(inputColor, amount) {\r\n const c = hcl(inputColor);\r\n if (!c)\r\n return inputColor;\r\n return c.brighter(amount).formatHex();\r\n}\r\nfunction isColorDark(color, threshold = 0.55) {\r\n const hex = getHexValue(color, document.body);\r\n if (!hex)\r\n return false;\r\n return hexToBrightness(hex) < threshold;\r\n}\n\nexport { brighter, getColor, getHexValue, hexToBrightness, hexToRgb, isColorDark, rgbToBrightness, rgbaToRgb };\n//# sourceMappingURL=color.js.map\n","import { curveBasis, curveBasisClosed, curveBasisOpen, curveBundle, curveCardinal, curveCardinalClosed, curveCardinalOpen, curveCatmullRom, curveCatmullRomClosed, curveCatmullRomOpen, curveLinear, curveLinearClosed, curveMonotoneX, curveMonotoneY, curveNatural, curveStep, curveStepAfter, curveStepBefore } from 'd3-shape';\n\nvar CurveType;\r\n(function (CurveType) {\r\n CurveType[\"Basis\"] = \"basis\";\r\n CurveType[\"BasisClosed\"] = \"basisClosed\";\r\n CurveType[\"BasisOpen\"] = \"basisOpen\";\r\n CurveType[\"Bundle\"] = \"bundle\";\r\n CurveType[\"Cardinal\"] = \"cardinal\";\r\n CurveType[\"CardinalClosed\"] = \"cardinalClosed\";\r\n CurveType[\"CardinalOpen\"] = \"cardinalOpen\";\r\n CurveType[\"CatmullRom\"] = \"catmullRom\";\r\n CurveType[\"CatmullRomClosed\"] = \"catmullRomClosed\";\r\n CurveType[\"CatmullRomOpen\"] = \"catmullRomOpen\";\r\n CurveType[\"Linear\"] = \"linear\";\r\n CurveType[\"LinearClosed\"] = \"linearClosed\";\r\n CurveType[\"MonotoneX\"] = \"monotoneX\";\r\n CurveType[\"MonotoneY\"] = \"monotoneY\";\r\n CurveType[\"Natural\"] = \"natural\";\r\n CurveType[\"Step\"] = \"step\";\r\n CurveType[\"StepAfter\"] = \"stepAfter\";\r\n CurveType[\"StepBefore\"] = \"stepBefore\";\r\n})(CurveType || (CurveType = {}));\r\nconst Curve = {\r\n [CurveType.Basis]: curveBasis,\r\n [CurveType.BasisClosed]: curveBasisClosed,\r\n [CurveType.BasisOpen]: curveBasisOpen,\r\n [CurveType.Bundle]: curveBundle,\r\n [CurveType.Cardinal]: curveCardinal,\r\n [CurveType.CardinalClosed]: curveCardinalClosed,\r\n [CurveType.CardinalOpen]: curveCardinalOpen,\r\n [CurveType.CatmullRom]: curveCatmullRom,\r\n [CurveType.CatmullRomClosed]: curveCatmullRomClosed,\r\n [CurveType.CatmullRomOpen]: curveCatmullRomOpen,\r\n [CurveType.Linear]: curveLinear,\r\n [CurveType.LinearClosed]: curveLinearClosed,\r\n [CurveType.MonotoneX]: curveMonotoneX,\r\n [CurveType.MonotoneY]: curveMonotoneY,\r\n [CurveType.Natural]: curveNatural,\r\n [CurveType.Step]: curveStep,\r\n [CurveType.StepAfter]: curveStepAfter,\r\n [CurveType.StepBefore]: curveStepBefore,\r\n};\n\nexport { Curve, CurveType };\n//# sourceMappingURL=curve.js.map\n","import { XYComponentDefaultConfig } from '../../core/xy-component/config.js';\nimport { CurveType } from '../../types/curve.js';\n\nconst LineDefaultConfig = Object.assign(Object.assign({}, XYComponentDefaultConfig), { curveType: CurveType.MonotoneX, lineWidth: 2, lineDashArray: undefined, fallbackValue: undefined, highlightOnHover: false, cursor: null, interpolateMissingData: false });\n\nexport { LineDefaultConfig };\n//# sourceMappingURL=config.js.map\n","import { injectGlobal, css } from '@emotion/css';\n\nconst globalStyles = injectGlobal `\n :root {\n --vis-line-cursor: default;\n --vis-line-stroke-dasharray: none;\n --vis-line-stroke-dashoffset: 0;\n\n --vis-line-gapfill-stroke-dasharray: 2 3;\n --vis-line-gapfill-stroke-opacity: 0.8;\n --vis-line-gapfill-stroke-dashoffset: 0;\n }\n`;\r\nconst root = css `\n label: line-component;\n`;\r\nconst line = css `\n label: line;\n transition: opacity 200ms;\n cursor: var(--vis-line-cursor);\n`;\r\nconst linePath = css `\n label: linePath;\n fill: none;\n stroke-dasharray: var(--vis-line-stroke-dasharray);\n stroke-dashoffset: var(--vis-line-stroke-dashoffset);\n`;\r\nconst lineSelectionHelper = css `\n label: lineSelectionHelper;\n fill: none;\n stroke: rgba(0, 0, 0, 0);\n stroke-width: 8px;\n`;\r\nconst dim = css `\n opacity: 0.2;\n`;\r\nconst interpolatedPath = css `\n label: interpolated-path;\n fill: none;\n stroke-dasharray: var(--vis-line-gapfill-stroke-dasharray);\n stroke-dashoffset: var(--vis-line-gapfill-stroke-dashoffset);\n stroke-opacity: var(--vis-line-gapfill-stroke-opacity);\n`;\n\nexport { dim, globalStyles, interpolatedPath, line, linePath, lineSelectionHelper, root };\n//# sourceMappingURL=style.js.map\n","import { select } from 'd3-selection';\nimport { line } from 'd3-shape';\nimport { interpolatePath } from 'd3-interpolate-path';\nimport { XYComponentCore } from '../../core/xy-component/index.js';\nimport { isNumber, isArray, getNumber, getString, getValue } from '../../utils/data.js';\nimport { smartTransition } from '../../utils/d3.js';\nimport { getColor } from '../../utils/color.js';\nimport { Curve, CurveType } from '../../types/curve.js';\nimport { Direction } from '../../types/direction.js';\nimport { LineDefaultConfig } from './config.js';\nimport * as style from './style.js';\nimport { line as line$1, linePath, lineSelectionHelper, interpolatedPath, dim } from './style.js';\n\nclass Line extends XYComponentCore {\r\n constructor(config) {\r\n super();\r\n this._defaultConfig = LineDefaultConfig;\r\n this.config = this._defaultConfig;\r\n this.curve = Curve[CurveType.MonotoneX];\r\n this.events = {\r\n [Line.selectors.line]: {\r\n mouseover: this._highlight.bind(this),\r\n mouseleave: this._resetHighlight.bind(this),\r\n },\r\n };\r\n if (config)\r\n this.setConfig(config);\r\n }\r\n get bleed() {\r\n const { config: { lineWidth } } = this;\r\n const yDomain = this.yScale.domain();\r\n const yDirection = this.yScale.range()[0] > this.yScale.range()[1]\r\n ? Direction.North\r\n : Direction.South;\r\n const isYDirectionSouth = yDirection === Direction.South;\r\n const isLineThick = lineWidth > 3;\r\n const isLineVeryThick = lineWidth >= 10;\r\n return {\r\n top: !isLineVeryThick && ((!isYDirectionSouth && (yDomain[1] === 0)) || (isYDirectionSouth && (yDomain[0] === 0))) ? 0 : lineWidth / 2,\r\n bottom: !isLineVeryThick && ((!isYDirectionSouth && (yDomain[0] === 0)) || (isYDirectionSouth && (yDomain[1] === 0))) ? 0 : lineWidth / 2,\r\n left: isLineThick ? lineWidth / 2 : 0,\r\n right: isLineThick ? lineWidth / 2 : 0,\r\n };\r\n }\r\n _render(customDuration) {\r\n super._render(customDuration);\r\n const { config, datamodel: { data } } = this;\r\n const duration = isNumber(customDuration) ? customDuration : config.duration;\r\n this.curve = Curve[config.curveType];\r\n this.lineGen = line()\r\n .x(d => d.x)\r\n .y(d => d.y)\r\n .defined(d => d.defined)\r\n .curve(this.curve);\r\n const yAccessors = (isArray(config.y) ? config.y : [config.y]);\r\n const lineDataX = data.map((d, i) => this.xScale(getNumber(d, config.x, i)));\r\n const lineData = yAccessors.map(a => {\r\n const ld = data.map((d, i) => {\r\n const rawValue = getNumber(d, a, i);\r\n // If `rawValue` is not numerical or if it's not finite (`NaN`, `undefined`, ...), we replace it with `config.fallbackValue`\r\n const value = (isNumber(rawValue) || (rawValue === null)) && isFinite(rawValue) ? rawValue : config.fallbackValue;\r\n const defined = config.interpolateMissingData\r\n ? (isNumber(rawValue) || (rawValue === null)) && isFinite(rawValue)\r\n : isFinite(value);\r\n return {\r\n x: lineDataX[i],\r\n y: this.yScale(value !== null && value !== void 0 ? value : 0),\r\n defined,\r\n value,\r\n };\r\n });\r\n const defined = ld.reduce((def, d) => (d.defined || def), false);\r\n let validGap = false;\r\n const gaps = ld.reduce((acc, d, i) => {\r\n // Gaps include fallback values if configured.\r\n if (!d.defined && isFinite(config.fallbackValue)) {\r\n acc.push(Object.assign(Object.assign({}, d), { defined: true }));\r\n }\r\n if (!d.defined && !validGap)\r\n validGap = true;\r\n const isEndpoint = (i > 0 && !ld[i - 1].defined) || (i < ld.length - 1 && !ld[i + 1].defined);\r\n if (d.defined && isEndpoint) {\r\n // If no undefined points have been found since the last endpoint, we insert one to enforce breaks between adjacent gaps.\r\n if (!validGap)\r\n acc.push(Object.assign(Object.assign({}, d), { defined: false }));\r\n acc.push(d);\r\n validGap = false;\r\n }\r\n return acc;\r\n }, []);\r\n // If the line consists only of `null` values, we'll still render it but it'll be invisible.\r\n // Such trick allows us to have better animated transitions.\r\n const visible = defined && ld.some(d => d.value !== null);\r\n return {\r\n values: ld,\r\n defined,\r\n gaps,\r\n visible,\r\n };\r\n });\r\n const lines = this.g\r\n .selectAll(`.${line$1}`)\r\n .data(lineData);\r\n const linesEnter = lines.enter().append('g')\r\n .attr('class', line$1);\r\n linesEnter\r\n .append('path')\r\n .attr('class', linePath)\r\n .attr('stroke', (d, i) => getColor(data, config.color, i))\r\n .attr('stroke-opacity', 0)\r\n .attr('stroke-width', config.lineWidth);\r\n linesEnter\r\n .append('path')\r\n .attr('class', lineSelectionHelper)\r\n .attr('d', this._emptyPath());\r\n linesEnter.append('path')\r\n .attr('class', interpolatedPath)\r\n .attr('d', this._emptyPath())\r\n .style('opacity', 0);\r\n const linesMerged = linesEnter.merge(lines);\r\n linesMerged.style('cursor', (d, i) => getString(data, config.cursor, i));\r\n linesMerged.each((d, i, elements) => {\r\n var _a;\r\n const group = select(elements[i]);\r\n const linePath$1 = group.select(`.${linePath}`);\r\n const lineSelectionHelper$1 = group.select(`.${lineSelectionHelper}`);\r\n const lineGaps = group.select(`.${interpolatedPath}`);\r\n const isLineVisible = d.visible;\r\n const dashArray = getValue(data, config.lineDashArray, i);\r\n const transition = smartTransition(linePath$1, duration)\r\n .attr('stroke', getColor(data, config.color, i))\r\n .attr('stroke-width', config.lineWidth)\r\n .attr('stroke-opacity', isLineVisible ? 1 : 0)\r\n .style('stroke-dasharray', (_a = dashArray === null || dashArray === void 0 ? void 0 : dashArray.join(' ')) !== null && _a !== void 0 ? _a : null); // We use `.style` because there's also a default CSS-variable for stroke-dasharray\r\n const hasUndefinedSegments = d.values.some(d => !d.defined);\r\n const svgPathD = this.lineGen(d.values);\r\n if (duration && !hasUndefinedSegments) {\r\n const previous = linePath$1.attr('d') || this._emptyPath();\r\n const next = svgPathD || this._emptyPath();\r\n const t = transition;\r\n t.attrTween('d', () => interpolatePath(previous, next));\r\n }\r\n else if (d.visible) {\r\n transition.attr('d', svgPathD);\r\n }\r\n lineSelectionHelper$1\r\n .attr('d', svgPathD)\r\n .attr('visibility', isLineVisible ? null : 'hidden');\r\n if (hasUndefinedSegments && config.interpolateMissingData) {\r\n smartTransition(lineGaps, duration)\r\n .attr('d', this.lineGen(d.gaps))\r\n .attr('stroke', getColor(data, config.color, i))\r\n .attr('stroke-width', config.lineWidth - 1)\r\n .style('opacity', 1);\r\n }\r\n else {\r\n lineGaps.transition()\r\n .duration(duration)\r\n .style('opacity', 0);\r\n }\r\n });\r\n smartTransition(lines.exit(), duration)\r\n .style('opacity', 0)\r\n .remove();\r\n }\r\n _emptyPath() {\r\n const xRange = this.xScale.range();\r\n const yRange = this.yScale.range();\r\n return `M${xRange[0]},${yRange[0]} L${xRange[1]},${yRange[0]}`;\r\n }\r\n _highlight(datum) {\r\n const { config } = this;\r\n if (config.highlightOnHover) {\r\n this.g\r\n .selectAll(`.${line$1}`)\r\n .classed(dim, d => d !== datum);\r\n }\r\n }\r\n _resetHighlight() {\r\n const { config } = this;\r\n if (config.highlightOnHover) {\r\n this.g\r\n .selectAll(`.${line$1}`)\r\n .classed(dim, false);\r\n }\r\n }\r\n}\r\nLine.selectors = style;\n\nexport { Line };\n//# sourceMappingURL=index.js.map\n","import { range, min, max } from 'd3-array';\nimport { line, curveCardinal, curveCardinalClosed } from 'd3-shape';\nimport { clamp } from './data.js';\n\n/*\r\n * Generate SVG path for rectangle with rounded corners\r\n *\r\n * @param {Object} props - Configuration object\r\n * @param {Number} props.x - Rect top left X coordinate\r\n * @param {Number} props.y - Rect top left Y coordinate\r\n * @param {Number} props.w - Rect width\r\n * @param {Number} props.h - Rect height\r\n * @param {Bool} [props.tl=false] - Round top left corner\r\n * @param {Bool} [props.tr=false] - Round top right corner\r\n * @param {Bool} [props.bl=false] - Round bottom left corner\r\n * @param {Bool} [props.br=false] - Round bottom right corner\r\n * @param {Number} [props.r=0] - Corner Radius\r\n * @return {String} Path string for the `d` attribute\r\n */\r\nfunction roundedRectPath({ x, y, w, h, tl = false, tr = false, bl = false, br = false, r = 0, }) {\r\n let path;\r\n path = `M${x + r},${y}h${w - 2 * r}`;\r\n let roundedR = tr ? r : 0;\r\n let angularR = tr ? 0 : r;\r\n path += `a${roundedR},${roundedR} 0 0 1 ${roundedR},${roundedR}`;\r\n path += `h${angularR}v${angularR}`;\r\n path += `v${h - 2 * r}`;\r\n roundedR = br ? r : 0;\r\n angularR = br ? 0 : r;\r\n path += `a${roundedR},${roundedR} 0 0 1 ${-roundedR},${roundedR}`;\r\n path += `v${angularR}h${-angularR}`;\r\n path += `h${2 * r - w}`;\r\n roundedR = bl ? r : 0;\r\n angularR = bl ? 0 : r;\r\n path += `a${roundedR},${roundedR} 0 0 1 ${-roundedR},${-roundedR}`;\r\n path += `h${-angularR}v${-angularR}`;\r\n path += `v${2 * r - h}`;\r\n roundedR = tl ? r : 0;\r\n angularR = tl ? 0 : r;\r\n path += `a${roundedR},${roundedR} 0 0 1 ${roundedR},${-roundedR}`;\r\n path += `v${-angularR}h${angularR}`;\r\n path += 'z';\r\n return path;\r\n}\r\nfunction polygon(size, n = 6, endAngle = 2 * Math.PI, open = false) {\r\n const r = n === 4 ? Math.sqrt(0.5) * size : size / 3.6 * 2;\r\n const deltaAngle = n === 4 ? Math.PI / 4 : 0; // rotate to 45 grads if shape is a rectangle\r\n const shiftedEndAngle = endAngle - deltaAngle;\r\n const completion = (shiftedEndAngle < 0 ? endAngle : shiftedEndAngle) / (2 * Math.PI);\r\n const nSegments = Math.ceil(n * completion);\r\n const centerAngle = 1 / n * Math.PI * 2; // /\\\r\n const baseAngle = (Math.PI - centerAngle) / 2; // /__\\\r\n const data = range(nSegments + (shiftedEndAngle >= 0 ? 1 : 0))\r\n .map((d, i) => {\r\n const isLastSegment = i === nSegments || (nSegments === 1 && shiftedEndAngle < 0);\r\n let mult = isLastSegment ? ((completion * n) % 1 || 1) : 1; // Handle partial shape\r\n if (shiftedEndAngle < 0) {\r\n mult += 0.5;\r\n }\r\n const angle = centerAngle * (i - 1 + mult);\r\n let radius;\r\n if (isLastSegment) {\r\n const thirdAngle = Math.PI - baseAngle - centerAngle * mult;\r\n radius = r * Math.sin(baseAngle) / Math.sin(thirdAngle); // Law of sines\r\n }\r\n else {\r\n radius = r;\r\n }\r\n return {\r\n x: Math.sin(angle + deltaAngle) * radius,\r\n y: -Math.cos(angle + deltaAngle) * radius,\r\n };\r\n });\r\n if (n === 4) {\r\n const angle = centerAngle * (-1 + 0.5);\r\n const thirdAngle = Math.PI * 0.5;\r\n const radius = r * Math.sin(baseAngle) / Math.sin(thirdAngle); // Law of sines\r\n data.unshift({\r\n x: Math.sin(angle + deltaAngle) * radius,\r\n y: -Math.cos(angle + deltaAngle) * radius,\r\n });\r\n }\r\n const path = line()\r\n /* eslint-disable-next-line dot-notation */\r\n .x(d => d['x'])\r\n /* eslint-disable-next-line dot-notation */\r\n .y(d => d['y'])\r\n .curve((open ? curveCardinal : curveCardinalClosed).tension(0.95));\r\n return path(data);\r\n}\r\nfunction circlePath(cx, cy, r) {\r\n return `\n M ${cx} ${cy}\n m ${-r}, 0\n a ${r},${r} 0 1,1 ${r * 2},0\n a ${r},${r} 0 1,1 ${-r * 2},0`;\r\n}\r\nfunction scoreRectPath({ x, y, w, h, r = 0, score = 1 }) {\r\n let path;\r\n const side = 1 / 4;\r\n const halfSide = side / 2;\r\n let part = score;\r\n // 8 1\r\n // - -\r\n // 7 | | 2\r\n // 6 | | 3\r\n // - -\r\n // 5 4\r\n // 1\r\n const hLength = min([w * 0.5 * (part / halfSide) + r, w * 0.5 - r]);\r\n path = `M${x + w * 0.5},${y}h${hLength}`;\r\n // 2, 3\r\n part = score - 1 / 8;\r\n if (part > 0) {\r\n path += `a${r},${r} 0 0 1 ${r},${r}`;\r\n const vLength = clamp(h * (part / side) - r, 0, h - 2 * r);\r\n path += `v${vLength}`;\r\n }\r\n // 4, 5\r\n part = score - 3 / 8;\r\n if (part > 0) {\r\n path += `a${r},${r} 0 0 1 ${-r},${r}`;\r\n const hLength = clamp(r - w * (part / side), 2 * r - w, 0);\r\n path += `h${hLength}`;\r\n }\r\n // 6, 7\r\n part = score - 5 / 8;\r\n if (part > 0) {\r\n path += `a${r},${r} 0 0 1 ${-r},${-r}`;\r\n const vLength = clamp(r - h * (part / side), 2 * r - h, 0);\r\n path += `v${vLength}`;\r\n }\r\n // 8\r\n part = score - 7 / 8;\r\n if (part > 0) {\r\n path += `a${r},${r} 0 0 1 ${r},${-r}`;\r\n const hLength = max([w * 0.5 * (part / halfSide) - r, 0]);\r\n path += `h${hLength}`;\r\n }\r\n return path;\r\n}\r\n/*\r\n * Replace L path command with arc with specified radius\r\n * @param {String} path - the path string\r\n * @param {number} r - radius in pixels\r\n * @returns {String} new path string\r\n */\r\nfunction convertLineToArc(path, r) {\r\n return path.toString().replace(/L(?<x>-?\\d*\\.?\\d*),(?<y>-?\\d+\\.?\\d*)/gm, (_, x, y) => `A ${r} ${r} 0 0 0 ${x} ${y}`);\r\n}\r\n/**\r\n * Generate an SVG path string for an arrow that follows a polyline path.\r\n * The arrow is composed of line segments between points and a triangular arrowhead at the end.\r\n *\r\n * @param opts - ArrowPolylinePathOptions object containing array of points and optional head dimensions.\r\n * @returns SVG path string for the arrow.\r\n */\r\nfunction arrowPolylinePath(points, arrowHeadLength = 8, arrowHeadWidth = 6, smoothing = 5) {\r\n if (points.length < 2)\r\n return '';\r\n // Calculate total path length\r\n let totalLength = 0;\r\n for (let i = 0; i < points.length - 1; i++) {\r\n const [x1, y1] = points[i];\r\n const [x2, y2] = points[i + 1];\r\n totalLength += Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));\r\n }\r\n // If the total length is zero or nearly zero, don't draw anything\r\n if (totalLength === 0)\r\n return '';\r\n // Let the default values be modifiable based on the line length\r\n let headLength = arrowHeadLength;\r\n let headWidth = arrowHeadWidth;\r\n // If the line is very short, scale down the arrow head dimensions\r\n const threshold = arrowHeadLength * 2;\r\n if (totalLength < threshold) {\r\n const scale = totalLength / threshold;\r\n headLength *= scale;\r\n headWidth *= scale;\r\n }\r\n // Ensure the arrow head length is never longer than the line itself\r\n headLength = Math.min(headLength / 2, totalLength);\r\n // Get the last two points for arrowhead calculation\r\n const [lastX, lastY] = points[points.length - 1];\r\n const [prevX, prevY] = points[points.length - 2];\r\n // Calculate direction vector for the last segment\r\n const dx = lastX - prevX;\r\n const dy = lastY - prevY;\r\n const segmentLength = Math.sqrt(dx * dx + dy * dy);\r\n const ux = dx / segmentLength;\r\n const uy = dy / segmentLength;\r\n // Tail point of the arrow (where the arrowhead starts)\r\n const tailX = lastX - headLength * ux;\r\n const tailY = lastY - headLength * uy;\r\n // Perpendicular vector for arrowhead width calculation\r\n const perpX = -uy;\r\n const perpY = ux;\r\n // Calculate the two base points of the arrowhead triangle\r\n const leftX = tailX + (headWidth / 2) * perpX;\r\n const leftY = tailY + (headWidth / 2) * perpY;\r\n const rightX = tailX - (headWidth / 2) * perpX;\r\n const rightY = tailY - (headWidth / 2) * perpY;\r\n // Build the path\r\n const pathParts = [];\r\n if (points.length === 2) {\r\n // For a single segment, create a curved path\r\n const [startX, startY] = points[0];\r\n // Adjust smoothing based on segment length\r\n const adjustedSmoothing = Math.min(smoothing, segmentLength / 3);\r\n // Calculate control points for a cubic Bézier curve with adjusted smoothing\r\n const cp1x = startX + ux * adjustedSmoothing;\r\n const cp1y = startY + uy * adjustedSmoothing + perpY * adjustedSmoothing * 0.5;\r\n const cp2x = tailX - ux * adjustedSmoothing;\r\n const cp2y = tailY - uy * adjustedSmoothing + perpY * adjustedSmoothing * 0.5;\r\n // Start path and add cubic Bézier curve\r\n pathParts.push(`M${startX},${startY}`);\r\n pathParts.push(`C${cp1x},${cp1y} ${cp2x},${cp2y} ${lastX},${lastY}`);\r\n }\r\n else {\r\n // For multiple segments, use smooth Bézier corners with absolute smoothing\r\n pathParts.push(`M${points[0][0]},${points[0][1]}`);\r\n for (let i = 0; i < points.length - 2; i++) {\r\n const [x1, y1] = points[i];\r\n const [x2, y2] = points[i + 1];\r\n const [x3, y3] = points[i + 2];\r\n // Calculate vectors for the current and next segment\r\n const v1x = x2 - x1;\r\n const v1y = y2 - y1;\r\n const v2x = x3 - x2;\r\n const v2y = y3 - y2;\r\n // Calculate lengths of segments\r\n const len1 = Math.sqrt(v1x * v1x + v1y * v1y);\r\n const len2 = Math.sqrt(v2x * v2x + v2y * v2y);\r\n // Calculate unit vectors\r\n const u1x = v1x / len1;\r\n const u1y = v1y / len1;\r\n const u2x = v2x / len2;\r\n const u2y = v2y / len2;\r\n // Adjust smoothing based on the minimum segment length\r\n const minSegmentLength = Math.min(len1, len2);\r\n const adjustedSmoothing = Math.min(smoothing, minSegmentLength / 3);\r\n // Calculate the corner points and control points with adjusted smoothing\r\n const corner1x = x2 - u1x * adjustedSmoothing;\r\n const corner1y = y2 - u1y * adjustedSmoothing;\r\n const corner2x = x2 + u2x * adjustedSmoothing;\r\n const corner2y = y2 + u2y * adjustedSmoothing;\r\n // Add line to approach point\r\n pathParts.push(`L${corner1x},${corner1y}`);\r\n // Add cubic Bézier curve for the corner\r\n pathParts.push(`C${x2},${y2} ${x2},${y2} ${corner2x},${corner2y}`);\r\n }\r\n // Add the final line segment to the tail point\r\n pathParts.push(`L${lastX},${lastY}`);\r\n }\r\n // Add the arrowhead\r\n pathParts.push(`M${leftX},${leftY} L${lastX},${lastY} L${rightX},${rightY}`);\r\n return pathParts.join(' ');\r\n}\n\nexport { arrowPolylinePath, circlePath, convertLineToArc, polygon, roundedRectPath, scoreRectPath };\n//# sourceMappingURL=path.js.map\n","import { XYComponentDefaultConfig } from '../../core/xy-component/config.js';\nimport { Orientation } from '../../types/position.js';\n\nconst GroupedBarDefaultConfig = Object.assign(Object.assign({}, XYComponentDefaultConfig), { color: undefined, groupMaxWidth: undefined, groupWidth: undefined, dataStep: undefined, groupPadding: 0.05, barPadding: 0.0, roundedCorners: 2, barMinHeight: 2, cursor: null, orientation: Orientation.Vertical });\n\nexport { GroupedBarDefaultConfig };\n//# sourceMappingURL=config.js.map\n","import { css, injectGlobal } from '@emotion/css';\n\nconst root = css `\n label: grouped-bar-component;\n`;\r\nconst globalStyles = injectGlobal `\n :root {\n --vis-grouped-bar-cursor: default;\n --vis-grouped-bar-fill-color: var(--vis-color-main);\n --vis-grouped-bar-stroke-color: none;\n --vis-grouped-bar-stroke-width: 0px;\n --vis-grouped-bar-hover-stroke-width: 1px;\n --vis-grouped-bar-hover-stroke-color: none;\n\n\n /* Dark Theme */\n --vis-dark-grouped-bar-stroke-color: none;\n }\n\n body.theme-dark ${`.${root}`} {\n --vis-grouped-bar-stroke-color: var(--vis-dark-grouped-bar-stroke-color);\n }\n`;\r\nconst bar = css `\n label: bar;\n fill: var(--vis-grouped-bar-fill-color);\n stroke: var(--vis-grouped-bar-stroke-color);\n stroke-width: var(--vis-grouped-bar-stroke-width);\n cursor: var(--vis-grouped-bar-cursor);\n\n &:hover {\n stroke-width: var(--vis-grouped-bar-hover-stroke-width);\n stroke: var(--vis-grouped-bar-hover-stroke-color);\n }\n`;\r\nconst barGroup = css `\n label: barGroup;\n`;\r\nconst barGroupExit = css `\n label: barGroupExit;\n`;\n\nexport { bar, barGroup, barGroupExit, globalStyles, root };\n//# sourceMappingURL=style.js.map\n","import { scaleBand } from 'd3-scale';\nimport { min, max, range } from 'd3-array';\nimport { XYComponentCore } from '../../core/xy-component/index.js';\nimport { isArray, getNumber, isNumber, getString, clamp, isEmpty, getMin, getMax, getExtent } from '../../utils/data.js';\nimport { roundedRectPath } from '../../utils/path.js';\nimport { smartTransition } from '../../utils/d3.js';\nimport { getColor } from '../../utils/color.js';\nimport { Direction } from '../../types/direction.js';\nimport { Orientation } from '../../types/position.js';\nimport { GroupedBarDefaultConfig } from './config.js';\nimport * as style from './style.js';\nimport { barGroup, barGroupExit, bar } from './style.js';\n\nclass GroupedBar extends XYComponentCore {\r\n constructor(config) {\r\n super();\r\n this._defaultConfig = GroupedBarDefaultConfig;\r\n this.config = this._defaultConfig;\r\n this.getAccessors = () => isArray(this.config.y) ? this.config.y : [this.config.y];\r\n this.events = {};\r\n this._barData = [];\r\n if (config)\r\n this.setConfig(config);\r\n }\r\n get bleed() {\r\n this._barData = this._getVisibleData();\r\n if (this._barData.length === 0)\r\n return { top: 0, bottom: 0, left: 0, right: 0 };\r\n // By default, horizontal orientation is \"flipped\", i.e. the `yDirection` of `XYContainer` is set to `Direction.North`\r\n const isHorizontalAndFlipped = !this.isVertical() && (this.dataScale.range()[0] > this.dataScale.range()[1]);\r\n const dataDomain = this.dataScale.domain();\r\n const halfGroupWidth = this._getGroupWidth() / 2;\r\n const dataScaleValues = this._barData.map((d, i) => getNumber(d, this.config.x, i));\r\n const firstDataValue = min(dataScaleValues);\r\n const lastDataValue = max(dataScaleValues);\r\n const firstValuePx = this.dataScale(firstDataValue);\r\n const lastValuePx = this.dataScale(lastDataValue);\r\n const dataDomainRequiredStart = this.dataScale.invert(firstValuePx + (isHorizontalAndFlipped ? halfGroupWidth : -halfGroupWidth));\r\n const dataDomainRequiredEnd = this.dataScale.invert(lastValuePx + (isHorizontalAndFlipped ? -halfGroupWidth : halfGroupWidth));\r\n const bleedPxStart = dataDomainRequiredStart <= dataDomain[0] ? this.dataScale(dataDomain[0]) - this.dataScale(dataDomainRequiredStart) : 0;\r\n const bleedPxEnd = dataDomainRequiredEnd > dataDomain[1] ? this.dataScale(dataDomainRequiredEnd) - this.dataScale(dataDomain[1]) : 0;\r\n return {\r\n top: this.isVertical() ? 0 : (isHorizontalAndFlipped ? -bleedPxEnd : bleedPxStart),\r\n bottom: this.isVertical() ? 0 : (isHorizontalAndFlipped ? -bleedPxStart : bleedPxEnd),\r\n left: this.isVertical() ? bleedPxStart : 0,\r\n right: this.isVertical() ? bleedPxEnd : 0,\r\n };\r\n }\r\n get dataScale() {\r\n return this.isVertical() ? this.xScale : this.yScale;\r\n }\r\n get valueScale() {\r\n return this.isVertical() ? this.yScale : this.xScale;\r\n }\r\n isVertical() {\r\n return this.config.orientation === Orientation.Vertical;\r\n }\r\n _render(customDuration) {\r\n const { config } = this;\r\n const duration = isNumber(customDuration)\r\n ? customDuration\r\n : config.duration;\r\n const groupWidth = this._getGroupWidth();\r\n const yAccessors = this.getAccessors();\r\n const innerBandScaleRange = [-groupWidth / 2, groupWidth / 2];\r\n const innerBandScale = scaleBand()\r\n .domain(range(yAccessors.length))\r\n .range(innerBandScaleRange)\r\n .paddingInner(config.barPadding)\r\n .paddingOuter(config.barPadding);\r\n const barGroups = this.g\r\n .selectAll(`.${barGroup}`)\r\n .data(this._barData, (d, i) => { var _a; return `${(_a = getString(d, config.id, i)) !== null && _a !== void 0 ? _a : i}`; });\r\n const getBarGroupsTransform = (d, i) => {\r\n const v = this.dataScale(getNumber(d, config.x, i));\r\n const x = this.isVertical() ? v : 0;\r\n const y = this.isVertical() ? 0 : v;\r\n return `translate(${x},${y})`;\r\n };\r\n const barGroupsEnter = barGroups\r\n .enter()\r\n .append('g')\r\n .attr('class', barGroup)\r\n .attr('transform', getBarGroupsTransform)\r\n .style('opacity', 1);\r\n const barGroupsMerged = barGroupsEnter.merge(barGroups);\r\n smartTransition(barGroupsMerged, duration)\r\n .attr('transform', getBarGroupsTransform)\r\n .style('opacity', 1);\r\n const barGroupExit$1 = barGroups.exit().attr('class', barGroupExit);\r\n smartTransition(barGroupExit$1, duration).style('opacity', 0).remove();\r\n // Animate exiting bars going down\r\n smartTransition(barGroupExit$1.selectAll(`.${bar}`), duration)\r\n .attr('transform', (d, i, e) => {\r\n return this.isVertical()\r\n ? `translate(0,${this.yScale(0)}) scale(1,0)`\r\n : `translate(${this.xScale(0)},0) scale(0,1)`;\r\n });\r\n const barWidth = innerBandScale.bandwidth();\r\n const bars = barGroupsMerged\r\n .selectAll(`.${bar}`)\r\n .data((d) => yAccessors.map(() => d));\r\n const valueAxisDirection = this._getValueAxisDirection();\r\n const barsEnter = bars\r\n .enter()\r\n .append('path')\r\n .attr('class', bar)\r\n .attr('d', (d, i) => {\r\n const x = innerBandScale(i);\r\n const y = this.valueScale(0);\r\n const width = barWidth;\r\n const height = 0;\r\n return this._getBarPath(x, y, width, height, false, valueAxisDirection);\r\n })\r\n .style('fill', (d, i) => getColor(d, config.color, i));\r\n const barsMerged = barsEnter.merge(bars);\r\n smartTransition(barsMerged, duration)\r\n .attr('d', (d, j) => {\r\n const x = innerBandScale(j);\r\n const width = barWidth;\r\n // Todo: Find a way to pass the datum index to `getNumber` below\r\n const value = getNumber(d, yAccessors[j]);\r\n const isNegative = value < 0;\r\n let y = isNegative ? this.valueScale(0) : this.valueScale(value || 0);\r\n let height = Math.abs(this.valueScale(0) - this.valueScale(value)) || 0;\r\n // Optionally set minimum bar height\r\n if (height < config.barMinHeight) {\r\n const dir = valueAxisDirection === Direction.North ? -1 : 1;\r\n y = this.valueScale(0) + dir * config.barMinHeight;\r\n height = config.barMinHeight;\r\n }\r\n return this._getBarPath(x, y, width, height, isNegative, valueAxisDirection);\r\n })\r\n .style('fill', (d, i) => getColor(d, config.color, i))\r\n .style('cursor', (d, i) => getString(d, config.cursor, i));\r\n smartTransition(bars.exit(), duration).remove();\r\n }\r\n _getValueAxisDirection() {\r\n return this.valueScale.range()[0] > this.valueScale.range()[1]\r\n ? Direction.North\r\n : Direction.South;\r\n }\r\n _getVisibleData() {\r\n const { config, datamodel: { data }, } = this;\r\n const groupWidth = this._getGroupWidth();\r\n const halfGroupWidth = data.length < 2 ? 0 : groupWidth / 2;\r\n const dataScale = this.dataScale;\r\n const xHalfGroupWidth = Math.abs(dataScale.invert(halfGroupWidth) -\r\n dataScale.invert(0));\r\n const filtered = data === null || data === void 0 ? void 0 : data.filter((d, i) => {\r\n const v = getNumber(d, config.x, i);\r\n const domain = dataScale.domain();\r\n const domainMin = +domain[0];\r\n const domainMax = +domain[1];\r\n return (v >= domainMin - xHalfGroupWidth && v <= domainMax + xHalfGroupWidth);\r\n });\r\n return filtered;\r\n }\r\n _getBarPath(x, y, width, height, isNegative, direction) {\r\n const { config } = this;\r\n const cornerRadius = config.roundedCorners\r\n ? isNumber(config.roundedCorners)\r\n ? +config.roundedCorners\r\n : width / 2\r\n : 0;\r\n const cornerRadiusClamped = clamp(cornerRadius, 0, Math.min(height, width) / 2);\r\n const isNorthDirected = direction === Direction.North;\r\n const roundedTop = this.isVertical() && isNegative !== isNorthDirected;\r\n const roundedBottom = this.isVertical() && isNegative === isNorthDirected;\r\n const roundedLeft = !this.isVertical() && isNegative;\r\n const roundedRight = !this.isVertical() && !isNegative;\r\n return roundedRectPath({\r\n x: this.isVertical() ? x : y + (isNorthDirected ? 0 : -height),\r\n y: this.isVertical() ? y + (isNorthDirected ? 0 : -height) : x,\r\n w: this.isVertical() ? width : height,\r\n h: this.isVertical() ? height : width,\r\n tl: roundedTop || roundedLeft,\r\n tr: roundedTop || roundedRight,\r\n bl: roundedBottom || roundedLeft,\r\n br: roundedBottom || roundedRight,\r\n r: cornerRadiusClamped,\r\n });\r\n }\r\n _getGroupWidth() {\r\n const { config, datamodel: { data }, } = this;\r\n if (isEmpty(data))\r\n return 0;\r\n if (config.groupWidth) {\r\n return min([config.groupWidth, config.groupMaxWidth]);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n const isOrdinal = this.dataScale.bandwidth;\r\n const domain = (this.dataScale.domain ? this.dataScale.domain() : []);\r\n const domainLength = isOrdinal ? domain.length : domain[1] - domain[0];\r\n // If the dataStep property is provided the amount of data elements is calculates as domainLength / dataStep\r\n // otherwise we get the number of data elements within the domain range\r\n // Or if the scale is ordinal we use data.length\r\n let dataSize = 1 + domainLength / config.dataStep ||\r\n (!isOrdinal &&\r\n data.filter((d, i) => {\r\n const value = getNumber(d, config.x, i);\r\n return value >= domain[0] && value <= domain[1];\r\n }).length) ||\r\n data.length;\r\n // We increase the dataSize by 1 to take into account possible additional domain space\r\n if (!isOrdinal && dataSize >= 2)\r\n dataSize += 1;\r\n const c = dataSize < 2 ? 1 : 1 - config.groupPadding;\r\n const groupWidth = (c * (this.isVertical() ? this._width : this._height)) / dataSize;\r\n return min([groupWidth, config.groupMaxWidth]);\r\n }\r\n getValueScaleExtent(scaleByVisibleData) {\r\n const { datamodel } = this;\r\n const yAccessors = this.getAccessors();\r\n const data = scaleByVisibleData ? this._getVisibleData() : datamodel.data;\r\n const min = getMin(data, ...yAccessors);\r\n const max = getMax(data, ...yAccessors);\r\n return [min > 0 ? 0 : min, max < 0 ? 0 : max];\r\n }\r\n getDataScaleExtent() {\r\n const { config, datamodel } = this;\r\n return getExtent(datamodel.data, config.x);\r\n }\r\n getYDataExtent(scaleByVisibleData) {\r\n return this.isVertical()\r\n ? this.getValueScaleExtent(scaleByVisibleData)\r\n : this.getDataScaleExtent();\r\n }\r\n getXDataExtent() {\r\n return this.isVertical()\r\n ? this.getDataScaleExtent()\r\n : this.getValueScaleExtent(false);\r\n }\r\n}\r\nGroupedBar.selectors = style;\n\nexport { GroupedBar };\n//# sourceMappingURL=index.js.map\n","var TrimMode;\r\n(function (TrimMode) {\r\n TrimMode[\"Start\"] = \"start\";\r\n TrimMode[\"Middle\"] = \"middle\";\r\n TrimMode[\"End\"] = \"end\";\r\n})(TrimMode || (TrimMode = {}));\r\nvar VerticalAlign;\r\n(function (VerticalAlign) {\r\n VerticalAlign[\"Top\"] = \"top\";\r\n VerticalAlign[\"Middle\"] = \"middle\";\r\n VerticalAlign[\"Bottom\"] = \"bottom\";\r\n})(VerticalAlign || (VerticalAlign = {}));\r\nvar FitMode;\r\n(function (FitMode) {\r\n FitMode[\"Wrap\"] = \"wrap\";\r\n FitMode[\"Trim\"] = \"trim\";\r\n})(FitMode || (FitMode = {}));\r\nvar TextAlign;\r\n(function (TextAlign) {\r\n TextAlign[\"Left\"] = \"left\";\r\n TextAlign[\"Center\"] = \"center\";\r\n TextAlign[\"Right\"] = \"right\";\r\n})(TextAlign || (TextAlign = {}));\n\nexport { FitMode, TextAlign, TrimMode, VerticalAlign };\n//# sourceMappingURL=text.js.map\n","import { TextAlign } from './text.js';\n\n/**\r\n * Converts a TextAlign value into an SVG text-anchor attribute value.\r\n *\r\n * @param {TextAlign | string} textAlign - The TextAlign value to convert.\r\n * @returns {'start' | 'middle' | 'end'} The corresponding text-anchor attribute value. Defaults to 'start' if an invalid TextAlign value is provided.\r\n */\r\nfunction getTextAnchorFromTextAlign(textAlign) {\r\n switch (textAlign) {\r\n case TextAlign.Center:\r\n return 'middle';\r\n case TextAlign.Right:\r\n return 'end';\r\n case TextAlign.Left:\r\n default:\r\n return 'start';\r\n }\r\n}\n\nexport { getTextAnchorFromTextAlign };\n//# sourceMappingURL=svg.js.map\n","import { sum } from 'd3-array';\nimport striptags from 'striptags';\nimport { TextAlign, TrimMode, VerticalAlign } from '../types/text.js';\nimport { flatten, isArray, merge } from './data.js';\nimport { getTextAnchorFromTextAlign } from '../types/svg.js';\nimport { getFontWidthToHeightRatio, UNOVIS_TEXT_DEFAULT, UNOVIS_TEXT_HYPHEN_CHARACTER_DEFAULT, UNOVIS_TEXT_SEPARATOR_DEFAULT } from '../styles/index.js';\n\nconst textAlignToAnchor = (textAlign) => {\r\n switch (textAlign) {\r\n case TextAlign.Left: return 'start';\r\n case TextAlign.Right: return 'end';\r\n case TextAlign.Center: return 'middle';\r\n default: return null;\r\n }\r\n};\r\n/**\r\n * Converts a kebab-case string to camelCase.\r\n *\r\n * @param {string} str - The kebab-case string to be converted.\r\n * @returns {string} The resulting camelCase string.\r\n */\r\nfunction kebabCaseToCamel(str) {\r\n return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());\r\n}\r\n/**\r\n * Converts a given string to kebab-case.\r\n * @param {string} str - The input string to be converted to kebab-case.\r\n * @returns {string} - The kebab-cased string.\r\n */\r\nfunction kebabCase(str) {\r\n var _a;\r\n return (_a = str.match(/[A-Z]{2,}(?=[A-Z][a-z0-9]*|\\b)|[A-Z]?[a-z0-9]*|[A-Z]|[0-9]+/g)) === null || _a === void 0 ? void 0 : _a.filter(Boolean).map(x => x.toLowerCase()).join('-');\r\n}\r\nfunction escapeStringKeepHash(str) {\r\n return str\r\n .replace(/['\"]/g, ''') // Escapes quotes with '\r\n // eslint-disable-next-line no-control-regex\r\n .replace(/\\u0000/g, '\\\\0') // Escapes null characters\r\n .replace(/\\n/g, '\\\\n') // Escapes new lines\r\n .replace(/\\r/g, '\\\\r') // Escapes carriage returns\r\n .replace(/\\v/g, '\\\\v') // Escapes vertical tabs\r\n .replace(/\\t/g, '\\\\t') // Escapes horizontal tabs\r\n .replace(/\\f/g, '\\\\f'); // Escapes form feeds\r\n}\r\n/**\r\n * Trims the input string from the start, leaving only the specified maximum length.\r\n * @param {string} str - The input string to be trimmed.\r\n * @param {number} [maxLength=15] - The maximum allowed length of the trimmed string.\r\n * @returns {string} - The trimmed string.\r\n */\r\nfunction trimStringStart(str, maxLength = 15) {\r\n if (!str)\r\n return '';\r\n return str.length > maxLength ? `…${str.substr(str.length - maxLength, maxLength)}` : str;\r\n}\r\n/**\r\n * Trims the input string from the middle, leaving only the specified maximum length.\r\n * @param {string} str - The input string to be trimmed.\r\n * @param {number} [maxLength=15] - The maximum allowed length of the trimmed string.\r\n * @returns {string} - The trimmed string.\r\n */\r\nfunction trimStringMiddle(str, maxLength = 15) {\r\n if (!str)\r\n return '';\r\n const dist = Math.floor((maxLength - 3) / 2);\r\n return str.length > maxLength ? `${str.substr(0, dist)}…${str.substr(-dist, dist)}` : str;\r\n}\r\n/**\r\n * Trims the input string from the end, leaving only the specified maximum length.\r\n * @param {string} str - The input string to be trimmed.\r\n * @param {number} [maxLength=15] - The maximum allowed length of the trimmed string.\r\n * @returns {string} - The trimmed string.\r\n */\r\nfunction trimStringEnd(str, maxLength = 15) {\r\n if (!str)\r\n return '';\r\n return str.length > maxLength ? `${str.substr(0, maxLength)}…` : str;\r\n}\r\n/**\r\n * Trims the input string according to the specified trim mode.\r\n * @param {string} str - The input string to be trimmed.\r\n * @param {number} [length=15] - The maximum allowed length of the trimmed string.\r\n * @param {TrimMode} [type=TrimMode.Middle] - The trim mode to be applied.\r\n * @returns {string} - The trimmed string.\r\n */\r\nfunction trimString(str, length = 15, type = TrimMode.Middle) {\r\n if (!str)\r\n return '';\r\n let result = trimStringEnd(str, length);\r\n if (type === TrimMode.Start)\r\n result = trimStringStart(str, length);\r\n else if (type === TrimMode.Middle)\r\n result = trimStringMiddle(str, length);\r\n return result;\r\n}\r\n/**\r\n * Splits the input string according to the specified separators.\r\n * @param {string} text - The input string to be split.\r\n * @param {string[]} [separators=[' ']] - The array of separators to be used for splitting.\r\n * @returns {string[]} - The array of split words.\r\n */\r\nfunction splitString(text, separators = [' ']) {\r\n let result = [text];\r\n for (let i = 0; i < separators.length; i++) {\r\n const sep = separators[i];\r\n result.forEach((d, index) => {\r\n const separated = d.split(sep);\r\n const words = separated.map((word, j) => `${word}${j === separated.length - 1 ? '' : sep}`);\r\n result[index] = words;\r\n });\r\n result = flatten(result);\r\n }\r\n return result;\r\n}\r\n/**\r\n * Wraps an SVG text element to fit within the specified width.\r\n * @param {Selection<SVGTextElement, any, SVGElement, any>} textElement - The SVG text element to be wrapped.\r\n * @param {number} width - The maximum allowed width for the text element.\r\n * @param {(string | string[])} [separator=[' ', '-', '.', ',']] - The separator(s) to be used for wrapping.\r\n */\r\nfunction wrapSVGText(textElement, width, separator = [' ', '-', '.', ',']) {\r\n const text = textElement.text();\r\n if (!text)\r\n return;\r\n // Wrap\r\n const separators = (isArray(separator) ? separator : [separator]);\r\n const words = splitString(text, separators);\r\n const x = parseFloat(textElement.attr('x')) || 0;\r\n textElement.text('');\r\n let tspan = textElement.append('tspan').attr('x', x);\r\n let tspanContent = `${words[0]}`;\r\n tspan.text(tspanContent);\r\n words.forEach((word, i) => {\r\n if (i === 0)\r\n return;\r\n const tspanText = `${tspanContent}${word}`;\r\n tspan.text(tspanText);\r\n const tspanWidth = tspan.node().getComputedTextLength();\r\n if (tspanWidth > width) {\r\n tspan.text(tspanContent.trim());\r\n tspan = textElement.append('tspan')\r\n .attr('x', x)\r\n .attr('dy', '1.2em')\r\n .text(word);\r\n tspanContent = word;\r\n }\r\n else\r\n tspanContent += word;\r\n });\r\n}\r\n/**\r\n * Trims an SVG text element based on the specified max width, trim type, and other options.\r\n * @param {Selection<SVGTextElement, any, SVGElement, any>} svgTextSelection - The D3 selection of the SVG text element to be trimmed.\r\n * @param {number} [maxWidth=50] - The maximum width of the text element.\r\n * @param {TrimMode} [trimType=TrimMode.Middle] - The type of trim (start, middle, or end).\r\n * @param {boolean} [fastMode=true] - Whether to use a fast estimation method for text length calculation.\r\n * @param {number} [fontSize=0] - The font size of the text.\r\n * @param {number} [fontWidthToHeightRatio=getFontWidthToHeightRatio()] - The font width to height ratio.\r\n * @returns {boolean} True if the text was trimmed, false otherwise.\r\n */\r\nfunction trimSVGText(svgTextSelection, maxWidth, trimType, fastMode, fontSize, fontWidthToHeightRatio) {\r\n var _a;\r\n if (maxWidth === void 0) { maxWidth = 50; }\r\n if (trimType === void 0) { trimType = TrimMode.Middle; }\r\n if (fastMode === void 0) { fastMode = true; }\r\n if (fontSize === void 0) { fontSize = +((_a = window.getComputedStyle(svgTextSelection.node())) === null || _a === void 0 ? void 0 : _a.fontSize) || 0; }\r\n if (fontWidthToHeightRatio === void 0) { fontWidthToHeightRatio = getFontWidthToHeightRatio(); }\r\n const text = svgTextSelection.text() || '';\r\n const textLength = text.length;\r\n const textWidth = fastMode ? fontSize * textLength * fontWidthToHeightRatio : svgTextSelection.node().getComputedTextLength();\r\n const tolerance = 1.1;\r\n const maxCharacters = Math.ceil(textLength * maxWidth / (tolerance * textWidth));\r\n if (maxCharacters < textLength) {\r\n svgTextSelection.text(trimString(text, maxCharacters, trimType));\r\n return true;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Estimates the length of a string in pixels.\r\n * @param {string} str - The string to be measured.\r\n * @param {number} fontSize - The font size of the string.\r\n * @param {number} [fontWidthToHeightRatio=getFontWidthToHeightRatio()] - The font width to height ratio.\r\n * @returns {number} The estimated length of the string in pixels.\r\n */\r\nfunction estimateStringPixelLength(str, fontSize, fontWidthToHeightRatio = getFontWidthToHeightRatio()) {\r\n return str.length * fontSize * fontWidthToHeightRatio || 0;\r\n}\r\n/**\r\n * Calculates the precise length of a string in pixels.\r\n * @param {string} str - The string to be measured.\r\n * @param {string} [fontFamily] - The font family of the string.\r\n * @param {(string | number)} [fontSize] - The font size of the string.\r\n * @returns {number} The precise length of the string in pixels.\r\n */\r\nfunction getPreciseStringLengthPx(str, fontFamily, fontSize) {\r\n const svgNS = 'http://www.w3.org/2000/svg';\r\n const svg = document.createElementNS(svgNS, 'svg');\r\n const text = document.createElementNS(svgNS, 'text');\r\n text.textContent = str;\r\n text.setAttribute('font-size', `${fontSize}`);\r\n text.setAttribute('font-family', fontFamily);\r\n svg.appendChild(text);\r\n document.body.appendChild(svg);\r\n const length = text.getComputedTextLength();\r\n document.body.removeChild(svg);\r\n return length;\r\n}\r\n/**\r\n * Estimates the dimensions of an SVG text element.\r\n *\r\n * @export\r\n * @param {Selection<SVGTextElement, any, SVGElement, any>} svgTextSelection - The D3 selection of the SVG text element.\r\n * @param {number} fontSize - The font size.\r\n * @param {number} [dy=0.32] - The line height scaling factor.\r\n * @param {boolean} [fastMode=true] - Whether to use a fast estimation method or a more accurate one.\r\n * @param {number} [fontWidthToHeightRatio] - The font width-to-height ratio.\r\n * @returns {{width: number, height: number}} - The estimated dimensions of the text element.\r\n */\r\nfunction estimateTextSize(svgTextSelection, fontSize, dy = 0.32, fastMode = true, fontWidthToHeightRatio) {\r\n fontWidthToHeightRatio = fontWidthToHeightRatio || getFontWidthToHeightRatio();\r\n const tspanSelection = svgTextSelection.selectAll('tspan');\r\n const lines = tspanSelection.size() || 1;\r\n const height = svgTextSelection.text() ? 0.85 * fontSize * lines * (1 + dy) - dy : 0;\r\n let width = 0;\r\n if (tspanSelection.empty()) {\r\n const textLength = svgTextSelection.text().length;\r\n width = fastMode ? fontSize * textLength * fontWidthToHeightRatio : svgTextSelection.node().getComputedTextLength();\r\n }\r\n else {\r\n for (const tspan of tspanSelection.nodes()) {\r\n const tspanTextLength = tspan.textContent.length;\r\n const w = fastMode ? fontSize * tspanTextLength * fontWidthToHeightRatio : tspan.getComputedTextLength();\r\n if (w > width)\r\n width = w;\r\n }\r\n }\r\n return { width, height };\r\n}\r\n/**\r\n * Breaks a text block into lines based on the specified width.\r\n *\r\n * @param {UnovisText} textBlock - The text block to break into lines.\r\n * @param {number | undefined} [width=undefined] - The maximum width of a line in pixels.\r\n * @param {(number | undefined)} [height=undefined] - The height limit for the wrapped text in pixels.\r\n * @param {boolean} [fastMode=true] - Whether to use a fast estimation method or a more accurate one.\r\n * @param {string | string[]} [separator] - The word separators.\r\n * @returns {string[]} - The text split into lines.\r\n */\r\nfunction breakTextIntoLines(textBlock, width = undefined, fastMode = true, separator = UNOVIS_TEXT_SEPARATOR_DEFAULT, wordBreak = false) {\r\n var _a, _b, _c;\r\n const text = `${textBlock.text}`;\r\n if (!text)\r\n return [];\r\n const fontSize = (_a = textBlock.fontSize) !== null && _a !== void 0 ? _a : UNOVIS_TEXT_DEFAULT.fontSize;\r\n const fontFamily = (_b = textBlock.fontFamily) !== null && _b !== void 0 ? _b : UNOVIS_TEXT_DEFAULT.fontFamily;\r\n const fontWidthToHeightRatio = (_c = textBlock.fontWidthToHeightRatio) !== null && _c !== void 0 ? _c : UNOVIS_TEXT_DEFAULT.fontWidthToHeightRatio;\r\n const separators = Array.isArray(separator) ? separator : [separator];\r\n const splitByNewLine = text.split('\\n');\r\n return splitByNewLine.map((str) => {\r\n const lines = [];\r\n if (!width)\r\n return [str];\r\n const words = splitString(str, separators);\r\n let line = '';\r\n for (let i = 0; i < words.length; i += 1) {\r\n const textLengthPx = fastMode\r\n ? estimateStringPixelLength(line + words[i], fontSize, fontWidthToHeightRatio)\r\n : getPreciseStringLengthPx(line + words[i], fontFamily, fontSize);\r\n if (textLengthPx < width || i === 0) {\r\n line += words[i];\r\n }\r\n else {\r\n lines.push(line.trim());\r\n line = words[i];\r\n }\r\n // Word break functionality\r\n const minCharactersOnLine = 2;\r\n if (wordBreak) {\r\n while (line.trim().length > minCharactersOnLine) {\r\n const subLineLengthPx = fastMode\r\n ? estimateStringPixelLength(line, fontSize, fontWidthToHeightRatio)\r\n : getPreciseStringLengthPx(line, fontFamily, fontSize);\r\n if (subLineLengthPx > width) {\r\n let breakIndex = (line.trim()).length - minCharactersOnLine; // Place at least `minCharactersOnLine` characters onto the next line\r\n while (breakIndex > 0) {\r\n const subLine = `${line.substring(0, breakIndex)}${UNOVIS_TEXT_HYPHEN_CHARACTER_DEFAULT}`; // Use hyphen when force breaking words\r\n const subLinePx = fastMode\r\n ? estimateStringPixelLength(subLine, fontSize, fontWidthToHeightRatio)\r\n : getPreciseStringLengthPx(subLine, fontFamily, fontSize);\r\n // If the subline is less than the width, or just one character left, break the line\r\n if (subLinePx <= width || breakIndex === 1) {\r\n lines.push(subLine.trim());\r\n line = line.substring(breakIndex);\r\n break;\r\n }\r\n breakIndex--;\r\n }\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n // Adding the final line after the loop\r\n if (line)\r\n lines.push(line.trim());\r\n return lines;\r\n }).flat();\r\n}\r\n/**\r\n * Wraps a text or array of texts to fit within specified width and height, if provided.\r\n *\r\n * @export\r\n * @param {UnovisText | UnovisText[]} text - The text or array of texts to wrap.\r\n * @param {number | undefined} [width=undefined] - The maximum width of a line in pixels.\r\n * @param {boolean} [fastMode=true] - Whether to use a fast estimation method or a more accurate one.\r\n * @param {string | string[]} [separator] - The word separators.\r\n * @returns {UnovisWrappedText[]} - The wrapped texts.\r\n */\r\nfunction getWrappedText(text, width = undefined, height = undefined, fastMode = true, separator = UNOVIS_TEXT_SEPARATOR_DEFAULT, wordBreak = false) {\r\n // Merge input text with default values and convert it to an array if it's not already\r\n const textArrays = Array.isArray(text) ? text.map(t => merge(UNOVIS_TEXT_DEFAULT, t)) : [merge(UNOVIS_TEXT_DEFAULT, text)];\r\n // Break input text into lines based on width and separator\r\n const textWrapped = textArrays.map(block => breakTextIntoLines(block, width, fastMode, separator, wordBreak));\r\n const firstBlock = textArrays[0];\r\n let h = -firstBlock.fontSize * (firstBlock.lineHeight - 1);\r\n const blocks = [];\r\n // Process each text block and its lines based on height limit\r\n textArrays.forEach((text, i) => {\r\n var _a;\r\n let lines = textWrapped[i];\r\n const prevBlock = i > 0 ? blocks[i - 1] : undefined;\r\n const prevBlockMarginBottomPx = prevBlock ? prevBlock.marginBottom : 0;\r\n const marginTopPx = text.marginTop;\r\n const effectiveMarginPx = Math.max(prevBlockMarginBottomPx, marginTopPx);\r\n h += effectiveMarginPx;\r\n const dh = text.fontSize * text.lineHeight;\r\n let maxWidth = 0;\r\n // Iterate over lines and handle text overflow based on the height limit if provided\r\n for (let k = 0; k < lines.length; k += 1) {\r\n let line = lines[k];\r\n h += dh;\r\n const lineWithEllipsis = `${line} …`;\r\n const textLengthPx = fastMode\r\n ? estimateStringPixelLength(lineWithEllipsis, text.fontSize, text.fontWidthToHeightRatio)\r\n : getPreciseStringLengthPx(lineWithEllipsis, text.fontFamily, text.fontSize);\r\n maxWidth = Math.max(textLengthPx, maxWidth);\r\n if (height && (h + dh) > height && (k !== lines.length - 1)) {\r\n // Remove hyphen character from the end of the line if it's there\r\n const lastCharacter = line.charAt(line.length - 1);\r\n if (lastCharacter === UNOVIS_TEXT_HYPHEN_CHARACTER_DEFAULT) {\r\n line = line.substr(0, lines[k].length - 1);\r\n }\r\n if (textLengthPx < width) {\r\n lines[k] = lineWithEllipsis;\r\n }\r\n else {\r\n lines[k] = `${lines[k].substr(0, lines[k].length - 2)}…`;\r\n }\r\n lines = lines.slice(0, k + 1);\r\n break;\r\n }\r\n }\r\n // Create wrapped text block with its calculated properties\r\n blocks.push(Object.assign(Object.assign({}, text), { _lines: lines, _estimatedHeight: h - ((prevBlock === null || prevBlock === void 0 ? void 0 : prevBlock._estimatedHeight) || 0), _maxWidth: Math.max(maxWidth, (_a = prevBlock === null || prevBlock === void 0 ? void 0 : prevBlock._maxWidth) !== null && _a !== void 0 ? _a : 0) }));\r\n });\r\n return blocks;\r\n}\r\n/**\r\n * Renders a text or array of texts to SVG tspan strings.\r\n *\r\n * @param {UnovisWrappedText[]} blocks - The wrapped text blocks.\r\n * @param {number} [x=0] - The x-coordinate for the tspan elements.\r\n * @param {number} [y] - The y-coordinate for the tspan elements.\r\n * @returns {string[]} - The SVG tspan strings.\r\n */\r\nfunction renderTextToTspanStrings(blocks, x = 0, y, dominantBaseline) {\r\n return blocks.map((b, i) => {\r\n const prevBlock = i > 0 ? blocks[i - 1] : undefined;\r\n const prevBlockMarginBottomEm = prevBlock ? prevBlock.marginBottom / prevBlock.fontSize : 0;\r\n const marginTopEm = b.marginTop / b.fontSize;\r\n const marginEm = Math.max(prevBlockMarginBottomEm, marginTopEm);\r\n const attributes = {\r\n fontSize: b.fontSize,\r\n fontFamily: b.fontFamily,\r\n fontWeight: b.fontWeight,\r\n fill: b.color,\r\n y: (i === 0) && y,\r\n };\r\n const attributesString = Object.entries(attributes)\r\n .filter(([_, value]) => value)\r\n .map(([key, value]) => `${kebabCase(key)}=\"${escapeStringKeepHash(value.toString())}\"`)\r\n .join(' ');\r\n return `<tspan xmlns=\"http://www.w3.org/2000/svg\" ${attributesString}>${b._lines.map((line, k) => {\r\n let dy;\r\n if (i === 0 && k === 0)\r\n dy = marginEm;\r\n else if (k === 0)\r\n dy = marginEm + b.lineHeight;\r\n else\r\n dy = b.lineHeight;\r\n return `<tspan x=\"${x}\" dy=\"${dy}em\" dominant-baseline=\"${dominantBaseline !== null && dominantBaseline !== void 0 ? dominantBaseline : 'auto'}\">${line.length ? line : ' '}</tspan>`;\r\n }).join('')}</tspan>`;\r\n });\r\n}\r\n/**\r\n * Estimates the height of wrapped text blocks.\r\n *\r\n * @export\r\n * @param {UnovisWrappedText[]} blocks - The wrapped text blocks.\r\n * @returns {number} - The estimated height of the wrapped text blocks.\r\n */\r\nfunction estimateWrappedTextHeight(blocks) {\r\n return sum(blocks, b => b._estimatedHeight);\r\n}\r\nconst allowedSvgTextTags = ['text', 'tspan', 'textPath', 'altGlyph', 'altGlyphDef', 'altGlyphItem', 'glyphRef', 'textRef', 'textArea'];\r\n/**\r\n * Renders a text or array of texts to an SVG text element.\r\n * Calling this function will replace the contents of the specified SVG text element.\r\n *\r\n * @export\r\n * @param {SVGTextElement} textElement - The SVG text element to render the text into.\r\n * @param {UnovisText | UnovisText[]} text - The text or array of texts to render.\r\n * @param {UnovisTextOptions} options - The text options.\r\n */\r\nfunction renderTextToSvgTextElement(textElement, text, options, \r\n// Dominant baseline sets alignment for a line of text, whereas\r\n// the `options.verticalAlign` property sets alignment for the entire text block\r\n// shifting it vertically, irrespective of the dominant baseline.\r\ndominantBaseline) {\r\n var _a, _b;\r\n const wrappedText = getWrappedText(text, options.width, undefined, options.fastMode, options.separator, options.wordBreak);\r\n const textElementX = (_a = options.x) !== null && _a !== void 0 ? _a : +textElement.getAttribute('x');\r\n const textElementY = (_b = options.y) !== null && _b !== void 0 ? _b : +textElement.getAttribute('y');\r\n const x = textElementX !== null && textElementX !== void 0 ? textElementX : 0;\r\n let y = textElementY !== null && textElementY !== void 0 ? textElementY : 0;\r\n if (options.textAlign) {\r\n textElement.setAttribute('text-anchor', getTextAnchorFromTextAlign(options.textAlign));\r\n }\r\n if (options.verticalAlign && options.verticalAlign !== VerticalAlign.Top) {\r\n const height = estimateWrappedTextHeight(wrappedText);\r\n const dy = options.verticalAlign === VerticalAlign.Middle ? -height / 2\r\n : options.verticalAlign === VerticalAlign.Bottom ? -height : 0;\r\n y += dy;\r\n }\r\n if (options.textRotationAngle) {\r\n textElement.setAttribute('transform', `rotate(${(options.textRotationAngle === 0 || options.textRotationAngle) ? options.textRotationAngle : 0} ${x} ${y})`);\r\n }\r\n else {\r\n textElement.removeAttribute('transform');\r\n }\r\n const parser = new DOMParser();\r\n textElement.textContent = '';\r\n wrappedText.forEach(block => {\r\n const svgCode = renderTextToTspanStrings([block], x, y, dominantBaseline).join('');\r\n const svgCodeSanitized = striptags(svgCode, allowedSvgTextTags);\r\n const parsedSvgCode = parser.parseFromString(svgCodeSanitized, 'image/svg+xml').firstChild;\r\n textElement.appendChild(parsedSvgCode);\r\n });\r\n}\r\n/**\r\n * Renders a text or array of texts into a frame.\r\n * Calling this function will replace the contents of the specified SVG group.\r\n *\r\n * @export\r\n * @param {SVGGElement} group - The SVG group element to render the text into.\r\n * @param {UnovisText | UnovisText[]} text - The text or array of texts to render.\r\n * @param {UnovisTextFrameOptions} frameOptions - The text frame options.\r\n */\r\nfunction renderTextIntoFrame(group, text, frameOptions) {\r\n var _a, _b;\r\n const wrappedText = getWrappedText(text, frameOptions.width, frameOptions.height, frameOptions.fastMode, frameOptions.separator, frameOptions.wordBreak);\r\n const x = frameOptions.textAlign === TextAlign.Center ? frameOptions.width / 2\r\n : frameOptions.textAlign === TextAlign.Right ? frameOptions.width : 0;\r\n let y = 0;\r\n const height = estimateWrappedTextHeight(wrappedText);\r\n // If the frame has height, the text will be vertically aligned within the frame.\r\n // If not, the text will be aligned against the `y` position of the frame.\r\n const dh = frameOptions.height - height;\r\n y = frameOptions.verticalAlign === VerticalAlign.Middle ? dh / 2\r\n : frameOptions.verticalAlign === VerticalAlign.Bottom ? dh : 0;\r\n const translate = (frameOptions.x || frameOptions.y)\r\n ? `transform=\"translate(${(_a = frameOptions.x) !== null && _a !== void 0 ? _a : 0},${(_b = frameOptions.y) !== null && _b !== void 0 ? _b : 0})\"`\r\n : '';\r\n const svgCode = `<text\n xmlns=\"http://www.w3.org/2000/svg\"\n text-anchor=\"${getTextAnchorFromTextAlign(frameOptions.textAlign)}\"\n ${translate}\n >\n ${renderTextToTspanStrings(wrappedText, x, y, 'hanging').join('')}\n </text>`;\r\n const parser = new DOMParser();\r\n const svgCodeSanitized = striptags(svgCode, allowedSvgTextTags);\r\n const parsedSvgCode = parser.parseFromString(svgCodeSanitized, 'image/svg+xml').firstChild;\r\n group.textContent = '';\r\n group.appendChild(parsedSvgCode);\r\n}\n\nexport { allowedSvgTextTags, escapeStringKeepHash, estimateStringPixelLength, estimateTextSize, estimateWrappedTextHeight, getPreciseStringLengthPx, getWrappedText, kebabCase, kebabCaseToCamel, renderTextIntoFrame, renderTextToSvgTextElement, splitString, textAlignToAnchor, trimSVGText, trimString, trimStringEnd, trimStringMiddle, trimStringStart, wrapSVGText };\n//# sourceMappingURL=text.js.map\n","import { XYComponentDefaultConfig } from '../../core/xy-component/config.js';\nimport { FitMode, TrimMode } from '../../types/text.js';\n\nconst AxisDefaultConfig = Object.assign(Object.assign({}, XYComponentDefaultConfig), { position: undefined, type: undefined, label: undefined, labelFontSize: null, labelTextFitMode: FitMode.Wrap, labelTextTrimType: TrimMode.Middle, gridLine: true, tickLine: true, domainLine: true, numTicks: undefined, minMaxTicksOnly: false, minMaxTicksOnlyWhenWidthIsLess: 250, minMaxTicksOnlyShowGridLines: false, tickTextWidth: undefined, tickTextSeparator: undefined, tickTextForceWordBreak: false, tickTextTrimType: TrimMode.Middle, tickTextFitMode: FitMode.Wrap, tickTextFontSize: null, tickTextAlign: undefined, tickTextColor: null, tickTextAngle: undefined, labelMargin: 8, labelColor: null, tickFormat: undefined, tickValues: undefined, fullSize: true, tickPadding: 8, tickTextHideOverlapping: undefined });\n\nexport { AxisDefaultConfig };\n//# sourceMappingURL=config.js.map\n","import { injectGlobal } from '@emotion/css';\nimport { kebabCaseToCamel } from './text.js';\n\nfunction getCssVarNames(cssVarsObject, prefix) {\r\n const defaultPrefix = '--vis-';\r\n const entries = Object.entries(cssVarsObject);\r\n return Object.fromEntries(entries.map(([key]) => [kebabCaseToCamel(key.replace(prefix !== null && prefix !== void 0 ? prefix : defaultPrefix, '')), key]));\r\n}\r\nfunction injectGlobalCssVariables(cssVarsObject, componentRootClassName) {\r\n injectGlobal({\r\n ':root': cssVarsObject,\r\n [`body.theme-dark .${componentRootClassName}`]: Object.keys(cssVarsObject)\r\n .filter(key => key.includes('--vis-dark'))\r\n .map(key => ({\r\n [key.replace('--vis-dark', '--vis')]: `var(${key})`,\r\n })),\r\n });\r\n}\r\nfunction cssvar(name) {\r\n return `var(${name})`;\r\n}\n\nexport { cssvar, getCssVarNames, injectGlobalCssVariables };\n//# sourceMappingURL=style.js.map\n","import { css } from '@emotion/css';\nimport { getCssVarNames, injectGlobalCssVariables } from '../../utils/style.js';\n\nconst root = css `\n label: axis-component;\n`;\r\nconst cssVarDefaults = {\r\n // Undefined by default to allow proper fallback to var(--vis-font-family)\r\n /* --vis-axis-font-family: */\r\n '--vis-axis-tick-color': '#e8e9ef',\r\n /* --vis-axis-domain-color: // Undefined by default to allow fallback to var(--vis-axis-tick-color) */\r\n '--vis-axis-grid-color': '#e8e9ef',\r\n '--vis-axis-grid-line-width': '1px',\r\n '--vis-axis-grid-line-dasharray': 'none',\r\n '--vis-axis-label-font-size': '14px',\r\n '--vis-axis-label-color': '#6c778c',\r\n '--vis-axis-label-weight': '500',\r\n '--vis-axis-tick-label-color': '#6c778c',\r\n '--vis-axis-tick-label-font-size': '12px',\r\n '--vis-axis-tick-label-weight': '500',\r\n '--vis-axis-tick-label-cursor': 'default',\r\n '--vis-axis-tick-label-text-decoration': 'none',\r\n '--vis-axis-tick-line-width': '1px',\r\n '--vis-axis-tick-label-hide-transition': 'opacity 400ms ease-in-out',\r\n /* --vis-axis-domain-line-width: // Undefined by default to allow fallback to var(--vis-axis-grid-line-width) */\r\n '--vis-dark-axis-tick-color': '#6c778c',\r\n /* --vis-dark-axis-domain-color: // Undefined by default to allow fallback to var(--vis-dark-axis-tick-color) */\r\n '--vis-dark-axis-tick-label-color': '#e8e9ef',\r\n '--vis-dark-axis-grid-color': '#6c778c',\r\n '--vis-dark-axis-label-color': '#fefefe',\r\n};\r\nconst variables = getCssVarNames(cssVarDefaults);\r\ninjectGlobalCssVariables(cssVarDefaults, root);\r\nconst hideTickLine = css `\n label: hide-tick-line;\n`;\r\nconst hideDomain = css `\n label: hide-domain;\n`;\r\nconst axis = css `\n label: axis;\n\n user-select: none;\n\n .domain {\n stroke: var(--vis-axis-domain-color, var(--vis-axis-tick-color));\n stroke-width: var(--vis-axis-domain-line-width, var(--vis-axis-grid-line-width));\n stroke-dasharray: var(--vis-axis-domain-line-dasharray, var(--vis-axis-grid-line-dasharray));\n }\n\n &${`.${hideTickLine}`} {\n .tick > line {\n opacity: 0;\n }\n }\n\n &${`.${hideDomain}`} {\n .domain {\n opacity: 0;\n }\n }\n`;\r\nconst grid = css `\n label: grid;\n\n .domain {\n opacity: 0;\n }\n\n line {\n stroke: var(--vis-axis-grid-color);\n stroke-width: var(--vis-axis-grid-line-width);\n stroke-dasharray: var(--vis-axis-grid-line-dasharray);\n }\n`;\r\nconst tick = css `\n label: tick;\n\n stroke: none;\n font-size: var(--vis-axis-tick-label-font-size);\n font-weight: var(--vis-axis-tick-label-weight);\n\n line {\n stroke: var(--vis-axis-tick-color);\n stroke-width: var(--vis-axis-tick-line-width);\n }\n\n text {\n fill: var(--vis-axis-tick-label-color);\n cursor: var(--vis-axis-tick-label-cursor);\n font-family: var(--vis-axis-font-family, var(--vis-font-family));\n text-decoration: var(--vis-axis-tick-label-text-decoration);\n stroke: none;\n }\n`;\r\nconst tickTextExiting = css `\n label: tick-text-exiting;\n`;\r\nconst label = css `\n label: label;\n fill: var(--vis-axis-label-color);\n font-size: var(--vis-axis-label-font-size);\n font-weight: var(--vis-axis-label-weight);\n font-family: var(--vis-axis-font-family, var(--vis-font-family));\n text-anchor: middle;\n`;\r\nconst tickLabel = css `\n label: tick-label;\n`;\r\nconst tickLabelHideable = css `\n label: tick-label-hideable;\n opacity: 0;\n transition: var(--vis-axis-tick-label-hide-transition);\n`;\n\nexport { axis, cssVarDefaults, grid, hideDomain, hideTickLine, label, root, tick, tickLabel, tickLabelHideable, tickTextExiting, variables };\n//# sourceMappingURL=style.js.map\n","import { select } from 'd3-selection';\nimport { interrupt } from 'd3-transition';\nimport { axisLeft, axisRight, axisBottom, axisTop } from 'd3-axis';\nimport { XYComponentCore } from '../../core/xy-component/index.js';\nimport { Position } from '../../types/position.js';\nimport { VerticalAlign, FitMode, TextAlign } from '../../types/text.js';\nimport { smartTransition } from '../../utils/d3.js';\nimport { trimSVGText, renderTextToSvgTextElement, wrapSVGText, textAlignToAnchor } from '../../utils/text.js';\nimport { isEqual } from '../../utils/data.js';\nimport { rectIntersect } from '../../utils/misc.js';\nimport { getFontWidthToHeightRatio } from '../../styles/index.js';\nimport { AxisType } from './types.js';\nimport { AxisDefaultConfig } from './config.js';\nimport * as style from './style.js';\nimport { grid, tick, tickLabel, tickLabelHideable, tickTextExiting, axis, hideTickLine, hideDomain, label } from './style.js';\n\nclass Axis extends XYComponentCore {\r\n constructor(config) {\r\n super();\r\n this._defaultConfig = AxisDefaultConfig;\r\n this.config = this._defaultConfig;\r\n this._defaultNumTicks = 3;\r\n this.events = {};\r\n if (config)\r\n this.setConfig(config);\r\n this.axisGroup = this.g.append('g');\r\n this.gridGroup = this.g.append('g')\r\n .attr('class', grid);\r\n }\r\n /** Renders axis to an invisible grouped to calculate automatic chart margins */\r\n preRender() {\r\n const { config } = this;\r\n const axisRenderHelperGroup = this.g.append('g').attr('opacity', 0);\r\n this._renderAxis(axisRenderHelperGroup, 0);\r\n // Store axis raw BBox (without the label) for further label positioning (see _renderAxisLabel)\r\n this._axisRawBBox = axisRenderHelperGroup.node().getBBox();\r\n // Align tick text\r\n if (config.tickTextAlign)\r\n this._alignTickLabels();\r\n // Render label and store total axis size and required margins\r\n this._renderAxisLabel(axisRenderHelperGroup);\r\n this._axisSizeBBox = this._getAxisSize(axisRenderHelperGroup);\r\n this._requiredMargin = this._getRequiredMargin(this._axisSizeBBox);\r\n axisRenderHelperGroup.remove();\r\n }\r\n getPosition() {\r\n const { config: { type, position } } = this;\r\n return (position !== null && position !== void 0 ? position : ((type === AxisType.X) ? Position.Bottom : Position.Left));\r\n }\r\n _getAxisSize(selection) {\r\n const bBox = selection.node().getBBox();\r\n return bBox;\r\n }\r\n _getRequiredMargin(axisSize = this._axisSizeBBox) {\r\n const { config: { type, position } } = this;\r\n switch (type) {\r\n case AxisType.X: {\r\n const tolerancePx = 1;\r\n const xEnd = this._axisSizeBBox.x + this._axisSizeBBox.width;\r\n const left = this._axisSizeBBox.x < 0 ? Math.abs(this._axisSizeBBox.x) : 0;\r\n const right = (xEnd - this._width) > tolerancePx ? xEnd - this._width : 0;\r\n switch (position) {\r\n case Position.Top: return { top: axisSize.height, left, right };\r\n case Position.Bottom:\r\n default: return { bottom: axisSize.height, left, right };\r\n }\r\n }\r\n case AxisType.Y: {\r\n const bleedY = axisSize.height > this._height ? (axisSize.height - this._height) / 2 : 0;\r\n const top = bleedY;\r\n const bottom = bleedY;\r\n switch (position) {\r\n case Position.Right: return { right: axisSize.width, top, bottom };\r\n case Position.Left:\r\n default: return { left: axisSize.width, top, bottom };\r\n }\r\n }\r\n }\r\n }\r\n getRequiredMargin() {\r\n return this._requiredMargin;\r\n }\r\n /** Calculates axis transform:translate offset based on passed container margins */\r\n getOffset(containerMargin) {\r\n const { config: { type, position } } = this;\r\n switch (type) {\r\n case AxisType.X:\r\n switch (position) {\r\n case Position.Top: return { top: containerMargin.top, left: containerMargin.left };\r\n case Position.Bottom:\r\n default: return { top: containerMargin.top + this._height, left: containerMargin.left };\r\n }\r\n case AxisType.Y:\r\n switch (position) {\r\n case Position.Right: return { top: containerMargin.top, left: containerMargin.left + this._width };\r\n case Position.Left:\r\n default: return { top: containerMargin.top, left: containerMargin.left };\r\n }\r\n }\r\n }\r\n _render(duration = this.config.duration, selection = this.axisGroup) {\r\n const { config } = this;\r\n this._renderAxis(selection, duration);\r\n this._renderAxisLabel(selection);\r\n if (config.gridLine) {\r\n const gridGen = this._buildGrid();\r\n // Interrupting all active transitions first to prevent them from being stuck.\r\n // Somehow we see it happening in Angular apps.\r\n this.gridGroup.selectAll('*').interrupt();\r\n smartTransition(this.gridGroup, duration).call(gridGen).style('opacity', 1);\r\n }\r\n else {\r\n smartTransition(this.gridGroup, duration).style('opacity', 0);\r\n }\r\n if (config.tickTextAlign)\r\n this._alignTickLabels();\r\n this._resolveTickLabelOverlap(selection);\r\n }\r\n _buildAxis() {\r\n const { config: { type, position, tickPadding } } = this;\r\n const ticks = this._getNumTicks();\r\n switch (type) {\r\n case AxisType.X:\r\n switch (position) {\r\n case Position.Top: return axisTop(this.xScale).ticks(ticks).tickPadding(tickPadding);\r\n case Position.Bottom:\r\n default: return axisBottom(this.xScale).ticks(ticks).tickPadding(tickPadding);\r\n }\r\n case AxisType.Y:\r\n switch (position) {\r\n case Position.Right: return axisRight(this.yScale).ticks(ticks).tickPadding(tickPadding);\r\n case Position.Left:\r\n default: return axisLeft(this.yScale).ticks(ticks).tickPadding(tickPadding);\r\n }\r\n }\r\n }\r\n _buildGrid() {\r\n const { config } = this;\r\n let gridGen;\r\n switch (config.type) {\r\n case AxisType.X:\r\n switch (config.position) {\r\n case Position.Top: {\r\n gridGen = axisTop(this.xScale);\r\n break;\r\n }\r\n case Position.Bottom:\r\n default: {\r\n gridGen = axisBottom(this.xScale);\r\n break;\r\n }\r\n }\r\n gridGen.tickSize(-this._height);\r\n break;\r\n case AxisType.Y:\r\n switch (config.position) {\r\n case Position.Right: {\r\n gridGen = axisRight(this.yScale);\r\n break;\r\n }\r\n case Position.Left:\r\n default: {\r\n gridGen = axisLeft(this.yScale);\r\n break;\r\n }\r\n }\r\n gridGen.tickSize(-this._width);\r\n }\r\n gridGen\r\n .tickSizeOuter(0)\r\n .tickFormat(() => '');\r\n const numTicks = this._getNumTicks() * 2;\r\n const gridScale = gridGen.scale();\r\n const scaleDomain = gridScale.domain();\r\n const getGridMinMaxTicksOnlyValues = () => {\r\n if (!config.minMaxTicksOnlyShowGridLines)\r\n return scaleDomain;\r\n const tickValues = gridScale.ticks(numTicks);\r\n if (tickValues.length < 2)\r\n return scaleDomain;\r\n // If the last tick is far enough from the domain max value, we add it to the tick values to draw the grid line\r\n const tickValuesStep = +tickValues[1] - +tickValues[0];\r\n const domainMaxValue = scaleDomain[1];\r\n const diff = +domainMaxValue - +tickValues[tickValues.length - 1];\r\n return diff > tickValuesStep / 2 ? [...tickValues, domainMaxValue] : tickValues;\r\n };\r\n const tickValues = config.tickValues\r\n ? this._getConfiguredTickValues()\r\n : this._shouldRenderMinMaxTicksOnly()\r\n ? getGridMinMaxTicksOnlyValues()\r\n : gridScale.ticks(numTicks);\r\n gridGen.tickValues(tickValues);\r\n return gridGen;\r\n }\r\n _renderAxis(selection = this.axisGroup, duration = this.config.duration) {\r\n const { config } = this;\r\n const axisGen = this._buildAxis();\r\n const axisScale = axisGen.scale();\r\n const tickValues = config.tickValues\r\n ? this._getConfiguredTickValues()\r\n : this._shouldRenderMinMaxTicksOnly()\r\n ? axisScale.domain()\r\n : axisScale.ticks(this._getNumTicks());\r\n const tickCount = tickValues.length;\r\n axisGen.tickValues(tickValues);\r\n // Interrupting all active transitions first to prevent them from being stuck.\r\n // Somehow we see it happening in Angular apps.\r\n selection.selectAll('*').interrupt();\r\n const transition = smartTransition(selection, duration).call(axisGen);\r\n // Unset D3's default y and dy attributes because we're going to set them manually in the renderTextToSvgTextElement function\r\n selection.selectAll('text')\r\n .attr('dy', null)\r\n .attr('y', null);\r\n // Resolving tick label overlap after the animation is over\r\n transition.on('end', () => {\r\n this._resolveTickLabelOverlap(selection);\r\n });\r\n const ticks = selection.selectAll('g.tick');\r\n ticks\r\n .classed(tick, true)\r\n .style('font-size', config.tickTextFontSize);\r\n // Selecting the <text> elements of the ticks to apply formatting. By default, this selection\r\n // will include exiting elements, so we're filtering them out.\r\n const tickText = selection.selectAll('g.tick > text')\r\n .filter(tickValue => tickValues.some((t) => isEqual(tickValue, t))) // We use isEqual to compare Dates\r\n .classed(tickLabel, true)\r\n .classed(tickLabelHideable, Boolean(config.tickTextHideOverlapping))\r\n .style('fill', config.tickTextColor);\r\n // Marking exiting elements\r\n selection.selectAll('g.tick > text')\r\n .filter(tickValue => !tickValues.some((t) => isEqual(tickValue, t)))\r\n .classed(tickTextExiting, true);\r\n // We interrupt the transition on tick's <text> to make it 'wrappable'\r\n tickText.nodes().forEach(node => interrupt(node));\r\n const tickSize = axisGen.tickSize();\r\n const axisPosition = this.getPosition();\r\n const textMaxWidth = config.tickTextWidth || (config.type === AxisType.X ? this._containerWidth / (tickCount + 1) : this._containerWidth / 5);\r\n tickText.each((value, i, elements) => {\r\n var _a, _b;\r\n let text = (_b = (_a = config.tickFormat) === null || _a === void 0 ? void 0 : _a.call(config, value, i, tickValues)) !== null && _b !== void 0 ? _b : `${value}`;\r\n const textElement = elements[i];\r\n // Get and cache the tick text style\r\n if (!this._tickTextStyleCached) {\r\n const styleDeclaration = getComputedStyle(textElement);\r\n this._tickTextStyleCached = {\r\n fontSize: Number.parseFloat(styleDeclaration.fontSize),\r\n fontFamily: styleDeclaration.fontFamily,\r\n fontWidthToHeightRatio: getFontWidthToHeightRatio(),\r\n };\r\n }\r\n // Calculate the text offset based on the axis position and the tick size\r\n const [textOffsetX, textOffsetY] = this._getTickTextOffset(axisPosition, tickSize, this._tickTextStyleCached.fontSize);\r\n // Prepare the Unovis text options\r\n const textOptions = {\r\n verticalAlign: config.type === AxisType.X ? VerticalAlign.Top : VerticalAlign.Middle,\r\n width: textMaxWidth,\r\n textRotationAngle: config.tickTextAngle,\r\n separator: config.tickTextSeparator,\r\n wordBreak: config.tickTextForceWordBreak,\r\n x: textOffsetX,\r\n y: textOffsetY,\r\n };\r\n if (config.tickTextFitMode === FitMode.Trim) {\r\n const textElementSelection = select(textElement).text(text);\r\n trimSVGText(textElementSelection, textMaxWidth, config.tickTextTrimType, true, this._tickTextStyleCached.fontSize, 0.58);\r\n text = select(textElement).text();\r\n }\r\n const textBlock = Object.assign({ text }, this._tickTextStyleCached);\r\n const dominantBaseline = config.type === AxisType.X ? 'central' : 'hanging';\r\n renderTextToSvgTextElement(textElement, textBlock, textOptions, dominantBaseline);\r\n });\r\n selection\r\n .classed(axis, true)\r\n .classed(hideTickLine, !config.tickLine)\r\n .classed(hideDomain, !config.domainLine);\r\n if (config.fullSize) {\r\n const path = this._getFullDomainPath(0);\r\n smartTransition(selection.select('.domain'), duration).attr('d', path);\r\n }\r\n }\r\n _resolveTickLabelOverlap(selection = this.axisGroup) {\r\n const { config } = this;\r\n const tickTextSelection = selection.selectAll(`g.tick > text:not(.${tickTextExiting})`);\r\n if (!config.tickTextHideOverlapping) {\r\n tickTextSelection.style('opacity', null);\r\n return;\r\n }\r\n cancelAnimationFrame(this._collideTickLabelsAnimFrameId);\r\n // Colliding labels in the next frame to prevent forced reflow\r\n this._collideTickLabelsAnimFrameId = requestAnimationFrame(() => {\r\n this._collideTickLabels(tickTextSelection);\r\n });\r\n }\r\n _collideTickLabels(selection) {\r\n // Reset visibility of all labels\r\n selection.each((d, i, elements) => {\r\n const node = elements[i];\r\n node._visible = true;\r\n });\r\n // We do three iterations because not all overlapping labels can be resolved in the first iteration\r\n const numIterations = 3;\r\n for (let i = 0; i < numIterations; i += 1) {\r\n // Run collision detection and set labels visibility\r\n selection.each((d, i, elements) => {\r\n const label1 = elements[i];\r\n const isLabel1Visible = label1._visible;\r\n if (!isLabel1Visible)\r\n return;\r\n // Calculate bounding rect of point's label\r\n const label1BoundingRect = label1.getBoundingClientRect();\r\n for (let j = i + 1; j < elements.length; j += 1) {\r\n if (i === j)\r\n continue;\r\n const label2 = elements[j];\r\n const isLabel2Visible = label2._visible;\r\n if (isLabel2Visible) {\r\n const label2BoundingRect = label2.getBoundingClientRect();\r\n const intersect = rectIntersect(label1BoundingRect, label2BoundingRect, -5);\r\n if (intersect) {\r\n label2._visible = false;\r\n break;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n // Hide the overlapping labels\r\n selection.each((d, i, elements) => {\r\n const label = elements[i];\r\n select(label).style('opacity', label._visible ? 1 : 0);\r\n });\r\n }\r\n _getNumTicks() {\r\n const { config: { type, numTicks } } = this;\r\n if (numTicks)\r\n return numTicks;\r\n if (type === AxisType.X) {\r\n const xRange = this.xScale.range();\r\n const width = xRange[1] - xRange[0];\r\n return Math.floor(width / 175);\r\n }\r\n if (type === AxisType.Y) {\r\n const yRange = this.yScale.range();\r\n const height = Math.abs(yRange[0] - yRange[1]);\r\n return Math.pow(height, 0.85) / 25;\r\n }\r\n return this._defaultNumTicks;\r\n }\r\n _getConfiguredTickValues() {\r\n const { config } = this;\r\n const scale = config.type === AxisType.X ? this.xScale : this.yScale;\r\n const scaleDomain = scale === null || scale === void 0 ? void 0 : scale.domain();\r\n if (config.tickValues) {\r\n return config.tickValues.filter(v => (v >= scaleDomain[0]) && (v <= scaleDomain[1]));\r\n }\r\n return null;\r\n }\r\n _shouldRenderMinMaxTicksOnly() {\r\n const { config } = this;\r\n return config.minMaxTicksOnly || (config.type === AxisType.X && this._width < config.minMaxTicksOnlyWhenWidthIsLess);\r\n }\r\n _getFullDomainPath(tickSize = 0) {\r\n const { config: { type } } = this;\r\n switch (type) {\r\n case AxisType.X: return `M0.5, ${tickSize} V0.5 H${this._width + 0.5} V${tickSize}`;\r\n case AxisType.Y: return `M${-tickSize}, ${this._height + 0.5} H0.5 V0.5 H${-tickSize}`;\r\n }\r\n }\r\n _renderAxisLabel(selection = this.axisGroup) {\r\n var _a;\r\n const { type, label: label$1, labelMargin, labelFontSize, labelTextFitMode } = this.config;\r\n // Remove the old label first to calculate the axis size properly\r\n selection.selectAll(`.${label}`).remove();\r\n if (!label$1)\r\n return;\r\n // Calculate label position and rotation\r\n const axisPosition = this.getPosition();\r\n // We always use this.axisRenderHelperGroup to calculate the size of the axis because\r\n // this.axisGroup will give us incorrect values due to animation\r\n const { width: axisWidth, height: axisHeight } = (_a = this._axisRawBBox) !== null && _a !== void 0 ? _a : selection.node().getBBox();\r\n const rotation = type === AxisType.Y ? -90 : 0;\r\n // Create the text element (without transform first)\r\n const textElement = selection\r\n .append('text')\r\n .attr('class', label)\r\n .attr('dy', `${this._getLabelDY()}em`)\r\n .style('font-size', labelFontSize)\r\n .style('fill', this.config.labelColor);\r\n // Set the text content\r\n textElement.text(label$1);\r\n let isWrapped = false;\r\n if (labelTextFitMode === FitMode.Wrap) {\r\n // For Y-axis, use the chart height as the maximum width before rotation\r\n const maxWidth = type === AxisType.Y ? this._height : this._width;\r\n const currentTextWidth = textElement.node().getComputedTextLength();\r\n if (currentTextWidth > maxWidth) {\r\n wrapSVGText(textElement, maxWidth);\r\n isWrapped = true;\r\n }\r\n }\r\n // Calculate offset after wrapping to get accurate dimensions\r\n let labelWidth = axisWidth;\r\n let labelHeight = axisHeight;\r\n if (labelTextFitMode === FitMode.Wrap) {\r\n const labelBBox = textElement.node().getBBox();\r\n labelWidth = labelBBox.width;\r\n labelHeight = labelBBox.height;\r\n }\r\n else {\r\n const trimWidth = type === AxisType.X ? labelWidth : labelHeight;\r\n const styleDeclaration = getComputedStyle(textElement.node());\r\n const fontSize = Number.parseFloat(styleDeclaration.fontSize);\r\n // Use the default fontWidthToHeightRatio\r\n trimSVGText(textElement, trimWidth, this.config.labelTextTrimType, true, fontSize);\r\n const trimmedBBox = textElement.node().getBBox();\r\n labelWidth = trimmedBBox.width;\r\n labelHeight = trimmedBBox.height;\r\n }\r\n /*\r\n we need to calculate the offset for the label based on the position and the fit mode\r\n for offsetX, applying Y label we need to check if it's wrap or trim, then set the offset accordingly.\r\n Same for offsetY, need to consider x label.\r\n */\r\n const offsetX = type === AxisType.X\r\n ? this._width / 2\r\n : type === AxisType.Y && labelTextFitMode === FitMode.Wrap && isWrapped\r\n ? (axisPosition === Position.Left)\r\n ? -axisWidth - labelHeight / 2 - 10 // there's a 10px gap between tick label and Position.Right Y label, so offset as well in the Position.Left case\r\n : axisWidth\r\n : Math.pow((-1), (+(axisPosition === Position.Left))) * axisWidth;\r\n const offsetY = type === AxisType.Y\r\n ? this._height / 2\r\n : type === AxisType.X && labelTextFitMode === FitMode.Wrap\r\n ? (axisPosition === Position.Top) ? -axisHeight - labelHeight / 2 : axisHeight\r\n : Math.pow((-1), (+(axisPosition === Position.Top))) * axisHeight;\r\n const marginX = type === AxisType.X ? 0 : Math.pow((-1), (+(axisPosition === Position.Left))) * labelMargin;\r\n const marginY = type === AxisType.X ? Math.pow((-1), (+(axisPosition === Position.Top))) * labelMargin : 0;\r\n // Apply transform and rotation after all calculations\r\n textElement.attr('transform', `translate(${offsetX + marginX},${offsetY + marginY}) rotate(${rotation})`);\r\n }\r\n _getLabelDY() {\r\n const { type, position } = this.config;\r\n switch (type) {\r\n case AxisType.X:\r\n switch (position) {\r\n case Position.Top: return 0;\r\n case Position.Bottom:\r\n default: return 0.75;\r\n }\r\n case AxisType.Y:\r\n switch (position) {\r\n case Position.Right: return 0.75;\r\n case Position.Left:\r\n default: return -0.25;\r\n }\r\n }\r\n }\r\n _getTickTextOffset(axisPosition, tickSize, fontSize) {\r\n var _a;\r\n const { config } = this;\r\n const angleRad = ((_a = config.tickTextAngle) !== null && _a !== void 0 ? _a : 0) / 180 * Math.PI;\r\n const baseOffset = tickSize + config.tickPadding;\r\n if (config.type === AxisType.X) {\r\n const direction = axisPosition === Position.Bottom ? 1 : -1;\r\n return [\r\n direction * baseOffset * Math.sin(angleRad),\r\n direction * (baseOffset + fontSize / 2) * Math.cos(angleRad),\r\n ];\r\n }\r\n else {\r\n const direction = axisPosition === Position.Right ? 1 : -1;\r\n return [\r\n direction * baseOffset * Math.cos(angleRad),\r\n direction * baseOffset * Math.sin(angleRad),\r\n ];\r\n }\r\n }\r\n _alignTickLabels() {\r\n const { config: { type, tickTextAlign, tickTextAngle, position } } = this;\r\n const tickText = this.g.selectAll('g.tick > text');\r\n const textAnchor = textAlignToAnchor(tickTextAlign);\r\n const translateX = type === AxisType.X\r\n ? 0\r\n : this._getYTickTextTranslate(tickTextAlign, position);\r\n const translateValue = tickTextAngle ? `translate(${translateX},0) rotate(${tickTextAngle})` : `translate(${translateX},0)`;\r\n tickText\r\n .attr('transform', translateValue)\r\n .attr('text-anchor', textAnchor);\r\n }\r\n _getYTickTextTranslate(textAlign, axisPosition = Position.Left) {\r\n var _a, _b, _c, _d;\r\n /*\r\n Default in D3 is 9, tickPadding is the spacing in pixels between the tick and it's label. Default: `8`\r\n */\r\n const defaultTickTextSpacingPx = this.config.tickPadding + 1;\r\n // this._axisRawBBox will be undefined when autoMargin is undefined\r\n const width = ((_d = (_b = (_a = this._axisRawBBox) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : (_c = this.axisGroup.node()) === null || _c === void 0 ? void 0 : _c.getBBox().width) !== null && _d !== void 0 ? _d : 0) - defaultTickTextSpacingPx;\r\n switch (textAlign) {\r\n case TextAlign.Left: return axisPosition === Position.Left ? width * -1 : 0;\r\n case TextAlign.Right: return axisPosition === Position.Left ? 0 : width;\r\n case TextAlign.Center: return axisPosition === Position.Left ? width * (-0.5) : width * 0.5;\r\n default: return 0;\r\n }\r\n }\r\n}\r\nAxis.selectors = style;\n\nexport { Axis };\n//# sourceMappingURL=index.js.map\n","import { XYComponentDefaultConfig } from '../../core/xy-component/config.js';\n\nconst CrosshairDefaultConfig = Object.assign(Object.assign({}, XYComponentDefaultConfig), { yStacked: undefined, baseline: null, duration: 100, tooltip: undefined, template: (d, x, data, leftNearestDatumIndex) => '', hideWhenFarFromPointer: true, hideWhenFarFromPointerDistance: 100, snapToData: true, getCircles: undefined, color: undefined, strokeColor: undefined, strokeWidth: undefined, onCrosshairMove: undefined, forceShowAt: undefined, skipRangeCheck: false });\n\nexport { CrosshairDefaultConfig };\n//# sourceMappingURL=config.js.map\n","import { injectGlobal, css } from '@emotion/css';\n\nconst globalStyles = injectGlobal `\n :root {\n --vis-crosshair-line-stroke-color: #888;\n --vis-crosshair-line-stroke-width: 1px;\n --vis-crosshair-line-stroke-opacity: 1;\n --vis-crosshair-circle-stroke-color: #fff;\n --vis-crosshair-circle-stroke-width: 1px;\n --vis-crosshair-circle-stroke-opacity: 0.75;\n }\n`;\r\nconst root = css `\n label: crosshair-component;\n`;\r\nconst line = css `\n stroke: var(--vis-crosshair-line-stroke-color);\n stroke-width: var(--vis-crosshair-line-stroke-width);\n stroke-opacity: var(--vis-crosshair-line-stroke-opacity);\n pointer-events: none;\n`;\r\nconst circle = css `\n stroke: var(--vis-crosshair-circle-stroke-color);\n stroke-width: var(--vis-crosshair-circle-stroke-width);\n stroke-opacity: var(--vis-crosshair-circle-stroke-opacity);\n pointer-events: none;\n`;\n\nexport { circle, globalStyles, line, root };\n//# sourceMappingURL=style.js.map\n","import { pointer } from 'd3-selection';\nimport { easeLinear } from 'd3-ease';\nimport { XYComponentCore } from '../../core/xy-component/index.js';\nimport { isArray, isNumber, getNearest, clamp, getNumber, isFunction, getStackedValues } from '../../utils/data.js';\nimport { smartTransition } from '../../utils/d3.js';\nimport { getColor } from '../../utils/color.js';\nimport { Position } from '../../types/position.js';\nimport { FindNearestDirection } from '../../types/data.js';\nimport { CrosshairDefaultConfig } from './config.js';\nimport * as style from './style.js';\nimport { line, circle } from './style.js';\n\nclass Crosshair extends XYComponentCore {\r\n constructor(config) {\r\n super();\r\n this.clippable = true; // Don't apply clipping path to this component. See XYContainer\r\n this._defaultConfig = CrosshairDefaultConfig;\r\n this.config = this._defaultConfig;\r\n this._xPx = undefined;\r\n this._yPx = undefined;\r\n this._mouseEvent = undefined;\r\n this._animFrameId = null;\r\n /** Accessors passed externally (e.g. from XYContainer) */\r\n this._accessors = {\r\n x: undefined,\r\n y: undefined,\r\n yStacked: undefined,\r\n baseline: undefined,\r\n };\r\n if (config)\r\n this.setConfig(config);\r\n this.g.style('opacity', 0);\r\n this.line = this.g.append('line')\r\n .attr('class', line);\r\n }\r\n set accessors(accessors) { this._accessors = accessors; }\r\n get accessors() {\r\n var _a;\r\n const { config } = this;\r\n const hasConfig = !!(config.x || config.y || config.yStacked);\r\n const x = hasConfig ? config.x : this._accessors.x;\r\n const yAcc = hasConfig ? config.y : this._accessors.y;\r\n const y = yAcc ? (isArray(yAcc) ? yAcc : [yAcc]) : undefined;\r\n const yStacked = hasConfig ? config.yStacked : this._accessors.yStacked;\r\n const baseline = (_a = config.baseline) !== null && _a !== void 0 ? _a : this._accessors.baseline;\r\n return { x, y, yStacked, baseline };\r\n }\r\n _isContainerInViewport() {\r\n var _a;\r\n if (!((_a = this.container) === null || _a === void 0 ? void 0 : _a.node()))\r\n return false;\r\n const containerRect = this.container.node().getBoundingClientRect();\r\n const viewportWidth = window.innerWidth || document.documentElement.clientWidth;\r\n const viewportHeight = window.innerHeight || document.documentElement.clientHeight;\r\n // Calculate the visible area of the container\r\n const visibleWidth = Math.max(0, Math.min(containerRect.right, viewportWidth) - Math.max(containerRect.left, 0));\r\n const visibleHeight = Math.max(0, Math.min(containerRect.bottom, viewportHeight) - Math.max(containerRect.top, 0));\r\n const containerArea = containerRect.width * containerRect.height;\r\n const visibleArea = visibleWidth * visibleHeight;\r\n // Container must be at least 35% visible\r\n return containerArea > 0 && (visibleArea / containerArea) >= 0.35;\r\n }\r\n setContainer(containerSvg) {\r\n if (this.container === containerSvg)\r\n return;\r\n this.container = containerSvg;\r\n this.container.on('mousemove.crosshair', this._onMouseMove.bind(this));\r\n this.container.on('mouseout.crosshair', this._onMouseOut.bind(this));\r\n this.container.on('wheel.crosshair', this._onWheel.bind(this));\r\n }\r\n _render(customDuration) {\r\n var _a, _b, _c, _d, _e;\r\n const { config, datamodel } = this;\r\n const duration = isNumber(customDuration) ? customDuration : config.duration;\r\n const isForceShowAtDefined = config.forceShowAt !== undefined;\r\n const xPx = isForceShowAtDefined ? this.xScale(config.forceShowAt) : this._xPx;\r\n const xValue = this.xScale.invert(xPx);\r\n const leftNearestDatumIndex = (((_a = datamodel.data) === null || _a === void 0 ? void 0 : _a.length) && this.accessors.x)\r\n ? datamodel.data.indexOf(getNearest(datamodel.data, xValue, this.accessors.x, FindNearestDirection.Left)) : undefined;\r\n // If `snapToData` is `true`, we need to find the nearest datum to the crosshair\r\n // It can be from a mouse interaction or from a `forceShowAt` setting\r\n let nearestDatum;\r\n let nearestDatumIndex;\r\n if (config.snapToData) {\r\n if (!this.accessors.y && !this.accessors.yStacked && ((_b = datamodel.data) === null || _b === void 0 ? void 0 : _b.length)) {\r\n console.warn('Unovis | Crosshair: Y accessors have not been configured. Please check if they\\'re present in the configuration object');\r\n }\r\n // Emit a warning if there's no data to snap to.\r\n // To keep the console clean, only emit the warning when there's mouse interaction.\r\n if (!((_c = datamodel.data) === null || _c === void 0 ? void 0 : _c.length) && this._mouseEvent) {\r\n console.warn('Unovis | Crosshair: No data to snap to. Make sure the data has been passed to the container or to the crosshair itself');\r\n }\r\n nearestDatum = getNearest(datamodel.data, xValue, this.accessors.x);\r\n nearestDatumIndex = datamodel.data.indexOf(nearestDatum);\r\n }\r\n const xRange = this.xScale.range();\r\n const yRange = this.yScale.range();\r\n const xClamped = config.snapToData && nearestDatum\r\n ? clamp(Math.round(this.xScale(getNumber(nearestDatum, this.accessors.x, nearestDatumIndex))), 0, this._width)\r\n : clamp(xPx, xRange[0], xRange[1]);\r\n const isCrosshairWithinXRange = (xPx >= xRange[0]) && (xPx <= xRange[1]);\r\n const isCrosshairWithinYRange = (this._yPx >= Math.min(yRange[0], yRange[1])) && (this._yPx <= Math.max(yRange[0], yRange[1]));\r\n let shouldShow = config.skipRangeCheck ? !!this._xPx : (this._xPx ? isCrosshairWithinXRange && isCrosshairWithinYRange : isCrosshairWithinXRange);\r\n // If the crosshair is far from the mouse pointer (usually when `snapToData` is `true` and data resolution is low), hide it\r\n if (config.hideWhenFarFromPointer && ((Math.abs(xClamped - (+xPx)) >= config.hideWhenFarFromPointerDistance))) {\r\n shouldShow = false;\r\n }\r\n const tooltip = (_d = config.tooltip) !== null && _d !== void 0 ? _d : this.tooltip;\r\n if (shouldShow && tooltip && this._isContainerInViewport()) {\r\n const container = tooltip.getContainer() || this.container.node();\r\n const isContainerBody = tooltip.isContainerBody();\r\n const nearestDatumXValue = this.accessors.x ? getNumber(nearestDatum, this.accessors.x, nearestDatumIndex) : undefined;\r\n if (isForceShowAtDefined) {\r\n // Convert SVG coordinates to screen coordinates\r\n const containerRect = this.container.node().getBoundingClientRect();\r\n // Use the actual left margin from the container\r\n const screenX = (isContainerBody ? xPx + containerRect.left : xPx) + this._containerMargin.left;\r\n const screenY = this._height / 2 + (isContainerBody ? containerRect.top : 0);\r\n const pos = [screenX, screenY];\r\n this._showTooltip(nearestDatum, nearestDatumXValue, pos, leftNearestDatumIndex);\r\n }\r\n else if (this._mouseEvent) {\r\n const pos = (isContainerBody ? [this._mouseEvent.clientX, this._mouseEvent.clientY] : pointer(this._mouseEvent, container));\r\n this._showTooltip(nearestDatum, nearestDatumXValue, pos, leftNearestDatumIndex);\r\n }\r\n }\r\n else\r\n this._hideTooltip();\r\n // Trigger `onCrosshairMove` if the render was triggered by a mouse move event\r\n if (this._mouseEvent) {\r\n (_e = config.onCrosshairMove) === null || _e === void 0 ? void 0 : _e.call(config, shouldShow ? this.xScale.invert(this._xPx) : undefined, nearestDatum, nearestDatumIndex, this._mouseEvent);\r\n this._mouseEvent = undefined;\r\n }\r\n smartTransition(this.g, duration)\r\n .style('opacity', shouldShow ? 1 : 0);\r\n // When `config.forceShowAt` becomes `undefined`, the crosshair \"jumps\" to the edge of the chart.\r\n // This looks off, so we stop further rendering when the `xPx` value is not finite.\r\n if (!isFinite(xPx))\r\n return;\r\n this.line\r\n .attr('y1', 0)\r\n .attr('y2', this._height);\r\n smartTransition(this.line, duration, easeLinear)\r\n .attr('x1', xClamped)\r\n .attr('x2', xClamped);\r\n const circleData = isFunction(config.getCircles)\r\n ? config.getCircles(xValue, datamodel.data, this.yScale, leftNearestDatumIndex)\r\n : this.getCircleData(nearestDatum, nearestDatumIndex);\r\n const circles = this.g\r\n .selectAll('circle')\r\n .data(circleData, (d, i) => { var _a; return (_a = d.id) !== null && _a !== void 0 ? _a : i; });\r\n const circlesEnter = circles.enter()\r\n .append('circle')\r\n .attr('class', circle)\r\n .attr('r', 0)\r\n .attr('cx', xClamped)\r\n .attr('cy', d => d.y)\r\n .style('fill', d => d.color)\r\n .style('stroke', d => d.strokeColor)\r\n .style('stroke-width', d => d.strokeWidth);\r\n smartTransition(circlesEnter.merge(circles), duration, easeLinear)\r\n .attr('cx', xClamped)\r\n .attr('cy', d => d.y)\r\n .attr('r', 4)\r\n .style('opacity', d => d.opacity)\r\n .style('fill', d => d.color)\r\n .style('stroke', d => d.strokeColor)\r\n .style('stroke-width', d => d.strokeWidth);\r\n circles.exit().remove();\r\n }\r\n hide(sourceEvent) {\r\n window.cancelAnimationFrame(this._animFrameId);\r\n this._animFrameId = window.requestAnimationFrame(() => {\r\n var _a, _b;\r\n this._xPx = undefined;\r\n this._yPx = undefined;\r\n this._mouseEvent = undefined;\r\n // We call `onCrosshairMove` with all the arguments set to `undefined` because we want\r\n // the users to be able to hide the crosshair easily when using `forceShowAt`\r\n (_b = (_a = this.config).onCrosshairMove) === null || _b === void 0 ? void 0 : _b.call(_a, undefined, undefined, undefined, sourceEvent);\r\n this._render();\r\n });\r\n }\r\n _onMouseMove(event) {\r\n var _a;\r\n const { datamodel, element } = this;\r\n if (!this.accessors.x && ((_a = datamodel.data) === null || _a === void 0 ? void 0 : _a.length)) {\r\n console.warn('Unovis | Crosshair: X accessor function has not been configured. Please check if it\\'s present in the configuration object');\r\n }\r\n const [x, y] = pointer(event, element);\r\n this._xPx = x;\r\n this._yPx = y;\r\n this._mouseEvent = event;\r\n window.cancelAnimationFrame(this._animFrameId);\r\n this._animFrameId = window.requestAnimationFrame(() => {\r\n // We'll call `config.onCrosshairMove` in `_render` with the found `nearestDatum` and `nearestDatumIndex`,\r\n // which can come from the mouse interaction or from the `forceShowAt` setting\r\n this._render();\r\n });\r\n }\r\n _onMouseOut(event) {\r\n var _a;\r\n // Only hide if the mouse actually left the SVG, not just moved to a child\r\n if (!event || !((_a = this.container) === null || _a === void 0 ? void 0 : _a.node().contains(event.relatedTarget))) {\r\n this.hide(event);\r\n }\r\n }\r\n _onWheel(event) {\r\n this.hide(event);\r\n }\r\n _showTooltip(datum, xValue, pos, nearestDatumIndex) {\r\n var _a;\r\n const { config, datamodel } = this;\r\n const tooltip = (_a = config.tooltip) !== null && _a !== void 0 ? _a : this.tooltip;\r\n if (!tooltip || !pos)\r\n return;\r\n const [x, y] = pos;\r\n const content = config.template(datum, xValue, datamodel.data, nearestDatumIndex);\r\n // Force set `followCursor` to `true` because we don't want Crosshair's tooltip to be hoverable\r\n tooltip.config.followCursor = true;\r\n // Set tooltip placement based on Crosshair's position (left / right)\r\n if (!tooltip.config.horizontalPlacement || tooltip.config.horizontalPlacement === Position.Auto) {\r\n const xRelative = tooltip.isContainerBody() ? x - this.container.node().getBoundingClientRect().left : x;\r\n tooltip.overrideHorizontalPlacement(xRelative > this._containerWidth / 2 ? Position.Left : Position.Right);\r\n }\r\n if (content)\r\n tooltip.show(content, { x, y });\r\n }\r\n _hideTooltip() {\r\n var _a;\r\n const { config } = this;\r\n const tooltip = (_a = config.tooltip) !== null && _a !== void 0 ? _a : this.tooltip;\r\n tooltip === null || tooltip === void 0 ? void 0 : tooltip.hide();\r\n }\r\n // We don't want Crosshair to be be taken in to account in domain calculations\r\n getYDataExtent() {\r\n return [undefined, undefined];\r\n }\r\n getCircleData(datum, datumIndex) {\r\n var _a, _b;\r\n const { config } = this;\r\n if (config.snapToData && datum) {\r\n const yAccessors = (_a = this.accessors.y) !== null && _a !== void 0 ? _a : [];\r\n const yStackedAccessors = (_b = this.accessors.yStacked) !== null && _b !== void 0 ? _b : [];\r\n const baselineValue = getNumber(datum, this.accessors.baseline, datumIndex) || 0;\r\n const stackedValues = getStackedValues(datum, datumIndex, ...yStackedAccessors)\r\n .map((value, index) => ({\r\n y: this.yScale(value + baselineValue),\r\n opacity: isNumber(getNumber(datum, yStackedAccessors[index], index)) ? 1 : 0,\r\n color: getColor(datum, config.color, index),\r\n strokeColor: config.strokeColor ? getColor(datum, config.strokeColor, index) : undefined,\r\n strokeWidth: config.strokeWidth ? getNumber(datum, config.strokeWidth, index) : undefined,\r\n }));\r\n const regularValues = yAccessors\r\n .map((a, index) => {\r\n const value = getNumber(datum, a, datumIndex);\r\n return {\r\n y: this.yScale(value),\r\n opacity: isNumber(value) ? 1 : 0,\r\n color: getColor(datum, config.color, stackedValues.length + index),\r\n strokeColor: config.strokeColor ? getColor(datum, config.strokeColor, index) : undefined,\r\n strokeWidth: config.strokeWidth ? getNumber(datum, config.strokeWidth, index) : undefined,\r\n };\r\n });\r\n return stackedValues.concat(regularValues);\r\n }\r\n return [];\r\n }\r\n}\r\nCrosshair.selectors = style;\n\nexport { Crosshair };\n//# sourceMappingURL=index.js.map\n","import { ComponentDefaultConfig } from '../../core/component/config.js';\n\n// Core\r\nconst DonutDefaultConfig = Object.assign(Object.assign({}, ComponentDefaultConfig), { id: (d, i) => { var _a; return (_a = d.id) !== null && _a !== void 0 ? _a : i; }, value: undefined, angleRange: [0, 2 * Math.PI], padAngle: 0, sortFunction: undefined, cornerRadius: 0, color: undefined, radius: undefined, arcWidth: 20, centralLabel: undefined, centralSubLabel: undefined, centralSubLabelWrap: true, showEmptySegments: false, emptySegmentAngle: 0.5 * Math.PI / 180, showBackground: true, backgroundAngleRange: undefined, centralLabelOffsetX: undefined, centralLabelOffsetY: undefined });\n\nexport { DonutDefaultConfig };\n//# sourceMappingURL=config.js.map\n","import { interpolate } from 'd3-interpolate';\nimport { getColor } from '../../../utils/color.js';\nimport { smartTransition } from '../../../utils/d3.js';\n\nfunction createArc(selection, config) {\r\n selection\r\n .style('fill', d => getColor(d.data, config.color, d.index))\r\n .style('opacity', 0)\r\n .each((d, i, els) => {\r\n const arcNode = els[i];\r\n const angleCenter = (d.startAngle + d.endAngle) / 2;\r\n const angleHalfWidth = (d.endAngle - d.startAngle) / 2;\r\n arcNode._animState = {\r\n startAngle: angleCenter - angleHalfWidth,\r\n endAngle: angleCenter + angleHalfWidth,\r\n innerRadius: d.innerRadius,\r\n outerRadius: d.outerRadius,\r\n padAngle: d.padAngle,\r\n };\r\n });\r\n}\r\nfunction updateArc(selection, config, arcGen, duration) {\r\n selection\r\n .style('transition', `fill ${duration}ms`) // Animate color with CSS because we're using CSS-variables\r\n .style('fill', d => getColor(d.data, config.color, d.index));\r\n const setOpacity = (d) => (config.showEmptySegments || d.value) ? 1 : 0;\r\n if (duration) {\r\n const transition = smartTransition(selection, duration)\r\n .style('opacity', setOpacity);\r\n transition.attrTween('d', (d, i, els) => {\r\n const arcNode = els[i];\r\n const nextAnimState = {\r\n startAngle: d.startAngle,\r\n endAngle: d.endAngle,\r\n innerRadius: d.innerRadius,\r\n outerRadius: d.outerRadius,\r\n padAngle: d.padAngle,\r\n };\r\n const datum = interpolate(arcNode._animState, nextAnimState);\r\n return (t) => {\r\n arcNode._animState = datum(t);\r\n return arcGen(arcNode._animState);\r\n };\r\n });\r\n }\r\n else {\r\n selection\r\n .attr('d', arcGen)\r\n .style('opacity', setOpacity);\r\n }\r\n}\r\nfunction removeArc(selection, duration) {\r\n smartTransition(selection, duration)\r\n .style('opacity', 0)\r\n .remove();\r\n}\n\nexport { createArc, removeArc, updateArc };\n//# sourceMappingURL=arc.js.map\n","const DONUT_HALF_ANGLE_RANGES = Array.from({ length: 4 }, (_, i) => {\r\n const offset = -Math.PI / 2 + i * Math.PI / 2;\r\n return [offset, offset + Math.PI];\r\n});\r\nconst [DONUT_HALF_ANGLE_RANGE_TOP, DONUT_HALF_ANGLE_RANGE_RIGHT, DONUT_HALF_ANGLE_RANGE_BOTTOM, DONUT_HALF_ANGLE_RANGE_LEFT,] = DONUT_HALF_ANGLE_RANGES;\n\nexport { DONUT_HALF_ANGLE_RANGES, DONUT_HALF_ANGLE_RANGE_BOTTOM, DONUT_HALF_ANGLE_RANGE_LEFT, DONUT_HALF_ANGLE_RANGE_RIGHT, DONUT_HALF_ANGLE_RANGE_TOP };\n//# sourceMappingURL=constants.js.map\n","import { css, injectGlobal } from '@emotion/css';\n\nconst root = css `\n label: donut-component;\n`;\r\nconst variables = injectGlobal `\n :root {\n --vis-donut-central-label-font-size: 16px;\n --vis-donut-central-label-text-color: #5b5f6d;\n // Undefined by default to allow proper fallback to var(--vis-font-family)\n /* --vis-donut-central-label-font-family: */\n --vis-donut-central-label-font-weight: 600;\n\n --vis-donut-central-sub-label-font-size: 12px;\n --vis-donut-central-sub-label-text-color: #5b5f6d;\n // Undefined by default to allow proper fallback to var(--vis-font-family)\n /* --vis-donut-central-sub-label-font-family: */\n --vis-donut-central-sub-label-font-weight: 500;\n\n --vis-donut-background-color: #E7E9F3;\n --vis-donut-segment-stroke-width: 0;\n // The line segment color variable is not defined by default\n // to allow it to fallback to the donut background color\n /* --vis-donut-segment-stroke-color: none; */\n\n --vis-dark-donut-central-label-text-color: #C2BECE;\n --vis-dark-donut-central-sub-label-text-color: #C2BECE;\n --vis-dark-donut-background-color: #18160C;\n }\n\n body.theme-dark ${`.${root}`} {\n --vis-donut-central-label-text-color: var(--vis-dark-donut-central-label-text-color);\n --vis-donut-central-sub-label-text-color: var(--vis-dark-donut-central-sub-label-text-color);\n --vis-donut-background-color: var(--vis-dark-donut-background-color);\n }\n`;\r\nconst background = css `\n label: background;\n fill: var(--vis-donut-background-color);\n`;\r\nconst segment = css `\n label: segment;\n stroke-width: var(--vis-donut-segment-stroke-width);\n stroke: var(--vis-donut-segment-stroke-color, var(--vis-donut-background-color));\n`;\r\nconst segmentExit = css `\n label: segment-exit;\n`;\r\nconst centralLabel = css `\n label: central-label;\n text-anchor: middle;\n dominant-baseline: middle;\n font-size: var(--vis-donut-central-label-font-size);\n font-family: var(--vis-donut-central-label-font-family, var(--vis-font-family));\n font-weight: var(--vis-donut-central-label-font-weight);\n fill: var(--vis-donut-central-label-text-color);\n`;\r\nconst centralSubLabel = css `\n label: central-label;\n text-anchor: middle;\n dominant-baseline: middle;\n font-size: var(--vis-donut-central-sub-label-font-size);\n font-family: var(--vis-donut-central-sub-label-font-family, var(--vis-font-family));\n font-weight: var(--vis-donut-central-sub-label-font-weight);\n fill: var(--vis-donut-central-sub-label-text-color);\n`;\n\nexport { background, centralLabel, centralSubLabel, root, segment, segmentExit, variables };\n//# sourceMappingURL=style.js.map\n","import { arc, pie } from 'd3-shape';\nimport { ComponentCore } from '../../core/component/index.js';\nimport { SeriesDataModel } from '../../data-models/series.js';\nimport { smartTransition } from '../../utils/d3.js';\nimport { getNumber, isNumber, clamp } from '../../utils/data.js';\nimport { wrapSVGText } from '../../utils/text.js';\nimport { DonutDefaultConfig } from './config.js';\nimport { createArc, updateArc, removeArc } from './modules/arc.js';\nimport { DONUT_HALF_ANGLE_RANGES } from './constants.js';\nimport * as style from './style.js';\nimport { centralLabel, centralSubLabel, segment, segmentExit, background } from './style.js';\n\nclass Donut extends ComponentCore {\r\n constructor(config) {\r\n super();\r\n this._defaultConfig = DonutDefaultConfig;\r\n this.config = this._defaultConfig;\r\n this.datamodel = new SeriesDataModel();\r\n this.arcGen = arc();\r\n this.events = {};\r\n if (config)\r\n this.setConfig(config);\r\n this.arcBackground = this.g.append('path');\r\n this.arcGroup = this.g.append('g');\r\n this.centralLabel = this.g.append('text')\r\n .attr('class', centralLabel);\r\n this.centralSubLabel = this.g.append('text')\r\n .attr('class', centralSubLabel);\r\n }\r\n get bleed() {\r\n return { top: 0, bottom: 0, left: 0, right: 0 };\r\n }\r\n _render(customDuration) {\r\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\r\n const { config, datamodel, bleed } = this;\r\n // Wrap data to preserve original indices\r\n const data = datamodel.data\r\n .map((d, i) => ({\r\n index: i,\r\n datum: d,\r\n }))\r\n .filter(d => config.showEmptySegments || getNumber(d.datum, config.value, d.index));\r\n const duration = isNumber(customDuration) ? customDuration : config.duration;\r\n // Handle half-donut cases, which adjust the scaling and positioning.\r\n // One of these is true if we are dealing with a half-donut.\r\n const [isHalfDonutTop, isHalfDonutRight, isHalfDonutBottom, isHalfDonutLeft,] = DONUT_HALF_ANGLE_RANGES.map(angleRange => config.angleRange && (config.angleRange[0] === angleRange[0] &&\r\n config.angleRange[1] === angleRange[1]));\r\n const isVerticalHalfDonut = isHalfDonutTop || isHalfDonutBottom;\r\n const isHorizontalHalfDonut = isHalfDonutRight || isHalfDonutLeft;\r\n // Compute the bounding box of the donut,\r\n // considering it may be a half-donut\r\n const width = this._width * (isHorizontalHalfDonut ? 2 : 1);\r\n const height = this._height * (isVerticalHalfDonut ? 2 : 1);\r\n const outerRadius = config.radius || Math.min(width - bleed.left - bleed.right, height - bleed.top - bleed.bottom) / 2;\r\n const innerRadius = config.arcWidth === 0 ? 0 : clamp(outerRadius - config.arcWidth, 0, outerRadius - 1);\r\n const translateY = this._height / 2 + (isHalfDonutTop ? outerRadius / 2 : isHalfDonutBottom ? -outerRadius / 2 : 0);\r\n const translateX = this._width / 2 + (isHalfDonutLeft ? outerRadius / 2 : isHalfDonutRight ? -outerRadius / 2 : 0);\r\n const translate = `translate(${translateX},${translateY})`;\r\n this.arcGroup.attr('transform', translate);\r\n this.arcGen\r\n .startAngle(d => d.startAngle)\r\n .endAngle(d => d.endAngle)\r\n .innerRadius(d => d.innerRadius)\r\n .outerRadius(d => d.outerRadius)\r\n .padAngle(d => d.padAngle)\r\n .cornerRadius(config.cornerRadius);\r\n const pieGen = pie()\r\n .startAngle((_b = (_a = config.angleRange) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : 0)\r\n .endAngle((_d = (_c = config.angleRange) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : 2 * Math.PI)\r\n .padAngle(config.padAngle)\r\n .value(d => getNumber(d.datum, config.value, d.index) || 0)\r\n .sort((a, b) => { var _a; return (_a = config.sortFunction) === null || _a === void 0 ? void 0 : _a.call(config, a.datum, b.datum); });\r\n const arcData = pieGen(data).map(d => {\r\n const arc = Object.assign(Object.assign({}, d), { data: d.data.datum, index: d.data.index, innerRadius,\r\n outerRadius });\r\n if (config.showEmptySegments && d.endAngle - d.startAngle - d.padAngle <= Number.EPSILON) {\r\n arc.endAngle = d.startAngle + Math.max(config.emptySegmentAngle, config.padAngle);\r\n arc.padAngle = d.padAngle / 2;\r\n }\r\n return arc;\r\n });\r\n // Arc segments\r\n const arcsSelection = this.arcGroup\r\n .selectAll(`.${segment}`)\r\n .data(arcData, (d) => config.id(d.data, d.index));\r\n const arcsEnter = arcsSelection.enter().append('path')\r\n .attr('class', segment)\r\n .call(createArc, config);\r\n const arcsMerged = arcsSelection.merge(arcsEnter);\r\n arcsMerged.call(updateArc, config, this.arcGen, duration);\r\n arcsMerged.sort((a, b) => b.value - a.value);\r\n arcsSelection.exit()\r\n .attr('class', segmentExit)\r\n .call(removeArc, duration);\r\n // Label\r\n const labelTextAnchor = isHalfDonutRight ? 'start' : isHalfDonutLeft ? 'end' : 'middle';\r\n this.centralLabel\r\n .attr('dy', config.centralSubLabel ? '-0.55em' : null)\r\n .style('text-anchor', labelTextAnchor)\r\n .text((_e = config.centralLabel) !== null && _e !== void 0 ? _e : null);\r\n this.centralSubLabel\r\n .attr('dy', config.centralLabel ? '0.55em' : null)\r\n .style('text-anchor', labelTextAnchor)\r\n .text((_f = config.centralSubLabel) !== null && _f !== void 0 ? _f : null);\r\n if (config.centralSubLabelWrap)\r\n wrapSVGText(this.centralSubLabel, innerRadius * 1.9);\r\n // Label placement\r\n const labelTranslateX = (config.centralLabelOffsetX || 0) + translateX;\r\n let labelTranslateY = (config.centralLabelOffsetY || 0) + translateY;\r\n // Special case label placement for half donut\r\n if (isVerticalHalfDonut && config.centralLabelOffsetX === undefined && config.centralLabelOffsetY === undefined) {\r\n const halfDonutLabelOffsetY = isHalfDonutTop\r\n ? -this.centralSubLabel.node().getBoundingClientRect().height\r\n : isHalfDonutBottom\r\n ? this.centralLabel.node().getBoundingClientRect().height\r\n : 0;\r\n labelTranslateY = halfDonutLabelOffsetY + translateY;\r\n }\r\n const labelTranslate = `translate(${labelTranslateX},${labelTranslateY})`;\r\n this.centralLabel.attr('transform', labelTranslate);\r\n this.centralSubLabel.attr('transform', labelTranslate);\r\n // Background\r\n this.arcBackground.attr('class', background)\r\n .attr('visibility', config.showBackground ? null : 'hidden')\r\n .attr('transform', translate);\r\n smartTransition(this.arcBackground, duration)\r\n .attr('d', this.arcGen({\r\n startAngle: (_k = (_h = (_g = config.backgroundAngleRange) === null || _g === void 0 ? void 0 : _g[0]) !== null && _h !== void 0 ? _h : (_j = config.angleRange) === null || _j === void 0 ? void 0 : _j[0]) !== null && _k !== void 0 ? _k : 0,\r\n endAngle: (_p = (_m = (_l = config.backgroundAngleRange) === null || _l === void 0 ? void 0 : _l[1]) !== null && _m !== void 0 ? _m : (_o = config.angleRange) === null || _o === void 0 ? void 0 : _o[1]) !== null && _p !== void 0 ? _p : 2 * Math.PI,\r\n innerRadius,\r\n outerRadius,\r\n }));\r\n }\r\n}\r\nDonut.selectors = style;\n\nexport { Donut };\n//# sourceMappingURL=index.js.map\n"],"names":["ComponentType","Sizing","FindNearestDirection","isNumber","a","isFunction","isArray","isObject","isAClassInstance","isPlainObject","isEmpty","obj","isEqual","b","skipKeys","visited","i","keysA","key","keysB","flatten","arr","cloneDeep","stack","clone","item","objAsRecord","newObj","merge","obj1","obj2","throttle","f","delay","options","throttle$1","getValue","d","accessor","index","getString","getNumber","clean","data","clamp","min","max","getStackedValues","acs","values","positiveStack","negativeStack","value","getMin","getMax","getExtent","getNearest","direction","dataWithIndexSorted","j","bisectLeft","bisectRight","filterDataByRange","range","includeNeighbors","filteredData","nearestLeft","nearestRight","firstFilteredItem","lastFilteredItem","firstFilteredIndex","lastFilteredIndex","startIndex","endIndex","ResizeObserver","ResizeObserver$1","ContainerDefaultConfig","ContainerCore","element","container","select","config","_a","duration","width","height","containerRect","entries","observer","resizedContainerRect","resizedContainerSize","insertWithoutScoping","cache","serialized","registered","css","className","registeredStyles","rawClassName","getRegisteredStyles","createEmotion","createCache","_len","args","_key","serializeStyles","insertStyles","keyframes","_len2","_key2","animation","injectGlobal","_len3","_key3","cx","_len4","_key4","classnames","ids","cls","arg","toAdd","k","_createEmotion","guid","s4","cssVariableCache","getCSSVariableValue","s","context","variableName","elementCache","rectIntersect","rect1","rect2","tolerancePx","left1","top1","right1","bottom1","left2","top2","right2","bottom2","colors","colorsDark","getCSSColorVariable","suffix","getLighterColor","hex","percentage","c","hsl","getDarkerColor","percentageL","percentageS","PATTERN_SIZE_PX","fills","lines","getPatternVariable","p","maskDef","markerDef","injectSVGDefs","svgDefs","svg","UNOVIS_FONT_WH_RATIO_DEFAULT","UNOVIS_TEXT_SEPARATOR_DEFAULT","UNOVIS_TEXT_HYPHEN_CHARACTER_DEFAULT","UNOVIS_TEXT_DEFAULT","_","getFontWidthToHeightRatio","smartTransition","selection","easing","node","interrupt","transition","SingleContainerDefaultConfig","SingleContainer","preventRender","containerConfig","tooltip","annotations","componentConfig","component","extendedSizeComponent","componentWidth","_b","fitToWidth","componentHeight","scale","currentWidth","currentHeight","scaledWidth","scaledHeight","animated","CoreDataModel","AxisType","Scale","scaleLinear","scalePow","scaleSqrt","scaleLog","scaleSymlog","scaleIdentity","scaleTime","scaleUtc","scaleSequential","scaleDiverging","scaleQuantize","scaleQuantile","scaleThreshold","scaleOrdinal","scaleBand","scalePoint","ScaleDimension","Direction","XYContainerDefaultConfig","XYContainer","highlightFilterId","baseUrl","margin","_c","_d","_e","components","crosshair","componentConfigs","customDuration","_f","clipPathExtension","yAccessors","yStackedAccessors","baselineComponentConfig","baselineAccessor","componentsWithDomain","dimension","_g","_h","extent","configuredDomain","configuredDomainMinConstraint","configuredDomainMaxConstraint","domainMin","domainMax","domain","hasDataProvided","isYDirectionSouth","xRange","yRange","bleed","xAxis","yAxis","axis","offset","numIterations","axisMargin","m","ComponentDefaultConfig","ComponentCore","type","rootClass","containerWidth","containerHeight","ANIMATING_ATTR","attributeMap","attr","events","eventType","event","els","eventFunction","SeriesDataModel","XYComponentDefaultConfig","XYComponentCore","scaleByVisibleData","datamodel","xDomain","Position","PositionStrategy","Arrangement","Orientation","TooltipDefaultConfig","root","variables","positionFixed","show","hidden","nonInteractive","Tooltip","html","pos","tooltipWidth","tooltipHeight","horizontalPlacement","verticalPlacement","translateX","translateY","top","left","hoveredElement","isContainerBody","hoveredElementRect","elementPos","pointer","placement","prevConfig","x","y","paddingX","hitRight","hitLeft","constrainedLeft","paddingY","hitBottom","hitTop","constrainedTop","e","currentConfig","path","template","el","content","attributesMap","style","getColor","dontFallbackToCssVar","CurveType","Curve","curveBasis","curveBasisClosed","curveBasisOpen","curveBundle","curveCardinal","curveCardinalClosed","curveCardinalOpen","curveCatmullRom","curveCatmullRomClosed","curveCatmullRomOpen","curveLinear","curveLinearClosed","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","LineDefaultConfig","globalStyles","line","linePath","lineSelectionHelper","dim","interpolatedPath","Line","lineWidth","yDomain","isLineThick","isLineVeryThick","lineDataX","lineData","ld","rawValue","defined","def","validGap","gaps","acc","isEndpoint","visible","line$1","linesEnter","linesMerged","elements","group","linePath$1","lineSelectionHelper$1","lineGaps","isLineVisible","dashArray","hasUndefinedSegments","svgPathD","previous","next","interpolatePath","datum","roundedRectPath","w","h","tl","tr","bl","br","roundedR","angularR","GroupedBarDefaultConfig","bar","barGroup","barGroupExit","GroupedBar","isHorizontalAndFlipped","dataDomain","halfGroupWidth","dataScaleValues","firstDataValue","lastDataValue","firstValuePx","lastValuePx","dataDomainRequiredStart","dataDomainRequiredEnd","bleedPxStart","bleedPxEnd","groupWidth","innerBandScaleRange","innerBandScale","barGroups","getBarGroupsTransform","v","barGroupsMerged","barGroupExit$1","barWidth","bars","valueAxisDirection","barsMerged","isNegative","dir","dataScale","xHalfGroupWidth","cornerRadius","cornerRadiusClamped","isNorthDirected","roundedTop","roundedBottom","roundedLeft","roundedRight","isOrdinal","dataSize","TrimMode","VerticalAlign","FitMode","TextAlign","getTextAnchorFromTextAlign","textAlign","textAlignToAnchor","kebabCaseToCamel","str","letter","kebabCase","escapeStringKeepHash","trimStringStart","maxLength","trimStringMiddle","dist","trimStringEnd","trimString","length","result","splitString","text","separators","sep","separated","words","word","wrapSVGText","textElement","separator","tspan","tspanContent","tspanText","trimSVGText","svgTextSelection","maxWidth","trimType","fastMode","fontSize","fontWidthToHeightRatio","textLength","textWidth","maxCharacters","estimateStringPixelLength","getPreciseStringLengthPx","fontFamily","svgNS","breakTextIntoLines","textBlock","wordBreak","minCharactersOnLine","breakIndex","subLine","getWrappedText","textArrays","t","textWrapped","block","firstBlock","blocks","prevBlock","prevBlockMarginBottomPx","marginTopPx","effectiveMarginPx","dh","lineWithEllipsis","textLengthPx","renderTextToTspanStrings","dominantBaseline","prevBlockMarginBottomEm","marginTopEm","marginEm","attributes","dy","estimateWrappedTextHeight","sum","allowedSvgTextTags","renderTextToSvgTextElement","wrappedText","textElementX","textElementY","parser","svgCode","svgCodeSanitized","striptags","parsedSvgCode","AxisDefaultConfig","getCssVarNames","cssVarsObject","prefix","defaultPrefix","injectGlobalCssVariables","componentRootClassName","cssVarDefaults","hideTickLine","hideDomain","grid","tick","tickTextExiting","label","tickLabel","tickLabelHideable","Axis","axisRenderHelperGroup","position","axisSize","xEnd","right","bleedY","bottom","containerMargin","gridGen","tickPadding","ticks","axisTop","axisBottom","axisRight","axisLeft","numTicks","gridScale","scaleDomain","getGridMinMaxTicksOnlyValues","tickValues","tickValuesStep","domainMaxValue","axisGen","axisScale","tickCount","tickText","tickValue","tickSize","axisPosition","textMaxWidth","styleDeclaration","textOffsetX","textOffsetY","textOptions","textElementSelection","tickTextSelection","label1","label1BoundingRect","label2","label2BoundingRect","label$1","labelMargin","labelFontSize","labelTextFitMode","axisWidth","axisHeight","rotation","isWrapped","labelWidth","labelHeight","labelBBox","trimWidth","trimmedBBox","offsetX","offsetY","marginX","marginY","angleRad","baseOffset","tickTextAlign","tickTextAngle","textAnchor","translateValue","defaultTickTextSpacingPx","CrosshairDefaultConfig","leftNearestDatumIndex","circle","Crosshair","accessors","hasConfig","yAcc","yStacked","baseline","viewportWidth","viewportHeight","visibleWidth","visibleHeight","containerArea","visibleArea","containerSvg","isForceShowAtDefined","xPx","xValue","nearestDatum","nearestDatumIndex","xClamped","isCrosshairWithinXRange","isCrosshairWithinYRange","shouldShow","nearestDatumXValue","screenX","screenY","easeLinear","circleData","circles","circlesEnter","sourceEvent","xRelative","datumIndex","baselineValue","stackedValues","regularValues","DonutDefaultConfig","createArc","arcNode","angleCenter","angleHalfWidth","updateArc","arcGen","setOpacity","nextAnimState","interpolate","removeArc","DONUT_HALF_ANGLE_RANGES","DONUT_HALF_ANGLE_RANGE_TOP","DONUT_HALF_ANGLE_RANGE_RIGHT","DONUT_HALF_ANGLE_RANGE_BOTTOM","DONUT_HALF_ANGLE_RANGE_LEFT","background","segment","segmentExit","centralLabel","centralSubLabel","Donut","arc","_j","_k","_l","_m","_o","_p","isHalfDonutTop","isHalfDonutRight","isHalfDonutBottom","isHalfDonutLeft","angleRange","isVerticalHalfDonut","isHorizontalHalfDonut","outerRadius","innerRadius","translate","arcData","pie","arcsSelection","arcsEnter","arcsMerged","labelTextAnchor","labelTranslateX","labelTranslateY","labelTranslate"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAIA;AAAA,CACH,SAAUA,GAAe;AAEtB,EAAAA,EAAcA,EAAc,MAAS,CAAC,IAAI,OAE1CA,EAAcA,EAAc,OAAU,CAAC,IAAI;AAC/C,GAAGA,OAAkBA,KAAgB,CAAA,EAAG;AACxC,IAAIC;AAAA,CACH,SAAUA,GAAQ;AACf,EAAAA,EAAO,MAAS,OAChBA,EAAO,SAAY,UACnBA,EAAO,WAAc;AACzB,GAAGA,MAAWA,IAAS,CAAA,EAAG;ACZ1B,IAAIC;AAAA,CACH,SAAUA,GAAsB;AAC7B,EAAAA,EAAqB,OAAU,QAC/BA,EAAqB,QAAW,SAChCA,EAAqB,OAAU;AACnC,GAAGA,MAAyBA,IAAuB,CAAA,EAAG;ACDtD,MAAMC,IAAW,CAACC,MAAM,OAAOA,KAAM,UAE/BC,KAAa,CAACD,MAAM,OAAOA,KAAM,YAIjCE,KAAU,CAACF,MAAM,MAAM,QAAQA,CAAC,GAChCG,KAAW,CAACH,MAAOA,aAAa,QAChCI,KAAmB,CAACJ,MAAMA,EAAE,YAAY,SAAS,cAAcA,EAAE,YAAY,SAAS,UACtFK,KAAgB,CAACL,MAAMG,GAASH,CAAC,KAAK,CAACE,GAAQF,CAAC,KAAK,CAACC,GAAWD,CAAC,KAAK,CAACI,GAAiBJ,CAAC,GAC1FM,KAAU,CAACC,MACN,CAAC,QAAQ,KAAK,EAAE,UAAUA,KAAO,CAAA,GAAI,WAAW,KACnD,CAAC,OAAO,QAASA,KAAO,CAAA,CAAE,EAAG,QAG/BC,IAAU,CAACR,GAAGS,GAAGC,IAAW,CAAA,GAAIC,IAAU,oBAAI,UAAU;AAC1D,MAAI,MAAM,QAAQX,CAAC,GAAG;AAClB,QAAI,CAAC,MAAM,QAAQS,CAAC,KAAKT,EAAE,WAAWS,EAAE;AACpC,aAAO;AACX,QAAIE,EAAQ,IAAIX,CAAC;AACb,aAAO;AAEP,IAAAW,EAAQ,IAAIX,CAAC;AACjB,aAASY,IAAI,GAAGA,IAAIZ,EAAE,QAAQY;AAC1B,UAAI,CAACJ,EAAQR,EAAEY,CAAC,GAAGH,EAAEG,CAAC,GAAGF,GAAUC,CAAO;AACtC,eAAO;AAEf,WAAO;AAAA,EACX;AACA,MAAIX,aAAa,QAAQS,aAAa;AAClC,WAAOT,EAAE,QAAO,MAAOS,EAAE,QAAO;AAEpC,MAAI,OAAOT,KAAM,YAAYA,MAAM,QAAQS,MAAM,MAAM;AACnD,QAAM,OAAOA,KAAM;AACf,aAAO;AACX,QAAIT,MAAMS;AACN,aAAO;AACX,UAAMI,IAAQ,OAAO,KAAKb,CAAC,EAAE,OAAO,CAAAc,MAAO,CAACJ,EAAS,SAASI,CAAG,CAAC,GAC5DC,IAAQ,OAAO,KAAKN,CAAC,EAAE,OAAO,CAAAK,MAAO,CAACJ,EAAS,SAASI,CAAG,CAAC;AAClE,QAAID,EAAM,WAAWE,EAAM;AACvB,aAAO;AACX,QAAIJ,EAAQ,IAAIX,CAAC;AACb,aAAO;AAEP,IAAAW,EAAQ,IAAIX,CAAC;AACjB,eAAWc,KAAOD;AACd,UAAI,CAACL,EAAQR,EAAEc,CAAG,GAAGL,EAAEK,CAAG,GAAGJ,GAAUC,CAAO;AAC1C,eAAO;AAEf,WAAO;AAAA,EACX;AACA,SAAOX,MAAMS;AACjB,GAEMO,KAAU,CAACC,MAAQA,EAAI,KAAI,GAC3BC,KAAY,CAACX,GAAKY,IAAQ,oBAAI,IAAG,MAAO;AAC1C,MAAI,OAAOZ,KAAQ,YAAYA,MAAQ;AACnC,WAAOA;AAEX,MAAIA,aAAe;AACf,WAAO,IAAI,KAAKA,EAAI,QAAO,CAAE;AAEjC,MAAIA,aAAe,OAAO;AACtB,UAAMa,IAAQ,CAAA;AACd,IAAAD,EAAM,IAAIZ,GAAKa,CAAK;AACpB,eAAWC,KAAQd;AACf,MAAAa,EAAM,KAAKD,EAAM,IAAIE,CAAI,IAAIF,EAAM,IAAIE,CAAI,IAAIH,GAAUG,GAAMF,CAAK,CAAC;AAEzE,WAAOC;AAAA,EACX;AAEA,MAAIhB,GAAiBG,CAAG;AAEpB,WADcA;AAGlB,MAAIA,aAAe,QAAQ;AACvB,UAAMa,IAAQ,CAAA;AACd,IAAAD,EAAM,IAAIZ,GAAKa,CAAK;AACpB,UAAME,IAAcf;AACpB,kBAAO,KAAKA,CAAG,EACV,OAAO,CAACgB,GAAQT,OACjBS,EAAOT,CAAG,IAAIK,EAAM,IAAIG,EAAYR,CAAG,CAAC,IAAIK,EAAM,IAAIG,EAAYR,CAAG,CAAC,IAAII,GAAUI,EAAYR,CAAG,GAAGK,CAAK,GACpGI,IACRH,CAAK,GACDA;AAAA,EACX;AACA,SAAOb;AACX,GACMiB,KAAQ,CAACC,GAAMC,GAAMf,IAAU,oBAAI,IAAG,MAAO;AAG/C,MAFI,CAACc,KAAQ,CAACC,KAEVD,MAASC;AACT,WAAOD;AACX,QAAMF,IAAUnB,GAAiBqB,CAAI,IAAIA,IAAOP,GAAUO,CAAI;AAE9D,SAAId,EAAQ,IAAIe,CAAI,IACTf,EAAQ,IAAIe,CAAI,KAEvBf,EAAQ,IAAIe,GAAMH,CAAM,GAC5B,OAAO,KAAKG,CAAI,EAAE,QAAQ,CAAAZ,MAAO;AAE7B,IAAIA,MAAQ,eAAeA,MAAQ,kBAE/BT,GAAcoB,EAAKX,CAAG,CAAC,KAAKT,GAAcqB,EAAKZ,CAAG,CAAC,IACnDS,EAAOT,CAAG,IAAIU,GAAMC,EAAKX,CAAG,GAAGY,EAAKZ,CAAG,GAAGH,CAAO,IAE5CP,GAAiBsB,CAAI,IAC1BH,EAAOT,CAAG,IAAIY,IAGdH,EAAOT,CAAG,IAAII,GAAUQ,EAAKZ,CAAG,CAAC;AAAA,EAEzC,CAAC,GACMS;AACX,GAeMI,KAAW,CAACC,GAAGC,GAAOC,MAAYC,GAAWF,GAAOD,CAAU;AACpE,SAASI,GAASC,GAAGC,GAAUC,GAAO;AAElC,SAAIlC,GAAWiC,CAAQ,IACZA,EAASD,GAAGE,CAAK,IAEjBD;AACf;AACA,SAASE,GAAUH,GAAGC,GAAUtB,GAAG;AAC/B,SAAOoB,GAASC,GAAGC,GAAUtB,CAAC;AAClC;AACA,SAASyB,EAAUJ,GAAGC,GAAUtB,GAAG;AAC/B,SAAOoB,GAASC,GAAGC,GAAUtB,CAAC;AAClC;AAIA,SAAS0B,GAAMC,GAAM;AACjB,SAAOA,EAAK,OAAO,CAAAN,MAAKA,KAAK,CAAClC,EAASkC,CAAC,CAAC;AAC7C;AACA,SAASO,EAAMP,GAAGQ,GAAKC,GAAK;AACxB,SAAO,KAAK,IAAI,KAAK,IAAIT,GAAGQ,CAAG,GAAGC,CAAG;AACzC;AAyCA,SAASC,GAAiBV,GAAGE,MAAUS,GAAK;AACxC,QAAMC,IAAS,CAAA;AACf,MAAIC,IAAgB,GAChBC,IAAgB;AACpB,aAAW,KAAKH,GAAK;AACjB,UAAMI,IAAQX,EAAUJ,GAAG,GAAGE,CAAK,KAAK;AACxC,IAAIa,KAAS,IACTH,EAAO,KAAKC,KAAiBE,CAAK,IAGlCH,EAAO,KAAKE,KAAiBC,CAAK;AAAA,EAE1C;AACA,SAAOH;AACX;AA4BA,SAASI,GAAOV,MAASK,GAAK;AAC1B,SAAKL,IAEYE,GAAIF,GAAM,CAACN,GAAGrB,MAAM6B,GAAIG,GAAK,CAAA5C,MAAKqC,EAAUJ,GAAGjC,GAAGY,CAAC,CAAC,CAAC,IADlE;AAGR;AACA,SAASsC,GAAOX,MAASK,GAAK;AAC1B,SAAKL,IAEYG,GAAIH,GAAM,CAACN,GAAGrB,MAAM8B,GAAIE,GAAK,CAAA5C,MAAKqC,EAAUJ,GAAGjC,GAAGY,CAAC,CAAC,CAAC,IADlE;AAGR;AACA,SAASuC,GAAUZ,MAASK,GAAK;AAC7B,SAAO,CAACK,GAAOV,GAAM,GAAGK,CAAG,GAAGM,GAAOX,GAAM,GAAGK,CAAG,CAAC;AACtD;AACA,SAASQ,GAAWb,GAAMS,GAAOd,GAAUmB,IAAYvD,EAAqB,MAAM;AAC9E,MAAIyC,EAAK,UAAU;AACf,WAAOA,EAAK,CAAC;AAEjB,QAAMe,IADgBf,EAAK,IAAI,CAACN,GAAGrB,MAAO,CAACqB,GAAGrB,CAAC,CAAE,EAE5C,KAAK,CAAC,CAACZ,GAAGY,CAAC,GAAG,CAACH,GAAG8C,CAAC,MAAMlB,EAAUrC,GAAGkC,GAAUtB,CAAC,IAAIyB,EAAU5B,GAAGyB,GAAUqB,CAAC,CAAC,GAC7EV,IAASS,EAAoB,IAAI,CAAC,CAACrB,GAAGrB,CAAC,MAAMyB,EAAUJ,GAAGC,GAAUtB,CAAC,CAAC,GACtEuB,IAAQkB,MAAcvD,EAAqB,QAC3C0D,GAAWX,GAAQG,GAAO,GAAGT,EAAK,SAAS,CAAC,IAC5CkB,GAAYZ,GAAQG,GAAO,GAAGT,EAAK,MAAM;AAC/C,SAAIc,MAAcvD,EAAqB,QAC5BwD,EAAoBnB,CAAK,EAAE,CAAC,IAE9BkB,MAAcvD,EAAqB,OACjCwD,EAAoBnB,IAAQ,CAAC,EAAE,CAAC,IAGpCa,IAAQH,EAAOV,IAAQ,CAAC,IAAIU,EAAOV,CAAK,IAAIa,IAAQM,EAAoBnB,CAAK,EAAE,CAAC,IAAImB,EAAoBnB,IAAQ,CAAC,EAAE,CAAC;AAC/H;AACA,SAASuB,GAAkBnB,GAAMoB,GAAOzB,GAAU0B,IAAmB,IAAO;AACxE,MAAI,CAAC1B;AACD,WAAO;AACX,QAAM2B,IAAetB,EAAK,OAAO,CAACN,GAAGrB,MAAM;AACvC,UAAMoC,IAAQX,EAAUJ,GAAGC,GAAUtB,CAAC;AACtC,WAAQoC,KAASW,EAAM,CAAC,KAAOX,KAASW,EAAM,CAAC;AAAA,EACnD,CAAC;AACD,MAAIC,GAAkB;AAElB,QAAIC,EAAa,WAAW,GAAG;AAC3B,YAAMC,IAAcV,GAAWb,GAAMoB,EAAM,CAAC,GAAGzB,GAAUpC,EAAqB,IAAI,GAC5EiE,IAAeX,GAAWb,GAAMoB,EAAM,CAAC,GAAGzB,GAAUpC,EAAqB,KAAK;AACpF,aAAO,CAACgE,GAAaC,CAAY,EAAE,OAAO,OAAO;AAAA,IACrD;AAEA,UAAMC,IAAoBH,EAAa,CAAC,GAClCI,IAAmBJ,EAAaA,EAAa,SAAS,CAAC,GACvDK,IAAqB3B,EAAK,UAAU,CAAC,MAAM,MAAMyB,CAAiB,GAClEG,IAAoB5B,EAAK,UAAU,CAAC,MAAM,MAAM0B,CAAgB,GAEhEG,IAAa,KAAK,IAAI,GAAGF,IAAqB,CAAC,GAC/CG,IAAW,KAAK,IAAI9B,EAAK,SAAS,GAAG4B,IAAoB,CAAC;AAEhE,WAAO5B,EAAK,MAAM6B,GAAYC,IAAW,CAAC;AAAA,EAC9C;AACA,SAAOR;AACX;ACxSA,MAAMS,KAAiB,WAAW,kBAAkBC,ICC9CC,KAAyB;AAAA,EAC3B,UAAU;AAAA,EACV,QAAQ;AAAA,IACJ,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,EACf;AAAA,EACI,SAAS;AAAA,IACL,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,EACf;AAAA,EACI,QAAQ3E,EAAO;AAAA,EACf,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,WAAW;AACf;AChBA,MAAM4E,GAAc;AAAA,EAChB,YAAYC,GAAS;AACjB,SAAK,iBAAiBF,IACtB,KAAK,iBAAiB,IACtB,KAAK,0BAA0B,MAC/B,KAAK,aAAaE;AAElB,UAAMC,IAAYC,EAAO,KAAK,UAAU;AACxC,IAAAD,EAAU,KAAK,QAAQ,QAAQ,GAE/B,KAAK,MAAMA,EAAU,OAAO,KAAK,EAG5B,MAAM,WAAW,OAAO,EACxB,KAAK,SAAS,4BAA4B,EAC1C,KAAK,UAAUF,GAAc,wBAAwB,EACrD,KAAK,eAAe,EAAI,GAC7B,KAAK,WAAW,KAAK,IAAI,OAAO,MAAM,GACtC,KAAK,mBAAmB,KAAK,IAAI,OAAO,MAAM,GAC9C,KAAK,UAAU,KAAK,IAAI,KAAI;AAAA,EAChC;AAAA,EACA,gBAAgBI,GAAQ;AACpB,QAAIC;AAEJ,SAAK,aAAa,KAAK,QACvB,KAAK,SAAStD,GAAM,KAAK,gBAAgBqD,CAAM,GAEMA,GAAO,cAAeC,IAAK,KAAK,gBAAgB,QAAQA,MAAO,SAAS,SAASA,EAAG,aACrI,KAAK,iBAAiB,UAAU,GAAG,EAAE,OAAM,GAC3C,KAAK,iBAAiB,KAAKD,EAAO,OAAO;AAAA,EAEjD;AAAA;AAAA;AAAA;AAAA,EAIA,aAAa;AAAA,EAAE;AAAA;AAAA,EAEf,QAAQE,GAAU;AACd,UAAM,EAAE,QAAAF,EAAM,IAAK;AAEnB,IAAAD,EAAO,KAAK,UAAU,EACjB,KAAK,cAAcC,EAAO,SAAS,GACxC,KAAK,iBAAiB;AAAA,EAC1B;AAAA;AAAA;AAAA,EAGA,OAAOE,IAAW,KAAK,OAAO,UAAU;AACpC,UAAMC,IAAQ,KAAK,OAAO,SAAS,KAAK,gBAClCC,IAAS,KAAK,OAAO,UAAU,KAAK;AAI1C,SAAK,IACA,KAAK,SAASD,CAAK,EACnB,KAAK,UAAUC,CAAM,GAGrB,KAAK,mBACN,KAAK,qBAAoB,GAE7B,qBAAqB,KAAK,uBAAuB,GACjD,KAAK,0BAA0B,sBAAsB,MAAM;AACvD,WAAK,WAAU,GACf,KAAK,QAAQF,CAAQ;AAAA,IACzB,CAAC;AAAA,EACL;AAAA,EACA,IAAI,iBAAiB;AACjB,WAAO,KAAK,OAAO,QACb,KAAK,QAAQ,cACZ,KAAK,WAAW,eAAe,KAAK,WAAW,sBAAqB,EAAG;AAAA,EAClF;AAAA,EACA,IAAI,kBAAkB;AAClB,WAAO,KAAK,OAAO,SACb,KAAK,QAAQ,eACZ,KAAK,WAAW,gBAAgB,KAAK,WAAW,sBAAqB,EAAG,UAAUN,GAAc;AAAA,EAC3G;AAAA,EACA,IAAI,QAAQ;AACR,WAAOjC,EAAM,KAAK,iBAAiB,KAAK,OAAO,OAAO,OAAO,KAAK,OAAO,OAAO,OAAO,GAAG,OAAO,iBAAiB;AAAA,EACtH;AAAA,EACA,IAAI,SAAS;AACT,WAAOA,EAAM,KAAK,kBAAkB,KAAK,OAAO,OAAO,MAAM,KAAK,OAAO,OAAO,QAAQ,GAAG,OAAO,iBAAiB;AAAA,EACvH;AAAA,EACA,qBAAqB;AACjB,WAAO,KAAK,QAAQ;AAChB,WAAK,QAAQ,YAAY,KAAK,QAAQ,UAAU;AAAA,EAExD;AAAA,EACA,YAAY;AACR,UAAM,EAAE,QAAAqC,EAAM,IAAK;AAEnB,KADuBA,EAAO,WAAWhF,EAAO,OAAOgF,EAAO,WAAWhF,EAAO,aAE5E,KAAK,OAAO,CAAC;AAAA,EACrB;AAAA,EACA,uBAAuB;AACnB,QAAI,KAAK;AACL;AACJ,UAAMqF,IAAgB,KAAK,WAAW,sBAAqB;AAC3D,SAAK,iBAAiB,EAAE,OAAOA,EAAc,OAAO,QAAQA,EAAc,UAC1E,KAAK,kBAAkB,IAAIZ,GAAe,CAACa,GAASC,MAAa;AAG7D,2BAAqB,KAAK,+BAA+B,GACzD,KAAK,kCAAkC,sBAAsB,MAAM;AAC/D,cAAMC,IAAuB,KAAK,WAAW,sBAAqB,GAC5DC,IAAuB,EAAE,OAAOD,EAAqB,OAAO,QAAQA,EAAqB;AAI/F,QAHuB,CAAC7E,EAAQ,KAAK,gBAAgB8E,CAAoB,KAGnDA,EAAqB,SAASA,EAAqB,WACrE,KAAK,iBAAiBA,GACtB,KAAK,UAAS;AAAA,MAEtB,CAAC;AAAA,IACL,CAAC,GACD,KAAK,gBAAgB,QAAQ,KAAK,UAAU;AAAA,EAChD;AAAA,EACA,UAAU;AACN,QAAIR;AACJ,yBAAqB,KAAK,uBAAuB,GACjD,qBAAqB,KAAK,+BAA+B,IACxDA,IAAK,KAAK,qBAAqB,QAAQA,MAAO,UAAkBA,EAAG,cACpE,KAAK,IAAI;EACb;AACJ;AAEAL,GAAc,2BAA2B;AC/HzC,SAASc,GAAqBC,GAAOC,GAAY;AAC/C,MAAID,EAAM,SAASC,EAAW,IAAI,MAAM;AACtC,WAAOD,EAAM,OAAO,IAAIC,GAAYD,EAAM,OAAO,EAAI;AAEzD;AAEA,SAAShE,GAAMkE,GAAYC,GAAKC,GAAW;AACzC,MAAIC,IAAmB,CAAA,GACnBC,IAAeC,GAAoBL,GAAYG,GAAkBD,CAAS;AAE9E,SAAIC,EAAiB,SAAS,IACrBD,IAGFE,IAAeH,EAAIE,CAAgB;AAC5C;AAEA,IAAIG,KAAgB,SAAuBlE,GAAS;AAClD,MAAI0D,IAAQS,GAAYnE,CAAO;AAE/B,EAAA0D,EAAM,MAAM,SAAS,SAAUxC,GAAO;AAEpC,SAAK,WAAWA;AAAA,EAClB,GAEAwC,EAAM,SAAS;AAEf,MAAIG,IAAM,WAAe;AACvB,aAASO,IAAO,UAAU,QAAQC,IAAO,IAAI,MAAMD,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,MAAAD,EAAKC,CAAI,IAAI,UAAUA,CAAI;AAG7B,QAAIX,IAAaY,GAAgBF,GAAMX,EAAM,YAAY,MAAS;AAClE,WAAAc,GAAad,GAAOC,CAAiB,GAC9BD,EAAM,MAAM,MAAMC,EAAW;AAAA,EACtC,GAEIc,IAAY,WAAqB;AACnC,aAASC,IAAQ,UAAU,QAAQL,IAAO,IAAI,MAAMK,CAAK,GAAGC,IAAQ,GAAGA,IAAQD,GAAOC;AACpF,MAAAN,EAAKM,CAAK,IAAI,UAAUA,CAAK;AAG/B,QAAIhB,IAAaY,GAAgBF,GAAMX,EAAM,UAAU,GACnDkB,IAAY,eAAejB,EAAW;AAC1C,WAAAF,GAAqBC,GAAO;AAAA,MAC1B,MAAMC,EAAW;AAAA,MACjB,QAAQ,gBAAgBiB,IAAY,MAAMjB,EAAW,SAAS;AAAA,IACpE,CAAK,GACMiB;AAAA,EACT,GAEIC,IAAe,WAAwB;AACzC,aAASC,IAAQ,UAAU,QAAQT,IAAO,IAAI,MAAMS,CAAK,GAAGC,IAAQ,GAAGA,IAAQD,GAAOC;AACpF,MAAAV,EAAKU,CAAK,IAAI,UAAUA,CAAK;AAG/B,QAAIpB,IAAaY,GAAgBF,GAAMX,EAAM,UAAU;AACvD,IAAAD,GAAqBC,GAAOC,CAAU;AAAA,EACxC,GAEIqB,IAAK,WAAc;AACrB,aAASC,IAAQ,UAAU,QAAQZ,IAAO,IAAI,MAAMY,CAAK,GAAGC,IAAQ,GAAGA,IAAQD,GAAOC;AACpF,MAAAb,EAAKa,CAAK,IAAI,UAAUA,CAAK;AAG/B,WAAOxF,GAAMgE,EAAM,YAAYG,GAAKsB,GAAWd,CAAI,CAAC;AAAA,EACtD;AAEA,SAAO;AAAA,IACL,KAAKR;AAAA,IACL,IAAImB;AAAA,IACJ,cAAcH;AAAA,IACd,WAAWJ;AAAA,IACX,SAAS,SAAiBW,GAAK;AAC7B,MAAAA,EAAI,QAAQ,SAAUpG,GAAK;AACzB,QAAA0E,EAAM,SAAS1E,CAAG,IAAI;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,IACA,OAAO,WAAiB;AACtB,MAAA0E,EAAM,aAAa,CAAA,GACnBA,EAAM,WAAW,CAAA,GACjBA,EAAM,MAAM,MAAK;AAAA,IACnB;AAAA,IACA,OAAOA,EAAM;AAAA,IACb,OAAOA;AAAA,IACP,qBAAqBO,GAAoB,KAAK,MAAMP,EAAM,UAAU;AAAA,IACpE,OAAOhE,GAAM,KAAK,MAAMgE,EAAM,YAAYG,CAAG;AAAA,EACjD;AACA,GAEIsB,KAAa,SAASA,EAAWd,GAAM;AAGzC,WAFIgB,IAAM,IAED,IAAI,GAAG,IAAIhB,EAAK,QAAQ,KAAK;AACpC,QAAIiB,IAAMjB,EAAK,CAAC;AAChB,QAAIiB,KAAO,MACX;AAAA,UAAIC,IAAQ;AAEZ,cAAQ,OAAOD,GAAG;AAAA,QAChB,KAAK;AACH;AAAA,QAEF,KAAK,UACH;AACE,cAAI,MAAM,QAAQA,CAAG;AACnB,YAAAC,IAAQJ,EAAWG,CAAG;AAAA,eACjB;AACL,YAAAC,IAAQ;AAER,qBAASC,KAAKF;AACZ,cAAIA,EAAIE,CAAC,KAAKA,MACZD,MAAUA,KAAS,MACnBA,KAASC;AAAA,UAGf;AAEA;AAAA,QACF;AAAA,QAEF;AAEI,UAAAD,IAAQD;AAAA,MAElB;AAEI,MAAIC,MACFF,MAAQA,KAAO,MACfA,KAAOE;AAAA;AAAA,EAEX;AAEA,SAAOF;AACT,GCpIII,KAAiBvB,GAAc;AAAA,EACjC,KAAK;AACP,CAAC,GAMGW,IAAeY,GAAe,cAE9B5B,IAAM4B,GAAe;ACZzB,SAASC,KAAO;AACZ,QAAMC,IAAK,MAAM,KAAK,OAAO,IAAI,OAAO,gBAAgB,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,KAAO,EACpF,SAAS,EAAE,EACX,UAAU,CAAC;AAChB,SAAO,GAAGA,EAAE,IAAKA,EAAE,CAAE,IAAIA,EAAE,CAAE,IAAIA,EAAE,CAAE,IAAIA,EAAE,CAAE,IAAIA,EAAE,CAAE,GAAGA,GAAI,GAAGA,EAAE,CAAE;AACvE;AAOA,MAAMC,KAAmB,oBAAI;AAC7B,SAASC,GAAoBC,GAAGC,GAAS;AAGrC,QAAMC,IAAeF,EAAE,OAAO,GAAGA,EAAE,SAAS,CAAC;AAC7C,MAAIG,IAAeL,GAAiB,IAAIG,CAAO;AAK/C,MAJKE,MACDA,IAAe,oBAAI,OACnBL,GAAiB,IAAIG,GAASE,CAAY,IAE1CA,EAAa,IAAID,CAAY;AAC7B,WAAOC,EAAa,IAAID,CAAY;AAExC,QAAM9E,IAAQ,iBAAiB6E,CAAO,EAAE,iBAAiBC,CAAY;AACrE,SAAAC,EAAa,IAAID,GAAc9E,CAAK,GAC7BA;AACX;AAQA,SAASgF,GAAcC,GAAOC,GAAOC,IAAc,GAAG;AAClD,QAAM,CAACC,GAAOC,GAAMC,GAAQC,CAAO,IAAI;AAAA,IACnCN,EAAM,IAAIE;AAAA,IACVF,EAAM,IAAIA,EAAM,SAAS,IAAIE;AAAA,IAC7BF,EAAM,IAAIA,EAAM,QAAQ,IAAIE;AAAA,IAC5BF,EAAM,IAAIE;AAAA,EAClB,GACU,CAACK,GAAOC,GAAMC,GAAQC,CAAO,IAAI;AAAA,IACnCT,EAAM,IAAIC;AAAA,IACVD,EAAM,IAAIA,EAAM,SAAS,IAAIC;AAAA,IAC7BD,EAAM,IAAIA,EAAM,QAAQ,IAAIC;AAAA,IAC5BD,EAAM,IAAIC;AAAA,EAClB;AACI,SAAO,EAAEE,IAAOM,KAAWF,IAAOF,KAAWD,IAASE,KAASE,IAASN;AAC5E;ACjDA,MAAMQ,KAAkE,YAAW,iBAAkB,CAAC,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,GAChKC,KAAsE,YAAW,sBAAuB,CAAC,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,GAEzKC,IAAsB,CAACC,MAClB,SAAShJ,EAASgJ,CAAM,IAAI,QAAQA,IAASH,GAAO,MAAM,KAAKG,CAAM;AAEhF,SAASC,GAAgBC,GAAKC,IAAa,KAAK;AAC5C,QAAMC,IAAIC,GAAIH,CAAG;AACjB,SAAAE,EAAE,IAAIA,EAAE,KAAK,IAAID,IACVC,EAAE;AACb;AACA,SAASE,GAAeJ,GAAKK,IAAc,KAAKC,IAAc,KAAK;AAC/D,QAAMJ,IAAIC,GAAIH,CAAG;AACjB,SAAAE,EAAE,IAAIA,EAAE,KAAK,IAAII,IACjBJ,EAAE,IAAIA,EAAE,KAAK,IAAIG,IACVH,EAAE;AACb;AClBA,MAAMK,KAAkB,IAClBC,KAAQ;AAAA,EACV,EAAE,IAAI,oBAAoB,KAAK,kEAAiE;AAAA,EAChG,EAAE,IAAI,QAAQ,KAAK,+HAA8H;AAAA,EACjJ,EAAE,IAAI,oBAAoB,KAAK,yCAAwC;AAAA,EACvE,EAAE,IAAI,cAAc,KAAK,mDAAkD;AAAA,EAC3E,EAAE,IAAI,SAAS,KAAK,2EAA0E;AAAA,EAC9F,EAAE,IAAI,WAAW,KAAK,0DAAyD;AACnF,GACMC,KAAQ;AAAA,EACV,EAAE,IAAI,UAAU,QAAQ,iCAAiC,WAAW,CAAA,EAAE;AAAA,EACtE,EAAE,IAAI,YAAY,QAAQ,+BAA+B,WAAW,CAAC,GAAG,CAAC,EAAC;AAAA,EAC1E,EAAE,IAAI,WAAW,QAAQ,8CAA8C,WAAW,CAAC,CAAC,EAAC;AAAA,EACrF,EAAE,IAAI,SAAS,QAAQ,2CAA2C,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,EAAC;AAAA,EACzF,EAAE,IAAI,UAAU,QAAQ,4CAA4C,WAAW,CAAC,CAAC,EAAC;AAAA,EAClF,EAAE,IAAI,QAAQ,QAAQ,oCAAoC,WAAW,CAAC,GAAG,CAAC,EAAC;AAC/E;AACA,SAASC,EAAmBC,GAAG;AAC3B,SAAO,OAAO,WAAWA,EAAE,MAAM,SAAS,QAAQ,EAAE,IAAIA,EAAE,EAAE;AAChE;AACA,MAAMC,KAAU,CAACD,MAAM,aAAaD,EAAmBC,CAAC,CAAC;AAAA,mBACtCA,EAAE,EAAE,gCAAgCJ,EAAe,aAAaA,EAAe;AAAA;AAAA,QAE1FI,EAAE,GAAG;AAAA;AAAA,oEAEuDA,EAAE,EAAE;AAAA,YAElEE,KAAY,CAACF,GAAGhJ,MAAM,eAAe+I,EAAmBC,CAAC,CAAC;AAAA,gBAChDd,EAAoBlI,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA,mBAInB4I,EAAe;AAAA,oBACdA,EAAe;AAAA,MAC7BI,EAAE,MAAM;AAAA;AAGd,SAASG,KAAgB;AACrB,QAAMC,IAAUP,GAAM,IAAII,EAAO,EAAE,OAAOH,GAAM,IAAII,EAAS,CAAC,EAAE,KAAK,EAAE,GACjEG,IAAM,SAAS,gBAAgB,8BAA8B,KAAK;AACxE,EAAAA,EAAI,aAAa,UAAU,MAAM,GACjCA,EAAI,aAAa,SAAS,MAAM,GAChCA,EAAI,MAAM,WAAW,SACrBA,EAAI,MAAM,SAAS,aACnBA,EAAI,YAAY,SAASD,CAAO,WAChC,SAAS,KAAK,YAAYC,CAAG;AACjC;AACI,OAAO,SAAW,OAClBF,GAAa;AC5CjB,MAAMG,KAAwF,YAAW,iCAAkC,KACrIC,KAAyF,YAAW,iCAAkC,CAAC,KAAK,KAAK,KAAK,GAAG,GACzJC,KAAgG,YAAW,wCAAyC,KACpJC,KAA+E,YAAW,uBAAwB;AAAA;AAAA,EAEpH,MAAM;AAAA,EACN,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,cAAc;AAClB;AACkB1D;AAAA;AAAA;AAAA;AAAA,2BAISuD,EAA4B;AAAA,4BAC3BpB,EAAoB,CAAC,CAAC;AAAA,8BACpBE,GAAgBJ,GAAO,CAAC,CAAC,CAAC;AAAA,6BAC3BS,GAAeT,GAAO,CAAC,CAAC,CAAC;AAAA;AAAA,MAEhDA,GAAO,IAAI,CAACO,GAAGvI,MAAM,GAAGkI,EAAoBlI,CAAC,CAAC,KAAKuI,CAAC,GAAG,CAAC;AAAA,MACxDN,GAAW,IAAI,CAACM,GAAGvI,MAAM,mBAAmBA,CAAC,KAAKuI,CAAC,GAAG,CAAC;AAAA,MACvDM,GAAM,IAAI,CAACG,GAAGhJ,MAAM;AAAA,UAChB+I,EAAmBC,CAAC,CAAC,UAAUD,EAAmBC,CAAC,CAAC;AAAA,0BACpChJ,CAAC,WAAW+I,EAAmBC,CAAC,CAAC;AAAA,KACtD,CAAC;AAAA,MACAF,GAAM,IAAI,CAACE,GAAGhJ,MAAM;AACtB,MAAIkE;AACJ,SAAO;AAAA,UACD6E,EAAmBC,CAAC,CAAC,UAAUD,EAAmBC,CAAC,CAAC;AAAA,4BAClChJ,CAAC,WAAW+I,EAAmBC,CAAC,CAAC;AAAA,+BAC9BhJ,CAAC,MAAMkE,IAAK8E,EAAE,eAAe,QAAQ9E,MAAO,SAAS,SAASA,EAAG,KAAK,GAAG,CAAC;AAAA;AAEzG,CAAC,CAAC;AAAA;AAAA;AAAA,QAGM8D,GAAO,IAAI,CAACO,GAAGvI,MAAM,GAAGkI,EAAoBlI,CAAC,CAAC,yBAAyBA,CAAC,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,QAI7E6I,GAAM,IAAI,CAACa,GAAG1J,MAAM,0BAA0BkI,EAAoBlI,CAAC,CAAC;AAAA,sCACtCA,CAAC;AAAA,QAC/B,CAAC;AAAA,QACD8I,GAAM,IAAI,CAACY,GAAG1J,MAAM;AAAA,yBACHkI,EAAoBlI,CAAC,CAAC;AAAA,iCACdkI,EAAoBlI,CAAC,CAAC;AAAA,0CACbA,CAAC;AAAA,uDACYA,CAAC;AAAA;AAAA,KAEnD,CAAC;AAAA;AAAA;AAGN,SAAS2J,GAA0B1C,IAA0D,QAAO,SAAS,MAAM;AAC/G,SAAOA,IAAU,CAACF,GAAoB,4BAA4BE,CAAO,IAAIqC;AACjF;AC3DA,SAASM,EAAgBC,GAAW1F,GAAU2F,GAAQ;AAElD,MADAD,EAAU,MAAK,EAAG,QAAQ,CAAAE,MAAQC,GAAUD,CAAI,CAAC,GAC7C5F,GAAU;AACV,UAAM8F,IAAaJ,EAAU,WAAU,EAAG,SAAS1F,CAAQ;AAC3D,WAAI2F,KACAG,EAAW,KAAKH,CAAM,GACnBG;AAAA,EACX;AAEI,WAAOJ;AACf;ACTA,MAAMK,KAA+B,OAAO,OAAO,OAAO,OAAO,CAAA,GAAItG,EAAsB,GAAG,EAAE,SAAS,QAAW,aAAa,OAAS,CAAE;ACI5I,MAAMuG,WAAwBtG,GAAc;AAAA,EACxC,YAAYC,GAASG,GAAQtC,GAAM;AAC/B,QAAIuC;AACJ,UAAMJ,CAAO,GACb,KAAK,iBAAiBoG,IACtB,KAAK,SAAS,KAAK,gBACfjG,MACA,KAAK,gBAAgBA,GAAQ,EAAI,GACjC,KAAK,YAAYA,EAAO,YAExBtC,KACA,KAAK,QAAQA,GAAM,EAAI,GAGtB,GAAAuC,IAAK,KAAK,eAAe,QAAQA,MAAO,WAAkBA,EAAG,UAAU,QACxE,KAAK,OAAM;AAAA,EACnB;AAAA,EACA,QAAQvC,GAAMyI,GAAe;AACzB,QAAIlG;AACJ,UAAM,EAAE,QAAAD,EAAM,IAAK;AACnB,IAAI,KAAK,aACL,KAAK,UAAU,QAAQtC,CAAI,GAC1ByI,KACD,KAAK,OAAM,IACdlG,IAAKD,EAAO,aAAa,QAAQC,MAAO,UAAkBA,EAAG;EAClE;AAAA,EACA,gBAAgBmG,GAAiBD,GAAe;AAC5C,UAAM,gBAAgBC,CAAe,GACrC,KAAK,mBAAkB,GACvB,KAAK,YAAYA,EAAgB,WAC7BA,EAAgB,WAChB,KAAK,UAAU,SAASA,EAAgB,SAC5C,KAAK,QAAQ,YAAY,KAAK,UAAU,OAAO;AAC/C,UAAMC,IAAUD,EAAgB;AAChC,IAAIC,MACKA,EAAQ,aAAY,KACrBA,EAAQ,aAAa,KAAK,UAAU,GACxCA,EAAQ,cAAc,CAAC,KAAK,SAAS,CAAC;AAE1C,UAAMC,IAAcF,EAAgB;AACpC,IAAIE,KACA,KAAK,QAAQ,YAAYA,EAAY,OAAO,GAGhD,KAAK,QAAQ,YAAY,KAAK,SAAS,KAAI,CAAE,GAC7C,KAAK,QAAQ,YAAY,KAAK,iBAAiB,KAAI,CAAE,GAChDH,KACD,KAAK,OAAM;AAAA,EACnB;AAAA,EACA,gBAAgBI,GAAiBJ,GAAe;AAC5C,SAAK,UAAU,UAAUI,CAAe,GACnCJ,KACD,KAAK,OAAM;AAAA,EACnB;AAAA,EACA,OAAOC,GAAiBG,GAAiB7I,GAAM;AAC3C,IAAI0I,KACA,KAAK,gBAAgBA,GAAiB,EAAI,GAC1CG,KACA,KAAK,gBAAgBA,GAAiB,EAAI,GAC1C7I,KACA,KAAK,QAAQA,GAAM,EAAI,GAC3B,KAAK,OAAM;AAAA,EACf;AAAA,EACA,mBAAmB;AACf,UAAM,EAAE,QAAAsC,GAAQ,WAAAwG,EAAS,IAAK,MACxBC,IAAwBD;AAC9B,QAAI,CAACC,EAAsB;AACvB,aAAO;AACX,UAAMC,IAAiBD,EAAsB,aAAazG,EAAO,OAAO,OAAOA,EAAO,OAAO;AAC7F,WAAO,KAAK,QAAQ0G;AAAA,EACxB;AAAA,EACA,aAAa;AACT,QAAIzG,GAAI0G;AACR,UAAM,WAAU,GAChB,KAAK,UAAU,QAAQ,KAAK,OAAO,KAAK,QAAQ,KAAK,gBAAgB,KAAK,eAAe,GACzF,KAAK,UAAU,mBAAmB,KAAK,OAAO,MAAM,IACnD1G,IAAK,KAAK,OAAO,iBAAiB,QAAQA,MAAO,UAAkBA,EAAG,QAAQ,KAAK,OAAO,KAAK,QAAQ,KAAK,gBAAgB,KAAK,eAAe,IAChJ0G,IAAK,KAAK,OAAO,iBAAiB,QAAQA,MAAO,UAAkBA,EAAG,mBAAmB,KAAK,OAAO,MAAM;AAAA,EAChH;AAAA,EACA,QAAQzG,GAAU;AACd,QAAID,GAAI0G;AACR,UAAM,EAAE,QAAA3G,GAAQ,WAAAwG,EAAS,IAAK;AAC9B,UAAM,QAAQtG,CAAQ,GACtBsG,EAAU,EAAE,KAAK,aAAa,aAAaxG,EAAO,OAAO,IAAI,IAAIA,EAAO,OAAO,GAAG,GAAG,GACrFwG,EAAU,OAAOtG,CAAQ,IACxBD,IAAKD,EAAO,iBAAiB,QAAQC,MAAO,UAAkBA,EAAG,OAAOC,CAAQ,GAC7EF,EAAO,WACPA,EAAO,QAAQ,WAClB2G,IAAK3G,EAAO,sBAAsB,QAAQ2G,MAAO,UAAkBA,EAAG,KAAK3G,GAAQ,KAAK,IAAI,KAAI,GAAIA,EAAO,QAAQ,KAAK,gBAAgB,KAAK,iBAAiB,KAAK,OAAO,KAAK,MAAM;AAAA,EAC1L;AAAA;AAAA;AAAA,EAGA,OAAOE,IAAW,KAAK,OAAO,UAAU;AACpC,UAAM,EAAE,QAAAF,GAAQ,WAAAwG,EAAS,IAAK;AAC9B,QAAIxG,EAAO,WAAWhF,EAAO,UAAUgF,EAAO,WAAWhF,EAAO,UAAU;AACtE,YAAM4L,IAAa5G,EAAO,WAAWhF,EAAO,UACtCyL,IAAwBD,GACxBE,IAAiBD,EAAsB,aAAazG,EAAO,OAAO,OAAOA,EAAO,OAAO,OACvF6G,IAAkBJ,EAAsB,cAAczG,EAAO,OAAO,MAAMA,EAAO,OAAO,QACxF8G,IAAQF,IAAa,KAAK,iBAAgB,IAAK,GAC/CG,IAAe,KAAK,IAAI,KAAK,OAAO,GACpCC,IAAgB,KAAK,IAAI,KAAK,QAAQ,GACtCC,IAAcP,IAAiBI,GAC/BI,IAAeL,IAAkBC,GACjCK,IAAWJ,KAAgBC;AACjC,MAAArB,EAAgB,KAAK,KAAKwB,IAAWjH,IAAW,CAAC,EAC5C,KAAK,SAAS+G,CAAW,EACzB,KAAK,UAAUC,CAAY,EAC3B,KAAK,WAAW,OAAaR,CAAc,IAAIE,IAAaM,IAAeL,CAAe,EAAE,EAC5F,KAAK,uBAAuB,UAAU;AAAA,IAC/C;AAEI,WAAK,IACA,KAAK,SAAS,KAAK,OAAO,SAAS,KAAK,cAAc,EACtD,KAAK,UAAU,KAAK,OAAO,UAAU,KAAK,eAAe;AAGlE,IAAK,KAAK,mBACN,KAAK,qBAAoB,GAE7B,qBAAqB,KAAK,uBAAuB,GACjD,KAAK,0BAA0B,sBAAsB,MAAM;AACvD,WAAK,WAAU,GACf,KAAK,QAAQ3G,CAAQ;AAAA,IACzB,CAAC;AAAA,EACL;AAAA,EACA,YAAY;AACR,QAAID;AACJ,UAAM,EAAE,QAAAD,EAAM,IAAK;AACnB,UAAM,UAAS,IACdC,IAAKD,EAAO,aAAa,QAAQC,MAAO,UAAkBA,EAAG;EAClE;AAAA,EACA,UAAU;AACN,QAAIA,GAAI0G;AACR,UAAM,EAAE,WAAAH,GAAW,QAAAxG,EAAM,IAAK;AAC9B,UAAM,QAAO,GACyCwG,GAAU,YAC/DvG,IAAKD,EAAO,aAAa,QAAQC,MAAO,UAAkBA,EAAG,YAC7D0G,IAAK3G,EAAO,iBAAiB,QAAQ2G,MAAO,UAAkBA,EAAG;EACtE;AACJ;ACnJA,MAAMS,GAAc;AAAA,EAChB,YAAY1J,GAAM;AACd,SAAK,OAAOA;AAAA,EAChB;AAAA,EACA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EACA,IAAI,KAAKS,GAAO;AACZ,SAAK,QAAQA;AAAA,EACjB;AACJ;ACVA,IAAIkJ;AAAA,CACH,SAAUA,GAAU;AACjB,EAAAA,EAAS,IAAO,KAChBA,EAAS,IAAO;AACpB,GAAGA,MAAaA,IAAW,CAAA,EAAG;ACF9B,MAAMC,KAAQ;AAAA,EACd,aAAIC;AAAAA,EACJ,UAAIC;AAAAA,EACJ,WAAIC;AAAAA,EACJ,UAAIC;AAAAA,EACJ,aAAIC;AAAAA,EACJ,eAAIC;AAAAA,EACJ,WAAIC;AAAAA,EACJ,UAAIC;AAAAA,EACJ,iBAAIC;AAAAA,EACJ,gBAAIC;AAAAA,EACJ,eAAIC;AAAAA,EACJ,eAAIC;AAAAA,EACJ,gBAAIC;AAAAA,EACJ,cAAIC;AAAAA,EACJ,WAAIC;AAAAA,EACJ,YAAIC;AACJ;AACA,IAAIC;AAAA,CACH,SAAUA,GAAgB;AACvB,EAAAA,EAAe,IAAO,KACtBA,EAAe,IAAO;AAC1B,GAAGA,MAAmBA,IAAiB,CAAA,EAAG;ACxB1C,IAAIC;AAAA,CACH,SAAUA,GAAW;AAClB,EAAAA,EAAU,OAAU,QACpBA,EAAU,OAAU,QACpBA,EAAU,QAAW,SACrBA,EAAU,QAAW;AACzB,GAAGA,MAAcA,IAAY,CAAA,EAAG;ACHhC,MAAMC,KAA2B,OAAO,OAAO,OAAO,OAAO,CAAA,GAAI9I,EAAsB,GAAG,EAAE,YAAY,CAAA,GAAI,SAAS,QAAW,WAAW,QAAW,aAAa,QAAW,OAAO,QAAW,OAAO,QAAW,YAAY,IAAM,QAAQ,QAAW,SAAS,QAAW,sBAAsB,QAAW,sBAAsB,QAAW,QAAQ,QAAW,QAAQ,QAAW,SAAS,QAAW,sBAAsB,QAAW,sBAAsB,QAAW,QAAQ,QAAW,YAAY6I,EAAU,OAAO,oBAAoB,MAAM,eAAe,IAAO,gBAAgB,EAAC,CAAE;ACS5jB,MAAME,WAAoB9I,GAAc;AAAA,EACpC,YAAYC,GAASG,GAAQtC,GAAM;AAC/B,QAAIuC,GAAI0G;AACR,UAAM9G,CAAO,GACb,KAAK,iBAAiB4I,IACtB,KAAK,YAAY,IAAIrB,MACrB,KAAK,SAAS,KAAK,gBACnB,KAAK,cAAczE,MACnB,KAAK,cAAc,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,EAAC,GACzD,KAAK,eAAe,IACpB,KAAK,YAAY,KAAK,IAAI,OAAO,UAAU,EACtC,KAAK,MAAM,KAAK,WAAW,GAChC,KAAK,UAAU,OAAO,MAAM;AAI5B,UAAMgG,IAAoB,YACpBC,IAAU,OAAO,SAAS,KAAK,QAAQ,OAAO,SAAS,MAAM,EAAE;AACrE,SAAK,IAAI,KAAK,SAAS9H;AAAA,mCACI8H,CAAO,IAAID,CAAiB;AAAA,KAC1D,GACG,KAAK,SAAS,OAAO,QAAQ,EACxB,KAAK,MAAMA,CAAiB,EAC5B,KAAK,eAAe,mBAAmB,EACvC,KAAK,mEAAmE,GACzE3I,KACA,KAAK,gBAAgBA,GAAQ,EAAI,GAEjCtC,KACA,KAAK,QAAQA,GAAM,EAAI,IAGvB,KAAK,OAAO,SACZ,KAAK,OAAO,SACV,GAAAuC,IAAK,KAAK,gBAAgB,QAAQA,MAAO,WAAkBA,EAAG,KAAK,CAAAqE,MAAKA,EAAE,UAAU,IAAI,MAC1F,KAAK,OAAM,IAGdqC,IAAK,SAAS,WAAW,QAAQA,MAAO,UAAkBA,EAAG,MAAM,KAAK,MAAM;AAC3E,MAAK,KAAK,gBACN,KAAK,YAAY,CAAC;AAAA,IAC1B,CAAC;AAAA,EACL;AAAA,EACA,IAAI,aAAa;AACb,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA;AAAA,EAEA,IAAI,QAAQ;AACR,UAAMkC,IAAS,KAAK;AACpB,WAAOlL,EAAM,KAAK,iBAAiBkL,EAAO,OAAOA,EAAO,OAAO,GAAG,OAAO,iBAAiB;AAAA,EAC9F;AAAA;AAAA,EAEA,IAAI,SAAS;AACT,UAAMA,IAAS,KAAK;AACpB,WAAOlL,EAAM,KAAK,kBAAkBkL,EAAO,MAAMA,EAAO,QAAQ,GAAG,OAAO,iBAAiB;AAAA,EAC/F;AAAA,EACA,QAAQnL,GAAMyI,GAAe;AACzB,QAAIlG,GAAI0G,GAAImC,GAAIC,GAAIC;AACpB,UAAM,EAAE,YAAAC,GAAY,QAAAjJ,EAAM,IAAK;AAC/B,QAAI,CAACtC;AACD;AACJ,SAAK,UAAU,OAAOA,GACtBuL,EAAW,QAAQ,CAAC3E,MAAM;AACtB,MAAAA,EAAE,QAAQ5G,CAAI;AAAA,IAClB,CAAC,IACAuC,IAAKD,EAAO,eAAe,QAAQC,MAAO,UAAkBA,EAAG,QAAQvC,CAAI,IAC3EiJ,IAAK3G,EAAO,WAAW,QAAQ2G,MAAO,UAAkBA,EAAG,QAAQjJ,CAAI,IACvEoL,IAAK9I,EAAO,WAAW,QAAQ8I,MAAO,UAAkBA,EAAG,QAAQpL,CAAI,GAIjD,CAAC/B,EAAQ,KAAK,UAAU,MAAM+B,CAAI,OAEpDqL,IAAK/I,EAAO,aAAa,QAAQ+I,MAAO,UAAkBA,EAAG,SAC7DC,IAAKhJ,EAAO,eAAe,QAAQgJ,MAAO,UAAkBA,EAAG,SAE/D7C,KACD,KAAK,OAAM;AAAA,EACnB;AAAA,EACA,gBAAgBC,GAAiBD,GAAe;AAC5C,UAAM,gBAAgBC,CAAe,GACrC,KAAK,mBAAkB,GAEvB,KAAK,QAAQ,KAAK,UAAU,MAAM,EAAI,GAElCA,EAAgB,UAChB,KAAK,OAAO,MAAM,OAAO,OAAOiB,EAAS,GACzC,KAAK,QAAQ,YAAYjB,EAAgB,MAAM,OAAO,IAEtDA,EAAgB,UAChB,KAAK,OAAO,MAAM,OAAO,OAAOiB,EAAS,GACzC,KAAK,QAAQ,YAAYjB,EAAgB,MAAM,OAAO;AAG1D,eAAW9B,KAAK,KAAK;AACjB,WAAK,QAAQ,YAAYA,EAAE,OAAO;AAGtC,UAAM+B,IAAUD,EAAgB;AAChC,IAAIC,MACKA,EAAQ,aAAY,KACrBA,EAAQ,aAAa,KAAK,UAAU,GACxCA,EAAQ,cAAc,KAAK,UAAU;AAGzC,UAAM6C,IAAY9C,EAAgB;AAClC,IAAI8C,MACAA,EAAU,aAAa,KAAK,GAAG,GAC/BA,EAAU,UAAU7C,GACpB,KAAK,QAAQ,YAAY6C,EAAU,OAAO;AAG9C,UAAM5C,IAAcF,EAAgB;AACpC,IAAIE,KACA,KAAK,QAAQ,YAAYA,EAAY,OAAO,GAGhD,KAAK,QAAQ,YAAY,KAAK,UAAU,KAAI,CAAE,GAE9C,KAAK,QAAQ,YAAY,KAAK,SAAS,KAAI,CAAE,GAC7C,KAAK,QAAQ,YAAY,KAAK,iBAAiB,KAAI,CAAE,GAEhDH,KACD,KAAK,OAAM;AAAA,EACnB;AAAA,EACA,iBAAiBgD,GAAkBhD,GAAe;AAC9C,UAAM,EAAE,QAAAnG,EAAM,IAAK;AACnB,SAAK,WAAW,QAAQ,CAACsE,GAAGvI,MAAM;AAE9B,MADwBoN,EAAiBpN,CAAC,KAEtCuI,EAAE,UAAU6E,EAAiBpN,CAAC,CAAC;AAAA,IAEvC,CAAC,GACD,KAAK,cAAc,GAAG,KAAK,YAAYiE,EAAO,OAAOA,EAAO,OAAOA,EAAO,SAAS,GAC9EmG,KACD,KAAK,OAAM;AAAA,EACnB;AAAA,EACA,OAAOC,GAAiB+C,GAAkBzL,GAAM;AAC5C,IAAIA,MACA,KAAK,UAAU,OAAOA,IACtB0I,KACA,KAAK,gBAAgBA,GAAiB,EAAI,GAC1C+C,KACA,KAAK,iBAAiBA,GAAkB,EAAI,GAChD,KAAK,OAAM;AAAA,EACf;AAAA,EACA,aAAa;AACT,UAAM,EAAE,QAAAnJ,EAAM,IAAK;AACnB,UAAM,WAAU,GAEZA,EAAO,cACP,KAAK,eAAc;AAGvB,UAAMiJ,IAAaxL,GAAM,CAAC,GAAG,KAAK,YAAYuC,EAAO,OAAOA,EAAO,OAAOA,EAAO,WAAWA,EAAO,WAAW,CAAC,GACzG6I,IAAS,KAAK;AACpB,eAAWvE,KAAK2E;AACZ,MAAA3E,EAAE,QAAQ,KAAK,OAAO,KAAK,QAAQ,KAAK,gBAAgB,KAAK,eAAe,GAC5EA,EAAE,mBAAmBuE,CAAM;AAG/B,SAAK,cAAc,GAAG,KAAK,YAAY7I,EAAO,OAAOA,EAAO,OAAOA,EAAO,SAAS;AAAA,EACvF;AAAA,EACA,QAAQoJ,GAAgB;AACpB,QAAInJ,GAAI0G,GAAImC,GAAIC,GAAIC,GAAIK;AACxB,UAAM,EAAE,QAAArJ,EAAM,IAAK;AACnB,UAAM,QAAO;AAEb,UAAM6I,IAAS,KAAK;AAEpB,eAAWvE,KAAK,KAAK;AACjB,MAAAA,EAAE,EAAE,KAAK,aAAa,aAAauE,EAAO,IAAI,IAAIA,EAAO,GAAG,GAAG,EAC1D,MAAM,aAAavE,EAAE,YAAY,QAAQ,KAAK,WAAW,MAAM,IAAI,EACnE,MAAM,qBAAqBA,EAAE,YAAY,QAAQ,KAAK,WAAW,MAAM,IAAI,GAChFA,EAAE,OAAO8E,CAAc;AAE3B,SAAK,YAAY,KAAK,eAAe,IAAIA,CAAc;AAGvD,UAAME,IAAoBtJ,EAAO;AACjC,SAAK,UAAU,OAAO,MAAM,EACvB,KAAK,KAAK,CAACsJ,CAAiB,EAC5B,KAAK,KAAK,CAACA,CAAiB,EAC5B,KAAK,SAAS,KAAK,QAAQ,IAAIA,CAAiB,EAChD,KAAK,UAAU,KAAK,SAAS,IAAIA,CAAiB,IAEtDrJ,IAAKD,EAAO,aAAa,QAAQC,MAAO,UAAkBA,EAAG;AAE9D,UAAMiJ,IAAYlJ,EAAO;AACzB,QAAIkJ,GAAW;AAEX,YAAMK,IAAa,KAAK,WAAW,OAAO,CAAAjF,MAAK,CAACA,EAAE,OAAO,EAAE,IAAI,CAAAA,MAAKA,EAAE,OAAO,CAAC,GACxEkF,IAAoB,KAAK,WAAW,OAAO,CAAAlF,MAAKA,EAAE,OAAO,EAAE,IAAI,CAAAA,MAAKA,EAAE,OAAO,CAAC,GAC9EmF,KAA2B9C,IAAK,KAAK,WAAW,KAAK,CAAArC,MAAKA,EAAE,OAAO,QAAQ,OAAO,QAAQqC,MAAO,SAAS,SAASA,EAAG,QACtH+C,IAAqGD,GAAwB;AAEnI,MAAAP,EAAU,YAAY;AAAA,QAClB,IAAIJ,IAAK,KAAK,WAAW,CAAC,OAAO,QAAQA,MAAO,SAAS,SAASA,EAAG,OAAO;AAAA,QAC5E,GAAG3M,GAAQoN,CAAU;AAAA,QACrB,UAAUpN,GAAQqN,CAAiB;AAAA,QACnC,UAAUE;AAAA,MAC1B,GACYR,EAAU,EAAE,KAAK,aAAa,aAAaL,EAAO,IAAI,IAAIA,EAAO,GAAG,GAAG,EAClE,MAAM,aAAa,QAAQ,KAAK,WAAW,GAAG,EAC9C,MAAM,qBAAqB,QAAQ,KAAK,WAAW,GAAG,GAC3DK,EAAU,OAAM;AAAA,IACpB;AACA,KAACH,IAAK/I,EAAO,iBAAiB,QAAQ+I,MAAO,UAAkBA,EAAG,EAAE,KAAK,aAAa,aAAaF,EAAO,IAAI,IAAIA,EAAO,GAAG,GAAG,IAC9HG,IAAKhJ,EAAO,iBAAiB,QAAQgJ,MAAO,UAAkBA,EAAG,UAClE,KAAK,eAAe,KACnBK,IAAKrJ,EAAO,sBAAsB,QAAQqJ,MAAO,UAAkBA,EAAG,KAAKrJ,GAAQ,KAAK,IAAI,KAAI,GAAI6I,GAAQ,KAAK,UAAU,KAAK,UAAU,GAAG,KAAK,gBAAgB,KAAK,iBAAiB,KAAK,OAAO,KAAK,MAAM;AAAA,EACpN;AAAA,EACA,iBAAiBI,GAAY;AACzB,UAAM3E,IAAI7G,GAAMwL,KAAc,KAAK,UAAU;AAC7C,SAAK,WAAW,GAAG3E,CAAC,GACpB,KAAK,oBAAoB,GAAGA,CAAC,GAC7B,KAAK,mBAAmB,GAAGA,CAAC;AAAA,EAChC;AAAA,EACA,cAAc2E,GAAY;AACtB,UAAM,EAAE,QAAAjJ,EAAM,IAAK;AACnB,IAAKiJ,MAGDjJ,EAAO,UACPiJ,EAAW,QAAQ,CAAA3E,MAAKA,EAAE,SAASiE,EAAe,GAAGvI,EAAO,MAAM,CAAC,GACnEA,EAAO,UACPiJ,EAAW,QAAQ,CAAA3E,MAAKA,EAAE,SAASiE,EAAe,GAAGvI,EAAO,MAAM,CAAC;AAAA,EAC3E;AAAA,EACA,uBAAuBiJ,GAAY;AAC/B,UAAM,EAAE,QAAAjJ,EAAM,IAAK;AACnB,QAAI,CAACiJ;AACD;AACJ,UAAMU,IAAuBV,EAAW,OAAO,CAAA3E,MAAK,CAACA,EAAE,OAAO,4BAA4B;AAE1F,WAAO,OAAOiE,CAAc,EAAE,QAAQ,CAACqB,MAAc;AACjD,UAAI3J,GAAI0G,GAAImC,GAAIC,GAAIC,GAAIK,GAAIQ,GAAIC;AAChC,YAAM,CAAClM,GAAKC,CAAG,IAAIkM,GAAOpN,GAAMgN,EAAqB,IAAI,CAAArF,MAAKA,EAAE,cAAcsF,GAAW5J,EAAO,aAAa,CAAC,CAAC,CAAC,GAC1GgK,IAAmBJ,MAAcrB,EAAe,IAAIvI,EAAO,UAAUA,EAAO,SAC5EiK,IAAgCL,MAAcrB,EAAe,IAAIvI,EAAO,uBAAuBA,EAAO,sBACtGkK,IAAgCN,MAAcrB,EAAe,IAAIvI,EAAO,uBAAuBA,EAAO,sBACtGmK,KAAaxD,KAAM1G,IAAyE+J,IAAiB,CAAC,OAAO,QAAQ/J,MAAO,SAASA,IAAKrC,OAAS,QAAQ+I,MAAO,SAASA,IAAK,GACxLyD,KAAarB,KAAMD,IAAyEkB,IAAiB,CAAC,OAAO,QAAQlB,MAAO,SAASA,IAAKjL,OAAS,QAAQkL,MAAO,SAASA,IAAK,GACxLsB,IAAS;AAAA,QACX1M,EAAMwM,IAAYnB,IAAmGiB,IAA8B,CAAC,OAAO,QAAQjB,MAAO,SAASA,IAAK,OAAO,oBAAoBK,IAAmGY,IAA8B,CAAC,OAAO,QAAQZ,MAAO,SAASA,IAAK,OAAO,iBAAiB;AAAA,QACjZ1L,EAAMyM,IAAYP,IAAmGK,IAA8B,CAAC,OAAO,QAAQL,MAAO,SAASA,IAAK,OAAO,oBAAoBC,IAAmGI,IAA8B,CAAC,OAAO,QAAQJ,MAAO,SAASA,IAAK,OAAO,iBAAiB;AAAA,MACja;AAGY,UAAIO,EAAO,CAAC,MAAMA,EAAO,CAAC,GAAG;AACzB,cAAMC,IAAkBX,EAAqB,KAAK,CAAArF,MAAK;AAAE,cAAIrE;AAAI,mBAASA,IAAKqE,EAAE,UAAU,UAAU,QAAQrE,MAAO,SAAS,SAASA,EAAG,UAAU;AAAA,QAAG,CAAC;AACvJ,SAAID,EAAO,sBAAuBA,EAAO,uBAAuB,SAAS,CAACsK,KAAmBV,MAAcrB,EAAe,QACtH8B,EAAO,CAAC,IAAIA,EAAO,CAAC,IAAI;AAAA,MAEhC;AACA,MAAApB,EAAW,QAAQ,CAAA3E,MAAKA,EAAE,eAAesF,GAAWS,CAAM,CAAC;AAAA,IAC/D,CAAC;AAAA,EACL;AAAA,EACA,sBAAsBpB,GAAY;AAC9B,QAAIhJ,GAAI0G,GAAImC,GAAIC,GAAIC,GAAIK;AACxB,UAAM,EAAE,QAAArJ,EAAM,IAAK;AACnB,QAAI,CAACiJ;AACD;AAEJ,UAAMsB,IAAoBvK,EAAO,eAAewI,EAAU,OACpDgC,IAAS,EAAEvK,IAAKD,EAAO,QAAQ,UAAU,QAAQC,MAAO,SAASA,IAAK,GAAG,KAAK,UAAU0G,IAAK3G,EAAO,QAAQ,WAAW,QAAQ2G,MAAO,SAASA,IAAK,EAAE,GACtJ8D,IAAS,CAAC,KAAK,WAAW3B,IAAK9I,EAAO,QAAQ,YAAY,QAAQ8I,MAAO,SAASA,IAAK,KAAKC,IAAK/I,EAAO,QAAQ,SAAS,QAAQ+I,MAAO,SAASA,IAAK,CAAC;AAC7J,IAAIwB,KACAE,EAAO,QAAO;AAClB,eAAWnG,KAAK2E;AACZ,MAAA3E,EAAE,QAAQ,KAAK,OAAO,KAAK,QAAQ,KAAK,gBAAgB,KAAK,eAAe,GAC5EA,EAAE,cAAciE,EAAe,IAAIS,IAAKhJ,EAAO,YAAY,QAAQgJ,MAAO,SAASA,IAAKwB,CAAM,GAC9FlG,EAAE,cAAciE,EAAe,IAAIc,IAAKrJ,EAAO,YAAY,QAAQqJ,MAAO,SAASA,IAAKoB,CAAM;AAGlG,UAAMC,IAAQ,KAAK,UAAUzB,CAAU;AAEvC,eAAW3E,KAAK2E;AACZ,MAAA3E,EAAE,cAAciE,EAAe,GAAG,CAACiC,EAAO,CAAC,IAAIE,EAAM,MAAMF,EAAO,CAAC,IAAIE,EAAM,KAAK,CAAC,GACnFpG,EAAE;AAAA,QAAciE,EAAe;AAAA,QAAGgC,IAC5B,CAACE,EAAO,CAAC,IAAIC,EAAM,KAAKD,EAAO,CAAC,IAAIC,EAAM,MAAM,IAChD,CAACD,EAAO,CAAC,IAAIC,EAAM,QAAQD,EAAO,CAAC,IAAIC,EAAM,GAAG;AAAA;AAAA,MAClE;AAAA,EAEI;AAAA,EACA,YAAYxK,GAAU;AAClB,UAAM,EAAE,QAAQ,EAAE,OAAAyK,GAAO,OAAAC,EAAK,EAAE,IAAK,MAC/B/B,IAAS,KAAK;AAEpB,IADapL,GAAM,CAACkN,GAAOC,CAAK,CAAC,EAC5B,QAAQ,CAAAC,MAAQ;AACjB,YAAMC,IAASD,EAAK,UAAUhC,CAAM;AACpC,MAAAgC,EAAK,EAAE,KAAK,aAAa,aAAaC,EAAO,IAAI,IAAIA,EAAO,GAAG,GAAG,GAClED,EAAK,OAAO3K,CAAQ;AAAA,IACxB,CAAC;AAAA,EACL;AAAA,EACA,iBAAiB;AACb,UAAM,EAAE,QAAQ,EAAE,OAAAyK,GAAO,OAAAC,EAAK,EAAE,IAAK,MAE/B3B,IAAaxL,GAAM,CAAC,GAAG,KAAK,YAAYkN,GAAOC,CAAK,CAAC;AAC3D,SAAK,WAAW,GAAG3B,CAAU,GAC7B,KAAK,oBAAoB,GAAGA,CAAU;AAKtC,UAAM8B,IAAgB,KAAK,eAAe,IAAI;AAC9C,aAAShP,IAAI,GAAGA,IAAIgP,GAAehP,KAAK,GAAG;AACvC,YAAMiP,IAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO;AACxD,WAAK,mBAAmB,GAAG/B,CAAU,GACxBxL,GAAM,CAACkN,GAAOC,CAAK,CAAC,EAC5B,QAAQ,CAAAC,MAAQ;AACjB,QAAAA,EAAK,UAAS;AACd,cAAMI,IAAIJ,EAAK;AACf,QAAIG,EAAW,MAAMC,EAAE,QACnBD,EAAW,MAAMC,EAAE,MACnBD,EAAW,SAASC,EAAE,WACtBD,EAAW,SAASC,EAAE,SACtBD,EAAW,OAAOC,EAAE,SACpBD,EAAW,OAAOC,EAAE,OACpBD,EAAW,QAAQC,EAAE,UACrBD,EAAW,QAAQC,EAAE;AAAA,MAC7B,CAAC,GACD,KAAK,cAAcD;AAAA,IACvB;AAAA,EACJ;AAAA,EACA,aAAa;AACT,UAAM,EAAE,QAAQ,EAAE,QAAAnC,EAAM,EAAE,IAAK;AAC/B,WAAO;AAAA,MACH,KAAKA,EAAO,MAAM,KAAK,YAAY;AAAA,MACnC,QAAQA,EAAO,SAAS,KAAK,YAAY;AAAA,MACzC,MAAMA,EAAO,OAAO,KAAK,YAAY;AAAA,MACrC,OAAOA,EAAO,QAAQ,KAAK,YAAY;AAAA,IACnD;AAAA,EACI;AAAA,EACA,UAAUI,GAAY;AAClB,WAAOA,EAAW,IAAI,CAAA3E,MAAKA,EAAE,KAAK,EAAE,OAAO,CAACoG,GAAO9O,MAAM;AACrD,iBAAWK,KAAO,OAAO,KAAKyO,CAAK,GAAG;AAClC,cAAMjI,IAAIxG;AACV,QAAIyO,EAAMjI,CAAC,IAAI7G,EAAE6G,CAAC,MACdiI,EAAMjI,CAAC,IAAI7G,EAAE6G,CAAC;AAAA,MACtB;AACA,aAAOiI;AAAA,IACX,GAAG,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,EAAC,CAAE;AAAA,EAC/C;AAAA,EACA,UAAU;AACN,UAAM,EAAE,YAAAzB,GAAY,QAAQ,EAAE,SAAA5C,GAAS,WAAA6C,GAAW,aAAA5C,GAAa,OAAAqE,GAAO,OAAAC,IAAO,IAAK;AAClF,UAAM,QAAO;AACb,eAAWtG,KAAK2E;AACZ,MAAsC3E,GAAE;AAC5C,IAAkD+B,GAAQ,WACJ6C,GAAU,WACN5C,GAAY,WACxBqE,GAAM,WACNC,GAAM;EACxD;AACJ;AC9WA,MAAMM,KAAyB;AAAA,EAC3B,UAAU;AAAA,EACV,QAAQ,CAAA;AAAA,EACR,YAAY,CAAA;AAChB;ACGA,MAAMC,GAAc;AAAA,EAChB,YAAYC,IAAOrQ,GAAc,KAAK;AAClC,QAAIkF,GAAI0G;AACR,SAAK,OAAO5L,GAAc,KAC1B,KAAK,YAAY,IAAIqM,MACrB,KAAK,SAASpM,EAAO,KACrB,KAAK,SAAS,IAEd,KAAK,iBAAiBkQ,IAEtB,KAAK,SAAS,KAEd,KAAK,UAAU,KAEf,KAAK,kBAAkB,QAEvB,KAAK,mBAAmB,QAExB,KAAK,mBAAmB,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,EAAC,GAC9D,KAAK,iCAAiCpO,GAAS,KAAK,uBAAuB,GAAG,GAC9E,KAAK,gCAAgCA,GAAS,KAAK,sBAAsB,GAAG,GACxEsO,MAASrQ,GAAc,MACvB,KAAK,UAAU,SAAS,gBAAgB,8BAA8B,GAAG,IAGzE,KAAK,UAAU,SAAS,cAAc,KAAK,GAE/C,KAAK,MAAM4H,MACX,KAAK,IAAI5C,EAAO,KAAK,OAAO;AAK5B,UAAMsL,KAAa1E,KAAM1G,IAAK,KAAK,iBAAiB,QAAQA,MAAO,SAAS,SAASA,EAAG,eAAkB,QAAQ0G,MAAO,SAAS,SAASA,EAAG;AAC9I,IAAI0E,KACA,KAAK,EAAE,KAAK,SAASA,CAAS;AAAA,EACtC;AAAA;AAAA,EAEA,mBAAmBxC,GAAQ;AACvB,SAAK,mBAAmBA;AAAA,EAC5B;AAAA,EACA,UAAU7I,GAAQ;AACd,SAAK,aAAa,KAAK,QACvB,KAAK,SAASrD,GAAM,KAAK,gBAAgBqD,CAAM;AAAA,EACnD;AAAA,EACA,QAAQtC,GAAM;AACV,SAAK,UAAU,OAAOA;AAAA,EAC1B;AAAA,EACA,QAAQyC,GAAOC,GAAQkL,GAAgBC,GAAiB;AACpD,IAAI,SAASpL,CAAK,MACd,KAAK,SAASA,IACd,SAASC,CAAM,MACf,KAAK,UAAUA,IACf,SAASkL,CAAc,MACvB,KAAK,kBAAkBA,IACvB,SAASC,CAAe,MACxB,KAAK,mBAAmBA;AAAA,EAChC;AAAA,EACA,OAAOrL,IAAW,KAAK,OAAO,UAAU;AACpC,SAAK,QAAQA,CAAQ;AAErB,UAAMsL,IAAiB;AACvB,IAAItL,MACA,KAAK,EAAE,KAAKsL,GAAgB,EAAE,GACX,KAAK,EACnB,WAAWA,CAAc,EACzB,SAAStL,CAAQ,EACX,GAAG,iBAAiB,MAAM;AACjC,WAAK,EAAE,KAAKsL,GAAgB,IAAI;AAAA,IACpC,CAAC,IAEL,KAAK,+BAA8B,GACnC,KAAK,8BAA6B;AAAA,EACtC;AAAA,EACA,IAAI,QAAQ;AACR,WAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO;EAChD;AAAA;AAAA,EAEA,QAAQtL,IAAW,KAAK,OAAO,UAAU;AAAA,EACzC;AAAA,EACA,uBAAuB;AACnB,UAAMuL,IAAe,KAAK,OAAO;AACjC,WAAO,KAAKA,CAAY,EAAE,QAAQ,CAAA1K,MAAa;AAC3C,aAAO,KAAK0K,EAAa1K,CAAS,CAAC,EAAE,QAAQ,CAAA2K,MAAQ;AAGjD,QAFkB,KAAK,EAClB,UAAU,IAAI3K,CAAS,EAAE,EACpB,KAAK2K,GAAMD,EAAa1K,CAAS,EAAE2K,CAAI,CAAC;AAAA,MACtD,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AAAA,EACA,wBAAwB;AAEpB,SAAK,YAAY,KAAK,MAAM,GAE5B,KAAK,YAAY,KAAK,OAAO,QAAQ,OAAO;AAAA,EAChD;AAAA,EACA,YAAYC,IAAS,KAAK,QAAQzH,IAAS,IAAI;AAC3C,WAAO,KAAKyH,CAAM,EAAE,QAAQ,CAAA5K,MAAa;AACrC,aAAO,KAAK4K,EAAO5K,CAAS,CAAC,EAAE,QAAQ,CAAA6K,MAAa;AAChD,cAAMhG,IAAY,KAAK,EAClB,UAAU,IAAI7E,CAAS,EAAE;AAC9B,QAAA6E,EAAU,GAAGgG,IAAY1H,GAAQ,CAAC2H,GAAOzO,MAAM;AAC3C,gBAAM0O,IAAMlG,EAAU,SAChB7J,IAAI+P,EAAI,QAAQD,EAAM,aAAa,GACnCE,IAAgBJ,EAAO5K,CAAS,EAAE6K,CAAS;AACjD,iBAAqEG,IAAc3O,GAAGyO,GAAO9P,GAAG+P,CAAG;AAAA,QACvG,CAAC;AAAA,MACL,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AAAA,EACA,UAAU;AACN,QAAI7L;AACJ,KAACA,IAAK,KAAK,OAAO,QAAQA,MAAO,UAAkBA,EAAG,UACtD,KAAK,UAAU;AAAA,EACnB;AAAA,EACA,cAAc;AACV,WAAO,CAAC,KAAK;AAAA,EACjB;AACJ;AC1HA,MAAM+L,WAAwB5E,GAAc;AAAA,EACxC,YAAY1J,GAAM;AACd,UAAMA,CAAI;AAAA,EACd;AAAA,EACA,IAAI,OAAO;AACP,QAAIuC;AACJ,YAAQA,IAAK,KAAK,WAAW,QAAQA,MAAO,SAASA,IAAK;EAC9D;AAAA,EACA,IAAI,KAAKvC,GAAM;AACX,IAAI,MAAM,QAAQA,CAAI,MAClB,KAAK,QAAQA;AAAA,EACrB;AACJ;ACZA,MAAMuO,KAA2B,OAAO,OAAO,OAAO,OAAO,IAAIf,EAAsB,GAAG,EAAE,GAAG,QAAW,GAAG,QAAW,IAAI,CAAC9N,GAAGrB,MAAM;AAAE,MAAIkE;AAAI,UAAQA,IAAK7C,EAAE,QAAQ,QAAQ6C,MAAO,SAASA,IAAK,GAAGlE,CAAC;AAAI,GAAG,OAAO,CAACqB,MAAMA,EAAE,OAAO,QAAQ,QAAW,QAAQ,QAAW,8BAA8B,IAAO;ACIjT,MAAM8O,WAAwBf,GAAc;AAAA,EACxC,cAAc;AACV,UAAM,GAAG,SAAS,GAClB,KAAK,YAAY,IAAIa,MAErB,KAAK,YAAY,IAEjB,KAAK,UAAU,IACf,KAAK,iBAAiBC,IACtB,KAAK,UAAU3E,GAAM,eACrB,KAAK,UAAUA,GAAM;EACzB;AAAA,EACA,IAAI,SAAS;AACT,WAAO,KAAK,OAAO,UAAU,KAAK;AAAA,EACtC;AAAA,EACA,IAAI,SAAS;AACT,WAAO,KAAK,OAAO,UAAU,KAAK;AAAA,EACtC;AAAA,EACA,UAAUtH,GAAQ;AACd,QAAIC,GAAI0G;AAER,IAAK,GAAA1G,IAAK,KAAK,YAAY,QAAQA,MAAO,WAAkBA,EAAG,WAC3DD,EAAO,SAAS,KAAK,OAAO,SAC3B,GAAA2G,IAAK,KAAK,YAAY,QAAQA,MAAO,WAAkBA,EAAG,WAC3D3G,EAAO,SAAS,KAAK,OAAO,SAChC,MAAM,UAAUA,CAAM;AAAA,EAC1B;AAAA,EACA,eAAe4J,GAAWS,GAAQ;AAC9B,QAAIpK,GAAI0G;AACR,IAAIiD,MAAcrB,EAAe,OAC5BtI,IAAK,KAAK,aAAa,QAAQA,MAAO,UAAkBA,EAAG,OAAOoK,CAAM,IACzET,MAAcrB,EAAe,OAC5B5B,IAAK,KAAK,aAAa,QAAQA,MAAO,UAAkBA,EAAG,OAAO0D,CAAM;AAAA,EACjF;AAAA,EACA,cAAcT,GAAW9K,GAAO;AAC5B,QAAImB,GAAI0G;AACR,IAAIiD,MAAcrB,EAAe,OAC5BtI,IAAK,KAAK,aAAa,QAAQA,MAAO,UAAkBA,EAAG,MAAMnB,CAAK,IACvE8K,MAAcrB,EAAe,OAC5B5B,IAAK,KAAK,aAAa,QAAQA,MAAO,UAAkBA,EAAG,MAAM7H,CAAK;AAAA,EAC/E;AAAA,EACA,SAAS8K,GAAW9C,GAAO;AACvB,IAAIA,KAAU8C,MAAcrB,EAAe,MACvC,KAAK,UAAUzB,IACfA,KAAU8C,MAAcrB,EAAe,MACvC,KAAK,UAAUzB;AAAA,EACvB;AAAA,EACA,cAAc8C,GAAWuC,GAAoB;AACzC,UAAM,EAAE,QAAAnM,GAAQ,WAAAoM,EAAS,IAAK;AAC9B,YAAQxC,GAAS;AAAA,MACb,KAAKrB,EAAe;AAAG,eAAO,KAAK,eAAc;AAAA,MACjD,KAAKA,EAAe;AAAG,eAAO,KAAK,eAAe4D,CAAkB;AAAA,MACpE;AAAS,eAAO7N,GAAU8N,EAAU,MAAMpM,EAAO4J,CAAS,CAAC;AAAA,IACvE;AAAA,EACI;AAAA,EACA,iBAAiB;AACb,UAAM,EAAE,QAAA5J,GAAQ,WAAAoM,EAAS,IAAK;AAC9B,WAAO9N,GAAU8N,EAAU,MAAMpM,EAAO,CAAC;AAAA,EAC7C;AAAA;AAAA,EAEA,eAAemM,GAAoB;AAC/B,UAAM,EAAE,QAAAnM,GAAQ,WAAAoM,EAAS,IAAK,MACxBC,IAAU,KAAK,OAAO,OAAM,GAC5B3O,IAAOyO,IAAqBtN,GAAkBuN,EAAU,MAAMC,GAASrM,EAAO,GAAG,EAAI,IAAIoM,EAAU,MACnG7C,IAAclO,GAAQ2E,EAAO,CAAC,IAAIA,EAAO,IAAI,CAACA,EAAO,CAAC;AAC5D,WAAO1B,GAAUZ,GAAM,GAAG6L,CAAU;AAAA,EACxC;AACJ;AC1EA,IAAI+C;AAAA,CACH,SAAUA,GAAU;AACjB,EAAAA,EAAS,MAAS,OAClBA,EAAS,SAAY,UACrBA,EAAS,OAAU,QACnBA,EAAS,QAAW,SACpBA,EAAS,SAAY,UACrBA,EAAS,OAAU;AACvB,GAAGA,MAAaA,IAAW,CAAA,EAAG;AAC9B,IAAIC;AAAA,CACH,SAAUA,GAAkB;AACzB,EAAAA,EAAiB,WAAc,YAC/BA,EAAiB,QAAW;AAChC,GAAGA,OAAqBA,KAAmB,CAAA,EAAG;AAC9C,IAAIC;AAAA,CACH,SAAUA,GAAa;AACpB,EAAAA,EAAY,SAAY,UACxBA,EAAY,UAAa,WACzBA,EAAY,SAAY;AAC5B,GAAGA,OAAgBA,KAAc,CAAA,EAAG;AACpC,IAAIC;AAAA,CACH,SAAUA,GAAa;AACpB,EAAAA,EAAY,aAAgB,cAC5BA,EAAY,WAAc;AAC9B,GAAGA,OAAgBA,KAAc,CAAA,EAAG;ACrBpC,MAAMC,KAAuB;AAAA,EACzB,YAAY,CAAA;AAAA,EACZ,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,qBAAqBJ,EAAS;AAAA,EAC9B,iBAAiB;AAAA,EACjB,mBAAmBA,EAAS;AAAA,EAC5B,eAAe;AAAA,EACf,YAAY,CAAA;AAAA,EACZ,UAAU,CAAA;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AACf,GCfMK,KAAO7L;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAsBPuF,KAAUsG,IACVC,KAAY9K;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAkBE,IAAI6K,EAAI,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcxBE,KAAgB/L;AAAA;AAAA;AAAA,GAIhBgM,KAAOhM;AAAA;AAAA,GAGPiM,KAASjM;AAAA;AAAA,GAGTkM,KAAiBlM;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;AC5DvB,MAAMmM,GAAQ;AAAA,EACV,YAAYjN,IAAS,IAAI;AACrB,SAAK,iBAAiB0M,IACtB,KAAK,SAAS,KAAK,gBACnB,KAAK,wBAAwB5P,GAAS,KAAK,cAAc,GAAG,GAC5D,KAAK,iCAAiCA,GAAS,KAAK,uBAAuB,GAAG,GAC9E,KAAK,WAAW,IAChB,KAAK,UAAU,SAAS,cAAc,KAAK,GAC3C,KAAK,MAAMiD,EAAO,KAAK,OAAO,EACzB,KAAK,SAAS4M,EAAI,EAClB,QAAQG,IAAM,EAAK,EACnB,QAAQC,IAAQ,EAAI,GACzB,KAAK,UAAU/M,CAAM,GACrB,KAAK,aAAa,KAAK,OAAO,YAG9B,KAAK,oBAAoB,IAAI,iBAAiB,MAAM;AAChD,MAAK,KAAK,aAIN,CAAC,KAAK,OAAO,gBAAgB,KAAK,kBAClC,KAAK,eAAe,KAAK,eAAe,IAEnC,KAAK,aACV,KAAK,MAAM,EAAE,GAAG,KAAK,UAAU,CAAC,GAAG,GAAG,KAAK,UAAU,CAAC,EAAC,CAAE;AAAA,IAEjE,CAAC,GACD,KAAK,kBAAkB,QAAQ,KAAK,IAAI,QAAQ,EAAE,WAAW,IAAM,SAAS,GAAI,CAAE;AAAA,EACtF;AAAA,EACA,UAAUA,GAAQ;AACd,QAAIC;AACJ,SAAK,aAAa,KAAK,QACvB,KAAK,SAAStD,GAAM,KAAK,gBAAgBqD,CAAM,GAE3C,KAAK,WAAW,wBAAwB,KAAK,OAAO,uBACpD,KAAK,4BAA4B,MAAS,GAE1C,KAAK,OAAO,aAAc,KAAK,OAAO,gBAAgBC,IAAK,KAAK,gBAAgB,QAAQA,MAAO,SAAS,SAASA,EAAG,cACpH,KAAK,aAAa,KAAK,OAAO,SAAS,GAE3C,KAAK,iBAAgB;AAAA,EACzB;AAAA,EACA,aAAaH,GAAW;AACpB,QAAIG;AACJ,KAACA,IAAK,KAAK,QAAQ,gBAAgB,QAAQA,MAAO,UAAkBA,EAAG,YAAY,KAAK,OAAO,GAC/F,KAAK,aAAaH,GAClB,KAAK,WAAW,YAAY,KAAK,OAAO,GACxC,KAAK,+BAA8B;AAAA,EACvC;AAAA,EACA,eAAe;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EACA,eAAe;AACX,WAAO,CAAC,CAAC,KAAK,cAAc,KAAK,WAAW;AAAA,EAChD;AAAA,EACA,cAAcmJ,GAAY;AACtB,SAAK,aAAaA;AAAA,EACtB;AAAA,EACA,SAAS;AACL,IAAK,KAAK,cAEV,KAAK,sBAAqB;AAAA,EAC9B;AAAA;AAAA,EAEA,KAAKiE,GAAMC,GAAK;AACZ,SAAK,OAAOD,CAAI,GAChB,KAAK,MAAMC,CAAG;AAAA,EAClB;AAAA,EACA,QAAQ;AACJ,SAAK,IACA,QAAQL,IAAM,EAAK,EACnB,GAAG,iBAAiB,MAAM;AAG3B,WAAK,IAAI,QAAQC,IAAQ,CAAC,KAAK,QAAQ;AAAA,IAC3C,CAAC,GACD,KAAK,WAAW;AAAA,EACpB;AAAA;AAAA,EAEA,OAAO;AACH,WAAO,aAAa,KAAK,mBAAmB,GACxC,KAAK,OAAO,aACZ,OAAO,aAAa,KAAK,mBAAmB,GAC5C,KAAK,sBAAsB,WAAW,MAAM,KAAK,MAAK,GAAI,KAAK,OAAO,SAAS,KAG/E,KAAK,MAAK;AAAA,EAElB;AAAA,EACA,WAAW;AACP,WAAO,aAAa,KAAK,mBAAmB,GAC5C,KAAK,IACA,QAAQA,IAAQ,EAAK,EACrB,QAAQD,IAAM,EAAI,GACvB,KAAK,WAAW;AAAA,EACpB;AAAA;AAAA,EAEA,UAAU;AACN,IAAI,KAAK,aAEL,KAAK,OAAO,aACZ,OAAO,aAAa,KAAK,mBAAmB,GAC5C,KAAK,sBAAsB,WAAW,MAAM;AACxC,WAAK,SAAQ,GACb,KAAK,MAAM,EAAE,GAAG,KAAK,UAAU,CAAC,GAAG,GAAG,KAAK,UAAU,CAAC,EAAC,CAAE;AAAA,IAC7D,GAAG,KAAK,OAAO,SAAS,KAGxB,KAAK,SAAQ;AAAA,EAErB;AAAA,EACA,MAAMK,GAAK;AAEP,QADA,KAAK,YAAY,CAACA,EAAI,GAAGA,EAAI,CAAC,GAC1B,CAAC,KAAK,gBAAgB;AACtB,cAAQ,KAAK,mEAAmE;AAChF;AAAA,IACJ;AACA,UAAM,EAAE,QAAAnN,EAAM,IAAK,MACboN,IAAe,KAAK,QAAQ,aAC5BC,IAAgB,KAAK,QAAQ,cAC7BC,IAAsB,KAAK,mCAC5BtN,EAAO,wBAAwBsM,EAAS,OACnCA,EAAS,SACTtM,EAAO,sBACXuN,IAAoBvN,EAAO,sBAAsBsM,EAAS,OACxDa,EAAI,IAAIE,IAAiB,IAAIf,EAAS,SAASA,EAAS,MAC1DtM,EAAO,mBAIP6I,IAAS,GACT2E,IAAaF,MAAwBhB,EAAS,OAAO,CAACc,IAAevE,IAAS7I,EAAO,kBACrFsN,MAAwBhB,EAAS,SAAS,CAACc,IAAe,IACtDvE,IAAS7I,EAAO,iBACpByN,IAAaF,MAAsBjB,EAAS,SAASzD,IAAS7I,EAAO,gBACrEuN,MAAsBjB,EAAS,SAAS,CAACe,IAAgB,IACrD,CAACxE,IAAS7I,EAAO,gBAAgBqN,GAErC,CAACK,GAAKC,CAAI,IAAI,KAAK,0BAA0BR,EAAI,IAAIK,GAAYL,EAAI,IAAIM,GAAYL,GAAcC,CAAa;AACtH,SAAK,eAAeK,GAAKC,GAAMN,CAAa;AAAA,EAChD;AAAA,EACA,eAAeO,GAAgB;AAC3B,UAAM,EAAE,QAAA5N,EAAM,IAAK;AAInB,SAAK,kBAAkB4N;AAIvB,UAAM/E,IAAS,GACTuE,IAAe,KAAK,QAAQ,aAC5BC,IAAgB,KAAK,QAAQ,cAC7BQ,IAAkB,KAAK,mBACvBvC,IAAiBuC,IAAkB,OAAO,aAAa,KAAK,WAAW,aACvEC,IAAqBF,EAAe,yBAGpCG,IAAaF,IAAkB,CAACC,EAAmB,GAAGA,EAAmB,CAAC,IAAIE,GAAQ;AAAA,MACxF,SAASF,EAAmB;AAAA,MAC5B,SAASA,EAAmB;AAAA,MAC5B,OAAOA,EAAmB;AAAA,MAC1B,OAAOA,EAAmB;AAAA,IACtC,GAAW,KAAK,UAAU,GACZR,IAAsB,KAAK,mCAAmCtN,EAAO,wBAAwBsM,EAAS,OACrGyB,EAAW,CAAC,IAAIX,IAAe,IAAId,EAAS,QACzCyB,EAAW,CAAC,IAAIX,IAAe9B,IAAiBgB,EAAS,OAAOA,EAAS,SAC7EtM,EAAO;AACb,QAAIwN,IAAa;AACjB,YAAQF,GAAmB;AAAA,MACvB,KAAKhB,EAAS;AACV,QAAAkB,IAAa,CAACJ,IAAevE,IAAS7I,EAAO;AAC7C;AAAA,MACJ,KAAKsM,EAAS;AACV,QAAAkB,IAAaM,EAAmB,QAAQjF,IAAS7I,EAAO;AACxD;AAAA,MACJ,KAAKsM,EAAS;AAAA,MACd;AACI,QAAAkB,KAAc,CAACJ,IAAeU,EAAmB,SAAS;AAC1D;AAAA,IAChB;AACQ,UAAMP,IAAoBvN,EAAO,sBAAsBsM,EAAS,OACzDgB,MAAwBhB,EAAS,SAASA,EAAS,SAChDyB,EAAW,CAAC,IAAIV,IAAgB,IAAIf,EAAS,SAASA,EAAS,MACnEtM,EAAO;AACb,QAAIyN,IAAa,CAACJ;AAClB,YAAQE,GAAiB;AAAA,MACrB,KAAKjB,EAAS;AACV,QAAAmB,MAAeJ,IAAgBS,EAAmB,UAAU;AAC5D;AAAA,MACJ,KAAKxB,EAAS;AACV,QAAAmB,KAAcJ,IAAgBS,EAAmB,SAASjF,IAAS7I,EAAO;AAC1E;AAAA,MACJ,KAAKsM,EAAS;AAAA,MACd;AACI,QAAAmB,KAAc,CAAC5E,IAAS7I,EAAO;AAC/B;AAAA,IAChB;AACQ,UAAM,CAAC0N,GAAKC,CAAI,IAAI,KAAK,0BAA0BI,EAAW,CAAC,IAAIP,GAAYO,EAAW,CAAC,IAAIN,GAAYL,GAAcC,CAAa;AACtI,SAAK,eAAeK,GAAKC,GAAMN,CAAa;AAAA,EAChD;AAAA,EACA,kBAAkB;AACd,WAAO,KAAK,eAAe,SAAS;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,4BAA4BY,GAAW;AACnC,SAAK,iCAAiCA;AAAA,EAC1C;AAAA,EACA,OAAOf,GAAM;AACT,QAAIjN;AACJ,UAAM,EAAE,QAAAD,GAAQ,YAAAkO,EAAU,IAAK;AAC/B,IAAIhB,aAAgB,cACH,KAAK,IAAI,OAAO,cAAc,EAAE,WAChCA,KACT,KAAK,IAAI,KAAK,EAAE,EAAE,OAAO,MAAMA,CAAI,IAElCA,MAAS,QACd,KAAK,IAAI,KAAKA,KAAQ,EAAE,GAE5B,KAAK,IACA,SAASjN,IAAKD,EAAO,eAAe,QAAQC,MAAO,SAASA,IAAK,IAAI,EAAQD,EAAO,SAAU,EAC9F,QAAQgN,IAAgB,CAAChN,EAAO,UAAU,GAEckO,GAAW,aAAcA,EAAW,cAAclO,EAAO,aAClH,KAAK,IAAI,QAAQkO,EAAW,WAAW,EAAK,GAEhD,KAAK,QAAO;AAAA,EAChB;AAAA,EACA,eAAeC,GAAGC,GAAGf,GAAe;AAChC,UAAMQ,IAAkB,KAAK,mBACvBtC,IAAkBsC,IAAkB,OAAO,cAAc,KAAK,WAAW;AAC/E,SAAK,IACA,QAAQhB,IAAegB,CAAe,EACtC,MAAM,OAAOA,IAAkB,GAAGO,CAAC,OAAO,OAAO,EACjD,MAAM,UAAWP,IAA+D,UAA7C,GAAGtC,IAAkB6C,IAAIf,CAAa,IAAc,EACvF,MAAM,QAAQ,GAAGc,CAAC,IAAI;AAAA,EAC/B;AAAA,EACA,0BAA0BT,GAAKC,GAAMP,GAAcC,GAAe;AAC9D,UAAMQ,IAAkB,KAAK,mBACvBtC,IAAkBsC,IAAkB,OAAO,cAAc,KAAK,WAAW,cACzEvC,IAAiBuC,IAAkB,OAAO,aAAa,KAAK,WAAW,aAEvEQ,IAAW,IACXC,IAAWZ,IAAOpC,IAAiB8B,IAAeiB,GAClDE,IAAUb,IAAMW,GAChBG,IAAkBF,IAAWhD,IAAiB8B,IAAeiB,IAC7DE,IAAUF,IAAWX,GACrBe,IAAW,IACXC,IAAYf,IAAQpC,IAAkB8B,IAAgBoB,GACtDE,IAAShB,IAAOc,GAChBG,IAAiBF,IAAYnD,IAAkB8B,IAAgBoB,IAC/DE,IAASF,IAAWd;AAC1B,WAAO;AAAA,MACHrC,IAAiB8B,IAAe,IAAIoB;AAAA,MACpCjD,IAAkB8B,IAAgB,IAAIuB;AAAA,IAClD;AAAA,EACI;AAAA,EACA,wBAAwB;AACpB,QAAI3O;AAGJ,IAAI,KAAK,eAAe,SAAS,UAAUA,IAAK,iBAAiB,KAAK,UAAU,OAAO,QAAQA,MAAO,SAAS,SAASA,EAAG,cAAc,aACrI,KAAK,WAAW,MAAM,WAAW;AAAA,EAEzC;AAAA,EACA,eAAe;AACX,UAAM,EAAE,QAAAD,EAAM,IAAK;AAInB,SAAK,WAAW,QAAQ,CAAAwG,MAAa;AACjC,YAAMZ,IAAY7F,EAAOyG,EAAU,OAAO;AAC1C,MAAAZ,EACK,GAAG,qBAAqB,CAACiJ,MAAM;AAChC,cAAM,EAAE,QAAQC,EAAa,IAAK,MAC5BC,IAAQF,EAAE,gBAAgBA,EAAE,kBAAmBA,EAAE,QAAQ,CAACA,EAAE,MAAM;AAExE,mBAAW9N,KAAa,OAAO,KAAK+N,EAAc,QAAQ,GAAG;AACzD,gBAAME,IAAWF,EAAc,SAAS/N,CAAS;AACjD,cAAI,CAACiO;AACD;AACJ,gBAAMlD,IAAMlG,EAAU,UAAU,IAAI7E,CAAS,EAAE,EAAE;AAEjD,qBAAWkO,KAAMF,GAAM;AACnB,gBAAIE,MAAOrJ,EAAU,KAAI;AACrB;AACJ,gBAAIqJ,EAAG,UAAU,SAASlO,CAAS,GAAG;AAClC,oBAAMhF,IAAI+P,EAAI,QAAQmD,CAAE,GAClB7R,IAAI2C,EAAOkP,CAAE,EAAE,MAAK,GACpBC,IAAUF,EAAS5R,GAAGrB,GAAG+P,CAAG,GAC5B,CAACqC,GAAGC,CAAC,IAAI,KAAK,gBAAe,IAAK,CAACS,EAAE,SAASA,EAAE,OAAO,IAAIb,GAAQa,GAAG,KAAK,UAAU;AAC3F,cAAIK,MAAY,OAEZ,KAAK,KAAI,KAKT,KAAK,OAAOA,CAAO,GACfJ,EAAc,eACd,KAAK,MAAM,EAAE,GAAAX,GAAG,GAAAC,EAAC,CAAE,IAEnB,KAAK,eAAea,CAAE,IAG9BJ,EAAE,gBAAe;AAEjB;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAIA,QAAI,KAAK,YACL,KAAK,KAAI;AAAA,MACjB,CAAC,EACI,GAAG,sBAAsB,CAACA,MAAM;AACjC,QAAAA,EAAE,gBAAe,GACjB,KAAK,KAAI;AAAA,MACb,CAAC;AAAA,IACL,CAAC,GAEG7O,EAAO,aACP,KAAK,IACA,GAAG,sBAAsB,KAAK,SAAS,KAAK,IAAI,CAAC,EACjD,GAAG,sBAAsB,KAAK,KAAK,KAAK,IAAI,CAAC,IAGlD,KAAK,IACA,GAAG,sBAAsB,IAAI,EAC7B,GAAG,sBAAsB,IAAI;AAAA,EAE1C;AAAA,EACA,mBAAmB;AACf,UAAMmP,IAAgB,KAAK,OAAO;AAClC,IAAKA,KAEL,OAAO,KAAKA,CAAa,EAAE,QAAQ,CAAAzD,MAAQ;AACvC,WAAK,IAAI,KAAKA,GAAMyD,EAAczD,CAAI,CAAC;AAAA,IAC3C,CAAC;AAAA,EACL;AAAA,EACA,UAAU;AACN,QAAIzL;AACJ,SAAK,kBAAkB,cACvB,OAAO,aAAa,KAAK,mBAAmB,GAC5C,OAAO,aAAa,KAAK,mBAAmB,IAC3CA,IAAK,KAAK,SAAS,QAAQA,MAAO,UAAkBA,EAAG;EAC5D;AACJ;AACAgN,GAAQ,YAAYmC;ACnWpB,SAASC,EAASjS,GAAGC,GAAUC,GAAOgS,GAAsB;AACxD,SAAI,MAAM,QAAQjS,CAAQ,KAAK,SAASC,CAAK,IAClCD,EAASC,IAAQD,EAAS,MAAM,IAC7BE,GAAUH,GAAGC,GAAUC,CAAK,MACvBpC,EAASoC,CAAK,IAA8B,OAAO2G,EAAoB3G,CAAK,CAAC,MAAM;AAC1G;ACTA,IAAIiS;AAAA,CACH,SAAUA,GAAW;AAClB,EAAAA,EAAU,QAAW,SACrBA,EAAU,cAAiB,eAC3BA,EAAU,YAAe,aACzBA,EAAU,SAAY,UACtBA,EAAU,WAAc,YACxBA,EAAU,iBAAoB,kBAC9BA,EAAU,eAAkB,gBAC5BA,EAAU,aAAgB,cAC1BA,EAAU,mBAAsB,oBAChCA,EAAU,iBAAoB,kBAC9BA,EAAU,SAAY,UACtBA,EAAU,eAAkB,gBAC5BA,EAAU,YAAe,aACzBA,EAAU,YAAe,aACzBA,EAAU,UAAa,WACvBA,EAAU,OAAU,QACpBA,EAAU,YAAe,aACzBA,EAAU,aAAgB;AAC9B,GAAGA,MAAcA,IAAY,CAAA,EAAG;AAChC,MAAMC,KAAQ;AAAA,EACV,CAACD,EAAU,KAAK,GAAGE;AAAA,EACnB,CAACF,EAAU,WAAW,GAAGG;AAAA,EACzB,CAACH,EAAU,SAAS,GAAGI;AAAA,EACvB,CAACJ,EAAU,MAAM,GAAGK;AAAA,EACpB,CAACL,EAAU,QAAQ,GAAGM;AAAA,EACtB,CAACN,EAAU,cAAc,GAAGO;AAAA,EAC5B,CAACP,EAAU,YAAY,GAAGQ;AAAA,EAC1B,CAACR,EAAU,UAAU,GAAGS;AAAA,EACxB,CAACT,EAAU,gBAAgB,GAAGU;AAAA,EAC9B,CAACV,EAAU,cAAc,GAAGW;AAAA,EAC5B,CAACX,EAAU,MAAM,GAAGY;AAAA,EACpB,CAACZ,EAAU,YAAY,GAAGa;AAAA,EAC1B,CAACb,EAAU,SAAS,GAAGc;AAAAA,EACvB,CAACd,EAAU,SAAS,GAAGe;AAAAA,EACvB,CAACf,EAAU,OAAO,GAAGgB;AAAA,EACrB,CAAChB,EAAU,IAAI,GAAGiB;AAAA,EAClB,CAACjB,EAAU,SAAS,GAAGkB;AAAAA,EACvB,CAAClB,EAAU,UAAU,GAAGmB;AAC5B,GCvCMC,KAAoB,OAAO,OAAO,OAAO,OAAO,IAAI1E,EAAwB,GAAG,EAAE,WAAWsD,EAAU,WAAW,WAAW,GAAG,eAAe,QAAW,eAAe,QAAW,kBAAkB,IAAO,QAAQ,MAAM,wBAAwB,GAAK,CAAE,GCDzPqB,KAAe9O;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWf6K,KAAO7L;AAAA;AAAA,GAGP+P,KAAO/P;AAAA;AAAA;AAAA;AAAA,GAKPgQ,KAAWhQ;AAAA;AAAA;AAAA;AAAA;AAAA,GAMXiQ,KAAsBjQ;AAAA;AAAA;AAAA;AAAA;AAAA,GAMtBkQ,KAAMlQ;AAAA;AAAA,GAGNmQ,KAAmBnQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;ACvBzB,MAAMoQ,WAAahF,GAAgB;AAAA,EAC/B,YAAYlM,GAAQ;AAChB,aACA,KAAK,iBAAiB2Q,IACtB,KAAK,SAAS,KAAK,gBACnB,KAAK,QAAQnB,GAAMD,EAAU,SAAS,GACtC,KAAK,SAAS;AAAA,MACV,CAAC2B,GAAK,UAAU,IAAI,GAAG;AAAA,QACnB,WAAW,KAAK,WAAW,KAAK,IAAI;AAAA,QACpC,YAAY,KAAK,gBAAgB,KAAK,IAAI;AAAA,MAC1D;AAAA,IACA,GACYlR,KACA,KAAK,UAAUA,CAAM;AAAA,EAC7B;AAAA,EACA,IAAI,QAAQ;AACR,UAAM,EAAE,QAAQ,EAAE,WAAAmR,EAAS,EAAE,IAAK,MAC5BC,IAAU,KAAK,OAAO,OAAM,GAI5B7G,KAHa,KAAK,OAAO,MAAK,EAAG,CAAC,IAAI,KAAK,OAAO,MAAK,EAAG,CAAC,IAC3D/B,EAAU,QACVA,EAAU,WACyBA,EAAU,OAC7C6I,IAAcF,IAAY,GAC1BG,IAAkBH,KAAa;AACrC,WAAO;AAAA,MACH,KAAK,CAACG,MAAqB,CAAC/G,KAAsB6G,EAAQ,CAAC,MAAM,KAAQ7G,KAAsB6G,EAAQ,CAAC,MAAM,KAAO,IAAID,IAAY;AAAA,MACrI,QAAQ,CAACG,MAAqB,CAAC/G,KAAsB6G,EAAQ,CAAC,MAAM,KAAQ7G,KAAsB6G,EAAQ,CAAC,MAAM,KAAO,IAAID,IAAY;AAAA,MACxI,MAAME,IAAcF,IAAY,IAAI;AAAA,MACpC,OAAOE,IAAcF,IAAY,IAAI;AAAA,IACjD;AAAA,EACI;AAAA,EACA,QAAQ/H,GAAgB;AACpB,UAAM,QAAQA,CAAc;AAC5B,UAAM,EAAE,QAAApJ,GAAQ,WAAW,EAAE,MAAAtC,EAAI,EAAE,IAAK,MAClCwC,IAAWhF,EAASkO,CAAc,IAAIA,IAAiBpJ,EAAO;AACpE,SAAK,QAAQwP,GAAMxP,EAAO,SAAS,GACnC,KAAK,UAAU6Q,GAAI,EACd,EAAE,OAAK,EAAE,CAAC,EACV,EAAE,OAAK,EAAE,CAAC,EACV,QAAQ,OAAK,EAAE,OAAO,EACtB,MAAM,KAAK,KAAK;AACrB,UAAMtH,IAAclO,GAAQ2E,EAAO,CAAC,IAAIA,EAAO,IAAI,CAACA,EAAO,CAAC,GACtDuR,IAAY7T,EAAK,IAAI,CAAC,GAAG3B,MAAM,KAAK,OAAOyB,EAAU,GAAGwC,EAAO,GAAGjE,CAAC,CAAC,CAAC,GACrEyV,IAAWjI,EAAW,IAAI,CAAApO,MAAK;AACjC,YAAMsW,IAAK/T,EAAK,IAAI,CAACN,GAAGrB,MAAM;AAC1B,cAAM2V,IAAWlU,EAAUJ,GAAGjC,GAAGY,CAAC,GAE5BoC,KAASjD,EAASwW,CAAQ,KAAMA,MAAa,SAAU,SAASA,CAAQ,IAAIA,IAAW1R,EAAO,eAC9F2R,IAAU3R,EAAO,0BAChB9E,EAASwW,CAAQ,KAAMA,MAAa,SAAU,SAASA,CAAQ,IAChE,SAASvT,CAAK;AACpB,eAAO;AAAA,UACH,GAAGoT,EAAUxV,CAAC;AAAA,UACd,GAAG,KAAK,OAAOoC,KAA6C,CAAC;AAAA,UAC7D,SAAAwT;AAAA,UACA,OAAAxT;AAAA,QACpB;AAAA,MACY,CAAC,GACKwT,IAAUF,EAAG,OAAO,CAACG,GAAKxU,MAAOA,EAAE,WAAWwU,GAAM,EAAK;AAC/D,UAAIC,IAAW;AACf,YAAMC,IAAOL,EAAG,OAAO,CAACM,GAAK3U,GAAGrB,MAAM;AAElC,QAAI,CAACqB,EAAE,WAAW,SAAS4C,EAAO,aAAa,KAC3C+R,EAAI,KAAK,OAAO,OAAO,OAAO,OAAO,IAAI3U,CAAC,GAAG,EAAE,SAAS,GAAI,CAAE,CAAC,GAE/D,CAACA,EAAE,WAAW,CAACyU,MACfA,IAAW;AACf,cAAMG,IAAcjW,IAAI,KAAK,CAAC0V,EAAG1V,IAAI,CAAC,EAAE,WAAaA,IAAI0V,EAAG,SAAS,KAAK,CAACA,EAAG1V,IAAI,CAAC,EAAE;AACrF,eAAIqB,EAAE,WAAW4U,MAERH,KACDE,EAAI,KAAK,OAAO,OAAO,OAAO,OAAO,IAAI3U,CAAC,GAAG,EAAE,SAAS,GAAK,CAAE,CAAC,GACpE2U,EAAI,KAAK3U,CAAC,GACVyU,IAAW,KAERE;AAAA,MACX,GAAG,CAAA,CAAE,GAGCE,IAAUN,KAAWF,EAAG,KAAK,CAAArU,MAAKA,EAAE,UAAU,IAAI;AACxD,aAAO;AAAA,QACH,QAAQqU;AAAA,QACR,SAAAE;AAAA,QACA,MAAAG;AAAA,QACA,SAAAG;AAAA,MAChB;AAAA,IACQ,CAAC,GACKpN,IAAQ,KAAK,EACd,UAAU,IAAIqN,EAAM,EAAE,EACtB,KAAKV,CAAQ,GACZW,IAAatN,EAAM,MAAK,EAAG,OAAO,GAAG,EACtC,KAAK,SAASqN,EAAM;AACzB,IAAAC,EACK,OAAO,MAAM,EACb,KAAK,SAASrB,EAAQ,EACtB,KAAK,UAAU,CAAC,GAAG/U,MAAMsT,EAAS3R,GAAMsC,EAAO,OAAOjE,CAAC,CAAC,EACxD,KAAK,kBAAkB,CAAC,EACxB,KAAK,gBAAgBiE,EAAO,SAAS,GAC1CmS,EACK,OAAO,MAAM,EACb,KAAK,SAASpB,EAAmB,EACjC,KAAK,KAAK,KAAK,WAAU,CAAE,GAChCoB,EAAW,OAAO,MAAM,EACnB,KAAK,SAASlB,EAAgB,EAC9B,KAAK,KAAK,KAAK,YAAY,EAC3B,MAAM,WAAW,CAAC;AACvB,UAAMmB,IAAcD,EAAW,MAAMtN,CAAK;AAC1C,IAAAuN,EAAY,MAAM,UAAU,CAAC,GAAGrW,MAAMwB,GAAUG,GAAMsC,EAAO,QAAQjE,CAAC,CAAC,GACvEqW,EAAY,KAAK,CAAC,GAAGrW,GAAGsW,MAAa;AACjC,UAAIpS;AACJ,YAAMqS,IAAQvS,EAAOsS,EAAStW,CAAC,CAAC,GAC1BwW,IAAaD,EAAM,OAAO,IAAIxB,EAAQ,EAAE,GACxC0B,IAAwBF,EAAM,OAAO,IAAIvB,EAAmB,EAAE,GAC9D0B,IAAWH,EAAM,OAAO,IAAIrB,EAAgB,EAAE,GAC9CyB,IAAgB,EAAE,SAClBC,IAAYxV,GAASO,GAAMsC,EAAO,eAAejE,CAAC,GAClDiK,IAAaL,EAAgB4M,GAAYrS,CAAQ,EAClD,KAAK,UAAUmP,EAAS3R,GAAMsC,EAAO,OAAOjE,CAAC,CAAC,EAC9C,KAAK,gBAAgBiE,EAAO,SAAS,EACrC,KAAK,kBAAkB0S,IAAgB,IAAI,CAAC,EAC5C,MAAM,qBAAqBzS,IAA2D0S,GAAU,KAAK,GAAG,OAAO,QAAQ1S,MAAO,SAASA,IAAK,IAAI,GAC/I2S,IAAuB,EAAE,OAAO,KAAK,CAAAxV,MAAK,CAACA,EAAE,OAAO,GACpDyV,IAAW,KAAK,QAAQ,EAAE,MAAM;AACtC,UAAI3S,KAAY,CAAC0S,GAAsB;AACnC,cAAME,IAAWP,EAAW,KAAK,GAAG,KAAK,KAAK,cACxCQ,IAAOF,KAAY,KAAK,WAAU;AAExC,QADU7M,EACR,UAAU,KAAK,MAAMgN,GAAgBF,GAAUC,CAAI,CAAC;AAAA,MAC1D,MACK,CAAI,EAAE,WACP/M,EAAW,KAAK,KAAK6M,CAAQ;AAEjC,MAAAL,EACK,KAAK,KAAKK,CAAQ,EAClB,KAAK,cAAcH,IAAgB,OAAO,QAAQ,GACnDE,KAAwB5S,EAAO,yBAC/B2F,EAAgB8M,GAAUvS,CAAQ,EAC7B,KAAK,KAAK,KAAK,QAAQ,EAAE,IAAI,CAAC,EAC9B,KAAK,UAAUmP,EAAS3R,GAAMsC,EAAO,OAAOjE,CAAC,CAAC,EAC9C,KAAK,gBAAgBiE,EAAO,YAAY,CAAC,EACzC,MAAM,WAAW,CAAC,IAGvByS,EAAS,WAAU,EACd,SAASvS,CAAQ,EACjB,MAAM,WAAW,CAAC;AAAA,IAE/B,CAAC,GACDyF,EAAgBd,EAAM,KAAI,GAAI3E,CAAQ,EACjC,MAAM,WAAW,CAAC,EAClB;EACT;AAAA,EACA,aAAa;AACT,UAAMsK,IAAS,KAAK,OAAO,MAAK,GAC1BC,IAAS,KAAK,OAAO,MAAK;AAChC,WAAO,IAAID,EAAO,CAAC,CAAC,IAAIC,EAAO,CAAC,CAAC,KAAKD,EAAO,CAAC,CAAC,IAAIC,EAAO,CAAC,CAAC;AAAA,EAChE;AAAA,EACA,WAAWwI,GAAO;AACd,UAAM,EAAE,QAAAjT,EAAM,IAAK;AACnB,IAAIA,EAAO,oBACP,KAAK,EACA,UAAU,IAAIkS,EAAM,EAAE,EACtB,QAAQlB,IAAK,CAAA5T,MAAKA,MAAM6V,CAAK;AAAA,EAE1C;AAAA,EACA,kBAAkB;AACd,UAAM,EAAE,QAAAjT,EAAM,IAAK;AACnB,IAAIA,EAAO,oBACP,KAAK,EACA,UAAU,IAAIkS,EAAM,EAAE,EACtB,QAAQlB,IAAK,EAAK;AAAA,EAE/B;AACJ;AACAE,GAAK,YAAY9B;ACxKjB,SAAS8D,GAAgB,EAAE,GAAA/E,GAAG,GAAAC,GAAG,GAAA+E,GAAG,GAAAC,GAAG,IAAAC,IAAK,IAAO,IAAAC,IAAK,IAAO,IAAAC,IAAK,IAAO,IAAAC,IAAK,IAAO,IAAI,KAAM;AAC7F,MAAIzE;AACJ,EAAAA,IAAO,IAAIZ,IAAI,CAAC,IAAIC,CAAC,IAAI+E,IAAI,IAAI,CAAC;AAClC,MAAIM,IAAWH,IAAK,IAAI,GACpBI,IAAWJ,IAAK,IAAI;AACxB,SAAAvE,KAAQ,IAAI0E,CAAQ,IAAIA,CAAQ,UAAUA,CAAQ,IAAIA,CAAQ,IAC9D1E,KAAQ,IAAI2E,CAAQ,IAAIA,CAAQ,IAChC3E,KAAQ,IAAIqE,IAAI,IAAI,CAAC,IACrBK,IAAWD,IAAK,IAAI,GACpBE,IAAWF,IAAK,IAAI,GACpBzE,KAAQ,IAAI0E,CAAQ,IAAIA,CAAQ,UAAU,CAACA,CAAQ,IAAIA,CAAQ,IAC/D1E,KAAQ,IAAI2E,CAAQ,IAAI,CAACA,CAAQ,IACjC3E,KAAQ,IAAI,IAAI,IAAIoE,CAAC,IACrBM,IAAWF,IAAK,IAAI,GACpBG,IAAWH,IAAK,IAAI,GACpBxE,KAAQ,IAAI0E,CAAQ,IAAIA,CAAQ,UAAU,CAACA,CAAQ,IAAI,CAACA,CAAQ,IAChE1E,KAAQ,IAAI,CAAC2E,CAAQ,IAAI,CAACA,CAAQ,IAClC3E,KAAQ,IAAI,IAAI,IAAIqE,CAAC,IACrBK,IAAWJ,IAAK,IAAI,GACpBK,IAAWL,IAAK,IAAI,GACpBtE,KAAQ,IAAI0E,CAAQ,IAAIA,CAAQ,UAAUA,CAAQ,IAAI,CAACA,CAAQ,IAC/D1E,KAAQ,IAAI,CAAC2E,CAAQ,IAAIA,CAAQ,IACjC3E,KAAQ,KACDA;AACX;ACxCA,MAAM4E,KAA0B,OAAO,OAAO,OAAO,OAAO,CAAA,GAAI1H,EAAwB,GAAG,EAAE,OAAO,QAAW,eAAe,QAAW,YAAY,QAAW,UAAU,QAAW,cAAc,MAAM,YAAY,GAAK,gBAAgB,GAAG,cAAc,GAAG,QAAQ,MAAM,aAAaQ,GAAY,SAAQ,CAAE,GCDzSE,KAAO7L;AAAA;AAAA,GAGP8P,KAAe9O;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAcD,IAAI6K,EAAI,EAAE;AAAA;AAAA;AAAA,GAIxBiH,KAAM9S;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYN+S,KAAW/S;AAAA;AAAA,GAGXgT,KAAehT;AAAA;AAAA;;;;;;;;ACzBrB,MAAMiT,WAAmB7H,GAAgB;AAAA,EACrC,YAAYlM,GAAQ;AAChB,aACA,KAAK,iBAAiB2T,IACtB,KAAK,SAAS,KAAK,gBACnB,KAAK,eAAe,MAAMtY,GAAQ,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,OAAO,CAAC,GACjF,KAAK,SAAS,IACd,KAAK,WAAW,IACZ2E,KACA,KAAK,UAAUA,CAAM;AAAA,EAC7B;AAAA,EACA,IAAI,QAAQ;AAER,QADA,KAAK,WAAW,KAAK,mBACjB,KAAK,SAAS,WAAW;AACzB,aAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO;AAEhD,UAAMgU,IAAyB,CAAC,KAAK,WAAU,KAAO,KAAK,UAAU,MAAK,EAAG,CAAC,IAAI,KAAK,UAAU,MAAK,EAAG,CAAC,GACpGC,IAAa,KAAK,UAAU,OAAM,GAClCC,IAAiB,KAAK,eAAc,IAAK,GACzCC,IAAkB,KAAK,SAAS,IAAI,CAAC/W,GAAGrB,MAAMyB,EAAUJ,GAAG,KAAK,OAAO,GAAGrB,CAAC,CAAC,GAC5EqY,IAAiBxW,GAAIuW,CAAe,GACpCE,IAAgBxW,GAAIsW,CAAe,GACnCG,IAAe,KAAK,UAAUF,CAAc,GAC5CG,IAAc,KAAK,UAAUF,CAAa,GAC1CG,IAA0B,KAAK,UAAU,OAAOF,KAAgBN,IAAyBE,IAAiB,CAACA,EAAe,GAC1HO,IAAwB,KAAK,UAAU,OAAOF,KAAeP,IAAyB,CAACE,IAAiBA,EAAe,GACvHQ,IAAeF,KAA2BP,EAAW,CAAC,IAAI,KAAK,UAAUA,EAAW,CAAC,CAAC,IAAI,KAAK,UAAUO,CAAuB,IAAI,GACpIG,IAAaF,IAAwBR,EAAW,CAAC,IAAI,KAAK,UAAUQ,CAAqB,IAAI,KAAK,UAAUR,EAAW,CAAC,CAAC,IAAI;AACnI,WAAO;AAAA,MACH,KAAK,KAAK,WAAU,IAAK,IAAKD,IAAyB,CAACW,IAAaD;AAAA,MACrE,QAAQ,KAAK,WAAU,IAAK,IAAKV,IAAyB,CAACU,IAAeC;AAAA,MAC1E,MAAM,KAAK,WAAU,IAAKD,IAAe;AAAA,MACzC,OAAO,KAAK,WAAU,IAAKC,IAAa;AAAA,IACpD;AAAA,EACI;AAAA,EACA,IAAI,YAAY;AACZ,WAAO,KAAK,WAAU,IAAK,KAAK,SAAS,KAAK;AAAA,EAClD;AAAA,EACA,IAAI,aAAa;AACb,WAAO,KAAK,WAAU,IAAK,KAAK,SAAS,KAAK;AAAA,EAClD;AAAA,EACA,aAAa;AACT,WAAO,KAAK,OAAO,gBAAgBlI,GAAY;AAAA,EACnD;AAAA,EACA,QAAQrD,GAAgB;AACpB,UAAM,EAAE,QAAApJ,EAAM,IAAK,MACbE,IAAWhF,EAASkO,CAAc,IAClCA,IACApJ,EAAO,UACP4U,IAAa,KAAK,kBAClBrL,IAAa,KAAK,gBAClBsL,IAAsB,CAAC,CAACD,IAAa,GAAGA,IAAa,CAAC,GACtDE,IAAiBzM,GAAS,EAC3B,OAAOvJ,GAAMyK,EAAW,MAAM,CAAC,EAC/B,MAAMsL,CAAmB,EACzB,aAAa7U,EAAO,UAAU,EAC9B,aAAaA,EAAO,UAAU,GAC7B+U,IAAY,KAAK,EAClB,UAAU,IAAIlB,EAAQ,EAAE,EACxB,KAAK,KAAK,UAAU,CAACzW,GAAGrB,MAAM;AAAE,UAAIkE;AAAI,aAAO,IAAIA,IAAK1C,GAAUH,GAAG4C,EAAO,IAAIjE,CAAC,OAAO,QAAQkE,MAAO,SAASA,IAAKlE,CAAC;AAAA,IAAI,CAAC,GAC1HiZ,IAAwB,CAAC5X,GAAGrB,MAAM;AACpC,YAAMkZ,IAAI,KAAK,UAAUzX,EAAUJ,GAAG4C,EAAO,GAAGjE,CAAC,CAAC,GAC5CoS,IAAI,KAAK,WAAU,IAAK8G,IAAI,GAC5B7G,IAAI,KAAK,WAAU,IAAK,IAAI6G;AAClC,aAAO,aAAa9G,CAAC,IAAIC,CAAC;AAAA,IAC9B,GAOM8G,IANiBH,EAClB,MAAK,EACL,OAAO,GAAG,EACV,KAAK,SAASlB,EAAQ,EACtB,KAAK,aAAamB,CAAqB,EACvC,MAAM,WAAW,CAAC,EACgB,MAAMD,CAAS;AACtD,IAAApP,EAAgBuP,GAAiBhV,CAAQ,EACpC,KAAK,aAAa8U,CAAqB,EACvC,MAAM,WAAW,CAAC;AACvB,UAAMG,IAAiBJ,EAAU,KAAI,EAAG,KAAK,SAASjB,EAAY;AAClE,IAAAnO,EAAgBwP,GAAgBjV,CAAQ,EAAE,MAAM,WAAW,CAAC,EAAE,UAE9DyF,EAAgBwP,EAAe,UAAU,IAAIvB,EAAG,EAAE,GAAG1T,CAAQ,EACxD,KAAK,aAAa,CAAC9C,GAAGrB,GAAG8S,MACnB,KAAK,WAAU,IAChB,eAAe,KAAK,OAAO,CAAC,CAAC,iBAC7B,aAAa,KAAK,OAAO,CAAC,CAAC,gBACpC;AACD,UAAMuG,IAAWN,EAAe,aAC1BO,IAAOH,EACR,UAAU,IAAItB,EAAG,EAAE,EACnB,KAAK,CAACxW,MAAMmM,EAAW,IAAI,MAAMnM,CAAC,CAAC,GAClCkY,IAAqB,KAAK,0BAa1BC,IAZYF,EACb,MAAK,EACL,OAAO,MAAM,EACb,KAAK,SAASzB,EAAG,EACjB,KAAK,KAAK,CAACxW,GAAGrB,MAAM;AACrB,YAAMoS,IAAI2G,EAAe/Y,CAAC,GACpBqS,IAAI,KAAK,WAAW,CAAC,GACrBjO,IAAQiV;AAEd,aAAO,KAAK,YAAYjH,GAAGC,GAAGjO,GADf,GAC8B,IAAOmV,CAAkB;AAAA,IAC1E,CAAC,EACI,MAAM,QAAQ,CAAClY,GAAGrB,MAAMsT,EAASjS,GAAG4C,EAAO,OAAOjE,CAAC,CAAC,EAC5B,MAAMsZ,CAAI;AACvC,IAAA1P,EAAgB4P,GAAYrV,CAAQ,EAC/B,KAAK,KAAK,CAAC9C,GAAGsB,MAAM;AACrB,YAAMyP,IAAI2G,EAAepW,CAAC,GACpByB,IAAQiV,GAERjX,IAAQX,EAAUJ,GAAGmM,EAAW7K,CAAC,CAAC,GAClC8W,IAAarX,IAAQ;AAC3B,UAAIiQ,IAAIoH,IAAa,KAAK,WAAW,CAAC,IAAI,KAAK,WAAWrX,KAAS,CAAC,GAChEiC,IAAS,KAAK,IAAI,KAAK,WAAW,CAAC,IAAI,KAAK,WAAWjC,CAAK,CAAC,KAAK;AAEtE,UAAIiC,IAASJ,EAAO,cAAc;AAC9B,cAAMyV,IAAMH,MAAuB9M,EAAU,QAAQ,KAAK;AAC1D,QAAA4F,IAAI,KAAK,WAAW,CAAC,IAAIqH,IAAMzV,EAAO,cACtCI,IAASJ,EAAO;AAAA,MACpB;AACA,aAAO,KAAK,YAAYmO,GAAGC,GAAGjO,GAAOC,GAAQoV,GAAYF,CAAkB;AAAA,IAC/E,CAAC,EACI,MAAM,QAAQ,CAAClY,GAAGrB,MAAMsT,EAASjS,GAAG4C,EAAO,OAAOjE,CAAC,CAAC,EACpD,MAAM,UAAU,CAACqB,GAAGrB,MAAMwB,GAAUH,GAAG4C,EAAO,QAAQjE,CAAC,CAAC,GAC7D4J,EAAgB0P,EAAK,KAAI,GAAInV,CAAQ,EAAE,OAAM;AAAA,EACjD;AAAA,EACA,yBAAyB;AACrB,WAAO,KAAK,WAAW,QAAQ,CAAC,IAAI,KAAK,WAAW,MAAK,EAAG,CAAC,IACvDsI,EAAU,QACVA,EAAU;AAAA,EACpB;AAAA,EACA,kBAAkB;AACd,UAAM,EAAE,QAAAxI,GAAQ,WAAW,EAAE,MAAAtC,EAAI,EAAE,IAAM,MACnCkX,IAAa,KAAK,kBAClBV,IAAiBxW,EAAK,SAAS,IAAI,IAAIkX,IAAa,GACpDc,IAAY,KAAK,WACjBC,IAAkB,KAAK,IAAID,EAAU,OAAOxB,CAAc,IAC5DwB,EAAU,OAAO,CAAC,CAAC;AAQvB,WAP6DhY,GAAK,OAAO,CAACN,GAAGrB,MAAM;AAC/E,YAAMkZ,IAAIzX,EAAUJ,GAAG4C,EAAO,GAAGjE,CAAC,GAC5BsO,IAASqL,EAAU,UACnBvL,IAAY,CAACE,EAAO,CAAC,GACrBD,IAAY,CAACC,EAAO,CAAC;AAC3B,aAAQ4K,KAAK9K,IAAYwL,KAAmBV,KAAK7K,IAAYuL;AAAA,IACjE,CAAC;AAAA,EAEL;AAAA,EACA,YAAYxH,GAAGC,GAAGjO,GAAOC,GAAQoV,GAAYhX,GAAW;AACpD,UAAM,EAAE,QAAAwB,EAAM,IAAK,MACb4V,IAAe5V,EAAO,iBACtB9E,EAAS8E,EAAO,cAAc,IAC1B,CAACA,EAAO,iBACRG,IAAQ,IACZ,GACA0V,IAAsBlY,EAAMiY,GAAc,GAAG,KAAK,IAAIxV,GAAQD,CAAK,IAAI,CAAC,GACxE2V,IAAkBtX,MAAcgK,EAAU,OAC1CuN,IAAa,KAAK,WAAU,KAAMP,MAAeM,GACjDE,IAAgB,KAAK,WAAU,KAAMR,MAAeM,GACpDG,IAAc,CAAC,KAAK,WAAU,KAAMT,GACpCU,IAAe,CAAC,KAAK,WAAU,KAAM,CAACV;AAC5C,WAAOtC,GAAgB;AAAA,MACnB,GAAG,KAAK,eAAe/E,IAAIC,KAAK0H,IAAkB,IAAI,CAAC1V;AAAA,MACvD,GAAG,KAAK,eAAegO,KAAK0H,IAAkB,IAAI,CAAC1V,KAAU+N;AAAA,MAC7D,GAAG,KAAK,WAAU,IAAKhO,IAAQC;AAAA,MAC/B,GAAG,KAAK,WAAU,IAAKA,IAASD;AAAA,MAChC,IAAI4V,KAAcE;AAAA,MAClB,IAAIF,KAAcG;AAAA,MAClB,IAAIF,KAAiBC;AAAA,MACrB,IAAID,KAAiBE;AAAA,MACrB,GAAGL;AAAA,IACf,CAAS;AAAA,EACL;AAAA,EACA,iBAAiB;AACb,UAAM,EAAE,QAAA7V,GAAQ,WAAW,EAAE,MAAAtC,EAAI,EAAE,IAAM;AACzC,QAAIjC,GAAQiC,CAAI;AACZ,aAAO;AACX,QAAIsC,EAAO;AACP,aAAOpC,GAAI,CAACoC,EAAO,YAAYA,EAAO,aAAa,CAAC;AAIxD,UAAMmW,IAAY,KAAK,UAAU,WAC3B9L,IAAU,KAAK,UAAU,SAAS,KAAK,UAAU,WAAW,CAAA;AAKlE,QAAI+L,IAAW,KAJMD,IAAY9L,EAAO,SAASA,EAAO,CAAC,IAAIA,EAAO,CAAC,KAInCrK,EAAO,YACpC,CAACmW,KACEzY,EAAK,OAAO,CAACN,GAAGrB,MAAM;AAClB,YAAMoC,IAAQX,EAAUJ,GAAG4C,EAAO,GAAGjE,CAAC;AACtC,aAAOoC,KAASkM,EAAO,CAAC,KAAKlM,KAASkM,EAAO,CAAC;AAAA,IAClD,CAAC,EAAE,UACP3M,EAAK;AAET,IAAI,CAACyY,KAAaC,KAAY,MAC1BA,KAAY;AAEhB,UAAMxB,KADIwB,IAAW,IAAI,IAAI,IAAIpW,EAAO,iBACf,KAAK,WAAU,IAAK,KAAK,SAAS,KAAK,WAAYoW;AAC5E,WAAOxY,GAAI,CAACgX,GAAY5U,EAAO,aAAa,CAAC;AAAA,EACjD;AAAA,EACA,oBAAoBmM,GAAoB;AACpC,UAAM,EAAE,WAAAC,EAAS,IAAK,MAChB7C,IAAa,KAAK,gBAClB7L,IAAOyO,IAAqB,KAAK,gBAAe,IAAKC,EAAU,MAC/DxO,IAAMQ,GAAOV,GAAM,GAAG6L,CAAU,GAChC1L,IAAMQ,GAAOX,GAAM,GAAG6L,CAAU;AACtC,WAAO,CAAC3L,IAAM,IAAI,IAAIA,GAAKC,IAAM,IAAI,IAAIA,CAAG;AAAA,EAChD;AAAA,EACA,qBAAqB;AACjB,UAAM,EAAE,QAAAmC,GAAQ,WAAAoM,EAAS,IAAK;AAC9B,WAAO9N,GAAU8N,EAAU,MAAMpM,EAAO,CAAC;AAAA,EAC7C;AAAA,EACA,eAAemM,GAAoB;AAC/B,WAAO,KAAK,WAAU,IAChB,KAAK,oBAAoBA,CAAkB,IAC3C,KAAK,mBAAkB;AAAA,EACjC;AAAA,EACA,iBAAiB;AACb,WAAO,KAAK,WAAU,IAChB,KAAK,mBAAkB,IACvB,KAAK,oBAAoB,EAAK;AAAA,EACxC;AACJ;AACA4H,GAAW,YAAY3E;AC3OvB,IAAIiH;AAAA,CACH,SAAUA,GAAU;AACjB,EAAAA,EAAS,QAAW,SACpBA,EAAS,SAAY,UACrBA,EAAS,MAAS;AACtB,GAAGA,MAAaA,IAAW,CAAA,EAAG;AAC9B,IAAIC;AAAA,CACH,SAAUA,GAAe;AACtB,EAAAA,EAAc,MAAS,OACvBA,EAAc,SAAY,UAC1BA,EAAc,SAAY;AAC9B,GAAGA,MAAkBA,IAAgB,CAAA,EAAG;AACxC,IAAIC;AAAA,CACH,SAAUA,GAAS;AAChB,EAAAA,EAAQ,OAAU,QAClBA,EAAQ,OAAU;AACtB,GAAGA,MAAYA,IAAU,CAAA,EAAG;AAC5B,IAAIC;AAAA,CACH,SAAUA,GAAW;AAClB,EAAAA,EAAU,OAAU,QACpBA,EAAU,SAAY,UACtBA,EAAU,QAAW;AACzB,GAAGA,MAAcA,IAAY,CAAA,EAAG;ACdhC,SAASC,GAA2BC,GAAW;AAC3C,UAAQA,GAAS;AAAA,IACb,KAAKF,EAAU;AACX,aAAO;AAAA,IACX,KAAKA,EAAU;AACX,aAAO;AAAA,IACX,KAAKA,EAAU;AAAA,IACf;AACI,aAAO;AAAA,EACnB;AACA;ACXA,MAAMG,KAAoB,CAACD,MAAc;AACrC,UAAQA,GAAS;AAAA,IACb,KAAKF,EAAU;AAAM,aAAO;AAAA,IAC5B,KAAKA,EAAU;AAAO,aAAO;AAAA,IAC7B,KAAKA,EAAU;AAAQ,aAAO;AAAA,IAC9B;AAAS,aAAO;AAAA,EACxB;AACA;AAOA,SAASI,GAAiBC,GAAK;AAC3B,SAAOA,EAAI,QAAQ,aAAa,CAACpR,GAAGqR,MAAWA,EAAO,YAAW,CAAE;AACvE;AAMA,SAASC,GAAUF,GAAK;AACpB,MAAI5W;AACJ,UAAQA,IAAK4W,EAAI,MAAM,8DAA8D,OAAO,QAAQ5W,MAAO,SAAS,SAASA,EAAG,OAAO,OAAO,EAAE,IAAI,CAAAkO,MAAKA,EAAE,aAAa,EAAE,KAAK,GAAG;AACtL;AACA,SAAS6I,GAAqBH,GAAK;AAC/B,SAAOA,EACF,QAAQ,SAAS,OAAO,EAExB,QAAQ,WAAW,KAAK,EACxB,QAAQ,OAAO,KAAK,EACpB,QAAQ,OAAO,KAAK,EACpB,QAAQ,OAAO,KAAK,EACpB,QAAQ,OAAO,KAAK,EACpB,QAAQ,OAAO,KAAK;AAC7B;AAOA,SAASI,GAAgBJ,GAAKK,IAAY,IAAI;AAC1C,SAAKL,IAEEA,EAAI,SAASK,IAAY,IAAIL,EAAI,OAAOA,EAAI,SAASK,GAAWA,CAAS,CAAC,KAAKL,IAD3E;AAEf;AAOA,SAASM,GAAiBN,GAAKK,IAAY,IAAI;AAC3C,MAAI,CAACL;AACD,WAAO;AACX,QAAMO,IAAO,KAAK,OAAOF,IAAY,KAAK,CAAC;AAC3C,SAAOL,EAAI,SAASK,IAAY,GAAGL,EAAI,OAAO,GAAGO,CAAI,CAAC,IAAIP,EAAI,OAAO,CAACO,GAAMA,CAAI,CAAC,KAAKP;AAC1F;AAOA,SAASQ,GAAcR,GAAKK,IAAY,IAAI;AACxC,SAAKL,IAEEA,EAAI,SAASK,IAAY,GAAGL,EAAI,OAAO,GAAGK,CAAS,CAAC,MAAML,IADtD;AAEf;AAQA,SAASS,GAAWT,GAAKU,IAAS,IAAInM,IAAOiL,EAAS,QAAQ;AAC1D,MAAI,CAACQ;AACD,WAAO;AACX,MAAIW,IAASH,GAAcR,GAAKU,CAAM;AACtC,SAAInM,MAASiL,EAAS,QAClBmB,IAASP,GAAgBJ,GAAKU,CAAM,IAC/BnM,MAASiL,EAAS,WACvBmB,IAASL,GAAiBN,GAAKU,CAAM,IAClCC;AACX;AAOA,SAASC,GAAYC,GAAMC,IAAa,CAAC,GAAG,GAAG;AAC3C,MAAIH,IAAS,CAACE,CAAI;AAClB,WAAS,IAAI,GAAG,IAAIC,EAAW,QAAQ,KAAK;AACxC,UAAMC,IAAMD,EAAW,CAAC;AACxB,IAAAH,EAAO,QAAQ,CAACpa,GAAGE,MAAU;AACzB,YAAMua,IAAYza,EAAE,MAAMwa,CAAG,GACvBE,IAAQD,EAAU,IAAI,CAACE,GAAMrZ,MAAM,GAAGqZ,CAAI,GAAGrZ,MAAMmZ,EAAU,SAAS,IAAI,KAAKD,CAAG,EAAE;AAC1F,MAAAJ,EAAOla,CAAK,IAAIwa;AAAA,IACpB,CAAC,GACDN,IAASrb,GAAQqb,CAAM;AAAA,EAC3B;AACA,SAAOA;AACX;AAOA,SAASQ,GAAYC,GAAa9X,GAAO+X,IAAY,CAAC,KAAK,KAAK,KAAK,GAAG,GAAG;AACvE,QAAMR,IAAOO,EAAY;AACzB,MAAI,CAACP;AACD;AAEJ,QAAMC,IAActc,GAAQ6c,CAAS,IAAIA,IAAY,CAACA,CAAS,GACzDJ,IAAQL,GAAYC,GAAMC,CAAU,GACpCxJ,IAAI,WAAW8J,EAAY,KAAK,GAAG,CAAC,KAAK;AAC/C,EAAAA,EAAY,KAAK,EAAE;AACnB,MAAIE,IAAQF,EAAY,OAAO,OAAO,EAAE,KAAK,KAAK9J,CAAC,GAC/CiK,IAAe,GAAGN,EAAM,CAAC,CAAC;AAC9B,EAAAK,EAAM,KAAKC,CAAY,GACvBN,EAAM,QAAQ,CAACC,GAAMhc,MAAM;AACvB,QAAIA,MAAM;AACN;AACJ,UAAMsc,IAAY,GAAGD,CAAY,GAAGL,CAAI;AACxC,IAAAI,EAAM,KAAKE,CAAS,GACDF,EAAM,KAAI,EAAG,sBAAqB,IACpChY,KACbgY,EAAM,KAAKC,EAAa,KAAI,CAAE,GAC9BD,IAAQF,EAAY,OAAO,OAAO,EAC7B,KAAK,KAAK9J,CAAC,EACX,KAAK,MAAM,OAAO,EAClB,KAAK4J,CAAI,GACdK,IAAeL,KAGfK,KAAgBL;AAAA,EACxB,CAAC;AACL;AAWA,SAASO,GAAYC,GAAkBC,GAAUC,GAAUC,GAAUC,GAAUC,GAAwB;AACnG,MAAI3Y;AACJ,EAAIuY,MAAa,WAAUA,IAAW,KAClCC,MAAa,WAAUA,IAAWpC,EAAS,SAE3CsC,MAAa,WAAUA,IAAW,GAAG1Y,IAAK,OAAO,iBAAiBsY,EAAiB,KAAI,CAAE,OAAO,QAAQtY,MAAO,SAAS,SAASA,EAAG,aAAa,IACjJ2Y,MAA2B,WAAUA,IAAyBlT,GAAyB;AAC3F,QAAMgS,IAAOa,EAAiB,KAAI,KAAM,IAClCM,IAAanB,EAAK,QAClBoB,IAAuBH,IAAWE,IAAaD,GAE/CG,IAAgB,KAAK,KAAKF,IAAaL,KAD3B,MACmDM,EAAU;AAC/E,SAAIC,IAAgBF,KAChBN,EAAiB,KAAKjB,GAAWI,GAAMqB,GAAeN,CAAQ,CAAC,GACxD,MAEJ;AACX;AAQA,SAASO,GAA0BnC,GAAK8B,GAAUC,IAAyBlT,GAAyB,GAAI;AACpG,SAAOmR,EAAI,SAAS8B,IAAWC,KAA0B;AAC7D;AAQA,SAASK,GAAyBpC,GAAKqC,GAAYP,GAAU;AACzD,QAAMQ,IAAQ,8BACR/T,IAAM,SAAS,gBAAgB+T,GAAO,KAAK,GAC3CzB,IAAO,SAAS,gBAAgByB,GAAO,MAAM;AACnD,EAAAzB,EAAK,cAAcb,GACnBa,EAAK,aAAa,aAAa,GAAGiB,CAAQ,EAAE,GAC5CjB,EAAK,aAAa,eAAewB,CAAU,GAC3C9T,EAAI,YAAYsS,CAAI,GACpB,SAAS,KAAK,YAAYtS,CAAG;AAC7B,QAAMmS,IAASG,EAAK;AACpB,kBAAS,KAAK,YAAYtS,CAAG,GACtBmS;AACX;AA0CA,SAAS6B,GAAmBC,GAAWlZ,IAAQ,QAAWuY,IAAW,IAAMR,IAAY5S,IAA+BgU,IAAY,IAAO;AACrI,MAAIrZ,GAAI0G,GAAImC;AACZ,QAAM4O,IAAO,GAAG2B,EAAU,IAAI;AAC9B,MAAI,CAAC3B;AACD,WAAO;AACX,QAAMiB,KAAY1Y,IAAKoZ,EAAU,cAAc,QAAQpZ,MAAO,SAASA,IAAKuF,GAAoB,UAC1F0T,KAAcvS,IAAK0S,EAAU,gBAAgB,QAAQ1S,MAAO,SAASA,IAAKnB,GAAoB,YAC9FoT,KAA0B9P,IAAKuQ,EAAU,4BAA4B,QAAQvQ,MAAO,SAASA,IAAKtD,GAAoB,wBACtHmS,IAAa,MAAM,QAAQO,CAAS,IAAIA,IAAY,CAACA,CAAS;AAEpE,SADuBR,EAAK,MAAM;AAAA,CAAI,EAChB,IAAI,CAACb,MAAQ;AAC/B,UAAMhS,IAAQ,CAAA;AACd,QAAI,CAAC1E;AACD,aAAO,CAAC0W,CAAG;AACf,UAAMiB,IAAQL,GAAYZ,GAAKc,CAAU;AACzC,QAAI9G,IAAO;AACX,aAAS9U,IAAI,GAAGA,IAAI+b,EAAM,QAAQ/b,KAAK,GAAG;AAItC,OAHqB2c,IACfM,GAA0BnI,IAAOiH,EAAM/b,CAAC,GAAG4c,GAAUC,CAAsB,IAC3EK,GAAyBpI,IAAOiH,EAAM/b,CAAC,GAAGmd,GAAYP,CAAQ,KACjDxY,KAASpE,MAAM,IAC9B8U,KAAQiH,EAAM/b,CAAC,KAGf8I,EAAM,KAAKgM,EAAK,KAAI,CAAE,GACtBA,IAAOiH,EAAM/b,CAAC;AAGlB,YAAMwd,IAAsB;AAC5B,UAAID;AACA,eAAOzI,EAAK,OAAO,SAAS0I,MACAb,IAClBM,GAA0BnI,GAAM8H,GAAUC,CAAsB,IAChEK,GAAyBpI,GAAMqI,GAAYP,CAAQ,KACnCxY,KAAO;AACzB,cAAIqZ,IAAc3I,EAAK,KAAI,EAAI,SAAS0I;AACxC,iBAAOC,IAAa,KAAG;AACnB,kBAAMC,IAAU,GAAG5I,EAAK,UAAU,GAAG2I,CAAU,CAAC,GAAGjU,EAAoC;AAKvF,iBAJkBmT,IACZM,GAA0BS,GAASd,GAAUC,CAAsB,IACnEK,GAAyBQ,GAASP,GAAYP,CAAQ,MAE3CxY,KAASqZ,MAAe,GAAG;AACxC,cAAA3U,EAAM,KAAK4U,EAAQ,KAAI,CAAE,GACzB5I,IAAOA,EAAK,UAAU2I,CAAU;AAChC;AAAA,YACJ;AACA,YAAAA;AAAA,UACJ;AAAA,QACJ;AAAA,IAMZ;AAEA,WAAI3I,KACAhM,EAAM,KAAKgM,EAAK,KAAI,CAAE,GACnBhM;AAAA,EACX,CAAC,EAAE;AACP;AAWA,SAAS6U,GAAehC,GAAMvX,IAAQ,QAAWC,IAAS,QAAWsY,IAAW,IAAMR,IAAY5S,IAA+BgU,IAAY,IAAO;AAEhJ,QAAMK,IAAa,MAAM,QAAQjC,CAAI,IAAIA,EAAK,IAAI,CAAAkC,MAAKjd,GAAM6I,IAAqBoU,CAAC,CAAC,IAAI,CAACjd,GAAM6I,IAAqBkS,CAAI,CAAC,GAEnHmC,IAAcF,EAAW,IAAI,CAAAG,MAASV,GAAmBU,GAAO3Z,GAAOuY,GAAUR,GAAWoB,CAAS,CAAC,GACtGS,IAAaJ,EAAW,CAAC;AAC/B,MAAIvG,IAAI,CAAC2G,EAAW,YAAYA,EAAW,aAAa;AACxD,QAAMC,IAAS,CAAA;AAEf,SAAAL,EAAW,QAAQ,CAACjC,GAAM3b,MAAM;AAC5B,QAAIkE;AACJ,QAAI4E,IAAQgV,EAAY9d,CAAC;AACzB,UAAMke,IAAYle,IAAI,IAAIie,EAAOje,IAAI,CAAC,IAAI,QACpCme,IAA0BD,IAAYA,EAAU,eAAe,GAC/DE,IAAczC,EAAK,WACnB0C,IAAoB,KAAK,IAAIF,GAAyBC,CAAW;AACvE,IAAA/G,KAAKgH;AACL,UAAMC,IAAK3C,EAAK,WAAWA,EAAK;AAChC,QAAIc,IAAW;AAEf,aAAS,IAAI,GAAG,IAAI3T,EAAM,QAAQ,KAAK,GAAG;AACtC,UAAIgM,IAAOhM,EAAM,CAAC;AAClB,MAAAuO,KAAKiH;AACL,YAAMC,IAAmB,GAAGzJ,CAAI,MAC1B0J,IAAe7B,IACfM,GAA0BsB,GAAkB5C,EAAK,UAAUA,EAAK,sBAAsB,IACtFuB,GAAyBqB,GAAkB5C,EAAK,YAAYA,EAAK,QAAQ;AAE/E,UADAc,IAAW,KAAK,IAAI+B,GAAc/B,CAAQ,GACtCpY,KAAWgT,IAAIiH,IAAMja,KAAW,MAAMyE,EAAM,SAAS,GAAI;AAGzD,QADsBgM,EAAK,OAAOA,EAAK,SAAS,CAAC,MAC3BtL,OAClBsL,IAAOA,EAAK,OAAO,GAAGhM,EAAM,CAAC,EAAE,SAAS,CAAC,IAEzC0V,IAAepa,IACf0E,EAAM,CAAC,IAAIyV,IAGXzV,EAAM,CAAC,IAAI,GAAGA,EAAM,CAAC,EAAE,OAAO,GAAGA,EAAM,CAAC,EAAE,SAAS,CAAC,CAAC,KAEzDA,IAAQA,EAAM,MAAM,GAAG,IAAI,CAAC;AAC5B;AAAA,MACJ;AAAA,IACJ;AAEA,IAAAmV,EAAO,KAAK,OAAO,OAAO,OAAO,OAAO,CAAA,GAAItC,CAAI,GAAG,EAAE,QAAQ7S,GAAO,kBAAkBuO,KAA4D6G,GAAU,oBAAqB,IAAI,WAAW,KAAK,IAAIzB,IAAWvY,IAA2Dga,GAAU,eAAe,QAAQha,MAAO,SAASA,IAAK,CAAC,EAAC,CAAE,CAAC;AAAA,EAC9U,CAAC,GACM+Z;AACX;AASA,SAASQ,GAAyBR,GAAQ7L,IAAI,GAAGC,GAAGqM,GAAkB;AAClE,SAAOT,EAAO,IAAI,CAACpe,GAAGG,MAAM;AACxB,UAAMke,IAAYle,IAAI,IAAIie,EAAOje,IAAI,CAAC,IAAI,QACpC2e,IAA0BT,IAAYA,EAAU,eAAeA,EAAU,WAAW,GACpFU,IAAc/e,EAAE,YAAYA,EAAE,UAC9Bgf,IAAW,KAAK,IAAIF,GAAyBC,CAAW,GACxDE,IAAa;AAAA,MACf,UAAUjf,EAAE;AAAA,MACZ,YAAYA,EAAE;AAAA,MACd,YAAYA,EAAE;AAAA,MACd,MAAMA,EAAE;AAAA,MACR,GAAIG,MAAM,KAAMqS;AAAA,IAC5B;AAKQ,WAAO,6CAJkB,OAAO,QAAQyM,CAAU,EAC7C,OAAO,CAAC,CAACpV,GAAGtH,CAAK,MAAMA,CAAK,EAC5B,IAAI,CAAC,CAAClC,GAAKkC,CAAK,MAAM,GAAG4Y,GAAU9a,CAAG,CAAC,KAAK+a,GAAqB7Y,EAAM,SAAQ,CAAE,CAAC,GAAG,EACrF,KAAK,GAAG,CACuD,IAAIvC,EAAE,OAAO,IAAI,CAACiV,GAAMpO,MAAM;AAC9F,UAAIqY;AACJ,aAAI/e,MAAM,KAAK0G,MAAM,IACjBqY,IAAKF,IACAnY,MAAM,IACXqY,IAAKF,IAAWhf,EAAE,aAElBkf,IAAKlf,EAAE,YACJ,aAAauS,CAAC,SAAS2M,CAAE,0BAA0BL,KAA8E,MAAM,KAAK5J,EAAK,SAASA,IAAO,GAAG;AAAA,IAC/K,CAAC,EAAE,KAAK,EAAE,CAAC;AAAA,EACf,CAAC;AACL;AAQA,SAASkK,GAA0Bf,GAAQ;AACvC,SAAOgB,GAAIhB,GAAQ,CAAApe,MAAKA,EAAE,gBAAgB;AAC9C;AACA,MAAMqf,KAAqB,CAAC,QAAQ,SAAS,YAAY,YAAY,eAAe,gBAAgB,YAAY,WAAW,UAAU;AAUrI,SAASC,GAA2BjD,GAAaP,GAAMza,GAIvDwd,GAAkB;AACd,MAAIxa,GAAI0G;AACR,QAAMwU,IAAczB,GAAehC,GAAMza,EAAQ,OAAO,QAAWA,EAAQ,UAAUA,EAAQ,WAAWA,EAAQ,SAAS,GACnHme,KAAgBnb,IAAKhD,EAAQ,OAAO,QAAQgD,MAAO,SAASA,IAAK,CAACgY,EAAY,aAAa,GAAG,GAC9FoD,KAAgB1U,IAAK1J,EAAQ,OAAO,QAAQ0J,MAAO,SAASA,IAAK,CAACsR,EAAY,aAAa,GAAG,GAC9F9J,IAAIiN,KAAkE;AAC5E,MAAIhN,IAAIiN,KAAkE;AAI1E,MAHIpe,EAAQ,aACRgb,EAAY,aAAa,eAAexB,GAA2BxZ,EAAQ,SAAS,CAAC,GAErFA,EAAQ,iBAAiBA,EAAQ,kBAAkBqZ,EAAc,KAAK;AACtE,UAAMlW,IAAS2a,GAA0BI,CAAW,GAC9CL,IAAK7d,EAAQ,kBAAkBqZ,EAAc,SAAS,CAAClW,IAAS,IAChEnD,EAAQ,kBAAkBqZ,EAAc,SAAS,CAAClW,IAAS;AACjE,IAAAgO,KAAK0M;AAAA,EACT;AACA,EAAI7d,EAAQ,oBACRgb,EAAY,aAAa,aAAa,UAAWhb,EAAQ,sBAAsB,KAAKA,EAAQ,oBAAqBA,EAAQ,oBAAoB,CAAC,IAAIkR,CAAC,IAAIC,CAAC,GAAG,IAG3J6J,EAAY,gBAAgB,WAAW;AAE3C,QAAMqD,IAAS,IAAI;AACnB,EAAArD,EAAY,cAAc,IAC1BkD,EAAY,QAAQ,CAAArB,MAAS;AACzB,UAAMyB,IAAUf,GAAyB,CAACV,CAAK,GAAG3L,GAAGC,GAAGqM,CAAgB,EAAE,KAAK,EAAE,GAC3Ee,IAAmBC,GAAUF,GAASN,EAAkB,GACxDS,IAAgBJ,EAAO,gBAAgBE,GAAkB,eAAe,EAAE;AAChF,IAAAvD,EAAY,YAAYyD,CAAa;AAAA,EACzC,CAAC;AACL;AC1cA,MAAMC,KAAoB,OAAO,OAAO,OAAO,OAAO,CAAA,GAAI1P,EAAwB,GAAG,EAAE,UAAU,QAAW,MAAM,QAAW,OAAO,QAAW,eAAe,MAAM,kBAAkBsK,EAAQ,MAAM,mBAAmBF,EAAS,QAAQ,UAAU,IAAM,UAAU,IAAM,YAAY,IAAM,UAAU,QAAW,iBAAiB,IAAO,gCAAgC,KAAK,8BAA8B,IAAO,eAAe,QAAW,mBAAmB,QAAW,wBAAwB,IAAO,kBAAkBA,EAAS,QAAQ,iBAAiBE,EAAQ,MAAM,kBAAkB,MAAM,eAAe,QAAW,eAAe,MAAM,eAAe,QAAW,aAAa,GAAG,YAAY,MAAM,YAAY,QAAW,YAAY,QAAW,UAAU,IAAM,aAAa,GAAG,yBAAyB,QAAW;ACA/xB,SAASqF,GAAeC,GAAeC,GAAQ;AAC3C,QAAMC,IAAgB,UAChBzb,IAAU,OAAO,QAAQub,CAAa;AAC5C,SAAO,OAAO,YAAYvb,EAAQ,IAAI,CAAC,CAACrE,CAAG,MAAM,CAAC2a,GAAiB3a,EAAI,QAAwD8f,GAAe,EAAE,CAAC,GAAG9f,CAAG,CAAC,CAAC;AAC7J;AACA,SAAS+f,GAAyBH,GAAeI,GAAwB;AACrE,EAAAna,EAAa;AAAA,IACT,SAAS+Z;AAAA,IACT,CAAC,oBAAoBI,CAAsB,EAAE,GAAG,OAAO,KAAKJ,CAAa,EACpE,OAAO,CAAA5f,MAAOA,EAAI,SAAS,YAAY,CAAC,EACxC,IAAI,CAAAA,OAAQ;AAAA,MACb,CAACA,EAAI,QAAQ,cAAc,OAAO,CAAC,GAAG,OAAOA,CAAG;AAAA,IAC5D,EAAU;AAAA,EACV,CAAK;AACL;ACdA,MAAM0Q,KAAO7L;AAAA;AAAA,GAGPob,KAAiB;AAAA;AAAA;AAAA,EAGnB,yBAAyB;AAAA;AAAA,EAEzB,yBAAyB;AAAA,EACzB,8BAA8B;AAAA,EAC9B,kCAAkC;AAAA,EAClC,8BAA8B;AAAA,EAC9B,0BAA0B;AAAA,EAC1B,2BAA2B;AAAA,EAC3B,+BAA+B;AAAA,EAC/B,mCAAmC;AAAA,EACnC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,yCAAyC;AAAA,EACzC,8BAA8B;AAAA,EAC9B,yCAAyC;AAAA;AAAA,EAEzC,8BAA8B;AAAA;AAAA,EAE9B,oCAAoC;AAAA,EACpC,8BAA8B;AAAA,EAC9B,+BAA+B;AACnC,GACMtP,KAAYgP,GAAeM,EAAc;AAC/CF,GAAyBE,IAAgBvP,EAAI;AAC7C,MAAMwP,KAAerb;AAAA;AAAA,GAGfsb,KAAatb;AAAA;AAAA,GAGb+J,KAAO/J;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAWR,IAAIqb,EAAY,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMlB,IAAIC,EAAU,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,GAMfC,KAAOvb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAaPwb,KAAOxb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAoBPyb,KAAkBzb;AAAA;AAAA,GAGlB0b,KAAQ1b;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQR2b,KAAY3b;AAAA;AAAA,GAGZ4b,KAAoB5b;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;AC7F1B,MAAM6b,WAAazQ,GAAgB;AAAA,EAC/B,YAAYlM,GAAQ;AAChB,aACA,KAAK,iBAAiB2b,IACtB,KAAK,SAAS,KAAK,gBACnB,KAAK,mBAAmB,GACxB,KAAK,SAAS,IACV3b,KACA,KAAK,UAAUA,CAAM,GACzB,KAAK,YAAY,KAAK,EAAE,OAAO,GAAG,GAClC,KAAK,YAAY,KAAK,EAAE,OAAO,GAAG,EAC7B,KAAK,SAASqc,EAAI;AAAA,EAC3B;AAAA;AAAA,EAEA,YAAY;AACR,UAAM,EAAE,QAAArc,EAAM,IAAK,MACb4c,IAAwB,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,WAAW,CAAC;AAClE,SAAK,YAAYA,GAAuB,CAAC,GAEzC,KAAK,eAAeA,EAAsB,KAAI,EAAG,QAAO,GAEpD5c,EAAO,iBACP,KAAK,iBAAgB,GAEzB,KAAK,iBAAiB4c,CAAqB,GAC3C,KAAK,gBAAgB,KAAK,aAAaA,CAAqB,GAC5D,KAAK,kBAAkB,KAAK,mBAAmB,KAAK,aAAa,GACjEA,EAAsB,OAAM;AAAA,EAChC;AAAA,EACA,cAAc;AACV,UAAM,EAAE,QAAQ,EAAE,MAAAxR,GAAM,UAAAyR,EAAQ,EAAE,IAAK;AACvC,WAAQA,MAAwDzR,MAAS/D,EAAS,IAAKiF,EAAS,SAASA,EAAS;AAAA,EACtH;AAAA,EACA,aAAa1G,GAAW;AAEpB,WADaA,EAAU,KAAI,EAAG,QAAO;AAAA,EAEzC;AAAA,EACA,mBAAmBkX,IAAW,KAAK,eAAe;AAC9C,UAAM,EAAE,QAAQ,EAAE,MAAA1R,GAAM,UAAAyR,EAAQ,EAAE,IAAK;AACvC,YAAQzR,GAAI;AAAA,MACR,KAAK/D,EAAS,GAAG;AAEb,cAAM0V,IAAO,KAAK,cAAc,IAAI,KAAK,cAAc,OACjDpP,IAAO,KAAK,cAAc,IAAI,IAAI,KAAK,IAAI,KAAK,cAAc,CAAC,IAAI,GACnEqP,IAASD,IAAO,KAAK,SAAU,IAAcA,IAAO,KAAK,SAAS;AACxE,gBAAQF,GAAQ;AAAA,UACZ,KAAKvQ,EAAS;AAAK,mBAAO,EAAE,KAAKwQ,EAAS,QAAQ,MAAAnP,GAAM,OAAAqP;UACxD,KAAK1Q,EAAS;AAAA,UACd;AAAS,mBAAO,EAAE,QAAQwQ,EAAS,QAAQ,MAAAnP,GAAM,OAAAqP;QACrE;AAAA,MACY;AAAA,MACA,KAAK3V,EAAS,GAAG;AACb,cAAM4V,IAASH,EAAS,SAAS,KAAK,WAAWA,EAAS,SAAS,KAAK,WAAW,IAAI,GACjFpP,IAAMuP,GACNC,IAASD;AACf,gBAAQJ,GAAQ;AAAA,UACZ,KAAKvQ,EAAS;AAAO,mBAAO,EAAE,OAAOwQ,EAAS,OAAO,KAAApP,GAAK,QAAAwP;UAC1D,KAAK5Q,EAAS;AAAA,UACd;AAAS,mBAAO,EAAE,MAAMwQ,EAAS,OAAO,KAAApP,GAAK,QAAAwP;QACjE;AAAA,MACY;AAAA,IACZ;AAAA,EACI;AAAA,EACA,oBAAoB;AAChB,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAEA,UAAUC,GAAiB;AACvB,UAAM,EAAE,QAAQ,EAAE,MAAA/R,GAAM,UAAAyR,EAAQ,EAAE,IAAK;AACvC,YAAQzR,GAAI;AAAA,MACR,KAAK/D,EAAS;AACV,gBAAQwV,GAAQ;AAAA,UACZ,KAAKvQ,EAAS;AAAK,mBAAO,EAAE,KAAK6Q,EAAgB,KAAK,MAAMA,EAAgB;UAC5E,KAAK7Q,EAAS;AAAA,UACd;AAAS,mBAAO,EAAE,KAAK6Q,EAAgB,MAAM,KAAK,SAAS,MAAMA,EAAgB;QACrG;AAAA,MACY,KAAK9V,EAAS;AACV,gBAAQwV,GAAQ;AAAA,UACZ,KAAKvQ,EAAS;AAAO,mBAAO,EAAE,KAAK6Q,EAAgB,KAAK,MAAMA,EAAgB,OAAO,KAAK,OAAM;AAAA,UAChG,KAAK7Q,EAAS;AAAA,UACd;AAAS,mBAAO,EAAE,KAAK6Q,EAAgB,KAAK,MAAMA,EAAgB;QACtF;AAAA,IACA;AAAA,EACI;AAAA,EACA,QAAQjd,IAAW,KAAK,OAAO,UAAU0F,IAAY,KAAK,WAAW;AACjE,UAAM,EAAE,QAAA5F,EAAM,IAAK;AAGnB,QAFA,KAAK,YAAY4F,GAAW1F,CAAQ,GACpC,KAAK,iBAAiB0F,CAAS,GAC3B5F,EAAO,UAAU;AACjB,YAAMod,IAAU,KAAK;AAGrB,WAAK,UAAU,UAAU,GAAG,EAAE,UAAS,GACvCzX,EAAgB,KAAK,WAAWzF,CAAQ,EAAE,KAAKkd,CAAO,EAAE,MAAM,WAAW,CAAC;AAAA,IAC9E;AAEI,MAAAzX,EAAgB,KAAK,WAAWzF,CAAQ,EAAE,MAAM,WAAW,CAAC;AAEhE,IAAIF,EAAO,iBACP,KAAK,iBAAgB,GACzB,KAAK,yBAAyB4F,CAAS;AAAA,EAC3C;AAAA,EACA,aAAa;AACT,UAAM,EAAE,QAAQ,EAAE,MAAAwF,GAAM,UAAAyR,GAAU,aAAAQ,EAAW,EAAE,IAAK,MAC9CC,IAAQ,KAAK;AACnB,YAAQlS,GAAI;AAAA,MACR,KAAK/D,EAAS;AACV,gBAAQwV,GAAQ;AAAA,UACZ,KAAKvQ,EAAS;AAAK,mBAAOiR,GAAQ,KAAK,MAAM,EAAE,MAAMD,CAAK,EAAE,YAAYD,CAAW;AAAA,UACnF,KAAK/Q,EAAS;AAAA,UACd;AAAS,mBAAOkR,GAAW,KAAK,MAAM,EAAE,MAAMF,CAAK,EAAE,YAAYD,CAAW;AAAA,QAChG;AAAA,MACY,KAAKhW,EAAS;AACV,gBAAQwV,GAAQ;AAAA,UACZ,KAAKvQ,EAAS;AAAO,mBAAOmR,GAAU,KAAK,MAAM,EAAE,MAAMH,CAAK,EAAE,YAAYD,CAAW;AAAA,UACvF,KAAK/Q,EAAS;AAAA,UACd;AAAS,mBAAOoR,GAAS,KAAK,MAAM,EAAE,MAAMJ,CAAK,EAAE,YAAYD,CAAW;AAAA,QAC9F;AAAA,IACA;AAAA,EACI;AAAA,EACA,aAAa;AACT,UAAM,EAAE,QAAArd,EAAM,IAAK;AACnB,QAAIod;AACJ,YAAQpd,EAAO,MAAI;AAAA,MACf,KAAKqH,EAAS;AACV,gBAAQrH,EAAO,UAAQ;AAAA,UACnB,KAAKsM,EAAS,KAAK;AACf,YAAA8Q,IAAUG,GAAQ,KAAK,MAAM;AAC7B;AAAA,UACJ;AAAA,UACA,KAAKjR,EAAS;AAAA,UACd,SAAS;AACL,YAAA8Q,IAAUI,GAAW,KAAK,MAAM;AAChC;AAAA,UACJ;AAAA,QACpB;AACgB,QAAAJ,EAAQ,SAAS,CAAC,KAAK,OAAO;AAC9B;AAAA,MACJ,KAAK/V,EAAS;AACV,gBAAQrH,EAAO,UAAQ;AAAA,UACnB,KAAKsM,EAAS,OAAO;AACjB,YAAA8Q,IAAUK,GAAU,KAAK,MAAM;AAC/B;AAAA,UACJ;AAAA,UACA,KAAKnR,EAAS;AAAA,UACd,SAAS;AACL,YAAA8Q,IAAUM,GAAS,KAAK,MAAM;AAC9B;AAAA,UACJ;AAAA,QACpB;AACgB,QAAAN,EAAQ,SAAS,CAAC,KAAK,MAAM;AAAA,IAC7C;AACQ,IAAAA,EACK,cAAc,CAAC,EACf,WAAW,MAAM,EAAE;AACxB,UAAMO,IAAW,KAAK,aAAY,IAAK,GACjCC,IAAYR,EAAQ,SACpBS,IAAcD,EAAU,UACxBE,IAA+B,MAAM;AACvC,UAAI,CAAC9d,EAAO;AACR,eAAO6d;AACX,YAAME,IAAaH,EAAU,MAAMD,CAAQ;AAC3C,UAAII,EAAW,SAAS;AACpB,eAAOF;AAEX,YAAMG,IAAiB,CAACD,EAAW,CAAC,IAAI,CAACA,EAAW,CAAC,GAC/CE,IAAiBJ,EAAY,CAAC;AAEpC,aADa,CAACI,IAAiB,CAACF,EAAWA,EAAW,SAAS,CAAC,IAClDC,IAAiB,IAAI,CAAC,GAAGD,GAAYE,CAAc,IAAIF;AAAA,IACzE,GACMA,IAAa/d,EAAO,aACpB,KAAK,yBAAwB,IAC7B,KAAK,6BAA4B,IAC7B8d,EAA4B,IAC5BF,EAAU,MAAMD,CAAQ;AAClC,WAAAP,EAAQ,WAAWW,CAAU,GACtBX;AAAA,EACX;AAAA,EACA,YAAYxX,IAAY,KAAK,WAAW1F,IAAW,KAAK,OAAO,UAAU;AACrE,UAAM,EAAE,QAAAF,EAAM,IAAK,MACbke,IAAU,KAAK,cACfC,IAAYD,EAAQ,SACpBH,IAAa/d,EAAO,aACpB,KAAK,yBAAwB,IAC7B,KAAK,6BAA4B,IAC7Bme,EAAU,OAAM,IAChBA,EAAU,MAAM,KAAK,aAAY,CAAE,GACvCC,IAAYL,EAAW;AAC7B,IAAAG,EAAQ,WAAWH,CAAU,GAG7BnY,EAAU,UAAU,GAAG,EAAE,UAAS;AAClC,UAAMI,IAAaL,EAAgBC,GAAW1F,CAAQ,EAAE,KAAKge,CAAO;AAEpE,IAAAtY,EAAU,UAAU,MAAM,EACrB,KAAK,MAAM,IAAI,EACf,KAAK,KAAK,IAAI,GAEnBI,EAAW,GAAG,OAAO,MAAM;AACvB,WAAK,yBAAyBJ,CAAS;AAAA,IAC3C,CAAC,GACaA,EAAU,UAAU,QAAQ,EAErC,QAAQ0W,IAAM,EAAI,EAClB,MAAM,aAAatc,EAAO,gBAAgB;AAG/C,UAAMqe,IAAWzY,EAAU,UAAU,eAAe,EAC/C,OAAO,CAAA0Y,MAAaP,EAAW,KAAK,CAACnE,MAAMje,EAAQ2iB,GAAW1E,CAAC,CAAC,CAAC,EACjE,QAAQ6C,IAAW,EAAI,EACvB,QAAQC,IAAmB,EAAQ1c,EAAO,uBAAwB,EAClE,MAAM,QAAQA,EAAO,aAAa;AAEvC,IAAA4F,EAAU,UAAU,eAAe,EAC9B,OAAO,CAAA0Y,MAAa,CAACP,EAAW,KAAK,CAACnE,MAAMje,EAAQ2iB,GAAW1E,CAAC,CAAC,CAAC,EAClE,QAAQ2C,IAAiB,EAAI,GAElC8B,EAAS,MAAK,EAAG,QAAQ,CAAAvY,MAAQC,GAAUD,CAAI,CAAC;AAChD,UAAMyY,IAAWL,EAAQ,YACnBM,IAAe,KAAK,eACpBC,IAAeze,EAAO,kBAAkBA,EAAO,SAASqH,EAAS,IAAI,KAAK,mBAAmB+W,IAAY,KAAK,KAAK,kBAAkB;AAuC3I,QAtCAC,EAAS,KAAK,CAAClgB,GAAOpC,GAAGsW,MAAa;AAClC,UAAIpS,GAAI0G;AACR,UAAI+Q,KAAQ/Q,KAAM1G,IAAKD,EAAO,gBAAgB,QAAQC,MAAO,SAAS,SAASA,EAAG,KAAKD,GAAQ7B,GAAOpC,GAAGgiB,CAAU,OAAO,QAAQpX,MAAO,SAASA,IAAK,GAAGxI,CAAK;AAC/J,YAAM8Z,IAAc5F,EAAStW,CAAC;AAE9B,UAAI,CAAC,KAAK,sBAAsB;AAC5B,cAAM2iB,IAAmB,iBAAiBzG,CAAW;AACrD,aAAK,uBAAuB;AAAA,UACxB,UAAU,OAAO,WAAWyG,EAAiB,QAAQ;AAAA,UACrD,YAAYA,EAAiB;AAAA,UAC7B,wBAAwBhZ,GAAyB;AAAA,QACrE;AAAA,MACY;AAEA,YAAM,CAACiZ,GAAaC,CAAW,IAAI,KAAK,mBAAmBJ,GAAcD,GAAU,KAAK,qBAAqB,QAAQ,GAE/GM,IAAc;AAAA,QAChB,eAAe7e,EAAO,SAASqH,EAAS,IAAIiP,EAAc,MAAMA,EAAc;AAAA,QAC9E,OAAOmI;AAAA,QACP,mBAAmBze,EAAO;AAAA,QAC1B,WAAWA,EAAO;AAAA,QAClB,WAAWA,EAAO;AAAA,QAClB,GAAG2e;AAAA,QACH,GAAGC;AAAA,MACnB;AACY,UAAI5e,EAAO,oBAAoBuW,EAAQ,MAAM;AACzC,cAAMuI,IAAuB/e,EAAOkY,CAAW,EAAE,KAAKP,CAAI;AAC1D,QAAAY,GAAYwG,GAAsBL,GAAcze,EAAO,kBAAkB,IAAM,KAAK,qBAAqB,UAAU,IAAI,GACvH0X,IAAO3X,EAAOkY,CAAW,EAAE,KAAI;AAAA,MACnC;AACA,YAAMoB,IAAY,OAAO,OAAO,EAAE,MAAA3B,KAAQ,KAAK,oBAAoB,GAC7D+C,IAAmBza,EAAO,SAASqH,EAAS,IAAI,YAAY;AAClE,MAAA6T,GAA2BjD,GAAaoB,GAAWwF,GAAapE,CAAgB;AAAA,IACpF,CAAC,GACD7U,EACK,QAAQiF,IAAM,EAAI,EAClB,QAAQsR,IAAc,CAACnc,EAAO,QAAQ,EACtC,QAAQoc,IAAY,CAACpc,EAAO,UAAU,GACvCA,EAAO,UAAU;AACjB,YAAM+O,IAAO,KAAK,mBAAmB,CAAC;AACtC,MAAApJ,EAAgBC,EAAU,OAAO,SAAS,GAAG1F,CAAQ,EAAE,KAAK,KAAK6O,CAAI;AAAA,IACzE;AAAA,EACJ;AAAA,EACA,yBAAyBnJ,IAAY,KAAK,WAAW;AACjD,UAAM,EAAE,QAAA5F,EAAM,IAAK,MACb+e,IAAoBnZ,EAAU,UAAU,sBAAsB2W,EAAe,GAAG;AACtF,QAAI,CAACvc,EAAO,yBAAyB;AACjC,MAAA+e,EAAkB,MAAM,WAAW,IAAI;AACvC;AAAA,IACJ;AACA,yBAAqB,KAAK,6BAA6B,GAEvD,KAAK,gCAAgC,sBAAsB,MAAM;AAC7D,WAAK,mBAAmBA,CAAiB;AAAA,IAC7C,CAAC;AAAA,EACL;AAAA,EACA,mBAAmBnZ,GAAW;AAE1B,IAAAA,EAAU,KAAK,CAACxI,GAAGrB,GAAGsW,MAAa;AAC/B,YAAMvM,IAAOuM,EAAStW,CAAC;AACvB,MAAA+J,EAAK,WAAW;AAAA,IACpB,CAAC;AAED,UAAMiF,IAAgB;AACtB,aAAS,IAAI,GAAG,IAAIA,GAAe,KAAK;AAEpC,MAAAnF,EAAU,KAAK,CAACxI,GAAGrB,GAAGsW,MAAa;AAC/B,cAAM2M,IAAS3M,EAAStW,CAAC;AAEzB,YAAI,CADoBijB,EAAO;AAE3B;AAEJ,cAAMC,IAAqBD,EAAO;AAClC,iBAAStgB,IAAI3C,IAAI,GAAG2C,IAAI2T,EAAS,QAAQ3T,KAAK,GAAG;AAC7C,cAAI3C,MAAM2C;AACN;AACJ,gBAAMwgB,IAAS7M,EAAS3T,CAAC;AAEzB,cADwBwgB,EAAO,UACV;AACjB,kBAAMC,IAAqBD,EAAO;AAElC,gBADkB/b,GAAc8b,GAAoBE,GAAoB,EAAE,GAC3D;AACX,cAAAD,EAAO,WAAW;AAClB;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ,CAAC;AAGL,IAAAtZ,EAAU,KAAK,CAACxI,GAAGrB,GAAGsW,MAAa;AAC/B,YAAMmK,IAAQnK,EAAStW,CAAC;AACxB,MAAAgE,EAAOyc,CAAK,EAAE,MAAM,WAAWA,EAAM,WAAW,IAAI,CAAC;AAAA,IACzD,CAAC;AAAA,EACL;AAAA,EACA,eAAe;AACX,UAAM,EAAE,QAAQ,EAAE,MAAApR,GAAM,UAAAuS,EAAQ,EAAE,IAAK;AACvC,QAAIA;AACA,aAAOA;AACX,QAAIvS,MAAS/D,EAAS,GAAG;AACrB,YAAMmD,IAAS,KAAK,OAAO,MAAK,GAC1BrK,IAAQqK,EAAO,CAAC,IAAIA,EAAO,CAAC;AAClC,aAAO,KAAK,MAAMrK,IAAQ,GAAG;AAAA,IACjC;AACA,QAAIiL,MAAS/D,EAAS,GAAG;AACrB,YAAMoD,IAAS,KAAK,OAAO,MAAK,GAC1BrK,IAAS,KAAK,IAAIqK,EAAO,CAAC,IAAIA,EAAO,CAAC,CAAC;AAC7C,aAAO,KAAK,IAAIrK,GAAQ,IAAI,IAAI;AAAA,IACpC;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EACA,2BAA2B;AACvB,UAAM,EAAE,QAAAJ,EAAM,IAAK,MACb8G,IAAQ9G,EAAO,SAASqH,EAAS,IAAI,KAAK,SAAS,KAAK,QACxDwW,IAA4D/W,GAAM;AACxE,WAAI9G,EAAO,aACAA,EAAO,WAAW,OAAO,CAAAiV,MAAMA,KAAK4I,EAAY,CAAC,KAAO5I,KAAK4I,EAAY,CAAC,CAAE,IAEhF;AAAA,EACX;AAAA,EACA,+BAA+B;AAC3B,UAAM,EAAE,QAAA7d,EAAM,IAAK;AACnB,WAAOA,EAAO,mBAAoBA,EAAO,SAASqH,EAAS,KAAK,KAAK,SAASrH,EAAO;AAAA,EACzF;AAAA,EACA,mBAAmBue,IAAW,GAAG;AAC7B,UAAM,EAAE,QAAQ,EAAE,MAAAnT,EAAI,EAAE,IAAK;AAC7B,YAAQA,GAAI;AAAA,MACR,KAAK/D,EAAS;AAAG,eAAO,SAASkX,CAAQ,UAAU,KAAK,SAAS,GAAG,KAAKA,CAAQ;AAAA,MACjF,KAAKlX,EAAS;AAAG,eAAO,IAAI,CAACkX,CAAQ,KAAK,KAAK,UAAU,GAAG,eAAe,CAACA,CAAQ;AAAA,IAChG;AAAA,EACI;AAAA,EACA,iBAAiB3Y,IAAY,KAAK,WAAW;AACzC,QAAI3F;AACJ,UAAM,EAAE,MAAAmL,GAAM,OAAOgU,GAAS,aAAAC,GAAa,eAAAC,GAAe,kBAAAC,EAAgB,IAAK,KAAK;AAGpF,QADA3Z,EAAU,UAAU,IAAI4W,EAAK,EAAE,EAAE,UAC7B,CAAC4C;AACD;AAEJ,UAAMZ,IAAe,KAAK,eAGpB,EAAE,OAAOgB,GAAW,QAAQC,EAAU,KAAMxf,IAAK,KAAK,kBAAkB,QAAQA,MAAO,SAASA,IAAK2F,EAAU,KAAI,EAAG,WACtH8Z,IAAWtU,MAAS/D,EAAS,IAAI,MAAM,GAEvC4Q,IAAcrS,EACf,OAAO,MAAM,EACb,KAAK,SAAS4W,EAAK,EACnB,KAAK,MAAM,GAAG,KAAK,YAAW,CAAE,IAAI,EACpC,MAAM,aAAa8C,CAAa,EAChC,MAAM,QAAQ,KAAK,OAAO,UAAU;AAEzC,IAAArH,EAAY,KAAKmH,CAAO;AACxB,QAAIO,IAAY;AAChB,QAAIJ,MAAqBhJ,EAAQ,MAAM;AAEnC,YAAMiC,IAAWpN,MAAS/D,EAAS,IAAI,KAAK,UAAU,KAAK;AAE3D,MADyB4Q,EAAY,KAAI,EAAG,sBAAqB,IAC1CO,MACnBR,GAAYC,GAAaO,CAAQ,GACjCmH,IAAY;AAAA,IAEpB;AAEA,QAAIC,IAAaJ,GACbK,IAAcJ;AAClB,QAAIF,MAAqBhJ,EAAQ,MAAM;AACnC,YAAMuJ,IAAY7H,EAAY,KAAI,EAAG,QAAO;AAC5C,MAAA2H,IAAaE,EAAU,OACvBD,IAAcC,EAAU;AAAA,IAC5B,OACK;AACD,YAAMC,IAAY3U,MAAS/D,EAAS,IAAIuY,IAAaC,GAC/CnB,IAAmB,iBAAiBzG,EAAY,KAAI,CAAE,GACtDU,IAAW,OAAO,WAAW+F,EAAiB,QAAQ;AAE5D,MAAApG,GAAYL,GAAa8H,GAAW,KAAK,OAAO,mBAAmB,IAAMpH,CAAQ;AACjF,YAAMqH,IAAc/H,EAAY,KAAI,EAAG,QAAO;AAC9C,MAAA2H,IAAaI,EAAY,OACzBH,IAAcG,EAAY;AAAA,IAC9B;AAMA,UAAMC,IAAU7U,MAAS/D,EAAS,IAC5B,KAAK,SAAS,IACd+D,MAAS/D,EAAS,KAAKkY,MAAqBhJ,EAAQ,QAAQoJ,IACvDnB,MAAiBlS,EAAS,OACvB,CAACkT,IAAYK,IAAc,IAAI,KAC/BL,IACJ,KAAK,IAAK,IAAM,EAAEhB,MAAiBlS,EAAS,KAAK,IAAKkT,GAC1DU,IAAU9U,MAAS/D,EAAS,IAC5B,KAAK,UAAU,IACf+D,MAAS/D,EAAS,KAAKkY,MAAqBhJ,EAAQ,OAC/CiI,MAAiBlS,EAAS,MAAO,CAACmT,IAAaI,IAAc,IAAIJ,IAClE,KAAK,IAAK,IAAM,EAAEjB,MAAiBlS,EAAS,IAAI,IAAKmT,GACzDU,IAAU/U,MAAS/D,EAAS,IAAI,IAAI,KAAK,IAAK,IAAM,EAAEmX,MAAiBlS,EAAS,KAAK,IAAK+S,GAC1Fe,IAAUhV,MAAS/D,EAAS,IAAI,KAAK,IAAK,IAAM,EAAEmX,MAAiBlS,EAAS,IAAI,IAAK+S,IAAc;AAEzG,IAAApH,EAAY,KAAK,aAAa,aAAagI,IAAUE,CAAO,IAAID,IAAUE,CAAO,YAAYV,CAAQ,GAAG;AAAA,EAC5G;AAAA,EACA,cAAc;AACV,UAAM,EAAE,MAAAtU,GAAM,UAAAyR,MAAa,KAAK;AAChC,YAAQzR,GAAI;AAAA,MACR,KAAK/D,EAAS;AACV,gBAAQwV,GAAQ;AAAA,UACZ,KAAKvQ,EAAS;AAAK,mBAAO;AAAA,UAC1B,KAAKA,EAAS;AAAA,UACd;AAAS,mBAAO;AAAA,QACpC;AAAA,MACY,KAAKjF,EAAS;AACV,gBAAQwV,GAAQ;AAAA,UACZ,KAAKvQ,EAAS;AAAO,mBAAO;AAAA,UAC5B,KAAKA,EAAS;AAAA,UACd;AAAS,mBAAO;AAAA,QACpC;AAAA,IACA;AAAA,EACI;AAAA,EACA,mBAAmBkS,GAAcD,GAAU5F,GAAU;AACjD,QAAI1Y;AACJ,UAAM,EAAE,QAAAD,EAAM,IAAK,MACbqgB,MAAapgB,IAAKD,EAAO,mBAAmB,QAAQC,MAAO,SAASA,IAAK,KAAK,MAAM,KAAK,IACzFqgB,IAAa/B,IAAWve,EAAO;AACrC,QAAIA,EAAO,SAASqH,EAAS,GAAG;AAC5B,YAAM7I,IAAYggB,MAAiBlS,EAAS,SAAS,IAAI;AACzD,aAAO;AAAA,QACH9N,IAAY8hB,IAAa,KAAK,IAAID,CAAQ;AAAA,QAC1C7hB,KAAa8hB,IAAa3H,IAAW,KAAK,KAAK,IAAI0H,CAAQ;AAAA,MAC3E;AAAA,IACQ,OACK;AACD,YAAM7hB,IAAYggB,MAAiBlS,EAAS,QAAQ,IAAI;AACxD,aAAO;AAAA,QACH9N,IAAY8hB,IAAa,KAAK,IAAID,CAAQ;AAAA,QAC1C7hB,IAAY8hB,IAAa,KAAK,IAAID,CAAQ;AAAA,MAC1D;AAAA,IACQ;AAAA,EACJ;AAAA,EACA,mBAAmB;AACf,UAAM,EAAE,QAAQ,EAAE,MAAAjV,GAAM,eAAAmV,GAAe,eAAAC,GAAe,UAAA3D,EAAQ,EAAE,IAAK,MAC/DwB,IAAW,KAAK,EAAE,UAAU,eAAe,GAC3CoC,IAAa9J,GAAkB4J,CAAa,GAC5C/S,IAAapC,MAAS/D,EAAS,IAC/B,IACA,KAAK,uBAAuBkZ,GAAe1D,CAAQ,GACnD6D,IAAiBF,IAAgB,aAAahT,CAAU,cAAcgT,CAAa,MAAM,aAAahT,CAAU;AACtH,IAAA6Q,EACK,KAAK,aAAaqC,CAAc,EAChC,KAAK,eAAeD,CAAU;AAAA,EACvC;AAAA,EACA,uBAAuB/J,GAAW8H,IAAelS,EAAS,MAAM;AAC5D,QAAIrM,GAAI0G,GAAImC,GAAIC;AAIhB,UAAM4X,IAA2B,KAAK,OAAO,cAAc,GAErDxgB,MAAU4I,KAAMpC,KAAM1G,IAAK,KAAK,kBAAkB,QAAQA,MAAO,SAAS,SAASA,EAAG,WAAW,QAAQ0G,MAAO,SAASA,KAAMmC,IAAK,KAAK,UAAU,KAAI,OAAQ,QAAQA,MAAO,SAAS,SAASA,EAAG,QAAO,EAAG,WAAW,QAAQC,MAAO,SAASA,IAAK,KAAK4X;AAChQ,YAAQjK,GAAS;AAAA,MACb,KAAKF,EAAU;AAAM,eAAOgI,MAAiBlS,EAAS,OAAOnM,IAAQ,KAAK;AAAA,MAC1E,KAAKqW,EAAU;AAAO,eAAOgI,MAAiBlS,EAAS,OAAO,IAAInM;AAAA,MAClE,KAAKqW,EAAU;AAAQ,eAAOgI,MAAiBlS,EAAS,OAAOnM,IAAS,OAAQA,IAAQ;AAAA,MACxF;AAAS,eAAO;AAAA,IAC5B;AAAA,EACI;AACJ;AACAwc,GAAK,YAAYvN;ACvfjB,MAAMwR,KAAyB,OAAO,OAAO,OAAO,OAAO,CAAA,GAAI3U,EAAwB,GAAG,EAAE,UAAU,QAAW,UAAU,MAAM,UAAU,KAAK,SAAS,QAAW,UAAU,CAAC7O,GAAG+Q,GAAGzQ,GAAMmjB,MAA0B,IAAI,wBAAwB,IAAM,gCAAgC,KAAK,YAAY,IAAM,YAAY,QAAW,OAAO,QAAW,aAAa,QAAW,aAAa,QAAW,iBAAiB,QAAW,aAAa,QAAW,gBAAgB,IAAO,GCA5cjQ,KAAe9O;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUf6K,KAAO7L;AAAA;AAAA,GAGP+P,KAAO/P;AAAA;AAAA;AAAA;AAAA;AAAA,GAMPggB,KAAShgB;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;ACTf,MAAMigB,WAAkB7U,GAAgB;AAAA,EACpC,YAAYlM,GAAQ;AAChB,aACA,KAAK,YAAY,IACjB,KAAK,iBAAiB4gB,IACtB,KAAK,SAAS,KAAK,gBACnB,KAAK,OAAO,QACZ,KAAK,OAAO,QACZ,KAAK,cAAc,QACnB,KAAK,eAAe,MAEpB,KAAK,aAAa;AAAA,MACd,GAAG;AAAA,MACH,GAAG;AAAA,MACH,UAAU;AAAA,MACV,UAAU;AAAA,IACtB,GACY5gB,KACA,KAAK,UAAUA,CAAM,GACzB,KAAK,EAAE,MAAM,WAAW,CAAC,GACzB,KAAK,OAAO,KAAK,EAAE,OAAO,MAAM,EAC3B,KAAK,SAAS6Q,EAAI;AAAA,EAC3B;AAAA,EACA,IAAI,UAAUmQ,GAAW;AAAE,SAAK,aAAaA;AAAA,EAAW;AAAA,EACxD,IAAI,YAAY;AACZ,QAAI/gB;AACJ,UAAM,EAAE,QAAAD,EAAM,IAAK,MACbihB,IAAY,CAAC,EAAEjhB,EAAO,KAAKA,EAAO,KAAKA,EAAO,WAC9CmO,IAAI8S,IAAYjhB,EAAO,IAAI,KAAK,WAAW,GAC3CkhB,IAAOD,IAAYjhB,EAAO,IAAI,KAAK,WAAW,GAC9CoO,IAAI8S,IAAQ7lB,GAAQ6lB,CAAI,IAAIA,IAAO,CAACA,CAAI,IAAK,QAC7CC,IAAWF,IAAYjhB,EAAO,WAAW,KAAK,WAAW,UACzDohB,KAAYnhB,IAAKD,EAAO,cAAc,QAAQC,MAAO,SAASA,IAAK,KAAK,WAAW;AACzF,WAAO,EAAE,GAAAkO,GAAG,GAAAC,GAAG,UAAA+S,GAAU,UAAAC,EAAQ;AAAA,EACrC;AAAA,EACA,yBAAyB;AACrB,QAAInhB;AACJ,QAAI,EAAG,GAAAA,IAAK,KAAK,eAAe,QAAQA,MAAO,WAAkBA,EAAG,KAAI;AACpE,aAAO;AACX,UAAMI,IAAgB,KAAK,UAAU,KAAI,EAAG,sBAAqB,GAC3DghB,IAAgB,OAAO,cAAc,SAAS,gBAAgB,aAC9DC,IAAiB,OAAO,eAAe,SAAS,gBAAgB,cAEhEC,IAAe,KAAK,IAAI,GAAG,KAAK,IAAIlhB,EAAc,OAAOghB,CAAa,IAAI,KAAK,IAAIhhB,EAAc,MAAM,CAAC,CAAC,GACzGmhB,IAAgB,KAAK,IAAI,GAAG,KAAK,IAAInhB,EAAc,QAAQihB,CAAc,IAAI,KAAK,IAAIjhB,EAAc,KAAK,CAAC,CAAC,GAC3GohB,IAAgBphB,EAAc,QAAQA,EAAc,QACpDqhB,IAAcH,IAAeC;AAEnC,WAAOC,IAAgB,KAAMC,IAAcD,KAAkB;AAAA,EACjE;AAAA,EACA,aAAaE,GAAc;AACvB,IAAI,KAAK,cAAcA,MAEvB,KAAK,YAAYA,GACjB,KAAK,UAAU,GAAG,uBAAuB,KAAK,aAAa,KAAK,IAAI,CAAC,GACrE,KAAK,UAAU,GAAG,sBAAsB,KAAK,YAAY,KAAK,IAAI,CAAC,GACnE,KAAK,UAAU,GAAG,mBAAmB,KAAK,SAAS,KAAK,IAAI,CAAC;AAAA,EACjE;AAAA,EACA,QAAQvY,GAAgB;AACpB,QAAInJ,GAAI0G,GAAImC,GAAIC,GAAIC;AACpB,UAAM,EAAE,QAAAhJ,GAAQ,WAAAoM,EAAS,IAAK,MACxBlM,IAAWhF,EAASkO,CAAc,IAAIA,IAAiBpJ,EAAO,UAC9D4hB,IAAuB5hB,EAAO,gBAAgB,QAC9C6hB,IAAMD,IAAuB,KAAK,OAAO5hB,EAAO,WAAW,IAAI,KAAK,MACpE8hB,IAAS,KAAK,OAAO,OAAOD,CAAG,GAC/BhB,IAA2B,GAAA5gB,IAAKmM,EAAU,UAAU,QAAQnM,MAAO,WAAkBA,EAAG,UAAW,KAAK,UAAU,IAClHmM,EAAU,KAAK,QAAQ7N,GAAW6N,EAAU,MAAM0V,GAAQ,KAAK,UAAU,GAAG7mB,EAAqB,IAAI,CAAC,IAAI;AAGhH,QAAI8mB,GACAC;AACJ,IAAIhiB,EAAO,eACH,CAAC,KAAK,UAAU,KAAK,CAAC,KAAK,UAAU,aAAc,GAAA2G,IAAKyF,EAAU,UAAU,QAAQzF,MAAO,WAAkBA,EAAG,WAChH,QAAQ,KAAK,uHAAwH,GAIrI,EAAG,GAAAmC,IAAKsD,EAAU,UAAU,QAAQtD,MAAO,WAAkBA,EAAG,WAAW,KAAK,eAChF,QAAQ,KAAK,wHAAwH,GAEzIiZ,IAAexjB,GAAW6N,EAAU,MAAM0V,GAAQ,KAAK,UAAU,CAAC,GAClEE,IAAoB5V,EAAU,KAAK,QAAQ2V,CAAY;AAE3D,UAAMvX,IAAS,KAAK,OAAO,MAAK,GAC1BC,IAAS,KAAK,OAAO,MAAK,GAC1BwX,IAAWjiB,EAAO,cAAc+hB,IAChCpkB,EAAM,KAAK,MAAM,KAAK,OAAOH,EAAUukB,GAAc,KAAK,UAAU,GAAGC,CAAiB,CAAC,CAAC,GAAG,GAAG,KAAK,MAAM,IAC3GrkB,EAAMkkB,GAAKrX,EAAO,CAAC,GAAGA,EAAO,CAAC,CAAC,GAC/B0X,IAA2BL,KAAOrX,EAAO,CAAC,KAAOqX,KAAOrX,EAAO,CAAC,GAChE2X,IAA2B,KAAK,QAAQ,KAAK,IAAI1X,EAAO,CAAC,GAAGA,EAAO,CAAC,CAAC,KAAO,KAAK,QAAQ,KAAK,IAAIA,EAAO,CAAC,GAAGA,EAAO,CAAC,CAAC;AAC5H,QAAI2X,IAAapiB,EAAO,iBAAiB,CAAC,CAAC,KAAK,OAAQ,KAAK,OAAOkiB,KAA2BC,IAA0BD;AAEzH,IAAIliB,EAAO,0BAA4B,KAAK,IAAIiiB,IAAY,CAACJ,CAAI,KAAK7hB,EAAO,mCACzEoiB,IAAa;AAEjB,UAAM/b,KAAW0C,IAAK/I,EAAO,aAAa,QAAQ+I,MAAO,SAASA,IAAK,KAAK;AAC5E,QAAIqZ,KAAc/b,KAAW,KAAK,uBAAsB,GAAI;AACxD,YAAMvG,IAAYuG,EAAQ,aAAY,KAAM,KAAK,UAAU,QACrDwH,IAAkBxH,EAAQ,mBAC1Bgc,IAAqB,KAAK,UAAU,IAAI7kB,EAAUukB,GAAc,KAAK,UAAU,GAAGC,CAAiB,IAAI;AAC7G,UAAIJ,GAAsB;AAEtB,cAAMvhB,IAAgB,KAAK,UAAU,KAAI,EAAG,sBAAqB,GAE3DiiB,MAAWzU,IAAkBgU,IAAMxhB,EAAc,OAAOwhB,KAAO,KAAK,iBAAiB,MACrFU,KAAU,KAAK,UAAU,KAAK1U,IAAkBxN,EAAc,MAAM,IACpE8M,KAAM,CAACmV,IAASC,EAAO;AAC7B,aAAK,aAAaR,GAAcM,GAAoBlV,IAAK0T,CAAqB;AAAA,MAClF,WACS,KAAK,aAAa;AACvB,cAAM1T,IAAOU,IAAkB,CAAC,KAAK,YAAY,SAAS,KAAK,YAAY,OAAO,IAAIG,GAAQ,KAAK,aAAalO,CAAS;AACzH,aAAK,aAAaiiB,GAAcM,GAAoBlV,GAAK0T,CAAqB;AAAA,MAClF;AAAA,IACJ;AAEI,WAAK,aAAY;AAUrB,QARI,KAAK,iBACJ7X,IAAKhJ,EAAO,qBAAqB,QAAQgJ,MAAO,UAAkBA,EAAG,KAAKhJ,GAAQoiB,IAAa,KAAK,OAAO,OAAO,KAAK,IAAI,IAAI,QAAWL,GAAcC,GAAmB,KAAK,WAAW,GAC5L,KAAK,cAAc,SAEvBrc,EAAgB,KAAK,GAAGzF,CAAQ,EAC3B,MAAM,WAAWkiB,IAAa,IAAI,CAAC,GAGpC,CAAC,SAASP,CAAG;AACb;AACJ,SAAK,KACA,KAAK,MAAM,CAAC,EACZ,KAAK,MAAM,KAAK,OAAO,GAC5Blc,EAAgB,KAAK,MAAMzF,GAAUsiB,EAAU,EAC1C,KAAK,MAAMP,CAAQ,EACnB,KAAK,MAAMA,CAAQ;AACxB,UAAMQ,IAAarnB,GAAW4E,EAAO,UAAU,IACzCA,EAAO,WAAW8hB,GAAQ1V,EAAU,MAAM,KAAK,QAAQyU,CAAqB,IAC5E,KAAK,cAAckB,GAAcC,CAAiB,GAClDU,IAAU,KAAK,EAChB,UAAU,QAAQ,EAClB,KAAKD,GAAY,CAACrlB,GAAGrB,MAAM;AAAE,UAAIkE;AAAI,cAAQA,IAAK7C,EAAE,QAAQ,QAAQ6C,MAAO,SAASA,IAAKlE;AAAA,IAAG,CAAC,GAC5F4mB,IAAeD,EAAQ,MAAK,EAC7B,OAAO,QAAQ,EACf,KAAK,SAAS5B,EAAM,EACpB,KAAK,KAAK,CAAC,EACX,KAAK,MAAMmB,CAAQ,EACnB,KAAK,MAAM,CAAA7kB,MAAKA,EAAE,CAAC,EACnB,MAAM,QAAQ,CAAAA,MAAKA,EAAE,KAAK,EAC1B,MAAM,UAAU,CAAAA,MAAKA,EAAE,WAAW,EAClC,MAAM,gBAAgB,CAAAA,MAAKA,EAAE,WAAW;AAC7C,IAAAuI,EAAgBgd,EAAa,MAAMD,CAAO,GAAGxiB,GAAUsiB,EAAU,EAC5D,KAAK,MAAMP,CAAQ,EACnB,KAAK,MAAM,CAAA7kB,MAAKA,EAAE,CAAC,EACnB,KAAK,KAAK,CAAC,EACX,MAAM,WAAW,CAAAA,MAAKA,EAAE,OAAO,EAC/B,MAAM,QAAQ,CAAAA,MAAKA,EAAE,KAAK,EAC1B,MAAM,UAAU,CAAAA,MAAKA,EAAE,WAAW,EAClC,MAAM,gBAAgB,CAAAA,MAAKA,EAAE,WAAW,GAC7CslB,EAAQ,OAAO;EACnB;AAAA,EACA,KAAKE,GAAa;AACd,WAAO,qBAAqB,KAAK,YAAY,GAC7C,KAAK,eAAe,OAAO,sBAAsB,MAAM;AACnD,UAAI3iB,GAAI0G;AACR,WAAK,OAAO,QACZ,KAAK,OAAO,QACZ,KAAK,cAAc,SAGlBA,KAAM1G,IAAK,KAAK,QAAQ,qBAAqB,QAAQ0G,MAAO,UAAkBA,EAAG,KAAK1G,GAAI,QAAW,QAAW,QAAW2iB,CAAW,GACvI,KAAK,QAAO;AAAA,IAChB,CAAC;AAAA,EACL;AAAA,EACA,aAAa/W,GAAO;AAChB,QAAI5L;AACJ,UAAM,EAAE,WAAAmM,GAAW,SAAAvM,EAAO,IAAK;AAC/B,IAAI,CAAC,KAAK,UAAU,MAAO,GAAAI,IAAKmM,EAAU,UAAU,QAAQnM,MAAO,WAAkBA,EAAG,WACpF,QAAQ,KAAK,2HAA4H;AAE7I,UAAM,CAACkO,GAAGC,CAAC,IAAIJ,GAAQnC,GAAOhM,CAAO;AACrC,SAAK,OAAOsO,GACZ,KAAK,OAAOC,GACZ,KAAK,cAAcvC,GACnB,OAAO,qBAAqB,KAAK,YAAY,GAC7C,KAAK,eAAe,OAAO,sBAAsB,MAAM;AAGnD,WAAK,QAAO;AAAA,IAChB,CAAC;AAAA,EACL;AAAA,EACA,YAAYA,GAAO;AACf,QAAI5L;AAEJ,KAAI,CAAC4L,KAAS,EAAG,GAAA5L,IAAK,KAAK,eAAe,QAAQA,MAAO,WAAkBA,EAAG,KAAI,EAAG,SAAS4L,EAAM,aAAa,OAC7G,KAAK,KAAKA,CAAK;AAAA,EAEvB;AAAA,EACA,SAASA,GAAO;AACZ,SAAK,KAAKA,CAAK;AAAA,EACnB;AAAA,EACA,aAAaoH,GAAO6O,GAAQ3U,GAAK6U,GAAmB;AAChD,QAAI/hB;AACJ,UAAM,EAAE,QAAAD,GAAQ,WAAAoM,EAAS,IAAK,MACxB/F,KAAWpG,IAAKD,EAAO,aAAa,QAAQC,MAAO,SAASA,IAAK,KAAK;AAC5E,QAAI,CAACoG,KAAW,CAAC8G;AACb;AACJ,UAAM,CAACgB,GAAGC,CAAC,IAAIjB,GACT+B,IAAUlP,EAAO,SAASiT,GAAO6O,GAAQ1V,EAAU,MAAM4V,CAAiB;AAIhF,QAFA3b,EAAQ,OAAO,eAAe,IAE1B,CAACA,EAAQ,OAAO,uBAAuBA,EAAQ,OAAO,wBAAwBiG,EAAS,MAAM;AAC7F,YAAMuW,IAAYxc,EAAQ,gBAAe,IAAK8H,IAAI,KAAK,UAAU,KAAI,EAAG,wBAAwB,OAAOA;AACvG,MAAA9H,EAAQ,4BAA4Bwc,IAAY,KAAK,kBAAkB,IAAIvW,EAAS,OAAOA,EAAS,KAAK;AAAA,IAC7G;AACA,IAAI4C,KACA7I,EAAQ,KAAK6I,GAAS,EAAE,GAAAf,GAAG,GAAAC,EAAC,CAAE;AAAA,EACtC;AAAA,EACA,eAAe;AACX,QAAInO;AACJ,UAAM,EAAE,QAAAD,EAAM,IAAK,MACbqG,KAAWpG,IAAKD,EAAO,aAAa,QAAQC,MAAO,SAASA,IAAK,KAAK;AAC5E,IAAkDoG,GAAQ;EAC9D;AAAA;AAAA,EAEA,iBAAiB;AACb,WAAO,CAAC,QAAW,MAAS;AAAA,EAChC;AAAA,EACA,cAAc4M,GAAO6P,GAAY;AAC7B,QAAI7iB,GAAI0G;AACR,UAAM,EAAE,QAAA3G,EAAM,IAAK;AACnB,QAAIA,EAAO,cAAciT,GAAO;AAC5B,YAAM1J,KAActJ,IAAK,KAAK,UAAU,OAAO,QAAQA,MAAO,SAASA,IAAK,CAAA,GACtEuJ,KAAqB7C,IAAK,KAAK,UAAU,cAAc,QAAQA,MAAO,SAASA,IAAK,CAAA,GACpFoc,IAAgBvlB,EAAUyV,GAAO,KAAK,UAAU,UAAU6P,CAAU,KAAK,GACzEE,IAAgBllB,GAAiBmV,GAAO6P,GAAY,GAAGtZ,CAAiB,EACzE,IAAI,CAACrL,GAAOb,OAAW;AAAA,QACxB,GAAG,KAAK,OAAOa,IAAQ4kB,CAAa;AAAA,QACpC,SAAS7nB,EAASsC,EAAUyV,GAAOzJ,EAAkBlM,CAAK,GAAGA,CAAK,CAAC,IAAI,IAAI;AAAA,QAC3E,OAAO+R,EAAS4D,GAAOjT,EAAO,OAAO1C,CAAK;AAAA,QAC1C,aAAa0C,EAAO,cAAcqP,EAAS4D,GAAOjT,EAAO,aAAa1C,CAAK,IAAI;AAAA,QAC/E,aAAa0C,EAAO,cAAcxC,EAAUyV,GAAOjT,EAAO,aAAa1C,CAAK,IAAI;AAAA,MAChG,EAAc,GACI2lB,IAAgB1Z,EACjB,IAAI,CAACpO,GAAGmC,MAAU;AACnB,cAAMa,IAAQX,EAAUyV,GAAO9X,GAAG2nB,CAAU;AAC5C,eAAO;AAAA,UACH,GAAG,KAAK,OAAO3kB,CAAK;AAAA,UACpB,SAASjD,EAASiD,CAAK,IAAI,IAAI;AAAA,UAC/B,OAAOkR,EAAS4D,GAAOjT,EAAO,OAAOgjB,EAAc,SAAS1lB,CAAK;AAAA,UACjE,aAAa0C,EAAO,cAAcqP,EAAS4D,GAAOjT,EAAO,aAAa1C,CAAK,IAAI;AAAA,UAC/E,aAAa0C,EAAO,cAAcxC,EAAUyV,GAAOjT,EAAO,aAAa1C,CAAK,IAAI;AAAA,QACpG;AAAA,MACY,CAAC;AACD,aAAO0lB,EAAc,OAAOC,CAAa;AAAA,IAC7C;AACA,WAAO;EACX;AACJ;AACAlC,GAAU,YAAY3R;AC1QtB,MAAM8T,KAAqB,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIhY,EAAsB,GAAG,EAAE,IAAI,CAAC9N,GAAGrB,MAAM;AAAE,MAAIkE;AAAI,UAAQA,IAAK7C,EAAE,QAAQ,QAAQ6C,MAAO,SAASA,IAAKlE;AAAG,GAAG,OAAO,QAAW,YAAY,CAAC,GAAG,IAAI,KAAK,EAAE,GAAG,UAAU,GAAG,cAAc,QAAW,cAAc,GAAG,OAAO,QAAW,QAAQ,QAAW,UAAU,IAAI,cAAc,QAAW,iBAAiB,QAAW,qBAAqB,IAAM,mBAAmB,IAAO,mBAAmB,MAAM,KAAK,KAAK,KAAK,gBAAgB,IAAM,sBAAsB,QAAW,qBAAqB,QAAW,qBAAqB,QAAW;ACC3kB,SAASonB,GAAUvd,GAAW5F,GAAQ;AAClC,EAAA4F,EACK,MAAM,QAAQ,CAAAxI,MAAKiS,EAASjS,EAAE,MAAM4C,EAAO,OAAO5C,EAAE,KAAK,CAAC,EAC1D,MAAM,WAAW,CAAC,EAClB,KAAK,CAACA,GAAG,GAAG0O,MAAQ;AACrB,UAAMsX,IAAUtX,EAAI,CAAC,GACfuX,KAAejmB,EAAE,aAAaA,EAAE,YAAY,GAC5CkmB,KAAkBlmB,EAAE,WAAWA,EAAE,cAAc;AACrD,IAAAgmB,EAAQ,aAAa;AAAA,MACjB,YAAYC,IAAcC;AAAA,MAC1B,UAAUD,IAAcC;AAAA,MACxB,aAAalmB,EAAE;AAAA,MACf,aAAaA,EAAE;AAAA,MACf,UAAUA,EAAE;AAAA,IACxB;AAAA,EACI,CAAC;AACL;AACA,SAASmmB,GAAU3d,GAAW5F,GAAQwjB,GAAQtjB,GAAU;AACpD,EAAA0F,EACK,MAAM,cAAc,QAAQ1F,CAAQ,IAAI,EACxC,MAAM,QAAQ,CAAA9C,MAAKiS,EAASjS,EAAE,MAAM4C,EAAO,OAAO5C,EAAE,KAAK,CAAC;AAC/D,QAAMqmB,IAAa,CAACrmB,MAAO4C,EAAO,qBAAqB5C,EAAE,QAAS,IAAI;AACtE,EAAI8C,IACmByF,EAAgBC,GAAW1F,CAAQ,EACjD,MAAM,WAAWujB,CAAU,EACrB,UAAU,KAAK,CAACrmB,GAAGrB,GAAG+P,MAAQ;AACrC,UAAMsX,IAAUtX,EAAI/P,CAAC,GACf2nB,IAAgB;AAAA,MAClB,YAAYtmB,EAAE;AAAA,MACd,UAAUA,EAAE;AAAA,MACZ,aAAaA,EAAE;AAAA,MACf,aAAaA,EAAE;AAAA,MACf,UAAUA,EAAE;AAAA,IAC5B,GACkB6V,IAAQ0Q,GAAYP,EAAQ,YAAYM,CAAa;AAC3D,WAAO,CAAC9J,OACJwJ,EAAQ,aAAanQ,EAAM2G,CAAC,GACrB4J,EAAOJ,EAAQ,UAAU;AAAA,EAExC,CAAC,IAGDxd,EACK,KAAK,KAAK4d,CAAM,EAChB,MAAM,WAAWC,CAAU;AAExC;AACA,SAASG,GAAUhe,GAAW1F,GAAU;AACpC,EAAAyF,EAAgBC,GAAW1F,CAAQ,EAC9B,MAAM,WAAW,CAAC,EAClB;AACT;ACvDA,MAAM2jB,KAA0B,MAAM,KAAK,EAAE,QAAQ,KAAK,CAACpe,GAAG1J,MAAM;AAChE,QAAM+O,IAAS,CAAC,KAAK,KAAK,IAAI/O,IAAI,KAAK,KAAK;AAC5C,SAAO,CAAC+O,GAAQA,IAAS,KAAK,EAAE;AACpC,CAAC,GACK,CAACgZ,IAA4BC,IAA8BC,IAA+BC,EAA2B,IAAKJ,ICF1HlX,KAAO7L;AAAA;AAAA,GAGP8L,KAAY9K;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAyBE,IAAI6K,EAAI,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,GAMxBuX,KAAapjB;AAAA;AAAA;AAAA,GAIbqjB,KAAUrjB;AAAA;AAAA;AAAA;AAAA,GAKVsjB,KAActjB;AAAA;AAAA,GAGdujB,KAAevjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASfwjB,KAAkBxjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;AC7CxB,MAAMyjB,WAAcpZ,GAAc;AAAA,EAC9B,YAAYnL,GAAQ;AAChB,aACA,KAAK,iBAAiBkjB,IACtB,KAAK,SAAS,KAAK,gBACnB,KAAK,YAAY,IAAIlX,MACrB,KAAK,SAASwY,MACd,KAAK,SAAS,IACVxkB,KACA,KAAK,UAAUA,CAAM,GACzB,KAAK,gBAAgB,KAAK,EAAE,OAAO,MAAM,GACzC,KAAK,WAAW,KAAK,EAAE,OAAO,GAAG,GACjC,KAAK,eAAe,KAAK,EAAE,OAAO,MAAM,EACnC,KAAK,SAASqkB,EAAY,GAC/B,KAAK,kBAAkB,KAAK,EAAE,OAAO,MAAM,EACtC,KAAK,SAASC,EAAe;AAAA,EACtC;AAAA,EACA,IAAI,QAAQ;AACR,WAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO;EAChD;AAAA,EACA,QAAQlb,GAAgB;AACpB,QAAInJ,GAAI0G,GAAImC,GAAIC,GAAIC,GAAIK,GAAIQ,GAAIC,GAAI2a,GAAIC,GAAIC,GAAIC,GAAIC,GAAIC;AACxD,UAAM,EAAE,QAAA9kB,GAAQ,WAAAoM,GAAW,OAAA1B,EAAK,IAAK,MAE/BhN,IAAO0O,EAAU,KAClB,IAAI,CAAChP,GAAGrB,OAAO;AAAA,MAChB,OAAOA;AAAA,MACP,OAAOqB;AAAA,IACnB,EAAU,EACG,OAAO,CAAAA,MAAK4C,EAAO,qBAAqBxC,EAAUJ,EAAE,OAAO4C,EAAO,OAAO5C,EAAE,KAAK,CAAC,GAChF8C,IAAWhF,EAASkO,CAAc,IAAIA,IAAiBpJ,EAAO,UAG9D,CAAC+kB,GAAgBC,GAAkBC,GAAmBC,CAAe,IAAKrB,GAAwB,IAAI,CAAAsB,MAAcnlB,EAAO,cAAeA,EAAO,WAAW,CAAC,MAAMmlB,EAAW,CAAC,KACjLnlB,EAAO,WAAW,CAAC,MAAMmlB,EAAW,CAAC,CAAE,GACrCC,IAAsBL,KAAkBE,GACxCI,IAAwBL,KAAoBE,GAG5C/kB,IAAQ,KAAK,UAAUklB,IAAwB,IAAI,IACnDjlB,IAAS,KAAK,WAAWglB,IAAsB,IAAI,IACnDE,IAActlB,EAAO,UAAU,KAAK,IAAIG,IAAQuK,EAAM,OAAOA,EAAM,OAAOtK,IAASsK,EAAM,MAAMA,EAAM,MAAM,IAAI,GAC/G6a,KAAcvlB,EAAO,aAAa,IAAI,IAAIrC,EAAM2nB,IAActlB,EAAO,UAAU,GAAGslB,IAAc,CAAC,GACjG7X,KAAa,KAAK,UAAU,KAAKsX,IAAiBO,IAAc,IAAIL,IAAoB,CAACK,IAAc,IAAI,IAC3G9X,KAAa,KAAK,SAAS,KAAK0X,IAAkBI,IAAc,IAAIN,IAAmB,CAACM,IAAc,IAAI,IAC1GE,KAAY,aAAahY,EAAU,IAAIC,EAAU;AACvD,SAAK,SAAS,KAAK,aAAa+X,EAAS,GACzC,KAAK,OACA,WAAW,CAAApoB,MAAKA,EAAE,UAAU,EAC5B,SAAS,CAAAA,MAAKA,EAAE,QAAQ,EACxB,YAAY,CAAAA,MAAKA,EAAE,WAAW,EAC9B,YAAY,CAAAA,MAAKA,EAAE,WAAW,EAC9B,SAAS,CAAAA,MAAKA,EAAE,QAAQ,EACxB,aAAa4C,EAAO,YAAY;AAOrC,UAAMylB,KANSC,GAAG,EACb,YAAY/e,KAAM1G,IAAKD,EAAO,gBAAgB,QAAQC,MAAO,SAAS,SAASA,EAAG,CAAC,OAAO,QAAQ0G,MAAO,SAASA,IAAK,CAAC,EACxH,UAAUoC,KAAMD,IAAK9I,EAAO,gBAAgB,QAAQ8I,MAAO,SAAS,SAASA,EAAG,CAAC,OAAO,QAAQC,MAAO,SAASA,IAAK,IAAI,KAAK,EAAE,EAChI,SAAS/I,EAAO,QAAQ,EACxB,MAAM,CAAA5C,MAAKI,EAAUJ,EAAE,OAAO4C,EAAO,OAAO5C,EAAE,KAAK,KAAK,CAAC,EACzD,KAAK,CAACjC,GAAGS,MAAM;AAAE,UAAIqE;AAAI,cAAQA,KAAKD,EAAO,kBAAkB,QAAQC,OAAO,SAAS,SAASA,GAAG,KAAKD,GAAQ7E,EAAE,OAAOS,EAAE,KAAK;AAAA,IAAG,CAAC,EAClH8B,CAAI,EAAE,IAAI,CAAAN,MAAK;AAClC,YAAMonB,IAAM,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIpnB,CAAC,GAAG;AAAA,QAAE,MAAMA,EAAE,KAAK;AAAA,QAAO,OAAOA,EAAE,KAAK;AAAA,QAAO,aAAAmoB;AAAA,QACvF,aAAAD;AAAA,MAAW,CAAE;AACjB,aAAItlB,EAAO,qBAAqB5C,EAAE,WAAWA,EAAE,aAAaA,EAAE,YAAY,OAAO,YAC7EonB,EAAI,WAAWpnB,EAAE,aAAa,KAAK,IAAI4C,EAAO,mBAAmBA,EAAO,QAAQ,GAChFwkB,EAAI,WAAWpnB,EAAE,WAAW,IAEzBonB;AAAA,IACX,CAAC,GAEKmB,KAAgB,KAAK,SACtB,UAAU,IAAIxB,EAAO,EAAE,EACvB,KAAKsB,IAAS,CAACroB,MAAM4C,EAAO,GAAG5C,EAAE,MAAMA,EAAE,KAAK,CAAC,GAC9CwoB,KAAYD,GAAc,MAAK,EAAG,OAAO,MAAM,EAChD,KAAK,SAASxB,EAAO,EACrB,KAAKhB,IAAWnjB,CAAM,GACrB6lB,KAAaF,GAAc,MAAMC,EAAS;AAChD,IAAAC,GAAW,KAAKtC,IAAWvjB,GAAQ,KAAK,QAAQE,CAAQ,GACxD2lB,GAAW,KAAK,CAAC1qB,GAAGS,MAAMA,EAAE,QAAQT,EAAE,KAAK,GAC3CwqB,GAAc,KAAI,EACb,KAAK,SAASvB,EAAW,EACzB,KAAKR,IAAW1jB,CAAQ;AAE7B,UAAM4lB,KAAkBd,IAAmB,UAAUE,IAAkB,QAAQ;AAC/E,SAAK,aACA,KAAK,MAAMllB,EAAO,kBAAkB,YAAY,IAAI,EACpD,MAAM,eAAe8lB,EAAe,EACpC,MAAM9c,IAAKhJ,EAAO,kBAAkB,QAAQgJ,MAAO,SAASA,IAAK,IAAI,GAC1E,KAAK,gBACA,KAAK,MAAMhJ,EAAO,eAAe,WAAW,IAAI,EAChD,MAAM,eAAe8lB,EAAe,EACpC,MAAMzc,IAAKrJ,EAAO,qBAAqB,QAAQqJ,MAAO,SAASA,IAAK,IAAI,GACzErJ,EAAO,uBACPgY,GAAY,KAAK,iBAAiBuN,KAAc,GAAG;AAEvD,UAAMQ,MAAmB/lB,EAAO,uBAAuB,KAAKwN;AAC5D,QAAIwY,MAAmBhmB,EAAO,uBAAuB,KAAKyN;AAE1D,IAAI2X,KAAuBplB,EAAO,wBAAwB,UAAaA,EAAO,wBAAwB,WAMlGgmB,MAL8BjB,IACxB,CAAC,KAAK,gBAAgB,KAAI,EAAG,sBAAqB,EAAG,SACrDE,IACI,KAAK,aAAa,OAAO,sBAAqB,EAAG,SACjD,KACgCxX;AAE9C,UAAMwY,KAAiB,aAAaF,EAAe,IAAIC,EAAe;AACtE,SAAK,aAAa,KAAK,aAAaC,EAAc,GAClD,KAAK,gBAAgB,KAAK,aAAaA,EAAc,GAErD,KAAK,cAAc,KAAK,SAAS/B,EAAU,EACtC,KAAK,cAAclkB,EAAO,iBAAiB,OAAO,QAAQ,EAC1D,KAAK,aAAawlB,EAAS,GAChC7f,EAAgB,KAAK,eAAezF,CAAQ,EACvC,KAAK,KAAK,KAAK,OAAO;AAAA,MACvB,aAAawkB,KAAM5a,KAAMD,IAAK7J,EAAO,0BAA0B,QAAQ6J,MAAO,SAAS,SAASA,EAAG,CAAC,OAAO,QAAQC,MAAO,SAASA,KAAM2a,IAAKzkB,EAAO,gBAAgB,QAAQykB,MAAO,SAAS,SAASA,EAAG,CAAC,OAAO,QAAQC,MAAO,SAASA,IAAK;AAAA,MAC9O,WAAWI,KAAMF,KAAMD,IAAK3kB,EAAO,0BAA0B,QAAQ2kB,MAAO,SAAS,SAASA,EAAG,CAAC,OAAO,QAAQC,MAAO,SAASA,KAAMC,IAAK7kB,EAAO,gBAAgB,QAAQ6kB,MAAO,SAAS,SAASA,EAAG,CAAC,OAAO,QAAQC,MAAO,SAASA,IAAK,IAAI,KAAK;AAAA,MACrP,aAAAS;AAAA,MACA,aAAAD;AAAA,IACZ,CAAS,CAAC;AAAA,EACN;AACJ;AACAf,GAAM,YAAYnV;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53]}
|