@nanoporetech-digital/components 1.13.21 → 1.15.0
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 +653 -14
- package/README.md +3 -2
- package/dist/cjs/{algolia-data-771a61ea.js → algolia-data-a98ccf4f.js} +2 -2
- package/dist/cjs/algolia-data-a98ccf4f.js.map +1 -0
- package/dist/cjs/algoliasearch.umd-5dc661c5.js +12 -0
- package/dist/cjs/algoliasearch.umd-5dc661c5.js.map +1 -0
- package/dist/cjs/{component-store-c8440fd7.js → component-store-8d99743e.js} +2 -2
- package/dist/cjs/{component-store-c8440fd7.js.map → component-store-8d99743e.js.map} +1 -1
- package/dist/cjs/{css-shim-208c6c2d.js → css-shim-8983f2ba.js} +2 -2
- package/dist/cjs/{css-shim-208c6c2d.js.map → css-shim-8983f2ba.js.map} +1 -1
- package/dist/cjs/{dom-1b5e30a5.js → dom-28d4395c.js} +2 -2
- package/dist/cjs/{dom-1b5e30a5.js.map → dom-28d4395c.js.map} +1 -1
- package/dist/cjs/{global-befb7a64.js → global-aa92d50f.js} +5 -3
- package/dist/cjs/global-aa92d50f.js.map +1 -0
- package/dist/cjs/{utils-e9e37c80.js → index-e517a673.js} +1 -1
- package/dist/cjs/{utils-e9e37c80.js.map → index-e517a673.js.map} +1 -1
- package/dist/cjs/{index-43791691.js → index-f12395b8.js} +10 -3
- package/dist/cjs/index-f12395b8.js.map +1 -0
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +5 -5
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/nano-accordion.cjs.entry.js +1 -1
- package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-alert.cjs.entry.js +7 -7
- package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +3 -3
- package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-input.cjs.entry.js +5 -5
- package/dist/cjs/nano-algolia-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-pagination.cjs.entry.js +2 -2
- package/dist/cjs/nano-algolia-results.cjs.entry.js +2 -2
- package/dist/cjs/nano-algolia.cjs.entry.js +5 -5
- package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-aspect-ratio.cjs.entry.js +12 -4
- package/dist/cjs/nano-aspect-ratio.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox-group.cjs.entry.js +31 -16
- package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox.cjs.entry.js +33 -15
- package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-components.cjs.js +5 -5
- package/dist/cjs/nano-components.cjs.js.map +1 -1
- package/dist/cjs/nano-date-input.cjs.entry.js +45 -13
- package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-date-picker_2.cjs.entry.js +117 -72
- package/dist/cjs/nano-date-picker_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-details.cjs.entry.js +16 -10
- package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dialog.cjs.entry.js +5 -9
- package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-drawer.cjs.entry.js +1 -1
- package/dist/cjs/nano-file-upload.cjs.entry.js +7 -14
- package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +6 -6
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-search-results.cjs.entry.js +2 -2
- package/dist/cjs/nano-grid_3.cjs.entry.js +1 -1
- package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-hero.cjs.entry.js +3 -3
- package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-icon-button.cjs.entry.js +2 -2
- package/dist/cjs/nano-icon.cjs.entry.js +1 -1
- package/dist/cjs/nano-input.cjs.entry.js +12 -2
- package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-menu.cjs.entry.js +2 -2
- package/dist/cjs/nano-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-nav-item_2.cjs.entry.js +6 -6
- package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-range.cjs.entry.js +11 -11
- package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-rating.cjs.entry.js +3 -3
- package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -1
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-select-option.cjs.entry.js +1 -1
- package/dist/cjs/nano-slide.cjs.entry.js +1 -1
- package/dist/cjs/nano-slides.cjs.entry.js +2 -2
- package/dist/cjs/nano-spinner.cjs.entry.js +2 -2
- package/dist/cjs/nano-sticker.cjs.entry.js +9 -9
- package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-content.cjs.entry.js +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +6 -6
- package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab.cjs.entry.js +2 -2
- package/dist/cjs/nano-tooltip.cjs.entry.js +49 -35
- package/dist/cjs/nano-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{popover-eccc07bd.js → popover-9289f217.js} +32 -32
- package/dist/cjs/popover-9289f217.js.map +1 -0
- package/dist/cjs/{shadow-css-c5dce0c8.js → shadow-css-a482ec93.js} +2 -2
- package/dist/cjs/shadow-css-a482ec93.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/accordion/accordion.js +2 -2
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/alert/alert.css +3 -3
- package/dist/collection/components/alert/alert.helpers.js +1 -1
- package/dist/collection/components/alert/alert.helpers.js.map +1 -1
- package/dist/collection/components/alert/alert.js +2 -2
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/algolia/algolia-data.js.map +1 -1
- package/dist/collection/components/algolia/algolia-filter.js +3 -3
- package/dist/collection/components/algolia/algolia-filter.js.map +1 -1
- package/dist/collection/components/algolia/algolia-input.js +7 -7
- package/dist/collection/components/algolia/algolia-input.js.map +1 -1
- package/dist/collection/components/algolia/algolia-results.js +1 -1
- package/dist/collection/components/algolia/algolia.js +8 -8
- package/dist/collection/components/algolia/algolia.js.map +1 -1
- package/dist/collection/components/aspect-ratio/aspect-ratio.js +9 -1
- package/dist/collection/components/aspect-ratio/aspect-ratio.js.map +1 -1
- package/dist/collection/components/checkbox/__tests__/__fixtures__/checkbox-templates.js +117 -0
- package/dist/collection/components/checkbox/__tests__/__fixtures__/checkbox-templates.js.map +1 -0
- package/dist/collection/components/checkbox/checkbox-group.css +3 -3
- package/dist/collection/components/checkbox/checkbox-group.js +39 -26
- package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.css +13 -2
- package/dist/collection/components/checkbox/checkbox.js +63 -28
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/date-input/date-input.css +2 -4
- package/dist/collection/components/date-input/date-input.js +81 -29
- package/dist/collection/components/date-input/date-input.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.css +15 -4
- package/dist/collection/components/date-picker/date-picker.js +45 -17
- package/dist/collection/components/date-picker/date-picker.js.map +1 -1
- package/dist/collection/components/details/details.css +3 -3
- package/dist/collection/components/details/details.js +14 -8
- package/dist/collection/components/details/details.js.map +1 -1
- package/dist/collection/components/dialog/dialog.css +2 -3
- package/dist/collection/components/dialog/dialog.js +6 -10
- package/dist/collection/components/dialog/dialog.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +134 -85
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload-interface.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload.css +9 -17
- package/dist/collection/components/file-upload/file-upload.js +17 -20
- package/dist/collection/components/file-upload/file-upload.js.map +1 -1
- package/dist/collection/components/global-nav/global-nav.css +2 -2
- package/dist/collection/components/global-nav/global-nav.js +5 -5
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/global-search-results/global-search-results.css +3 -3
- package/dist/collection/components/grid/grid-item.js +1 -1
- package/dist/collection/components/grid/grid.js +1 -1
- package/dist/collection/components/grid/grid.js.map +1 -1
- package/dist/collection/components/hero/hero.js +1 -1
- package/dist/collection/components/hero/hero.js.map +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/icon-button/icon-button.css +2 -2
- package/dist/collection/components/input/input.css +9 -11
- package/dist/collection/components/input/input.js +26 -7
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/menu/menu.css +7 -7
- package/dist/collection/components/menu/menu.js +1 -1
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/menu-drawer/menu-drawer.js +1 -1
- package/dist/collection/components/menu-drawer/menu-drawer.js.map +1 -1
- package/dist/collection/components/nav-item/nav-item.js +5 -5
- package/dist/collection/components/nav-item/nav-item.js.map +1 -1
- package/dist/collection/components/range/range.css +4 -4
- package/dist/collection/components/range/range.js +5 -5
- package/dist/collection/components/range/range.js.map +1 -1
- package/dist/collection/components/rating/rating.js +1 -1
- package/dist/collection/components/rating/rating.js.map +1 -1
- package/dist/collection/components/resize-observe/resize-observe.js +2 -2
- package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
- package/dist/collection/components/select/select.css +4 -4
- package/dist/collection/components/select/select.js +6 -6
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/slides/slides.css +2 -2
- package/dist/collection/components/slides/slides.js +7 -7
- package/dist/collection/components/spinner/spinner.css +2 -2
- package/dist/collection/components/sticky/sticker.js +1 -1
- package/dist/collection/components/sticky/sticker.js.map +1 -1
- package/dist/collection/components/tabs/tab-group.css +6 -6
- package/dist/collection/components/tabs/tab-group.js +3 -3
- package/dist/collection/components/tabs/tab-group.js.map +1 -1
- package/dist/collection/components/tabs/tab.css +2 -2
- package/dist/collection/components/tooltip/tooltip.css +15 -13
- package/dist/collection/components/tooltip/tooltip.js +50 -34
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/global/script/global.js +4 -2
- package/dist/collection/global/script/global.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/gesture/swipe-back.js +1 -1
- package/dist/collection/utils/gesture/swipe-back.js.map +1 -1
- package/dist/collection/utils/{utils.js → index.js} +1 -1
- package/dist/collection/utils/{utils.js.map → index.js.map} +1 -1
- package/dist/collection/utils/store/component-store.js +1 -1
- package/dist/collection/utils/store/component-store.js.map +1 -1
- package/dist/collection/utils/testing/index.js +242 -0
- package/dist/collection/utils/testing/index.js.map +1 -0
- package/dist/custom-elements/index.js +374 -228
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/{algolia-data-a84aeef1.js → algolia-data-b31a9800.js} +2 -2
- package/dist/esm/algolia-data-b31a9800.js.map +1 -0
- package/dist/esm/algoliasearch.umd-7ecbe0e9.js +10 -0
- package/dist/esm/algoliasearch.umd-7ecbe0e9.js.map +1 -0
- package/dist/esm/{component-store-182d1931.js → component-store-93172454.js} +2 -2
- package/dist/esm/{component-store-182d1931.js.map → component-store-93172454.js.map} +1 -1
- package/dist/esm/{css-shim-f12af614.js → css-shim-4e602522.js} +2 -2
- package/dist/esm/{css-shim-f12af614.js.map → css-shim-4e602522.js.map} +1 -1
- package/dist/esm/{dom-2f25dd5a.js → dom-acc01cc2.js} +2 -2
- package/dist/esm/{dom-2f25dd5a.js.map → dom-acc01cc2.js.map} +1 -1
- package/dist/esm/{global-c85d24a2.js → global-118ae701.js} +5 -3
- package/dist/esm/global-118ae701.js.map +1 -0
- package/dist/esm/{utils-fd1ada22.js → index-269c88a9.js} +1 -1
- package/dist/esm/{utils-fd1ada22.js.map → index-269c88a9.js.map} +1 -1
- package/dist/esm/{index-20becda2.js → index-912ef959.js} +10 -3
- package/dist/esm/index-912ef959.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +5 -5
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/nano-accordion.entry.js +1 -1
- package/dist/esm/nano-accordion.entry.js.map +1 -1
- package/dist/esm/nano-alert.entry.js +3 -3
- package/dist/esm/nano-alert.entry.js.map +1 -1
- package/dist/esm/nano-algolia-filter.entry.js +3 -3
- package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
- package/dist/esm/nano-algolia-input.entry.js +5 -5
- package/dist/esm/nano-algolia-input.entry.js.map +1 -1
- package/dist/esm/nano-algolia-pagination.entry.js +2 -2
- package/dist/esm/nano-algolia-results.entry.js +2 -2
- package/dist/esm/nano-algolia.entry.js +5 -5
- package/dist/esm/nano-algolia.entry.js.map +1 -1
- package/dist/esm/nano-aspect-ratio.entry.js +12 -4
- package/dist/esm/nano-aspect-ratio.entry.js.map +1 -1
- package/dist/esm/nano-checkbox-group.entry.js +31 -16
- package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
- package/dist/esm/nano-checkbox.entry.js +33 -15
- package/dist/esm/nano-checkbox.entry.js.map +1 -1
- package/dist/esm/nano-components.js +5 -5
- package/dist/esm/nano-components.js.map +1 -1
- package/dist/esm/nano-date-input.entry.js +45 -13
- package/dist/esm/nano-date-input.entry.js.map +1 -1
- package/dist/esm/nano-date-picker_2.entry.js +116 -71
- package/dist/esm/nano-date-picker_2.entry.js.map +1 -1
- package/dist/esm/nano-details.entry.js +15 -9
- package/dist/esm/nano-details.entry.js.map +1 -1
- package/dist/esm/nano-dialog.entry.js +5 -9
- package/dist/esm/nano-dialog.entry.js.map +1 -1
- package/dist/esm/nano-drawer.entry.js +1 -1
- package/dist/esm/nano-file-upload.entry.js +7 -14
- package/dist/esm/nano-file-upload.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +5 -5
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/nano-global-search-results.entry.js +2 -2
- package/dist/esm/nano-grid_3.entry.js +1 -1
- package/dist/esm/nano-grid_3.entry.js.map +1 -1
- package/dist/esm/nano-hero.entry.js +2 -2
- package/dist/esm/nano-hero.entry.js.map +1 -1
- package/dist/esm/nano-icon-button.entry.js +2 -2
- package/dist/esm/nano-icon.entry.js +1 -1
- package/dist/esm/nano-input.entry.js +12 -2
- package/dist/esm/nano-input.entry.js.map +1 -1
- package/dist/esm/nano-menu-drawer.entry.js +1 -1
- package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
- package/dist/esm/nano-menu.entry.js +2 -2
- package/dist/esm/nano-menu.entry.js.map +1 -1
- package/dist/esm/nano-nav-item_2.entry.js +4 -4
- package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
- package/dist/esm/nano-range.entry.js +3 -3
- package/dist/esm/nano-range.entry.js.map +1 -1
- package/dist/esm/nano-rating.entry.js +2 -2
- package/dist/esm/nano-rating.entry.js.map +1 -1
- package/dist/esm/nano-resize-observe_2.entry.js +1 -1
- package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/esm/nano-select-option.entry.js +1 -1
- package/dist/esm/nano-slide.entry.js +1 -1
- package/dist/esm/nano-slides.entry.js +2 -2
- package/dist/esm/nano-spinner.entry.js +2 -2
- package/dist/esm/nano-sticker.entry.js +2 -2
- package/dist/esm/nano-sticker.entry.js.map +1 -1
- package/dist/esm/nano-tab-content.entry.js +1 -1
- package/dist/esm/nano-tab-group.entry.js +4 -4
- package/dist/esm/nano-tab-group.entry.js.map +1 -1
- package/dist/esm/nano-tab.entry.js +2 -2
- package/dist/esm/nano-tooltip.entry.js +49 -35
- package/dist/esm/nano-tooltip.entry.js.map +1 -1
- package/dist/esm/{popover-05f61b5f.js → popover-a57d8413.js} +32 -32
- package/dist/esm/popover-a57d8413.js.map +1 -0
- package/dist/esm/{shadow-css-70953e54.js → shadow-css-460f0f5c.js} +2 -2
- package/dist/esm/shadow-css-460f0f5c.js.map +1 -0
- package/dist/esm-es5/{algolia-data-a84aeef1.js → algolia-data-b31a9800.js} +2 -2
- package/dist/esm-es5/algolia-data-b31a9800.js.map +1 -0
- package/dist/esm-es5/algoliasearch.umd-7ecbe0e9.js +4 -0
- package/dist/esm-es5/algoliasearch.umd-7ecbe0e9.js.map +1 -0
- package/dist/esm-es5/{component-store-182d1931.js → component-store-93172454.js} +2 -2
- package/dist/esm-es5/{component-store-182d1931.js.map → component-store-93172454.js.map} +1 -1
- package/dist/esm-es5/{css-shim-f12af614.js → css-shim-4e602522.js} +1 -1
- package/dist/esm-es5/{css-shim-f12af614.js.map → css-shim-4e602522.js.map} +1 -1
- package/dist/esm-es5/{dom-2f25dd5a.js → dom-acc01cc2.js} +1 -1
- package/dist/esm-es5/{dom-2f25dd5a.js.map → dom-acc01cc2.js.map} +1 -1
- package/dist/esm-es5/{global-c85d24a2.js → global-118ae701.js} +2 -2
- package/dist/esm-es5/global-118ae701.js.map +1 -0
- package/dist/esm-es5/{utils-fd1ada22.js → index-269c88a9.js} +1 -1
- package/dist/esm-es5/{utils-fd1ada22.js.map → index-269c88a9.js.map} +1 -1
- package/dist/esm-es5/index-912ef959.js +2 -0
- package/dist/esm-es5/index-912ef959.js.map +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/index.js.map +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/nano-accordion.entry.js +1 -1
- package/dist/esm-es5/nano-accordion.entry.js.map +1 -1
- package/dist/esm-es5/nano-alert.entry.js +1 -1
- package/dist/esm-es5/nano-alert.entry.js.map +1 -1
- package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
- package/dist/esm-es5/nano-algolia-filter.entry.js.map +1 -1
- package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
- package/dist/esm-es5/nano-algolia-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-algolia-pagination.entry.js +1 -1
- package/dist/esm-es5/nano-algolia-results.entry.js +1 -1
- package/dist/esm-es5/nano-algolia.entry.js +1 -1
- package/dist/esm-es5/nano-algolia.entry.js.map +1 -1
- package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
- package/dist/esm-es5/nano-aspect-ratio.entry.js.map +1 -1
- package/dist/esm-es5/nano-checkbox-group.entry.js +1 -1
- package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
- package/dist/esm-es5/nano-checkbox.entry.js +1 -1
- package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/nano-components.js +1 -1
- package/dist/esm-es5/nano-components.js.map +1 -1
- package/dist/esm-es5/nano-date-input.entry.js +1 -1
- package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-date-picker_2.entry.js +1 -1
- package/dist/esm-es5/nano-date-picker_2.entry.js.map +1 -1
- package/dist/esm-es5/nano-details.entry.js +1 -1
- package/dist/esm-es5/nano-details.entry.js.map +1 -1
- package/dist/esm-es5/nano-dialog.entry.js +1 -1
- package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
- package/dist/esm-es5/nano-drawer.entry.js +1 -1
- package/dist/esm-es5/nano-file-upload.entry.js +1 -1
- package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
- package/dist/esm-es5/nano-global-nav.entry.js +1 -1
- package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
- package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
- package/dist/esm-es5/nano-grid_3.entry.js +1 -1
- package/dist/esm-es5/nano-grid_3.entry.js.map +1 -1
- package/dist/esm-es5/nano-hero.entry.js +1 -1
- package/dist/esm-es5/nano-hero.entry.js.map +1 -1
- package/dist/esm-es5/nano-icon-button.entry.js +1 -1
- package/dist/esm-es5/nano-icon.entry.js +1 -1
- package/dist/esm-es5/nano-input.entry.js +1 -1
- package/dist/esm-es5/nano-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
- package/dist/esm-es5/nano-menu-drawer.entry.js.map +1 -1
- package/dist/esm-es5/nano-menu.entry.js +1 -1
- package/dist/esm-es5/nano-menu.entry.js.map +1 -1
- package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
- package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
- package/dist/esm-es5/nano-range.entry.js +1 -1
- package/dist/esm-es5/nano-range.entry.js.map +1 -1
- package/dist/esm-es5/nano-rating.entry.js +1 -1
- package/dist/esm-es5/nano-rating.entry.js.map +1 -1
- package/dist/esm-es5/nano-resize-observe_2.entry.js +1 -1
- package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/esm-es5/nano-select-option.entry.js +1 -1
- package/dist/esm-es5/nano-slide.entry.js +1 -1
- package/dist/esm-es5/nano-slides.entry.js +2 -2
- package/dist/esm-es5/nano-spinner.entry.js +1 -1
- package/dist/esm-es5/nano-sticker.entry.js +1 -1
- package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
- package/dist/esm-es5/nano-tab-content.entry.js +1 -1
- package/dist/esm-es5/nano-tab-group.entry.js +1 -1
- package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
- package/dist/esm-es5/nano-tab.entry.js +1 -1
- package/dist/esm-es5/nano-tooltip.entry.js +1 -1
- package/dist/esm-es5/nano-tooltip.entry.js.map +1 -1
- package/dist/esm-es5/popover-a57d8413.js +2 -0
- package/dist/{esm/popover-05f61b5f.js.map → esm-es5/popover-a57d8413.js.map} +1 -1
- package/dist/esm-es5/{shadow-css-70953e54.js → shadow-css-460f0f5c.js} +1 -1
- package/dist/esm-es5/shadow-css-460f0f5c.js.map +1 -0
- package/dist/nano-components/index.esm.js +1 -1
- package/dist/nano-components/index.esm.js.map +1 -1
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/nano-components.esm.js.map +1 -1
- package/dist/nano-components/nano-components.js +1 -1
- package/dist/nano-components/{p-c8ff45ab.system.entry.js → p-007c6041.system.entry.js} +2 -2
- package/dist/nano-components/{p-c8ff45ab.system.entry.js.map → p-007c6041.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-1ce90ea4.entry.js → p-02177814.entry.js} +2 -2
- package/dist/nano-components/p-02177814.entry.js.map +1 -0
- package/dist/nano-components/{p-9b9ca075.system.entry.js → p-046af455.system.entry.js} +2 -2
- package/dist/nano-components/p-046af455.system.entry.js.map +1 -0
- package/dist/nano-components/p-05c062ae.js +4 -0
- package/dist/nano-components/p-05c062ae.js.map +1 -0
- package/dist/nano-components/{p-4365edc6.js → p-0c9eb057.js} +1 -1
- package/dist/nano-components/{p-4365edc6.js.map → p-0c9eb057.js.map} +1 -1
- package/dist/nano-components/{p-dce1f547.entry.js → p-104a9d64.entry.js} +2 -2
- package/dist/nano-components/p-104a9d64.entry.js.map +1 -0
- package/dist/nano-components/{p-8611e764.system.entry.js → p-10f24f67.system.entry.js} +2 -2
- package/dist/nano-components/{p-8611e764.system.entry.js.map → p-10f24f67.system.entry.js.map} +0 -0
- package/dist/nano-components/p-1477b91d.system.js +2 -0
- package/dist/nano-components/p-1477b91d.system.js.map +1 -0
- package/dist/nano-components/{p-461c539f.system.entry.js → p-1c7614c4.system.entry.js} +2 -2
- package/dist/nano-components/p-1c7614c4.system.entry.js.map +1 -0
- package/dist/nano-components/{p-8a41ccd9.system.entry.js → p-1d16e897.system.entry.js} +2 -2
- package/dist/nano-components/{p-8a41ccd9.system.entry.js.map → p-1d16e897.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-4042379b.system.entry.js → p-21a6f295.system.entry.js} +2 -2
- package/dist/nano-components/p-21a6f295.system.entry.js.map +1 -0
- package/dist/nano-components/{p-9a456956.system.js → p-2671d998.system.js} +2 -2
- package/dist/nano-components/p-2671d998.system.js.map +1 -0
- package/dist/nano-components/{p-7367dfd5.system.entry.js → p-273b19b0.system.entry.js} +2 -2
- package/dist/nano-components/{p-7367dfd5.system.entry.js.map → p-273b19b0.system.entry.js.map} +0 -0
- package/dist/nano-components/p-28123e6e.entry.js +2 -0
- package/dist/nano-components/p-28123e6e.entry.js.map +1 -0
- package/dist/nano-components/{p-7b3de191.entry.js → p-2ae39fa1.entry.js} +2 -2
- package/dist/nano-components/p-2ae39fa1.entry.js.map +1 -0
- package/dist/nano-components/{p-47d2a49e.system.js → p-2d0b8da6.system.js} +1 -1
- package/dist/nano-components/{p-47d2a49e.system.js.map → p-2d0b8da6.system.js.map} +1 -1
- package/dist/nano-components/{p-6a9fe61f.system.entry.js → p-2edaf0eb.system.entry.js} +3 -3
- package/dist/nano-components/{p-6a9fe61f.system.entry.js.map → p-2edaf0eb.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-be430309.system.entry.js → p-2f876f68.system.entry.js} +2 -2
- package/dist/nano-components/{p-be430309.system.entry.js.map → p-2f876f68.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-e1429ff0.system.entry.js → p-305ba54b.system.entry.js} +2 -2
- package/dist/nano-components/p-305ba54b.system.entry.js.map +1 -0
- package/dist/nano-components/{p-e142f6b6.system.entry.js → p-30a22cd0.system.entry.js} +2 -2
- package/dist/nano-components/p-30a22cd0.system.entry.js.map +1 -0
- package/dist/nano-components/{p-a897cfae.system.entry.js → p-31c52d0a.system.entry.js} +2 -2
- package/dist/nano-components/p-31c52d0a.system.entry.js.map +1 -0
- package/dist/nano-components/{p-f578998d.system.entry.js → p-325f32b3.system.entry.js} +2 -2
- package/dist/nano-components/p-325f32b3.system.entry.js.map +1 -0
- package/dist/nano-components/{p-bc09eba8.entry.js → p-3b2ea5fd.entry.js} +2 -2
- package/dist/nano-components/p-3b2ea5fd.entry.js.map +1 -0
- package/dist/nano-components/{p-0283a2ec.js → p-4370f8ae.js} +2 -2
- package/dist/nano-components/p-4370f8ae.js.map +1 -0
- package/dist/nano-components/{p-d7eb8c22.system.js → p-4647a31f.system.js} +2 -2
- package/dist/nano-components/{p-d7eb8c22.system.js.map → p-4647a31f.system.js.map} +1 -1
- package/dist/nano-components/{p-79e11525.system.entry.js → p-491096f0.system.entry.js} +2 -2
- package/dist/nano-components/p-491096f0.system.entry.js.map +1 -0
- package/dist/nano-components/{p-fb8aa0a7.system.entry.js → p-4e21bfe1.system.entry.js} +2 -2
- package/dist/nano-components/{p-fb8aa0a7.system.entry.js.map → p-4e21bfe1.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-847ce50c.entry.js → p-4fa0b560.entry.js} +2 -2
- package/dist/nano-components/{p-847ce50c.entry.js.map → p-4fa0b560.entry.js.map} +0 -0
- package/dist/nano-components/{p-1bd92497.system.entry.js → p-4fbc3c8b.system.entry.js} +2 -2
- package/dist/nano-components/{p-1bd92497.system.entry.js.map → p-4fbc3c8b.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-5198e4c6.system.js → p-508484f8.system.js} +2 -2
- package/dist/nano-components/p-508484f8.system.js.map +1 -0
- package/dist/nano-components/p-5672ebbb.system.entry.js +2 -0
- package/dist/nano-components/p-5672ebbb.system.entry.js.map +1 -0
- package/dist/nano-components/{p-405d92a0.entry.js → p-574143b5.entry.js} +2 -2
- package/dist/nano-components/{p-405d92a0.entry.js.map → p-574143b5.entry.js.map} +0 -0
- package/dist/nano-components/{p-346f0d8c.system.entry.js → p-57434dc5.system.entry.js} +2 -2
- package/dist/nano-components/{p-346f0d8c.system.entry.js.map → p-57434dc5.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-7b94cd1c.entry.js → p-574f1393.entry.js} +2 -2
- package/dist/nano-components/p-574f1393.entry.js.map +1 -0
- package/dist/nano-components/{p-6b22f5db.entry.js → p-580eac05.entry.js} +2 -2
- package/dist/nano-components/p-580eac05.entry.js.map +1 -0
- package/dist/nano-components/{p-fa884269.entry.js → p-59aba360.entry.js} +2 -2
- package/dist/nano-components/{p-fa884269.entry.js.map → p-59aba360.entry.js.map} +0 -0
- package/dist/nano-components/{p-e886b71e.system.js → p-698a8ab3.system.js} +2 -2
- package/dist/nano-components/p-698a8ab3.system.js.map +1 -0
- package/dist/nano-components/{p-6ba91d36.entry.js → p-6a3eee01.entry.js} +2 -2
- package/dist/nano-components/p-6a3eee01.entry.js.map +1 -0
- package/dist/nano-components/{p-1ed74370.entry.js → p-6aab52a0.entry.js} +2 -2
- package/dist/nano-components/p-6aab52a0.entry.js.map +1 -0
- package/dist/nano-components/{p-e5a19e7f.entry.js → p-6dc59ae8.entry.js} +2 -2
- package/dist/nano-components/{p-e5a19e7f.entry.js.map → p-6dc59ae8.entry.js.map} +0 -0
- package/dist/nano-components/{p-c171b273.entry.js → p-6eba639a.entry.js} +3 -3
- package/dist/nano-components/{p-c171b273.entry.js.map → p-6eba639a.entry.js.map} +0 -0
- package/dist/nano-components/{p-4739c706.system.entry.js → p-73d969d0.system.entry.js} +2 -2
- package/dist/nano-components/{p-4739c706.system.entry.js.map → p-73d969d0.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-a50ca06f.system.entry.js → p-7dc79f13.system.entry.js} +2 -2
- package/dist/nano-components/{p-a50ca06f.system.entry.js.map → p-7dc79f13.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-ba59977d.entry.js → p-7df31b1c.entry.js} +2 -2
- package/dist/nano-components/{p-ba59977d.entry.js.map → p-7df31b1c.entry.js.map} +0 -0
- package/dist/nano-components/{p-60b2ba81.system.entry.js → p-7e208086.system.entry.js} +2 -2
- package/dist/nano-components/p-7e208086.system.entry.js.map +1 -0
- package/dist/nano-components/{p-63cc5e0d.system.entry.js → p-7e4129b4.system.entry.js} +2 -2
- package/dist/nano-components/{p-63cc5e0d.system.entry.js.map → p-7e4129b4.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-7fdff708.entry.js → p-7e68796f.entry.js} +2 -2
- package/dist/nano-components/p-7e68796f.entry.js.map +1 -0
- package/dist/nano-components/{p-027c5ed7.entry.js → p-81d7fd45.entry.js} +2 -2
- package/dist/nano-components/{p-027c5ed7.entry.js.map → p-81d7fd45.entry.js.map} +0 -0
- package/dist/nano-components/{p-d795cbd4.entry.js → p-82571543.entry.js} +2 -2
- package/dist/nano-components/p-82571543.entry.js.map +1 -0
- package/dist/nano-components/{p-7a0e9c6f.system.entry.js → p-844a1134.system.entry.js} +2 -2
- package/dist/nano-components/{p-7a0e9c6f.system.entry.js.map → p-844a1134.system.entry.js.map} +0 -0
- package/dist/nano-components/p-8535a942.entry.js +2 -0
- package/dist/nano-components/p-8535a942.entry.js.map +1 -0
- package/dist/nano-components/{p-c6796f75.entry.js → p-8c1d85ae.entry.js} +2 -2
- package/dist/nano-components/p-8c1d85ae.entry.js.map +1 -0
- package/dist/nano-components/{p-b6f5e5ef.system.js → p-8d24287e.system.js} +1 -1
- package/dist/nano-components/{p-b6f5e5ef.system.js.map → p-8d24287e.system.js.map} +1 -1
- package/dist/nano-components/{p-20ad4e90.system.entry.js → p-8ed6acea.system.entry.js} +2 -2
- package/dist/nano-components/{p-20ad4e90.system.entry.js.map → p-8ed6acea.system.entry.js.map} +0 -0
- package/dist/nano-components/p-9164e5e2.system.entry.js +2 -0
- package/dist/nano-components/p-9164e5e2.system.entry.js.map +1 -0
- package/dist/nano-components/{p-9920e725.system.js → p-9348c301.system.js} +1 -1
- package/dist/nano-components/p-9348c301.system.js.map +1 -0
- package/dist/nano-components/p-9371d81b.system.entry.js +2 -0
- package/dist/nano-components/p-9371d81b.system.entry.js.map +1 -0
- package/dist/nano-components/{p-89a5c54a.system.js → p-94f03788.system.js} +1 -1
- package/dist/nano-components/{p-89a5c54a.system.js.map → p-94f03788.system.js.map} +1 -1
- package/dist/nano-components/{p-fa926d02.system.entry.js → p-95a4c3f2.system.entry.js} +2 -2
- package/dist/nano-components/p-95a4c3f2.system.entry.js.map +1 -0
- package/dist/nano-components/p-96ba0d00.entry.js +2 -0
- package/dist/nano-components/p-96ba0d00.entry.js.map +1 -0
- package/dist/nano-components/p-99637978.entry.js +2 -0
- package/dist/nano-components/p-99637978.entry.js.map +1 -0
- package/dist/nano-components/{p-f5f76780.entry.js → p-9ccd832b.entry.js} +2 -2
- package/dist/nano-components/p-9ccd832b.entry.js.map +1 -0
- package/dist/nano-components/{p-e1fd68eb.js → p-a1680208.js} +2 -2
- package/dist/nano-components/{p-e1fd68eb.js.map → p-a1680208.js.map} +1 -1
- package/dist/nano-components/{p-fb7ae92c.entry.js → p-a53a193c.entry.js} +2 -2
- package/dist/nano-components/p-a53a193c.entry.js.map +1 -0
- package/dist/nano-components/p-a7ac7964.system.entry.js +2 -0
- package/dist/nano-components/p-a7ac7964.system.entry.js.map +1 -0
- package/dist/nano-components/{p-ec01a0ad.system.entry.js → p-aadd8c31.system.entry.js} +2 -2
- package/dist/nano-components/p-aadd8c31.system.entry.js.map +1 -0
- package/dist/nano-components/p-ab666582.entry.js +2 -0
- package/dist/nano-components/p-ab666582.entry.js.map +1 -0
- package/dist/nano-components/p-acd5d0f0.system.entry.js +2 -0
- package/dist/nano-components/p-acd5d0f0.system.entry.js.map +1 -0
- package/dist/nano-components/p-af9f6453.system.js +2 -0
- package/dist/nano-components/p-af9f6453.system.js.map +1 -0
- package/dist/nano-components/p-b1d3ab54.system.entry.js +2 -0
- package/dist/nano-components/p-b1d3ab54.system.entry.js.map +1 -0
- package/dist/nano-components/{p-27520572.entry.js → p-b3131821.entry.js} +2 -2
- package/dist/nano-components/{p-27520572.entry.js.map → p-b3131821.entry.js.map} +0 -0
- package/dist/nano-components/{p-e24d3e8a.entry.js → p-b7a58722.entry.js} +2 -2
- package/dist/nano-components/p-b7a58722.entry.js.map +1 -0
- package/dist/nano-components/p-bb0619e6.js +2 -0
- package/dist/nano-components/p-bb0619e6.js.map +1 -0
- package/dist/nano-components/{p-d0c501a0.entry.js → p-c3f861c5.entry.js} +2 -2
- package/dist/nano-components/{p-d0c501a0.entry.js.map → p-c3f861c5.entry.js.map} +1 -1
- package/dist/nano-components/{p-21f484a3.system.entry.js → p-c655e010.system.entry.js} +2 -2
- package/dist/nano-components/{p-21f484a3.system.entry.js.map → p-c655e010.system.entry.js.map} +1 -1
- package/dist/nano-components/p-c72b22be.entry.js +2 -0
- package/dist/nano-components/p-c72b22be.entry.js.map +1 -0
- package/dist/nano-components/p-d112948c.js +2 -0
- package/dist/nano-components/p-d112948c.js.map +1 -0
- package/dist/nano-components/{p-09b702fb.entry.js → p-d250987a.entry.js} +2 -2
- package/dist/nano-components/{p-09b702fb.entry.js.map → p-d250987a.entry.js.map} +0 -0
- package/dist/nano-components/p-d393d10a.system.entry.js +2 -0
- package/dist/nano-components/p-d393d10a.system.entry.js.map +1 -0
- package/dist/nano-components/p-db271541.entry.js +2 -0
- package/dist/nano-components/p-db271541.entry.js.map +1 -0
- package/dist/nano-components/p-dccd86ec.system.js +4 -0
- package/dist/nano-components/p-dccd86ec.system.js.map +1 -0
- package/dist/nano-components/p-e0cc37fb.entry.js +2 -0
- package/dist/nano-components/{p-2e1f6c4a.entry.js.map → p-e0cc37fb.entry.js.map} +1 -1
- package/dist/nano-components/{p-76bf0452.system.entry.js → p-e28536b4.system.entry.js} +2 -2
- package/dist/nano-components/p-e28536b4.system.entry.js.map +1 -0
- package/dist/nano-components/{p-acfe1b68.entry.js → p-ebf34764.entry.js} +2 -2
- package/dist/nano-components/{p-acfe1b68.entry.js.map → p-ebf34764.entry.js.map} +0 -0
- package/dist/nano-components/{p-e33dd8b9.js → p-ed174626.js} +1 -1
- package/dist/nano-components/p-ed174626.js.map +1 -0
- package/dist/nano-components/{p-c930d4f5.js → p-ed2efbeb.js} +1 -1
- package/dist/nano-components/{p-c930d4f5.js.map → p-ed2efbeb.js.map} +1 -1
- package/dist/nano-components/p-edddeaae.system.js +2 -0
- package/dist/nano-components/p-edddeaae.system.js.map +1 -0
- package/dist/nano-components/p-ef5d9308.entry.js +2 -0
- package/dist/nano-components/p-ef5d9308.entry.js.map +1 -0
- package/dist/nano-components/p-f234e064.system.entry.js +2 -0
- package/dist/nano-components/p-f234e064.system.entry.js.map +1 -0
- package/dist/nano-components/{p-507490fc.system.entry.js → p-f27c9429.system.entry.js} +2 -2
- package/dist/nano-components/{p-507490fc.system.entry.js.map → p-f27c9429.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-372ce425.entry.js → p-f3688bce.entry.js} +2 -2
- package/dist/nano-components/{p-372ce425.entry.js.map → p-f3688bce.entry.js.map} +0 -0
- package/dist/nano-components/{p-35eb8352.system.entry.js → p-f86db7c0.system.entry.js} +2 -2
- package/dist/nano-components/{p-35eb8352.system.entry.js.map → p-f86db7c0.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-6747f517.system.entry.js → p-fa86645d.system.entry.js} +2 -2
- package/dist/nano-components/p-fa86645d.system.entry.js.map +1 -0
- package/dist/nano-components/{p-9c26b459.js → p-fd0fca23.js} +1 -1
- package/dist/nano-components/{p-9c26b459.js.map → p-fd0fca23.js.map} +1 -1
- package/dist/nano-components/p-fdfa03d7.entry.js +2 -0
- package/dist/nano-components/p-fdfa03d7.entry.js.map +1 -0
- package/dist/nano-components/p-ff2ff5b0.js +2 -0
- package/dist/nano-components/p-ff2ff5b0.js.map +1 -0
- package/dist/nano-components/p-ff5890b4.entry.js +2 -0
- package/dist/nano-components/p-ff5890b4.entry.js.map +1 -0
- package/dist/nano-components/{p-23e9f09e.entry.js → p-ffab923c.entry.js} +2 -2
- package/dist/nano-components/p-ffab923c.entry.js.map +1 -0
- package/dist/themes/nanopore.css +1 -1
- package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +1 -1
- package/dist/types/components/checkbox/__tests__/__fixtures__/checkbox-templates.d.ts +8 -0
- package/dist/types/components/checkbox/checkbox-group.d.ts +4 -2
- package/dist/types/components/checkbox/checkbox.d.ts +9 -5
- package/dist/types/components/date-input/date-input.d.ts +9 -0
- package/dist/types/components/date-picker/date-picker.d.ts +9 -4
- package/dist/types/components/details/details.d.ts +1 -0
- package/dist/types/components/dropdown/dropdown.d.ts +21 -14
- package/dist/types/components/file-upload/file-upload-interface.d.ts +4 -3
- package/dist/types/components/file-upload/file-upload.d.ts +2 -12
- package/dist/types/components/input/input.d.ts +2 -1
- package/dist/types/components/tooltip/tooltip.d.ts +10 -7
- package/dist/types/components.d.ts +40 -14
- package/dist/types/index.d.ts +1 -1
- package/dist/types/utils/{utils.d.ts → index.d.ts} +0 -0
- package/dist/types/utils/testing/index.d.ts +49 -0
- package/docs-json.json +125 -47
- package/docs-vscode.json +9 -1
- package/package.json +10 -8
- package/dist/cjs/algolia-data-771a61ea.js.map +0 -1
- package/dist/cjs/algoliasearch.umd-51f0001d.js +0 -12
- package/dist/cjs/algoliasearch.umd-51f0001d.js.map +0 -1
- package/dist/cjs/global-befb7a64.js.map +0 -1
- package/dist/cjs/index-43791691.js.map +0 -1
- package/dist/cjs/popover-eccc07bd.js.map +0 -1
- package/dist/cjs/shadow-css-c5dce0c8.js.map +0 -1
- package/dist/collection/utils/testing-utils.js +0 -156
- package/dist/collection/utils/testing-utils.js.map +0 -1
- package/dist/esm/algolia-data-a84aeef1.js.map +0 -1
- package/dist/esm/algoliasearch.umd-2c129faa.js +0 -10
- package/dist/esm/algoliasearch.umd-2c129faa.js.map +0 -1
- package/dist/esm/global-c85d24a2.js.map +0 -1
- package/dist/esm/index-20becda2.js.map +0 -1
- package/dist/esm/shadow-css-70953e54.js.map +0 -1
- package/dist/esm-es5/algolia-data-a84aeef1.js.map +0 -1
- package/dist/esm-es5/algoliasearch.umd-2c129faa.js +0 -4
- package/dist/esm-es5/algoliasearch.umd-2c129faa.js.map +0 -1
- package/dist/esm-es5/global-c85d24a2.js.map +0 -1
- package/dist/esm-es5/index-20becda2.js +0 -2
- package/dist/esm-es5/index-20becda2.js.map +0 -1
- package/dist/esm-es5/popover-05f61b5f.js +0 -2
- package/dist/esm-es5/popover-05f61b5f.js.map +0 -1
- package/dist/esm-es5/shadow-css-70953e54.js.map +0 -1
- package/dist/nano-components/p-0283a2ec.js.map +0 -1
- package/dist/nano-components/p-1ce90ea4.entry.js.map +0 -1
- package/dist/nano-components/p-1ed74370.entry.js.map +0 -1
- package/dist/nano-components/p-1f7502fa.js +0 -2
- package/dist/nano-components/p-1f7502fa.js.map +0 -1
- package/dist/nano-components/p-1fd60eec.system.js +0 -2
- package/dist/nano-components/p-1fd60eec.system.js.map +0 -1
- package/dist/nano-components/p-201b5f5b.entry.js +0 -2
- package/dist/nano-components/p-201b5f5b.entry.js.map +0 -1
- package/dist/nano-components/p-214ad382.entry.js +0 -2
- package/dist/nano-components/p-214ad382.entry.js.map +0 -1
- package/dist/nano-components/p-23da4de5.js +0 -4
- package/dist/nano-components/p-23da4de5.js.map +0 -1
- package/dist/nano-components/p-23e9f09e.entry.js.map +0 -1
- package/dist/nano-components/p-2d59dda3.system.js +0 -2
- package/dist/nano-components/p-2d59dda3.system.js.map +0 -1
- package/dist/nano-components/p-2e1f6c4a.entry.js +0 -2
- package/dist/nano-components/p-4042379b.system.entry.js.map +0 -1
- package/dist/nano-components/p-45e06083.system.entry.js +0 -2
- package/dist/nano-components/p-45e06083.system.entry.js.map +0 -1
- package/dist/nano-components/p-461c539f.system.entry.js.map +0 -1
- package/dist/nano-components/p-4bca8761.entry.js +0 -2
- package/dist/nano-components/p-4bca8761.entry.js.map +0 -1
- package/dist/nano-components/p-4ee095f3.js +0 -2
- package/dist/nano-components/p-4ee095f3.js.map +0 -1
- package/dist/nano-components/p-5198e4c6.system.js.map +0 -1
- package/dist/nano-components/p-568be88a.entry.js +0 -2
- package/dist/nano-components/p-568be88a.entry.js.map +0 -1
- package/dist/nano-components/p-5918ac51.entry.js +0 -2
- package/dist/nano-components/p-5918ac51.entry.js.map +0 -1
- package/dist/nano-components/p-5f716719.system.entry.js +0 -2
- package/dist/nano-components/p-5f716719.system.entry.js.map +0 -1
- package/dist/nano-components/p-60b2ba81.system.entry.js.map +0 -1
- package/dist/nano-components/p-6747f517.system.entry.js.map +0 -1
- package/dist/nano-components/p-6b22f5db.entry.js.map +0 -1
- package/dist/nano-components/p-6ba91d36.entry.js.map +0 -1
- package/dist/nano-components/p-76bf0452.system.entry.js.map +0 -1
- package/dist/nano-components/p-79e11525.system.entry.js.map +0 -1
- package/dist/nano-components/p-7b3de191.entry.js.map +0 -1
- package/dist/nano-components/p-7b94cd1c.entry.js.map +0 -1
- package/dist/nano-components/p-7f3b4f80.entry.js +0 -2
- package/dist/nano-components/p-7f3b4f80.entry.js.map +0 -1
- package/dist/nano-components/p-7fdff708.entry.js.map +0 -1
- package/dist/nano-components/p-8fe04c5c.system.entry.js +0 -2
- package/dist/nano-components/p-8fe04c5c.system.entry.js.map +0 -1
- package/dist/nano-components/p-93b1eeea.system.js +0 -2
- package/dist/nano-components/p-93b1eeea.system.js.map +0 -1
- package/dist/nano-components/p-9920e725.system.js.map +0 -1
- package/dist/nano-components/p-9a456956.system.js.map +0 -1
- package/dist/nano-components/p-9b9ca075.system.entry.js.map +0 -1
- package/dist/nano-components/p-a897cfae.system.entry.js.map +0 -1
- package/dist/nano-components/p-bc09eba8.entry.js.map +0 -1
- package/dist/nano-components/p-c3401b82.entry.js +0 -2
- package/dist/nano-components/p-c3401b82.entry.js.map +0 -1
- package/dist/nano-components/p-c4edcfc5.system.entry.js +0 -2
- package/dist/nano-components/p-c4edcfc5.system.entry.js.map +0 -1
- package/dist/nano-components/p-c6796f75.entry.js.map +0 -1
- package/dist/nano-components/p-c8792b54.system.entry.js +0 -2
- package/dist/nano-components/p-c8792b54.system.entry.js.map +0 -1
- package/dist/nano-components/p-cb750e49.system.js +0 -4
- package/dist/nano-components/p-cb750e49.system.js.map +0 -1
- package/dist/nano-components/p-cc5080df.entry.js +0 -2
- package/dist/nano-components/p-cc5080df.entry.js.map +0 -1
- package/dist/nano-components/p-d2ae5ac1.entry.js +0 -2
- package/dist/nano-components/p-d2ae5ac1.entry.js.map +0 -1
- package/dist/nano-components/p-d795cbd4.entry.js.map +0 -1
- package/dist/nano-components/p-da9f75d2.system.entry.js +0 -2
- package/dist/nano-components/p-da9f75d2.system.entry.js.map +0 -1
- package/dist/nano-components/p-dce1f547.entry.js.map +0 -1
- package/dist/nano-components/p-dd66cc74.entry.js +0 -2
- package/dist/nano-components/p-dd66cc74.entry.js.map +0 -1
- package/dist/nano-components/p-e1429ff0.system.entry.js.map +0 -1
- package/dist/nano-components/p-e142f6b6.system.entry.js.map +0 -1
- package/dist/nano-components/p-e24d3e8a.entry.js.map +0 -1
- package/dist/nano-components/p-e2848c8a.system.entry.js +0 -2
- package/dist/nano-components/p-e2848c8a.system.entry.js.map +0 -1
- package/dist/nano-components/p-e33dd8b9.js.map +0 -1
- package/dist/nano-components/p-e886b71e.system.js.map +0 -1
- package/dist/nano-components/p-e8a97250.system.entry.js +0 -2
- package/dist/nano-components/p-e8a97250.system.entry.js.map +0 -1
- package/dist/nano-components/p-ec01a0ad.system.entry.js.map +0 -1
- package/dist/nano-components/p-f55560d3.js +0 -2
- package/dist/nano-components/p-f55560d3.js.map +0 -1
- package/dist/nano-components/p-f578998d.system.entry.js.map +0 -1
- package/dist/nano-components/p-f5f76780.entry.js.map +0 -1
- package/dist/nano-components/p-fa926d02.system.entry.js.map +0 -1
- package/dist/nano-components/p-fb7ae92c.entry.js.map +0 -1
- package/dist/types/utils/testing-utils.d.ts +0 -41
@@ -1,2 +1,2 @@
|
|
1
|
-
import{g as t,l as i,r as s,c as e,f as n,i as r,h as a,e as h}from"./p-f55560d3.js";import{S as o}from"./p-1f7502fa.js";import{g as l}from"./p-a0ddf496.js";import{d as c}from"./p-0e826935.js";import{a as u}from"./p-23da4de5.js";import{b as f,c as d,a as p}from"./p-dfe5a97d.js";import{C as v}from"./p-e1fd68eb.js";var m=new Map,y=function(t,i){var s=t.updater;t.fields.forEach((function(t){s(t,i[t])}))},g=function(t,s){var e=t.state,n=i();if(m.has(n)){var r=m.get(n);r.state=e,r.wormholes.forEach((function(t){y(t,e)}))}return s},b=d((function(t,i){!function(t){function i(t){var s,e,n=new Error(t);return s=n,e=i.prototype,Object.setPrototypeOf?Object.setPrototypeOf(s,e):s.__proto__=e,n}function s(t,s,e){var n=s.slice(0,e).split(/\n/),r=n.length,a=n[r-1].length+1;throw i(t+=" at line "+r+" col "+a+":\n\n "+s.split(/\n/)[r-1]+"\n "+Array(a).join(" ")+"^")}i.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var e=new Function("return this")().Promise,n=!1;try{n=new Function("return (async function(){}).constructor")()}catch(t){if(!(t instanceof SyntaxError))throw t}function r(t,i){return Object.prototype.hasOwnProperty.call(t,i)}function a(t,i,s){for(var e in i)r(i,e)&&(t[e]=null==i[e]||"object"!=typeof i[e]||"storage"!==e&&"prefixes"!==e||s?i[e]:a({},i[e]));return t}var h=/^async +/,o=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,l=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,c=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,u=/[.*+\-?^${}()|[\]\\]/g;function f(t){return u.test(t)?t.replace(u,"\\$&"):t}function d(t,e){e.rmWhitespace&&(t=t.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),o.lastIndex=0,l.lastIndex=0,c.lastIndex=0;var n=e.prefixes,r=[n.h,n.b,n.i,n.r,n.c,n.e].reduce((function(t,i){return t&&i?t+"|"+f(i):i?f(i):t}),""),a=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+f(e.tags[1])+")","g"),u=new RegExp("([^]*?)"+f(e.tags[0])+"(-|_)?\\s*("+r+")?\\s*","g"),d=0,p=!1;function v(i,n){var r,f={f:[]},v=0,m="c";function y(i){var n=t.slice(d,i),r=n.trim();if("f"===m)"safe"===r?f.raw=!0:e.async&&h.test(r)?(r=r.replace(h,""),f.f.push([r,"",!0])):f.f.push([r,""]);else if("fp"===m)f.f[f.f.length-1][1]+=r;else if("err"===m){if(r){var a=n.search(/\S/);s("invalid syntax",t,d+a)}}else f[m]=r;d=i+1}for("h"===n||"b"===n||"c"===n?m="n":"r"===n&&(f.raw=!0,n="i"),a.lastIndex=d;null!==(r=a.exec(t));){var g=r[1],b=r[2],w=r[3],x=r[4],k=r[5],F=r.index;if(g)"("===g?(0===v&&("n"===m?(y(F),m="p"):"f"===m&&(y(F),m="fp")),v++):")"===g?0==--v&&"c"!==m&&(y(F),m="err"):0===v&&"|"===g?(y(F),m="f"):"=>"===g&&(y(F),d+=1,m="res");else if(b)if("/*"===b){var j=t.indexOf("*/",a.lastIndex);-1===j&&s("unclosed comment",t,r.index),a.lastIndex=j+2}else"'"===b?(l.lastIndex=r.index,l.exec(t)?a.lastIndex=l.lastIndex:s("unclosed string",t,r.index)):'"'===b?(c.lastIndex=r.index,c.exec(t)?a.lastIndex=c.lastIndex:s("unclosed string",t,r.index)):"`"===b&&(o.lastIndex=r.index,o.exec(t)?a.lastIndex=o.lastIndex:s("unclosed string",t,r.index));else if(w)return y(F),u.lastIndex=d=F+r[0].length,p=k,x&&"h"===n&&(n="s"),f.t=n,f}return s("unclosed tag",t,i),f}var m=function r(a,o){a.b=[],a.d=[];var l,c=!1,f=[];function m(t,i){t&&(t=function(t,i,s,e){var n,r;return"string"==typeof i.autoTrim?n=r=i.autoTrim:Array.isArray(i.autoTrim)&&(n=i.autoTrim[1],r=i.autoTrim[0]),(s||!1===s)&&(n=s),(e||!1===e)&&(r=e),"slurp"===n&&"slurp"===r?t.trim():("_"===n||"slurp"===n?t=String.prototype.trimLeft?t.trimLeft():t.replace(/^[\s\uFEFF\xA0]+/,""):"-"!==n&&"nl"!==n||(t=t.replace(/^(?:\n|\r|\r\n)/,"")),"_"===r||"slurp"===r?t=String.prototype.trimRight?t.trimRight():t.replace(/[\s\uFEFF\xA0]+$/,""):"-"!==r&&"nl"!==r||(t=t.replace(/(?:\n|\r|\r\n)$/,"")),t)}(t,e,p,i))&&(t=t.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),f.push(t))}for(;null!==(l=u.exec(t));){var y,g=l[1],b=l[2],w=l[3]||"";for(var x in n)if(n[x]===w){y=x;break}m(g,b),d=l.index+l[0].length,y||s("unrecognized tag type: "+w,t,d);var k=v(l.index,y),F=k.t;if("h"===F){var j=k.n||"";e.async&&h.test(j)&&(k.a=!0,k.n=j.replace(h,"")),k=r(k),f.push(k)}else if("c"===F){if(a.n===k.n)return c?(c.d=f,a.b.push(c)):a.d=f,a;s("Helper start and end don't match",t,l.index+l[0].length)}else if("b"===F){c?(c.d=f,a.b.push(c)):a.d=f;var C=k.n||"";e.async&&h.test(C)&&(k.a=!0,k.n=C.replace(h,"")),c=k,f=[]}else if("s"===F){var I=k.n||"";e.async&&h.test(I)&&(k.a=!0,k.n=I.replace(h,"")),f.push(k)}else f.push(k)}if(!o)throw i('unclosed helper "'+a.n+'"');return m(t.slice(d,t.length),!1),a.d=f,a}({f:[]},!0);if(e.plugins)for(var y=0;y<e.plugins.length;y++){var g=e.plugins[y];g.processAST&&(m.d=g.processAST(m.d,e))}return m.d}function p(t,i){var s=d(t,i),e="var tR='';"+(i.useWith?"with("+i.varName+"||{}){":"")+b(s,i)+"if(cb){cb(null,tR)} return tR"+(i.useWith?"}":"");if(i.plugins)for(var n=0;n<i.plugins.length;n++){var r=i.plugins[n];r.processFnString&&(e=r.processFnString(e,i))}return e}function v(t,i){for(var s=0;s<i.length;s++){var e=i[s][1];t=(i[s][2]?"await ":"")+"c.l('F','"+i[s][0]+"')("+t,e&&(t+=","+e),t+=")"}return t}function m(t,i,s,e,n,r){var a="{exec:"+(n?"async ":"")+g(s,i,t)+",params:["+e+"]";return r&&(a+=",name:'"+r+"'"),n&&(a+=",async:true"),a+"}"}function y(t,i){for(var s="[",e=0;e<t.length;e++){var n=t[e];s+=m(i,n.res||"",n.d,n.p||"",n.a,n.n),e<t.length&&(s+=",")}return s+"]"}function g(t,i,s){return"function("+i+"){var tR='';"+b(t,s)+"return tR}"}function b(t,i){for(var s=0,e=t.length,n="";s<e;s++){var r=t[s];if("string"==typeof r)n+="tR+='"+r+"';";else{var a=r.t,h=r.c||"",o=r.f,l=r.n||"",c=r.p||"",u=r.res||"",f=r.b,d=!!r.a;if("i"===a){i.defaultFilter&&(h="c.l('F','"+i.defaultFilter+"')("+h+")");var p=v(h,o);!r.raw&&i.autoEscape&&(p="c.l('F','e')("+p+")"),n+="tR+="+p+";"}else if("h"===a)if(i.storage.nativeHelpers.get(l))n+=i.storage.nativeHelpers.get(l)(r,i);else{var g=(d?"await ":"")+"c.l('H','"+l+"')("+m(i,u,r.d,c,d);g+=f?","+y(f,i):",[]",n+="tR+="+v(g+=",c)",o)+";"}else"s"===a?n+="tR+="+v((d?"await ":"")+"c.l('H','"+l+"')({params:["+c+"]},[],c)",o)+";":"e"===a&&(n+=h+"\n")}}return n}var w=function(){function t(t){this.cache=t}return t.prototype.define=function(t,i){this.cache[t]=i},t.prototype.get=function(t){return this.cache[t]},t.prototype.remove=function(t){delete this.cache[t]},t.prototype.reset=function(){this.cache={}},t.prototype.load=function(t){a(this.cache,t,!0)},t}();function x(t,s,e,n){if(s&&s.length>0)throw i((n?"Native":"")+"Helper '"+t+"' doesn't accept blocks");if(e&&e.length>0)throw i((n?"Native":"")+"Helper '"+t+"' doesn't accept filters")}var k={"&":"&","<":"<",">":">",'"':""","'":"'"};function F(t){return k[t]}var j=new w({}),C=new w({each:function(t,i){var s="",e=t.params[0];if(x("each",i,!1),t.async)return new Promise((function(i){!function t(i,s,e,n,r){e(i[s],s).then((function(a){n+=a,s===i.length-1?r(n):t(i,s+1,e,n,r)}))}(e,0,t.exec,s,i)}));for(var n=0;n<e.length;n++)s+=t.exec(e[n],n);return s},foreach:function(t,i){var s=t.params[0];if(x("foreach",i,!1),t.async)return new Promise((function(i){!function t(i,s,e,n,r,a){n(s[e],i[s[e]]).then((function(h){r+=h,e===s.length-1?a(r):t(i,s,e+1,n,r,a)}))}(s,Object.keys(s),0,t.exec,"",i)}));var e="";for(var n in s)r(s,n)&&(e+=t.exec(n,s[n]));return e},include:function(t,s,e){x("include",s,!1);var n=e.storage.templates.get(t.params[0]);if(!n)throw i('Could not fetch template "'+t.params[0]+'"');return n(t.params[1],e)},extends:function(t,s,e){var n=t.params[1]||{};n.content=t.exec();for(var r=0;r<s.length;r++){var a=s[r];n[a.name]=a.exec()}var h=e.storage.templates.get(t.params[0]);if(!h)throw i('Could not fetch template "'+t.params[0]+'"');return h(n,e)},useScope:function(t,i){return x("useScope",i,!1),t.exec(t.params[0])}}),I=new w({if:function(t,i){x("if",!1,t.f,!0);var s="if("+t.p+"){"+b(t.d,i)+"}";if(t.b)for(var e=0;e<t.b.length;e++){var n=t.b[e];"else"===n.n?s+="else{"+b(n.d,i)+"}":"elif"===n.n&&(s+="else if("+n.p+"){"+b(n.d,i)+"}")}return s},try:function(t,s){if(x("try",!1,t.f,!0),!t.b||1!==t.b.length||"catch"!==t.b[0].n)throw i("native helper 'try' only accepts 1 block, 'catch'");var e="try{"+b(t.d,s)+"}",n=t.b[0];return e+"catch"+(n.res?"("+n.res+")":"")+"{"+b(n.d,s)+"}"},block:function(t,i){return x("block",t.b,t.f,!0),"if(!"+i.varName+"["+t.p+"]){tR+=("+g(t.d,"",i)+")()}else{tR+="+i.varName+"["+t.p+"]}"}}),z=new w({e:function(t){var i=String(t);return/[&<>"']/.test(i)?i.replace(/[&<>"']/g,F):i}}),S={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(t,s){if("H"===t){var e=this.storage.helpers.get(s);if(e)return e;throw i("Can't find helper '"+s+"'")}if("F"===t){var n=this.storage.filters.get(s);if(n)return n;throw i("Can't find filter '"+s+"'")}},async:!1,storage:{helpers:C,nativeHelpers:I,filters:z,templates:j},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function O(t,i){var s={};return a(s,S),i&&a(s,i),t&&a(s,t),s.l.bind(s),s}function R(t,s){var e=O(s||{}),r=Function;if(e.async){if(!n)throw i("This environment doesn't support async/await");r=n}try{return new r(e.varName,"c","cb",p(t,e))}catch(s){throw s instanceof SyntaxError?i("Bad template syntax\n\n"+s.message+"\n"+Array(s.message.length+1).join("=")+"\n"+p(t,e)):s}}function _(t,i){var s;return i.cache&&i.name&&i.storage.templates.get(i.name)?i.storage.templates.get(i.name):(s="function"==typeof t?t:R(t,i),i.cache&&i.name&&i.storage.templates.define(i.name,s),s)}S.l.bind(S),t.compile=R,t.compileScope=b,t.compileScopeIntoFunction=g,t.compileToString=p,t.defaultConfig=S,t.filters=z,t.getConfig=O,t.helpers=C,t.nativeHelpers=I,t.parse=d,t.render=function(t,s,n,r){var a=O(n||{});if(!a.async)return _(t,a)(s,a);if(!r){if("function"==typeof e)return new e((function(i,e){try{i(_(t,a)(s,a))}catch(t){e(t)}}));throw i("Please provide a callback function, this env doesn't support Promises")}try{_(t,a)(s,a,r)}catch(t){return r(t)}},t.templates=j,Object.defineProperty(t,"__esModule",{value:!0})}(i)}));const w=f(b),x=Object.freeze(Object.assign(Object.create(null),b,{default:w}));x.filters.define("date_long",((t,i={year:"numeric",month:"long",day:"numeric"})=>{if(t)return new Date(1e3*parseInt(t)).toLocaleDateString("en-GB",i)})),x.filters.define("date_short",((t,i="d/m/y")=>{if(!t)return;let s=new Date(1e3*parseInt(t));return(t=(t=i.replace(/(d)/,s.getDate().toString())).replace(/(m)/,(s.getMonth()+1).toString())).replace(/(y)/,s.getFullYear().toString())})),x.filters.define("public_name",(t=>{if(t)return(t=t.split("_").map((t=>t.length<3?t.toUpperCase():t)).join(" ")).charAt(0).toUpperCase()+t.slice(1)})),x.filters.define("trim_to",((t,i=100)=>{if(t)return t.length<=i?t:t.substr(0,i)+"..."})),x.filters.define("classname",(t=>{if(t)return t.replace(/[\W]+/g,"")})),x.filters.define("abs_url",((t,i=null,s)=>{if(!i)return t;if(!t)return;let e;if(i.domains&&s&&s.origin){let t=i.domains.find((t=>t.origin===s.origin));e=t?t.domain:""}else i.domain&&(e=i.domain);return e?t.match(/^http/)?t:location.protocol+"//"+e+t:t})),x.filters.define("replace",((t,i,s)=>t.replace(i,s))),x.filters.define("remove_spaces",(t=>t.replace(/ /g,"_"))),x.filters.define("add_spaces",(t=>t.replace(/[_\-]/g," "))),x.filters.define("capitalise",(t=>t.charAt(0).toUpperCase()+t.slice(1))),x.filters.define("lowercase",(t=>t.toLowerCase()));const k=x;class F{constructor(){this.queue=[],this.workingOnPromise=!1,this.stop=!1,this.limit=null}enqueue(t){return new Promise(((i,s)=>{this.queue.push({promise:t,resolve:i,reject:s}),this.dequeue()}))}dequeue(){if(this.workingOnPromise)return!1;if(this.stop)return this.queue=[],void(this.stop=!1);const t=this.queue.shift();if(!t)return!1;try{this.workingOnPromise=!0,t.promise().then((i=>{this.workingOnPromise=!1,t.resolve(i),this.dequeue()})).catch((i=>{this.workingOnPromise=!1,t.reject(i),this.dequeue()}))}catch(i){this.workingOnPromise=!1,t.reject(i),this.dequeue()}return!0}}F.pendingPromise=!1;const j=!!document.head.attachShadow;let C=class{constructor(t){s(this,t),this.nanoDidLoad=e(this,"nanoDidLoad",7),this.nanoResultsShown=e(this,"nanoResultsShown",3),this.nanoBeforeQuery=e(this,"nanoBeforeQuery",7),this.nanoAfterQuery=e(this,"nanoAfterQuery",7),this.staticFacetFilters={},this.dynFacetFilters={},this.hasLoadSlot=!1,this.placedAlgoliaEles=[],this.promiseQueue=new F,this._dynFacetFilters={},this.indeces=[],this.filterChanged="",this.changeEvent=o.Init,this.isLoading=!1,this.wormholeState=this,this.showResults=!1,this.resultsPage=0,this.searchIndex={},this.searchIndexName="",this.listenTo=null,this.query="",this.operator="and",this.filters=[],this.tplEngine=k,this.tplRenderFn=k.render,this.replicaIndex="",this.browseIndex=!1,this.minChars=2,this.storeMethod="session",this.searchChange=async()=>{if(this.algoliaIndex){if(!this.query||this.query.length<this.minChars){if(!this.browseIndex)return this.query&&0!==this.query.length?void 0:void this.handleSearchReset();if("*"!==this.query)return void(this.query="*")}this.isLoading=!0,setTimeout((async()=>{this.resetPage(),await this.algoliaSearch(o.Init),await this.updateContent(),setTimeout((()=>this.isLoading=!1),800),this.showResults=!0,this.nanoResultsShown.emit(this.indexResults)}),200)}},this.makeAppliedFilters=()=>{let t=[];const i=i=>{Object.values(i).forEach((i=>{if(i.value&&i.value.length){let s=t.find((t=>t.name===i.facetName));s?s.values=[...s.values,...i.value]:t.push({name:i.facetName,values:[...i.value]})}}))};return i(this.dynFacetFilters),i(this.staticFacetFilters),t.length?t:null},this.algoliaSearch=async t=>this.promiseQueue.enqueue((()=>this.queueSearch(t))),this.queueSearch=async t=>{if(!(this.algoliaIndex&&this.query&&this.searchIndex&&this.searchIndex.index))return;this.nanoBeforeQuery.emit(this.indexResults),o.Init===t&&this.clearAllFacetFilters();let i={filters:this.algoliaFilterStr(),page:this.indexResults?this.indexResults.currentPage:0};this.searchIndex.filters&&(i.facets=this.searchIndex.filters),this.searchIndex.hitsPerPage&&(i.hitsPerPage=this.searchIndex.hitsPerPage);let s=await this.algoliaIndex.search(this.query,i);return s=this.fixDomain(s),this.changeEvent=t,t!==o.Init&&this.indexResults||(this.indexResults={currentPage:0,totalHits:s.nbHits,hitsPerPage:null,origFilters:s.facets,query:this.query,domain:this.searchIndex.domain||null,legacy:!j,totalHitsWithFilters:0,results:[],totalPages:0,appliedFilters:this.makeAppliedFilters(),indexName:this.searchIndex.name||null,index:this.searchIndex.index}),this.indexResults.dynFilters=s.facets,this.indexResults.results=s.hits,this.indexResults.totalHitsWithFilters=s.nbHits,this.indexResults.currentPage=s.page,this.indexResults.totalPages=s.nbPages,this.indexResults.hitsPerPage=s.hitsPerPage,this.indexResults.query=s.query,this.changeEvent!==o.Page&&this.changeEvent!==o.Replica&&(this.facets=s.facets),this.nanoAfterQuery.emit(this.indexResults),new Promise((t=>{setTimeout((()=>t("tpl updated")),20)})).then((()=>{this.currentHits=this.indexResults.results,this.resultsPage=this.indexResults.currentPage}))},this.handleInputChange=t=>{t.target===this.inputField&&(this.query=this.inputField.value)},this.handleSearchReset=()=>{this.showResults=!1,this.indexResults=null},this.onResultDisplay=()=>{n((()=>{this.resultsDiv.removeEventListener("transitionend",this.onResultDisplay),this.showResults?(this.defaultDiv.style.display="none",this.resultsDiv.classList.add("shown"),this.resultsDiv.style.minHeight="",this.resultsDiv.style.width=""):this.resultsDiv.style.display="none"}))}}async removeFilters(t,i){t||i?Object.keys(this._dynFacetFilters).forEach((s=>{t&&this._dynFacetFilters[s].facetName===t&&(this._dynFacetFilters[s].element.value=i?this._dynFacetFilters[s].value.filter((t=>t!==i)):"")})):this.clearAllFacetFilters()}onAllTplUpdate(t){t.stopPropagation()}async onPageChange(t){if(!this.indexResults)return;let i=this.resultsPage;t&&(t.stopPropagation(),i=t.detail.page),i=Math.min(this.indexResults.totalPages-1,i),i=Math.max(i,0),this.indexResults.currentPage!==i&&(this.indexResults.currentPage=i,await this.algoliaSearch(o.Page))}async onFilterChange(t){t.stopPropagation();let i={},s=t.detail;s.element=t.target,this.indexResults?(this.staticFacetFilters[s.filterId]?this.staticFacetFilters[s.filterId]=s:(i[s.filterId]=s,this._dynFacetFilters=Object.assign(Object.assign({},this._dynFacetFilters),i)),this.indexResults.appliedFilters=this.makeAppliedFilters()):this.staticFacetFilters[s.filterId]=s,this.filterChanged=s.value&&s.value.length?s.filterId:"all",this.resetPage(),this.algoliaSearch(o.Filter)}dynFacetFiltersChange(){Object.values(this._dynFacetFilters).forEach((t=>{this.host.ownerDocument===t.element.ownerDocument?this.dynFacetFilters[t.filterId]=t:delete this.dynFacetFilters[t.filterId]}))}browseIndexChange(){this.browseIndex&&(!this.query||this.query.length<this.minChars)&&(this.query="*")}inputFieldSet(){this.inputField&&"*"!==this.query&&this.inputField&&this.inputField.value!==this.query&&(this.inputField.value=this.query)}queryChange(){this.searchChange()}async internalIndexSwitch(){this.replicaIndex&&this.indexResults&&this.indexResults.index!==this.replicaIndex&&(this.indexResults.index=this.replicaIndex,this.algoliaIndex=this.algoliaClient.initIndex(this.indexResults.index),this.resetPage(),this.algoliaSearch(o.Replica))}pageChange(){this.onPageChange()}searchIndexNameChange(){!this.searchIndexName||!this.searchIndexName.length||this.searchIndex&&this.searchIndex.index===this.searchIndexName||(this.searchIndex={index:this.searchIndexName})}initAlgoliaClient(){this.appId&&this.apiKey&&(this.algoliaClient=u(this.appId,this.apiKey))}initAlgoliaIndex(){this.algoliaClient&&this.searchIndex&&this.searchIndex.index&&(this.replicaIndex&&(this.searchIndex.index=this.replicaIndex),this.searchIndexName=this.searchIndex.index,this.algoliaIndex=this.algoliaClient.initIndex(this.searchIndex.index),this.searchChange())}newListenTo(){this.listenTo?setTimeout((()=>{this.inputField=document.querySelector(this.listenTo),this.inputField&&this.attachInputListener(!0)}),50):this.attachInputListener(!1)}showResultsChange(){this.resultsDiv&&this.defaultDiv&&(this.showResults?(this.resultsDiv.style.width=this.host.scrollWidth+"px",this.resultsDiv.style.minHeight=this.host.scrollHeight+"px",n((()=>{this.resultsDiv.addEventListener("transitionend",this.onResultDisplay),this.resultsDiv.style.display="block",setTimeout((()=>this.resultsDiv.classList.add("show")),50)}))):n((()=>{this.resultsDiv.classList.remove("shown"),this.defaultDiv.style.display="block",setTimeout((()=>{this.resultsDiv.addEventListener("transitionend",this.onResultDisplay),this.resultsDiv.classList.remove("show"),this.slottedInput?this.slottedInput.focus({preventScroll:!0}):this.defaultDiv.focus({preventScroll:!0})}),50)})))}fixDomain(t){return this.searchIndex&&this.searchIndex.domain?(t.hits.map((t=>{t.url&&!t.url.match(/^http/)&&(t.url=location.protocol+"//"+this.searchIndex.domain+t.url)})),t):t}resetPage(){this.indexResults&&(this.indexResults.currentPage=0)}clearAllFacetFilters(){Object.values(this._dynFacetFilters).forEach((t=>{t.element.value=""})),this._dynFacetFilters={}}algoliaFilterStr(){let t={};const i=i=>{let s,e;Object.keys(i).forEach((n=>{s=i[n],t[n]=t[n]||{name:s.facetName,or:[],and:[],not:[]},e=t[n][s.operator],s.value&&s.value.length&&(t[n][s.operator]=[...e,...s.value])}))};i(this.dynFacetFilters),i(this.staticFacetFilters);const s=(t,i)=>i.indexOf(" ")>-1?t+':"'+i+'"':t+":"+i;let e,n,r=[];return Object.values(t).forEach((function(t){Object.keys(t).filter((t=>t.match(/(or|and|not)/))).forEach((i=>{e=t,n=t.name,"or"===i||"and"===i?e[i].length&&r.push("( "+e[i].map((t=>{if(t.length)return s(n,t)})).join(" "+i.toLocaleUpperCase()+" ")+" )"):e.not.length&&r.push("( "+e[i].map((t=>{if(t.length)return"NOT "+s(n,t)})).join(" AND ")+" )")}))})),r=[...this.filters,...r],r.join(" "+this.operator.toLocaleUpperCase()+" ")}attachInputListener(t=!0){if(!this.inputField)return;let i="nano-input"===this.inputField.tagName.toLocaleLowerCase()?"nanoChange":"change";t?this.inputField.addEventListener(i,this.handleInputChange):this.inputField.removeEventListener(i,this.handleInputChange)}async updateContent(){return this.promiseQueue.enqueue((()=>this.updateContentQueue()))}async updateContentQueue(){let t=this.outputSlot||this.resultsDiv;if(!t||!this.tpl)return"no tpl";let i=document.createElement("div");i.innerHTML=this.tpl;let s=[];return this.placedAlgoliaEles=[],Array.from(i.querySelectorAll("nano-algolia, nano-algolia-filter, nano-algolia-results")).forEach(((t,i)=>{let e=document.createElement("div");e.dataset.placeholderId=i.toString(),e.classList.add("nano-ele-placeholder"),s.push(t),t.parentNode.replaceChild(e,t)})),t.innerHTML=this.tplRenderFn(i.innerHTML.replace(/>/gm,">").replace(/</gm,"<").replace(/&/gm,"&"),this.indexResults),Array.from(t.querySelectorAll("div.nano-ele-placeholder")).forEach((t=>{t.parentNode.replaceChild(s[parseInt(t.dataset.placeholderId)],t),this.placedAlgoliaEles.push(s[parseInt(t.dataset.placeholderId)])})),this.placedAlgoliaEles.length?new Promise((i=>{const s=e=>{this.placedAlgoliaEles=this.placedAlgoliaEles.filter((t=>t!==e.detail)),this.placedAlgoliaEles.length||(setTimeout((()=>i("tpl updated")),500),t.removeEventListener("nanoTplUpdated",s))};t.addEventListener("nanoTplUpdated",s)})):Promise.resolve("algolia setup")}componentWillLoad(){r((()=>{this.tplSlot=l(this.host,'[slot="template"]')[0],this.outputSlot=l(this.host,'[slot="output"]')[0],this.slottedInput=l(this.host,'[slot="search-input"]')[0],this.hasLoadSlot=!!l(this.host,'[slot="loader"]')[0],this.tplSlot&&(this.tpl=this.tplSlot.innerHTML),this.slottedInput&&("nano-input"===this.slottedInput.tagName.toLocaleLowerCase()||this.slottedInput instanceof HTMLInputElement)?this.inputField=this.slottedInput:this.slottedInput&&(this.inputField=this.slottedInput.querySelector('nano-input, input:not([type="radio"]):not([type="checkbox"])')),!this.inputField&&this.listenTo&&(this.inputField=document.querySelector(this.listenTo)),this.inputField&&this.attachInputListener(!0),n((()=>{this.showResults&&this.tpl&&this.searchChange()}))})),this.searchIndexNameChange(),this.initAlgoliaClient(),this.initAlgoliaIndex(),function(i,s){var e=t(i),n=new Map,r={wormholes:n,state:s};m.set(i,r);var a=i.connectedCallback;i.connectedCallback=function(){m.set(i,r),a&&a.call(i)};var h=i.disconnectedCallback;i.disconnectedCallback=function(){m.delete(i),h&&h.call(i)},e.addEventListener("openWormhole",(function(t){t.stopPropagation();var i=t.detail,s=i.consumer,e=i.onOpen;if(!n.has(s)){if("symbol"!=typeof s){var a=s.connectedCallback,h=s.disconnectedCallback;s.connectedCallback=function(){n.set(s,t.detail),a&&a.call(s)},s.disconnectedCallback=function(){n.delete(s),h&&h.call(s)}}n.set(s,t.detail),y(t.detail,r.state),null==e||e.resolve((function(){n.delete(s)}))}})),e.addEventListener("closeWormhole",(function(t){n.delete(t.detail)}))}(this,this.wormholeState),this.storeId&&(v.init(this,["query","replicaIndex"],this.storeMethod,this.storeId),v.init(this,["apiKey","appId","searchIndex"],"session",this.storeId+"_api")),this.internalIndexSwitch()}connectedCallback(){this.searchChange=c(this.searchChange,300),this.browseIndexChange(),this.host.dispatchEvent(new CustomEvent("nanoDidLoad",{detail:this.host}))}render(){const t={indexResults:this.indexResults,results:this.currentHits,filterChanged:this.filterChanged,tplRenderFn:this.tplRenderFn,resultsPage:this.resultsPage,changeEvent:this.changeEvent,facets:this.facets,algoliaIndex:this.algoliaIndex,searchIndex:this.searchIndex,globalStoreMethod:this.storeMethod,isLoading:this.isLoading};return a(h,{class:{"show-results":this.showResults,"is-loading":this.isLoading},"aria-busy":this.isLoading},this.hasLoadSlot&&a("div",{hidden:!this.isLoading},a("slot",{name:"loader"})),!this.hasLoadSlot&&a("div",{class:{loader:!0,loading:this.isLoading}},a("nano-spinner",{overlay:!0,type:"circle"})),a(g,{state:t},a("slot",{name:"search-input"}),a("div",{class:"results-container","aria-live":"polite"},a("div",{ref:t=>this.resultsDiv=t,class:"results"},a("slot",{name:"output"})))),a("div",{ref:t=>this.defaultDiv=t,class:"default",tabindex:"-1"},a("slot",null)))}get host(){return t(this)}static get watchers(){return{_dynFacetFilters:["dynFacetFiltersChange"],browseIndex:["browseIndexChange"],inputField:["inputFieldSet"],query:["queryChange"],replicaIndex:["internalIndexSwitch"],resultsPage:["pageChange"],searchIndexName:["searchIndexNameChange"],apiKey:["initAlgoliaClient"],appId:["initAlgoliaClient"],searchIndex:["initAlgoliaIndex"],listenTo:["newListenTo"],showResults:["showResultsChange"]}}};C.style=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{position:relative;display:block}:host ::slotted([slot=search-template]),:host::slotted([slot=search-template]){display:none !important}.loader{opacity:0;position:fixed;height:100%;width:100%;min-height:100%;max-height:100vh !important;max-width:100vw !important;left:0;top:0;z-index:-10;font-size:60px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:opacity 0.2s ease, z-index 0.01s ease 0.2s;transition:opacity 0.2s ease, z-index 0.01s ease 0.2s}.loader.loading{opacity:1;z-index:10;-webkit-transition:z-index 0.01s ease, opacity 0.2s ease 0.01s;transition:z-index 0.01s ease, opacity 0.2s ease 0.01s}.default{height:100%}.default:focus{outline:none}.results{opacity:0;outline:none;overflow:auto;-webkit-transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;-webkit-transform:translate(0, 100px);transform:translate(0, 100px);visibility:hidden;z-index:-1;position:absolute;top:0;left:0;display:none}.results-container{position:relative}.results.show{-webkit-transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;-webkit-transform:translate(0, 0);transform:translate(0, 0);visibility:visible;opacity:1;z-index:10;overflow:hidden}.results.shown{height:auto !important;width:auto !important;display:block;position:static;-webkit-transform:none;transform:none;z-index:auto;visibility:inherit;opacity:initial}";export{C as nano_algolia}
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{g as t,l as i,r as s,c as e,f as n,i as r,h as a,e as h}from"./p-bb0619e6.js";import{S as o}from"./p-ff2ff5b0.js";import{g as l}from"./p-a0ddf496.js";import{d as c}from"./p-0e826935.js";import{a as u}from"./p-05c062ae.js";import{b as f,c as d,a as p}from"./p-dfe5a97d.js";import{C as v}from"./p-a1680208.js";var m=new Map,y=function(t,i){var s=t.updater;t.fields.forEach((function(t){s(t,i[t])}))},g=function(t,s){var e=t.state,n=i();if(m.has(n)){var r=m.get(n);r.state=e,r.wormholes.forEach((function(t){y(t,e)}))}return s},b=d((function(t,i){!function(t){function i(t){var s,e,n=new Error(t);return s=n,e=i.prototype,Object.setPrototypeOf?Object.setPrototypeOf(s,e):s.__proto__=e,n}function s(t,s,e){var n=s.slice(0,e).split(/\n/),r=n.length,a=n[r-1].length+1;throw i(t+=" at line "+r+" col "+a+":\n\n "+s.split(/\n/)[r-1]+"\n "+Array(a).join(" ")+"^")}i.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var e=new Function("return this")().Promise,n=!1;try{n=new Function("return (async function(){}).constructor")()}catch(t){if(!(t instanceof SyntaxError))throw t}function r(t,i){return Object.prototype.hasOwnProperty.call(t,i)}function a(t,i,s){for(var e in i)r(i,e)&&(t[e]=null==i[e]||"object"!=typeof i[e]||"storage"!==e&&"prefixes"!==e||s?i[e]:a({},i[e]));return t}var h=/^async +/,o=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,l=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,c=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,u=/[.*+\-?^${}()|[\]\\]/g;function f(t){return u.test(t)?t.replace(u,"\\$&"):t}function d(t,e){e.rmWhitespace&&(t=t.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),o.lastIndex=0,l.lastIndex=0,c.lastIndex=0;var n=e.prefixes,r=[n.h,n.b,n.i,n.r,n.c,n.e].reduce((function(t,i){return t&&i?t+"|"+f(i):i?f(i):t}),""),a=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+f(e.tags[1])+")","g"),u=new RegExp("([^]*?)"+f(e.tags[0])+"(-|_)?\\s*("+r+")?\\s*","g"),d=0,p=!1;function v(i,n){var r,f={f:[]},v=0,m="c";function y(i){var n=t.slice(d,i),r=n.trim();if("f"===m)"safe"===r?f.raw=!0:e.async&&h.test(r)?(r=r.replace(h,""),f.f.push([r,"",!0])):f.f.push([r,""]);else if("fp"===m)f.f[f.f.length-1][1]+=r;else if("err"===m){if(r){var a=n.search(/\S/);s("invalid syntax",t,d+a)}}else f[m]=r;d=i+1}for("h"===n||"b"===n||"c"===n?m="n":"r"===n&&(f.raw=!0,n="i"),a.lastIndex=d;null!==(r=a.exec(t));){var g=r[1],b=r[2],w=r[3],x=r[4],k=r[5],F=r.index;if(g)"("===g?(0===v&&("n"===m?(y(F),m="p"):"f"===m&&(y(F),m="fp")),v++):")"===g?0==--v&&"c"!==m&&(y(F),m="err"):0===v&&"|"===g?(y(F),m="f"):"=>"===g&&(y(F),d+=1,m="res");else if(b)if("/*"===b){var j=t.indexOf("*/",a.lastIndex);-1===j&&s("unclosed comment",t,r.index),a.lastIndex=j+2}else"'"===b?(l.lastIndex=r.index,l.exec(t)?a.lastIndex=l.lastIndex:s("unclosed string",t,r.index)):'"'===b?(c.lastIndex=r.index,c.exec(t)?a.lastIndex=c.lastIndex:s("unclosed string",t,r.index)):"`"===b&&(o.lastIndex=r.index,o.exec(t)?a.lastIndex=o.lastIndex:s("unclosed string",t,r.index));else if(w)return y(F),u.lastIndex=d=F+r[0].length,p=k,x&&"h"===n&&(n="s"),f.t=n,f}return s("unclosed tag",t,i),f}var m=function r(a,o){a.b=[],a.d=[];var l,c=!1,f=[];function m(t,i){t&&(t=function(t,i,s,e){var n,r;return"string"==typeof i.autoTrim?n=r=i.autoTrim:Array.isArray(i.autoTrim)&&(n=i.autoTrim[1],r=i.autoTrim[0]),(s||!1===s)&&(n=s),(e||!1===e)&&(r=e),"slurp"===n&&"slurp"===r?t.trim():("_"===n||"slurp"===n?t=String.prototype.trimLeft?t.trimLeft():t.replace(/^[\s\uFEFF\xA0]+/,""):"-"!==n&&"nl"!==n||(t=t.replace(/^(?:\n|\r|\r\n)/,"")),"_"===r||"slurp"===r?t=String.prototype.trimRight?t.trimRight():t.replace(/[\s\uFEFF\xA0]+$/,""):"-"!==r&&"nl"!==r||(t=t.replace(/(?:\n|\r|\r\n)$/,"")),t)}(t,e,p,i))&&(t=t.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),f.push(t))}for(;null!==(l=u.exec(t));){var y,g=l[1],b=l[2],w=l[3]||"";for(var x in n)if(n[x]===w){y=x;break}m(g,b),d=l.index+l[0].length,y||s("unrecognized tag type: "+w,t,d);var k=v(l.index,y),F=k.t;if("h"===F){var j=k.n||"";e.async&&h.test(j)&&(k.a=!0,k.n=j.replace(h,"")),k=r(k),f.push(k)}else if("c"===F){if(a.n===k.n)return c?(c.d=f,a.b.push(c)):a.d=f,a;s("Helper start and end don't match",t,l.index+l[0].length)}else if("b"===F){c?(c.d=f,a.b.push(c)):a.d=f;var C=k.n||"";e.async&&h.test(C)&&(k.a=!0,k.n=C.replace(h,"")),c=k,f=[]}else if("s"===F){var I=k.n||"";e.async&&h.test(I)&&(k.a=!0,k.n=I.replace(h,"")),f.push(k)}else f.push(k)}if(!o)throw i('unclosed helper "'+a.n+'"');return m(t.slice(d,t.length),!1),a.d=f,a}({f:[]},!0);if(e.plugins)for(var y=0;y<e.plugins.length;y++){var g=e.plugins[y];g.processAST&&(m.d=g.processAST(m.d,e))}return m.d}function p(t,i){var s=d(t,i),e="var tR='';"+(i.useWith?"with("+i.varName+"||{}){":"")+b(s,i)+"if(cb){cb(null,tR)} return tR"+(i.useWith?"}":"");if(i.plugins)for(var n=0;n<i.plugins.length;n++){var r=i.plugins[n];r.processFnString&&(e=r.processFnString(e,i))}return e}function v(t,i){for(var s=0;s<i.length;s++){var e=i[s][1];t=(i[s][2]?"await ":"")+"c.l('F','"+i[s][0]+"')("+t,e&&(t+=","+e),t+=")"}return t}function m(t,i,s,e,n,r){var a="{exec:"+(n?"async ":"")+g(s,i,t)+",params:["+e+"]";return r&&(a+=",name:'"+r+"'"),n&&(a+=",async:true"),a+"}"}function y(t,i){for(var s="[",e=0;e<t.length;e++){var n=t[e];s+=m(i,n.res||"",n.d,n.p||"",n.a,n.n),e<t.length&&(s+=",")}return s+"]"}function g(t,i,s){return"function("+i+"){var tR='';"+b(t,s)+"return tR}"}function b(t,i){for(var s=0,e=t.length,n="";s<e;s++){var r=t[s];if("string"==typeof r)n+="tR+='"+r+"';";else{var a=r.t,h=r.c||"",o=r.f,l=r.n||"",c=r.p||"",u=r.res||"",f=r.b,d=!!r.a;if("i"===a){i.defaultFilter&&(h="c.l('F','"+i.defaultFilter+"')("+h+")");var p=v(h,o);!r.raw&&i.autoEscape&&(p="c.l('F','e')("+p+")"),n+="tR+="+p+";"}else if("h"===a)if(i.storage.nativeHelpers.get(l))n+=i.storage.nativeHelpers.get(l)(r,i);else{var g=(d?"await ":"")+"c.l('H','"+l+"')("+m(i,u,r.d,c,d);g+=f?","+y(f,i):",[]",n+="tR+="+v(g+=",c)",o)+";"}else"s"===a?n+="tR+="+v((d?"await ":"")+"c.l('H','"+l+"')({params:["+c+"]},[],c)",o)+";":"e"===a&&(n+=h+"\n")}}return n}var w=function(){function t(t){this.cache=t}return t.prototype.define=function(t,i){this.cache[t]=i},t.prototype.get=function(t){return this.cache[t]},t.prototype.remove=function(t){delete this.cache[t]},t.prototype.reset=function(){this.cache={}},t.prototype.load=function(t){a(this.cache,t,!0)},t}();function x(t,s,e,n){if(s&&s.length>0)throw i((n?"Native":"")+"Helper '"+t+"' doesn't accept blocks");if(e&&e.length>0)throw i((n?"Native":"")+"Helper '"+t+"' doesn't accept filters")}var k={"&":"&","<":"<",">":">",'"':""","'":"'"};function F(t){return k[t]}var j=new w({}),C=new w({each:function(t,i){var s="",e=t.params[0];if(x("each",i,!1),t.async)return new Promise((function(i){!function t(i,s,e,n,r){e(i[s],s).then((function(a){n+=a,s===i.length-1?r(n):t(i,s+1,e,n,r)}))}(e,0,t.exec,s,i)}));for(var n=0;n<e.length;n++)s+=t.exec(e[n],n);return s},foreach:function(t,i){var s=t.params[0];if(x("foreach",i,!1),t.async)return new Promise((function(i){!function t(i,s,e,n,r,a){n(s[e],i[s[e]]).then((function(h){r+=h,e===s.length-1?a(r):t(i,s,e+1,n,r,a)}))}(s,Object.keys(s),0,t.exec,"",i)}));var e="";for(var n in s)r(s,n)&&(e+=t.exec(n,s[n]));return e},include:function(t,s,e){x("include",s,!1);var n=e.storage.templates.get(t.params[0]);if(!n)throw i('Could not fetch template "'+t.params[0]+'"');return n(t.params[1],e)},extends:function(t,s,e){var n=t.params[1]||{};n.content=t.exec();for(var r=0;r<s.length;r++){var a=s[r];n[a.name]=a.exec()}var h=e.storage.templates.get(t.params[0]);if(!h)throw i('Could not fetch template "'+t.params[0]+'"');return h(n,e)},useScope:function(t,i){return x("useScope",i,!1),t.exec(t.params[0])}}),I=new w({if:function(t,i){x("if",!1,t.f,!0);var s="if("+t.p+"){"+b(t.d,i)+"}";if(t.b)for(var e=0;e<t.b.length;e++){var n=t.b[e];"else"===n.n?s+="else{"+b(n.d,i)+"}":"elif"===n.n&&(s+="else if("+n.p+"){"+b(n.d,i)+"}")}return s},try:function(t,s){if(x("try",!1,t.f,!0),!t.b||1!==t.b.length||"catch"!==t.b[0].n)throw i("native helper 'try' only accepts 1 block, 'catch'");var e="try{"+b(t.d,s)+"}",n=t.b[0];return e+"catch"+(n.res?"("+n.res+")":"")+"{"+b(n.d,s)+"}"},block:function(t,i){return x("block",t.b,t.f,!0),"if(!"+i.varName+"["+t.p+"]){tR+=("+g(t.d,"",i)+")()}else{tR+="+i.varName+"["+t.p+"]}"}}),z=new w({e:function(t){var i=String(t);return/[&<>"']/.test(i)?i.replace(/[&<>"']/g,F):i}}),S={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(t,s){if("H"===t){var e=this.storage.helpers.get(s);if(e)return e;throw i("Can't find helper '"+s+"'")}if("F"===t){var n=this.storage.filters.get(s);if(n)return n;throw i("Can't find filter '"+s+"'")}},async:!1,storage:{helpers:C,nativeHelpers:I,filters:z,templates:j},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function O(t,i){var s={};return a(s,S),i&&a(s,i),t&&a(s,t),s.l.bind(s),s}function R(t,s){var e=O(s||{}),r=Function;if(e.async){if(!n)throw i("This environment doesn't support async/await");r=n}try{return new r(e.varName,"c","cb",p(t,e))}catch(s){throw s instanceof SyntaxError?i("Bad template syntax\n\n"+s.message+"\n"+Array(s.message.length+1).join("=")+"\n"+p(t,e)):s}}function _(t,i){var s;return i.cache&&i.name&&i.storage.templates.get(i.name)?i.storage.templates.get(i.name):(s="function"==typeof t?t:R(t,i),i.cache&&i.name&&i.storage.templates.define(i.name,s),s)}S.l.bind(S),t.compile=R,t.compileScope=b,t.compileScopeIntoFunction=g,t.compileToString=p,t.defaultConfig=S,t.filters=z,t.getConfig=O,t.helpers=C,t.nativeHelpers=I,t.parse=d,t.render=function(t,s,n,r){var a=O(n||{});if(!a.async)return _(t,a)(s,a);if(!r){if("function"==typeof e)return new e((function(i,e){try{i(_(t,a)(s,a))}catch(t){e(t)}}));throw i("Please provide a callback function, this env doesn't support Promises")}try{_(t,a)(s,a,r)}catch(t){return r(t)}},t.templates=j,Object.defineProperty(t,"__esModule",{value:!0})}(i)}));const w=f(b),x=Object.freeze(Object.assign(Object.create(null),b,{default:w}));x.filters.define("date_long",((t,i={year:"numeric",month:"long",day:"numeric"})=>{if(t)return new Date(1e3*parseInt(t)).toLocaleDateString("en-GB",i)})),x.filters.define("date_short",((t,i="d/m/y")=>{if(!t)return;let s=new Date(1e3*parseInt(t));return(t=(t=i.replace(/(d)/,s.getDate().toString())).replace(/(m)/,(s.getMonth()+1).toString())).replace(/(y)/,s.getFullYear().toString())})),x.filters.define("public_name",(t=>{if(t)return(t=t.split("_").map((t=>t.length<3?t.toUpperCase():t)).join(" ")).charAt(0).toUpperCase()+t.slice(1)})),x.filters.define("trim_to",((t,i=100)=>{if(t)return t.length<=i?t:t.substr(0,i)+"..."})),x.filters.define("classname",(t=>{if(t)return t.replace(/[\W]+/g,"")})),x.filters.define("abs_url",((t,i=null,s)=>{if(!i)return t;if(!t)return;let e;if(i.domains&&s&&s.origin){let t=i.domains.find((t=>t.origin===s.origin));e=t?t.domain:""}else i.domain&&(e=i.domain);return e?t.match(/^http/)?t:location.protocol+"//"+e+t:t})),x.filters.define("replace",((t,i,s)=>t.replace(i,s))),x.filters.define("remove_spaces",(t=>t.replace(/ /g,"_"))),x.filters.define("add_spaces",(t=>t.replace(/[_\-]/g," "))),x.filters.define("capitalise",(t=>t.charAt(0).toUpperCase()+t.slice(1))),x.filters.define("lowercase",(t=>t.toLowerCase()));const k=x;class F{constructor(){this.queue=[],this.workingOnPromise=!1,this.stop=!1,this.limit=null}enqueue(t){return new Promise(((i,s)=>{this.queue.push({promise:t,resolve:i,reject:s}),this.dequeue()}))}dequeue(){if(this.workingOnPromise)return!1;if(this.stop)return this.queue=[],void(this.stop=!1);const t=this.queue.shift();if(!t)return!1;try{this.workingOnPromise=!0,t.promise().then((i=>{this.workingOnPromise=!1,t.resolve(i),this.dequeue()})).catch((i=>{this.workingOnPromise=!1,t.reject(i),this.dequeue()}))}catch(i){this.workingOnPromise=!1,t.reject(i),this.dequeue()}return!0}}F.pendingPromise=!1;const j=!!document.head.attachShadow;let C=class{constructor(t){s(this,t),this.nanoDidLoad=e(this,"nanoDidLoad",7),this.nanoResultsShown=e(this,"nanoResultsShown",3),this.nanoBeforeQuery=e(this,"nanoBeforeQuery",7),this.nanoAfterQuery=e(this,"nanoAfterQuery",7),this.staticFacetFilters={},this.dynFacetFilters={},this.hasLoadSlot=!1,this.placedAlgoliaEles=[],this.promiseQueue=new F,this._dynFacetFilters={},this.indeces=[],this.filterChanged="",this.changeEvent=o.Init,this.isLoading=!1,this.wormholeState=this,this.showResults=!1,this.resultsPage=0,this.searchIndex={},this.searchIndexName="",this.listenTo=null,this.query="",this.operator="and",this.filters=[],this.tplEngine=k,this.tplRenderFn=k.render,this.replicaIndex="",this.browseIndex=!1,this.minChars=2,this.storeMethod="session",this.searchChange=async()=>{if(this.algoliaIndex){if(!this.query||this.query.length<this.minChars){if(!this.browseIndex)return this.query&&0!==this.query.length?void 0:void this.handleSearchReset();if("*"!==this.query)return void(this.query="*")}this.isLoading=!0,setTimeout((async()=>{this.resetPage(),await this.algoliaSearch(o.Init),await this.updateContent(),setTimeout((()=>this.isLoading=!1),800),this.showResults=!0,this.nanoResultsShown.emit(this.indexResults)}),200)}},this.makeAppliedFilters=()=>{let t=[];const i=i=>{Object.values(i).forEach((i=>{if(i.value&&i.value.length){let s=t.find((t=>t.name===i.facetName));s?s.values=[...s.values,...i.value]:t.push({name:i.facetName,values:[...i.value]})}}))};return i(this.dynFacetFilters),i(this.staticFacetFilters),t.length?t:null},this.algoliaSearch=async t=>this.promiseQueue.enqueue((()=>this.queueSearch(t))),this.queueSearch=async t=>{if(!(this.algoliaIndex&&this.query&&this.searchIndex&&this.searchIndex.index))return;this.nanoBeforeQuery.emit(this.indexResults),o.Init===t&&this.clearAllFacetFilters();let i={filters:this.algoliaFilterStr(),page:this.indexResults?this.indexResults.currentPage:0};this.searchIndex.filters&&(i.facets=this.searchIndex.filters),this.searchIndex.hitsPerPage&&(i.hitsPerPage=this.searchIndex.hitsPerPage);let s=await this.algoliaIndex.search(this.query,i);return s=this.fixDomain(s),this.changeEvent=t,t!==o.Init&&this.indexResults||(this.indexResults={currentPage:0,totalHits:s.nbHits,hitsPerPage:null,origFilters:s.facets,query:this.query,domain:this.searchIndex.domain||null,legacy:!j,totalHitsWithFilters:0,results:[],totalPages:0,appliedFilters:this.makeAppliedFilters(),indexName:this.searchIndex.name||null,index:this.searchIndex.index}),this.indexResults.dynFilters=s.facets,this.indexResults.results=s.hits,this.indexResults.totalHitsWithFilters=s.nbHits,this.indexResults.currentPage=s.page,this.indexResults.totalPages=s.nbPages,this.indexResults.hitsPerPage=s.hitsPerPage,this.indexResults.query=s.query,this.changeEvent!==o.Page&&this.changeEvent!==o.Replica&&(this.facets=s.facets),this.nanoAfterQuery.emit(this.indexResults),new Promise((t=>{setTimeout((()=>t("tpl updated")),20)})).then((()=>{this.currentHits=this.indexResults.results,this.resultsPage=this.indexResults.currentPage}))},this.handleInputChange=t=>{t.target===this.inputField&&(this.query=this.inputField.value)},this.handleSearchReset=()=>{this.showResults=!1,this.indexResults=null},this.onResultDisplay=()=>{n((()=>{this.resultsDiv.removeEventListener("transitionend",this.onResultDisplay),this.showResults?(this.defaultDiv.style.display="none",this.resultsDiv.classList.add("shown"),this.resultsDiv.style.minHeight="",this.resultsDiv.style.width=""):this.resultsDiv.style.display="none"}))}}async removeFilters(t,i){t||i?Object.keys(this._dynFacetFilters).forEach((s=>{t&&this._dynFacetFilters[s].facetName===t&&(this._dynFacetFilters[s].element.value=i?this._dynFacetFilters[s].value.filter((t=>t!==i)):"")})):this.clearAllFacetFilters()}onAllTplUpdate(t){t.stopPropagation()}async onPageChange(t){if(!this.indexResults)return;let i=this.resultsPage;t&&(t.stopPropagation(),i=t.detail.page),i=Math.min(this.indexResults.totalPages-1,i),i=Math.max(i,0),this.indexResults.currentPage!==i&&(this.indexResults.currentPage=i,await this.algoliaSearch(o.Page))}async onFilterChange(t){t.stopPropagation();let i={},s=t.detail;s.element=t.target,this.indexResults?(this.staticFacetFilters[s.filterId]?this.staticFacetFilters[s.filterId]=s:(i[s.filterId]=s,this._dynFacetFilters=Object.assign(Object.assign({},this._dynFacetFilters),i)),this.indexResults.appliedFilters=this.makeAppliedFilters()):this.staticFacetFilters[s.filterId]=s,this.filterChanged=s.value&&s.value.length?s.filterId:"all",this.resetPage(),this.algoliaSearch(o.Filter)}dynFacetFiltersChange(){Object.values(this._dynFacetFilters).forEach((t=>{this.host.ownerDocument===t.element.ownerDocument?this.dynFacetFilters[t.filterId]=t:delete this.dynFacetFilters[t.filterId]}))}browseIndexChange(){this.browseIndex&&(!this.query||this.query.length<this.minChars)&&(this.query="*")}inputFieldSet(){this.inputField&&"*"!==this.query&&this.inputField&&this.inputField.value!==this.query&&(this.inputField.value=this.query)}queryChange(){this.searchChange()}async internalIndexSwitch(){this.replicaIndex&&this.indexResults&&this.indexResults.index!==this.replicaIndex&&(this.indexResults.index=this.replicaIndex,this.algoliaIndex=this.algoliaClient.initIndex(this.indexResults.index),this.resetPage(),this.algoliaSearch(o.Replica))}pageChange(){this.onPageChange()}searchIndexNameChange(){!this.searchIndexName||!this.searchIndexName.length||this.searchIndex&&this.searchIndex.index===this.searchIndexName||(this.searchIndex={index:this.searchIndexName})}initAlgoliaClient(){this.appId&&this.apiKey&&(this.algoliaClient=u(this.appId,this.apiKey))}initAlgoliaIndex(){this.algoliaClient&&this.searchIndex&&this.searchIndex.index&&(this.replicaIndex&&(this.searchIndex.index=this.replicaIndex),this.searchIndexName=this.searchIndex.index,this.algoliaIndex=this.algoliaClient.initIndex(this.searchIndex.index),this.searchChange())}newListenTo(){this.listenTo?setTimeout((()=>{this.inputField=document.querySelector(this.listenTo),this.inputField&&this.attachInputListener(!0)}),50):this.attachInputListener(!1)}showResultsChange(){this.resultsDiv&&this.defaultDiv&&(this.showResults?(this.resultsDiv.style.width=this.host.scrollWidth+"px",this.resultsDiv.style.minHeight=this.host.scrollHeight+"px",n((()=>{this.resultsDiv.addEventListener("transitionend",this.onResultDisplay),this.resultsDiv.style.display="block",setTimeout((()=>this.resultsDiv.classList.add("show")),50)}))):n((()=>{this.resultsDiv.classList.remove("shown"),this.defaultDiv.style.display="block",setTimeout((()=>{this.resultsDiv.addEventListener("transitionend",this.onResultDisplay),this.resultsDiv.classList.remove("show"),this.slottedInput?this.slottedInput.focus({preventScroll:!0}):this.defaultDiv.focus({preventScroll:!0})}),50)})))}fixDomain(t){return this.searchIndex&&this.searchIndex.domain?(t.hits.map((t=>{t.url&&!t.url.match(/^http/)&&(t.url=location.protocol+"//"+this.searchIndex.domain+t.url)})),t):t}resetPage(){this.indexResults&&(this.indexResults.currentPage=0)}clearAllFacetFilters(){Object.values(this._dynFacetFilters).forEach((t=>{t.element.value=""})),this._dynFacetFilters={}}algoliaFilterStr(){let t={};const i=i=>{let s,e;Object.keys(i).forEach((n=>{s=i[n],t[n]=t[n]||{name:s.facetName,or:[],and:[],not:[]},e=t[n][s.operator],s.value&&s.value.length&&(t[n][s.operator]=[...e,...s.value])}))};i(this.dynFacetFilters),i(this.staticFacetFilters);const s=(t,i)=>i.indexOf(" ")>-1?t+':"'+i+'"':t+":"+i;let e,n,r=[];return Object.values(t).forEach((function(t){Object.keys(t).filter((t=>t.match(/(or|and|not)/))).forEach((i=>{e=t,n=t.name,"or"===i||"and"===i?e[i].length&&r.push("( "+e[i].map((t=>{if(t.length)return s(n,t)})).join(" "+i.toLocaleUpperCase()+" ")+" )"):e.not.length&&r.push("( "+e[i].map((t=>{if(t.length)return"NOT "+s(n,t)})).join(" AND ")+" )")}))})),r=[...this.filters,...r],r.join(" "+this.operator.toLocaleUpperCase()+" ")}attachInputListener(t=!0){if(!this.inputField)return;let i="nano-input"===this.inputField.tagName.toLocaleLowerCase()?"nanoChange":"change";t?this.inputField.addEventListener(i,this.handleInputChange):this.inputField.removeEventListener(i,this.handleInputChange)}async updateContent(){return this.promiseQueue.enqueue((()=>this.updateContentQueue()))}async updateContentQueue(){let t=this.outputSlot||this.resultsDiv;if(!t||!this.tpl)return"no tpl";let i=document.createElement("div");i.innerHTML=this.tpl;let s=[];return this.placedAlgoliaEles=[],Array.from(i.querySelectorAll("nano-algolia, nano-algolia-filter, nano-algolia-results")).forEach(((t,i)=>{let e=document.createElement("div");e.dataset.placeholderId=i.toString(),e.classList.add("nano-ele-placeholder"),s.push(t),t.parentNode.replaceChild(e,t)})),t.innerHTML=this.tplRenderFn(i.innerHTML.replace(/>/gm,">").replace(/</gm,"<").replace(/&/gm,"&"),this.indexResults),Array.from(t.querySelectorAll("div.nano-ele-placeholder")).forEach((t=>{t.parentNode.replaceChild(s[parseInt(t.dataset.placeholderId)],t),this.placedAlgoliaEles.push(s[parseInt(t.dataset.placeholderId)])})),this.placedAlgoliaEles.length?new Promise((i=>{const s=e=>{this.placedAlgoliaEles=this.placedAlgoliaEles.filter((t=>t!==e.detail)),this.placedAlgoliaEles.length||(setTimeout((()=>i("tpl updated")),500),t.removeEventListener("nanoTplUpdated",s))};t.addEventListener("nanoTplUpdated",s)})):Promise.resolve("algolia setup")}componentWillLoad(){r((()=>{this.tplSlot=l(this.host,'[slot="template"]')[0],this.outputSlot=l(this.host,'[slot="output"]')[0],this.slottedInput=l(this.host,'[slot="search-input"]')[0],this.hasLoadSlot=!!l(this.host,'[slot="loader"]')[0],this.tplSlot&&(this.tpl=this.tplSlot.innerHTML),this.slottedInput&&("nano-input"===this.slottedInput.tagName.toLocaleLowerCase()||this.slottedInput instanceof HTMLInputElement)?this.inputField=this.slottedInput:this.slottedInput&&(this.inputField=this.slottedInput.querySelector('nano-input, input:not([type="radio"]):not([type="checkbox"])')),!this.inputField&&this.listenTo&&(this.inputField=document.querySelector(this.listenTo)),this.inputField&&this.attachInputListener(!0),n((()=>{this.showResults&&this.tpl&&this.searchChange()}))})),this.searchIndexNameChange(),this.initAlgoliaClient(),this.initAlgoliaIndex(),function(i,s){var e=t(i),n=new Map,r={wormholes:n,state:s};m.set(i,r);var a=i.connectedCallback;i.connectedCallback=function(){m.set(i,r),a&&a.call(i)};var h=i.disconnectedCallback;i.disconnectedCallback=function(){m.delete(i),h&&h.call(i)},e.addEventListener("openWormhole",(function(t){t.stopPropagation();var i=t.detail,s=i.consumer,e=i.onOpen;if(!n.has(s)){if("symbol"!=typeof s){var a=s.connectedCallback,h=s.disconnectedCallback;s.connectedCallback=function(){n.set(s,t.detail),a&&a.call(s)},s.disconnectedCallback=function(){n.delete(s),h&&h.call(s)}}n.set(s,t.detail),y(t.detail,r.state),null==e||e.resolve((function(){n.delete(s)}))}})),e.addEventListener("closeWormhole",(function(t){n.delete(t.detail)}))}(this,this.wormholeState),this.storeId&&(v.init(this,["query","replicaIndex"],this.storeMethod,this.storeId),v.init(this,["apiKey","appId","searchIndex"],"session",this.storeId+"_api")),this.internalIndexSwitch()}connectedCallback(){this.searchChange=c(this.searchChange,300),this.browseIndexChange(),this.host.dispatchEvent(new CustomEvent("nanoDidLoad",{detail:this.host}))}render(){const t={indexResults:this.indexResults,results:this.currentHits,filterChanged:this.filterChanged,tplRenderFn:this.tplRenderFn,resultsPage:this.resultsPage,changeEvent:this.changeEvent,facets:this.facets,algoliaIndex:this.algoliaIndex,searchIndex:this.searchIndex,globalStoreMethod:this.storeMethod,isLoading:this.isLoading};return a(h,{class:{"show-results":this.showResults,"is-loading":this.isLoading},"aria-busy":this.isLoading},this.hasLoadSlot&&a("div",{hidden:!this.isLoading},a("slot",{name:"loader"})),!this.hasLoadSlot&&a("div",{class:{loader:!0,loading:this.isLoading}},a("nano-spinner",{overlay:!0,type:"circle"})),a(g,{state:t},a("slot",{name:"search-input"}),a("div",{class:"results-container","aria-live":"polite"},a("div",{ref:t=>this.resultsDiv=t,class:"results"},a("slot",{name:"output"})))),a("div",{ref:t=>this.defaultDiv=t,class:"default",tabindex:"-1"},a("slot",null)))}get host(){return t(this)}static get watchers(){return{_dynFacetFilters:["dynFacetFiltersChange"],browseIndex:["browseIndexChange"],inputField:["inputFieldSet"],query:["queryChange"],replicaIndex:["internalIndexSwitch"],resultsPage:["pageChange"],searchIndexName:["searchIndexNameChange"],apiKey:["initAlgoliaClient"],appId:["initAlgoliaClient"],searchIndex:["initAlgoliaIndex"],listenTo:["newListenTo"],showResults:["showResultsChange"]}}};C.style=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{position:relative;display:block}:host ::slotted([slot=search-template]),:host::slotted([slot=search-template]){display:none !important}.loader{opacity:0;position:fixed;height:100%;width:100%;min-height:100%;max-height:100vh !important;max-width:100vw !important;left:0;top:0;z-index:-10;font-size:60px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:opacity 0.2s ease, z-index 0.01s ease 0.2s;transition:opacity 0.2s ease, z-index 0.01s ease 0.2s}.loader.loading{opacity:1;z-index:10;-webkit-transition:z-index 0.01s ease, opacity 0.2s ease 0.01s;transition:z-index 0.01s ease, opacity 0.2s ease 0.01s}.default{height:100%}.default:focus{outline:none}.results{opacity:0;outline:none;overflow:auto;-webkit-transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;-webkit-transform:translate(0, 100px);transform:translate(0, 100px);visibility:hidden;z-index:-1;position:absolute;top:0;left:0;display:none}.results-container{position:relative}.results.show{-webkit-transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;-webkit-transform:translate(0, 0);transform:translate(0, 0);visibility:visible;opacity:1;z-index:10;overflow:hidden}.results.shown{height:auto !important;width:auto !important;display:block;position:static;-webkit-transform:none;transform:none;z-index:auto;visibility:inherit;opacity:initial}";export{C as nano_algolia}
|
2
|
+
//# sourceMappingURL=p-574f1393.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["node_modules/stencil-wormhole/dist/esm/universe.js","node_modules/squirrelly/dist/browser/squirrelly.min.js","src/utils/template.ts","src/utils/promise-queue.ts","src/components/algolia/algolia.scss?tag=nano-algolia&encapsulation=shadow","src/components/algolia/algolia.tsx"],"names":["multiverse","Map","updateConsumer","_a","state","updater","fields","forEach","field","Universe","children","creator","getRenderingRef","has","universe","get","wormholes","opening","e","t","n","r","a","Error","prototype","Object","setPrototypeOf","__proto__","slice","split","i","length","s","Array","join","create","name","value","enumerable","Function","Promise","SyntaxError","hasOwnProperty","call","c","o","l","f","u","p","test","replace","h","rmWhitespace","lastIndex","prefixes","b","reduce","RegExp","tags","d","g","v","m","trim","raw","async","push","search","exec","y","x","w","F","S","index","I","indexOf","autoTrim","isArray","String","trimLeft","trimRight","R","T","plugins","processAST","useWith","varName","processFnString","res","defaultFilter","autoEscape","storage","nativeHelpers","this","cache","define","remove","reset","load","&","<",">","\"","'","each","params","then","foreach","keys","include","templates","extends","content","useScope","if","try","block","E","j","helpers","filters","H","bind","O","message","_","compile","compileScope","compileScopeIntoFunction","compileToString","defaultConfig","getConfig","parse","render","defineProperty","exports","squirrel","str","options","year","month","day","Date","parseInt","toLocaleDateString","format","date","getDate","toString","getMonth","getFullYear","map","val","toUpperCase","charAt","substr","result","domain","domains","origin","found","find","dm","match","location","protocol","toLowerCase","Squirrel","PromiseQueue","[object Object]","queue","workingOnPromise","stop","limit","promise","resolve","reject","dequeue","item","shift","catch","err","pendingPromise","CANSHADOW","document","head","attachShadow","Algolia","hostRef","staticFacetFilters","dynFacetFilters","hasLoadSlot","placedAlgoliaEles","promiseQueue","_dynFacetFilters","indeces","filterChanged","changeEvent","SearchChangeEvent","Init","isLoading","wormholeState","showResults","resultsPage","searchIndex","searchIndexName","listenTo","query","operator","tplEngine","tplRenderFn","replicaIndex","browseIndex","minChars","storeMethod","searchChange","algoliaIndex","handleSearchReset","setTimeout","resetPage","algoliaSearch","updateContent","nanoResultsShown","emit","indexResults","makeAppliedFilters","appliedFtrs","makeAppliedFilter","facetFilters","values","filter","appFilter","facetName","eventType","enqueue","queueSearch","nanoBeforeQuery","clearAllFacetFilters","searchParams","algoliaFilterStr","page","currentPage","facets","hitsPerPage","fixDomain","totalHits","nbHits","origFilters","legacy","totalHitsWithFilters","results","totalPages","appliedFilters","indexName","dynFilters","hits","nbPages","Page","Replica","nanoAfterQuery","currentHits","handleInputChange","ev","target","inputField","onResultDisplay","writeTask","resultsDiv","removeEventListener","defaultDiv","style","display","classList","add","minHeight","width","facetValue","filterId","element","stopPropagation","detail","Math","min","max","dynFilterObj","assign","Filter","host","ownerDocument","algoliaClient","initIndex","onPageChange","appId","apiKey","algoliasearch","querySelector","attachInputListener","scrollWidth","scrollHeight","addEventListener","slottedInput","focus","preventScroll","hit","url","facetFilterObj","groupFilters","filterOp","or","and","not","formatVal","operatorGrp","filterName","filterStrParts","filterProp","toLocaleUpperCase","setup","eventName","tagName","toLocaleLowerCase","updateContentQueue","outputTo","outputSlot","tpl","tmpCont","createElement","innerHTML","algoliaEles","from","querySelectorAll","el","placeholder","dataset","placeholderId","parentNode","replaceChild","childrenResolver","ele","readTask","tplSlot","getDirectChildren","HTMLInputElement","searchIndexNameChange","initAlgoliaClient","initAlgoliaIndex","initialState","getElement","set","connectedCallback","disconnectedCallback","delete","event","consumer","onOpen","connectedCallback_1","disconnectedCallback_1","storeId","ComponentStore","init","internalIndexSwitch","debounce","browseIndexChange","dispatchEvent","CustomEvent","globalStoreMethod","Host","class","show-results","is-loading","aria-busy","hidden","loader","loading","overlay","type","aria-live","ref","div","tabindex"],"mappings":"2TACA,IAAIA,EAAa,IAAIC,IACjBC,EAAiB,SAAUC,EAAIC,GAC/B,IAAwBC,EAAUF,EAAGE,QAAxBF,EAAGG,OACTC,SAAQ,SAAUC,GAASH,EAAQG,EAAOJ,EAAMI,QAEhDC,EAiDG,SAAUN,EAAIO,GACpB,IAAIN,EAAQD,EAAGC,MACXO,EAAUC,IACd,GAAIZ,EAAWa,IAAIF,GAAU,CACzB,IAAIG,EAAWd,EAAWe,IAAIJ,GAC9BG,EAASV,MAAQA,EACjBU,EAASE,UAAUT,SAAQ,SAAUU,GAAWf,EAAee,EAASb,MAE5E,OAAOM,uBC/DkM,SAAWQ,GAAgB,SAASC,EAAED,GAAG,IAAIE,EAAEC,EAAEC,EAAE,IAAIC,MAAML,GAAG,OAAOE,EAAEE,EAAED,EAAEF,EAAEK,UAAUC,OAAOC,eAAeD,OAAOC,eAAeN,EAAEC,GAAGD,EAAEO,UAAUN,EAAEC,EAAE,SAASF,EAAEF,EAAEE,EAAEC,GAAG,IAAIC,EAAEF,EAAEQ,MAAM,EAAEP,GAAGQ,MAAM,MAAMC,EAAER,EAAES,OAAOC,EAAEV,EAAEQ,EAAE,GAAGC,OAAO,EAAE,MAAMZ,EAAED,GAAG,YAAYY,EAAE,QAAQE,EAAE,UAAUZ,EAAES,MAAM,MAAMC,EAAE,GAAG,OAAOG,MAAMD,GAAGE,KAAK,KAAK,KAAKf,EAAEK,UAAUC,OAAOU,OAAOZ,MAAMC,UAAU,CAACY,KAAK,CAACC,MAAM,mBAAmBC,YAAW,KAAM,IAAIjB,EAAE,IAAIkB,SAAS,cAAb,GAA8BC,QAAQlB,GAAE,EAAG,IAAIA,EAAE,IAAIiB,SAAS,0CAAb,GAA0D,MAAMrB,GAAG,KAAKA,aAAauB,aAAa,MAAMvB,EAAE,SAASY,EAAEZ,EAAEC,GAAG,OAAOM,OAAOD,UAAUkB,eAAeC,KAAKzB,EAAEC,GAAG,SAASa,EAAEd,EAAEC,EAAEC,GAAG,IAAI,IAAIC,KAAKF,EAAEW,EAAEX,EAAEE,KAAyEH,EAAEG,GAAtE,MAAMF,EAAEE,IAAI,iBAAiBF,EAAEE,IAAI,YAAYA,GAAG,aAAaA,GAAGD,EAAOD,EAAEE,GAAQW,EAAE,GAAGb,EAAEE,KAAK,OAAOH,EAAE,IAAI0B,EAAE,WAAWC,EAAE,qEAAqEC,EAAE,oCAAoCC,EAAE,oCAAoCC,EAAE,wBAAwB,SAASC,EAAE/B,GAAG,OAAO8B,EAAEE,KAAKhC,GAAGA,EAAEiC,QAAQH,EAAE,QAAQ9B,EAAE,SAASkC,EAAElC,EAAEG,GAAGA,EAAEgC,eAAenC,EAAEA,EAAEiC,QAAQ,WAAW,MAAMA,QAAQ,cAAc,KAAKN,EAAES,UAAU,EAAER,EAAEQ,UAAU,EAAEP,EAAEO,UAAU,EAAE,IAAIhC,EAAED,EAAEkC,SAASzB,EAAE,CAACR,EAAE8B,EAAE9B,EAAEkC,EAAElC,EAAEQ,EAAER,EAAED,EAAEC,EAAEsB,EAAEtB,EAAEJ,GAAGuC,QAAM,SAAWvC,EAAEC,GAAG,OAAOD,GAAGC,EAAED,EAAE,IAAI+B,EAAE9B,GAAGA,EAAE8B,EAAE9B,GAAGD,IAAI,IAAIc,EAAE,IAAI0B,OAAO,+CAA+CT,EAAE5B,EAAEsC,KAAK,IAAI,IAAI,KAAKX,EAAE,IAAIU,OAAO,UAAUT,EAAE5B,EAAEsC,KAAK,IAAI,cAAc7B,EAAE,SAAS,KAAKsB,EAAE,EAAEQ,GAAE,EAAG,SAASC,EAAE1C,EAAEG,GAAG,IAAIQ,EAAEmB,EAAE,CAACF,EAAE,IAAIc,EAAE,EAAEC,EAAE,IAAI,SAASC,EAAE5C,GAAG,IAAIG,EAAEJ,EAAEU,MAAMwB,EAAEjC,GAAGW,EAAER,EAAE0C,OAAO,GAAG,MAAMF,EAAE,SAAShC,EAAEmB,EAAEgB,KAAI,EAAG5C,EAAE6C,OAAOtB,EAAEM,KAAKpB,IAAIA,EAAEA,EAAEqB,QAAQP,EAAE,IAAIK,EAAEF,EAAEoB,KAAK,CAACrC,EAAE,IAAG,KAAMmB,EAAEF,EAAEoB,KAAK,CAACrC,EAAE,UAAU,GAAG,OAAOgC,EAAEb,EAAEF,EAAEE,EAAEF,EAAEhB,OAAO,GAAG,IAAID,OAAO,GAAG,QAAQgC,GAAG,GAAGhC,EAAE,CAAC,IAAIE,EAAEV,EAAE8C,OAAO,MAAMhD,EAAE,iBAAiBF,EAAEkC,EAAEpB,SAASiB,EAAEa,GAAGhC,EAAEsB,EAAEjC,EAAE,EAAE,IAAI,MAAMG,GAAG,MAAMA,GAAG,MAAMA,EAAEwC,EAAE,IAAI,MAAMxC,IAAI2B,EAAEgB,KAAI,EAAG3C,EAAE,KAAKU,EAAEsB,UAAUF,EAAE,QAAQtB,EAAEE,EAAEqC,KAAKnD,KAAK,CAAC,IAAIoD,EAAExC,EAAE,GAAGyC,EAAEzC,EAAE,GAAG0B,EAAE1B,EAAE,GAAG0C,EAAE1C,EAAE,GAAG2C,EAAE3C,EAAE,GAAG4C,EAAE5C,EAAE6C,MAAM,GAAGL,EAAE,MAAMA,GAAG,IAAIT,IAAI,MAAMC,GAAGC,EAAEW,GAAGZ,EAAE,KAAK,MAAMA,IAAIC,EAAEW,GAAGZ,EAAE,OAAOD,KAAK,MAAMS,EAAE,KAAMT,GAAG,MAAMC,IAAIC,EAAEW,GAAGZ,EAAE,OAAO,IAAID,GAAG,MAAMS,GAAGP,EAAEW,GAAGZ,EAAE,KAAK,OAAOQ,IAAIP,EAAEW,GAAGtB,GAAG,EAAEU,EAAE,YAAY,GAAGS,EAAG,GAAG,OAAOA,EAAE,CAAC,IAAIK,EAAE1D,EAAE2D,QAAQ,KAAK7C,EAAEsB,YAAY,IAAIsB,GAAGxD,EAAE,mBAAmBF,EAAEY,EAAE6C,OAAO3C,EAAEsB,UAAUsB,EAAE,MAAU,MAAML,GAAGzB,EAAEQ,UAAUxB,EAAE6C,MAAM7B,EAAEuB,KAAKnD,GAAGc,EAAEsB,UAAUR,EAAEQ,UAAUlC,EAAE,kBAAkBF,EAAEY,EAAE6C,QAAe,MAAMJ,GAAGxB,EAAEO,UAAUxB,EAAE6C,MAAM5B,EAAEsB,KAAKnD,GAAGc,EAAEsB,UAAUP,EAAEO,UAAUlC,EAAE,kBAAkBF,EAAEY,EAAE6C,QAAe,MAAMJ,IAAG1B,EAAES,UAAUxB,EAAE6C,MAAM9B,EAAEwB,KAAKnD,GAAGc,EAAEsB,UAAUT,EAAES,UAAUlC,EAAE,kBAAkBF,EAAEY,EAAE6C,aAAa,GAAGnB,EAAE,OAAOO,EAAEW,GAAmB1B,EAAEM,UAAlBF,EAAEsB,EAAE5C,EAAE,GAAGC,OAAqB6B,EAAEa,EAAED,GAAG,MAAMlD,IAAIA,EAAE,KAAK2B,EAAE9B,EAAEG,EAAE2B,EAAE,OAAO7B,EAAE,eAAeF,EAAEC,GAAG8B,EAAE,IAAIa,EAAE,SAAShC,EAAEE,EAAEa,GAAGb,EAAEwB,EAAE,GAAGxB,EAAE4B,EAAE,GAAG,IAAId,EAAEC,GAAE,EAAGE,EAAE,GAAG,SAASa,EAAE5C,EAAEC,GAAGD,IAAIA,EAAE,SAASA,EAAEC,EAAEC,EAAEC,GAAG,IAAIC,EAAEQ,EAAE,MAAM,iBAAiBX,EAAE2D,SAASxD,EAAEQ,EAAEX,EAAE2D,SAAS7C,MAAM8C,QAAQ5D,EAAE2D,YAAYxD,EAAEH,EAAE2D,SAAS,GAAGhD,EAAEX,EAAE2D,SAAS,KAAK1D,IAAG,IAAKA,KAAKE,EAAEF,IAAIC,IAAG,IAAKA,KAAKS,EAAET,GAAG,UAAUC,GAAG,UAAUQ,EAAEZ,EAAE8C,QAAQ,MAAM1C,GAAG,UAAUA,EAAEJ,EAAE8D,OAAOxD,UAAUyD,SAAS/D,EAAE+D,WAAW/D,EAAEiC,QAAQ,mBAAmB,IAAI,MAAM7B,GAAG,OAAOA,IAAIJ,EAAEA,EAAEiC,QAAQ,kBAAkB,KAAK,MAAMrB,GAAG,UAAUA,EAAEZ,EAAE8D,OAAOxD,UAAU0D,UAAUhE,EAAEgE,YAAYhE,EAAEiC,QAAQ,mBAAmB,IAAI,MAAMrB,GAAG,OAAOA,IAAIZ,EAAEA,EAAEiC,QAAQ,kBAAkB,KAAKjC,GAA/f,CAAmgBA,EAAEG,EAAEuC,EAAEzC,MAAMD,EAAEA,EAAEiC,QAAQ,QAAQ,QAAQA,QAAQ,cAAc,OAAOF,EAAEkB,KAAKjD,IAAI,KAAK,QAAQ4B,EAAEE,EAAEqB,KAAKnD,KAAK,CAAC,IAAI6C,EAAEO,EAAExB,EAAE,GAAGyB,EAAEzB,EAAE,GAAGU,EAAEV,EAAE,IAAI,GAAG,IAAI,IAAI0B,KAAKlD,EAAE,GAAGA,EAAEkD,KAAKhB,EAAE,CAACO,EAAES,EAAE,MAAMV,EAAEQ,EAAEC,GAAGnB,EAAEN,EAAE6B,MAAM7B,EAAE,GAAGf,OAAOgC,GAAG3C,EAAE,0BAA0BoC,EAAEtC,EAAEkC,GAAG,IAAIqB,EAAEZ,EAAEf,EAAE6B,MAAMZ,GAAGW,EAAED,EAAEtD,EAAE,GAAG,MAAMuD,EAAE,CAAC,IAAIE,EAAEH,EAAErD,GAAG,GAAGC,EAAE6C,OAAOtB,EAAEM,KAAK0B,KAAKH,EAAEnD,GAAE,EAAGmD,EAAErD,EAAEwD,EAAEzB,QAAQP,EAAE,KAAK6B,EAAE3C,EAAE2C,GAAGxB,EAAEkB,KAAKM,QAAQ,GAAG,MAAMC,EAAE,CAAC,GAAG1C,EAAEZ,IAAIqD,EAAErD,EAAE,OAAO2B,GAAGA,EAAEa,EAAEX,EAAEjB,EAAEwB,EAAEW,KAAKpB,IAAIf,EAAE4B,EAAEX,EAAEjB,EAAEZ,EAAE,mCAAmCF,EAAE4B,EAAE6B,MAAM7B,EAAE,GAAGf,aAAa,GAAG,MAAM2C,EAAE,CAAC3B,GAAGA,EAAEa,EAAEX,EAAEjB,EAAEwB,EAAEW,KAAKpB,IAAIf,EAAE4B,EAAEX,EAAE,IAAIkC,EAAEV,EAAErD,GAAG,GAAGC,EAAE6C,OAAOtB,EAAEM,KAAKiC,KAAKV,EAAEnD,GAAE,EAAGmD,EAAErD,EAAE+D,EAAEhC,QAAQP,EAAE,KAAKG,EAAE0B,EAAExB,EAAE,QAAQ,GAAG,MAAMyB,EAAE,CAAC,IAAIU,EAAEX,EAAErD,GAAG,GAAGC,EAAE6C,OAAOtB,EAAEM,KAAKkC,KAAKX,EAAEnD,GAAE,EAAGmD,EAAErD,EAAEgE,EAAEjC,QAAQP,EAAE,KAAKK,EAAEkB,KAAKM,QAAQxB,EAAEkB,KAAKM,GAAG,IAAI5B,EAAE,MAAM1B,EAAE,oBAAoBa,EAAEZ,EAAE,KAAK,OAAO0C,EAAE5C,EAAEU,MAAMwB,EAAElC,EAAEa,SAAQ,GAAIC,EAAE4B,EAAEX,EAAEjB,EAA/1C,CAAk2C,CAACe,EAAE,KAAI,GAAI,GAAG1B,EAAEgE,QAAQ,IAAI,IAAItB,EAAE,EAAEA,EAAE1C,EAAEgE,QAAQtD,OAAOgC,IAAI,CAAC,IAAIO,EAAEjD,EAAEgE,QAAQtB,GAAGO,EAAEgB,aAAaxB,EAAEF,EAAEU,EAAEgB,WAAWxB,EAAEF,EAAEvC,IAAI,OAAOyC,EAAEF,EAAE,SAASA,EAAE1C,EAAEC,GAAG,IAAIC,EAAEgC,EAAElC,EAAEC,GAAGE,EAAE,cAAcF,EAAEoE,QAAQ,QAAQpE,EAAEqE,QAAQ,SAAS,IAAIjB,EAAEnD,EAAED,GAAG,iCAAiCA,EAAEoE,QAAQ,IAAI,IAAI,GAAGpE,EAAEkE,QAAQ,IAAI,IAAI/D,EAAE,EAAEA,EAAEH,EAAEkE,QAAQtD,OAAOT,IAAI,CAAC,IAAIQ,EAAEX,EAAEkE,QAAQ/D,GAAGQ,EAAE2D,kBAAkBpE,EAAES,EAAE2D,gBAAgBpE,EAAEF,IAAI,OAAOE,EAAE,SAASwC,EAAE3C,EAAEC,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAED,EAAEY,OAAOX,IAAI,CAAC,IAAcE,EAAEH,EAAEC,GAAG,GAAGF,GAAGC,EAAEC,GAAG,GAAG,SAAS,IAAI,YAA1CD,EAAEC,GAAG,GAAmD,MAAMF,EAAEI,IAAIJ,GAAG,IAAII,GAAGJ,GAAG,IAAI,OAAOA,EAAE,SAAS4C,EAAE5C,EAAEC,EAAEC,EAAEC,EAAEC,EAAEQ,GAAG,IAAIE,EAAE,UAAUV,EAAE,SAAS,IAAIgD,EAAElD,EAAED,EAAED,GAAG,YAAYG,EAAE,IAAI,OAAOS,IAAIE,GAAG,UAAUF,EAAE,KAAKR,IAAIU,GAAG,eAAeA,EAAG,IAAI,SAAS+B,EAAE7C,EAAEC,GAAG,IAAI,IAAIC,EAAE,IAAIC,EAAE,EAAEA,EAAEH,EAAEa,OAAOV,IAAI,CAAC,IAAIC,EAAEJ,EAAEG,GAAGD,GAAG0C,EAAE3C,EAAEG,EAAEoE,KAAK,GAAGpE,EAAEsC,EAAEtC,EAAE2B,GAAG,GAAG3B,EAAEA,EAAEA,EAAEF,GAAGC,EAAEH,EAAEa,SAASX,GAAG,KAAK,OAAOA,EAAG,IAAI,SAASkD,EAAEpD,EAAEC,EAAEC,GAAG,MAAM,YAAYD,EAAE,eAAeoD,EAAErD,EAAEE,GAAG,aAAa,SAASmD,EAAErD,EAAEC,GAAG,IAAI,IAAIC,EAAE,EAAEC,EAAEH,EAAEa,OAAOT,EAAE,GAAGF,EAAEC,EAAED,IAAI,CAAC,IAAIU,EAAEZ,EAAEE,GAAG,GAAG,iBAAiBU,EAAGR,GAAG,QAAQQ,EAAE,SAAS,CAAC,IAAIE,EAAEF,EAAEX,EAAEyB,EAAEd,EAAEc,GAAG,GAAGC,EAAEf,EAAEiB,EAAED,EAAEhB,EAAEV,GAAG,GAAG2B,EAAEjB,EAAEmB,GAAG,GAAGD,EAAElB,EAAE4D,KAAK,GAAGzC,EAAEnB,EAAE0B,EAAEJ,IAAItB,EAAER,EAAE,GAAG,MAAMU,EAAE,CAACb,EAAEwE,gBAAgB/C,EAAE,YAAYzB,EAAEwE,cAAc,MAAM/C,EAAE,KAAK,IAAIgB,EAAEC,EAAEjB,EAAEC,IAAIf,EAAEmC,KAAK9C,EAAEyE,aAAahC,EAAE,gBAAgBA,EAAE,KAAKtC,GAAG,OAAOsC,EAAE,SAAS,GAAG,MAAM5B,EAAE,GAAGb,EAAE0E,QAAQC,cAAc/E,IAAI+B,GAAGxB,GAAGH,EAAE0E,QAAQC,cAAc/E,IAAI+B,EAA5B3B,CAA+BW,EAAEX,OAAO,CAAC,IAAImD,GAAGlB,EAAE,SAAS,IAAI,YAAYN,EAAE,MAAMgB,EAAE3C,EAAE6B,EAAElB,EAAE8B,EAAEb,EAAEK,GAAGkB,GAAGrB,EAAE,IAAIc,EAAEd,EAAE9B,GAAG,MAAMG,GAAG,OAAOuC,EAAES,GAAG,MAAMzB,GAAG,QAAQ,MAAMb,EAAEV,GAAG,OAAOuC,GAAGT,EAAE,SAAS,IAAI,YAAYN,EAAE,eAAeC,EAAE,WAAWF,GAAG,IAAI,MAAMb,IAAIV,GAAGsB,EAAE,OAAO,OAAOtB,EAAE,IAAIkC,EAAE,WAAW,SAAStC,EAAEA,GAAG6E,KAAKC,MAAM9E,EAAE,OAAOA,EAAEM,UAAUyE,OAAO,SAAS/E,EAAEC,GAAG4E,KAAKC,MAAM9E,GAAGC,GAAGD,EAAEM,UAAUT,IAAI,SAASG,GAAG,OAAO6E,KAAKC,MAAM9E,IAAIA,EAAEM,UAAU0E,OAAO,SAAShF,UAAU6E,KAAKC,MAAM9E,IAAIA,EAAEM,UAAU2E,MAAM,WAAWJ,KAAKC,MAAM,IAAI9E,EAAEM,UAAU4E,KAAK,SAASlF,GAAGc,EAAE+D,KAAKC,MAAM9E,GAAE,IAAKA,EAAnS,GAAwS,SAASsD,EAAEtD,EAAEE,EAAEC,EAAEC,GAAG,GAAGF,GAAGA,EAAEW,OAAO,EAAE,MAAMZ,GAAGG,EAAE,SAAS,IAAI,WAAWJ,EAAE,2BAA2B,GAAGG,GAAGA,EAAEU,OAAO,EAAE,MAAMZ,GAAGG,EAAE,SAAS,IAAI,WAAWJ,EAAE,4BAA4B,IAAIuD,EAAE,CAAC4B,IAAI,QAAQC,IAAI,OAAOC,IAAI,OAAOC,IAAI,SAASC,IAAI,SAAS,SAAS/B,EAAExD,GAAG,OAAOuD,EAAEvD,GAAG,IAAI0D,EAAE,IAAIpB,EAAE,IAAI2B,EAAE,IAAI3B,EAAE,CAACkD,KAAK,SAASxF,EAAEC,GAAG,IAAIC,EAAE,GAAGC,EAAEH,EAAEyF,OAAO,GAAG,GAAGnC,EAAE,OAAOrD,GAAE,GAAID,EAAEgD,MAAM,OAAO,IAAI1B,SAAO,SAAWrB,IAAI,SAASD,EAAEC,EAAEC,EAAEC,EAAEC,EAAEQ,GAAGT,EAAEF,EAAEC,GAAGA,GAAGwF,MAAI,SAAW5E,GAAGV,GAAGU,EAAEZ,IAAID,EAAEY,OAAO,EAAED,EAAER,GAAGJ,EAAEC,EAAEC,EAAE,EAAEC,EAAEC,EAAEQ,MAAvF,CAA8FT,EAAE,EAAEH,EAAEmD,KAAKjD,EAAED,MAAM,IAAI,IAAIG,EAAE,EAAEA,EAAED,EAAEU,OAAOT,IAAIF,GAAGF,EAAEmD,KAAKhD,EAAEC,GAAGA,GAAG,OAAOF,GAAGyF,QAAQ,SAAS3F,EAAEC,GAAG,IAAIC,EAAEF,EAAEyF,OAAO,GAAG,GAAGnC,EAAE,UAAUrD,GAAE,GAAID,EAAEgD,MAAM,OAAO,IAAI1B,SAAO,SAAWrB,IAAI,SAASD,EAAEC,EAAEC,EAAEC,EAAEC,EAAEQ,EAAEE,GAAGV,EAAEF,EAAEC,GAAGF,EAAEC,EAAEC,KAAKuF,MAAI,SAAWhE,GAAGd,GAAGc,EAAEvB,IAAID,EAAEW,OAAO,EAAEC,EAAEF,GAAGZ,EAAEC,EAAEC,EAAEC,EAAE,EAAEC,EAAEQ,EAAEE,MAAjG,CAAwGZ,EAAEK,OAAOqF,KAAK1F,GAAG,EAAEF,EAAEmD,KAAK,GAAGlD,MAAM,IAAIE,EAAE,GAAG,IAAI,IAAIC,KAAKF,EAAEU,EAAEV,EAAEE,KAAKD,GAAGH,EAAEmD,KAAK/C,EAAEF,EAAEE,KAAK,OAAOD,GAAG0F,QAAQ,SAAS7F,EAAEE,EAAEC,GAAGmD,EAAE,UAAUpD,GAAE,GAAI,IAAIE,EAAED,EAAEwE,QAAQmB,UAAUjG,IAAIG,EAAEyF,OAAO,IAAI,IAAIrF,EAAE,MAAMH,EAAE,6BAA6BD,EAAEyF,OAAO,GAAG,KAAK,OAAOrF,EAAEJ,EAAEyF,OAAO,GAAGtF,IAAI4F,QAAQ,SAAS/F,EAAEE,EAAEC,GAAG,IAAIC,EAAEJ,EAAEyF,OAAO,IAAI,GAAGrF,EAAE4F,QAAQhG,EAAEmD,OAAO,IAAI,IAAIvC,EAAE,EAAEA,EAAEV,EAAEW,OAAOD,IAAI,CAAC,IAAIE,EAAEZ,EAAEU,GAAGR,EAAEU,EAAEI,MAAMJ,EAAEqC,OAAO,IAAIzB,EAAEvB,EAAEwE,QAAQmB,UAAUjG,IAAIG,EAAEyF,OAAO,IAAI,IAAI/D,EAAE,MAAMzB,EAAE,6BAA6BD,EAAEyF,OAAO,GAAG,KAAK,OAAO/D,EAAEtB,EAAED,IAAI8F,SAAS,SAASjG,EAAEC,GAAG,OAAOqD,EAAE,WAAWrD,GAAE,GAAID,EAAEmD,KAAKnD,EAAEyF,OAAO,OAAOvB,EAAE,IAAI5B,EAAE,CAAC4D,GAAG,SAASlG,EAAEC,GAAGqD,EAAE,MAAK,EAAGtD,EAAE6B,GAAE,GAAI,IAAI3B,EAAE,MAAMF,EAAE+B,EAAE,KAAKsB,EAAErD,EAAE0C,EAAEzC,GAAG,IAAI,GAAGD,EAAEsC,EAAE,IAAI,IAAInC,EAAE,EAAEA,EAAEH,EAAEsC,EAAEzB,OAAOV,IAAI,CAAC,IAAIC,EAAEJ,EAAEsC,EAAEnC,GAAG,SAASC,EAAEF,EAAEA,GAAG,QAAQmD,EAAEjD,EAAEsC,EAAEzC,GAAG,IAAI,SAASG,EAAEF,IAAIA,GAAG,WAAWE,EAAE2B,EAAE,KAAKsB,EAAEjD,EAAEsC,EAAEzC,GAAG,KAAK,OAAOC,GAAGiG,IAAI,SAASnG,EAAEE,GAAG,GAAGoD,EAAE,OAAM,EAAGtD,EAAE6B,GAAE,IAAK7B,EAAEsC,GAAG,IAAItC,EAAEsC,EAAEzB,QAAQ,UAAUb,EAAEsC,EAAE,GAAGpC,EAAE,MAAMD,EAAE,qDAAqD,IAAIE,EAAE,OAAOkD,EAAErD,EAAE0C,EAAExC,GAAG,IAAIE,EAAEJ,EAAEsC,EAAE,GAAG,OAAOnC,EAAG,SAASC,EAAEoE,IAAI,IAAIpE,EAAEoE,IAAI,IAAI,IAAI,IAAInB,EAAEjD,EAAEsC,EAAExC,GAAG,KAAKkG,MAAM,SAASpG,EAAEC,GAAG,OAAOqD,EAAE,QAAQtD,EAAEsC,EAAEtC,EAAE6B,GAAE,GAAI,OAAO5B,EAAEqE,QAAQ,IAAItE,EAAE+B,EAAE,WAAWqB,EAAEpD,EAAE0C,EAAE,GAAGzC,GAAG,gBAAgBA,EAAEqE,QAAQ,IAAItE,EAAE+B,EAAE,QAAQsE,EAAE,IAAI/D,EAAE,CAACtC,EAAE,SAASA,GAAG,IAAIC,EAAE6D,OAAO9D,GAAG,MAAM,UAAUgC,KAAK/B,GAAGA,EAAEgC,QAAQ,WAAWuB,GAAGvD,KAAKqG,EAAE,CAAChC,QAAQ,KAAKV,SAAS,EAAC,EAAG,MAAMc,YAAW,EAAGD,eAAc,EAAGhC,KAAK,CAAC,KAAK,MAAMb,EAAE,SAAS5B,EAAEE,GAAG,GAAG,MAAMF,EAAE,CAAC,IAAIG,EAAE0E,KAAKF,QAAQ4B,QAAQ1G,IAAIK,GAAG,GAAGC,EAAE,OAAOA,EAAE,MAAMF,EAAE,sBAAsBC,EAAE,KAAK,GAAG,MAAMF,EAAE,CAAC,IAAII,EAAEyE,KAAKF,QAAQ6B,QAAQ3G,IAAIK,GAAG,GAAGE,EAAE,OAAOA,EAAE,MAAMH,EAAE,sBAAsBC,EAAE,OAAO8C,OAAM,EAAG2B,QAAQ,CAAC4B,QAAQtC,EAAEW,cAAcV,EAAEsC,QAAQH,EAAEP,UAAUpC,GAAGrB,SAAS,CAACH,EAAE,IAAII,EAAE,IAAI1B,EAAE,GAAGT,EAAE,IAAIuB,EAAE,IAAI1B,EAAE,KAAK8E,OAAM,EAAGX,QAAQ,GAAGE,SAAQ,GAAI,SAASoC,EAAEzG,EAAEC,GAAG,IAAIC,EAAE,GAAG,OAAOY,EAAEZ,EAAEoG,GAAGrG,GAAGa,EAAEZ,EAAED,GAAGD,GAAGc,EAAEZ,EAAEF,GAAGE,EAAE0B,EAAE8E,KAAKxG,GAAGA,EAAE,SAASyG,EAAE3G,EAAEE,GAAG,IAAIC,EAAEsG,EAAEvG,GAAG,IAAIU,EAAES,SAAS,GAAGlB,EAAE6C,MAAM,CAAC,IAAI5C,EAAE,MAAMH,EAAE,gDAAgDW,EAAER,EAAE,IAAI,OAAO,IAAIQ,EAAET,EAAEmE,QAAQ,IAAI,KAAK5B,EAAE1C,EAAEG,IAAI,MAAMD,GAAG,MAAMA,aAAaqB,YAAYtB,EAAE,0BAA0BC,EAAE0G,QAAQ,KAAK7F,MAAMb,EAAE0G,QAAQ/F,OAAO,GAAGG,KAAK,KAAK,KAAK0B,EAAE1C,EAAEG,IAAID,GAAG,SAAS2G,EAAE7G,EAAEC,GAAG,IAAIC,EAAE,OAAOD,EAAE6E,OAAO7E,EAAEiB,MAAMjB,EAAE0E,QAAQmB,UAAUjG,IAAII,EAAEiB,MAAMjB,EAAE0E,QAAQmB,UAAUjG,IAAII,EAAEiB,OAAOhB,EAAE,mBAAmBF,EAAEA,EAAE2G,EAAE3G,EAAEC,GAAGA,EAAE6E,OAAO7E,EAAEiB,MAAMjB,EAAE0E,QAAQmB,UAAUf,OAAO9E,EAAEiB,KAAKhB,GAAGA,GAAGoG,EAAE1E,EAAE8E,KAAKJ,GAAGtG,EAAE8G,QAAQH,EAAE3G,EAAE+G,aAAa1D,EAAErD,EAAEgH,yBAAyB5D,EAAEpD,EAAEiH,gBAAgBvE,EAAE1C,EAAEkH,cAAcZ,EAAEtG,EAAEwG,QAAQH,EAAErG,EAAEmH,UAAUV,EAAEzG,EAAEuG,QAAQtC,EAAEjE,EAAE4E,cAAcV,EAAElE,EAAEoH,MAAMlF,EAAElC,EAAEqH,OAAO,SAASrH,EAAEE,EAAEE,EAAEQ,GAAG,IAAIE,EAAE2F,EAAErG,GAAG,IAAI,IAAIU,EAAEkC,MAAM,OAAO6D,EAAE7G,EAAEc,EAAJ+F,CAAO3G,EAAEY,GAAG,IAAIF,EAAE,CAAC,GAAG,mBAAmBT,EAAE,OAAO,IAAIA,GAAC,SAAWF,EAAEE,GAAG,IAAIF,EAAE4G,EAAE7G,EAAEc,EAAJ+F,CAAO3G,EAAEY,IAAI,MAAMd,GAAGG,EAAEH,OAAO,MAAMC,EAAE,yEAAyE,IAAI4G,EAAE7G,EAAEc,EAAJ+F,CAAO3G,EAAEY,EAAEF,GAAG,MAAMZ,GAAG,OAAOY,EAAEZ,KAAKA,EAAE8F,UAAUpC,EAAEnD,OAAO+G,eAAetH,EAAE,aAAa,CAACmB,OAAM,IAA11SlB,CAAEsH,mBCGhEC,kEAENA,EAAShB,QAAQzB,OACf,aACA,CACE0C,EACAC,EAII,CAAEC,KAAM,UAAWC,MAAO,OAAQC,IAAK,cAE3C,GAAKJ,EAGL,OAFW,IAAIK,KAAqB,IAAhBC,SAASN,IAClBO,mBAAmB,QAASN,MAK3CF,EAAShB,QAAQzB,OACf,cACA,CAAC0C,EAAaQ,EAAiB,WAC7B,IAAKR,EAAK,OACV,IAAIS,EAAO,IAAIJ,KAAqB,IAAhBC,SAASN,IAI7B,OAFAA,GADAA,EAAMQ,EAAOhG,QAAQ,MAAOiG,EAAKC,UAAUC,aACjCnG,QAAQ,OAAQiG,EAAKG,WAAa,GAAGD,aACrCnG,QAAQ,MAAOiG,EAAKI,cAAcF,eAKhDZ,EAAShB,QAAQzB,OAAO,eAAgB0C,IACtC,GAAKA,EAOL,OANAA,EAAMA,EACH9G,MAAM,KACN4H,KAAKC,GACGA,EAAI3H,OAAS,EAAI2H,EAAIC,cAAgBD,IAE7CxH,KAAK,MACG0H,OAAO,GAAGD,cAAgBhB,EAAI/G,MAAM,MAGjD8G,EAAShB,QAAQzB,OAAO,WAAW,CAAC0C,EAAa5G,EAAiB,OAChE,GAAK4G,EACL,OAAIA,EAAI5G,QAAUA,EAAe4G,EAC1BA,EAAIkB,OAAO,EAAG9H,GAAU,SAGjC2G,EAAShB,QAAQzB,OAAO,aAAc0C,IACpC,GAAKA,EACL,OAAOA,EAAIxF,QAAQ,SAAU,OAG/BuF,EAAShB,QAAQzB,OACf,WACA,CAAC0C,EAAahE,EAAqB,KAAMmF,KACvC,IAAKnF,EAAO,OAAOgE,EACnB,IAAKA,EAAK,OAEV,IAAIoB,EACJ,GAAIpF,EAAMqF,SAAWF,GAAUA,EAAOG,OAAQ,CAC5C,IAAIC,EAAQvF,EAAMqF,QAAQG,MAAMC,GAAOA,EAAGH,SAAWH,EAAOG,SAC5DF,EAASG,EAAQA,EAAMH,OAAS,QACvBpF,EAAMoF,SAAQA,EAASpF,EAAMoF,QAExC,OAAKA,EACEpB,EAAI0B,MAAM,SAAW1B,EAAM2B,SAASC,SAAW,KAAOR,EAASpB,EADlDA,KAKxBD,EAAShB,QAAQzB,OACf,WACA,CAAC0C,EAAavE,EAAiBjB,IAC7BwF,EAAIxF,QAAQiB,EAAQjB,KAExBuF,EAAShB,QAAQzB,OAAO,iBAAkB0C,GACxCA,EAAIxF,QAAQ,KAAM,OAEpBuF,EAAShB,QAAQzB,OACf,cACC0C,GAAuBA,EAAIxF,QAAQ,SAAU,OAEhDuF,EAAShB,QAAQzB,OACf,cACC0C,GAAuBA,EAAIiB,OAAO,GAAGD,cAAgBhB,EAAI/G,MAAM,KAElE8G,EAAShB,QAAQzB,OACf,aACC0C,GAAuBA,EAAI6B,gBAGvB,MAAMC,EAAW/B,QC9FXgC,EAAbC,cACS5E,KAAA6E,MAAQ,GACP7E,KAAA8E,kBAAmB,EAEpB9E,KAAA+E,MAAO,EACP/E,KAAAgF,MAAQ,KAERJ,QAAQK,GACb,OAAO,IAAIxI,SAAQ,CAACyI,EAASC,KAC3BnF,KAAK6E,MAAMzG,KAAK,CACd6G,QAAAA,EACAC,QAAAA,EACAC,OAAAA,IAEFnF,KAAKoF,aAIFR,UACL,GAAI5E,KAAK8E,iBACP,OAAO,EAET,GAAI9E,KAAK+E,KAGP,OAFA/E,KAAK6E,MAAQ,QACb7E,KAAK+E,MAAO,GAGd,MAAMM,EAAOrF,KAAK6E,MAAMS,QACxB,IAAKD,EACH,OAAO,EAET,IACErF,KAAK8E,kBAAmB,EACxBO,EACGJ,UACApE,MAAMvE,IACL0D,KAAK8E,kBAAmB,EACxBO,EAAKH,QAAQ5I,GACb0D,KAAKoF,aAENG,OAAOC,IACNxF,KAAK8E,kBAAmB,EACxBO,EAAKF,OAAOK,GACZxF,KAAKoF,aAET,MAAOI,GACPxF,KAAK8E,kBAAmB,EACxBO,EAAKF,OAAOK,GACZxF,KAAKoF,UAEP,OAAO,GA/CFT,EAAAc,gBAAiB,ECH1B,MCmDMC,IAAcC,SAASC,KAAKC,iBAerBC,EAAO,MALpBlB,YAAAmB,yMAOU/F,KAAAgG,mBAAkC,GAClChG,KAAAiG,gBAA+B,GAI/BjG,KAAAkG,aAAuB,EAKvBlG,KAAAmG,kBAA+B,GAG/BnG,KAAAoG,aAAe,IAAIzB,EAOlB3E,KAAAqG,iBAAgC,GAGhCrG,KAAAsG,QAAyB,GAGzBtG,KAAAuG,cAAwB,GAExBvG,KAAAwG,YAAiCC,EAAkBC,KACnD1G,KAAA2G,WAAqB,EACrB3G,KAAA4G,cAAqB5G,KAOLA,KAAA6G,aAAuB,EAKvB7G,KAAA8G,YAAsB,EAuBvC9G,KAAA+G,YAA2B,GAOV/G,KAAAgH,gBAA0B,GAO3ChH,KAAAiH,SAAoB,KAMHjH,KAAAkH,MAAgB,GAKjClH,KAAAmH,SAAyB,MAMzBnH,KAAA2B,QAAyB,GAOzB3B,KAAAoH,UAAoB1C,EAMpB1E,KAAAqH,YAA0C3C,EAASlC,OAKnDxC,KAAAsH,aAAuB,GAMNtH,KAAAuH,aAAuB,EAKxCvH,KAAAwH,SAAmB,EAYnBxH,KAAAyH,YAA8B,UAqJ9BzH,KAAA0H,aAAevJ,UACrB,GAAK6B,KAAK2H,aAAV,CAEA,IAAK3H,KAAKkH,OAASlH,KAAKkH,MAAMlL,OAASgE,KAAKwH,SAAU,CACpD,IAAKxH,KAAKuH,YACR,OAAKvH,KAAKkH,OAA+B,IAAtBlH,KAAKkH,MAAMlL,YAGvB,OAFLgE,KAAK4H,oBAGF,GAAmB,MAAf5H,KAAKkH,MAEd,YADAlH,KAAKkH,MAAQ,KAKjBlH,KAAK2G,WAAY,EAEjBkB,YAAW1J,UAET6B,KAAK8H,kBAEC9H,KAAK+H,cAActB,EAAkBC,YAErC1G,KAAKgI,gBAEXH,YAAW,IAAQ7H,KAAK2G,WAAY,GAAQ,KAC5C3G,KAAK6G,aAAc,EACnB7G,KAAKiI,iBAAiBC,KAAKlI,KAAKmI,gBAC/B,OA2GGnI,KAAAoI,mBAAqB,KAC3B,IAAIC,EAA+B,GAEnC,MAAMC,EAAqBC,IAGzB7M,OAAO8M,OAAOD,GAAc/N,SAASiO,IACnC,GAAIA,EAAOnM,OAASmM,EAAOnM,MAAMN,OAAQ,CACvC,IAAImI,EAAQkE,EAAYjE,MACrBsE,GAAcA,EAAUrM,OAASoM,EAAOE,YAEtCxE,EAKAA,EAAMqE,OAAS,IAAIrE,EAAMqE,UAAWC,EAAOnM,OAJ9C+L,EAAYjK,KAAK,CACf/B,KAAMoM,EAAOE,UACbH,OAAQ,IAAIC,EAAOnM,cAS7B,OAHAgM,EAAkBtI,KAAKiG,iBACvBqC,EAAkBtI,KAAKgG,oBAEnBqC,EAAYrM,OAAeqM,EACxB,MAIDrI,KAAA+H,cAAgB5J,MAAOyK,GACtB5I,KAAKoG,aAAayC,SAAQ,IAAM7I,KAAK8I,YAAYF,KAIlD5I,KAAA8I,YAAc3K,MAAOyK,IAC3B,KACG5I,KAAK2H,cACL3H,KAAKkH,OACLlH,KAAK+G,aACL/G,KAAK+G,YAAYnI,OAElB,OAEFoB,KAAK+I,gBAAgBb,KAAKlI,KAAKmI,cAG3B1B,EAAkBC,OAASkC,GAAW5I,KAAKgJ,uBAE/C,IAAIC,EAAoB,CACtBtH,QAAS3B,KAAKkJ,mBACdC,KAAMnJ,KAAKmI,aAAenI,KAAKmI,aAAaiB,YAAc,GAGxDpJ,KAAK+G,YAAYpF,UACnBsH,EAAaI,OAASrJ,KAAK+G,YAAYpF,SACrC3B,KAAK+G,YAAYuC,cACnBL,EAAaK,YAActJ,KAAK+G,YAAYuC,aAE9C,IAAIvF,QAAgB/D,KAAK2H,aAAatJ,OACpC2B,KAAKkH,MACL+B,GA6CF,OA3CAlF,EAAS/D,KAAKuJ,UAAUxF,GAGxB/D,KAAKwG,YAAcoC,EAGfA,IAAcnC,EAAkBC,MAAS1G,KAAKmI,eAChDnI,KAAKmI,aAAe,CAClBiB,YAAa,EACbI,UAAWzF,EAAO0F,OAClBH,YAAa,KACbI,YAAa3F,EAAOsF,OACpBnC,MAAOlH,KAAKkH,MACZlD,OAAQhE,KAAK+G,YAAY/C,QAAU,KACnC2F,QAASjE,EACTkE,qBAAsB,EACtBC,QAAS,GACTC,WAAY,EACZC,eAAgB/J,KAAKoI,qBACrB4B,UAAWhK,KAAK+G,YAAY1K,MAAQ,KACpCuC,MAAOoB,KAAK+G,YAAYnI,QAI5BoB,KAAKmI,aAAa8B,WAAalG,EAAOsF,OACtCrJ,KAAKmI,aAAa0B,QAAU9F,EAAOmG,KACnClK,KAAKmI,aAAayB,qBAAuB7F,EAAO0F,OAChDzJ,KAAKmI,aAAaiB,YAAcrF,EAAOoF,KACvCnJ,KAAKmI,aAAa2B,WAAa/F,EAAOoG,QACtCnK,KAAKmI,aAAamB,YAAcvF,EAAOuF,YACvCtJ,KAAKmI,aAAajB,MAAQnD,EAAOmD,MAI/BlH,KAAKwG,cAAgBC,EAAkB2D,MACvCpK,KAAKwG,cAAgBC,EAAkB4D,UAEvCrK,KAAKqJ,OAAStF,EAAOsF,QAEvBrJ,KAAKsK,eAAepC,KAAKlI,KAAKmI,cAIvB,IAAI1L,SAASyI,IAClB2C,YAAW,IAAM3C,EAAQ,gBAAgB,OACxCrE,MAAK,KACNb,KAAKuK,YAAcvK,KAAKmI,aAAa0B,QACrC7J,KAAK8G,YAAc9G,KAAKmI,aAAaiB,gBAqHjCpJ,KAAAwK,kBAAqBC,IACvBA,EAAGC,SAAW1K,KAAK2K,aACvB3K,KAAKkH,MAAQlH,KAAK2K,WAAWrO,QAGvB0D,KAAA4H,kBAAoB,KAC1B5H,KAAK6G,aAAc,EACnB7G,KAAKmI,aAAe,MAGdnI,KAAA4K,gBAAkB,KACxBC,GAAU,KACR7K,KAAK8K,WAAWC,oBACd,gBACA/K,KAAK4K,iBAEF5K,KAAK6G,aAER7G,KAAKgL,WAAWC,MAAMC,QAAU,OAChClL,KAAK8K,WAAWK,UAAUC,IAAI,SAC9BpL,KAAK8K,WAAWG,MAAMI,UAAY,GAClCrL,KAAK8K,WAAWG,MAAMK,MAAQ,IALTtL,KAAK8K,WAAWG,MAAMC,QAAU,WA5e3DtG,oBAAoB+D,EAAoB4C,GACjC5C,GAAc4C,EAEjB7P,OAAOqF,KAAKf,KAAKqG,kBAAkB7L,SAASgR,IAExC7C,GACA3I,KAAKqG,iBAAiBmF,GAAU7C,YAAcA,IAI5C3I,KAAKqG,iBAAiBmF,GAAUC,QAAQnP,MAFrCiP,EAGDvL,KAAKqG,iBAAiBmF,GAAUlP,MAAMmM,QACnC9E,GAAQA,IAAQ4H,IAJ0C,OAPxCvL,KAAKgJ,uBAuBtCpE,eAAe6F,GACbA,EAAGiB,kBAKL9G,mBAAmB6F,GACjB,IAAKzK,KAAKmI,aAAc,OACxB,IAAIgB,EAAOnJ,KAAK8G,YACZ2D,IACFA,EAAGiB,kBACHvC,EAAQsB,EAAGkB,OAAiCxC,MAG9CA,EAAOyC,KAAKC,IAAI7L,KAAKmI,aAAa2B,WAAa,EAAGX,GAClDA,EAAOyC,KAAKE,IAAI3C,EAAM,GAElBnJ,KAAKmI,aAAaiB,cAAgBD,IAEtCnJ,KAAKmI,aAAaiB,YAAcD,QAC1BnJ,KAAK+H,cAActB,EAAkB2D,OAS7CxF,qBAAqB6F,GACnBA,EAAGiB,kBAEH,IAAIK,EAA4B,GAC5BtD,EAASgC,EAAGkB,OAChBlD,EAAOgD,QAAUhB,EAAGC,OAEhB1K,KAAKmI,cACHnI,KAAKgG,mBAAmByC,EAAO+C,UACjCxL,KAAKgG,mBAAmByC,EAAO+C,UAAY/C,GAE3CsD,EAAatD,EAAO+C,UAAY/C,EAChCzI,KAAKqG,iBAAgB3K,OAAAsQ,OAAAtQ,OAAAsQ,OAAA,GAAQhM,KAAKqG,kBAAqB0F,IAGzD/L,KAAKmI,aAAa4B,eAAiB/J,KAAKoI,sBACnCpI,KAAKgG,mBAAmByC,EAAO+C,UAAY/C,EAElDzI,KAAKuG,cACHkC,EAAOnM,OAASmM,EAAOnM,MAAMN,OAASyM,EAAO+C,SAAW,MAE1DxL,KAAK8H,YACL9H,KAAK+H,cAActB,EAAkBwF,QAQvCrH,wBACElJ,OAAO8M,OAAOxI,KAAKqG,kBAAkB7L,SAASiO,IACxCzI,KAAKkM,KAAKC,gBAAkB1D,EAAOgD,QAAQU,cAC7CnM,KAAKiG,gBAAgBwC,EAAO+C,UAAY/C,SAC9BzI,KAAKiG,gBAAgBwC,EAAO+C,aAK5C5G,oBAEI5E,KAAKuH,eACHvH,KAAKkH,OAASlH,KAAKkH,MAAMlL,OAASgE,KAAKwH,YAEzCxH,KAAKkH,MAAQ,KAKjBtC,gBACO5E,KAAK2K,YAEO,MAAf3K,KAAKkH,OACLlH,KAAK2K,YACL3K,KAAK2K,WAAWrO,QAAU0D,KAAKkH,QAE/BlH,KAAK2K,WAAWrO,MAAQ0D,KAAKkH,OAIjCtC,cACE5E,KAAK0H,eAkCP9C,4BAEK5E,KAAKsH,cACLtH,KAAKmI,cACNnI,KAAKmI,aAAavJ,QAAUoB,KAAKsH,eAGnCtH,KAAKmI,aAAavJ,MAAQoB,KAAKsH,aAC/BtH,KAAK2H,aAAe3H,KAAKoM,cAAcC,UAAUrM,KAAKmI,aAAavJ,OACnEoB,KAAK8H,YACL9H,KAAK+H,cAActB,EAAkB4D,UAIvCzF,aACE5E,KAAKsM,eAIP1H,yBAEK5E,KAAKgH,kBACLhH,KAAKgH,gBAAgBhL,QACrBgE,KAAK+G,aAAe/G,KAAK+G,YAAYnI,QAAUoB,KAAKgH,kBAGvDhH,KAAK+G,YAAc,CAAEnI,MAAOoB,KAAKgH,kBAKnCpC,oBACO5E,KAAKuM,OAAUvM,KAAKwM,SACzBxM,KAAKoM,cAAgBK,EAAczM,KAAKuM,MAAOvM,KAAKwM,SAItD5H,mBACO5E,KAAKoM,eAAkBpM,KAAK+G,aAC7B/G,KAAK+G,YAAYnI,QACfoB,KAAKsH,eAActH,KAAK+G,YAAYnI,MAAQoB,KAAKsH,cACrDtH,KAAKgH,gBAAkBhH,KAAK+G,YAAYnI,MACxCoB,KAAK2H,aAAe3H,KAAKoM,cAAcC,UAAUrM,KAAK+G,YAAYnI,OAClEoB,KAAK0H,gBAKT9C,cACO5E,KAAKiH,SAERY,YAAW,KACT7H,KAAK2K,WAAahF,SAAS+G,cAAc1M,KAAKiH,UAC1CjH,KAAK2K,YAAY3K,KAAK2M,qBAAoB,KAC7C,IALe3M,KAAK2M,qBAAoB,GAU/C/H,oBACO5E,KAAK8K,YAAe9K,KAAKgL,aAE1BhL,KAAK6G,aACP7G,KAAK8K,WAAWG,MAAMK,MAAQtL,KAAKkM,KAAKU,YAAc,KACtD5M,KAAK8K,WAAWG,MAAMI,UAAYrL,KAAKkM,KAAKW,aAAe,KAE3DhC,GAAU,KACR7K,KAAK8K,WAAWgC,iBAAiB,gBAAiB9M,KAAK4K,iBACvD5K,KAAK8K,WAAWG,MAAMC,QAAU,QAChCrD,YAAW,IAAM7H,KAAK8K,WAAWK,UAAUC,IAAI,SAAS,QAG1DP,GAAU,KACR7K,KAAK8K,WAAWK,UAAUhL,OAAO,SACjCH,KAAKgL,WAAWC,MAAMC,QAAU,QAChCrD,YAAW,KACT7H,KAAK8K,WAAWgC,iBACd,gBACA9M,KAAK4K,iBAEP5K,KAAK8K,WAAWK,UAAUhL,OAAO,QAE3BH,KAAK+M,aACT/M,KAAK+M,aAAaC,MAAM,CAAEC,eAAe,IACtCjN,KAAKgL,WAAWgC,MAAM,CAAEC,eAAe,MAC3C,QAODrI,UAAUiF,GAChB,OAAK7J,KAAK+G,aAAgB/G,KAAK+G,YAAY/C,QAC3C6F,EAAQK,KAAKxG,KAAKwJ,IACZA,EAAIC,MAAQD,EAAIC,IAAI7I,MAAM,WAC5B4I,EAAIC,IAAM5I,SAASC,SAAW,KAAOxE,KAAK+G,YAAY/C,OAASkJ,EAAIC,QAEhEtD,GALmDA,EA0HpDjF,YACD5E,KAAKmI,eACVnI,KAAKmI,aAAaiB,YAAc,GAG1BxE,uBACNlJ,OAAO8M,OAAOxI,KAAKqG,kBAAkB7L,SAASiO,IAC5CA,EAAOgD,QAAQnP,MAAQ,MAEzB0D,KAAKqG,iBAAmB,GAGlBzB,mBAIN,IAAIwI,EAA4D,GAEhE,MAAMC,EAAgB9E,IACpB,IAAIE,EACA6E,EAEJ5R,OAAOqF,KAAKwH,GAAc/N,SAASgR,IACjC/C,EAASF,EAAaiD,GACtB4B,EAAe5B,GAAY4B,EAAe5B,IAAa,CACrDnP,KAAMoM,EAAOE,UACb4E,GAAI,GACJC,IAAK,GACLC,IAAK,IAGPH,EAAWF,EAAe5B,GAAU/C,EAAOtB,UACvCsB,EAAOnM,OAASmM,EAAOnM,MAAMN,SAC/BoR,EAAe5B,GAAU/C,EAAOtB,UAAY,IACvCmG,KACA7E,EAAOnM,YAMlB+Q,EAAarN,KAAKiG,iBAClBoH,EAAarN,KAAKgG,oBAElB,MAAM0H,EAAY,CAACrR,EAAcsH,IAC3BA,EAAI7E,QAAQ,MAAQ,EAAUzC,EAAO,KAAOsH,EAAM,IAC1CtH,EAAO,IAAMsH,EAE3B,IACIgK,EACAC,EAFAC,EAAgC,GAkDpC,OA3CAnS,OAAO8M,OAAO4E,GAAgB5S,SAAQ,SAAUiO,GAC9C/M,OAAOqF,KAAK0H,GACTA,QAAQqF,GAAeA,EAAWxJ,MAAM,kBACxC9J,SAAS2M,IACRwG,EAAclF,EACdmF,EAAanF,EAAOpM,KAEH,OAAb8K,GAAkC,QAAbA,EACnBwG,EAAYxG,GAAUnL,QACxB6R,EAAezP,KACb,qBAEEuP,EAAYxG,GACTzD,KAAKC,IACJ,GAAIA,EAAI3H,OAAQ,OAAO0R,EAAUE,EAAYjK,MAE9CxH,KAAK,IAAMgL,EAAS4G,oBAAsB,KAC7C,oBAKFJ,EAAYF,IAAIzR,QAClB6R,EAAezP,KACb,qBAEEuP,EAAYxG,GACTzD,KAAKC,IACJ,GAAIA,EAAI3H,OACN,MAAO,OAAS0R,EAAUE,EAAYjK,MAEzCxH,KAAK,SACR,0BASd0R,EAAiB,IAAI7N,KAAK2B,WAAYkM,GAE/BA,EAAe1R,KAAK,IAAM6D,KAAKmH,SAAS4G,oBAAsB,KAG/DnJ,oBAAoBoJ,GAAiB,GAC3C,IAAKhO,KAAK2K,WAAY,OACtB,IAAIsD,EAC8C,eAAhDjO,KAAK2K,WAAWuD,QAAQC,oBACpB,aACA,SAEFH,EACFhO,KAAK2K,WAAWmC,iBAAiBmB,EAAWjO,KAAKwK,mBAC9CxK,KAAK2K,WAAWI,oBAAoBkD,EAAWjO,KAAKwK,mBA6BnD5F,sBACN,OAAO5E,KAAKoG,aAAayC,SAAQ,IAAM7I,KAAKoO,uBAGtCxJ,2BACN,IAAIyJ,EAAWrO,KAAKsO,YAActO,KAAK8K,WAEvC,IAAKuD,IAAarO,KAAKuO,IAAK,MAAO,SAEnC,IAAIC,EAAU7I,SAAS8I,cAAc,OACrCD,EAAQE,UAAY1O,KAAKuO,IAEzB,IAAII,EAAyB,GAyC7B,OAxCA3O,KAAKmG,kBAAoB,GAIzBjK,MAAM0S,KACJJ,EAAQK,iBACN,4DAEFrU,SAAQ,CAACsU,EAAI/S,KACb,IAAIgT,EAAcpJ,SAAS8I,cAAc,OACzCM,EAAYC,QAAQC,cAAgBlT,EAAEwH,WACtCwL,EAAY5D,UAAUC,IAAI,wBAC1BuD,EAAYvQ,KAAK0Q,GACjBA,EAAGI,WAAWC,aAAaJ,EAAaD,MAM1CT,EAASK,UAAY1O,KAAKqH,YACxBmH,EAAQE,UACLtR,QAAQ,SAAU,KAClBA,QAAQ,SAAU,KAClBA,QAAQ,UAAW,KACtB4C,KAAKmI,cAIPjM,MAAM0S,KAAKP,EAASQ,iBAAiB,6BAA6BrU,SAC/DsU,IACCA,EAAGI,WAAWC,aACZR,EAAYzL,SAAS4L,EAAGE,QAAQC,gBAChCH,GAEF9O,KAAKmG,kBAAkB/H,KACrBuQ,EAAYzL,SAAS4L,EAAGE,QAAQC,oBAKjCjP,KAAKmG,kBAAkBnK,OAGrB,IAAIS,SAASyI,IAClB,MAAMkK,EAAoB3E,IACxBzK,KAAKmG,kBAAoBnG,KAAKmG,kBAAkBsC,QAC7C4G,GAAQA,IAAS5E,EAAGkB,SAElB3L,KAAKmG,kBAAkBnK,SAC1B6L,YAAW,IAAM3C,EAAQ,gBAAgB,KACzCmJ,EAAStD,oBAAoB,iBAAkBqE,KAGnDf,EAASvB,iBAAiB,iBAAkBsC,MAbH3S,QAAQyI,QAAQ,iBAmB7DN,oBACE0K,GAAS,KACPtP,KAAKuP,QAAUC,EAAkBxP,KAAKkM,KAAM,qBAAqB,GACjElM,KAAKsO,WAAakB,EAAkBxP,KAAKkM,KAAM,mBAAmB,GAClElM,KAAK+M,aAAeyC,EAClBxP,KAAKkM,KACL,yBACA,GACFlM,KAAKkG,cAAgBsJ,EAAkBxP,KAAKkM,KAAM,mBAAmB,GAC/DlM,KAAKuP,UAASvP,KAAKuO,IAAMvO,KAAKuP,QAAQb,WAI1C1O,KAAK+M,eAC8C,eAAlD/M,KAAK+M,aAAamB,QAAQC,qBACzBnO,KAAK+M,wBAAwB0C,kBAE/BzP,KAAK2K,WAAa3K,KAAK+M,aACd/M,KAAK+M,eACd/M,KAAK2K,WAAa3K,KAAK+M,aAAaL,cAClC,kEAGC1M,KAAK2K,YAAc3K,KAAKiH,WAC3BjH,KAAK2K,WAAahF,SAAS+G,cAAc1M,KAAKiH,WAC5CjH,KAAK2K,YAAY3K,KAAK2M,qBAAoB,GAE9C9B,GAAU,KACJ7K,KAAK6G,aAAe7G,KAAKuO,KAAKvO,KAAK0H,qBAI3C1H,KAAK0P,wBACL1P,KAAK2P,oBACL3P,KAAK4P,mBLv0BG,SAAUhV,EAASiV,GACvB,IAAIf,EAAKgB,EAAWlV,GAChBK,EAAY,IAAIf,IAChBa,EAAW,CAAEE,UAAWA,EAAWZ,MAAOwV,GAC9C5V,EAAW8V,IAAInV,EAASG,GACxB,IAAIiV,EAAoBpV,EAAQoV,kBAChCpV,EAAQoV,kBAAoB,WACxB/V,EAAW8V,IAAInV,EAASG,GACpBiV,GACAA,EAAkBpT,KAAKhC,IAG/B,IAAIqV,EAAuBrV,EAAQqV,qBACnCrV,EAAQqV,qBAAuB,WAC3BhW,EAAWiW,OAAOtV,GACdqV,GACAA,EAAqBrT,KAAKhC,IAGlCkU,EAAGhC,iBAAiB,gBAAgB,SAAUqD,GAC1CA,EAAMzE,kBACN,IAAItR,EAAK+V,EAAMxE,OAAQyE,EAAWhW,EAAGgW,SAAUC,EAASjW,EAAGiW,OAC3D,IAAIpV,EAAUH,IAAIsV,GAAlB,CAEA,GAAwB,iBAAbA,EAAuB,CAC9B,IAAIE,EAAsBF,EAASJ,kBAAmBO,EAAyBH,EAASH,qBACxFG,EAASJ,kBAAoB,WACzB/U,EAAU8U,IAAIK,EAAUD,EAAMxE,QAC1B2E,GACAA,EAAoB1T,KAAKwT,IAGjCA,EAASH,qBAAuB,WAC5BhV,EAAUiV,OAAOE,GACbG,GACAA,EAAuB3T,KAAKwT,IAIxCnV,EAAU8U,IAAIK,EAAUD,EAAMxE,QAC9BxR,EAAegW,EAAMxE,OAAQ5Q,EAASV,OACtCgW,MAAAA,GAAgDA,EAAOnL,SAAQ,WAAcjK,EAAUiV,OAAOE,UAElGtB,EAAGhC,iBAAiB,iBAAiB,SAAUqD,GAE3ClV,EAAUiV,OADKC,EAAMxE,WK8xB7BjR,CAAgBsF,KAAMA,KAAK4G,eAEvB5G,KAAKwQ,UACPC,EAAeC,KACb1Q,KACA,CAAC,QAAS,gBACVA,KAAKyH,YACLzH,KAAKwQ,SAEPC,EAAeC,KACb1Q,KACA,CAAC,SAAU,QAAS,eACpB,UACAA,KAAKwQ,QAAU,SAGnBxQ,KAAK2Q,sBAGP/L,oBACE5E,KAAK0H,aAAekJ,EAAS5Q,KAAK0H,aAAc,KAChD1H,KAAK6Q,oBAGL7Q,KAAKkM,KAAK4E,cACR,IAAIC,YAAY,cAAe,CAC7BpF,OAAQ3L,KAAKkM,QAKnBtH,SACE,MAAMgC,EAAgB,CACpBuB,aAAcnI,KAAKmI,aACnB0B,QAAS7J,KAAKuK,YACdhE,cAAevG,KAAKuG,cACpBc,YAAarH,KAAKqH,YAClBP,YAAa9G,KAAK8G,YAClBN,YAAaxG,KAAKwG,YAClB6C,OAAQrJ,KAAKqJ,OACb1B,aAAc3H,KAAK2H,aACnBZ,YAAa/G,KAAK+G,YAClBiK,kBAAmBhR,KAAKyH,YACxBd,UAAW3G,KAAK2G,WAElB,OACEtJ,EAAC4T,EAAI,CACHC,MAAO,CACLC,eAAgBnR,KAAK6G,YACrBuK,aAAcpR,KAAK2G,WACpB0K,YACUrR,KAAK2G,WAEf3G,KAAKkG,aACJ7I,EAAA,MAAA,CAAKiU,QAAStR,KAAK2G,WACjBtJ,EAAA,OAAA,CAAMhB,KAAK,aAGb2D,KAAKkG,aACL7I,EAAA,MAAA,CACE6T,MAAO,CACLK,QAAQ,EACRC,QAASxR,KAAK2G,YAGhBtJ,EAAA,eAAA,CAAcoU,SAAS,EAAMC,KAAK,YAItCrU,EAAC3C,EAAiB,CAACL,MAAOuM,GACxBvJ,EAAA,OAAA,CAAMhB,KAAK,iBACXgB,EAAA,MAAA,CAAK6T,MAAM,oBAAmBS,YAAW,UACvCtU,EAAA,MAAA,CAAKuU,IAAMC,GAAS7R,KAAK8K,WAAa+G,EAAMX,MAAM,WAChD7T,EAAA,OAAA,CAAMhB,KAAK,cAKjBgB,EAAA,MAAA,CACEuU,IAAMC,GAAS7R,KAAKgL,WAAa6G,EACjCX,MAAM,UACNY,SAAS,MAETzU,EAAA,OAAA,ycDp6BS","sourcesContent":["import { getElement, getRenderingRef } from \"@stencil/core\";\nvar multiverse = new Map();\nvar updateConsumer = function (_a, state) {\n var fields = _a.fields, updater = _a.updater;\n fields.forEach(function (field) { updater(field, state[field]); });\n};\nexport var Universe = {\n create: function (creator, initialState) {\n var el = getElement(creator);\n var wormholes = new Map();\n var universe = { wormholes: wormholes, state: initialState };\n multiverse.set(creator, universe);\n var connectedCallback = creator.connectedCallback;\n creator.connectedCallback = function () {\n multiverse.set(creator, universe);\n if (connectedCallback) {\n connectedCallback.call(creator);\n }\n };\n var disconnectedCallback = creator.disconnectedCallback;\n creator.disconnectedCallback = function () {\n multiverse.delete(creator);\n if (disconnectedCallback) {\n disconnectedCallback.call(creator);\n }\n };\n el.addEventListener('openWormhole', function (event) {\n event.stopPropagation();\n var _a = event.detail, consumer = _a.consumer, onOpen = _a.onOpen;\n if (wormholes.has(consumer))\n return;\n if (typeof consumer !== 'symbol') {\n var connectedCallback_1 = consumer.connectedCallback, disconnectedCallback_1 = consumer.disconnectedCallback;\n consumer.connectedCallback = function () {\n wormholes.set(consumer, event.detail);\n if (connectedCallback_1) {\n connectedCallback_1.call(consumer);\n }\n };\n consumer.disconnectedCallback = function () {\n wormholes.delete(consumer);\n if (disconnectedCallback_1) {\n disconnectedCallback_1.call(consumer);\n }\n };\n }\n wormholes.set(consumer, event.detail);\n updateConsumer(event.detail, universe.state);\n onOpen === null || onOpen === void 0 ? void 0 : onOpen.resolve(function () { wormholes.delete(consumer); });\n });\n el.addEventListener('closeWormhole', function (event) {\n var consumer = event.detail;\n wormholes.delete(consumer);\n });\n },\n Provider: function (_a, children) {\n var state = _a.state;\n var creator = getRenderingRef();\n if (multiverse.has(creator)) {\n var universe = multiverse.get(creator);\n universe.state = state;\n universe.wormholes.forEach(function (opening) { updateConsumer(opening, state); });\n }\n return children;\n }\n};\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).Sqrl={})}(this,(function(e){\"use strict\";function t(e){var n,r,a=new Error(e);return n=a,r=t.prototype,Object.setPrototypeOf?Object.setPrototypeOf(n,r):n.__proto__=r,a}function n(e,n,r){var a=n.slice(0,r).split(/\\n/),i=a.length,s=a[i-1].length+1;throw t(e+=\" at line \"+i+\" col \"+s+\":\\n\\n \"+n.split(/\\n/)[i-1]+\"\\n \"+Array(s).join(\" \")+\"^\")}t.prototype=Object.create(Error.prototype,{name:{value:\"Squirrelly Error\",enumerable:!1}});var r=new Function(\"return this\")().Promise,a=!1;try{a=new Function(\"return (async function(){}).constructor\")()}catch(e){if(!(e instanceof SyntaxError))throw e}function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function s(e,t,n){for(var r in t)i(t,r)&&(null==t[r]||\"object\"!=typeof t[r]||\"storage\"!==r&&\"prefixes\"!==r||n?e[r]=t[r]:e[r]=s({},t[r]));return e}var c=/^async +/,o=/`(?:\\\\[\\s\\S]|\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\\${)[^\\\\`])*`/g,l=/'(?:\\\\[\\s\\w\"'\\\\`]|[^\\n\\r'\\\\])*?'/g,f=/\"(?:\\\\[\\s\\w\"'\\\\`]|[^\\n\\r\"\\\\])*?\"/g,u=/[.*+\\-?^${}()|[\\]\\\\]/g;function p(e){return u.test(e)?e.replace(u,\"\\\\$&\"):e}function h(e,r){r.rmWhitespace&&(e=e.replace(/[\\r\\n]+/g,\"\\n\").replace(/^\\s+|\\s+$/gm,\"\")),o.lastIndex=0,l.lastIndex=0,f.lastIndex=0;var a=r.prefixes,i=[a.h,a.b,a.i,a.r,a.c,a.e].reduce((function(e,t){return e&&t?e+\"|\"+p(t):t?p(t):e}),\"\"),s=new RegExp(\"([|()]|=>)|('|\\\"|`|\\\\/\\\\*)|\\\\s*((\\\\/)?(-|_)?\"+p(r.tags[1])+\")\",\"g\"),u=new RegExp(\"([^]*?)\"+p(r.tags[0])+\"(-|_)?\\\\s*(\"+i+\")?\\\\s*\",\"g\"),h=0,d=!1;function g(t,a){var i,p={f:[]},g=0,v=\"c\";function m(t){var a=e.slice(h,t),i=a.trim();if(\"f\"===v)\"safe\"===i?p.raw=!0:r.async&&c.test(i)?(i=i.replace(c,\"\"),p.f.push([i,\"\",!0])):p.f.push([i,\"\"]);else if(\"fp\"===v)p.f[p.f.length-1][1]+=i;else if(\"err\"===v){if(i){var s=a.search(/\\S/);n(\"invalid syntax\",e,h+s)}}else p[v]=i;h=t+1}for(\"h\"===a||\"b\"===a||\"c\"===a?v=\"n\":\"r\"===a&&(p.raw=!0,a=\"i\"),s.lastIndex=h;null!==(i=s.exec(e));){var y=i[1],x=i[2],b=i[3],w=i[4],F=i[5],S=i.index;if(y)\"(\"===y?(0===g&&(\"n\"===v?(m(S),v=\"p\"):\"f\"===v&&(m(S),v=\"fp\")),g++):\")\"===y?0===--g&&\"c\"!==v&&(m(S),v=\"err\"):0===g&&\"|\"===y?(m(S),v=\"f\"):\"=>\"===y&&(m(S),h+=1,v=\"res\");else if(x){if(\"/*\"===x){var I=e.indexOf(\"*/\",s.lastIndex);-1===I&&n(\"unclosed comment\",e,i.index),s.lastIndex=I+2}else if(\"'\"===x){l.lastIndex=i.index,l.exec(e)?s.lastIndex=l.lastIndex:n(\"unclosed string\",e,i.index)}else if('\"'===x){f.lastIndex=i.index,f.exec(e)?s.lastIndex=f.lastIndex:n(\"unclosed string\",e,i.index)}else if(\"`\"===x){o.lastIndex=i.index,o.exec(e)?s.lastIndex=o.lastIndex:n(\"unclosed string\",e,i.index)}}else if(b)return m(S),h=S+i[0].length,u.lastIndex=h,d=F,w&&\"h\"===a&&(a=\"s\"),p.t=a,p}return n(\"unclosed tag\",e,t),p}var v=function i(s,o){s.b=[],s.d=[];var l,f=!1,p=[];function v(e,t){e&&(e=function(e,t,n,r){var a,i;return\"string\"==typeof t.autoTrim?a=i=t.autoTrim:Array.isArray(t.autoTrim)&&(a=t.autoTrim[1],i=t.autoTrim[0]),(n||!1===n)&&(a=n),(r||!1===r)&&(i=r),\"slurp\"===a&&\"slurp\"===i?e.trim():(\"_\"===a||\"slurp\"===a?e=String.prototype.trimLeft?e.trimLeft():e.replace(/^[\\s\\uFEFF\\xA0]+/,\"\"):\"-\"!==a&&\"nl\"!==a||(e=e.replace(/^(?:\\n|\\r|\\r\\n)/,\"\")),\"_\"===i||\"slurp\"===i?e=String.prototype.trimRight?e.trimRight():e.replace(/[\\s\\uFEFF\\xA0]+$/,\"\"):\"-\"!==i&&\"nl\"!==i||(e=e.replace(/(?:\\n|\\r|\\r\\n)$/,\"\")),e)}(e,r,d,t))&&(e=e.replace(/\\\\|'/g,\"\\\\$&\").replace(/\\r\\n|\\n|\\r/g,\"\\\\n\"),p.push(e))}for(;null!==(l=u.exec(e));){var m,y=l[1],x=l[2],b=l[3]||\"\";for(var w in a)if(a[w]===b){m=w;break}v(y,x),h=l.index+l[0].length,m||n(\"unrecognized tag type: \"+b,e,h);var F=g(l.index,m),S=F.t;if(\"h\"===S){var I=F.n||\"\";r.async&&c.test(I)&&(F.a=!0,F.n=I.replace(c,\"\")),F=i(F),p.push(F)}else if(\"c\"===S){if(s.n===F.n)return f?(f.d=p,s.b.push(f)):s.d=p,s;n(\"Helper start and end don't match\",e,l.index+l[0].length)}else if(\"b\"===S){f?(f.d=p,s.b.push(f)):s.d=p;var R=F.n||\"\";r.async&&c.test(R)&&(F.a=!0,F.n=R.replace(c,\"\")),f=F,p=[]}else if(\"s\"===S){var T=F.n||\"\";r.async&&c.test(T)&&(F.a=!0,F.n=T.replace(c,\"\")),p.push(F)}else p.push(F)}if(!o)throw t('unclosed helper \"'+s.n+'\"');return v(e.slice(h,e.length),!1),s.d=p,s}({f:[]},!0);if(r.plugins)for(var m=0;m<r.plugins.length;m++){var y=r.plugins[m];y.processAST&&(v.d=y.processAST(v.d,r))}return v.d}function d(e,t){var n=h(e,t),r=\"var tR='';\"+(t.useWith?\"with(\"+t.varName+\"||{}){\":\"\")+x(n,t)+\"if(cb){cb(null,tR)} return tR\"+(t.useWith?\"}\":\"\");if(t.plugins)for(var a=0;a<t.plugins.length;a++){var i=t.plugins[a];i.processFnString&&(r=i.processFnString(r,t))}return r}function g(e,t){for(var n=0;n<t.length;n++){var r=t[n][0],a=t[n][1];e=(t[n][2]?\"await \":\"\")+\"c.l('F','\"+r+\"')(\"+e,a&&(e+=\",\"+a),e+=\")\"}return e}function v(e,t,n,r,a,i){var s=\"{exec:\"+(a?\"async \":\"\")+y(n,t,e)+\",params:[\"+r+\"]\";return i&&(s+=\",name:'\"+i+\"'\"),a&&(s+=\",async:true\"),s+=\"}\"}function m(e,t){for(var n=\"[\",r=0;r<e.length;r++){var a=e[r];n+=v(t,a.res||\"\",a.d,a.p||\"\",a.a,a.n),r<e.length&&(n+=\",\")}return n+=\"]\"}function y(e,t,n){return\"function(\"+t+\"){var tR='';\"+x(e,n)+\"return tR}\"}function x(e,t){for(var n=0,r=e.length,a=\"\";n<r;n++){var i=e[n];if(\"string\"==typeof i){a+=\"tR+='\"+i+\"';\"}else{var s=i.t,c=i.c||\"\",o=i.f,l=i.n||\"\",f=i.p||\"\",u=i.res||\"\",p=i.b,h=!!i.a;if(\"i\"===s){t.defaultFilter&&(c=\"c.l('F','\"+t.defaultFilter+\"')(\"+c+\")\");var d=g(c,o);!i.raw&&t.autoEscape&&(d=\"c.l('F','e')(\"+d+\")\"),a+=\"tR+=\"+d+\";\"}else if(\"h\"===s)if(t.storage.nativeHelpers.get(l))a+=t.storage.nativeHelpers.get(l)(i,t);else{var y=(h?\"await \":\"\")+\"c.l('H','\"+l+\"')(\"+v(t,u,i.d,f,h);y+=p?\",\"+m(p,t):\",[]\",a+=\"tR+=\"+g(y+=\",c)\",o)+\";\"}else\"s\"===s?a+=\"tR+=\"+g((h?\"await \":\"\")+\"c.l('H','\"+l+\"')({params:[\"+f+\"]},[],c)\",o)+\";\":\"e\"===s&&(a+=c+\"\\n\")}}return a}var b=function(){function e(e){this.cache=e}return e.prototype.define=function(e,t){this.cache[e]=t},e.prototype.get=function(e){return this.cache[e]},e.prototype.remove=function(e){delete this.cache[e]},e.prototype.reset=function(){this.cache={}},e.prototype.load=function(e){s(this.cache,e,!0)},e}();function w(e,n,r,a){if(n&&n.length>0)throw t((a?\"Native\":\"\")+\"Helper '\"+e+\"' doesn't accept blocks\");if(r&&r.length>0)throw t((a?\"Native\":\"\")+\"Helper '\"+e+\"' doesn't accept filters\")}var F={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"};function S(e){return F[e]}var I=new b({}),R=new b({each:function(e,t){var n=\"\",r=e.params[0];if(w(\"each\",t,!1),e.async)return new Promise((function(t){!function e(t,n,r,a,i){r(t[n],n).then((function(s){a+=s,n===t.length-1?i(a):e(t,n+1,r,a,i)}))}(r,0,e.exec,n,t)}));for(var a=0;a<r.length;a++)n+=e.exec(r[a],a);return n},foreach:function(e,t){var n=e.params[0];if(w(\"foreach\",t,!1),e.async)return new Promise((function(t){!function e(t,n,r,a,i,s){a(n[r],t[n[r]]).then((function(c){i+=c,r===n.length-1?s(i):e(t,n,r+1,a,i,s)}))}(n,Object.keys(n),0,e.exec,\"\",t)}));var r=\"\";for(var a in n)i(n,a)&&(r+=e.exec(a,n[a]));return r},include:function(e,n,r){w(\"include\",n,!1);var a=r.storage.templates.get(e.params[0]);if(!a)throw t('Could not fetch template \"'+e.params[0]+'\"');return a(e.params[1],r)},extends:function(e,n,r){var a=e.params[1]||{};a.content=e.exec();for(var i=0;i<n.length;i++){var s=n[i];a[s.name]=s.exec()}var c=r.storage.templates.get(e.params[0]);if(!c)throw t('Could not fetch template \"'+e.params[0]+'\"');return c(a,r)},useScope:function(e,t){return w(\"useScope\",t,!1),e.exec(e.params[0])}}),T=new b({if:function(e,t){w(\"if\",!1,e.f,!0);var n=\"if(\"+e.p+\"){\"+x(e.d,t)+\"}\";if(e.b)for(var r=0;r<e.b.length;r++){var a=e.b[r];\"else\"===a.n?n+=\"else{\"+x(a.d,t)+\"}\":\"elif\"===a.n&&(n+=\"else if(\"+a.p+\"){\"+x(a.d,t)+\"}\")}return n},try:function(e,n){if(w(\"try\",!1,e.f,!0),!e.b||1!==e.b.length||\"catch\"!==e.b[0].n)throw t(\"native helper 'try' only accepts 1 block, 'catch'\");var r=\"try{\"+x(e.d,n)+\"}\",a=e.b[0];return r+=\"catch\"+(a.res?\"(\"+a.res+\")\":\"\")+\"{\"+x(a.d,n)+\"}\"},block:function(e,t){return w(\"block\",e.b,e.f,!0),\"if(!\"+t.varName+\"[\"+e.p+\"]){tR+=(\"+y(e.d,\"\",t)+\")()}else{tR+=\"+t.varName+\"[\"+e.p+\"]}\"}}),E=new b({e:function(e){var t=String(e);return/[&<>\"']/.test(t)?t.replace(/[&<>\"']/g,S):t}}),j={varName:\"it\",autoTrim:[!1,\"nl\"],autoEscape:!0,defaultFilter:!1,tags:[\"{{\",\"}}\"],l:function(e,n){if(\"H\"===e){var r=this.storage.helpers.get(n);if(r)return r;throw t(\"Can't find helper '\"+n+\"'\")}if(\"F\"===e){var a=this.storage.filters.get(n);if(a)return a;throw t(\"Can't find filter '\"+n+\"'\")}},async:!1,storage:{helpers:R,nativeHelpers:T,filters:E,templates:I},prefixes:{h:\"@\",b:\"#\",i:\"\",r:\"*\",c:\"/\",e:\"!\"},cache:!1,plugins:[],useWith:!1};function H(e,t){var n={};return s(n,j),t&&s(n,t),e&&s(n,e),n.l.bind(n),n}function O(e,n){var r=H(n||{}),i=Function;if(r.async){if(!a)throw t(\"This environment doesn't support async/await\");i=a}try{return new i(r.varName,\"c\",\"cb\",d(e,r))}catch(n){throw n instanceof SyntaxError?t(\"Bad template syntax\\n\\n\"+n.message+\"\\n\"+Array(n.message.length+1).join(\"=\")+\"\\n\"+d(e,r)):n}}function _(e,t){var n;return t.cache&&t.name&&t.storage.templates.get(t.name)?t.storage.templates.get(t.name):(n=\"function\"==typeof e?e:O(e,t),t.cache&&t.name&&t.storage.templates.define(t.name,n),n)}j.l.bind(j),e.compile=O,e.compileScope=x,e.compileScopeIntoFunction=y,e.compileToString=d,e.defaultConfig=j,e.filters=E,e.getConfig=H,e.helpers=R,e.nativeHelpers=T,e.parse=h,e.render=function(e,n,a,i){var s=H(a||{});if(!s.async)return _(e,s)(n,s);if(!i){if(\"function\"==typeof r)return new r((function(t,r){try{t(_(e,s)(n,s))}catch(e){r(e)}}));throw t(\"Please provide a callback function, this env doesn't support Promises\")}try{_(e,s)(n,s,i)}catch(e){return i(e)}},e.templates=I,Object.defineProperty(e,\"__esModule\",{value:!0})}));\n//# sourceMappingURL=squirrelly.min.js.map\n","import { IndexResult, AlgoliaResultHit } from '../interface';\nimport * as Sqrl from 'squirrelly';\n\nconst squirrel = Sqrl;\n\nsquirrel.filters.define(\n 'date_long',\n (\n str: string,\n options: {\n year: 'numeric' | '2-digit';\n month: 'numeric' | '2-digit' | 'long';\n day: 'numeric' | '2-digit';\n } = { year: 'numeric', month: 'long', day: 'numeric' }\n ) => {\n if (!str) return;\n let date = new Date(parseInt(str) * 1000);\n str = date.toLocaleDateString('en-GB', options);\n return str;\n }\n);\n\nsquirrel.filters.define(\n 'date_short',\n (str: string, format: string = 'd/m/y') => {\n if (!str) return;\n let date = new Date(parseInt(str) * 1000);\n str = format.replace(/(d)/, date.getDate().toString());\n str = str.replace(/(m)/, (date.getMonth() + 1).toString());\n str = str.replace(/(y)/, date.getFullYear().toString());\n return str;\n }\n);\n\nsquirrel.filters.define('public_name', (str: string) => {\n if (!str) return;\n str = str\n .split('_')\n .map((val) => {\n return val.length < 3 ? val.toUpperCase() : val;\n })\n .join(' ');\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\n\nsquirrel.filters.define('trim_to', (str: string, length: number = 100) => {\n if (!str) return;\n if (str.length <= length) return str;\n return str.substr(0, length) + '...';\n});\n\nsquirrel.filters.define('classname', (str: string) => {\n if (!str) return;\n return str.replace(/[\\W]+/g, '');\n});\n\nsquirrel.filters.define(\n 'abs_url',\n (str: string, index: IndexResult = null, result?: AlgoliaResultHit) => {\n if (!index) return str;\n if (!str) return;\n\n let domain = undefined;\n if (index.domains && result && result.origin) {\n let found = index.domains.find((dm) => dm.origin === result.origin);\n domain = found ? found.domain : '';\n } else if (index.domain) domain = index.domain;\n\n if (!domain) return str;\n return str.match(/^http/) ? str : location.protocol + '//' + domain + str;\n }\n);\n\nsquirrel.filters.define(\n 'replace',\n (str: string, search?: string, replace?: string) =>\n str.replace(search, replace)\n);\nsquirrel.filters.define('remove_spaces', (str: string) =>\n str.replace(/ /g, '_')\n);\nsquirrel.filters.define(\n 'add_spaces',\n (str: string) => (str = str.replace(/[_\\-]/g, ' '))\n);\nsquirrel.filters.define(\n 'capitalise',\n (str: string) => (str = str.charAt(0).toUpperCase() + str.slice(1))\n);\nsquirrel.filters.define(\n 'lowercase',\n (str: string) => (str = str.toLowerCase())\n);\n\nexport const Squirrel = squirrel;\n","export class PromiseQueue {\n public queue = [];\n private workingOnPromise = false;\n static pendingPromise = false;\n public stop = false;\n public limit = null;\n\n public enqueue(promise: () => Promise<unknown>) {\n return new Promise((resolve, reject) => {\n this.queue.push({\n promise,\n resolve,\n reject,\n });\n this.dequeue();\n });\n }\n\n public dequeue() {\n if (this.workingOnPromise) {\n return false;\n }\n if (this.stop) {\n this.queue = [];\n this.stop = false;\n return;\n }\n const item = this.queue.shift();\n if (!item) {\n return false;\n }\n try {\n this.workingOnPromise = true;\n item\n .promise()\n .then((value) => {\n this.workingOnPromise = false;\n item.resolve(value);\n this.dequeue();\n })\n .catch((err) => {\n this.workingOnPromise = false;\n item.reject(err);\n this.dequeue();\n });\n } catch (err) {\n this.workingOnPromise = false;\n item.reject(err);\n this.dequeue();\n }\n return true;\n }\n}\n",":host {\n position: relative;\n display: block;\n\n ::slotted([slot='search-template']),\n &::slotted([slot='search-template']) {\n display: none !important;\n }\n}\n\n.loader {\n opacity: 0;\n position: fixed;\n height: 100%;\n width: 100%;\n min-height: 100%;\n max-height: 100vh !important;\n max-width: 100vw !important;\n left: 0;\n top: 0;\n z-index: -10;\n font-size: 60px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 0.2s ease, z-index 0.01s ease 0.2s;\n\n &.loading {\n opacity: 1;\n z-index: 10;\n transition: z-index 0.01s ease, opacity 0.2s ease 0.01s;\n }\n}\n\n.default {\n height: 100%;\n\n &:focus {\n outline: none;\n }\n}\n\n.results {\n opacity: 0;\n outline: none;\n overflow: auto;\n transition:\n transform 0.3s ease,\n opacity 0.3s ease,\n visibility 0.01s ease 0.3s,\n z-index 0.01s ease 0.3s;\n transform: translate(0, 100px);\n visibility: hidden;\n z-index: -1;\n position: absolute;\n top: 0;\n left: 0;\n display: none;\n\n &-container {\n position: relative;\n }\n\n &.show {\n transition:\n z-index 0.01s ease,\n visibility 0.01s ease,\n transform 0.3s ease 0.01s,\n opacity 0.3s ease 0.01s;\n transform: translate(0, 0);\n visibility: visible;\n opacity: 1;\n z-index: 10;\n overflow: hidden;\n }\n\n &.shown {\n height: auto !important;\n width: auto !important;\n display: block;\n position: static;\n transform: none;\n z-index: auto;\n visibility: inherit;\n opacity: initial;\n }\n}\n","import {\n Component,\n h,\n Element,\n Host,\n Prop,\n Watch,\n State,\n Listen,\n Method,\n EventEmitter,\n Event,\n Build,\n writeTask,\n ComponentInterface,\n readTask,\n} from '@stencil/core';\nimport {\n AlgoliaMultiResult,\n IndexResult,\n AlgoliaResultHit,\n FilterChangeEventDetail,\n PageChangeEventDetail,\n AppliedFilter,\n AlgoliaFacet,\n SearchIndex,\n} from '../../interface';\nimport { Universe, SearchChangeEvent } from './algolia-data';\nimport { debounce, getDirectChildren } from '../../utils';\nimport algoliasearch, {\n SearchClient as AlgoliaClient,\n SearchIndex as AlgoliaIndex,\n} from 'algoliasearch';\nimport { Squirrel } from '../../utils/template';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\nimport { PromiseQueue } from '../../utils/promise-queue';\n\ninterface FacetFilterQueryBlock {\n or: Array<string>;\n and: Array<string>;\n not: Array<string>;\n name: string;\n}\ninterface FacetFilter extends FilterChangeEventDetail {\n element: HTMLNanoAlgoliaFilterElement;\n}\ntype FilterGroup = { [prop: string]: FacetFilter };\n\nconst CANSHADOW = !!document.head.attachShadow;\n\n/**\n * Algolia search container to contain and sync nano-algolia-results and nano-algolia-filter components.\n * Can optionally contain nano-algolia-input components or use them as a 'resultsEmitter'\n * @slot search-input - optional. Should contain an algolia-input component.\n * @slot loader - optional. Elements to show when search results are loading.\n * @slot template - optional. Template string (format depends on 'tplEngine' property). May contain other algolia-... components with nested templates.\n * @slot output - Search result output. Will be a placeholder for template output or optionally nest algolia-... components.\n */\n@Component({\n tag: 'nano-algolia',\n shadow: true,\n styleUrl: 'algolia.scss',\n})\nexport class Algolia implements ComponentInterface {\n // filters that have an initial value\n private staticFacetFilters: FilterGroup = {};\n private dynFacetFilters: FilterGroup = {};\n private tplSlot: HTMLElement;\n private outputSlot: HTMLElement;\n private slottedInput: HTMLElement;\n private hasLoadSlot: boolean = false;\n private resultsDiv: HTMLDivElement;\n private defaultDiv: HTMLDivElement;\n private tpl: string;\n private facets: AlgoliaFacet;\n private placedAlgoliaEles: Element[] = [];\n private algoliaClient: AlgoliaClient;\n // lots of stuff happens asynchronously. This makes sure they fire in the corrent order\n private promiseQueue = new PromiseQueue();\n\n @Element() host: HTMLNanoAlgoliaElement;\n\n // Internal state\n\n // filters that change via a template. They have no initial value\n @State() _dynFacetFilters: FilterGroup = {};\n @State() inputField: HTMLNanoInputElement | HTMLInputElement;\n @State() algoliaIndex: AlgoliaIndex;\n @State() indeces: IndexResult[] = [];\n @State() resultsEmitterEle: HTMLElement;\n @State() indexResults: IndexResult;\n @State() filterChanged: string = '';\n @State() currentHits: AlgoliaResultHit[];\n @State() changeEvent: SearchChangeEvent = SearchChangeEvent.Init;\n @State() isLoading: boolean = false;\n @State() wormholeState: any = this;\n\n // Public props\n\n /**\n * Show the result panel. By default it will automatically show when the result receives new hits.\n */\n @Prop({ mutable: true }) showResults: boolean = false;\n\n /**\n * The current algolia page of results currently being viewed or to get.\n */\n @Prop({ mutable: true }) resultsPage: number = 0;\n\n /**\n * An Algolia App ID key. Used in conjunction with 'searchIndex' & 'apiKey'.\n */\n @Prop() appId: string;\n\n /**\n * An Algolia API Key. Used in conjunction with 'searchIndex' & 'appId'.\n */\n @Prop() apiKey: string;\n\n /**\n * Algolia search index. Used in conjunction with 'apiKey' & 'appId'.\n * ```\n * { index: string, // algolia index name\n * domain?: string, // used in template filters to resolve incomplete url fields\n * filters?: [string], // algolia facets to retrive\n * hitsPerPage?: number,\n * name?: string // human readable index name\n * }\n * ```\n */\n @Prop() searchIndex: SearchIndex = {} as SearchIndex;\n\n /**\n * Algolia search index name. Alternative to 'searchIndex'.\n * A simplified shortcut for setting an index.\n * Properties such as hitsPerPage and facets will come from the algolia index\n */\n @Prop({ mutable: true }) searchIndexName: string = '';\n\n /**\n * JS querSelector string of a `nano-input` / `input` element from which\n * to listen to `nano-change` or `change` events and change the `query` prop.\n * Not required if an appropriate field is in the 'search-input' slot\n */\n @Prop() listenTo?: string = null;\n\n /**\n * The query string used to search the index. Will automtically be set with any slotted\n * `search-input` input elements or from elements linked to from `listen-to`\n */\n @Prop({ mutable: true }) query: string = '';\n\n /**\n * The external operator joining filter values.\n */\n @Prop() operator: 'or' | 'and' = 'and';\n\n /**\n * Query filters to apply to all searches.\n * Refer to https://www.algolia.com/doc/api-reference/api-parameters/filters for format.\n */\n @Prop() filters: Array<string> = [];\n\n /**\n * Template engine to use when rendering results and filters.\n * Defaults to Squirrel v8 (https://squirrelly.js.org/). This gives you access\n * to the underlying squirrel object allowing you to modify it's configuration / add filters.\n */\n @Prop() tplEngine: Object = Squirrel;\n\n /**\n * Template engine render function to use when rendering results and filters.\n * Defaults to Squirrel v8's render (https://squirrelly.js.org/).\n */\n @Prop() tplRenderFn: (...args: any[]) => string = Squirrel.render;\n\n /**\n * Changes the index without removing any current filters. Most appropriate for algolia replicas.\n */\n @Prop() replicaIndex: string = '';\n\n /**\n * Will maintain a search all / '*' on init and reset allowing for a view\n * then filter experience rather than a search first experience\n */\n @Prop({ mutable: true }) browseIndex: boolean = false; // eslint-disable-line @stencil/strict-mutable\n\n /**\n * Minimum number of characters before performing a search\n */\n @Prop() minChars: number = 2;\n\n /**\n * Store search queries (against this ID) to the component store.\n * Use in conjunction with storeMethod\n */\n @Prop() storeId?: string;\n\n /**\n * The method of storage.\n * Either session storage, url hash (after the '#') or url query (after the '?').\n */\n @Prop() storeMethod: StorageMethods = 'session';\n\n // Events\n\n /**\n * Emitted when the algolia element has been created.\n */\n @Event() nanoDidLoad!: EventEmitter<HTMLNanoAlgoliaElement>;\n\n /**\n * Emitted when results and all filters are shown and have loaded.\n */\n @Event({ bubbles: false }) nanoResultsShown!: EventEmitter<IndexResult>;\n\n /**\n * Emitted before an algolia search.\n */\n @Event() nanoBeforeQuery!: EventEmitter<IndexResult>;\n\n /**\n * Emitted after an algolia search.\n */\n @Event() nanoAfterQuery!: EventEmitter<IndexResult>;\n\n // Public methods\n\n /**\n * @param facetName - will clear all filter selections of that type\n * @param facetValue - will remove a single filter selection\n * Remove facet filters (as set from nano-algolia-filter elements).\n * The omission or both will remove all facet filters\n */\n @Method()\n async removeFilters(facetName?: string, facetValue?: string) {\n if (!facetName && !facetValue) this.clearAllFacetFilters();\n else {\n Object.keys(this._dynFacetFilters).forEach((filterId) => {\n if (\n facetName &&\n this._dynFacetFilters[filterId].facetName === facetName\n ) {\n if (!facetValue) this._dynFacetFilters[filterId].element.value = '';\n else {\n this._dynFacetFilters[filterId].element.value =\n this._dynFacetFilters[filterId].value.filter(\n (val) => val !== facetValue\n );\n }\n }\n });\n }\n }\n\n // Listeners to external events\n\n // a child nano-algolia-... updated their template\n @Listen('nanoTplUpdated')\n onAllTplUpdate(ev: CustomEvent) {\n ev.stopPropagation();\n }\n\n // a nano-algolia-pagination or nano-algolia-results changed the page\n @Listen('nanoPageChanged')\n async onPageChange(ev?: CustomEvent) {\n if (!this.indexResults) return;\n let page = this.resultsPage;\n if (ev) {\n ev.stopPropagation();\n page = (ev.detail as PageChangeEventDetail).page;\n }\n\n page = Math.min(this.indexResults.totalPages - 1, page);\n page = Math.max(page, 0);\n\n if (this.indexResults.currentPage === page) return;\n\n this.indexResults.currentPage = page;\n await this.algoliaSearch(SearchChangeEvent.Page);\n }\n\n /**\n * nano-algolia-filter changed value.\n * If that happened before a indexResults were setup, it was a static filter.\n * Static filters persist accross search changes\n */\n @Listen('nanoFilterChanged')\n async onFilterChange(ev: CustomEvent) {\n ev.stopPropagation();\n\n let dynFilterObj: FilterGroup = {};\n let filter = ev.detail as FacetFilter;\n filter.element = ev.target as HTMLNanoAlgoliaFilterElement;\n\n if (this.indexResults) {\n if (this.staticFacetFilters[filter.filterId])\n this.staticFacetFilters[filter.filterId] = filter;\n else {\n dynFilterObj[filter.filterId] = filter;\n this._dynFacetFilters = { ...this._dynFacetFilters, ...dynFilterObj };\n }\n\n this.indexResults.appliedFilters = this.makeAppliedFilters();\n } else this.staticFacetFilters[filter.filterId] = filter;\n\n this.filterChanged =\n filter.value && filter.value.length ? filter.filterId : 'all';\n\n this.resetPage();\n this.algoliaSearch(SearchChangeEvent.Filter);\n }\n\n // Internal state watchers\n\n // Filters can fire a change event, cause a re-render then get detached.\n // This can cause filter dupes. Check to see if the original element is still in the DOM.\n @Watch('_dynFacetFilters')\n dynFacetFiltersChange() {\n Object.values(this._dynFacetFilters).forEach((filter) => {\n if (this.host.ownerDocument === filter.element.ownerDocument)\n this.dynFacetFilters[filter.filterId] = filter;\n else delete this.dynFacetFilters[filter.filterId];\n });\n }\n\n @Watch('browseIndex')\n browseIndexChange() {\n if (\n this.browseIndex &&\n (!this.query || this.query.length < this.minChars)\n ) {\n this.query = '*';\n }\n }\n\n @Watch('inputField')\n inputFieldSet() {\n if (!this.inputField) return;\n if (\n this.query !== '*' &&\n this.inputField &&\n this.inputField.value !== this.query\n )\n this.inputField.value = this.query;\n }\n\n @Watch('query')\n queryChange() {\n this.searchChange();\n }\n private searchChange = async () => {\n if (!this.algoliaIndex) return;\n\n if (!this.query || this.query.length < this.minChars) {\n if (!this.browseIndex) {\n if (!this.query || this.query.length === 0) {\n this.handleSearchReset();\n return;\n } else return;\n } else if (this.query !== '*') {\n this.query = '*';\n return;\n }\n }\n // Do an initialise search (setup searchIndex)\n this.isLoading = true;\n\n setTimeout(async () => {\n // Clear dynamic filters and reset page\n this.resetPage();\n\n await this.algoliaSearch(SearchChangeEvent.Init);\n // Populate master content - optionally from template\n await this.updateContent();\n\n setTimeout((_) => (this.isLoading = false), 800);\n this.showResults = true;\n this.nanoResultsShown.emit(this.indexResults);\n }, 200);\n };\n\n @Watch('replicaIndex')\n async internalIndexSwitch() {\n if (\n !this.replicaIndex ||\n !this.indexResults ||\n this.indexResults.index === this.replicaIndex\n )\n return;\n this.indexResults.index = this.replicaIndex;\n this.algoliaIndex = this.algoliaClient.initIndex(this.indexResults.index);\n this.resetPage();\n this.algoliaSearch(SearchChangeEvent.Replica);\n }\n\n @Watch('resultsPage')\n pageChange() {\n this.onPageChange();\n }\n\n @Watch('searchIndexName')\n searchIndexNameChange() {\n if (\n !this.searchIndexName ||\n !this.searchIndexName.length ||\n (this.searchIndex && this.searchIndex.index === this.searchIndexName)\n )\n return;\n this.searchIndex = { index: this.searchIndexName };\n }\n\n @Watch('apiKey')\n @Watch('appId')\n initAlgoliaClient() {\n if (!this.appId || !this.apiKey) return;\n this.algoliaClient = algoliasearch(this.appId, this.apiKey);\n }\n\n @Watch('searchIndex')\n initAlgoliaIndex() {\n if (!this.algoliaClient || !this.searchIndex) return;\n if (this.searchIndex.index) {\n if (this.replicaIndex) this.searchIndex.index = this.replicaIndex;\n this.searchIndexName = this.searchIndex.index;\n this.algoliaIndex = this.algoliaClient.initIndex(this.searchIndex.index);\n this.searchChange();\n }\n }\n\n @Watch('listenTo')\n newListenTo() {\n if (!this.listenTo) this.attachInputListener(false);\n else {\n setTimeout(() => {\n this.inputField = document.querySelector(this.listenTo);\n if (this.inputField) this.attachInputListener(true);\n }, 50);\n }\n }\n\n @Watch('showResults')\n showResultsChange() {\n if (!this.resultsDiv || !this.defaultDiv) return;\n\n if (this.showResults) {\n this.resultsDiv.style.width = this.host.scrollWidth + 'px';\n this.resultsDiv.style.minHeight = this.host.scrollHeight + 'px';\n\n writeTask(() => {\n this.resultsDiv.addEventListener('transitionend', this.onResultDisplay);\n this.resultsDiv.style.display = 'block';\n setTimeout(() => this.resultsDiv.classList.add('show'), 50);\n });\n } else {\n writeTask(() => {\n this.resultsDiv.classList.remove('shown');\n this.defaultDiv.style.display = 'block';\n setTimeout(() => {\n this.resultsDiv.addEventListener(\n 'transitionend',\n this.onResultDisplay\n );\n this.resultsDiv.classList.remove('show');\n\n if (!!this.slottedInput)\n this.slottedInput.focus({ preventScroll: true });\n else this.defaultDiv.focus({ preventScroll: true });\n }, 50);\n });\n }\n }\n\n // Internal methods\n\n private fixDomain(results: AlgoliaMultiResult) {\n if (!this.searchIndex || !this.searchIndex.domain) return results;\n results.hits.map((hit) => {\n if (hit.url && !hit.url.match(/^http/))\n hit.url = location.protocol + '//' + this.searchIndex.domain + hit.url;\n });\n return results;\n }\n\n // Takes all current filters (dynamic and static)\n // and merges common filters' values togther\n private makeAppliedFilters = (): AppliedFilter[] => {\n let appliedFtrs: AppliedFilter[] = [];\n\n const makeAppliedFilter = (facetFilters: {\n [prop: string]: FacetFilter;\n }) => {\n Object.values(facetFilters).forEach((filter) => {\n if (filter.value && filter.value.length) {\n let found = appliedFtrs.find(\n (appFilter) => appFilter.name === filter.facetName\n );\n if (!found)\n appliedFtrs.push({\n name: filter.facetName,\n values: [...filter.value],\n });\n else found.values = [...found.values, ...filter.value];\n }\n });\n };\n makeAppliedFilter(this.dynFacetFilters);\n makeAppliedFilter(this.staticFacetFilters);\n\n if (appliedFtrs.length) return appliedFtrs;\n return null;\n };\n\n // Queue up a search\n private algoliaSearch = async (eventType: SearchChangeEvent) => {\n return this.promiseQueue.enqueue(() => this.queueSearch(eventType));\n };\n\n // Do a search\n private queueSearch = async (eventType: SearchChangeEvent) => {\n if (\n !this.algoliaIndex ||\n !this.query ||\n !this.searchIndex ||\n !this.searchIndex.index\n )\n return;\n\n this.nanoBeforeQuery.emit(this.indexResults);\n\n // clear all facet filters on init (new query)\n if (SearchChangeEvent.Init === eventType) this.clearAllFacetFilters();\n\n let searchParams: any = {\n filters: this.algoliaFilterStr(),\n page: this.indexResults ? this.indexResults.currentPage : 0,\n };\n\n if (this.searchIndex.filters)\n searchParams.facets = this.searchIndex.filters;\n if (this.searchIndex.hitsPerPage)\n searchParams.hitsPerPage = this.searchIndex.hitsPerPage;\n\n let result = (await this.algoliaIndex.search(\n this.query,\n searchParams\n )) as AlgoliaMultiResult;\n result = this.fixDomain(result);\n\n // set event type - this informs children components why things changed\n this.changeEvent = eventType;\n\n // Setup initial meta on new queries. Some of it should not change on filter / pagination\n if (eventType === SearchChangeEvent.Init || !this.indexResults) {\n this.indexResults = {\n currentPage: 0,\n totalHits: result.nbHits,\n hitsPerPage: null,\n origFilters: result.facets,\n query: this.query,\n domain: this.searchIndex.domain || null,\n legacy: !CANSHADOW,\n totalHitsWithFilters: 0,\n results: [],\n totalPages: 0,\n appliedFilters: this.makeAppliedFilters(),\n indexName: this.searchIndex.name || null,\n index: this.searchIndex.index,\n };\n }\n\n this.indexResults.dynFilters = result.facets;\n this.indexResults.results = result.hits as AlgoliaResultHit[];\n this.indexResults.totalHitsWithFilters = result.nbHits;\n this.indexResults.currentPage = result.page;\n this.indexResults.totalPages = result.nbPages;\n this.indexResults.hitsPerPage = result.hitsPerPage;\n this.indexResults.query = result.query;\n // console.log('I GOT NEW RESULTS', eventType, this.query, this.algoliaFilterStr(), this.indexResults.results.length, this.indexResults.currentPage )\n\n if (\n this.changeEvent !== SearchChangeEvent.Page &&\n this.changeEvent !== SearchChangeEvent.Replica\n ) {\n this.facets = result.facets;\n }\n this.nanoAfterQuery.emit(this.indexResults);\n\n // current hits and page will cause re-renders in children components.\n // Wait a tick before firing otherwise events can fire in the wrong order\n return new Promise((resolve) => {\n setTimeout(() => resolve('tpl updated'), 20);\n }).then((_) => {\n this.currentHits = this.indexResults.results;\n this.resultsPage = this.indexResults.currentPage;\n });\n };\n\n private resetPage() {\n if (!this.indexResults) return;\n this.indexResults.currentPage = 0;\n }\n\n private clearAllFacetFilters() {\n Object.values(this._dynFacetFilters).forEach((filter) => {\n filter.element.value = '';\n });\n this._dynFacetFilters = {};\n }\n\n private algoliaFilterStr() {\n // groups applied facet filters (from algolia-filter components)\n // with their applied, 'internal' operators (and, or, not)\n\n let facetFilterObj: { [prop: string]: FacetFilterQueryBlock } = {};\n\n const groupFilters = (facetFilters: { [prop: string]: FacetFilter }) => {\n let filter: FilterChangeEventDetail;\n let filterOp: Array<string>;\n\n Object.keys(facetFilters).forEach((filterId) => {\n filter = facetFilters[filterId];\n facetFilterObj[filterId] = facetFilterObj[filterId] || {\n name: filter.facetName,\n or: [],\n and: [],\n not: [],\n };\n\n filterOp = facetFilterObj[filterId][filter.operator];\n if (filter.value && filter.value.length) {\n facetFilterObj[filterId][filter.operator] = [\n ...filterOp,\n ...filter.value,\n ];\n }\n });\n };\n\n groupFilters(this.dynFacetFilters);\n groupFilters(this.staticFacetFilters);\n\n const formatVal = (name: string, val: string) => {\n if (val.indexOf(' ') > -1) return name + ':\"' + val + '\"';\n else return name + ':' + val;\n };\n let filterStrParts: Array<string> = [];\n let operatorGrp: FacetFilterQueryBlock;\n let filterName: string;\n // let processedFilters: string[] = [];\n\n // joins all applied facet filter operator groups with the set 'outer'\n // operator into an algolia filter query string\n Object.values(facetFilterObj).forEach(function (filter) {\n Object.keys(filter)\n .filter((filterProp) => filterProp.match(/(or|and|not)/))\n .forEach((operator) => {\n operatorGrp = filter;\n filterName = filter.name;\n\n if (operator === 'or' || operator === 'and') {\n if (operatorGrp[operator].length) {\n filterStrParts.push(\n '( \\\n ' +\n operatorGrp[operator]\n .map((val) => {\n if (val.length) return formatVal(filterName, val);\n })\n .join(' ' + operator.toLocaleUpperCase() + ' ') +\n ' \\\n )'\n );\n }\n } else {\n if (operatorGrp.not.length) {\n filterStrParts.push(\n '( \\\n ' +\n operatorGrp[operator]\n .map((val) => {\n if (val.length)\n return 'NOT ' + formatVal(filterName, val);\n })\n .join(' AND ') +\n ' \\\n )'\n );\n }\n }\n });\n });\n\n // add in any static applied filters from filters prop\n filterStrParts = [...this.filters, ...filterStrParts];\n // console.log('filterStr:', filterStrParts.join(' ' + this.operator.toLocaleUpperCase() + ' '))\n return filterStrParts.join(' ' + this.operator.toLocaleUpperCase() + ' ');\n }\n\n private attachInputListener(setup: boolean = true) {\n if (!this.inputField) return;\n let eventName =\n this.inputField.tagName.toLocaleLowerCase() === 'nano-input'\n ? 'nanoChange'\n : 'change';\n\n if (setup)\n this.inputField.addEventListener(eventName, this.handleInputChange);\n else this.inputField.removeEventListener(eventName, this.handleInputChange);\n }\n\n private handleInputChange = (ev) => {\n if (ev.target !== this.inputField) return;\n this.query = this.inputField.value;\n };\n\n private handleSearchReset = () => {\n this.showResults = false;\n this.indexResults = null;\n };\n\n private onResultDisplay = () => {\n writeTask(() => {\n this.resultsDiv.removeEventListener(\n 'transitionend',\n this.onResultDisplay\n );\n if (!this.showResults) this.resultsDiv.style.display = 'none';\n else {\n this.defaultDiv.style.display = 'none';\n this.resultsDiv.classList.add('shown');\n this.resultsDiv.style.minHeight = '';\n this.resultsDiv.style.width = '';\n }\n });\n };\n\n private async updateContent() {\n return this.promiseQueue.enqueue(() => this.updateContentQueue());\n }\n\n private async updateContentQueue() {\n let outputTo = this.outputSlot || this.resultsDiv;\n\n if (!outputTo || !this.tpl) return 'no tpl';\n\n let tmpCont = document.createElement('div');\n tmpCont.innerHTML = this.tpl;\n\n let algoliaEles: Element[] = [];\n this.placedAlgoliaEles = [];\n\n // take out children algolia elements 'cos they have their own templates\n // don't want to swap in their templates\n Array.from(\n tmpCont.querySelectorAll(\n 'nano-algolia, nano-algolia-filter, nano-algolia-results'\n )\n ).forEach((el, i) => {\n let placeholder = document.createElement('div');\n placeholder.dataset.placeholderId = i.toString();\n placeholder.classList.add('nano-ele-placeholder');\n algoliaEles.push(el);\n el.parentNode.replaceChild(placeholder, el);\n });\n\n // swap in template content\n // (all this nonsense htmlencodes any < or >)\n\n outputTo.innerHTML = this.tplRenderFn(\n tmpCont.innerHTML\n .replace(/>/gm, '>')\n .replace(/</gm, '<')\n .replace(/&/gm, '&'),\n this.indexResults\n );\n\n // put back in algolia elements\n Array.from(outputTo.querySelectorAll('div.nano-ele-placeholder')).forEach(\n (el: HTMLDivElement) => {\n el.parentNode.replaceChild(\n algoliaEles[parseInt(el.dataset.placeholderId)],\n el\n );\n this.placedAlgoliaEles.push(\n algoliaEles[parseInt(el.dataset.placeholderId)]\n );\n }\n );\n\n if (!this.placedAlgoliaEles.length) return Promise.resolve('algolia setup');\n\n // wait for all children algolia elements to resolve before calling 'done'\n return new Promise((resolve) => {\n const childrenResolver = (ev: CustomEvent) => {\n this.placedAlgoliaEles = this.placedAlgoliaEles.filter(\n (ele) => ele !== (ev.detail as HTMLElement)\n );\n if (!this.placedAlgoliaEles.length) {\n setTimeout(() => resolve('tpl updated'), 500);\n outputTo.removeEventListener('nanoTplUpdated', childrenResolver);\n }\n };\n outputTo.addEventListener('nanoTplUpdated', childrenResolver);\n });\n }\n\n // Stencil hooks\n\n componentWillLoad() {\n readTask((_) => {\n this.tplSlot = getDirectChildren(this.host, '[slot=\"template\"]')[0];\n this.outputSlot = getDirectChildren(this.host, '[slot=\"output\"]')[0];\n this.slottedInput = getDirectChildren(\n this.host,\n '[slot=\"search-input\"]'\n )[0];\n this.hasLoadSlot = !!getDirectChildren(this.host, '[slot=\"loader\"]')[0];\n if (!!this.tplSlot) this.tpl = this.tplSlot.innerHTML;\n\n // get input field to listen to\n if (\n this.slottedInput &&\n (this.slottedInput.tagName.toLocaleLowerCase() === 'nano-input' ||\n this.slottedInput instanceof HTMLInputElement)\n ) {\n this.inputField = this.slottedInput as HTMLNanoInputElement;\n } else if (this.slottedInput) {\n this.inputField = this.slottedInput.querySelector(\n 'nano-input, input:not([type=\"radio\"]):not([type=\"checkbox\"])'\n );\n }\n if (!this.inputField && this.listenTo)\n this.inputField = document.querySelector(this.listenTo);\n if (this.inputField) this.attachInputListener(true);\n\n writeTask((_) => {\n if (this.showResults && this.tpl) this.searchChange();\n });\n });\n\n this.searchIndexNameChange();\n this.initAlgoliaClient();\n this.initAlgoliaIndex();\n\n // Create wormwhole shared 'universe' (https://github.com/mihar-22/stencil-wormhole)\n Universe.create(this, this.wormholeState);\n\n if (this.storeId) {\n ComponentStore.init(\n this,\n ['query', 'replicaIndex'],\n this.storeMethod,\n this.storeId\n );\n ComponentStore.init(\n this,\n ['apiKey', 'appId', 'searchIndex'],\n 'session',\n this.storeId + '_api'\n );\n }\n this.internalIndexSwitch();\n }\n\n connectedCallback() {\n this.searchChange = debounce(this.searchChange, 300);\n this.browseIndexChange();\n\n if (!Build.isBrowser) return;\n this.host.dispatchEvent(\n new CustomEvent('nanoDidLoad', {\n detail: this.host,\n })\n );\n }\n\n render() {\n const wormholeState = {\n indexResults: this.indexResults,\n results: this.currentHits,\n filterChanged: this.filterChanged,\n tplRenderFn: this.tplRenderFn,\n resultsPage: this.resultsPage,\n changeEvent: this.changeEvent,\n facets: this.facets,\n algoliaIndex: this.algoliaIndex,\n searchIndex: this.searchIndex,\n globalStoreMethod: this.storeMethod,\n isLoading: this.isLoading,\n };\n return (\n <Host\n class={{\n 'show-results': this.showResults,\n 'is-loading': this.isLoading,\n }}\n aria-busy={this.isLoading}\n >\n {this.hasLoadSlot && (\n <div hidden={!this.isLoading}>\n <slot name=\"loader\" />\n </div>\n )}\n {!this.hasLoadSlot && (\n <div\n class={{\n loader: true,\n loading: this.isLoading,\n }}\n >\n <nano-spinner overlay={true} type=\"circle\"></nano-spinner>\n </div>\n )}\n\n <Universe.Provider state={wormholeState}>\n <slot name=\"search-input\"></slot>\n <div class=\"results-container\" aria-live=\"polite\">\n <div ref={(div) => (this.resultsDiv = div)} class=\"results\">\n <slot name=\"output\" />\n </div>\n </div>\n </Universe.Provider>\n\n <div\n ref={(div) => (this.defaultDiv = div)}\n class=\"default\"\n tabindex=\"-1\"\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n"]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as t,c as i,h as s,e as h,g as e}from"./p-f55560d3.js";import{i as n}from"./p-6a284815.js";import{r as o,h as r,b as a}from"./p-c930d4f5.js";import{a as c}from"./p-a0ddf496.js";import{d as l}from"./p-0e826935.js";function d(t,i){let s=i instanceof Document?document.documentElement:i;return c(t,s)}let k=class{constructor(s){t(this,s),this.nanoStuck=i(this,"nanoStuck",7),this.nanoUnstuck=i(this,"nanoUnstuck",7),this.nanoHide=i(this,"nanoHide",7),this.nanoShow=i(this,"nanoShow",7),this.isRtl=!1,this.scrollPosCache=0,this.scrollPosThresholdCache=0,this.cacheOffset=0,this.pauseResizeWatcher=!1,this.listenForScrollParent=!1,this.positions=[],this.pauseHide=!1,this.hasBootstrapped=!1,this.isStuck=!1,this.isRootSticker=!0,this.hide=!1,this.scrollHide=!1,this.multiStickerHide=!1,this.scrollingTo=!1,this.quietModeIsOn=!1,this.stuckCounter=0,this.stickerIndex=0,this._offset=0,this.autoResize=!0,this.isSticky=!0,this.offset=0,this.position="top",this.quietMode={h:600,w:600},this.hideOnNewStickers=!0,this.breakPointMax=null,this.breakPointMin=null,this.setupParentResizeListener=()=>{this.parentSizeObserver&&(this.parentSizeObserver.disconnect(),this.parentSizeObserver=void 0),this.parentSizeObserver=new n((t=>{for(const i of t){let t,s;i.contentRect.height&&(t=i.contentRect.height),i.contentRect.width&&(s=i.contentRect.width),"object"==typeof this.quietMode&&(this.quietModeIsOn=s<this.quietMode.w||t<this.quietMode.h),this.breakPointMin&&(this.isSticky=s>this.breakPointMin),this.breakPointMax&&(this.isSticky=s<this.breakPointMax),this.isRootSticker&&this.sticker&&this.autoResize&&(this.sticker.style.width=this.host.scrollWidth+"px")}}));let t=this.scrollParent instanceof Document?this.scrollParent.documentElement:this.scrollParent;t&&this.parentSizeObserver.observe(t)},this.onStickToDisplayEvent=t=>{if(t.detail.sticker===this.stickToEle)switch(t.type){case"nanoHide":this._offset=0,this.cacheOffset=this.offset,this.offset=0,this.isStuck||this.moveTrigger(!1),!this.isRootSticker&&this.quietModeIsOn&&o((()=>{this.stickToEle.style.minHeight=this.stickToEleInitSize.height+(this.host.scrollHeight+("object"==typeof this.cacheOffset?this.cacheOffset.v:this.cacheOffset))+"px",this.stickToEle.setTriggerPos(-1*this.stickToEleInitSize.height)}));break;case"nanoShow":this._offset=this.stickToEleInitSize.height,this.offset=this.cacheOffset,this.moveTrigger(!0),!this.isRootSticker&&this.quietModeIsOn&&o((()=>{this.stickToEle.style.minHeight="",this.stickToEle.setTriggerPos(0)}));break;case"nanoStuck":this.stickToEleInitSize=this.stickToEle.getBoundingClientRect(),this._offset=this.stickToEleInitSize.height}},this.onStickEvent=async t=>{let i=t.detail?t.detail.sticker:null;if(!i||i.position!==this.position)return;const s=await i.getTriggerPos();if("nanoStuck"===t.type&&i!==this.host&&i.scrollParent===this.host.scrollParent){if(this.stickerIndex++,!this.hideOnNewStickers)return;(this.positions.includes("top")&&this.triggerPos.top<s.top||this.positions.includes("bottom")&&this.triggerPos.top>s.top)&&(this.multiStickerHide=!0,this.stuckCounter++)}if("nanoUnstuck"===t.type&&i!==this.host&&i.scrollParent===this.host.scrollParent){if(this.stickerIndex--,!this.hideOnNewStickers)return;(this.positions.includes("top")&&this.triggerPos.top<s.top||this.positions.includes("bottom")&&this.triggerPos.top>s.top)&&(this.stuckCounter--,this.stuckCounter<1&&(this.multiStickerHide=!1))}},this.onScroll=()=>{let t=(i=this.scrollParent)instanceof Document?window.pageYOffset:i.scrollTop;var i;t<this.scrollPosCache&&(this.positions.includes("bottom")?this.handleScrollAway(t):this.handleScrollTo()),t>this.scrollPosCache&&(this.positions.includes("bottom")?this.handleScrollTo():this.handleScrollAway(t)),this.scrollPosCache=t}}async isHiding(){return this.hide}async isSticking(){return this.shouldStick(),this.isStuck}async setTriggerPos(t){return this._offset=t}async getTriggerPos(){return this.triggerPos}async pauseHiding(t){return this.pauseHide=t}updateTriggerOffset(){this.trigger&&this.scrollParent&&this.listenForScrollParent&&(this.triggerPos=d(this.trigger,this.scrollParent))}stickerResizeListener(){this.contentSizeObserver&&(this.contentSizeObserver.disconnect(),this.contentSizeObserver=void 0),this.contentSizeObserver=new n((t=>{for(const i of t){if(this.pauseResizeWatcher)return;i.contentRect.height&&("top"===this.position&&(this.host.style.height=i.contentRect.height+"px"),"bottom"===this.position&&(this.host.style.minHeight=i.contentRect.height+"px"))}})),this.contentSizeObserver.observe(this.content)}quietModeChange(){"on"===this.quietMode?o((()=>this.quietModeIsOn=!0)):"off"===this.quietMode&&o((()=>this.quietModeIsOn=!1))}setOffset(){let t,i,s,h;this.trigger.setAttribute("style","");let e=this.isRootSticker||this.stickToEle?this.sticker:this.host;if(!e)return;"object"==typeof this.offset?({v:t,h:i}=this.offset):t=i=this.offset,"object"==typeof this._offset?({v:t=s,h:i=h}=this._offset):s=h=this._offset;const n=s=>{let h=s.match(/(top|bottom)/)?t:i;o(s),e.style[s]=h+"px",a()&&this.host.style.setProperty("--hide-transform-amount",h?`(110% + ${h}px)`:null)},o=e=>{let n=e.match(/(top|bottom)/)?t+s:i+h;this.trigger.style[e]=-1*n+"px",this.trigger.style.position="relative",this.trigger.style.height="1px"};(this.positions.includes("start")&&this.isRtl||this.positions.includes("end")&&!this.isRtl)&&n("right"),(this.positions.includes("end")&&this.isRtl||this.positions.includes("start")&&!this.isRtl)&&n("left"),this.positions.includes("top")&&n("top"),this.positions.includes("bottom")&&n("bottom")}positionChange(){this.positions=this.position.split("-"),this.setOffset()}async stuckChange(){if(this.isStuck)if(this.stickToEle){let t=r(this.host)?this.host.children:this.content.children;this.slottedContent=Array.from(t),this.slottedContent.forEach((t=>{r(this.host)?this.stickToEle.appendChild(t):this.stickToEle.querySelector(".sticker-content").appendChild(t),t.style.order=this.stickerIndex+""})),this.nanoStuck.emit({sticker:this.stickToEle})}else this.nanoStuck.emit({sticker:this.host});else this.scrollHide=!1,this.stickToEle?(this.slottedContent.forEach((t=>{this.host.appendChild(t),t.style.order=""})),this.nanoUnstuck.emit({sticker:this.stickToEle})):this.nanoUnstuck.emit({sticker:this.host})}attachScrollListeners(){this.quietModeIsOn?this.scrollParent.addEventListener("scroll",this.onScroll,{passive:!0,capture:!1}):(this.scrollParent.removeEventListener("scroll",this.onScroll),this.moveTrigger(!0))}handleParentEvents(t,i=null){this.listenForScrollParent&&(i&&this.manageListenersOnParent(!1,i),this.scrollParent&&this.manageListenersOnParent(!this.stickToEle))}stickToEleChange(t,i){this.stickToEle&&(this.stickToEle.addEventListener("nanoHide",this.onStickToDisplayEvent),this.stickToEle.addEventListener("nanoShow",this.onStickToDisplayEvent),this.stickToEle.addEventListener("nanoStuck",this.onStickToDisplayEvent),this.stickToEle.addEventListener("nanoUnstuck",this.onStickToDisplayEvent)),i&&(i.removeEventListener("nanoHide",this.onStickToDisplayEvent),i.removeEventListener("nanoShow",this.onStickToDisplayEvent),i.removeEventListener("nanoStuck",this.onStickToDisplayEvent),i.removeEventListener("nanoUnstuck",this.onStickToDisplayEvent))}stickToChange(){this.stickToEle=this.stickTo?this.scrollParent.querySelector(this.stickTo):void 0}visibilityDecisionHandler(){this.hide=!(!this.multiStickerHide&&!this.scrollHide)}handleHideChange(){this.hide?this.nanoHide.emit({sticker:this.host}):this.nanoShow.emit({sticker:this.host})}setupIO(){if(this.io&&(this.io.disconnect(),this.io=void 0),!this.scrollParent||!this.hasBootstrapped||!this.trigger)return;this.isRootSticker=this.scrollParent instanceof Document;let t=this.scrollParent;this.scrollParent instanceof Document&&(t=null),this.io=new window.IntersectionObserver((t=>{!this.pauseResizeWatcher&&this.isSticky&&this.shouldStick(t.slice(-1)[0])}),{root:t}),this.io.observe(this.trigger)}manageListenersOnParent(t,i){let s=i||this.scrollParent;if(s){if(t)s.addEventListener("nanoStuck",this.onStickEvent),s.addEventListener("nanoUnstuck",this.onStickEvent),this.quietModeIsOn&&this.attachScrollListeners();else try{this.quietModeIsOn&&s.removeEventListener("scroll",this.onScroll),s.removeEventListener("nanoStuck",this.onStickEvent),s.removeEventListener("nanoUnstuck",this.onStickEvent)}catch(h){console.error("Events haven`t been added")}this.setupParentResizeListener()}}handleScrollTo(){this.scrollPosThresholdCache=null,this.scrollHide&&(!0!==this.scrollingTo&&(this._offset=this.cacheOffset||this._offset),this.scrollingTo=!0,this.scrollHide=!1)}handleScrollAway(t){this.scrollHide||this.isStuck&&(!1!==this.scrollingTo&&(this.cacheOffset=this._offset,this._offset=0),this.scrollingTo=!1,this.scrollPosThresholdCache?!this.pauseHide&&Math.abs(t-this.scrollPosThresholdCache)>100&&(this.scrollHide=!0):this.scrollPosThresholdCache=t)}moveTrigger(t){this.positions.includes("bottom")&&!t||!this.positions.includes("bottom")&&t?this.host.parentNode.insertBefore(this.trigger,this.host):this.host.parentNode.insertBefore(this.trigger,this.host.nextSibling)}getScrollParent(){const t=/(auto|scroll)/,i=(t,s)=>null===t.parentNode?s:i(t.parentNode,s.concat([t])),s=(t,i)=>getComputedStyle(t,null).getPropertyValue(i),h=document.documentElement.getBoundingClientRect().height;return(e=>{if(e instanceof HTMLElement)return i(e,[]).find((i=>(i=>t.test((t=>s(t,"overflow")+s(t,"overflow-y")+s(t,"overflow-x"))(i)))(i)&&i.getBoundingClientRect().height!==h))||document})(this.host)}shouldStick(t){let i;if(this.positions.includes("top"))i=this.isRootSticker?this.trigger.getBoundingClientRect().top:d(this.trigger,this.scrollParent).top,this.isStuck=i<-1;else if(this.positions.includes("bottom")){i=this.trigger.getBoundingClientRect().top;const s=t&&t.rootBounds?t.rootBounds:(this.scrollParent instanceof Document?document.documentElement:this.scrollParent).getBoundingClientRect();this.isStuck=i>s.height+s.top}}bootstrapGurantor(){this.hasBootstrapped=!0,this.scrollParent=this.scrollParent||this.getScrollParent(),this.isRootSticker=this.scrollParent instanceof Document,this.trigger=this.trigger||document.createElement("div"),this.trigger.classList.add("sticker-trigger"),this.positionChange(),this.moveTrigger(!0),this.quietModeChange(),this.listenForScrollParent=!0,this.handleParentEvents(!0),this.stickerIndex=Array.from(this.scrollParent.querySelectorAll("nano-sticker")).filter((t=>t.position===this.position)).findIndex((t=>t===this.host)),this.setOffset(),this.stickerResizeListener(),this.setupParentResizeListener(),this.slottedContent=Array.from(this.host.children),this.slottedContent.forEach((t=>{t.style.order=this.stickerIndex+""})),this.updateTriggerOffset(),this.stickToChange(),this.setupIO(),this.onStickToDisplayEvent=l(this.onStickToDisplayEvent,50)}connectedCallback(){this.isRtl="rtl"===this.host.dir||"rtl"===this.host.ownerDocument.dir,document.documentElement.addEventListener("nanoComponentsReady",(()=>{setTimeout((()=>this.bootstrapGurantor()),200)})),setTimeout((()=>{this.hasBootstrapped||this.bootstrapGurantor()}),1e3)}disconnectedCallback(){this.io&&(this.io.disconnect(),this.io=void 0),this.parentSizeObserver&&(this.parentSizeObserver.disconnect(),this.parentSizeObserver=void 0),this.quietMode="off",this.scrollParent=null}render(){return s(h,{sticky:!this.isRootSticker&&!this.stickToEle&&this.isSticky,hide:this.hide&&this.isStuck,siblings:this.stuckCounter,index:this.stickerIndex,stuck:this.isStuck&&this.isSticky,"placed-bottom":this.positions.includes("bottom"),"placed-top":this.positions.includes("top"),"placed-end":this.positions.includes("end"),"placed-start":this.positions.includes("start")},s("div",{class:{sticker:!0,sticky:this.isRootSticker&&this.isSticky,stuck:this.isStuck&&this.isRootSticker&&this.isSticky,hide:this.isRootSticker&&this.hide&&this.isStuck},ref:t=>this.sticker=t},s("div",{class:"sticker-content",ref:t=>this.content=t},s("slot",null))))}get host(){return e(this)}static get watchers(){return{trigger:["updateTriggerOffset"],scrollParent:["updateTriggerOffset","handleParentEvents","setupIO"],position:["stickerResizeListener","positionChange"],quietMode:["quietModeChange"],offset:["setOffset"],_offset:["setOffset"],isStuck:["stuckChange"],quietModeIsOn:["attachScrollListeners"],stickToEle:["handleParentEvents","stickToEleChange"],stickTo:["stickToChange"],multiStickerHide:["visibilityDecisionHandler"],scrollHide:["visibilityDecisionHandler"],hide:["handleHideChange"]}}};k.style=':host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{--stuck-left:initial;--stuck-right:initial;--stuck-z-index:var(--nano-layer-index-menubar, 10);--top-hide:translateY(-110%);--bottom-hide:translateY(110%);display:block;max-width:100%}:host([sticky]){position:-webkit-sticky;position:sticky;-webkit-transition:0.3s ease transform;transition:0.3s ease transform;will-change:min-height}:host([sticky][stuck]){left:var(--stuck-left);right:var(--stuck-right);z-index:var(--stuck-z-index) !important}:host([sticky][hide][placed-top]){-webkit-transform:var(--top-hide);transform:var(--top-hide)}:host([sticky][hide][placed-bottom]){-webkit-transform:var(--bottom-hide);transform:var(--bottom-hide)}:host([sticky][index="1"]){z-index:calc(var(--stuck-z-index) + 1)}:host([sticky][index="2"]){z-index:calc(var(--stuck-z-index) + 2)}:host([sticky][index="3"]){z-index:calc(var(--stuck-z-index) + 3)}:host([sticky][index="4"]){z-index:calc(var(--stuck-z-index) + 4)}:host([sticky][index="5"]){z-index:calc(var(--stuck-z-index) + 5)}.sticker{display:inherit;max-width:inherit;width:100%}.sticker:not(.stuck){width:auto !important}.sticker.sticky{-webkit-transition:0.3s ease all;transition:0.3s ease all;position:relative}:host([index="1"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 1)}:host([index="2"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 2)}:host([index="3"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 3)}:host([index="4"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 4)}:host([index="5"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 5)}.sticker.stuck{position:fixed;left:var(--stuck-left);right:var(--stuck-right);z-index:var(--stuck-z-index);-webkit-transform:translateY(0);transform:translateY(0)}:host([placed-top]) .sticker.stuck{top:0}:host([placed-bottom]) .sticker.stuck{bottom:0}:host([placed-top]) .sticker.stuck.hide{-webkit-transform:var(--top-hide);transform:var(--top-hide)}:host([placed-bottom]) .sticker.stuck.hide{-webkit-transform:var(--bottom-hide);transform:var(--bottom-hide)}.sticker-content{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}';export{k as nano_sticker}
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as t,c as i,h as s,e as h,g as e}from"./p-bb0619e6.js";import{i as n}from"./p-6a284815.js";import{r as o,h as r,b as a}from"./p-ed2efbeb.js";import{a as c}from"./p-a0ddf496.js";import{d as l}from"./p-0e826935.js";function d(t,i){let s=i instanceof Document?document.documentElement:i;return c(t,s)}let k=class{constructor(s){t(this,s),this.nanoStuck=i(this,"nanoStuck",7),this.nanoUnstuck=i(this,"nanoUnstuck",7),this.nanoHide=i(this,"nanoHide",7),this.nanoShow=i(this,"nanoShow",7),this.isRtl=!1,this.scrollPosCache=0,this.scrollPosThresholdCache=0,this.cacheOffset=0,this.pauseResizeWatcher=!1,this.listenForScrollParent=!1,this.positions=[],this.pauseHide=!1,this.hasBootstrapped=!1,this.isStuck=!1,this.isRootSticker=!0,this.hide=!1,this.scrollHide=!1,this.multiStickerHide=!1,this.scrollingTo=!1,this.quietModeIsOn=!1,this.stuckCounter=0,this.stickerIndex=0,this._offset=0,this.autoResize=!0,this.isSticky=!0,this.offset=0,this.position="top",this.quietMode={h:600,w:600},this.hideOnNewStickers=!0,this.breakPointMax=null,this.breakPointMin=null,this.setupParentResizeListener=()=>{this.parentSizeObserver&&(this.parentSizeObserver.disconnect(),this.parentSizeObserver=void 0),this.parentSizeObserver=new n((t=>{for(const i of t){let t,s;i.contentRect.height&&(t=i.contentRect.height),i.contentRect.width&&(s=i.contentRect.width),"object"==typeof this.quietMode&&(this.quietModeIsOn=s<this.quietMode.w||t<this.quietMode.h),this.breakPointMin&&(this.isSticky=s>this.breakPointMin),this.breakPointMax&&(this.isSticky=s<this.breakPointMax),this.isRootSticker&&this.sticker&&this.autoResize&&(this.sticker.style.width=this.host.scrollWidth+"px")}}));let t=this.scrollParent instanceof Document?this.scrollParent.documentElement:this.scrollParent;t&&this.parentSizeObserver.observe(t)},this.onStickToDisplayEvent=t=>{if(t.detail.sticker===this.stickToEle)switch(t.type){case"nanoHide":this._offset=0,this.cacheOffset=this.offset,this.offset=0,this.isStuck||this.moveTrigger(!1),!this.isRootSticker&&this.quietModeIsOn&&o((()=>{this.stickToEle.style.minHeight=this.stickToEleInitSize.height+(this.host.scrollHeight+("object"==typeof this.cacheOffset?this.cacheOffset.v:this.cacheOffset))+"px",this.stickToEle.setTriggerPos(-1*this.stickToEleInitSize.height)}));break;case"nanoShow":this._offset=this.stickToEleInitSize.height,this.offset=this.cacheOffset,this.moveTrigger(!0),!this.isRootSticker&&this.quietModeIsOn&&o((()=>{this.stickToEle.style.minHeight="",this.stickToEle.setTriggerPos(0)}));break;case"nanoStuck":this.stickToEleInitSize=this.stickToEle.getBoundingClientRect(),this._offset=this.stickToEleInitSize.height}},this.onStickEvent=async t=>{let i=t.detail?t.detail.sticker:null;if(!i||i.position!==this.position)return;const s=await i.getTriggerPos();if("nanoStuck"===t.type&&i!==this.host&&i.scrollParent===this.host.scrollParent){if(this.stickerIndex++,!this.hideOnNewStickers)return;(this.positions.includes("top")&&this.triggerPos.top<s.top||this.positions.includes("bottom")&&this.triggerPos.top>s.top)&&(this.multiStickerHide=!0,this.stuckCounter++)}if("nanoUnstuck"===t.type&&i!==this.host&&i.scrollParent===this.host.scrollParent){if(this.stickerIndex--,!this.hideOnNewStickers)return;(this.positions.includes("top")&&this.triggerPos.top<s.top||this.positions.includes("bottom")&&this.triggerPos.top>s.top)&&(this.stuckCounter--,this.stuckCounter<1&&(this.multiStickerHide=!1))}},this.onScroll=()=>{let t=(i=this.scrollParent)instanceof Document?window.pageYOffset:i.scrollTop;var i;t<this.scrollPosCache&&(this.positions.includes("bottom")?this.handleScrollAway(t):this.handleScrollTo()),t>this.scrollPosCache&&(this.positions.includes("bottom")?this.handleScrollTo():this.handleScrollAway(t)),this.scrollPosCache=t}}async isHiding(){return this.hide}async isSticking(){return this.shouldStick(),this.isStuck}async setTriggerPos(t){return this._offset=t}async getTriggerPos(){return this.triggerPos}async pauseHiding(t){return this.pauseHide=t}updateTriggerOffset(){this.trigger&&this.scrollParent&&this.listenForScrollParent&&(this.triggerPos=d(this.trigger,this.scrollParent))}stickerResizeListener(){this.contentSizeObserver&&(this.contentSizeObserver.disconnect(),this.contentSizeObserver=void 0),this.contentSizeObserver=new n((t=>{for(const i of t){if(this.pauseResizeWatcher)return;i.contentRect.height&&("top"===this.position&&(this.host.style.height=i.contentRect.height+"px"),"bottom"===this.position&&(this.host.style.minHeight=i.contentRect.height+"px"))}})),this.contentSizeObserver.observe(this.content)}quietModeChange(){"on"===this.quietMode?o((()=>this.quietModeIsOn=!0)):"off"===this.quietMode&&o((()=>this.quietModeIsOn=!1))}setOffset(){let t,i,s,h;this.trigger.setAttribute("style","");let e=this.isRootSticker||this.stickToEle?this.sticker:this.host;if(!e)return;"object"==typeof this.offset?({v:t,h:i}=this.offset):t=i=this.offset,"object"==typeof this._offset?({v:t=s,h:i=h}=this._offset):s=h=this._offset;const n=s=>{let h=s.match(/(top|bottom)/)?t:i;o(s),e.style[s]=h+"px",a()&&this.host.style.setProperty("--hide-transform-amount",h?`(110% + ${h}px)`:null)},o=e=>{let n=e.match(/(top|bottom)/)?t+s:i+h;this.trigger.style[e]=-1*n+"px",this.trigger.style.position="relative",this.trigger.style.height="1px"};(this.positions.includes("start")&&this.isRtl||this.positions.includes("end")&&!this.isRtl)&&n("right"),(this.positions.includes("end")&&this.isRtl||this.positions.includes("start")&&!this.isRtl)&&n("left"),this.positions.includes("top")&&n("top"),this.positions.includes("bottom")&&n("bottom")}positionChange(){this.positions=this.position.split("-"),this.setOffset()}async stuckChange(){if(this.isStuck)if(this.stickToEle){let t=r(this.host)?this.host.children:this.content.children;this.slottedContent=Array.from(t),this.slottedContent.forEach((t=>{r(this.host)?this.stickToEle.appendChild(t):this.stickToEle.querySelector(".sticker-content").appendChild(t),t.style.order=this.stickerIndex+""})),this.nanoStuck.emit({sticker:this.stickToEle})}else this.nanoStuck.emit({sticker:this.host});else this.scrollHide=!1,this.stickToEle?(this.slottedContent.forEach((t=>{this.host.appendChild(t),t.style.order=""})),this.nanoUnstuck.emit({sticker:this.stickToEle})):this.nanoUnstuck.emit({sticker:this.host})}attachScrollListeners(){this.quietModeIsOn?this.scrollParent.addEventListener("scroll",this.onScroll,{passive:!0,capture:!1}):(this.scrollParent.removeEventListener("scroll",this.onScroll),this.moveTrigger(!0))}handleParentEvents(t,i=null){this.listenForScrollParent&&(i&&this.manageListenersOnParent(!1,i),this.scrollParent&&this.manageListenersOnParent(!this.stickToEle))}stickToEleChange(t,i){this.stickToEle&&(this.stickToEle.addEventListener("nanoHide",this.onStickToDisplayEvent),this.stickToEle.addEventListener("nanoShow",this.onStickToDisplayEvent),this.stickToEle.addEventListener("nanoStuck",this.onStickToDisplayEvent),this.stickToEle.addEventListener("nanoUnstuck",this.onStickToDisplayEvent)),i&&(i.removeEventListener("nanoHide",this.onStickToDisplayEvent),i.removeEventListener("nanoShow",this.onStickToDisplayEvent),i.removeEventListener("nanoStuck",this.onStickToDisplayEvent),i.removeEventListener("nanoUnstuck",this.onStickToDisplayEvent))}stickToChange(){this.stickToEle=this.stickTo?this.scrollParent.querySelector(this.stickTo):void 0}visibilityDecisionHandler(){this.hide=!(!this.multiStickerHide&&!this.scrollHide)}handleHideChange(){this.hide?this.nanoHide.emit({sticker:this.host}):this.nanoShow.emit({sticker:this.host})}setupIO(){if(this.io&&(this.io.disconnect(),this.io=void 0),!this.scrollParent||!this.hasBootstrapped||!this.trigger)return;this.isRootSticker=this.scrollParent instanceof Document;let t=this.scrollParent;this.scrollParent instanceof Document&&(t=null),this.io=new window.IntersectionObserver((t=>{!this.pauseResizeWatcher&&this.isSticky&&this.shouldStick(t.slice(-1)[0])}),{root:t}),this.io.observe(this.trigger)}manageListenersOnParent(t,i){let s=i||this.scrollParent;if(s){if(t)s.addEventListener("nanoStuck",this.onStickEvent),s.addEventListener("nanoUnstuck",this.onStickEvent),this.quietModeIsOn&&this.attachScrollListeners();else try{this.quietModeIsOn&&s.removeEventListener("scroll",this.onScroll),s.removeEventListener("nanoStuck",this.onStickEvent),s.removeEventListener("nanoUnstuck",this.onStickEvent)}catch(h){console.error("Events haven`t been added")}this.setupParentResizeListener()}}handleScrollTo(){this.scrollPosThresholdCache=null,this.scrollHide&&(!0!==this.scrollingTo&&(this._offset=this.cacheOffset||this._offset),this.scrollingTo=!0,this.scrollHide=!1)}handleScrollAway(t){this.scrollHide||this.isStuck&&(!1!==this.scrollingTo&&(this.cacheOffset=this._offset,this._offset=0),this.scrollingTo=!1,this.scrollPosThresholdCache?!this.pauseHide&&Math.abs(t-this.scrollPosThresholdCache)>100&&(this.scrollHide=!0):this.scrollPosThresholdCache=t)}moveTrigger(t){this.positions.includes("bottom")&&!t||!this.positions.includes("bottom")&&t?this.host.parentNode.insertBefore(this.trigger,this.host):this.host.parentNode.insertBefore(this.trigger,this.host.nextSibling)}getScrollParent(){const t=/(auto|scroll)/,i=(t,s)=>null===t.parentNode?s:i(t.parentNode,s.concat([t])),s=(t,i)=>getComputedStyle(t,null).getPropertyValue(i),h=document.documentElement.getBoundingClientRect().height;return(e=>{if(e instanceof HTMLElement)return i(e,[]).find((i=>(i=>t.test((t=>s(t,"overflow")+s(t,"overflow-y")+s(t,"overflow-x"))(i)))(i)&&i.getBoundingClientRect().height!==h))||document})(this.host)}shouldStick(t){let i;if(this.positions.includes("top"))i=this.isRootSticker?this.trigger.getBoundingClientRect().top:d(this.trigger,this.scrollParent).top,this.isStuck=i<-1;else if(this.positions.includes("bottom")){i=this.trigger.getBoundingClientRect().top;const s=t&&t.rootBounds?t.rootBounds:(this.scrollParent instanceof Document?document.documentElement:this.scrollParent).getBoundingClientRect();this.isStuck=i>s.height+s.top}}bootstrapGurantor(){this.hasBootstrapped=!0,this.scrollParent=this.scrollParent||this.getScrollParent(),this.isRootSticker=this.scrollParent instanceof Document,this.trigger=this.trigger||document.createElement("div"),this.trigger.classList.add("sticker-trigger"),this.positionChange(),this.moveTrigger(!0),this.quietModeChange(),this.listenForScrollParent=!0,this.handleParentEvents(!0),this.stickerIndex=Array.from(this.scrollParent.querySelectorAll("nano-sticker")).filter((t=>t.position===this.position)).findIndex((t=>t===this.host)),this.setOffset(),this.stickerResizeListener(),this.setupParentResizeListener(),this.slottedContent=Array.from(this.host.children),this.slottedContent.forEach((t=>{t.style.order=this.stickerIndex+""})),this.updateTriggerOffset(),this.stickToChange(),this.setupIO(),this.onStickToDisplayEvent=l(this.onStickToDisplayEvent,50)}connectedCallback(){this.isRtl="rtl"===this.host.dir||"rtl"===this.host.ownerDocument.dir,document.documentElement.addEventListener("nanoComponentsReady",(()=>{setTimeout((()=>this.bootstrapGurantor()),200)})),setTimeout((()=>{this.hasBootstrapped||this.bootstrapGurantor()}),1e3)}disconnectedCallback(){this.io&&(this.io.disconnect(),this.io=void 0),this.parentSizeObserver&&(this.parentSizeObserver.disconnect(),this.parentSizeObserver=void 0),this.quietMode="off",this.scrollParent=null}render(){return s(h,{sticky:!this.isRootSticker&&!this.stickToEle&&this.isSticky,hide:this.hide&&this.isStuck,siblings:this.stuckCounter,index:this.stickerIndex,stuck:this.isStuck&&this.isSticky,"placed-bottom":this.positions.includes("bottom"),"placed-top":this.positions.includes("top"),"placed-end":this.positions.includes("end"),"placed-start":this.positions.includes("start")},s("div",{class:{sticker:!0,sticky:this.isRootSticker&&this.isSticky,stuck:this.isStuck&&this.isRootSticker&&this.isSticky,hide:this.isRootSticker&&this.hide&&this.isStuck},ref:t=>this.sticker=t},s("div",{class:"sticker-content",ref:t=>this.content=t},s("slot",null))))}get host(){return e(this)}static get watchers(){return{trigger:["updateTriggerOffset"],scrollParent:["updateTriggerOffset","handleParentEvents","setupIO"],position:["stickerResizeListener","positionChange"],quietMode:["quietModeChange"],offset:["setOffset"],_offset:["setOffset"],isStuck:["stuckChange"],quietModeIsOn:["attachScrollListeners"],stickToEle:["handleParentEvents","stickToEleChange"],stickTo:["stickToChange"],multiStickerHide:["visibilityDecisionHandler"],scrollHide:["visibilityDecisionHandler"],hide:["handleHideChange"]}}};k.style=':host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{--stuck-left:initial;--stuck-right:initial;--stuck-z-index:var(--nano-layer-index-menubar, 10);--top-hide:translateY(-110%);--bottom-hide:translateY(110%);display:block;max-width:100%}:host([sticky]){position:-webkit-sticky;position:sticky;-webkit-transition:0.3s ease transform;transition:0.3s ease transform;will-change:min-height}:host([sticky][stuck]){left:var(--stuck-left);right:var(--stuck-right);z-index:var(--stuck-z-index) !important}:host([sticky][hide][placed-top]){-webkit-transform:var(--top-hide);transform:var(--top-hide)}:host([sticky][hide][placed-bottom]){-webkit-transform:var(--bottom-hide);transform:var(--bottom-hide)}:host([sticky][index="1"]){z-index:calc(var(--stuck-z-index) + 1)}:host([sticky][index="2"]){z-index:calc(var(--stuck-z-index) + 2)}:host([sticky][index="3"]){z-index:calc(var(--stuck-z-index) + 3)}:host([sticky][index="4"]){z-index:calc(var(--stuck-z-index) + 4)}:host([sticky][index="5"]){z-index:calc(var(--stuck-z-index) + 5)}.sticker{display:inherit;max-width:inherit;width:100%}.sticker:not(.stuck){width:auto !important}.sticker.sticky{-webkit-transition:0.3s ease all;transition:0.3s ease all;position:relative}:host([index="1"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 1)}:host([index="2"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 2)}:host([index="3"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 3)}:host([index="4"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 4)}:host([index="5"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 5)}.sticker.stuck{position:fixed;left:var(--stuck-left);right:var(--stuck-right);z-index:var(--stuck-z-index);-webkit-transform:translateY(0);transform:translateY(0)}:host([placed-top]) .sticker.stuck{top:0}:host([placed-bottom]) .sticker.stuck{bottom:0}:host([placed-top]) .sticker.stuck.hide{-webkit-transform:var(--top-hide);transform:var(--top-hide)}:host([placed-bottom]) .sticker.stuck.hide{-webkit-transform:var(--bottom-hide);transform:var(--bottom-hide)}.sticker-content{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}';export{k as nano_sticker}
|
2
|
+
//# sourceMappingURL=p-580eac05.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["src/components/sticky/sticker.tsx","src/components/sticky/sticker.scss?tag=nano-sticker&encapsulation=shadow"],"names":["_getOffset","ele","parent","parentEle","Document","document","documentElement","getOffset","Sticker","[object Object]","hostRef","this","isRtl","scrollPosCache","scrollPosThresholdCache","cacheOffset","pauseResizeWatcher","listenForScrollParent","positions","pauseHide","hasBootstrapped","isStuck","isRootSticker","hide","scrollHide","multiStickerHide","scrollingTo","quietModeIsOn","stuckCounter","stickerIndex","_offset","autoResize","isSticky","offset","position","quietMode","h","w","hideOnNewStickers","breakPointMax","breakPointMin","setupParentResizeListener","parentSizeObserver","disconnect","undefined","ResizeObserver","entries","entry","height","width","contentRect","sticker","style","host","scrollWidth","toWatch","scrollParent","observe","onStickToDisplayEvent","e","detail","stickToEle","type","moveTrigger","raf","minHeight","stickToEleInitSize","scrollHeight","v","setTriggerPos","getBoundingClientRect","onStickEvent","async","incomingTriggerPos","getTriggerPos","includes","triggerPos","top","onScroll","y","window","pageYOffset","scrollTop","handleScrollAway","handleScrollTo","shouldStick","pause","trigger","contentSizeObserver","content","_v","_h","setAttribute","setPos","pos","u","match","setTriggetPos","browserCanUseCssVariables","setProperty","split","setOffset","hasShadowDom","children","slottedContent","Array","from","forEach","child","appendChild","querySelector","order","nanoStuck","emit","nanoUnstuck","addEventListener","passive","capture","removeEventListener","_","oldParent","manageListenersOnParent","oldEle","stickTo","nanoHide","nanoShow","io","root","IntersectionObserver","slice","addEvents","attachScrollListeners","console","error","currScroll","Math","abs","toInitial","parentNode","insertBefore","nextSibling","regex","parents","_node","ps","concat","prop","getComputedStyle","getPropertyValue","docHeight","HTMLElement","find","test","overflow","scroll","data","scrollAmt","parentBounding","rootBounds","getScrollParent","createElement","classList","add","positionChange","quietModeChange","handleParentEvents","querySelectorAll","filter","findIndex","stickerResizeListener","updateTriggerOffset","stickToChange","setupIO","debounce","dir","ownerDocument","setTimeout","bootstrapGurantor","Host","sticky","siblings","index","stuck","placed-bottom","placed-top","placed-end","placed-start","class","ref","div"],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n h,\n Host,\n Prop,\n State,\n Watch,\n Element,\n Event,\n EventEmitter,\n Method,\n} from '@stencil/core';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport {\n browserCanUseCssVariables,\n debounce,\n getOffset,\n hasShadowDom,\n raf,\n} from '../../utils';\n\nfunction _getScrollTop(ele: HTMLElement | Document) {\n return ele instanceof Document ? window.pageYOffset : ele.scrollTop;\n}\n\nfunction _getOffset(ele: HTMLElement, parent: HTMLElement | Document) {\n let parentEle =\n parent instanceof Document ? document.documentElement : parent;\n return getOffset(ele, parentEle);\n}\n\ntype Positions = 'top' | 'bottom' | 'start' | 'end';\n\n/**\n * The Sticker component is a toolbox for 'sticking' items to scrolling containers.\n *\n */\n@Component({\n tag: 'nano-sticker',\n styleUrl: 'sticker.scss',\n shadow: true,\n})\nexport class Sticker implements ComponentInterface {\n private isRtl: boolean = false;\n private io: IntersectionObserver;\n private contentSizeObserver: ResizeObserver;\n private parentSizeObserver: ResizeObserver;\n private sticker: HTMLDivElement;\n private content: HTMLDivElement;\n private scrollPosCache = 0;\n private scrollPosThresholdCache = 0;\n private cacheOffset: number | { v: number; h: number } = 0;\n private slottedContent: Element[];\n private pauseResizeWatcher = false;\n private listenForScrollParent = false;\n private stickToEleInitSize?: DOMRect;\n private positions: Positions[] = [];\n private pauseHide: boolean = false;\n private hasBootstrapped = false;\n\n @Element() host: HTMLNanoStickerElement;\n\n // Internal State\n\n @State() isStuck = false;\n @State() isRootSticker = true;\n @State() hide = false;\n @State() scrollHide = false;\n @State() multiStickerHide = false;\n @State() scrollingTo = false;\n @State() quietModeIsOn = false;\n @State() stuckCounter = 0;\n @State() stickerIndex = 0;\n @State() stickToEle?: HTMLNanoStickerElement;\n @State() triggerPos: { top: number; left: number };\n @State() trigger: HTMLDivElement;\n @State() _offset: number | { v: number; h: number } = 0;\n\n // Public API\n\n /** Only applicable to root stickers. When applied the sticker will grow or shrink to the scrollParent size */\n @Prop() autoResize = true;\n\n /** Manually enable / disabled sticky behaviour */\n @Prop({ mutable: true }) isSticky = true;\n\n /** Distance the item should be stuck from the sticky edge. */\n @Prop({ mutable: true }) offset: number | { v: number; h: number } = 0;\n\n /** The edge of the scroll-parent to stick to */\n @Prop() position: 'top' | 'bottom' = 'top';\n // other opts I'd like one day. 'start' | 'end' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end'\n\n /** When applied, the sticker will hide when the scroll-parent\n * is scrolling away from the sticker's stuck position and show when scrolling toward it.\n * By default this will apply when the parent is below either the h or w dimensions */\n @Prop() quietMode: 'on' | 'off' | { h: number; w: number } = {\n h: 600,\n w: 600,\n };\n\n /** When applied stickers will hide upon new stickers being stuck to the same position */\n @Prop() hideOnNewStickers = true;\n\n /** The max width of the item to implement sticky behaviour. */\n @Prop() breakPointMax: null | number = null;\n\n /** The min width of the item to implement sticky behaviour. */\n @Prop() breakPointMin: null | number = null;\n\n /** Define which scroll element to listen & stick to.\n * By default, it will find traverse the DOM to find the closest. */\n @Prop({ mutable: true }) scrollParent?: HTMLElement | Document;\n\n /** Upon being stuck, attach the sticker to another sticker element.\n * A JS query selector that returns a <nano-sticker> */\n @Prop() stickTo: string;\n\n // Broadcasted Events\n\n /** Emitted when a sticker is stuck */\n @Event() nanoStuck!: EventEmitter<{ sticker: HTMLNanoStickerElement }>;\n\n /** Emitted when a sticker is unstuck */\n @Event() nanoUnstuck!: EventEmitter<{ sticker: HTMLNanoStickerElement }>;\n\n /** Emitted when a sticker is hidden */\n @Event() nanoHide!: EventEmitter<{ sticker: HTMLNanoStickerElement }>;\n\n /** Emitted when a sticker is showing */\n @Event() nanoShow!: EventEmitter<{ sticker: HTMLNanoStickerElement }>;\n\n // Public methods\n\n /**\n * Method to return the visibility status of the sticker\n * @returns boolean\n */\n @Method()\n async isHiding() {\n return this.hide;\n }\n\n /**\n * Method to return the stuck status of the sticker\n * @returns boolean\n */\n @Method()\n async isSticking() {\n this.shouldStick();\n return this.isStuck;\n }\n\n /** @internal */\n @Method()\n async setTriggerPos(offset: number | { v: number; h: number }) {\n return (this._offset = offset);\n }\n\n /** @internal */\n @Method()\n async getTriggerPos() {\n return this.triggerPos;\n }\n\n /** @internal */\n @Method()\n async pauseHiding(pause: boolean) {\n return (this.pauseHide = pause);\n }\n\n // Watchers\n\n /** Keep a note of trigger position. Need this to track sticker order in the DOM */\n @Watch('trigger')\n @Watch('scrollParent')\n updateTriggerOffset() {\n if (!this.trigger || !this.scrollParent || !this.listenForScrollParent)\n return;\n this.triggerPos = _getOffset(this.trigger, this.scrollParent);\n }\n\n /** A root sticker is a fixed element Or this sticker is sticking to another.\n * We need a content resize watcher to make sure we maintain a correct placeholder size in the body */\n @Watch('position')\n stickerResizeListener() {\n if (this.contentSizeObserver) {\n this.contentSizeObserver.disconnect();\n this.contentSizeObserver = undefined;\n }\n\n this.contentSizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (this.pauseResizeWatcher) return;\n\n if (entry.contentRect.height) {\n if (this.position === 'top')\n this.host.style.height = entry.contentRect.height + 'px';\n if (this.position === 'bottom')\n this.host.style.minHeight = entry.contentRect.height + 'px';\n }\n }\n });\n this.contentSizeObserver.observe(this.content);\n }\n\n @Watch('quietMode')\n quietModeChange() {\n if (this.quietMode === 'on') raf(() => (this.quietModeIsOn = true));\n else if (this.quietMode === 'off') raf(() => (this.quietModeIsOn = false));\n }\n\n /** offset is part of the public API but we also use it to manipulate trigger points */\n @Watch('offset')\n @Watch('_offset')\n setOffset() {\n this.trigger.setAttribute('style', '');\n let v: number, h: number, _v: number, _h: number;\n let sticker: HTMLElement =\n this.isRootSticker || this.stickToEle ? this.sticker : this.host;\n\n if (!sticker) return;\n\n if (typeof this.offset === 'object') ({ v, h } = this.offset);\n else v = h = this.offset;\n\n if (typeof this._offset === 'object') ({ v = _v, h = _h } = this._offset);\n else _v = _h = this._offset;\n\n const setPos = (pos: 'top' | 'bottom' | 'left' | 'right') => {\n let u = pos.match(/(top|bottom)/) ? v : h;\n setTriggetPos(pos);\n sticker.style[pos] = u + 'px';\n if (!browserCanUseCssVariables()) return;\n if (u)\n this.host.style.setProperty(\n '--hide-transform-amount',\n `(110% + ${u}px)`\n );\n else this.host.style.setProperty('--hide-transform-amount', null);\n };\n\n const setTriggetPos = (pos: 'top' | 'bottom' | 'left' | 'right') => {\n let u = pos.match(/(top|bottom)/) ? v + _v : h + _h;\n this.trigger.style[pos] = u * -1 + 'px';\n this.trigger.style.position = 'relative';\n this.trigger.style.height = '1px';\n };\n\n if (\n (this.positions.includes('start') && this.isRtl) ||\n (this.positions.includes('end') && !this.isRtl)\n )\n setPos('right');\n\n if (\n (this.positions.includes('end') && this.isRtl) ||\n (this.positions.includes('start') && !this.isRtl)\n )\n setPos('left');\n\n if (this.positions.includes('top')) setPos('top');\n if (this.positions.includes('bottom')) setPos('bottom');\n }\n\n @Watch('position')\n positionChange() {\n this.positions = this.position.split('-') as Positions[];\n this.setOffset();\n }\n\n /** If this sticker is attached to a 'master' sticker (stickToEle),\n * here we move the content of this sticker in and out accordingly */\n @Watch('isStuck')\n async stuckChange() {\n if (this.isStuck) {\n if (this.stickToEle) {\n let content = hasShadowDom(this.host)\n ? this.host.children\n : this.content.children;\n this.slottedContent = Array.from(content);\n\n this.slottedContent.forEach((child: HTMLElement) => {\n if (hasShadowDom(this.host)) this.stickToEle.appendChild(child);\n else\n this.stickToEle\n .querySelector('.sticker-content')\n .appendChild(child);\n child.style.order = this.stickerIndex + '';\n });\n\n this.nanoStuck.emit({ sticker: this.stickToEle });\n } else this.nanoStuck.emit({ sticker: this.host });\n } else {\n this.scrollHide = false;\n\n if (this.stickToEle) {\n this.slottedContent.forEach((child: HTMLElement) => {\n this.host.appendChild(child);\n child.style.order = '';\n });\n this.nanoUnstuck.emit({ sticker: this.stickToEle });\n } else this.nanoUnstuck.emit({ sticker: this.host });\n }\n }\n\n /** attach scroll listener. 'hides' stickers when scrolling away from trigger and 'shows' when scrolling toward */\n @Watch('quietModeIsOn')\n attachScrollListeners() {\n if (this.quietModeIsOn)\n this.scrollParent.addEventListener('scroll', this.onScroll, {\n passive: true,\n capture: false,\n });\n else {\n this.scrollParent.removeEventListener('scroll', this.onScroll);\n this.moveTrigger(true);\n }\n }\n\n /** Add / remove parent scrolling listeners. If there's stickToEle we need to remove them */\n @Watch('scrollParent')\n @Watch('stickToEle')\n handleParentEvents(_, oldParent: null | HTMLElement = null) {\n if (!this.listenForScrollParent) return;\n if (oldParent) this.manageListenersOnParent(false, oldParent);\n if (this.scrollParent) this.manageListenersOnParent(!this.stickToEle);\n }\n\n /** Add remove specific listeners if we're sticking to a sticker.\n * We need to adjust triggers according to the status of the 'master' */\n @Watch('stickToEle')\n stickToEleChange(_, oldEle: null | HTMLNanoStickerElement) {\n if (this.stickToEle) {\n this.stickToEle.addEventListener('nanoHide', this.onStickToDisplayEvent);\n this.stickToEle.addEventListener('nanoShow', this.onStickToDisplayEvent);\n this.stickToEle.addEventListener('nanoStuck', this.onStickToDisplayEvent);\n this.stickToEle.addEventListener(\n 'nanoUnstuck',\n this.onStickToDisplayEvent\n );\n }\n if (oldEle) {\n oldEle.removeEventListener('nanoHide', this.onStickToDisplayEvent);\n oldEle.removeEventListener('nanoShow', this.onStickToDisplayEvent);\n oldEle.removeEventListener('nanoStuck', this.onStickToDisplayEvent);\n oldEle.removeEventListener('nanoUnstuck', this.onStickToDisplayEvent);\n }\n }\n\n /** Find and set the stickToEle from the public, selector string */\n @Watch('stickTo')\n stickToChange() {\n if (this.stickTo)\n this.stickToEle = this.scrollParent.querySelector(this.stickTo);\n else this.stickToEle = undefined;\n }\n\n /** 2 potential criteria for hiding. Multi-stickers or quietmode. */\n @Watch('multiStickerHide')\n @Watch('scrollHide')\n visibilityDecisionHandler() {\n if (this.multiStickerHide || this.scrollHide) this.hide = true;\n else this.hide = false;\n }\n\n @Watch('hide')\n handleHideChange() {\n if (this.hide) this.nanoHide.emit({ sticker: this.host });\n else this.nanoShow.emit({ sticker: this.host });\n }\n\n @Watch('scrollParent')\n setupIO() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n if (!this.scrollParent || !this.hasBootstrapped || !this.trigger) return;\n\n this.isRootSticker = this.scrollParent instanceof Document;\n let root = this.scrollParent;\n if (this.scrollParent instanceof Document) root = null;\n\n this.io = new window.IntersectionObserver(\n (_) => {\n if (this.pauseResizeWatcher || !this.isSticky) return;\n this.shouldStick(_.slice(-1)[0]);\n },\n { root: root as HTMLElement }\n );\n\n this.io.observe(this.trigger);\n }\n\n // Private methods / handlers\n\n /** Assesses the public API quitemode and works out if it should be applied atm.\n * If 'smallscreen', or there is a breakpointmax / min it will add a resizeobserver to conditionally add behaviour */\n private setupParentResizeListener = () => {\n if (this.parentSizeObserver) {\n this.parentSizeObserver.disconnect();\n this.parentSizeObserver = undefined;\n }\n\n this.parentSizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n let height: number, width: number;\n if (entry.contentRect.height) height = entry.contentRect.height;\n if (entry.contentRect.width) width = entry.contentRect.width;\n\n if (typeof this.quietMode === 'object') {\n if (width < this.quietMode.w || height < this.quietMode.h)\n this.quietModeIsOn = true;\n else this.quietModeIsOn = false;\n }\n\n if (this.breakPointMin) {\n if (width > this.breakPointMin) this.isSticky = true;\n else this.isSticky = false;\n }\n\n if (this.breakPointMax) {\n if (width < this.breakPointMax) this.isSticky = true;\n else this.isSticky = false;\n }\n\n if (this.isRootSticker && this.sticker && this.autoResize)\n this.sticker.style.width = this.host.scrollWidth + 'px';\n }\n });\n\n let toWatch =\n this.scrollParent instanceof Document\n ? this.scrollParent.documentElement\n : this.scrollParent;\n if (toWatch) this.parentSizeObserver.observe(toWatch);\n };\n\n /** For stickTo stickers. We listen to the events from the 'master' sticker to ammend the hide/show trigger\n * Main diffs from rootstickers / non is height being on 'master' */\n private onStickToDisplayEvent = (\n e: CustomEvent<{ sticker: HTMLNanoStickerElement }>\n ) => {\n if (e.detail.sticker !== this.stickToEle) return;\n\n switch (e.type) {\n case 'nanoHide':\n this._offset = 0;\n this.cacheOffset = this.offset;\n this.offset = 0;\n /** trigger moves down, underneath sticker if the main sticker hides */\n if (!this.isStuck) this.moveTrigger(false);\n\n /** If it's an actual 'position: sticky' element, we need to give the sticker an appropriate height.\n * This minimises content jumping around as items are added */\n if (!this.isRootSticker && this.quietModeIsOn) {\n raf(() => {\n this.stickToEle.style.minHeight =\n this.stickToEleInitSize.height +\n (this.host.scrollHeight +\n (typeof this.cacheOffset === 'object'\n ? this.cacheOffset.v\n : this.cacheOffset)) +\n 'px';\n this.stickToEle.setTriggerPos(this.stickToEleInitSize.height * -1);\n });\n }\n break;\n case 'nanoShow':\n this._offset = this.stickToEleInitSize.height;\n this.offset = this.cacheOffset;\n this.moveTrigger(true);\n\n /** reset master sticker size */\n if (!this.isRootSticker && this.quietModeIsOn) {\n raf(() => {\n this.stickToEle.style.minHeight = '';\n this.stickToEle.setTriggerPos(0);\n });\n }\n break;\n case 'nanoStuck':\n this.stickToEleInitSize = this.stickToEle.getBoundingClientRect();\n this._offset = this.stickToEleInitSize.height;\n break;\n }\n };\n\n /** Add or removes event listeners / observers on scrolling parent\n * for when the scrolling parent changes, or, this sticker is sticking to another */\n private manageListenersOnParent(\n addEvents: boolean,\n ele?: HTMLElement | Document\n ) {\n let scrollParent = ele || this.scrollParent;\n\n if (!scrollParent) return;\n\n if (!addEvents) {\n try {\n if (this.quietModeIsOn)\n scrollParent.removeEventListener('scroll', this.onScroll);\n scrollParent.removeEventListener('nanoStuck', this.onStickEvent);\n scrollParent.removeEventListener('nanoUnstuck', this.onStickEvent);\n } catch (e) {\n console.error('Events haven`t been added');\n }\n } else {\n scrollParent.addEventListener('nanoStuck', this.onStickEvent);\n scrollParent.addEventListener('nanoUnstuck', this.onStickEvent);\n\n if (this.quietModeIsOn) this.attachScrollListeners();\n }\n this.setupParentResizeListener();\n }\n\n /** Handler applied to scrolling parent. When 'hideOnNewStickers' is true, hide this sticker on subsequent stuck stickers. */\n private onStickEvent = async (\n e: CustomEvent<{ sticker: HTMLNanoStickerElement }>\n ) => {\n let sticker = e.detail ? e.detail.sticker : null;\n if (!sticker || sticker.position !== this.position) return;\n\n const incomingTriggerPos = await sticker.getTriggerPos();\n\n if (\n e.type === 'nanoStuck' &&\n sticker !== this.host &&\n sticker.scrollParent === this.host.scrollParent\n ) {\n this.stickerIndex++;\n\n if (!this.hideOnNewStickers) return;\n\n if (\n (this.positions.includes('top') &&\n this.triggerPos.top < incomingTriggerPos.top) ||\n (this.positions.includes('bottom') &&\n this.triggerPos.top > incomingTriggerPos.top)\n ) {\n this.multiStickerHide = true;\n this.stuckCounter++;\n }\n }\n\n if (\n e.type === 'nanoUnstuck' &&\n sticker !== this.host &&\n sticker.scrollParent === this.host.scrollParent\n ) {\n this.stickerIndex--;\n\n if (!this.hideOnNewStickers) return;\n\n if (\n (this.positions.includes('top') &&\n this.triggerPos.top < incomingTriggerPos.top) ||\n (this.positions.includes('bottom') &&\n this.triggerPos.top > incomingTriggerPos.top)\n ) {\n this.stuckCounter--;\n if (this.stuckCounter < 1) this.multiStickerHide = false;\n }\n }\n };\n\n /** Scroll handler applied to scrolling parent. Only applied when quietmode is on.\n * 'hides' stickers when scrolling over 100px away from trigger and 'shows' when scrolling toward */\n private onScroll = () => {\n let y: number = _getScrollTop(this.scrollParent);\n\n // scrolling up\n if (y < this.scrollPosCache) {\n if (!this.positions.includes('bottom')) this.handleScrollTo();\n else this.handleScrollAway(y);\n }\n\n // scrolling down\n if (y > this.scrollPosCache) {\n if (!this.positions.includes('bottom')) this.handleScrollAway(y);\n else this.handleScrollTo();\n }\n this.scrollPosCache = y;\n };\n\n /** Watch for scroll direction. Only applies when quietmode is on.\n * We need to addjust the position of the trigger when the sticker is hidden */\n private handleScrollTo() {\n this.scrollPosThresholdCache = null;\n if (!this.scrollHide) return;\n\n if (this.scrollingTo !== true) {\n this._offset = this.cacheOffset || this._offset;\n }\n this.scrollingTo = true;\n this.scrollHide = false;\n }\n\n private handleScrollAway(currScroll: number) {\n if (this.scrollHide) return;\n\n if (!this.isStuck) return;\n\n if (this.scrollingTo !== false) {\n this.cacheOffset = this._offset;\n this._offset = 0;\n }\n this.scrollingTo = false;\n\n if (!this.scrollPosThresholdCache)\n this.scrollPosThresholdCache = currScroll;\n else if (\n !this.pauseHide &&\n Math.abs(currScroll - this.scrollPosThresholdCache) > 100\n )\n this.scrollHide = true;\n }\n\n private moveTrigger(toInitial?: boolean) {\n if (\n (this.positions.includes('bottom') && !toInitial) ||\n (!this.positions.includes('bottom') && toInitial)\n ) {\n this.host.parentNode.insertBefore(this.trigger, this.host);\n } else\n this.host.parentNode.insertBefore(this.trigger, this.host.nextSibling);\n }\n\n /** Gets the 'closest' scrolling parent */\n private getScrollParent() {\n const regex = /(auto|scroll)/;\n const parents = (_node: Node, ps: Node[]) => {\n if (_node.parentNode === null) {\n return ps;\n }\n return parents(_node.parentNode, ps.concat([_node]));\n };\n const style = (_node, prop) =>\n getComputedStyle(_node, null).getPropertyValue(prop);\n const overflow = (_node) =>\n style(_node, 'overflow') +\n style(_node, 'overflow-y') +\n style(_node, 'overflow-x');\n const scroll = (_node) => regex.test(overflow(_node));\n const docHeight = document.documentElement.getBoundingClientRect().height;\n\n const scrollParent = (_node: HTMLElement) => {\n if (!(_node instanceof HTMLElement)) return;\n\n const ps = parents(_node, []);\n return (\n ps.find(\n (ele) =>\n scroll(ele) && ele.getBoundingClientRect().height !== docHeight\n ) || document\n );\n };\n\n return scrollParent(this.host);\n }\n\n private shouldStick(data?: IntersectionObserverEntry) {\n let scrollAmt: number;\n\n if (this.positions.includes('top')) {\n if (!this.isRootSticker)\n scrollAmt = _getOffset(this.trigger, this.scrollParent).top;\n else scrollAmt = this.trigger.getBoundingClientRect().top;\n this.isStuck = scrollAmt < -1;\n } else if (this.positions.includes('bottom')) {\n scrollAmt = this.trigger.getBoundingClientRect().top;\n const parentBounding =\n data && data.rootBounds\n ? data.rootBounds\n : (this.scrollParent instanceof Document\n ? document.documentElement\n : this.scrollParent\n ).getBoundingClientRect();\n this.isStuck = scrollAmt > parentBounding.height + parentBounding.top;\n }\n }\n\n private bootstrapGurantor() {\n this.hasBootstrapped = true;\n\n this.scrollParent = this.scrollParent || this.getScrollParent();\n this.isRootSticker = this.scrollParent instanceof Document;\n\n this.trigger = this.trigger || document.createElement('div');\n this.trigger.classList.add('sticker-trigger');\n\n this.positionChange();\n this.moveTrigger(true);\n this.quietModeChange();\n\n this.listenForScrollParent = true;\n this.handleParentEvents(true);\n\n this.stickerIndex = Array.from(\n this.scrollParent.querySelectorAll('nano-sticker')\n )\n .filter(\n (sticker: HTMLNanoStickerElement) => sticker.position === this.position\n )\n .findIndex((sticker) => sticker === this.host);\n\n this.setOffset();\n this.stickerResizeListener();\n this.setupParentResizeListener();\n\n // bit of a hack ... add default 'order'. Required for 'stickTo' elements.\n this.slottedContent = Array.from(this.host.children);\n this.slottedContent.forEach((child: HTMLElement) => {\n child.style.order = this.stickerIndex + '';\n });\n\n this.updateTriggerOffset();\n this.stickToChange();\n this.setupIO();\n this.onStickToDisplayEvent = debounce(this.onStickToDisplayEvent, 50);\n }\n\n // Stencil metthods\n\n connectedCallback() {\n this.isRtl =\n this.host.dir === 'rtl' ||\n (this.host.ownerDocument as Document).dir === 'rtl';\n\n // this is all horrible.... shrug\n document.documentElement.addEventListener('nanoComponentsReady', () => {\n setTimeout((_) => this.bootstrapGurantor(), 200);\n });\n setTimeout((_) => {\n if (!this.hasBootstrapped) this.bootstrapGurantor();\n }, 1000);\n }\n\n disconnectedCallback() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n\n if (this.parentSizeObserver) {\n this.parentSizeObserver.disconnect();\n this.parentSizeObserver = undefined;\n }\n\n this.quietMode = 'off';\n this.scrollParent = null;\n }\n\n render() {\n return (\n <Host\n sticky={!this.isRootSticker && !this.stickToEle && this.isSticky}\n hide={this.hide && this.isStuck}\n siblings={this.stuckCounter}\n index={this.stickerIndex}\n stuck={this.isStuck && this.isSticky}\n placed-bottom={this.positions.includes('bottom')}\n placed-top={this.positions.includes('top')}\n placed-end={this.positions.includes('end')}\n placed-start={this.positions.includes('start')}\n >\n <div\n class={{\n sticker: true,\n sticky: this.isRootSticker && this.isSticky,\n stuck: this.isStuck && this.isRootSticker && this.isSticky,\n hide: this.isRootSticker && this.hide && this.isStuck,\n }}\n ref={(div) => (this.sticker = div)}\n >\n <div class=\"sticker-content\" ref={(div) => (this.content = div)}>\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import '../../global/style/nano-theme/layers';\n\n:host {\n /**\n * @prop --stuck-left: The left position when your sticker is stuck. This can be useful to force your sticker to fill the viewport for example. Defaults to initial\n * @prop --stuck-right: The right position when your sticker is stuck. This can be useful to force your sticker to fill the viewport for example. Defaults to initial\n * @prop --stuck-z-index: The z-index order to display your sticker. Can be useful when displaying multiple stickers simultaneously. Defaults to #{$layer-index-menubar};\n @prop --top-hide: This is used for the hide transform animation (e.g. when quiet-mode is on). Defaults to translateY(-110%);\n @prop --bottom-hide: This is used for the hide transform animation (e.g. when quiet-mode is on). Defaults to translateY(110%);\n */\n\n --stuck-left: initial;\n --stuck-right: initial;\n --stuck-z-index: #{$layer-index-menubar};\n --top-hide: translateY(-110%);\n --bottom-hide: translateY(110%);\n\n display: block;\n max-width: 100%;\n}\n\n:host([sticky]) {\n position: sticky;\n transition: 0.3s ease transform;\n will-change: min-height;\n}\n\n:host([sticky][stuck]) {\n left: var(--stuck-left);\n right: var(--stuck-right);\n z-index: var(--stuck-z-index) !important;\n}\n\n:host([sticky][hide][placed-top]) {\n transform: var(--top-hide);\n}\n\n:host([sticky][hide][placed-bottom]) {\n transform: var(--bottom-hide);\n}\n\n:host([sticky][index='1']) {\n z-index: calc(var(--stuck-z-index) + 1);\n}\n\n:host([sticky][index='2']) {\n z-index: calc(var(--stuck-z-index) + 2);\n}\n\n:host([sticky][index='3']) {\n z-index: calc(var(--stuck-z-index) + 3);\n}\n\n:host([sticky][index='4']) {\n z-index: calc(var(--stuck-z-index) + 4);\n}\n\n:host([sticky][index='5']) {\n z-index: calc(var(--stuck-z-index) + 5);\n}\n\n.sticker {\n display: inherit;\n max-width: inherit;\n width: 100%;\n\n &:not(.stuck) {\n width: auto !important;\n }\n\n &.sticky {\n transition: 0.3s ease all;\n position: relative;\n\n :host([index='1']) & {\n z-index: calc(var(--stuck-z-index) + 1);\n }\n\n :host([index='2']) & {\n z-index: calc(var(--stuck-z-index) + 2);\n }\n\n :host([index='3']) & {\n z-index: calc(var(--stuck-z-index) + 3);\n }\n\n :host([index='4']) & {\n z-index: calc(var(--stuck-z-index) + 4);\n }\n\n :host([index='5']) & {\n z-index: calc(var(--stuck-z-index) + 5);\n }\n }\n\n &.stuck {\n position: fixed;\n left: var(--stuck-left);\n right: var(--stuck-right);\n z-index: var(--stuck-z-index);\n transform: translateY(0);\n\n :host([placed-top]) & {\n top: 0;\n }\n\n :host([placed-bottom]) & {\n bottom: 0;\n }\n\n &.hide {\n :host([placed-top]) & {\n transform: var(--top-hide);\n }\n\n :host([placed-bottom]) & {\n transform: var(--bottom-hide);\n }\n }\n }\n}\n\n.sticker-content {\n display: flex;\n flex-wrap: wrap;\n}\n"]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as o,h as n}from"./p-
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as o,h as n}from"./p-bb0619e6.js";import{f as t}from"./p-c14d5f7d.js";let a=class{constructor(n){o(this,n),this.type="button",this.disabled=!1}componentDidLoad(){t.observe(this.button)}connectedCallback(){this.button&&t.observe(this.button)}disconnectedCallback(){t.unobserve(this.button)}render(){return n(void 0===this.href?"button":"a",{ref:o=>this.button=o,class:{"icon-button":!0,"icon-button--disabled":this.disabled},"aria-label":this.label,name:this.name,value:this.value,href:this.href||void 0,target:this.href&&this.target?this.target:void 0,type:!this.href&&this.type?this.type:void 0},n("nano-icon",{name:this.iconName,src:this.iconSrc,"aria-hidden":"true"}))}};a.style=".sc-nano-icon-button-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-icon-button,*.sc-nano-icon-button::before,*.sc-nano-icon-button::after{-webkit-box-sizing:border-box;box-sizing:border-box}.sc-nano-icon-button-h{display:inline-block;--border-radius:var(--nano-border-radius-medium, 4px);--active-color:#005c75;--hover-color:#007495;--nano-color-base:var(--color, #687576);--background:transparent}.icon-button.sc-nano-icon-button{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;border-radius:var(--border-radius);background:var(--background);font-size:inherit;color:var(--color);padding:var(--nano-spacing-small, 8px);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-transition:-webkit-box-shadow var(--nano-transition-fast, 0.1s) ease-in-out;transition:-webkit-box-shadow var(--nano-transition-fast, 0.1s) ease-in-out;transition:box-shadow var(--nano-transition-fast, 0.1s) ease-in-out;transition:box-shadow var(--nano-transition-fast, 0.1s) ease-in-out, -webkit-box-shadow var(--nano-transition-fast, 0.1s) ease-in-out}.icon-button.sc-nano-icon-button:hover:not(.icon-button--disabled),.icon-button.sc-nano-icon-button:focus:not(.icon-button--disabled){color:var(--hover-color);--nano-color-base:var(--hover-color)}.icon-button.sc-nano-icon-button:active:not(.icon-button--disabled){color:var(--active-color);--nano-color-base:var(--active-color)}.icon-button.sc-nano-icon-button:focus{outline:none}.icon-button--disabled.sc-nano-icon-button{opacity:0.5;cursor:not-allowed;pointer-events:none}.focus-visible.icon-button.sc-nano-icon-button:focus{-webkit-box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)))}";export{a as nano_icon_button}
|
2
|
+
//# sourceMappingURL=p-59aba360.entry.js.map
|
File without changes
|
@@ -1,2 +1,2 @@
|
|
1
|
-
System.register(["./p-
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
System.register(["./p-af9f6453.system.js"],(function(e){"use strict";var t;return{setters:[function(e){t=e.g}],execute:function(){e("S",void 0);var n=function(){var e;var t=new Promise((function(t){e=t}));return{promise:t,resolve:e}};var r=function(e,r){var i=e.prototype;var o=i.componentWillLoad;i.componentWillLoad=function(){var e=this;var i=t(this);var a=n();var u=new CustomEvent("openWormhole",{bubbles:true,composed:true,detail:{consumer:this,fields:r,updater:function(t,n){e[t]=n},onOpen:a}});i.dispatchEvent(u);return a.promise.then((function(){if(o){return o.call(e)}}))}};var i;(function(e){e["Filter"]="filter";e["Page"]="page";e["Replica"]="replica";e["Init"]="init"})(i||(i=e("S",{})));var o=e("W",(function(e,t){return r(e,t)}))}}}));
|
2
|
+
//# sourceMappingURL=p-698a8ab3.system.js.map
|