@nanoporetech-digital/components 1.15.6 → 2.1.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 +70 -0
- package/dist/cjs/active-element-2f9bf0aa.js +21 -0
- package/dist/cjs/active-element-2f9bf0aa.js.map +1 -0
- package/dist/cjs/{algoliasearch.umd-0ccd70ce.js → algoliasearch.umd-79e17a1a.js} +3 -3
- package/dist/cjs/{algoliasearch.umd-0ccd70ce.js.map → algoliasearch.umd-79e17a1a.js.map} +1 -1
- package/dist/cjs/{dom-5f3fae1a.js → dom-52f9b8b7.js} +25 -6
- package/dist/cjs/dom-52f9b8b7.js.map +1 -0
- package/dist/cjs/form-control-3bc82e3e.js +80 -0
- package/dist/cjs/form-control-3bc82e3e.js.map +1 -0
- package/dist/cjs/{index-117f36a4.js → index-53d02e05.js} +12 -27
- package/dist/cjs/index-53d02e05.js.map +1 -0
- package/dist/cjs/index-cb62df44.js +12 -12
- package/dist/cjs/index.cjs.js +3 -3
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{modal-01eed1bf.js → modal-f09e431f.js} +2 -2
- package/dist/cjs/{modal-01eed1bf.js.map → modal-f09e431f.js.map} +1 -1
- package/dist/cjs/nano-accordion.cjs.entry.js +2 -4
- package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-alert.cjs.entry.js +6 -6
- package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -1
- package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-input.cjs.entry.js +1 -1
- package/dist/cjs/nano-algolia.cjs.entry.js +9 -5
- package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-aspect-ratio.cjs.entry.js +1 -1
- package/dist/cjs/nano-aspect-ratio.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox-group.cjs.entry.js +4 -1
- package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-components.cjs.js +1 -1
- package/dist/cjs/nano-datalist_3.cjs.entry.js +790 -0
- package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -0
- package/dist/cjs/nano-date-input.cjs.entry.js +9 -5
- package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/{nano-date-picker_2.cjs.entry.js → nano-date-picker.cjs.entry.js} +2 -274
- package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/nano-details.cjs.entry.js +2 -2
- package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dialog.cjs.entry.js +5 -5
- package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-drawer.cjs.entry.js +5 -5
- package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dropdown.cjs.entry.js +307 -0
- package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -0
- package/dist/cjs/nano-file-upload.cjs.entry.js +1 -1
- package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +19 -24
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-search-results.cjs.entry.js +200 -115
- package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-grid_3.cjs.entry.js +15 -7
- package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-hero.cjs.entry.js +13 -5
- 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-button.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-icon.cjs.entry.js +1 -1
- package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-input.cjs.entry.js +80 -75
- package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js +2 -2
- package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-nav-item_2.cjs.entry.js +287 -533
- package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-range.cjs.entry.js +2 -2
- package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-rating.cjs.entry.js +2 -2
- 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-slide.cjs.entry.js +1 -1
- package/dist/cjs/nano-slide.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-slides.cjs.entry.js +1 -1
- package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-spinner.cjs.entry.js +1 -1
- package/dist/cjs/nano-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-sticker.cjs.entry.js +3 -3
- package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-content.cjs.entry.js +2 -2
- package/dist/cjs/nano-tab-content.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +72 -36
- package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab.cjs.entry.js +9 -2
- package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/nano-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{popover-d033efa2.js → popover-86f1775c.js} +10 -1
- package/dist/cjs/popover-86f1775c.js.map +1 -0
- package/dist/cjs/{scroll-d7753eed.js → scroll-6b9e6870.js} +2 -2
- package/dist/cjs/{scroll-d7753eed.js.map → scroll-6b9e6870.js.map} +1 -1
- package/dist/cjs/{tabbable-615c30e1.js → tabbable-de4c23d8.js} +8 -6
- package/dist/cjs/tabbable-de4c23d8.js.map +1 -0
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/accordion/accordion.css +3 -0
- package/dist/collection/components/accordion/accordion.js +2 -5
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/alert/alert.css +5 -6
- package/dist/collection/components/alert/alert.helpers.js +2 -2
- package/dist/collection/components/alert/alert.helpers.js.map +1 -1
- package/dist/collection/components/alert/alert.js +1 -1
- package/dist/collection/components/algolia/algolia-filter.css +3 -0
- package/dist/collection/components/algolia/algolia-filter.js +2 -2
- package/dist/collection/components/algolia/algolia-input.js +5 -5
- package/dist/collection/components/algolia/algolia-results.js +1 -1
- package/dist/collection/components/algolia/algolia.css +3 -0
- package/dist/collection/components/algolia/algolia.js +6 -6
- package/dist/collection/components/aspect-ratio/aspect-ratio.css +3 -0
- package/dist/collection/components/checkbox/checkbox-group.css +3 -0
- package/dist/collection/components/checkbox/checkbox-group.js +5 -2
- package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.css +3 -0
- package/dist/collection/components/checkbox/checkbox.js +3 -3
- package/dist/collection/components/datalist/datalist.css +55 -0
- package/dist/collection/components/datalist/datalist.js +796 -0
- package/dist/collection/components/datalist/datalist.js.map +1 -0
- package/dist/collection/components/date-input/date-input.css +3 -0
- package/dist/collection/components/date-input/date-input.js +18 -10
- package/dist/collection/components/date-input/date-input.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.css +3 -0
- package/dist/collection/components/date-picker/date-picker.js +5 -5
- package/dist/collection/components/details/details.css +3 -0
- package/dist/collection/components/details/details.js +2 -3
- package/dist/collection/components/details/details.js.map +1 -1
- package/dist/collection/components/dialog/dialog.css +4 -1
- package/dist/collection/components/dialog/dialog.helpers.js.map +1 -1
- package/dist/collection/components/dialog/dialog.js +1 -1
- package/dist/collection/components/drawer/drawer.css +3 -0
- package/dist/collection/components/dropdown/dropdown.css +19 -2
- package/dist/collection/components/dropdown/dropdown.js +56 -39
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload.css +5 -2
- package/dist/collection/components/file-upload/file-upload.js +4 -4
- package/dist/collection/components/form-control/form-control.js +73 -0
- package/dist/collection/components/form-control/form-control.js.map +1 -0
- package/dist/collection/components/global-nav/global-nav.css +43 -37
- package/dist/collection/components/global-nav/global-nav.js +21 -26
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/global-search-results/global-search-results.css +299 -18
- package/dist/collection/components/global-search-results/global-search-results.js +200 -113
- package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
- package/dist/collection/components/grid/grid-item.css +3 -0
- package/dist/collection/components/grid/grid-item.js +1 -1
- package/dist/collection/components/grid/grid.css +3 -0
- package/dist/collection/components/grid/grid.js +37 -6
- package/dist/collection/components/grid/grid.js.map +1 -1
- package/dist/collection/components/hero/hero.css +13 -5
- package/dist/collection/components/hero/hero.js +32 -22
- package/dist/collection/components/hero/hero.js.map +1 -1
- package/dist/collection/components/icon/icon.css +3 -0
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/icon-button/icon-button.css +6 -1
- package/dist/collection/components/icon-button/icon-button.js +1 -1
- package/dist/collection/components/icon-button/icon-button.js.map +1 -1
- package/dist/collection/components/img/img.css +3 -0
- package/dist/collection/components/input/input.css +242 -232
- package/dist/collection/components/input/input.js +111 -114
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/menu/menu.css +27 -35
- package/dist/collection/components/menu/menu.js +222 -48
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/menu-drawer/menu-drawer.css +3 -0
- package/dist/collection/components/nav-item/nav-item.css +3 -0
- 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/option/option-interface.js +5 -0
- package/dist/collection/components/option/option-interface.js.map +1 -0
- package/dist/collection/components/option/option.css +187 -0
- package/dist/collection/components/option/option.js +242 -0
- package/dist/collection/components/option/option.js.map +1 -0
- package/dist/collection/components/range/range.css +3 -0
- package/dist/collection/components/range/range.js +4 -4
- package/dist/collection/components/rating/rating.css +3 -0
- package/dist/collection/components/resize-observe/resize-observe.js +1 -1
- package/dist/collection/components/select/select.css +458 -391
- package/dist/collection/components/select/select.js +367 -607
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/skeleton/skeleton.css +3 -0
- package/dist/collection/components/slides/slide.css +3 -0
- package/dist/collection/components/slides/slides.css +3 -0
- package/dist/collection/components/slides/slides.js +7 -7
- package/dist/collection/components/spinner/spinner.css +3 -0
- package/dist/collection/components/sticky/sticker.css +3 -0
- package/dist/collection/components/tabs/tab-content.css +3 -0
- package/dist/collection/components/tabs/tab-content.js +3 -3
- package/dist/collection/components/tabs/tab-content.js.map +1 -1
- package/dist/collection/components/tabs/tab-group.css +16 -5
- package/dist/collection/components/tabs/tab-group.js +137 -41
- package/dist/collection/components/tabs/tab-group.js.map +1 -1
- package/dist/collection/components/tabs/tab.css +36 -6
- package/dist/collection/components/tabs/tab.js +45 -2
- package/dist/collection/components/tabs/tab.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.css +3 -0
- package/dist/collection/utils/active-element.js +16 -0
- package/dist/collection/utils/active-element.js.map +1 -0
- package/dist/collection/utils/dom.js +24 -5
- package/dist/collection/utils/dom.js.map +1 -1
- package/dist/collection/utils/index.js +13 -13
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/collection/utils/popover.js +9 -0
- package/dist/collection/utils/popover.js.map +1 -1
- package/dist/collection/utils/tabbable.js +7 -5
- package/dist/collection/utils/tabbable.js.map +1 -1
- package/dist/collection/utils/template.js +5 -1
- package/dist/collection/utils/template.js.map +1 -1
- package/dist/collection/utils/testing/index.js +11 -1
- package/dist/collection/utils/testing/index.js.map +1 -1
- package/dist/components/ResizeObserver.es.js +933 -0
- package/dist/components/ResizeObserver.es.js.map +1 -0
- package/dist/components/_commonjsHelpers.js +41 -0
- package/dist/components/_commonjsHelpers.js.map +1 -0
- package/dist/components/active-element.js +19 -0
- package/dist/components/active-element.js.map +1 -0
- package/dist/components/algolia-data.js +49 -0
- package/dist/components/algolia-data.js.map +1 -0
- package/dist/components/algolia.js +906 -0
- package/dist/components/algolia.js.map +1 -0
- package/dist/components/algoliasearch.umd.js +13 -0
- package/dist/components/algoliasearch.umd.js.map +1 -0
- package/dist/components/component-store.js +2234 -0
- package/dist/components/component-store.js.map +1 -0
- package/dist/components/datalist.js +557 -0
- package/dist/components/datalist.js.map +1 -0
- package/dist/components/date-picker.js +624 -0
- package/dist/components/date-picker.js.map +1 -0
- package/dist/{esm/dom-a791b223.js → components/dom.js} +25 -6
- package/dist/components/dom.js.map +1 -0
- package/dist/components/dropdown.js +332 -0
- package/dist/components/dropdown.js.map +1 -0
- package/dist/components/focus-visible.js +66 -0
- package/dist/components/focus-visible.js.map +1 -0
- package/dist/components/form-control.js +77 -0
- package/dist/components/form-control.js.map +1 -0
- package/dist/components/grid-item.js +112 -0
- package/dist/components/grid-item.js.map +1 -0
- package/dist/components/grid.js +276 -0
- package/dist/components/grid.js.map +1 -0
- package/dist/components/icon-button.js +70 -0
- package/dist/components/icon-button.js.map +1 -0
- package/dist/components/icon.js +269 -0
- package/dist/components/icon.js.map +1 -0
- package/dist/components/img.js +184 -0
- package/dist/components/img.js.map +1 -0
- package/dist/components/index.d.ts +26 -0
- package/dist/components/index.js +251 -0
- package/dist/components/index.js.map +1 -0
- package/dist/{esm/index-f41ae118.js → components/index2.js} +13 -27
- package/dist/components/index2.js.map +1 -0
- package/dist/components/index3.js +1075 -0
- package/dist/components/index3.js.map +1 -0
- package/dist/components/index4.js +637 -0
- package/dist/components/index4.js.map +1 -0
- package/dist/components/input.js +474 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/intersection-observer.js +985 -0
- package/dist/components/intersection-observer.js.map +1 -0
- package/dist/components/local-my-account.js +353 -0
- package/dist/components/local-my-account.js.map +1 -0
- package/dist/components/menu.js +235 -0
- package/dist/components/menu.js.map +1 -0
- package/dist/components/modal.js +48 -0
- package/dist/components/modal.js.map +1 -0
- package/dist/components/nano-accordion.d.ts +11 -0
- package/dist/components/nano-accordion.js +63 -0
- package/dist/components/nano-accordion.js.map +1 -0
- package/dist/components/nano-alert.d.ts +11 -0
- package/dist/components/nano-alert.js +296 -0
- package/dist/components/nano-alert.js.map +1 -0
- package/dist/components/nano-algolia-filter.d.ts +11 -0
- package/dist/components/nano-algolia-filter.js +317 -0
- package/dist/components/nano-algolia-filter.js.map +1 -0
- package/dist/components/nano-algolia-input.d.ts +11 -0
- package/dist/components/nano-algolia-input.js +224 -0
- package/dist/components/nano-algolia-input.js.map +1 -0
- package/dist/components/nano-algolia-pagination.d.ts +11 -0
- package/dist/components/nano-algolia-pagination.js +104 -0
- package/dist/components/nano-algolia-pagination.js.map +1 -0
- package/dist/components/nano-algolia-results.d.ts +11 -0
- package/dist/components/nano-algolia-results.js +224 -0
- package/dist/components/nano-algolia-results.js.map +1 -0
- package/dist/components/nano-algolia.d.ts +11 -0
- package/dist/components/nano-algolia.js +11 -0
- package/dist/components/nano-algolia.js.map +1 -0
- package/dist/components/nano-aspect-ratio.d.ts +11 -0
- package/dist/components/nano-aspect-ratio.js +74 -0
- package/dist/components/nano-aspect-ratio.js.map +1 -0
- package/dist/components/nano-checkbox-group.d.ts +11 -0
- package/dist/components/nano-checkbox-group.js +235 -0
- package/dist/components/nano-checkbox-group.js.map +1 -0
- package/dist/components/nano-checkbox.d.ts +11 -0
- package/dist/components/nano-checkbox.js +231 -0
- package/dist/components/nano-checkbox.js.map +1 -0
- package/dist/components/nano-datalist.d.ts +11 -0
- package/dist/components/nano-datalist.js +11 -0
- package/dist/components/nano-datalist.js.map +1 -0
- package/dist/components/nano-date-input.d.ts +11 -0
- package/dist/components/nano-date-input.js +408 -0
- package/dist/components/nano-date-input.js.map +1 -0
- package/dist/components/nano-date-picker.d.ts +11 -0
- package/dist/components/nano-date-picker.js +11 -0
- package/dist/components/nano-date-picker.js.map +1 -0
- package/dist/components/nano-details.d.ts +11 -0
- package/dist/components/nano-details.js +162 -0
- package/dist/components/nano-details.js.map +1 -0
- package/dist/components/nano-dialog.d.ts +11 -0
- package/dist/components/nano-dialog.js +231 -0
- package/dist/components/nano-dialog.js.map +1 -0
- package/dist/components/nano-drawer.d.ts +11 -0
- package/dist/components/nano-drawer.js +217 -0
- package/dist/components/nano-drawer.js.map +1 -0
- package/dist/components/nano-dropdown.d.ts +11 -0
- package/dist/components/nano-dropdown.js +11 -0
- package/dist/components/nano-dropdown.js.map +1 -0
- package/dist/components/nano-file-upload.d.ts +11 -0
- package/dist/components/nano-file-upload.js +421 -0
- package/dist/components/nano-file-upload.js.map +1 -0
- package/dist/components/nano-global-nav.d.ts +11 -0
- package/dist/components/nano-global-nav.js +1221 -0
- package/dist/components/nano-global-nav.js.map +1 -0
- package/dist/components/nano-global-search-results.d.ts +11 -0
- package/dist/components/nano-global-search-results.js +608 -0
- package/dist/components/nano-global-search-results.js.map +1 -0
- package/dist/components/nano-grid-item.d.ts +11 -0
- package/dist/components/nano-grid-item.js +11 -0
- package/dist/components/nano-grid-item.js.map +1 -0
- package/dist/components/nano-grid.d.ts +11 -0
- package/dist/components/nano-grid.js +11 -0
- package/dist/components/nano-grid.js.map +1 -0
- package/dist/components/nano-hero.d.ts +11 -0
- package/dist/components/nano-hero.js +187 -0
- package/dist/components/nano-hero.js.map +1 -0
- package/dist/components/nano-icon-button.d.ts +11 -0
- package/dist/components/nano-icon-button.js +11 -0
- package/dist/components/nano-icon-button.js.map +1 -0
- package/dist/components/nano-icon.d.ts +11 -0
- package/dist/components/nano-icon.js +11 -0
- package/dist/components/nano-icon.js.map +1 -0
- package/dist/components/nano-img.d.ts +11 -0
- package/dist/components/nano-img.js +11 -0
- package/dist/components/nano-img.js.map +1 -0
- package/dist/components/nano-input.d.ts +11 -0
- package/dist/components/nano-input.js +11 -0
- package/dist/components/nano-input.js.map +1 -0
- package/dist/components/nano-menu-drawer.d.ts +11 -0
- package/dist/components/nano-menu-drawer.js +221 -0
- package/dist/components/nano-menu-drawer.js.map +1 -0
- package/dist/components/nano-menu.d.ts +11 -0
- package/dist/components/nano-menu.js +11 -0
- package/dist/components/nano-menu.js.map +1 -0
- package/dist/components/nano-nav-item.d.ts +11 -0
- package/dist/components/nano-nav-item.js +11 -0
- package/dist/components/nano-nav-item.js.map +1 -0
- package/dist/components/nano-option.d.ts +11 -0
- package/dist/components/nano-option.js +11 -0
- package/dist/components/nano-option.js.map +1 -0
- package/dist/components/nano-range.d.ts +11 -0
- package/dist/components/nano-range.js +430 -0
- package/dist/components/nano-range.js.map +1 -0
- package/dist/components/nano-rating.d.ts +11 -0
- package/dist/components/nano-rating.js +240 -0
- package/dist/components/nano-rating.js.map +1 -0
- package/dist/components/nano-resize-observe.d.ts +11 -0
- package/dist/components/nano-resize-observe.js +11 -0
- package/dist/components/nano-resize-observe.js.map +1 -0
- package/dist/components/nano-select.d.ts +11 -0
- package/dist/components/nano-select.js +11 -0
- package/dist/components/nano-select.js.map +1 -0
- package/dist/components/nano-skeleton.d.ts +11 -0
- package/dist/components/nano-skeleton.js +11 -0
- package/dist/components/nano-skeleton.js.map +1 -0
- package/dist/components/nano-slide.d.ts +11 -0
- package/dist/components/nano-slide.js +66 -0
- package/dist/components/nano-slide.js.map +1 -0
- package/dist/components/nano-slides.d.ts +11 -0
- package/dist/components/nano-slides.js +4335 -0
- package/dist/components/nano-slides.js.map +1 -0
- package/dist/components/nano-spinner.d.ts +11 -0
- package/dist/components/nano-spinner.js +11 -0
- package/dist/components/nano-spinner.js.map +1 -0
- package/dist/components/nano-sticker.d.ts +11 -0
- package/dist/components/nano-sticker.js +11 -0
- package/dist/components/nano-sticker.js.map +1 -0
- package/dist/components/nano-tab-content.d.ts +11 -0
- package/dist/components/nano-tab-content.js +49 -0
- package/dist/components/nano-tab-content.js.map +1 -0
- package/dist/components/nano-tab-group.d.ts +11 -0
- package/dist/components/nano-tab-group.js +460 -0
- package/dist/components/nano-tab-group.js.map +1 -0
- package/dist/components/nano-tab.d.ts +11 -0
- package/dist/components/nano-tab.js +86 -0
- package/dist/components/nano-tab.js.map +1 -0
- package/dist/components/nano-tooltip.d.ts +11 -0
- package/dist/components/nano-tooltip.js +11 -0
- package/dist/components/nano-tooltip.js.map +1 -0
- package/dist/components/nav-item.js +327 -0
- package/dist/components/nav-item.js.map +1 -0
- package/dist/components/option.js +120 -0
- package/dist/components/option.js.map +1 -0
- package/dist/{esm/popover-2c7b2326.js → components/popover.js} +10 -1
- package/dist/components/popover.js.map +1 -0
- package/dist/components/resize-observe.js +162 -0
- package/dist/components/resize-observe.js.map +1 -0
- package/dist/{esm/scroll-5cd0ab13.js → components/scroll.js} +2 -2
- package/dist/components/scroll.js.map +1 -0
- package/dist/components/select.js +670 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/skeleton.js +43 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/slot.js +48 -0
- package/dist/components/slot.js.map +1 -0
- package/dist/components/spinner.js +49 -0
- package/dist/components/spinner.js.map +1 -0
- package/dist/components/sticker.js +665 -0
- package/dist/components/sticker.js.map +1 -0
- package/dist/{esm/tabbable-e21f860a.js → components/tabbable.js} +8 -6
- package/dist/components/tabbable.js.map +1 -0
- package/dist/components/theme.js +29 -0
- package/dist/components/theme.js.map +1 -0
- package/dist/components/throttle.js +55 -0
- package/dist/components/throttle.js.map +1 -0
- package/dist/components/tooltip.js +216 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/custom-elements/index.d.ts +12 -6
- package/dist/custom-elements/index.js +1745 -1116
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/active-element-75b7c8a0.js +19 -0
- package/dist/esm/active-element-75b7c8a0.js.map +1 -0
- package/dist/esm/{algoliasearch.umd-8e5aff52.js → algoliasearch.umd-6d09b727.js} +3 -3
- package/dist/esm/{algoliasearch.umd-8e5aff52.js.map → algoliasearch.umd-6d09b727.js.map} +1 -1
- package/dist/esm/dom-faa69d29.js +75 -0
- package/dist/esm/dom-faa69d29.js.map +1 -0
- package/dist/esm/form-control-67eeb108.js +77 -0
- package/dist/esm/form-control-67eeb108.js.map +1 -0
- package/dist/esm/index-5f8d16e7.js +12 -12
- package/dist/esm/index-bf53664b.js +74 -0
- package/dist/esm/{index-f41ae118.js.map → index-bf53664b.js.map} +1 -1
- package/dist/esm/index.js +4 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{modal-eb0a9bb3.js → modal-215df46b.js} +2 -2
- package/dist/esm/{modal-eb0a9bb3.js.map → modal-215df46b.js.map} +1 -1
- package/dist/esm/nano-accordion.entry.js +2 -4
- package/dist/esm/nano-accordion.entry.js.map +1 -1
- package/dist/esm/nano-alert.entry.js +6 -6
- package/dist/esm/nano-alert.entry.js.map +1 -1
- package/dist/esm/nano-algolia-filter.entry.js +1 -1
- package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
- package/dist/esm/nano-algolia-input.entry.js +1 -1
- package/dist/esm/nano-algolia.entry.js +9 -5
- package/dist/esm/nano-algolia.entry.js.map +1 -1
- package/dist/esm/nano-aspect-ratio.entry.js +1 -1
- package/dist/esm/nano-aspect-ratio.entry.js.map +1 -1
- package/dist/esm/nano-checkbox-group.entry.js +4 -1
- package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
- package/dist/esm/nano-checkbox.entry.js +1 -1
- package/dist/esm/nano-checkbox.entry.js.map +1 -1
- package/dist/esm/nano-components.js +1 -1
- package/dist/esm/nano-datalist_3.entry.js +784 -0
- package/dist/esm/nano-datalist_3.entry.js.map +1 -0
- package/dist/esm/nano-date-input.entry.js +9 -5
- package/dist/esm/nano-date-input.entry.js.map +1 -1
- package/dist/esm/{nano-date-picker_2.entry.js → nano-date-picker.entry.js} +3 -274
- package/dist/esm/nano-date-picker.entry.js.map +1 -0
- package/dist/esm/nano-details.entry.js +2 -2
- package/dist/esm/nano-details.entry.js.map +1 -1
- package/dist/esm/nano-dialog.entry.js +5 -5
- package/dist/esm/nano-dialog.entry.js.map +1 -1
- package/dist/esm/nano-drawer.entry.js +5 -5
- package/dist/esm/nano-drawer.entry.js.map +1 -1
- package/dist/esm/nano-dropdown.entry.js +303 -0
- package/dist/esm/nano-dropdown.entry.js.map +1 -0
- package/dist/esm/nano-file-upload.entry.js +1 -1
- package/dist/esm/nano-file-upload.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +19 -24
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/nano-global-search-results.entry.js +200 -115
- package/dist/esm/nano-global-search-results.entry.js.map +1 -1
- package/dist/esm/nano-grid_3.entry.js +16 -8
- package/dist/esm/nano-grid_3.entry.js.map +1 -1
- package/dist/esm/nano-hero.entry.js +14 -6
- 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-button.entry.js.map +1 -1
- package/dist/esm/nano-icon.entry.js +1 -1
- package/dist/esm/nano-icon.entry.js.map +1 -1
- package/dist/esm/nano-input.entry.js +80 -75
- package/dist/esm/nano-input.entry.js.map +1 -1
- package/dist/esm/nano-menu-drawer.entry.js +2 -2
- package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
- package/dist/esm/nano-nav-item_2.entry.js +287 -533
- package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
- package/dist/esm/nano-range.entry.js +2 -2
- 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-slide.entry.js +1 -1
- package/dist/esm/nano-slide.entry.js.map +1 -1
- package/dist/esm/nano-slides.entry.js +1 -1
- package/dist/esm/nano-slides.entry.js.map +1 -1
- package/dist/esm/nano-spinner.entry.js +1 -1
- package/dist/esm/nano-spinner.entry.js.map +1 -1
- package/dist/esm/nano-sticker.entry.js +3 -3
- package/dist/esm/nano-sticker.entry.js.map +1 -1
- package/dist/esm/nano-tab-content.entry.js +2 -2
- package/dist/esm/nano-tab-content.entry.js.map +1 -1
- package/dist/esm/nano-tab-group.entry.js +72 -36
- package/dist/esm/nano-tab-group.entry.js.map +1 -1
- package/dist/esm/nano-tab.entry.js +10 -3
- package/dist/esm/nano-tab.entry.js.map +1 -1
- package/dist/esm/nano-tooltip.entry.js +2 -2
- package/dist/esm/nano-tooltip.entry.js.map +1 -1
- package/dist/esm/popover-db86a392.js +1893 -0
- package/dist/esm/popover-db86a392.js.map +1 -0
- package/dist/esm/scroll-881feb46.js +76 -0
- package/dist/esm/{scroll-5cd0ab13.js.map → scroll-881feb46.js.map} +1 -1
- package/dist/esm/tabbable-614f515e.js +94 -0
- package/dist/esm/tabbable-614f515e.js.map +1 -0
- package/dist/esm-es5/active-element-75b7c8a0.js +5 -0
- package/dist/esm-es5/active-element-75b7c8a0.js.map +1 -0
- package/dist/esm-es5/{algoliasearch.umd-8e5aff52.js → algoliasearch.umd-6d09b727.js} +3 -3
- package/dist/esm-es5/{algoliasearch.umd-8e5aff52.js.map → algoliasearch.umd-6d09b727.js.map} +1 -1
- package/dist/esm-es5/dom-faa69d29.js +5 -0
- package/dist/esm-es5/dom-faa69d29.js.map +1 -0
- package/dist/esm-es5/form-control-67eeb108.js +5 -0
- package/dist/esm-es5/form-control-67eeb108.js.map +1 -0
- package/dist/esm-es5/index-5f8d16e7.js +1 -1
- package/dist/esm-es5/index-bf53664b.js +5 -0
- package/dist/esm-es5/index-bf53664b.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/{modal-eb0a9bb3.js → modal-215df46b.js} +2 -2
- package/dist/esm-es5/{modal-eb0a9bb3.js.map → modal-215df46b.js.map} +0 -0
- 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.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-datalist_3.entry.js +5 -0
- package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -0
- 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.entry.js +5 -0
- package/dist/esm-es5/nano-date-picker.entry.js.map +1 -0
- 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-drawer.entry.js.map +1 -1
- package/dist/esm-es5/nano-dropdown.entry.js +5 -0
- package/dist/esm-es5/nano-dropdown.entry.js.map +1 -0
- 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 +2 -2
- package/dist/esm-es5/nano-global-search-results.entry.js.map +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-button.entry.js.map +1 -1
- package/dist/esm-es5/nano-icon.entry.js +1 -1
- package/dist/esm-es5/nano-icon.entry.js.map +1 -1
- package/dist/esm-es5/nano-input.entry.js +2 -2
- 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-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 +2 -2
- package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/esm-es5/nano-slide.entry.js +1 -1
- package/dist/esm-es5/nano-slide.entry.js.map +1 -1
- package/dist/esm-es5/nano-slides.entry.js +1 -1
- package/dist/esm-es5/nano-slides.entry.js.map +1 -1
- package/dist/esm-es5/nano-spinner.entry.js +1 -1
- package/dist/esm-es5/nano-spinner.entry.js.map +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-content.entry.js.map +1 -1
- package/dist/esm-es5/nano-tab-group.entry.js +2 -2
- package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
- package/dist/esm-es5/nano-tab.entry.js +2 -2
- package/dist/esm-es5/nano-tab.entry.js.map +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-2c7b2326.js → popover-db86a392.js} +2 -2
- package/dist/esm-es5/popover-db86a392.js.map +1 -0
- package/dist/esm-es5/{scroll-5cd0ab13.js → scroll-881feb46.js} +2 -2
- package/dist/esm-es5/{scroll-5cd0ab13.js.map → scroll-881feb46.js.map} +0 -0
- package/dist/esm-es5/tabbable-614f515e.js +5 -0
- package/dist/esm-es5/tabbable-614f515e.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.css +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/{p-2f21a443.system.entry.js → p-033296c7.system.entry.js} +2 -2
- package/dist/nano-components/{p-2f21a443.system.entry.js.map → p-033296c7.system.entry.js.map} +1 -1
- package/dist/nano-components/p-040b6cda.entry.js +5 -0
- package/dist/nano-components/{p-61565b5a.entry.js.map → p-040b6cda.entry.js.map} +1 -1
- package/dist/nano-components/p-05c7bde1.system.entry.js +5 -0
- package/dist/nano-components/{p-30df44d9.system.entry.js.map → p-05c7bde1.system.entry.js.map} +1 -1
- package/dist/nano-components/p-07bdf44d.entry.js +5 -0
- package/dist/nano-components/{p-88bcf55b.entry.js.map → p-07bdf44d.entry.js.map} +1 -1
- package/dist/nano-components/p-09066701.system.entry.js +5 -0
- package/dist/nano-components/p-09066701.system.entry.js.map +1 -0
- package/dist/nano-components/p-090f22a9.system.entry.js +5 -0
- package/dist/nano-components/{p-854df906.system.entry.js.map → p-090f22a9.system.entry.js.map} +1 -1
- package/dist/nano-components/p-096682d9.system.js +1 -1
- package/dist/nano-components/p-096682d9.system.js.map +1 -1
- package/dist/nano-components/p-09d2d944.system.js +5 -0
- package/dist/nano-components/p-09d2d944.system.js.map +1 -0
- package/dist/nano-components/{p-bfc12324.system.entry.js → p-0bee6fe6.system.entry.js} +2 -2
- package/dist/nano-components/{p-bfc12324.system.entry.js.map → p-0bee6fe6.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-21c2a9a5.system.entry.js → p-173bae15.system.entry.js} +2 -2
- package/dist/nano-components/{p-21c2a9a5.system.entry.js.map → p-173bae15.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-731935b1.js → p-1805d59a.js} +2 -2
- package/dist/nano-components/{p-731935b1.js.map → p-1805d59a.js.map} +0 -0
- package/dist/nano-components/p-1a293bd0.entry.js +5 -0
- package/dist/nano-components/{p-8b7f8ef4.entry.js.map → p-1a293bd0.entry.js.map} +1 -1
- package/dist/nano-components/p-1c216ca4.system.js +5 -0
- package/dist/{esm-es5/index-f41ae118.js.map → nano-components/p-1c216ca4.system.js.map} +1 -1
- package/dist/nano-components/p-1d13dbdf.system.js +5 -0
- package/dist/nano-components/p-1d13dbdf.system.js.map +1 -0
- package/dist/nano-components/p-1e974cad.entry.js +5 -0
- package/dist/nano-components/{p-7e60c331.entry.js.map → p-1e974cad.entry.js.map} +1 -1
- package/dist/nano-components/p-20387cde.system.entry.js +5 -0
- package/dist/nano-components/{p-91778977.system.entry.js.map → p-20387cde.system.entry.js.map} +1 -1
- package/dist/nano-components/p-20db18f3.entry.js +5 -0
- package/dist/nano-components/{p-a9dd7cf9.entry.js.map → p-20db18f3.entry.js.map} +1 -1
- package/dist/nano-components/p-22884654.system.entry.js +5 -0
- package/dist/nano-components/{p-3d0fbd0e.system.entry.js.map → p-22884654.system.entry.js.map} +1 -1
- package/dist/nano-components/p-2559e9c1.entry.js +5 -0
- package/dist/nano-components/p-2559e9c1.entry.js.map +1 -0
- package/dist/nano-components/p-289aa03f.js +5 -0
- package/dist/nano-components/p-289aa03f.js.map +1 -0
- package/dist/nano-components/p-2e6c55e2.entry.js +5 -0
- package/dist/nano-components/{p-6f3d20fe.entry.js.map → p-2e6c55e2.entry.js.map} +1 -1
- package/dist/nano-components/{p-60c9b580.system.js → p-3258c568.system.js} +2 -2
- package/dist/nano-components/p-3258c568.system.js.map +1 -0
- package/dist/nano-components/p-3456db01.entry.js +5 -0
- package/dist/nano-components/p-3456db01.entry.js.map +1 -0
- package/dist/nano-components/p-346588cc.entry.js +5 -0
- package/dist/nano-components/p-346588cc.entry.js.map +1 -0
- package/dist/nano-components/p-394c3c19.entry.js +5 -0
- package/dist/nano-components/{p-217f71aa.entry.js.map → p-394c3c19.entry.js.map} +1 -1
- package/dist/nano-components/p-3a13948a.system.entry.js +5 -0
- package/dist/nano-components/p-3a13948a.system.entry.js.map +1 -0
- package/dist/nano-components/p-3a725f1f.system.entry.js +5 -0
- package/dist/nano-components/p-3a725f1f.system.entry.js.map +1 -0
- package/dist/nano-components/p-3aa1d07d.entry.js +5 -0
- package/dist/nano-components/{p-6a1c69d3.entry.js.map → p-3aa1d07d.entry.js.map} +1 -1
- package/dist/nano-components/p-3ad1d5aa.system.entry.js +5 -0
- package/dist/nano-components/p-3ad1d5aa.system.entry.js.map +1 -0
- package/dist/nano-components/p-3ef30ded.system.entry.js +5 -0
- package/dist/nano-components/{p-9bf4a6e0.system.entry.js.map → p-3ef30ded.system.entry.js.map} +1 -1
- package/dist/nano-components/p-3fc52f19.system.entry.js +5 -0
- package/dist/nano-components/p-3fc52f19.system.entry.js.map +1 -0
- package/dist/nano-components/p-4429caac.system.entry.js +5 -0
- package/dist/nano-components/p-4429caac.system.entry.js.map +1 -0
- package/dist/nano-components/p-4535e3bb.entry.js +5 -0
- package/dist/nano-components/{p-143bca0d.entry.js.map → p-4535e3bb.entry.js.map} +1 -1
- package/dist/nano-components/p-462ad4f1.entry.js +5 -0
- package/dist/nano-components/p-462ad4f1.entry.js.map +1 -0
- package/dist/nano-components/p-46d0bb7b.entry.js +5 -0
- package/dist/nano-components/p-46d0bb7b.entry.js.map +1 -0
- package/dist/nano-components/p-5066e563.system.entry.js +5 -0
- package/dist/nano-components/{p-006f2fd3.system.entry.js.map → p-5066e563.system.entry.js.map} +1 -1
- package/dist/nano-components/p-52ab579e.system.entry.js +5 -0
- package/dist/nano-components/p-52ab579e.system.entry.js.map +1 -0
- package/dist/nano-components/p-531d5275.system.entry.js +5 -0
- package/dist/nano-components/{p-b79dc23a.system.entry.js.map → p-531d5275.system.entry.js.map} +1 -1
- package/dist/nano-components/p-5653961d.system.entry.js +5 -0
- package/dist/nano-components/{p-18f49ebf.system.entry.js.map → p-5653961d.system.entry.js.map} +1 -1
- package/dist/nano-components/p-56ba0d63.entry.js +5 -0
- package/dist/nano-components/p-56ba0d63.entry.js.map +1 -0
- package/dist/nano-components/p-593de29b.system.entry.js +5 -0
- package/dist/nano-components/{p-76b13c27.system.entry.js.map → p-593de29b.system.entry.js.map} +1 -1
- package/dist/nano-components/p-5a476bba.system.entry.js +5 -0
- package/dist/nano-components/p-5a476bba.system.entry.js.map +1 -0
- package/dist/nano-components/{p-8a608e6d.entry.js → p-5e7c7d3d.entry.js} +2 -2
- package/dist/nano-components/{p-8a608e6d.entry.js.map → p-5e7c7d3d.entry.js.map} +1 -1
- package/dist/nano-components/p-672e5547.js +5 -0
- package/dist/nano-components/p-672e5547.js.map +1 -0
- package/dist/nano-components/{p-a16651a6.system.js → p-67cc0d9b.system.js} +3 -3
- package/dist/nano-components/{p-a16651a6.system.js.map → p-67cc0d9b.system.js.map} +1 -1
- package/dist/nano-components/p-69439aa1.system.entry.js +5 -0
- package/dist/nano-components/p-69439aa1.system.entry.js.map +1 -0
- package/dist/nano-components/p-6ade3290.entry.js +5 -0
- package/dist/nano-components/{p-1e03f9bf.entry.js.map → p-6ade3290.entry.js.map} +1 -1
- package/dist/nano-components/p-70dec19f.entry.js +5 -0
- package/dist/nano-components/{p-d0e9b177.entry.js.map → p-70dec19f.entry.js.map} +1 -1
- package/dist/nano-components/p-71c26ace.entry.js +5 -0
- package/dist/nano-components/p-71c26ace.entry.js.map +1 -0
- package/dist/nano-components/p-7232c046.system.entry.js +5 -0
- package/dist/nano-components/{p-92b3f99b.system.entry.js.map → p-7232c046.system.entry.js.map} +1 -1
- package/dist/nano-components/p-730f60ea.entry.js +5 -0
- package/dist/nano-components/{p-78cf9d39.entry.js.map → p-730f60ea.entry.js.map} +1 -1
- package/dist/nano-components/p-74a7fc4f.js +5 -0
- package/dist/nano-components/p-74a7fc4f.js.map +1 -0
- package/dist/nano-components/p-774e090b.system.entry.js +5 -0
- package/dist/nano-components/p-774e090b.system.entry.js.map +1 -0
- package/dist/nano-components/{p-d31761c8.system.js → p-7be6b7f3.system.js} +2 -2
- package/dist/nano-components/p-7be6b7f3.system.js.map +1 -0
- package/dist/nano-components/p-7d2e2685.entry.js +5 -0
- package/dist/nano-components/p-7d2e2685.entry.js.map +1 -0
- package/dist/nano-components/p-820d9e23.system.entry.js +5 -0
- package/dist/nano-components/p-820d9e23.system.entry.js.map +1 -0
- package/dist/nano-components/p-8278c5d2.system.entry.js +5 -0
- package/dist/nano-components/{p-badf69ee.system.entry.js.map → p-8278c5d2.system.entry.js.map} +1 -1
- package/dist/nano-components/p-82f4b071.entry.js +5 -0
- package/dist/nano-components/p-82f4b071.entry.js.map +1 -0
- package/dist/nano-components/p-88f17c86.system.entry.js +5 -0
- package/dist/nano-components/p-88f17c86.system.entry.js.map +1 -0
- package/dist/nano-components/p-8a8f893b.system.entry.js +5 -0
- package/dist/nano-components/{p-cc668975.system.entry.js.map → p-8a8f893b.system.entry.js.map} +1 -1
- package/dist/nano-components/p-93448bcd.system.entry.js +5 -0
- package/dist/nano-components/{p-02e82e14.system.entry.js.map → p-93448bcd.system.entry.js.map} +1 -1
- package/dist/nano-components/p-94593617.system.entry.js +5 -0
- package/dist/nano-components/{p-2442eda0.system.entry.js.map → p-94593617.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-56113dd3.js → p-9a385481.js} +2 -2
- package/dist/nano-components/p-9a385481.js.map +1 -0
- package/dist/nano-components/{p-8134c14e.system.js → p-9de508a5.system.js} +2 -2
- package/dist/nano-components/p-9de508a5.system.js.map +1 -0
- package/dist/nano-components/p-a315ed2c.entry.js +5 -0
- package/dist/nano-components/{p-13801651.entry.js.map → p-a315ed2c.entry.js.map} +1 -1
- package/dist/nano-components/p-a4075d49.entry.js +5 -0
- package/dist/nano-components/p-a4075d49.entry.js.map +1 -0
- package/dist/nano-components/p-b19e0775.system.entry.js +5 -0
- package/dist/nano-components/p-b19e0775.system.entry.js.map +1 -0
- package/dist/nano-components/{p-18411914.system.js → p-b370e3ef.system.js} +2 -2
- package/dist/nano-components/{p-18411914.system.js.map → p-b370e3ef.system.js.map} +0 -0
- package/dist/nano-components/p-b59d2bd5.entry.js +5 -0
- package/dist/nano-components/p-b59d2bd5.entry.js.map +1 -0
- package/dist/nano-components/p-b619500f.js +5 -0
- package/dist/nano-components/p-b619500f.js.map +1 -0
- package/dist/nano-components/{p-23f65b34.entry.js → p-ba13bb56.entry.js} +2 -2
- package/dist/nano-components/{p-23f65b34.entry.js.map → p-ba13bb56.entry.js.map} +1 -1
- package/dist/nano-components/p-c0ddb4c3.entry.js +5 -0
- package/dist/nano-components/{p-78569d39.entry.js.map → p-c0ddb4c3.entry.js.map} +1 -1
- package/dist/nano-components/p-c954c040.entry.js +5 -0
- package/dist/nano-components/p-c954c040.entry.js.map +1 -0
- package/dist/nano-components/p-c9c1a345.system.entry.js +5 -0
- package/dist/nano-components/{p-38a3e791.system.entry.js.map → p-c9c1a345.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-8c8963f6.js → p-cb79d1ec.js} +2 -2
- package/dist/nano-components/{p-8c8963f6.js.map → p-cb79d1ec.js.map} +0 -0
- package/dist/nano-components/p-d6569144.entry.js +5 -0
- package/dist/nano-components/{p-c7b7f7ab.entry.js.map → p-d6569144.entry.js.map} +1 -1
- package/dist/nano-components/{p-2d1a856e.system.js → p-d84ef175.system.js} +2 -2
- package/dist/nano-components/{p-2d1a856e.system.js.map → p-d84ef175.system.js.map} +0 -0
- package/dist/nano-components/p-d9c7909e.js +5 -0
- package/dist/nano-components/p-d9c7909e.js.map +1 -0
- package/dist/nano-components/p-e11bd40d.entry.js +5 -0
- package/dist/nano-components/{p-a21d90aa.entry.js.map → p-e11bd40d.entry.js.map} +1 -1
- package/dist/nano-components/p-e15be516.system.entry.js +5 -0
- package/dist/nano-components/p-e15be516.system.entry.js.map +1 -0
- package/dist/nano-components/p-e2ae11d2.entry.js +5 -0
- package/dist/nano-components/p-e2ae11d2.entry.js.map +1 -0
- package/dist/nano-components/{p-8757b4eb.js → p-e3583b00.js} +3 -3
- package/dist/nano-components/{p-8757b4eb.js.map → p-e3583b00.js.map} +1 -1
- package/dist/nano-components/p-e35eac75.entry.js +5 -0
- package/dist/nano-components/p-e35eac75.entry.js.map +1 -0
- package/dist/nano-components/p-e562bffd.entry.js +5 -0
- package/dist/nano-components/p-e562bffd.entry.js.map +1 -0
- package/dist/nano-components/p-e6f41b97.entry.js +5 -0
- package/dist/nano-components/p-e6f41b97.entry.js.map +1 -0
- package/dist/nano-components/p-e6f8f9f7.system.entry.js +5 -0
- package/dist/nano-components/p-e6f8f9f7.system.entry.js.map +1 -0
- package/dist/nano-components/p-ea5eb591.system.js +5 -0
- package/dist/nano-components/p-ea5eb591.system.js.map +1 -0
- package/dist/nano-components/p-ef4e0912.system.entry.js +5 -0
- package/dist/nano-components/{p-2aed806d.system.entry.js.map → p-ef4e0912.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-981cc614.entry.js → p-f1bf1099.entry.js} +2 -2
- package/dist/nano-components/{p-981cc614.entry.js.map → p-f1bf1099.entry.js.map} +0 -0
- package/dist/nano-components/p-f2e7d2f9.system.entry.js +5 -0
- package/dist/nano-components/p-f2e7d2f9.system.entry.js.map +1 -0
- package/dist/nano-components/p-f3bf942d.entry.js +5 -0
- package/dist/nano-components/p-f3bf942d.entry.js.map +1 -0
- package/dist/nano-components/p-f53989c3.system.entry.js +5 -0
- package/dist/nano-components/{p-6621e4f1.system.entry.js.map → p-f53989c3.system.entry.js.map} +1 -1
- package/dist/themes/nanopore.css +1 -1
- package/dist/themes/nanopore.css.map +1 -1
- package/dist/types/components/accordion/accordion.d.ts +0 -1
- package/dist/types/components/checkbox/checkbox-group.d.ts +1 -0
- package/dist/types/components/datalist/datalist.d.ts +98 -0
- package/dist/types/components/date-input/date-input.d.ts +2 -0
- package/dist/types/components/dialog/dialog.helpers.d.ts +2 -2
- package/dist/types/components/dropdown/dropdown.d.ts +8 -4
- package/dist/types/components/form-control/form-control.d.ts +35 -0
- package/dist/types/components/global-search-results/global-search-results.d.ts +1 -0
- package/dist/types/components/grid/grid.d.ts +7 -1
- package/dist/types/components/hero/hero.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +13 -9
- package/dist/types/components/menu/menu.d.ts +22 -8
- package/dist/types/components/option/option-interface.d.ts +7 -0
- package/dist/types/components/option/option.d.ts +45 -0
- package/dist/types/components/select/select.d.ts +43 -49
- package/dist/types/components/tabs/tab-group.d.ts +32 -6
- package/dist/types/components/tabs/tab.d.ts +6 -1
- package/dist/types/components.d.ts +241 -70
- package/dist/types/interface.d.ts +1 -0
- package/dist/types/utils/active-element.d.ts +1 -0
- package/dist/types/utils/dom.d.ts +9 -1
- package/dist/types/utils/index.d.ts +2 -1
- package/dist/types/utils/tabbable.d.ts +2 -2
- package/dist/types/utils/testing/index.d.ts +3 -2
- package/docs-json.json +1244 -262
- package/docs-vscode.json +102 -33
- package/package.json +5 -5
- package/dist/cjs/dom-5f3fae1a.js.map +0 -1
- package/dist/cjs/index-117f36a4.js.map +0 -1
- package/dist/cjs/nano-date-picker_2.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-menu.cjs.entry.js +0 -156
- package/dist/cjs/nano-menu.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-select-option.cjs.entry.js +0 -43
- package/dist/cjs/nano-select-option.cjs.entry.js.map +0 -1
- package/dist/cjs/popover-d033efa2.js.map +0 -1
- package/dist/cjs/tabbable-615c30e1.js.map +0 -1
- package/dist/collection/components/select/select-option.css +0 -15
- package/dist/collection/components/select/select-option.js +0 -127
- package/dist/collection/components/select/select-option.js.map +0 -1
- package/dist/esm/dom-a791b223.js.map +0 -1
- package/dist/esm/nano-date-picker_2.entry.js.map +0 -1
- package/dist/esm/nano-menu.entry.js +0 -152
- package/dist/esm/nano-menu.entry.js.map +0 -1
- package/dist/esm/nano-select-option.entry.js +0 -39
- package/dist/esm/nano-select-option.entry.js.map +0 -1
- package/dist/esm/popover-2c7b2326.js.map +0 -1
- package/dist/esm/tabbable-e21f860a.js.map +0 -1
- package/dist/esm-es5/dom-a791b223.js +0 -5
- package/dist/esm-es5/dom-a791b223.js.map +0 -1
- package/dist/esm-es5/index-f41ae118.js +0 -5
- package/dist/esm-es5/nano-date-picker_2.entry.js +0 -5
- package/dist/esm-es5/nano-date-picker_2.entry.js.map +0 -1
- package/dist/esm-es5/nano-menu.entry.js +0 -5
- package/dist/esm-es5/nano-menu.entry.js.map +0 -1
- package/dist/esm-es5/nano-select-option.entry.js +0 -5
- package/dist/esm-es5/nano-select-option.entry.js.map +0 -1
- package/dist/esm-es5/popover-2c7b2326.js.map +0 -1
- package/dist/esm-es5/tabbable-e21f860a.js +0 -5
- package/dist/esm-es5/tabbable-e21f860a.js.map +0 -1
- package/dist/nano-components/p-006f2fd3.system.entry.js +0 -5
- package/dist/nano-components/p-02e82e14.system.entry.js +0 -5
- package/dist/nano-components/p-05a8014a.entry.js +0 -5
- package/dist/nano-components/p-05a8014a.entry.js.map +0 -1
- package/dist/nano-components/p-13801651.entry.js +0 -5
- package/dist/nano-components/p-13fa75fc.entry.js +0 -5
- package/dist/nano-components/p-13fa75fc.entry.js.map +0 -1
- package/dist/nano-components/p-143bca0d.entry.js +0 -5
- package/dist/nano-components/p-18f49ebf.system.entry.js +0 -5
- package/dist/nano-components/p-19428228.system.entry.js +0 -5
- package/dist/nano-components/p-19428228.system.entry.js.map +0 -1
- package/dist/nano-components/p-1e03f9bf.entry.js +0 -5
- package/dist/nano-components/p-217f71aa.entry.js +0 -5
- package/dist/nano-components/p-2442eda0.system.entry.js +0 -5
- package/dist/nano-components/p-2946bd70.system.entry.js +0 -5
- package/dist/nano-components/p-2946bd70.system.entry.js.map +0 -1
- package/dist/nano-components/p-2aed806d.system.entry.js +0 -5
- package/dist/nano-components/p-30df44d9.system.entry.js +0 -5
- package/dist/nano-components/p-38a3e791.system.entry.js +0 -5
- package/dist/nano-components/p-3a49ceab.entry.js +0 -5
- package/dist/nano-components/p-3a49ceab.entry.js.map +0 -1
- package/dist/nano-components/p-3d0fbd0e.system.entry.js +0 -5
- package/dist/nano-components/p-3f00179c.js +0 -5
- package/dist/nano-components/p-3f00179c.js.map +0 -1
- package/dist/nano-components/p-48e6bea3.entry.js +0 -5
- package/dist/nano-components/p-48e6bea3.entry.js.map +0 -1
- package/dist/nano-components/p-4d62ec32.system.js +0 -5
- package/dist/nano-components/p-4d62ec32.system.js.map +0 -1
- package/dist/nano-components/p-4e451498.entry.js +0 -5
- package/dist/nano-components/p-4e451498.entry.js.map +0 -1
- package/dist/nano-components/p-51d9570d.entry.js +0 -5
- package/dist/nano-components/p-51d9570d.entry.js.map +0 -1
- package/dist/nano-components/p-51fa04a6.entry.js +0 -5
- package/dist/nano-components/p-51fa04a6.entry.js.map +0 -1
- package/dist/nano-components/p-55189485.system.entry.js +0 -5
- package/dist/nano-components/p-55189485.system.entry.js.map +0 -1
- package/dist/nano-components/p-56113dd3.js.map +0 -1
- package/dist/nano-components/p-5bbd6c81.entry.js +0 -5
- package/dist/nano-components/p-5bbd6c81.entry.js.map +0 -1
- package/dist/nano-components/p-5e9170ae.entry.js +0 -5
- package/dist/nano-components/p-5e9170ae.entry.js.map +0 -1
- package/dist/nano-components/p-60c9b580.system.js.map +0 -1
- package/dist/nano-components/p-61565b5a.entry.js +0 -5
- package/dist/nano-components/p-621750cc.js +0 -5
- package/dist/nano-components/p-621750cc.js.map +0 -1
- package/dist/nano-components/p-6621e4f1.system.entry.js +0 -5
- package/dist/nano-components/p-6a1c69d3.entry.js +0 -5
- package/dist/nano-components/p-6ab8d211.system.entry.js +0 -5
- package/dist/nano-components/p-6ab8d211.system.entry.js.map +0 -1
- package/dist/nano-components/p-6e9b3d60.system.entry.js +0 -5
- package/dist/nano-components/p-6e9b3d60.system.entry.js.map +0 -1
- package/dist/nano-components/p-6f3d20fe.entry.js +0 -5
- package/dist/nano-components/p-6feac35e.entry.js +0 -5
- package/dist/nano-components/p-6feac35e.entry.js.map +0 -1
- package/dist/nano-components/p-723c212f.system.entry.js +0 -5
- package/dist/nano-components/p-723c212f.system.entry.js.map +0 -1
- package/dist/nano-components/p-76b13c27.system.entry.js +0 -5
- package/dist/nano-components/p-78569d39.entry.js +0 -5
- package/dist/nano-components/p-78cf9d39.entry.js +0 -5
- package/dist/nano-components/p-7e60c331.entry.js +0 -5
- package/dist/nano-components/p-8134c14e.system.js.map +0 -1
- package/dist/nano-components/p-81b4ed2a.system.entry.js +0 -5
- package/dist/nano-components/p-81b4ed2a.system.entry.js.map +0 -1
- package/dist/nano-components/p-854df906.system.entry.js +0 -5
- package/dist/nano-components/p-88bcf55b.entry.js +0 -5
- package/dist/nano-components/p-8b7f8ef4.entry.js +0 -5
- package/dist/nano-components/p-8c3993ff.entry.js +0 -5
- package/dist/nano-components/p-8c3993ff.entry.js.map +0 -1
- package/dist/nano-components/p-91778977.system.entry.js +0 -5
- package/dist/nano-components/p-92b3f99b.system.entry.js +0 -5
- package/dist/nano-components/p-9bd73d1d.js +0 -5
- package/dist/nano-components/p-9bd73d1d.js.map +0 -1
- package/dist/nano-components/p-9bf4a6e0.system.entry.js +0 -5
- package/dist/nano-components/p-9df226fd.system.entry.js +0 -5
- package/dist/nano-components/p-9df226fd.system.entry.js.map +0 -1
- package/dist/nano-components/p-a0b55c38.system.entry.js +0 -5
- package/dist/nano-components/p-a0b55c38.system.entry.js.map +0 -1
- package/dist/nano-components/p-a21d90aa.entry.js +0 -5
- package/dist/nano-components/p-a9dd7cf9.entry.js +0 -5
- package/dist/nano-components/p-ad069ba4.entry.js +0 -5
- package/dist/nano-components/p-ad069ba4.entry.js.map +0 -1
- package/dist/nano-components/p-b246a7bb.entry.js +0 -5
- package/dist/nano-components/p-b246a7bb.entry.js.map +0 -1
- package/dist/nano-components/p-b45d4be9.entry.js +0 -5
- package/dist/nano-components/p-b45d4be9.entry.js.map +0 -1
- package/dist/nano-components/p-b79dc23a.system.entry.js +0 -5
- package/dist/nano-components/p-b86fc6b7.system.js +0 -5
- package/dist/nano-components/p-b86fc6b7.system.js.map +0 -1
- package/dist/nano-components/p-badf69ee.system.entry.js +0 -5
- package/dist/nano-components/p-bde0deae.system.entry.js +0 -5
- package/dist/nano-components/p-bde0deae.system.entry.js.map +0 -1
- package/dist/nano-components/p-be3df2e8.system.entry.js +0 -5
- package/dist/nano-components/p-be3df2e8.system.entry.js.map +0 -1
- package/dist/nano-components/p-c39c1e8d.entry.js +0 -5
- package/dist/nano-components/p-c39c1e8d.entry.js.map +0 -1
- package/dist/nano-components/p-c7b7f7ab.entry.js +0 -5
- package/dist/nano-components/p-c82ccbc8.entry.js +0 -5
- package/dist/nano-components/p-c82ccbc8.entry.js.map +0 -1
- package/dist/nano-components/p-cc668975.system.entry.js +0 -5
- package/dist/nano-components/p-cfd4c9de.system.entry.js +0 -5
- package/dist/nano-components/p-cfd4c9de.system.entry.js.map +0 -1
- package/dist/nano-components/p-d0e9b177.entry.js +0 -5
- package/dist/nano-components/p-d31761c8.system.js.map +0 -1
- package/dist/nano-components/p-d47d297b.system.entry.js +0 -5
- package/dist/nano-components/p-d47d297b.system.entry.js.map +0 -1
- package/dist/nano-components/p-e48a53f5.system.entry.js +0 -5
- package/dist/nano-components/p-e48a53f5.system.entry.js.map +0 -1
- package/dist/nano-components/p-e5f01860.entry.js +0 -5
- package/dist/nano-components/p-e5f01860.entry.js.map +0 -1
- package/dist/nano-components/p-f2b2cd38.system.entry.js +0 -5
- package/dist/nano-components/p-f2b2cd38.system.entry.js.map +0 -1
- package/dist/nano-components/p-fcb5ffaf.system.entry.js +0 -5
- package/dist/nano-components/p-fcb5ffaf.system.entry.js.map +0 -1
- package/dist/types/components/select/select-option.d.ts +0 -23
@@ -0,0 +1,906 @@
|
|
1
|
+
/*!
|
2
|
+
* Web Components for Nanopore digital Web Apps
|
3
|
+
*/
|
4
|
+
import { getElement, getRenderingRef, HTMLElement, createEvent, writeTask, readTask, Build, h, Host, proxyCustomElement } from '@stencil/core/internal/client';
|
5
|
+
import { S as SearchChangeEvent } from './algolia-data.js';
|
6
|
+
import { r as raf } from './index2.js';
|
7
|
+
import { a as algoliasearch_umd } from './algoliasearch.umd.js';
|
8
|
+
import { g as getDefaultExportFromCjs, c as createCommonjsModule, a as commonjsGlobal } from './_commonjsHelpers.js';
|
9
|
+
import { C as ComponentStore } from './component-store.js';
|
10
|
+
import { d as defineCustomElement$1 } from './spinner.js';
|
11
|
+
import { g as getDirectChildren } from './dom.js';
|
12
|
+
import { d as debounce } from './throttle.js';
|
13
|
+
|
14
|
+
var multiverse = new Map();
|
15
|
+
var updateConsumer = function (_a, state) {
|
16
|
+
var fields = _a.fields, updater = _a.updater;
|
17
|
+
fields.forEach(function (field) { updater(field, state[field]); });
|
18
|
+
};
|
19
|
+
var Universe = {
|
20
|
+
create: function (creator, initialState) {
|
21
|
+
var el = getElement(creator);
|
22
|
+
var wormholes = new Map();
|
23
|
+
var universe = { wormholes: wormholes, state: initialState };
|
24
|
+
multiverse.set(creator, universe);
|
25
|
+
var connectedCallback = creator.connectedCallback;
|
26
|
+
creator.connectedCallback = function () {
|
27
|
+
multiverse.set(creator, universe);
|
28
|
+
if (connectedCallback) {
|
29
|
+
connectedCallback.call(creator);
|
30
|
+
}
|
31
|
+
};
|
32
|
+
var disconnectedCallback = creator.disconnectedCallback;
|
33
|
+
creator.disconnectedCallback = function () {
|
34
|
+
multiverse.delete(creator);
|
35
|
+
if (disconnectedCallback) {
|
36
|
+
disconnectedCallback.call(creator);
|
37
|
+
}
|
38
|
+
};
|
39
|
+
el.addEventListener('openWormhole', function (event) {
|
40
|
+
event.stopPropagation();
|
41
|
+
var _a = event.detail, consumer = _a.consumer, onOpen = _a.onOpen;
|
42
|
+
if (wormholes.has(consumer))
|
43
|
+
return;
|
44
|
+
if (typeof consumer !== 'symbol') {
|
45
|
+
var connectedCallback_1 = consumer.connectedCallback, disconnectedCallback_1 = consumer.disconnectedCallback;
|
46
|
+
consumer.connectedCallback = function () {
|
47
|
+
wormholes.set(consumer, event.detail);
|
48
|
+
if (connectedCallback_1) {
|
49
|
+
connectedCallback_1.call(consumer);
|
50
|
+
}
|
51
|
+
};
|
52
|
+
consumer.disconnectedCallback = function () {
|
53
|
+
wormholes.delete(consumer);
|
54
|
+
if (disconnectedCallback_1) {
|
55
|
+
disconnectedCallback_1.call(consumer);
|
56
|
+
}
|
57
|
+
};
|
58
|
+
}
|
59
|
+
wormholes.set(consumer, event.detail);
|
60
|
+
updateConsumer(event.detail, universe.state);
|
61
|
+
onOpen === null || onOpen === void 0 ? void 0 : onOpen.resolve(function () { wormholes.delete(consumer); });
|
62
|
+
});
|
63
|
+
el.addEventListener('closeWormhole', function (event) {
|
64
|
+
var consumer = event.detail;
|
65
|
+
wormholes.delete(consumer);
|
66
|
+
});
|
67
|
+
},
|
68
|
+
Provider: function (_a, children) {
|
69
|
+
var state = _a.state;
|
70
|
+
var creator = getRenderingRef();
|
71
|
+
if (multiverse.has(creator)) {
|
72
|
+
var universe = multiverse.get(creator);
|
73
|
+
universe.state = state;
|
74
|
+
universe.wormholes.forEach(function (opening) { updateConsumer(opening, state); });
|
75
|
+
}
|
76
|
+
return children;
|
77
|
+
}
|
78
|
+
};
|
79
|
+
|
80
|
+
var squirrelly_min = createCommonjsModule(function (module, exports) {
|
81
|
+
!function(e,t){t(exports);}(commonjsGlobal,(function(e){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});}));
|
82
|
+
//# sourceMappingURL=squirrelly.min.js.map
|
83
|
+
});
|
84
|
+
|
85
|
+
const squirrelly_min$1 = /*@__PURE__*/getDefaultExportFromCjs(squirrelly_min);
|
86
|
+
|
87
|
+
const Sqrl = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.assign(/*#__PURE__*/Object.create(null), squirrelly_min, {
|
88
|
+
'default': squirrelly_min$1
|
89
|
+
}));
|
90
|
+
|
91
|
+
const squirrel = Sqrl;
|
92
|
+
squirrel.filters.define('date_long', (str, options = {
|
93
|
+
year: 'numeric',
|
94
|
+
month: 'long',
|
95
|
+
day: 'numeric',
|
96
|
+
}) => {
|
97
|
+
if (!str)
|
98
|
+
return;
|
99
|
+
let date = new Date(parseInt(str) * 1000);
|
100
|
+
str = date.toLocaleDateString('en-GB', options);
|
101
|
+
return str;
|
102
|
+
});
|
103
|
+
squirrel.filters.define('date_short', (str, format = 'd/m/y') => {
|
104
|
+
if (!str)
|
105
|
+
return;
|
106
|
+
let date = new Date(parseInt(str) * 1000);
|
107
|
+
str = format.replace(/(d)/, date.getDate().toString());
|
108
|
+
str = str.replace(/(m)/, (date.getMonth() + 1).toString());
|
109
|
+
str = str.replace(/(y)/, date.getFullYear().toString());
|
110
|
+
return str;
|
111
|
+
});
|
112
|
+
squirrel.filters.define('public_name', (str) => {
|
113
|
+
if (!str)
|
114
|
+
return;
|
115
|
+
str = str
|
116
|
+
.split('_')
|
117
|
+
.map((val) => {
|
118
|
+
return val.length < 3 ? val.toUpperCase() : val;
|
119
|
+
})
|
120
|
+
.join(' ');
|
121
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
122
|
+
});
|
123
|
+
squirrel.filters.define('trim_to', (str, length = 100) => {
|
124
|
+
if (!str)
|
125
|
+
return;
|
126
|
+
if (str.length <= length)
|
127
|
+
return str;
|
128
|
+
return str.substr(0, length) + '...';
|
129
|
+
});
|
130
|
+
squirrel.filters.define('classname', (str) => {
|
131
|
+
if (!str)
|
132
|
+
return;
|
133
|
+
return str.replace(/[\W]+/g, '');
|
134
|
+
});
|
135
|
+
squirrel.filters.define('abs_url', (str, index = null, result) => {
|
136
|
+
if (!index)
|
137
|
+
return str;
|
138
|
+
if (!str)
|
139
|
+
return;
|
140
|
+
let domain = undefined;
|
141
|
+
if (index.domains && result && result.origin) {
|
142
|
+
let found = index.domains.find((dm) => dm.origin === result.origin);
|
143
|
+
domain = found ? found.domain : '';
|
144
|
+
}
|
145
|
+
else if (index.domain)
|
146
|
+
domain = index.domain;
|
147
|
+
if (!domain)
|
148
|
+
return str;
|
149
|
+
return str.match(/^http/) ? str : location.protocol + '//' + domain + str;
|
150
|
+
});
|
151
|
+
squirrel.filters.define('replace', (str, search, replace) => str.replace(search, replace));
|
152
|
+
squirrel.filters.define('remove_spaces', (str) => str.replace(/ /g, '_'));
|
153
|
+
squirrel.filters.define('add_spaces', (str) => (str = str.replace(/[_\-]/g, ' ')));
|
154
|
+
squirrel.filters.define('capitalise', (str) => (str = str.charAt(0).toUpperCase() + str.slice(1)));
|
155
|
+
squirrel.filters.define('lowercase', (str) => (str = str.toLowerCase()));
|
156
|
+
const Squirrel = squirrel;
|
157
|
+
|
158
|
+
class PromiseQueue {
|
159
|
+
constructor() {
|
160
|
+
this.queue = [];
|
161
|
+
this.workingOnPromise = false;
|
162
|
+
this.stop = false;
|
163
|
+
this.limit = null;
|
164
|
+
}
|
165
|
+
enqueue(promise) {
|
166
|
+
return new Promise((resolve, reject) => {
|
167
|
+
this.queue.push({
|
168
|
+
promise,
|
169
|
+
resolve,
|
170
|
+
reject,
|
171
|
+
});
|
172
|
+
this.dequeue();
|
173
|
+
});
|
174
|
+
}
|
175
|
+
dequeue() {
|
176
|
+
if (this.workingOnPromise) {
|
177
|
+
return false;
|
178
|
+
}
|
179
|
+
if (this.stop) {
|
180
|
+
this.queue = [];
|
181
|
+
this.stop = false;
|
182
|
+
return;
|
183
|
+
}
|
184
|
+
const item = this.queue.shift();
|
185
|
+
if (!item) {
|
186
|
+
return false;
|
187
|
+
}
|
188
|
+
try {
|
189
|
+
this.workingOnPromise = true;
|
190
|
+
item
|
191
|
+
.promise()
|
192
|
+
.then((value) => {
|
193
|
+
this.workingOnPromise = false;
|
194
|
+
item.resolve(value);
|
195
|
+
this.dequeue();
|
196
|
+
})
|
197
|
+
.catch((err) => {
|
198
|
+
this.workingOnPromise = false;
|
199
|
+
item.reject(err);
|
200
|
+
this.dequeue();
|
201
|
+
});
|
202
|
+
}
|
203
|
+
catch (err) {
|
204
|
+
this.workingOnPromise = false;
|
205
|
+
item.reject(err);
|
206
|
+
this.dequeue();
|
207
|
+
}
|
208
|
+
return true;
|
209
|
+
}
|
210
|
+
}
|
211
|
+
PromiseQueue.pendingPromise = false;
|
212
|
+
|
213
|
+
const algoliaCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}: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}";
|
214
|
+
|
215
|
+
const CANSHADOW = !!document.head.attachShadow;
|
216
|
+
let Algolia = class extends HTMLElement {
|
217
|
+
constructor() {
|
218
|
+
super();
|
219
|
+
this.__registerHost();
|
220
|
+
this.__attachShadow();
|
221
|
+
this.nanoDidLoad = createEvent(this, "nanoDidLoad", 7);
|
222
|
+
this.nanoResultsShown = createEvent(this, "nanoResultsShown", 3);
|
223
|
+
this.nanoBeforeQuery = createEvent(this, "nanoBeforeQuery", 7);
|
224
|
+
this.nanoAfterQuery = createEvent(this, "nanoAfterQuery", 7);
|
225
|
+
this.nanoNewResults = createEvent(this, "nanoNewResults", 7);
|
226
|
+
// filters that have an initial value
|
227
|
+
this.staticFacetFilters = {};
|
228
|
+
this.dynFacetFilters = {};
|
229
|
+
this.hasLoadSlot = false;
|
230
|
+
this.placedAlgoliaEles = [];
|
231
|
+
// lots of stuff happens asynchronously. This makes sure they fire in the corrent order
|
232
|
+
this.promiseQueue = new PromiseQueue();
|
233
|
+
// Internal state
|
234
|
+
// filters that change via a template. They have no initial value
|
235
|
+
this._dynFacetFilters = {};
|
236
|
+
this.indeces = [];
|
237
|
+
this.filterChanged = '';
|
238
|
+
this.changeEvent = SearchChangeEvent.Init;
|
239
|
+
this.isLoading = false;
|
240
|
+
this.wormholeState = this;
|
241
|
+
// Public props
|
242
|
+
/**
|
243
|
+
* Show the result panel. By default it will automatically show when the result receives new hits.
|
244
|
+
*/
|
245
|
+
this.showResults = false;
|
246
|
+
/**
|
247
|
+
* The current algolia page of results currently being viewed or to get.
|
248
|
+
*/
|
249
|
+
this.resultsPage = 0;
|
250
|
+
/**
|
251
|
+
* Algolia search index. Used in conjunction with 'apiKey' & 'appId'.
|
252
|
+
* ```
|
253
|
+
* { index: string, // algolia index name
|
254
|
+
* domain?: string, // used in template filters to resolve incomplete url fields
|
255
|
+
* filters?: [string], // algolia facets to retrive
|
256
|
+
* hitsPerPage?: number,
|
257
|
+
* name?: string // human readable index name
|
258
|
+
* }
|
259
|
+
* ```
|
260
|
+
*/
|
261
|
+
this.searchIndex = {};
|
262
|
+
/**
|
263
|
+
* Algolia search index name. Alternative to 'searchIndex'.
|
264
|
+
* A simplified shortcut for setting an index.
|
265
|
+
* Properties such as hitsPerPage and facets will come from the algolia index
|
266
|
+
*/
|
267
|
+
this.searchIndexName = '';
|
268
|
+
/**
|
269
|
+
* JS querSelector string of a `nano-input` / `input` element from which
|
270
|
+
* to listen to `nano-change` or `change` events and change the `query` prop.
|
271
|
+
* Not required if an appropriate field is in the 'search-input' slot
|
272
|
+
*/
|
273
|
+
this.listenTo = null;
|
274
|
+
/**
|
275
|
+
* The query string used to search the index. Will automtically be set with any slotted
|
276
|
+
* `search-input` input elements or from elements linked to from `listen-to`
|
277
|
+
*/
|
278
|
+
this.query = '';
|
279
|
+
/**
|
280
|
+
* The external operator joining filter values.
|
281
|
+
*/
|
282
|
+
this.operator = 'and';
|
283
|
+
/**
|
284
|
+
* Query filters to apply to all searches.
|
285
|
+
* Refer to https://www.algolia.com/doc/api-reference/api-parameters/filters for format.
|
286
|
+
*/
|
287
|
+
this.filters = [];
|
288
|
+
/**
|
289
|
+
* Template engine to use when rendering results and filters.
|
290
|
+
* Defaults to Squirrel v8 (https://squirrelly.js.org/). This gives you access
|
291
|
+
* to the underlying squirrel object allowing you to modify it's configuration / add filters.
|
292
|
+
*/
|
293
|
+
this.tplEngine = Squirrel;
|
294
|
+
/**
|
295
|
+
* Template engine render function to use when rendering results and filters.
|
296
|
+
* Defaults to Squirrel v8's render (https://squirrelly.js.org/).
|
297
|
+
*/
|
298
|
+
this.tplRenderFn = Squirrel.render;
|
299
|
+
/**
|
300
|
+
* Changes the index without removing any current filters. Most appropriate for algolia replicas.
|
301
|
+
*/
|
302
|
+
this.replicaIndex = '';
|
303
|
+
/**
|
304
|
+
* Will maintain a search all / '*' on init and reset allowing for a view
|
305
|
+
* then filter experience rather than a search first experience
|
306
|
+
*/
|
307
|
+
this.browseIndex = false; // eslint-disable-line @stencil/strict-mutable
|
308
|
+
/**
|
309
|
+
* Minimum number of characters before performing a search
|
310
|
+
*/
|
311
|
+
this.minChars = 2;
|
312
|
+
/**
|
313
|
+
* The method of storage.
|
314
|
+
* Either session storage, url hash (after the '#') or url query (after the '?').
|
315
|
+
*/
|
316
|
+
this.storeMethod = 'session';
|
317
|
+
this.searchChange = async () => {
|
318
|
+
if (!this.algoliaIndex)
|
319
|
+
return;
|
320
|
+
if (!this.query || this.query.length < this.minChars) {
|
321
|
+
if (!this.browseIndex) {
|
322
|
+
if (!this.query || this.query.length === 0) {
|
323
|
+
this.handleSearchReset();
|
324
|
+
return;
|
325
|
+
}
|
326
|
+
else
|
327
|
+
return;
|
328
|
+
}
|
329
|
+
else if (this.query !== '*') {
|
330
|
+
this.query = '*';
|
331
|
+
return;
|
332
|
+
}
|
333
|
+
}
|
334
|
+
// Do an initialise search (setup searchIndex)
|
335
|
+
this.isLoading = true;
|
336
|
+
setTimeout(async () => {
|
337
|
+
// Clear dynamic filters and reset page
|
338
|
+
this.resetPage();
|
339
|
+
await this.algoliaSearch(SearchChangeEvent.Init);
|
340
|
+
// Populate master content - optionally from template
|
341
|
+
await this.updateContent();
|
342
|
+
setTimeout((_) => (this.isLoading = false), 800);
|
343
|
+
this.showResults = true;
|
344
|
+
this.nanoResultsShown.emit(this.indexResults);
|
345
|
+
}, 200);
|
346
|
+
};
|
347
|
+
// Takes all current filters (dynamic and static)
|
348
|
+
// and merges common filters' values togther
|
349
|
+
this.makeAppliedFilters = () => {
|
350
|
+
let appliedFtrs = [];
|
351
|
+
const makeAppliedFilter = (facetFilters) => {
|
352
|
+
Object.values(facetFilters).forEach((filter) => {
|
353
|
+
if (filter.value && filter.value.length) {
|
354
|
+
let found = appliedFtrs.find((appFilter) => appFilter.name === filter.facetName);
|
355
|
+
if (!found)
|
356
|
+
appliedFtrs.push({
|
357
|
+
name: filter.facetName,
|
358
|
+
values: [...filter.value],
|
359
|
+
});
|
360
|
+
else
|
361
|
+
found.values = [...found.values, ...filter.value];
|
362
|
+
}
|
363
|
+
});
|
364
|
+
};
|
365
|
+
makeAppliedFilter(this.dynFacetFilters);
|
366
|
+
makeAppliedFilter(this.staticFacetFilters);
|
367
|
+
if (appliedFtrs.length)
|
368
|
+
return appliedFtrs;
|
369
|
+
return null;
|
370
|
+
};
|
371
|
+
// Queue up a search
|
372
|
+
this.algoliaSearch = async (eventType) => {
|
373
|
+
return this.promiseQueue.enqueue(() => this.queueSearch(eventType));
|
374
|
+
};
|
375
|
+
// Do a search
|
376
|
+
this.queueSearch = async (eventType) => {
|
377
|
+
if (!this.algoliaIndex ||
|
378
|
+
!this.query ||
|
379
|
+
!this.searchIndex ||
|
380
|
+
!this.searchIndex.index)
|
381
|
+
return;
|
382
|
+
this.nanoBeforeQuery.emit(this.indexResults);
|
383
|
+
// clear all facet filters on init (new query)
|
384
|
+
if (SearchChangeEvent.Init === eventType)
|
385
|
+
this.clearAllFacetFilters();
|
386
|
+
let searchParams = {
|
387
|
+
filters: this.algoliaFilterStr(),
|
388
|
+
page: this.indexResults ? this.indexResults.currentPage : 0,
|
389
|
+
};
|
390
|
+
if (this.searchIndex.filters)
|
391
|
+
searchParams.facets = this.searchIndex.filters;
|
392
|
+
if (this.searchIndex.hitsPerPage)
|
393
|
+
searchParams.hitsPerPage = this.searchIndex.hitsPerPage;
|
394
|
+
let result = (await this.algoliaIndex.search(this.query, searchParams));
|
395
|
+
result = this.fixDomain(result);
|
396
|
+
// set event type - this informs children components why things changed
|
397
|
+
this.changeEvent = eventType;
|
398
|
+
// Setup initial meta on new queries. Some of it should not change on filter / pagination
|
399
|
+
if (eventType === SearchChangeEvent.Init || !this.indexResults) {
|
400
|
+
this.indexResults = {
|
401
|
+
currentPage: 0,
|
402
|
+
totalHits: result.nbHits,
|
403
|
+
hitsPerPage: null,
|
404
|
+
origFilters: result.facets,
|
405
|
+
query: this.query,
|
406
|
+
domain: this.searchIndex.domain || null,
|
407
|
+
legacy: !CANSHADOW,
|
408
|
+
totalHitsWithFilters: 0,
|
409
|
+
results: [],
|
410
|
+
totalPages: 0,
|
411
|
+
appliedFilters: this.makeAppliedFilters(),
|
412
|
+
indexName: this.searchIndex.name || null,
|
413
|
+
index: this.searchIndex.index,
|
414
|
+
};
|
415
|
+
}
|
416
|
+
this.indexResults.dynFilters = result.facets;
|
417
|
+
this.indexResults.results = result.hits;
|
418
|
+
this.indexResults.totalHitsWithFilters = result.nbHits;
|
419
|
+
this.indexResults.currentPage = result.page;
|
420
|
+
this.indexResults.totalPages = result.nbPages;
|
421
|
+
this.indexResults.hitsPerPage = result.hitsPerPage;
|
422
|
+
this.indexResults.query = result.query;
|
423
|
+
// console.log('I GOT NEW RESULTS', eventType, this.query, this.algoliaFilterStr(), this.indexResults.results.length, this.indexResults.currentPage )
|
424
|
+
if (this.changeEvent !== SearchChangeEvent.Page &&
|
425
|
+
this.changeEvent !== SearchChangeEvent.Replica) {
|
426
|
+
this.facets = result.facets;
|
427
|
+
}
|
428
|
+
this.nanoAfterQuery.emit(this.indexResults);
|
429
|
+
// current hits and page will cause re-renders in children components.
|
430
|
+
// Wait a tick before firing otherwise events can fire in the wrong order
|
431
|
+
return new Promise((resolve) => {
|
432
|
+
setTimeout(() => resolve('tpl updated'), 20);
|
433
|
+
}).then((_) => {
|
434
|
+
this.currentHits = this.indexResults.results;
|
435
|
+
this.resultsPage = this.indexResults.currentPage;
|
436
|
+
});
|
437
|
+
};
|
438
|
+
this.handleSearchReset = () => {
|
439
|
+
this.showResults = false;
|
440
|
+
this.indexResults = null;
|
441
|
+
};
|
442
|
+
this.onResultDisplay = () => {
|
443
|
+
writeTask(() => {
|
444
|
+
this.resultsDiv.removeEventListener('transitionend', this.onResultDisplay);
|
445
|
+
if (!this.showResults)
|
446
|
+
this.resultsDiv.style.display = 'none';
|
447
|
+
else {
|
448
|
+
this.defaultDiv.style.display = 'none';
|
449
|
+
this.resultsDiv.classList.add('shown');
|
450
|
+
this.resultsDiv.style.minHeight = '';
|
451
|
+
this.resultsDiv.style.width = '';
|
452
|
+
}
|
453
|
+
});
|
454
|
+
};
|
455
|
+
}
|
456
|
+
// Public methods
|
457
|
+
/**
|
458
|
+
* @param facetName - will clear all filter selections of that type
|
459
|
+
* @param facetValue - will remove a single filter selection
|
460
|
+
* Remove facet filters (as set from nano-algolia-filter elements).
|
461
|
+
* The omission or both will remove all facet filters
|
462
|
+
*/
|
463
|
+
async removeFilters(facetName, facetValue) {
|
464
|
+
if (!facetName && !facetValue)
|
465
|
+
this.clearAllFacetFilters();
|
466
|
+
else {
|
467
|
+
Object.keys(this._dynFacetFilters).forEach((filterId) => {
|
468
|
+
if (facetName &&
|
469
|
+
this._dynFacetFilters[filterId].facetName === facetName) {
|
470
|
+
if (!facetValue)
|
471
|
+
this._dynFacetFilters[filterId].element.value = '';
|
472
|
+
else {
|
473
|
+
this._dynFacetFilters[filterId].element.value =
|
474
|
+
this._dynFacetFilters[filterId].value.filter((val) => val !== facetValue);
|
475
|
+
}
|
476
|
+
}
|
477
|
+
});
|
478
|
+
}
|
479
|
+
}
|
480
|
+
// Listeners to external events
|
481
|
+
// a child nano-algolia-... updated their template
|
482
|
+
onAllTplUpdate(ev) {
|
483
|
+
ev.stopPropagation();
|
484
|
+
if (ev.target.tagName === 'NANO-ALGOLIA-RESULTS') {
|
485
|
+
raf(() => {
|
486
|
+
this.nanoNewResults.emit(this.indexResults);
|
487
|
+
});
|
488
|
+
}
|
489
|
+
}
|
490
|
+
// a nano-algolia-pagination or nano-algolia-results changed the page
|
491
|
+
async onPageChange(ev) {
|
492
|
+
if (!this.indexResults)
|
493
|
+
return;
|
494
|
+
let page = this.resultsPage;
|
495
|
+
if (ev) {
|
496
|
+
ev.stopPropagation();
|
497
|
+
page = ev.detail.page;
|
498
|
+
}
|
499
|
+
page = Math.min(this.indexResults.totalPages - 1, page);
|
500
|
+
page = Math.max(page, 0);
|
501
|
+
if (this.indexResults.currentPage === page)
|
502
|
+
return;
|
503
|
+
this.indexResults.currentPage = page;
|
504
|
+
await this.algoliaSearch(SearchChangeEvent.Page);
|
505
|
+
}
|
506
|
+
/**
|
507
|
+
* nano-algolia-filter changed value.
|
508
|
+
* If that happened before a indexResults were setup, it was a static filter.
|
509
|
+
* Static filters persist accross search changes
|
510
|
+
*/
|
511
|
+
async onFilterChange(ev) {
|
512
|
+
ev.stopPropagation();
|
513
|
+
let dynFilterObj = {};
|
514
|
+
let filter = ev.detail;
|
515
|
+
filter.element = ev.target;
|
516
|
+
if (this.indexResults) {
|
517
|
+
if (this.staticFacetFilters[filter.filterId])
|
518
|
+
this.staticFacetFilters[filter.filterId] = filter;
|
519
|
+
else {
|
520
|
+
dynFilterObj[filter.filterId] = filter;
|
521
|
+
this._dynFacetFilters = Object.assign(Object.assign({}, this._dynFacetFilters), dynFilterObj);
|
522
|
+
}
|
523
|
+
this.indexResults.appliedFilters = this.makeAppliedFilters();
|
524
|
+
}
|
525
|
+
else
|
526
|
+
this.staticFacetFilters[filter.filterId] = filter;
|
527
|
+
this.filterChanged =
|
528
|
+
filter.value && filter.value.length ? filter.filterId : 'all';
|
529
|
+
this.resetPage();
|
530
|
+
this.algoliaSearch(SearchChangeEvent.Filter);
|
531
|
+
}
|
532
|
+
// Internal state watchers
|
533
|
+
// Filters can fire a change event, cause a re-render then get detached.
|
534
|
+
// This can cause filter dupes. Check to see if the original element is still in the DOM.
|
535
|
+
dynFacetFiltersChange() {
|
536
|
+
Object.values(this._dynFacetFilters).forEach((filter) => {
|
537
|
+
if (this.host.ownerDocument === filter.element.ownerDocument)
|
538
|
+
this.dynFacetFilters[filter.filterId] = filter;
|
539
|
+
else
|
540
|
+
delete this.dynFacetFilters[filter.filterId];
|
541
|
+
});
|
542
|
+
}
|
543
|
+
browseIndexChange() {
|
544
|
+
if (this.browseIndex &&
|
545
|
+
(!this.query || this.query.length < this.minChars)) {
|
546
|
+
this.query = '*';
|
547
|
+
}
|
548
|
+
}
|
549
|
+
inputFieldSet() {
|
550
|
+
if (!this.inputField)
|
551
|
+
return;
|
552
|
+
if (this.query !== '*' &&
|
553
|
+
this.inputField &&
|
554
|
+
this.inputField.value !== this.query)
|
555
|
+
this.inputField.value = this.query;
|
556
|
+
}
|
557
|
+
queryChange() {
|
558
|
+
this.searchChange();
|
559
|
+
}
|
560
|
+
async internalIndexSwitch() {
|
561
|
+
if (!this.replicaIndex ||
|
562
|
+
!this.indexResults ||
|
563
|
+
this.indexResults.index === this.replicaIndex)
|
564
|
+
return;
|
565
|
+
this.indexResults.index = this.replicaIndex;
|
566
|
+
this.algoliaIndex = this.algoliaClient.initIndex(this.indexResults.index);
|
567
|
+
this.resetPage();
|
568
|
+
this.algoliaSearch(SearchChangeEvent.Replica);
|
569
|
+
}
|
570
|
+
pageChange() {
|
571
|
+
this.onPageChange();
|
572
|
+
}
|
573
|
+
searchIndexNameChange() {
|
574
|
+
if (!this.searchIndexName ||
|
575
|
+
!this.searchIndexName.length ||
|
576
|
+
(this.searchIndex && this.searchIndex.index === this.searchIndexName))
|
577
|
+
return;
|
578
|
+
this.searchIndex = { index: this.searchIndexName };
|
579
|
+
}
|
580
|
+
initAlgoliaClient() {
|
581
|
+
if (!this.appId || !this.apiKey)
|
582
|
+
return;
|
583
|
+
this.algoliaClient = algoliasearch_umd(this.appId, this.apiKey);
|
584
|
+
}
|
585
|
+
initAlgoliaIndex() {
|
586
|
+
if (!this.algoliaClient || !this.searchIndex)
|
587
|
+
return;
|
588
|
+
if (this.searchIndex.index) {
|
589
|
+
if (this.replicaIndex)
|
590
|
+
this.searchIndex.index = this.replicaIndex;
|
591
|
+
this.searchIndexName = this.searchIndex.index;
|
592
|
+
this.algoliaIndex = this.algoliaClient.initIndex(this.searchIndex.index);
|
593
|
+
this.searchChange();
|
594
|
+
}
|
595
|
+
}
|
596
|
+
showResultsChange() {
|
597
|
+
if (!this.resultsDiv || !this.defaultDiv)
|
598
|
+
return;
|
599
|
+
if (this.showResults) {
|
600
|
+
this.resultsDiv.style.width = this.host.scrollWidth + 'px';
|
601
|
+
this.resultsDiv.style.minHeight = this.host.scrollHeight + 'px';
|
602
|
+
writeTask(() => {
|
603
|
+
this.resultsDiv.addEventListener('transitionend', this.onResultDisplay);
|
604
|
+
this.resultsDiv.style.display = 'block';
|
605
|
+
setTimeout(() => this.resultsDiv.classList.add('show'), 50);
|
606
|
+
});
|
607
|
+
}
|
608
|
+
else {
|
609
|
+
writeTask(() => {
|
610
|
+
this.resultsDiv.classList.remove('shown');
|
611
|
+
this.defaultDiv.style.display = 'block';
|
612
|
+
setTimeout(() => {
|
613
|
+
this.resultsDiv.addEventListener('transitionend', this.onResultDisplay);
|
614
|
+
this.resultsDiv.classList.remove('show');
|
615
|
+
if (!!this.slottedInput)
|
616
|
+
this.slottedInput.focus({ preventScroll: true });
|
617
|
+
else
|
618
|
+
this.defaultDiv.focus({ preventScroll: true });
|
619
|
+
}, 50);
|
620
|
+
});
|
621
|
+
}
|
622
|
+
}
|
623
|
+
// Internal methods
|
624
|
+
fixDomain(results) {
|
625
|
+
if (!this.searchIndex || !this.searchIndex.domain)
|
626
|
+
return results;
|
627
|
+
results.hits.map((hit) => {
|
628
|
+
if (hit.url && !hit.url.match(/^http/))
|
629
|
+
hit.url = location.protocol + '//' + this.searchIndex.domain + hit.url;
|
630
|
+
});
|
631
|
+
return results;
|
632
|
+
}
|
633
|
+
resetPage() {
|
634
|
+
if (!this.indexResults)
|
635
|
+
return;
|
636
|
+
this.indexResults.currentPage = 0;
|
637
|
+
}
|
638
|
+
clearAllFacetFilters() {
|
639
|
+
Object.values(this._dynFacetFilters).forEach((filter) => {
|
640
|
+
filter.element.value = '';
|
641
|
+
});
|
642
|
+
this._dynFacetFilters = {};
|
643
|
+
}
|
644
|
+
algoliaFilterStr() {
|
645
|
+
// groups applied facet filters (from algolia-filter components)
|
646
|
+
// with their applied, 'internal' operators (and, or, not)
|
647
|
+
let facetFilterObj = {};
|
648
|
+
const groupFilters = (facetFilters) => {
|
649
|
+
let filter;
|
650
|
+
let filterOp;
|
651
|
+
Object.keys(facetFilters).forEach((filterId) => {
|
652
|
+
filter = facetFilters[filterId];
|
653
|
+
facetFilterObj[filterId] = facetFilterObj[filterId] || {
|
654
|
+
name: filter.facetName,
|
655
|
+
or: [],
|
656
|
+
and: [],
|
657
|
+
not: [],
|
658
|
+
};
|
659
|
+
filterOp = facetFilterObj[filterId][filter.operator];
|
660
|
+
if (filter.value && filter.value.length) {
|
661
|
+
facetFilterObj[filterId][filter.operator] = [
|
662
|
+
...filterOp,
|
663
|
+
...filter.value,
|
664
|
+
];
|
665
|
+
}
|
666
|
+
});
|
667
|
+
};
|
668
|
+
groupFilters(this.dynFacetFilters);
|
669
|
+
groupFilters(this.staticFacetFilters);
|
670
|
+
const formatVal = (name, val) => {
|
671
|
+
if (val.indexOf(' ') > -1)
|
672
|
+
return name + ':"' + val + '"';
|
673
|
+
else
|
674
|
+
return name + ':' + val;
|
675
|
+
};
|
676
|
+
let filterStrParts = [];
|
677
|
+
let operatorGrp;
|
678
|
+
let filterName;
|
679
|
+
// let processedFilters: string[] = [];
|
680
|
+
// joins all applied facet filter operator groups with the set 'outer'
|
681
|
+
// operator into an algolia filter query string
|
682
|
+
Object.values(facetFilterObj).forEach(function (filter) {
|
683
|
+
Object.keys(filter)
|
684
|
+
.filter((filterProp) => filterProp.match(/(or|and|not)/))
|
685
|
+
.forEach((operator) => {
|
686
|
+
operatorGrp = filter;
|
687
|
+
filterName = filter.name;
|
688
|
+
if (operator === 'or' || operator === 'and') {
|
689
|
+
if (operatorGrp[operator].length) {
|
690
|
+
filterStrParts.push('( \
|
691
|
+
' +
|
692
|
+
operatorGrp[operator]
|
693
|
+
.map((val) => {
|
694
|
+
if (val.length)
|
695
|
+
return formatVal(filterName, val);
|
696
|
+
})
|
697
|
+
.join(' ' + operator.toLocaleUpperCase() + ' ') +
|
698
|
+
' \
|
699
|
+
)');
|
700
|
+
}
|
701
|
+
}
|
702
|
+
else {
|
703
|
+
if (operatorGrp.not.length) {
|
704
|
+
filterStrParts.push('( \
|
705
|
+
' +
|
706
|
+
operatorGrp[operator]
|
707
|
+
.map((val) => {
|
708
|
+
if (val.length)
|
709
|
+
return 'NOT ' + formatVal(filterName, val);
|
710
|
+
})
|
711
|
+
.join(' AND ') +
|
712
|
+
' \
|
713
|
+
)');
|
714
|
+
}
|
715
|
+
}
|
716
|
+
});
|
717
|
+
});
|
718
|
+
// add in any static applied filters from filters prop
|
719
|
+
filterStrParts = [...this.filters, ...filterStrParts];
|
720
|
+
// console.log('filterStr:', filterStrParts.join(' ' + this.operator.toLocaleUpperCase() + ' '))
|
721
|
+
return filterStrParts.join(' ' + this.operator.toLocaleUpperCase() + ' ');
|
722
|
+
}
|
723
|
+
handleInputChange(ev) {
|
724
|
+
if (ev.target !== this.inputField)
|
725
|
+
return;
|
726
|
+
this.query = this.inputField.value;
|
727
|
+
}
|
728
|
+
async updateContent() {
|
729
|
+
return this.promiseQueue.enqueue(() => this.updateContentQueue());
|
730
|
+
}
|
731
|
+
async updateContentQueue() {
|
732
|
+
let outputTo = this.outputSlot || this.resultsDiv;
|
733
|
+
if (!outputTo || !this.tpl)
|
734
|
+
return 'no tpl';
|
735
|
+
let tmpCont = document.createElement('div');
|
736
|
+
tmpCont.innerHTML = this.tpl;
|
737
|
+
let algoliaEles = [];
|
738
|
+
this.placedAlgoliaEles = [];
|
739
|
+
// take out children algolia elements 'cos they have their own templates
|
740
|
+
// don't want to swap in their templates
|
741
|
+
Array.from(tmpCont.querySelectorAll('nano-algolia, nano-algolia-filter, nano-algolia-results')).forEach((el, i) => {
|
742
|
+
let placeholder = document.createElement('div');
|
743
|
+
placeholder.dataset.placeholderId = i.toString();
|
744
|
+
placeholder.classList.add('nano-ele-placeholder');
|
745
|
+
algoliaEles.push(el);
|
746
|
+
el.parentNode.replaceChild(placeholder, el);
|
747
|
+
});
|
748
|
+
// swap in template content
|
749
|
+
// (all this nonsense htmlencodes any < or >)
|
750
|
+
outputTo.innerHTML = this.tplRenderFn(tmpCont.innerHTML
|
751
|
+
.replace(/>/gm, '>')
|
752
|
+
.replace(/</gm, '<')
|
753
|
+
.replace(/&/gm, '&'), this.indexResults);
|
754
|
+
// put back in algolia elements
|
755
|
+
Array.from(outputTo.querySelectorAll('div.nano-ele-placeholder')).forEach((el) => {
|
756
|
+
el.parentNode.replaceChild(algoliaEles[parseInt(el.dataset.placeholderId)], el);
|
757
|
+
this.placedAlgoliaEles.push(algoliaEles[parseInt(el.dataset.placeholderId)]);
|
758
|
+
});
|
759
|
+
if (!this.placedAlgoliaEles.length)
|
760
|
+
return Promise.resolve('algolia setup');
|
761
|
+
// wait for all children algolia elements to resolve before calling 'done'
|
762
|
+
return new Promise((resolve) => {
|
763
|
+
const childrenResolver = (ev) => {
|
764
|
+
this.placedAlgoliaEles = this.placedAlgoliaEles.filter((ele) => ele !== ev.detail);
|
765
|
+
if (!this.placedAlgoliaEles.length) {
|
766
|
+
setTimeout(() => resolve('tpl updated'), 500);
|
767
|
+
outputTo.removeEventListener('nanoTplUpdated', childrenResolver);
|
768
|
+
}
|
769
|
+
};
|
770
|
+
outputTo.addEventListener('nanoTplUpdated', childrenResolver);
|
771
|
+
});
|
772
|
+
}
|
773
|
+
// Stencil hooks
|
774
|
+
componentWillLoad() {
|
775
|
+
readTask((_) => {
|
776
|
+
this.tplSlot = getDirectChildren(this.host, '[slot="template"]')[0];
|
777
|
+
this.outputSlot = getDirectChildren(this.host, '[slot="output"]')[0];
|
778
|
+
this.slottedInput = getDirectChildren(this.host, '[slot="search-input"]')[0];
|
779
|
+
this.hasLoadSlot = !!getDirectChildren(this.host, '[slot="loader"]')[0];
|
780
|
+
if (!!this.tplSlot)
|
781
|
+
this.tpl = this.tplSlot.innerHTML;
|
782
|
+
// get input field to listen to
|
783
|
+
if (this.slottedInput &&
|
784
|
+
(this.slottedInput.tagName.toLocaleLowerCase() === 'nano-input' ||
|
785
|
+
this.slottedInput instanceof HTMLInputElement)) {
|
786
|
+
this.inputField = this.slottedInput;
|
787
|
+
}
|
788
|
+
else if (this.slottedInput) {
|
789
|
+
this.inputField = this.slottedInput.querySelector('nano-input, input:not([type="radio"]):not([type="checkbox"])');
|
790
|
+
}
|
791
|
+
writeTask((_) => {
|
792
|
+
if (this.showResults && this.tpl)
|
793
|
+
this.searchChange();
|
794
|
+
});
|
795
|
+
});
|
796
|
+
this.searchIndexNameChange();
|
797
|
+
this.initAlgoliaClient();
|
798
|
+
this.initAlgoliaIndex();
|
799
|
+
// Create wormwhole shared 'universe' (https://github.com/mihar-22/stencil-wormhole)
|
800
|
+
Universe.create(this, this.wormholeState);
|
801
|
+
if (this.storeId) {
|
802
|
+
ComponentStore.init(this, ['query', 'replicaIndex'], this.storeMethod, this.storeId);
|
803
|
+
ComponentStore.init(this, ['apiKey', 'appId', 'searchIndex'], 'session', this.storeId + '_api');
|
804
|
+
}
|
805
|
+
this.internalIndexSwitch();
|
806
|
+
}
|
807
|
+
connectedCallback() {
|
808
|
+
this.searchChange = debounce(this.searchChange, 300);
|
809
|
+
this.browseIndexChange();
|
810
|
+
if (!Build.isBrowser)
|
811
|
+
return;
|
812
|
+
this.host.dispatchEvent(new CustomEvent('nanoDidLoad', {
|
813
|
+
detail: this.host,
|
814
|
+
}));
|
815
|
+
}
|
816
|
+
render() {
|
817
|
+
const wormholeState = {
|
818
|
+
indexResults: this.indexResults,
|
819
|
+
results: this.currentHits,
|
820
|
+
filterChanged: this.filterChanged,
|
821
|
+
tplRenderFn: this.tplRenderFn,
|
822
|
+
resultsPage: this.resultsPage,
|
823
|
+
changeEvent: this.changeEvent,
|
824
|
+
facets: this.facets,
|
825
|
+
algoliaIndex: this.algoliaIndex,
|
826
|
+
searchIndex: this.searchIndex,
|
827
|
+
globalStoreMethod: this.storeMethod,
|
828
|
+
isLoading: this.isLoading,
|
829
|
+
};
|
830
|
+
return (h(Host, { class: {
|
831
|
+
'show-results': this.showResults,
|
832
|
+
'is-loading': this.isLoading,
|
833
|
+
}, "aria-busy": this.isLoading }, this.hasLoadSlot && (h("div", { hidden: !this.isLoading }, h("slot", { name: "loader" }))), !this.hasLoadSlot && (h("div", { class: {
|
834
|
+
loader: true,
|
835
|
+
loading: this.isLoading,
|
836
|
+
} }, h("nano-spinner", { overlay: true, type: "circle" }))), h(Universe.Provider, { state: wormholeState }, h("slot", { name: "search-input" }), h("div", { class: "results-container", "aria-live": "polite" }, h("div", { ref: (div) => (this.resultsDiv = div), class: "results" }, h("slot", { name: "output" })))), h("div", { ref: (div) => (this.defaultDiv = div), class: "default", tabindex: "-1" }, h("slot", null))));
|
837
|
+
}
|
838
|
+
get host() { return this; }
|
839
|
+
static get watchers() { return {
|
840
|
+
"_dynFacetFilters": ["dynFacetFiltersChange"],
|
841
|
+
"browseIndex": ["browseIndexChange"],
|
842
|
+
"inputField": ["inputFieldSet"],
|
843
|
+
"query": ["queryChange"],
|
844
|
+
"replicaIndex": ["internalIndexSwitch"],
|
845
|
+
"resultsPage": ["pageChange"],
|
846
|
+
"searchIndexName": ["searchIndexNameChange"],
|
847
|
+
"apiKey": ["initAlgoliaClient"],
|
848
|
+
"appId": ["initAlgoliaClient"],
|
849
|
+
"searchIndex": ["initAlgoliaIndex"],
|
850
|
+
"showResults": ["showResultsChange"]
|
851
|
+
}; }
|
852
|
+
static get style() { return algoliaCss; }
|
853
|
+
};
|
854
|
+
Algolia = /*@__PURE__*/ proxyCustomElement(Algolia, [1, "nano-algolia", {
|
855
|
+
"showResults": [1028, "show-results"],
|
856
|
+
"resultsPage": [1026, "results-page"],
|
857
|
+
"appId": [1025, "app-id"],
|
858
|
+
"apiKey": [1025, "api-key"],
|
859
|
+
"searchIndex": [1040],
|
860
|
+
"searchIndexName": [1025, "search-index-name"],
|
861
|
+
"listenTo": [1, "listen-to"],
|
862
|
+
"query": [1025],
|
863
|
+
"operator": [1],
|
864
|
+
"filters": [16],
|
865
|
+
"tplEngine": [16],
|
866
|
+
"tplRenderFn": [16],
|
867
|
+
"replicaIndex": [1025, "replica-index"],
|
868
|
+
"browseIndex": [1028, "browse-index"],
|
869
|
+
"minChars": [2, "min-chars"],
|
870
|
+
"storeId": [1, "store-id"],
|
871
|
+
"storeMethod": [1, "store-method"],
|
872
|
+
"_dynFacetFilters": [32],
|
873
|
+
"inputField": [32],
|
874
|
+
"algoliaIndex": [32],
|
875
|
+
"indeces": [32],
|
876
|
+
"resultsEmitterEle": [32],
|
877
|
+
"indexResults": [32],
|
878
|
+
"filterChanged": [32],
|
879
|
+
"currentHits": [32],
|
880
|
+
"changeEvent": [32],
|
881
|
+
"isLoading": [32],
|
882
|
+
"wormholeState": [32],
|
883
|
+
"removeFilters": [64]
|
884
|
+
}, [[0, "nanoTplUpdated", "onAllTplUpdate"], [0, "nanoPageChanged", "onPageChange"], [0, "nanoFilterChanged", "onFilterChange"], [16, "nanoChange", "handleInputChange"], [16, "change", "handleInputChange"]]]);
|
885
|
+
function defineCustomElement() {
|
886
|
+
if (typeof customElements === "undefined") {
|
887
|
+
return;
|
888
|
+
}
|
889
|
+
const components = ["nano-algolia", "nano-spinner"];
|
890
|
+
components.forEach(tagName => { switch (tagName) {
|
891
|
+
case "nano-algolia":
|
892
|
+
if (!customElements.get(tagName)) {
|
893
|
+
customElements.define(tagName, Algolia);
|
894
|
+
}
|
895
|
+
break;
|
896
|
+
case "nano-spinner":
|
897
|
+
if (!customElements.get(tagName)) {
|
898
|
+
defineCustomElement$1();
|
899
|
+
}
|
900
|
+
break;
|
901
|
+
} });
|
902
|
+
}
|
903
|
+
|
904
|
+
export { Algolia as A, defineCustomElement as d };
|
905
|
+
|
906
|
+
//# sourceMappingURL=algolia.js.map
|