@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,1221 @@
|
|
1
|
+
/*!
|
2
|
+
* Web Components for Nanopore digital Web Apps
|
3
|
+
*/
|
4
|
+
import { HTMLElement, createEvent, readTask, writeTask, Build, h, Host, getAssetPath, proxyCustomElement } from '@stencil/core/internal/client';
|
5
|
+
import { a as algoliasearch_umd } from './algoliasearch.umd.js';
|
6
|
+
import { d as displayTransition } from './index2.js';
|
7
|
+
import { C as ComponentStore } from './component-store.js';
|
8
|
+
import { d as defineCustomElement$a } from './datalist.js';
|
9
|
+
import { d as defineCustomElement$9 } from './dropdown.js';
|
10
|
+
import { d as defineCustomElement$8 } from './icon.js';
|
11
|
+
import { d as defineCustomElement$7 } from './input.js';
|
12
|
+
import { d as defineCustomElement$6 } from './menu.js';
|
13
|
+
import { d as defineCustomElement$5 } from './nav-item.js';
|
14
|
+
import { d as defineCustomElement$4 } from './option.js';
|
15
|
+
import { d as defineCustomElement$3 } from './select.js';
|
16
|
+
import { d as defineCustomElement$2 } from './sticker.js';
|
17
|
+
import { d as debounce } from './throttle.js';
|
18
|
+
import { c as closestElement } from './dom.js';
|
19
|
+
|
20
|
+
var __rest = (undefined && undefined.__rest) || function (s, e) {
|
21
|
+
var t = {};
|
22
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
23
|
+
t[p] = s[p];
|
24
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
25
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
26
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
27
|
+
t[p[i]] = s[p[i]];
|
28
|
+
}
|
29
|
+
return t;
|
30
|
+
};
|
31
|
+
async function clientFetch(url, _a = {}) {
|
32
|
+
var { body } = _a, customConfig = __rest(_a, ["body"]);
|
33
|
+
const headers = {
|
34
|
+
Accept: 'application/json, text/plain, */*',
|
35
|
+
'Access-Control-Allow-Origin': '*',
|
36
|
+
'Content-Type': 'application/json',
|
37
|
+
Cache: 'no-cache',
|
38
|
+
};
|
39
|
+
const config = Object.assign(Object.assign({ method: body ? 'POST' : 'GET', credentials: 'include', keepalive: true, mode: 'cors' }, customConfig), { headers: Object.assign(Object.assign({}, headers), customConfig.headers) });
|
40
|
+
if (body) {
|
41
|
+
config.body = JSON.stringify(body);
|
42
|
+
}
|
43
|
+
let id = setTimeout(() => { }, 0);
|
44
|
+
if (window.AbortController) {
|
45
|
+
const controller = new AbortController();
|
46
|
+
const { timeout = 500 } = customConfig;
|
47
|
+
id = setTimeout(() => controller.abort(), timeout);
|
48
|
+
config.signal = controller.signal;
|
49
|
+
}
|
50
|
+
const response = await fetch(url, config);
|
51
|
+
clearTimeout(id);
|
52
|
+
if (response.ok) {
|
53
|
+
return await response.json();
|
54
|
+
}
|
55
|
+
else {
|
56
|
+
const errorMessage = await response.text();
|
57
|
+
return new Error(errorMessage);
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
61
|
+
const globalNavCss = ":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{--padding:12px;--padding-top:var(--padding);--padding-end:var(--padding);--padding-bottom:var(--padding);--padding-start:var(--padding);--bar-background:#005c75;--bar-text-color:white;--bar-color-shade:rgb(19, 89, 111);--bar-color-tint:rgb(19, 89, 111);--bar-color-focus:#90c6e7;--menu-background:#001a21;--menu-text-color:white;--menu-dropdown-bg:#196c82;--menu-dropdown-color:white;display:block;position:relative;line-height:1.5;height:100%}:host *{-webkit-box-sizing:inherit;box-sizing:inherit}.global-nav{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;font-size:0.88em;z-index:var(--nano-layer-index-menubar, 10)}.global-nav button{background:none;color:inherit;border:none;padding:0}.global-nav .icon-btn{position:relative;background:none;color:inherit;border:none;-ms-flex-item-align:normal;-ms-grid-row-align:normal;align-self:normal;padding:9px 7px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.global-nav .icon-btn nano-icon{width:18px;height:18px}.global-nav ::slotted(nano-nav-item[slot=icon]){--padding-top:9px;--padding-bottom:9px;--padding-start:7px;--padding-end:7px;--display:flex;font-size:18px}.global-nav a{color:inherit;text-decoration:none;white-space:nowrap}.global-nav .nav-links_title{margin:8px 0 3px}.global-nav .nav-links ul{margin:0;padding:0}.global-nav .nav-links li{list-style:none}.global-nav .login-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:0.94em}.global-nav .menu-btn{padding:9px var(--padding) 9px var(--padding)}.gn-menu{position:fixed;top:0;left:0;z-index:-1;display:none;-webkit-transition:z-index 0.01s ease 0.2s;transition:z-index 0.01s ease 0.2s;height:100vh;width:100vw;overflow-y:auto}:host([dir=rtl]) .gn-menu{left:auto;right:0}:host(.threshold-2) .gn-menu{position:absolute;width:calc(100vw - 20px)}.gn-menu.menu-full-screen{width:100vw !important}.gn-menu_wrap{max-width:92vw;width:335px;background:var(--menu-background);color:var(--menu-text-color);padding:var(--padding) 0;-webkit-box-shadow:0 0 36px 0 rgba(0, 0, 0, 0.8);box-shadow:0 0 36px 0 rgba(0, 0, 0, 0.8);position:relative;pointer-events:all;margin-bottom:36px;opacity:0;outline:none;-webkit-transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease}.gn-menu_wrap.has-promotion{padding:var(--padding) 0 0}.gn-menu.open{z-index:var(--nano-layer-index-dropdown, 300);-webkit-transition:z-index 0.01s ease;transition:z-index 0.01s ease}.gn-menu.open .gn-menu_wrap{opacity:1;-webkit-transform:translate3d(0, 0, 0) !important;transform:translate3d(0, 0, 0) !important;-webkit-transition:opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s;transition:transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s}.gn-menu_actions{padding-right:calc(var(--padding) / 2);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu_actions{padding-right:unset;-webkit-padding-end:calc(var(--padding) / 2);padding-inline-end:calc(var(--padding) / 2)}}.gn-menu_actions-counter{background:#d0021b;color:#fff;position:absolute;bottom:4px;right:0;left:auto;font-size:9px;height:14px;line-height:14px;width:auto;min-width:14px;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;text-indent:0}.gn-menu .content-wrap{position:relative;overflow:hidden;-webkit-transition:0.2s ease min-height;transition:0.2s ease min-height;min-height:190px}.gn-menu .content--sub{padding:var(--padding) 0 var(--padding) 7px}.gn-menu .menu-btn{margin-right:auto}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .menu-btn{margin-right:unset;-webkit-margin-end:auto;margin-inline-end:auto}}.gn-menu .nav-links{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.gn-menu .nav-links ::slotted(nano-nav-item),.gn-menu .nav-links nano-nav-item{--icon-size:14px;--display:inline-block;--secondary-bg-color:#001a21;--padding-top:10px;--padding-bottom:10px;--padding-end:calc(var(--padding) * 2);--padding-start:calc(var(--padding) + 3px);--color:white;--color-hover:#90c6e7;--bg-color-hover:transparent;--bg-color-focus:#002530;--focus-outline:none;font-size:0.99em;width:100%}.gn-menu .nav-links .user-nav{--bg-color:#193037;--padding-top:9px;--padding-bottom:9px;font-weight:bold;margin:5px 0 0}.gn-menu .nav-links .user-nav ::slotted(nano-nav-item),.gn-menu .nav-links .user-nav nano-nav-item{font-weight:500;--bg-color:transparent}.gn-menu .nav-links_title{margin:0 var(--padding) 4px;border-bottom:1px solid #33484d;padding-bottom:8px;font-size:0.86em;text-transform:uppercase;color:#90c6e7;letter-spacing:1px;font-weight:700}.gn-menu .nav-links-wrap{margin:18px 0}.gn-menu .nav-links-wrap:last-child{margin-bottom:0}.gn-menu .nav-links .back-btn{border-top:1px solid #33484d;border-bottom:1px solid #33484d;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px 11px 10px 0;width:100%;font-size:12px;text-transform:uppercase;color:#90c6e7;letter-spacing:1px;font-weight:700}.gn-menu .nav-links .back-btn nano-icon{margin-right:10px;font-size:12px;color:white}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .nav-links .back-btn nano-icon{margin-right:unset;-webkit-margin-end:10px;margin-inline-end:10px}}.gn-menu .nav-links--sub{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.gn-menu .nav-links--sub ::slotted(nano-nav-item),.gn-menu .nav-links--sub nano-nav-item{--border-bottom:none;--padding-end:var(--padding);--padding-start:var(--padding);--padding-top:8px;--padding-bottom:8px;margin:0;width:50%;line-height:1.8}.gn-menu .nav-links .content{padding:8px var(--padding)}.gn-menu .login-btn{padding-left:7px;padding-right:var(--padding);padding-top:9px;padding-bottom:9px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .login-btn{padding-left:unset;padding-right:unset;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:var(--padding);padding-inline-end:var(--padding)}}.gn-menu .login-btn nano-icon{margin-left:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .login-btn nano-icon{margin-left:unset;-webkit-margin-start:10px;margin-inline-start:10px;}}.gn-menu .logout-btn{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.gn-menu .logout-btn a{padding:0 5px}.sticker-trigger{background:var(--bar-background);width:100%;z-index:calc(var(--nano-layer-index-menubar, 10) + 1)}.bars{color:var(--bar-text-color);z-index:var(--nano-layer-index-menubar, 10);position:relative;max-width:100%;min-width:100%;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:0.2s ease box-shadow;transition:0.2s ease box-shadow}[stuck] .bars{-webkit-box-shadow:0 1px 25px 0 rgba(0, 0, 0, 0.15);box-shadow:0 1px 25px 0 rgba(0, 0, 0, 0.15)}.bars::before{content:\"\";width:100%;height:100%;z-index:-1;background:var(--bar-background);position:absolute}.bars .search-widget{margin-left:11px;margin-right:auto;position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;max-width:45vw;min-width:269px;max-height:36px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.bars .search-widget{margin-left:unset;margin-right:unset;-webkit-margin-start:11px;margin-inline-start:11px;-webkit-margin-end:auto;margin-inline-end:auto}}.bars .search-inputs{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0}.bars .search-inputs input[type=submit]{display:none}.bars .search-autocomplete{position:absolute;top:calc(100% - 2px);width:100%;left:0;background:white;border:2px solid var(--bar-color-tint);border-radius:0 0 5px 5px;color:#4a4a4a;font-size:0.85em;padding:calc(var(--padding) / 2) 0 1px 0;z-index:1}:host([dir=rtl]) .bars .search-autocomplete{left:auto;right:0}.bars .search-autocomplete-hit{padding:calc(var(--padding) / 4) var(--padding) calc(var(--padding) / 4) var(--padding);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;text-align:left;line-height:1.5;cursor:pointer}:host([dir=rtl]) .bars .search-autocomplete-hit{text-align:right}.bars .search-autocomplete-hit-scope{font-size:0.76em;color:#a7b0b3;font-weight:600}.bars .search-autocomplete-hit:hover,.bars .search-autocomplete-hit:focus{background-color:#e4e6e8}.bars .search-autocomplete-hit .search__highlight,.bars .search-autocomplete-hit em{font-weight:bold;font-style:normal}.bars .search-autocomplete-hit--no-result:hover,.bars .search-autocomplete-hit--no-result:focus{background:none !important}.bars .search-autocomplete-foot{margin:7px 0 0}.bars .search-autocomplete-submit{background:none;border:none;-ms-flex-item-align:normal;-ms-grid-row-align:normal;align-self:normal;padding:9px var(--padding);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#007495;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;width:100%;text-decoration:underline;border-top:1px solid #e8eaea}.bars .search-autocomplete-submit:hover,.bars .search-autocomplete-submit:focus{background-color:#e4e6e8}.bars .search-input{--input-border-style:solid 1px rgb(85, 140, 157);--input-border-style--focus:solid 1px var(--bar-color-focus, #90c6e7);--input-border-width:1px;font-size:0.9em}.bars nano-select.search-input{--input-bg-color:var(--bar-color-tint, rgb(88, 140, 161));--input-text-color:inherit;--input-border-radius:5px 0 0 5px;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:relative;left:1px}:host([dir=rtl]) .bars nano-select.search-input{--input-border-radius:0 5px 5px 0}:host(:not(.ready)) .bars nano-select.search-input{overflow:hidden;max-height:1em}.bars nano-select.search-input .down-arrow{font-size:0.65em}.bars nano-input.search-input{--input-text-color:inherit;--input-bg-color:var(--bar-color-shade, rgb(40, 110, 133));--clear-btn-color:#4a4a4a;--input-border-radius:0 5px 5px 0;--placeholder-color:white;width:206px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1}:host([dir=rtl]) .bars nano-input.search-input{--input-border-radius:5px 0 0 5px}:host(:not(.ready)) .bars nano-input.search-input{overflow:hidden;max-height:1em}.bars nano-input.search-input.has-value{--input-bg-color:#fff;--input-text-color:#4a4a4a}.bars nano-input.search-input.has-value .search-icon{color:#4a4a4a}.bars nano-input.search-input .search-icon{background:none;color:white;padding:0 8px;display:none}.bars nano-input.search-input .search-icon--show{display:-webkit-box;display:-ms-flexbox;display:flex}.bars nano-input.search-input .search-icon--loader{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.bars nano-input.search-input .search-icon nano-icon{height:1.4em}.main-bar{width:100%;padding-left:0;padding-right:var(--padding);padding-top:var(--padding);padding-bottom:var(--padding);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;overflow-x:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar{padding-left:unset;padding-right:unset;-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:var(--padding);padding-inline-end:var(--padding)}}.main-bar:focus{outline:none}:host(.ready) .main-bar{overflow-x:visible}.main-bar>*,.main-bar ::slotted(*){-webkit-transition:opacity 0.2s ease;transition:opacity 0.2s ease}:host(:not(.ready)) .main-bar>*,:host(:not(.ready)) .main-bar ::slotted(*){opacity:0 !important}:host(.ready) .main-bar>*,:host(.ready) .main-bar ::slotted(*){opacity:1}:host(.resizing) .main-bar>*,:host(.resizing) .main-bar ::slotted(*){opacity:0 !important}.main-bar>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.main-bar>* ::slotted(nano-nav-item[slot=icon]){margin-left:11px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar>* ::slotted(nano-nav-item[slot=icon]){margin-left:unset;-webkit-margin-start:11px;margin-inline-start:11px;}}.main-bar>* ::slotted(nano-nav-item),.main-bar>* nano-nav-item{--color-hover:#e4e6e8;--secondary-bg-color:var(--menu-dropdown-bg);--secondary-color:var(--menu-dropdown-color);--bg-color-open:var(--bar-background);text-decoration:none !important}.main-bar .icon-btn{margin-left:6px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .icon-btn{margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px;}}:host(.threshold-2) .main-bar .icon-btn{margin-left:11px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.threshold-2) .main-bar .icon-btn{margin-left:unset;-webkit-margin-start:11px;margin-inline-start:11px;}}.main-bar .menu-btn.icon-btn{margin:0 !important}:host(:not([dir=rtl])) .main-bar .menu-btn.icon-btn{border-right:1.5px solid var(--bar-color-shade)}:host([dir=rtl]) .main-bar .menu-btn.icon-btn{border-left:1.5px solid var(--bar-color-shade)}.main-bar .user-links{position:relative}.main-bar .user-links .icon-btn{padding-right:0;font-size:0.93em;font-weight:500}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .user-links .icon-btn{padding-right:unset;-webkit-padding-end:0;padding-inline-end:0}}.main-bar .user-links .icon-btn nano-icon{margin-left:5px;width:16px;height:16px;-webkit-transform-origin:center;transform-origin:center;-webkit-transition:color 0.2s ease, -webkit-transform 0.2s ease;transition:color 0.2s ease, -webkit-transform 0.2s ease;transition:transform 0.2s ease, color 0.2s ease;transition:transform 0.2s ease, color 0.2s ease, -webkit-transform 0.2s ease}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .user-links .icon-btn nano-icon{margin-left:unset;-webkit-margin-start:5px;margin-inline-start:5px;}}.main-bar .user-links .icon-btn.open nano-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);color:#007495}.main-bar .user-links-panel{display:none;position:absolute;border-radius:4px 0 4px 4px;-webkit-box-shadow:0 1px 5px 0 rgba(0, 0, 0, 0.4);box-shadow:0 1px 5px 0 rgba(0, 0, 0, 0.4);background-color:#568c9d;opacity:0;-webkit-transform:translate3d(0, 24px, 0);transform:translate3d(0, 24px, 0);-webkit-transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;right:0;font-size:0.85em;min-width:250px;z-index:1}:host([dir=rtl]) .main-bar .user-links-panel{right:auto;left:0}.main-bar .user-links-panel:focus{outline:none}.main-bar .user-links-panel.show{opacity:1;-webkit-transform:translate3d(0, 4px, 0);transform:translate3d(0, 4px, 0)}.main-bar .user-links-panel-content{padding:0 18px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.main-bar .user-links-panel-content a{padding:11px 0;border-bottom:#669dac 1px solid}.main-bar .user-links-panel-content a:hover,.main-bar .user-links-panel-content a:focus{color:#455556}.main-bar .user-links-panel-content a:last-child{border-bottom:none}.main-bar .user-links-panel-foot{background-color:#aac5cd;border-radius:0 0 4px 4px;padding:var(--padding);color:#455556;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:500;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.main-bar .user-links-panel-foot a:hover{text-decoration:underline}.main-bar .logo{height:34px;width:auto;min-width:196px}:host(:not(.threshold-1)) .main-bar .logo{height:30px}.main-bar .logo-link{margin-left:0;margin-right:auto;padding-left:11px;padding-right:11px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .logo-link{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:auto;margin-inline-end:auto}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .logo-link{padding-left:unset;padding-right:unset;-webkit-padding-start:11px;padding-inline-start:11px;-webkit-padding-end:11px;padding-inline-end:11px}}.main-bar .nav-links{font-size:0.86em;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.main-bar .nav-links ul{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.main-bar .nav-links ::slotted(nano-nav-item),.main-bar .nav-links nano-nav-item{--padding-top:7px;--padding-bottom:7px;--padding-end:2px;--padding-start:2px;--margin:0 11px}.main-bar .nav-links--main{font-weight:bold;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.main-bar .nav-links--main ::slotted(nano-nav-item){--color:white;--padding-end:6px;--padding-start:6px}.main-bar .nav-links--sub{margin-left:6px;--color:#e2e2e2;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .nav-links--sub{margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px;}}.main-bar .login-btn{display:inline-block;border-radius:4px;background-color:#17bb75;color:#fff;padding:3px 10px;position:relative;left:auto;bottom:auto;margin-left:11px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .login-btn{margin-left:unset;margin-right:unset;-webkit-margin-start:11px;margin-inline-start:11px;-webkit-margin-end:0;margin-inline-end:0}}.main-bar .measure-ele{min-width:1px;display:block;margin:0;padding:0}.search-bar{height:0;overflow:hidden;-webkit-transition:0.2s ease height;transition:0.2s ease height;padding:0 var(--padding);outline:none}.search-bar .search-widget{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;overflow:inherit;max-width:none;max-height:none;padding:0 0 var(--padding)}.search-bar .search-inputs{padding:0 0;margin:0 0}.search-bar .search-autocomplete{top:calc(100% - (var(--padding) + 1px))}.site-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:min-height 0.2s ease;transition:min-height 0.2s ease;min-height:calc(100% - 61px);position:relative;z-index:auto;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.mask{opacity:0;background:rgba(0, 0, 0, 0.3);position:fixed;left:0;right:0;top:0;height:100vh;z-index:-1;-webkit-transition:opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s, -webkit-transform 0.2s ease;transition:opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s, -webkit-transform 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s;transition:transform 0.2s ease, opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s, -webkit-transform 0.2s ease;visibility:hidden}.mask.open{opacity:1;-webkit-transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;z-index:3;visibility:visible}";
|
62
|
+
|
63
|
+
const THRESHOLDLIMIT = 5;
|
64
|
+
let GlobalNav = class extends HTMLElement {
|
65
|
+
constructor() {
|
66
|
+
super();
|
67
|
+
this.__registerHost();
|
68
|
+
this.__attachShadow();
|
69
|
+
this.nanoIsReady = createEvent(this, "nanoIsReady", 7);
|
70
|
+
this.nanoSearchResult = createEvent(this, "nanoSearchResult", 7);
|
71
|
+
this.nanoSearchError = createEvent(this, "nanoSearchError", 7);
|
72
|
+
this.nanoSearchReset = createEvent(this, "nanoSearchReset", 7);
|
73
|
+
this.currSize = 0;
|
74
|
+
this.thresholdsGoingUp = false;
|
75
|
+
this.autocompleteEles = [];
|
76
|
+
this.currAIndex = -1;
|
77
|
+
this.isLoggedIn = false;
|
78
|
+
this.myAccData = null;
|
79
|
+
// myaccount links
|
80
|
+
this.aboutNavItms = [];
|
81
|
+
this.siteNavItms = [];
|
82
|
+
this.loggedInNavItms = [];
|
83
|
+
this.hasLoggedinSlot = false;
|
84
|
+
this.hasSiteSlot = false;
|
85
|
+
this.hasPromotionSlot = false;
|
86
|
+
// slot item number tests
|
87
|
+
this.aboutSlotLen = 0;
|
88
|
+
this.iconSlotLen = 0;
|
89
|
+
this.mainSlotLen = 0;
|
90
|
+
this.overflowSlotLen = 0;
|
91
|
+
this.searchSlotLen = 0;
|
92
|
+
this.internalSearchIndeces = [];
|
93
|
+
this.thresholdReady = false;
|
94
|
+
this.remoteDataReady = false;
|
95
|
+
this.ready = false;
|
96
|
+
this.isResizing = false;
|
97
|
+
this.threshold = THRESHOLDLIMIT;
|
98
|
+
this.modalOpen = false;
|
99
|
+
this.modalIsOpen = false;
|
100
|
+
this.searchBarShown = false;
|
101
|
+
this.scrollingUp = true;
|
102
|
+
this.searchLoading = false;
|
103
|
+
this.showAutocomplete = false;
|
104
|
+
this.secondaryMenuOpen = false;
|
105
|
+
this.userMenuOpen = false;
|
106
|
+
this.menuFullScreen = false;
|
107
|
+
this.searchValInternal = '';
|
108
|
+
/**
|
109
|
+
* Connect to local, dev, test or prod MyAccount
|
110
|
+
* environments to retrieve global nav / sso data
|
111
|
+
*/
|
112
|
+
this.env = 'prod';
|
113
|
+
/**
|
114
|
+
* Where to take user after SSO login
|
115
|
+
*/
|
116
|
+
this.ssoRedirect = encodeURIComponent(window.location.href);
|
117
|
+
/**
|
118
|
+
* Whether to attempt to get global nav / sso data from MyAccount
|
119
|
+
*/
|
120
|
+
this.getMyAccountData = true;
|
121
|
+
/**
|
122
|
+
* Active MyAccount link sections. By default all will show.
|
123
|
+
*/
|
124
|
+
this.activeMyAccountSections = null;
|
125
|
+
/**
|
126
|
+
* Whether to show search functionality
|
127
|
+
*/
|
128
|
+
this.showSearch = true;
|
129
|
+
/**
|
130
|
+
* Whether to show Nanopore logo
|
131
|
+
*/
|
132
|
+
this.showLogo = true;
|
133
|
+
/**
|
134
|
+
* The link to put on the logo
|
135
|
+
*/
|
136
|
+
this.logoUrl = location.protocol + '//' + location.host;
|
137
|
+
/**
|
138
|
+
* An array of Algolia search indexes (and optional display names). Will be automatically populated from MyAccount
|
139
|
+
*/
|
140
|
+
this.searchIndeces = [];
|
141
|
+
/**
|
142
|
+
* Logged in user details automatically populated from MyAccount
|
143
|
+
*/
|
144
|
+
this.myAccountUser = null;
|
145
|
+
/**
|
146
|
+
* A search value to passed to Algolia to programatically get or to preload search results
|
147
|
+
*/
|
148
|
+
this.searchValue = '';
|
149
|
+
/**
|
150
|
+
* Algolia search index to programatically set or to set an initial index
|
151
|
+
*/
|
152
|
+
this.searchIndex = 'all_prod_en';
|
153
|
+
/**
|
154
|
+
* MyAccount store cart count.
|
155
|
+
*/
|
156
|
+
this.cartCount = 0;
|
157
|
+
/**
|
158
|
+
* MyAccount undread message count.
|
159
|
+
*/
|
160
|
+
this.msgCount = 0;
|
161
|
+
/**
|
162
|
+
* Url to the Nanopore store cart. Will default to the url supplied by MyAccount
|
163
|
+
*/
|
164
|
+
this.cartUrl = null;
|
165
|
+
/**
|
166
|
+
* Url to the Nanopore message center. Will default to the url supplied by MyAccount
|
167
|
+
*/
|
168
|
+
this.msgUrl = null;
|
169
|
+
/**
|
170
|
+
* provides 'isResizing' - we use this to fade content out on 'breakpoint' increase
|
171
|
+
* (when the screen size increases). Otherwise the stepping through of
|
172
|
+
* breakpoints to calculate if content currently fits shows on screen (looks ugly)
|
173
|
+
*/
|
174
|
+
this.setResizingState = (state = false) => {
|
175
|
+
if (typeof this.debounceSetResizingState === 'undefined') {
|
176
|
+
this.debounceSetResizingState = debounce(this.setResizingState, 600);
|
177
|
+
}
|
178
|
+
if (state) {
|
179
|
+
this.isResizing = true;
|
180
|
+
this.debounceSetResizingState();
|
181
|
+
}
|
182
|
+
else {
|
183
|
+
this.isResizing = false;
|
184
|
+
this.thresholdsGoingUp = false;
|
185
|
+
}
|
186
|
+
};
|
187
|
+
this.onMenuBtnKeyDown = (ev) => {
|
188
|
+
switch (ev.key) {
|
189
|
+
case 'Enter':
|
190
|
+
case ' ':
|
191
|
+
this.modalOpen ? this.menuClose(ev, true) : this.menuOpen();
|
192
|
+
break;
|
193
|
+
}
|
194
|
+
};
|
195
|
+
this.onMenuBtnClick = (ev) => {
|
196
|
+
this.menuClose(ev, true);
|
197
|
+
};
|
198
|
+
this.menuOpen = (e) => {
|
199
|
+
if (e)
|
200
|
+
e.preventDefault();
|
201
|
+
this.menuDiv.style.display = 'block';
|
202
|
+
this.modalOpen = true;
|
203
|
+
this.modalIsOpen = true;
|
204
|
+
this.menuWrapDiv.addEventListener('focusout', this.menuClose);
|
205
|
+
this.menuWrapDiv.focus({ preventScroll: true });
|
206
|
+
if (this.threshold < 2 ||
|
207
|
+
this.menuWrapDiv.scrollHeight > window.innerHeight) {
|
208
|
+
document.body.style.overflow = 'hidden';
|
209
|
+
this.menuFullScreen = true;
|
210
|
+
}
|
211
|
+
else
|
212
|
+
document.body.style.overflowX = 'hidden';
|
213
|
+
};
|
214
|
+
this.onMenuHidden = () => {
|
215
|
+
this.menuDiv.removeEventListener('transitionend', this.onMenuHidden);
|
216
|
+
this.menuWrapDiv.removeEventListener('focusout', this.menuClose);
|
217
|
+
document.body.style.overflow = '';
|
218
|
+
this.menuDiv.style.display = 'none';
|
219
|
+
this.modalIsOpen = false;
|
220
|
+
this.menuFullScreen = false;
|
221
|
+
setTimeout(() => {
|
222
|
+
if (document.activeElement === document.body && this.menuBtn)
|
223
|
+
this.mainBarDiv.focus({ preventScroll: true });
|
224
|
+
}, 50);
|
225
|
+
};
|
226
|
+
this.menuClose = (ev, force = false) => {
|
227
|
+
if (!force) {
|
228
|
+
let e = ev;
|
229
|
+
if (e &&
|
230
|
+
e.relatedTarget &&
|
231
|
+
closestElement('#global-nav-menu', e.relatedTarget))
|
232
|
+
return;
|
233
|
+
if (e &&
|
234
|
+
e.relatedTarget &&
|
235
|
+
e.relatedTarget.closest('#global-nav-menu'))
|
236
|
+
return;
|
237
|
+
if (e &&
|
238
|
+
e.relatedTarget &&
|
239
|
+
e.relatedTarget.closest('[slot="promotion"]'))
|
240
|
+
return;
|
241
|
+
if (this.secondaryMenuOpen)
|
242
|
+
return;
|
243
|
+
}
|
244
|
+
this.modalOpen = false;
|
245
|
+
this.menuDiv.addEventListener('transitionend', this.onMenuHidden);
|
246
|
+
};
|
247
|
+
this.subMenuClose = (ev) => {
|
248
|
+
ev.preventDefault();
|
249
|
+
ev.target.closest('nano-nav-item').open = false;
|
250
|
+
};
|
251
|
+
// User profile menu
|
252
|
+
this.onUserBtnClick = (ev) => {
|
253
|
+
ev.preventDefault();
|
254
|
+
this.userMenuOpen = !this.userMenuOpen;
|
255
|
+
};
|
256
|
+
this.onUserBtnKeyDown = (ev) => {
|
257
|
+
switch (ev.key) {
|
258
|
+
case 'Enter':
|
259
|
+
case ' ':
|
260
|
+
this.userMenuOpen = !this.userMenuOpen;
|
261
|
+
break;
|
262
|
+
}
|
263
|
+
};
|
264
|
+
this.onUserMenuBlur = (ev) => {
|
265
|
+
if (!ev.relatedTarget) {
|
266
|
+
this.userMenuOpen = false;
|
267
|
+
return;
|
268
|
+
}
|
269
|
+
if (!!ev.relatedTarget.closest('.user-links-panel'))
|
270
|
+
return false;
|
271
|
+
this.userMenuOpen = false;
|
272
|
+
};
|
273
|
+
// Search bar (smaller screens / mobile)
|
274
|
+
this.onSearchBtnClick = (ev) => {
|
275
|
+
ev.preventDefault();
|
276
|
+
if (!this.searchBarShown)
|
277
|
+
this.searchbarShow();
|
278
|
+
else
|
279
|
+
this.searchbarHide();
|
280
|
+
};
|
281
|
+
this.onSearchBtnKeyDown = (ev) => {
|
282
|
+
switch (ev.key) {
|
283
|
+
case 'Enter':
|
284
|
+
case ' ':
|
285
|
+
this.searchBarShown ? this.searchbarHide() : this.searchbarShow();
|
286
|
+
break;
|
287
|
+
}
|
288
|
+
};
|
289
|
+
this.onSearchBarShown = () => {
|
290
|
+
this.searchBarEl.removeEventListener('transitionend', this.onSearchBarShown);
|
291
|
+
if (this.searchInput)
|
292
|
+
this.searchInput.setFocus();
|
293
|
+
this.searchBarEl.style.overflow = 'visible';
|
294
|
+
};
|
295
|
+
this.searchbarHide = (ev) => {
|
296
|
+
if (ev &&
|
297
|
+
ev.relatedTarget &&
|
298
|
+
ev.relatedTarget.closest('#global-nav-search-bar'))
|
299
|
+
return;
|
300
|
+
this.showAutocomplete = false;
|
301
|
+
if (this.searchValInternal.length && ev)
|
302
|
+
return;
|
303
|
+
this.searchBarEl.addEventListener('transitionend', this.onSearchBarHidden);
|
304
|
+
this.searchBarEl.style.overflow = 'hidden';
|
305
|
+
this.searchBarEl.style.height = '0px';
|
306
|
+
};
|
307
|
+
this.onSearchBarHidden = () => {
|
308
|
+
this.searchBarEl.removeEventListener('transitionend', this.onSearchBarHidden);
|
309
|
+
this.searchBarEl.style.display = 'none';
|
310
|
+
this.searchBarShown = false;
|
311
|
+
};
|
312
|
+
this.onSearchInput = (ev) => {
|
313
|
+
this.searchValInternal = this.searchInput.value;
|
314
|
+
if (!this.isSearchValSet()) {
|
315
|
+
this.searchLoading = false;
|
316
|
+
return;
|
317
|
+
}
|
318
|
+
if (ev.detail.type === 'input') {
|
319
|
+
this.showAutocomplete = false;
|
320
|
+
this.searchLoading = true;
|
321
|
+
}
|
322
|
+
};
|
323
|
+
this.onSearchChange = async (ev) => {
|
324
|
+
this.searchValInternal = this.searchValue = ev
|
325
|
+
? ev.detail.value
|
326
|
+
: this.searchValInternal;
|
327
|
+
this.showAutocomplete = false;
|
328
|
+
this.autocompleteResults = null;
|
329
|
+
if (!this.isSearchValSet()) {
|
330
|
+
if (!this.searchValInternal.length) {
|
331
|
+
this.nanoSearchReset.emit();
|
332
|
+
}
|
333
|
+
this.searchLoading = false;
|
334
|
+
return;
|
335
|
+
}
|
336
|
+
if (!this.currentIndex)
|
337
|
+
this.currentSelectedIndex();
|
338
|
+
try {
|
339
|
+
this.autocompleteResults = this.processSearchResults((await this.currentIndex.alogliaIndex.search(this.searchValInternal, {
|
340
|
+
attributesToSnippet: ['body:5', 'title:8'],
|
341
|
+
hitsPerPage: 5,
|
342
|
+
filters: 'created > ' + Math.floor((Date.now() - 63115200000) / 1000), // only get last 2 years
|
343
|
+
})));
|
344
|
+
}
|
345
|
+
catch (e) {
|
346
|
+
console.error(e);
|
347
|
+
}
|
348
|
+
this.scopeSearch = null;
|
349
|
+
this.scopeSearch = await this.onSearchSubmit(null, false);
|
350
|
+
this.searchLoading = false;
|
351
|
+
this.showAutocompleteResults();
|
352
|
+
};
|
353
|
+
this.onSearchSubmit = async (ev, emit = true) => {
|
354
|
+
if (ev)
|
355
|
+
ev.preventDefault();
|
356
|
+
if (!this.isSearchValSet())
|
357
|
+
return;
|
358
|
+
this.searchLoading = true;
|
359
|
+
this.algoliaSearchResults = null;
|
360
|
+
if (!this.currentIndex)
|
361
|
+
this.currentSelectedIndex();
|
362
|
+
let queries = this.internalSearchIndeces.map((index) => {
|
363
|
+
return {
|
364
|
+
indexName: index.index,
|
365
|
+
query: this.searchValInternal,
|
366
|
+
facets: index.filters,
|
367
|
+
hitsPerPage: 10,
|
368
|
+
filters: 'created > ' + Math.floor((Date.now() - 63115200000) / 1000), // only get last 2 years
|
369
|
+
};
|
370
|
+
});
|
371
|
+
try {
|
372
|
+
this.algoliaSearchResults = this.processSearchResults((await this.algoliaClient.multipleQueries(queries)));
|
373
|
+
}
|
374
|
+
catch (e) {
|
375
|
+
this.nanoSearchError.emit(e);
|
376
|
+
}
|
377
|
+
this.searchLoading = false;
|
378
|
+
if (!this.algoliaSearchResults)
|
379
|
+
return;
|
380
|
+
this.algoliaSearchResults.results.map((result, i) => {
|
381
|
+
result.indexName = this.internalSearchIndeces[i].name;
|
382
|
+
result.selected =
|
383
|
+
this.currentIndex.name === this.internalSearchIndeces[i].name;
|
384
|
+
result.domain = this.currentIndex.domain || null;
|
385
|
+
result.domains = this.myAccData.domains || null;
|
386
|
+
result.allGroup = !!this.internalSearchIndeces[i].allGroup;
|
387
|
+
result.filters = this.internalSearchIndeces[i].filters;
|
388
|
+
});
|
389
|
+
if (emit) {
|
390
|
+
this.nanoSearchResult.emit({
|
391
|
+
results: this.algoliaSearchResults.results,
|
392
|
+
client: { apiKey: this.searchApiKey, appId: this.searchAppId },
|
393
|
+
});
|
394
|
+
this.showAutocomplete = false;
|
395
|
+
}
|
396
|
+
return this.algoliaSearchResults;
|
397
|
+
};
|
398
|
+
this.onSearchIndexChange = async (index) => {
|
399
|
+
let ev = index;
|
400
|
+
let indexStr = index;
|
401
|
+
if (!this.currentIndex)
|
402
|
+
this.currentSelectedIndex();
|
403
|
+
if (ev.detail && ev.detail.value.length)
|
404
|
+
indexStr = ev.detail.value;
|
405
|
+
if (!indexStr || !indexStr.length)
|
406
|
+
return;
|
407
|
+
if (this.currentIndex.index === indexStr)
|
408
|
+
return;
|
409
|
+
let selectedIndex = this.internalSearchIndeces.find((index) => index.index === indexStr);
|
410
|
+
if (!selectedIndex || !selectedIndex.alogliaIndex)
|
411
|
+
return;
|
412
|
+
this.searchIndex = selectedIndex.index;
|
413
|
+
if (this.isSearchValSet())
|
414
|
+
await this.onSearchChange();
|
415
|
+
};
|
416
|
+
this.switchIndexSubmit = async (index) => {
|
417
|
+
if (this.isSearchValSet()) {
|
418
|
+
await this.onSearchIndexChange(index);
|
419
|
+
this.onSearchSubmit();
|
420
|
+
}
|
421
|
+
else
|
422
|
+
this.onSearchIndexChange(index);
|
423
|
+
};
|
424
|
+
this.onAutocompleteBlur = (ev) => {
|
425
|
+
if (!this.showAutocomplete || !this.autocompleteResults)
|
426
|
+
return;
|
427
|
+
if (ev && ev.target && ev.target.closest('.search-widget'))
|
428
|
+
return;
|
429
|
+
this.showAutocomplete = false;
|
430
|
+
};
|
431
|
+
this.showAutocompleteResults = () => {
|
432
|
+
if (!this.autocompleteResults || !this.autocompleteResults.hits)
|
433
|
+
return;
|
434
|
+
this.showAutocomplete = true;
|
435
|
+
};
|
436
|
+
this.onAutocompleteInteract = (ev) => {
|
437
|
+
// list open, navigate items with arrows
|
438
|
+
if (!this.showAutocomplete || !this.autocompleteResults)
|
439
|
+
return;
|
440
|
+
let testIndex = this.currAIndex;
|
441
|
+
switch (ev.key) {
|
442
|
+
case 'Tab':
|
443
|
+
setTimeout(() => {
|
444
|
+
if (!this.el.shadowRoot.activeElement ||
|
445
|
+
!this.el.shadowRoot.activeElement.closest('.search-widget')) {
|
446
|
+
this.showAutocomplete = false;
|
447
|
+
return;
|
448
|
+
}
|
449
|
+
else {
|
450
|
+
let found = this.autocompleteEles.find((ele, i) => {
|
451
|
+
if (ele === this.el.shadowRoot.activeElement) {
|
452
|
+
this.currAIndex = i;
|
453
|
+
return true;
|
454
|
+
}
|
455
|
+
});
|
456
|
+
if (found)
|
457
|
+
this.setActiveElement(found);
|
458
|
+
else
|
459
|
+
this.currAIndex = -1;
|
460
|
+
}
|
461
|
+
});
|
462
|
+
break;
|
463
|
+
case 'ArrowDown':
|
464
|
+
case 'ArrowUp':
|
465
|
+
if (ev.key === 'ArrowDown')
|
466
|
+
testIndex++;
|
467
|
+
else if (ev.key === 'ArrowUp')
|
468
|
+
testIndex--;
|
469
|
+
let found = this.autocompleteEles[testIndex];
|
470
|
+
if (found ||
|
471
|
+
testIndex < 0 ||
|
472
|
+
testIndex > this.autocompleteEles.length - 1)
|
473
|
+
ev.preventDefault();
|
474
|
+
if (found) {
|
475
|
+
this.setActiveElement(found);
|
476
|
+
this.currAIndex = testIndex;
|
477
|
+
}
|
478
|
+
else if (testIndex < 0) {
|
479
|
+
this.searchInput.setFocus();
|
480
|
+
this.currAIndex = -1;
|
481
|
+
}
|
482
|
+
break;
|
483
|
+
case 'Enter':
|
484
|
+
case ' ':
|
485
|
+
if (this.autocompleteEles[this.currAIndex]) {
|
486
|
+
this.autocompleteEles[this.currAIndex].click();
|
487
|
+
}
|
488
|
+
break;
|
489
|
+
}
|
490
|
+
};
|
491
|
+
}
|
492
|
+
/**
|
493
|
+
* Submit the search form (a search value must be present)
|
494
|
+
*/
|
495
|
+
async submitSearch() {
|
496
|
+
this.onSearchSubmit();
|
497
|
+
this.showAutocomplete = false;
|
498
|
+
return;
|
499
|
+
}
|
500
|
+
currentSelectedIndex() {
|
501
|
+
if (!this.internalSearchIndeces.length) {
|
502
|
+
return;
|
503
|
+
}
|
504
|
+
let foundIndex = this.internalSearchIndeces.find((index) => index.index === this.searchIndex);
|
505
|
+
if (!foundIndex) {
|
506
|
+
this.currentIndex = this.internalSearchIndeces[0];
|
507
|
+
console.error('index not found');
|
508
|
+
return;
|
509
|
+
}
|
510
|
+
this.currentIndex = foundIndex;
|
511
|
+
return foundIndex;
|
512
|
+
}
|
513
|
+
changeInternalSearchVal() {
|
514
|
+
if (this.searchValInternal !== this.searchValue)
|
515
|
+
this.searchValue = this.searchValInternal;
|
516
|
+
}
|
517
|
+
initAlgoliaClient() {
|
518
|
+
if (!this.searchAppId || !this.searchApiKey)
|
519
|
+
return;
|
520
|
+
this.algoliaClient = algoliasearch_umd(this.searchAppId, this.searchApiKey);
|
521
|
+
this.addAlgoliaIndeces();
|
522
|
+
}
|
523
|
+
addIndeces() {
|
524
|
+
this.internalSearchIndeces = [
|
525
|
+
...this.internalSearchIndeces,
|
526
|
+
...this.searchIndeces,
|
527
|
+
];
|
528
|
+
}
|
529
|
+
addAlgoliaIndeces() {
|
530
|
+
if (!this.algoliaClient || !this.internalSearchIndeces.length)
|
531
|
+
return;
|
532
|
+
this.internalSearchIndeces.forEach((searchIndex) => {
|
533
|
+
searchIndex.alogliaIndex = this.algoliaClient.initIndex(searchIndex.index);
|
534
|
+
});
|
535
|
+
if (!this.searchIndex)
|
536
|
+
this.searchIndex = this.internalSearchIndeces[0].index;
|
537
|
+
}
|
538
|
+
thresholdChange(newThreshold, oldThreshold) {
|
539
|
+
if (newThreshold > oldThreshold) {
|
540
|
+
// we've resized to larger screen.
|
541
|
+
this.thresholdsGoingUp = true;
|
542
|
+
this.setResizingState(true);
|
543
|
+
}
|
544
|
+
}
|
545
|
+
/**
|
546
|
+
* Primary logic for resizing changes.
|
547
|
+
* When content doesn't fit - we loop down through break points until it does
|
548
|
+
*/
|
549
|
+
ratioChange() {
|
550
|
+
if (this.intersectRatio < 1 && this.threshold > 0) {
|
551
|
+
// content doesn't fit
|
552
|
+
if (this.thresholdsGoingUp)
|
553
|
+
this.setResizingState(true);
|
554
|
+
this.threshold--;
|
555
|
+
setTimeout(() => this.ratioChange(), 500);
|
556
|
+
}
|
557
|
+
else {
|
558
|
+
this.thresholdReady = true;
|
559
|
+
// content now fits so add / remove context classes
|
560
|
+
// on nav-items depending on whether they're added to bar or burger.
|
561
|
+
this.siteContent.style.minHeight = `calc(100% - ${this.barsDiv.clientHeight + 1}px)`;
|
562
|
+
let menuItems, barItems;
|
563
|
+
readTask(() => {
|
564
|
+
menuItems = [
|
565
|
+
...Array.from(this.el.querySelectorAll('nano-nav-item[slot="site"]')),
|
566
|
+
...Array.from(this.el.querySelectorAll('nano-nav-item[slot="overflow"]')),
|
567
|
+
];
|
568
|
+
barItems = [];
|
569
|
+
if (this.threshold < THRESHOLDLIMIT - 4)
|
570
|
+
menuItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="icon"]')));
|
571
|
+
else
|
572
|
+
barItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="icon"]')));
|
573
|
+
if (this.threshold < THRESHOLDLIMIT - 3)
|
574
|
+
menuItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="loggedin"]')));
|
575
|
+
else
|
576
|
+
barItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="loggedin"]')));
|
577
|
+
if (this.threshold < THRESHOLDLIMIT - 2)
|
578
|
+
menuItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="main"]')));
|
579
|
+
else
|
580
|
+
barItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="main"]')));
|
581
|
+
if (this.threshold < THRESHOLDLIMIT - 1)
|
582
|
+
menuItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="about"]')));
|
583
|
+
else
|
584
|
+
barItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="about"]')));
|
585
|
+
});
|
586
|
+
writeTask(() => {
|
587
|
+
menuItems.forEach((item) => {
|
588
|
+
item.classList.add('nano-global-nav-menu');
|
589
|
+
item.classList.remove('nano-global-nav-bar');
|
590
|
+
});
|
591
|
+
barItems.forEach((item) => {
|
592
|
+
item.classList.remove('nano-global-nav-menu');
|
593
|
+
item.classList.add('nano-global-nav-bar');
|
594
|
+
});
|
595
|
+
});
|
596
|
+
}
|
597
|
+
}
|
598
|
+
assessReady() {
|
599
|
+
if (this.thresholdReady && this.remoteDataReady) {
|
600
|
+
this.ready = true;
|
601
|
+
}
|
602
|
+
}
|
603
|
+
remoteReady() {
|
604
|
+
this.attachIO();
|
605
|
+
}
|
606
|
+
isReady() {
|
607
|
+
this.nanoIsReady.emit();
|
608
|
+
}
|
609
|
+
/**
|
610
|
+
* Add / remove events when autocomplete results show / hide.
|
611
|
+
*/
|
612
|
+
setupAutocompleteBlur() {
|
613
|
+
if (this.showAutocomplete) {
|
614
|
+
this.el.shadowRoot.addEventListener('click', this.onAutocompleteBlur);
|
615
|
+
}
|
616
|
+
else {
|
617
|
+
this.el.shadowRoot.removeEventListener('click', this.onAutocompleteBlur);
|
618
|
+
}
|
619
|
+
}
|
620
|
+
/**
|
621
|
+
* As relevant slotted items change, reset resizing breakpoints
|
622
|
+
*/
|
623
|
+
slotChange() {
|
624
|
+
this.threshold = THRESHOLDLIMIT;
|
625
|
+
}
|
626
|
+
// General classes for visuals
|
627
|
+
thresholdClasses() {
|
628
|
+
let classes = [];
|
629
|
+
let i = 0;
|
630
|
+
for (i; i < this.threshold; i++)
|
631
|
+
classes.push('threshold-' + (i + 1));
|
632
|
+
return classes;
|
633
|
+
}
|
634
|
+
// Global DOM Events
|
635
|
+
onWindowResize() {
|
636
|
+
if (this.threshold < THRESHOLDLIMIT && window.innerWidth > this.currSize) {
|
637
|
+
this.threshold = THRESHOLDLIMIT;
|
638
|
+
}
|
639
|
+
this.currSize = window.innerWidth;
|
640
|
+
this.searchBarShown = false;
|
641
|
+
}
|
642
|
+
// Burger / Overflow Menu
|
643
|
+
// listen to nav-item secondary open / close events primarily for resizing the menu
|
644
|
+
secondaryOpen(ev) {
|
645
|
+
if (!ev.detail.secondaryMenu)
|
646
|
+
return;
|
647
|
+
ev.stopPropagation();
|
648
|
+
this.secondaryMenuOpen = true;
|
649
|
+
this.menuContentDiv.style.minHeight =
|
650
|
+
ev.detail.secondaryMenu.scrollHeight + 'px';
|
651
|
+
}
|
652
|
+
secondaryClose(ev) {
|
653
|
+
if (!ev.detail.secondaryMenu)
|
654
|
+
return;
|
655
|
+
ev.stopPropagation();
|
656
|
+
this.secondaryMenuOpen = false;
|
657
|
+
this.menuContentDiv.style.minHeight = '';
|
658
|
+
}
|
659
|
+
async handleUserMenu() {
|
660
|
+
await displayTransition(this.userLinkPanel, 'show', this.userMenuOpen);
|
661
|
+
if (this.userMenuOpen) {
|
662
|
+
this.userLinkPanel.focus();
|
663
|
+
this.userLinkPanel.addEventListener('focusout', this.onUserMenuBlur);
|
664
|
+
}
|
665
|
+
else {
|
666
|
+
this.userLinkPanel.removeEventListener('focusout', this.onUserMenuBlur);
|
667
|
+
this.el.focus();
|
668
|
+
}
|
669
|
+
}
|
670
|
+
searchbarShow() {
|
671
|
+
this.searchBarShown = true;
|
672
|
+
this.searchBarEl.addEventListener('transitionend', this.onSearchBarShown);
|
673
|
+
this.searchBarEl.style.display = 'block';
|
674
|
+
setTimeout(() => {
|
675
|
+
this.searchBarEl.style.height =
|
676
|
+
this.searchBarEl.querySelector('.search-widget').scrollHeight + 'px';
|
677
|
+
}, 50);
|
678
|
+
}
|
679
|
+
// Algolia search
|
680
|
+
autocompleteSnippet(hit) {
|
681
|
+
let lookFor = ['title']; // , 'body'
|
682
|
+
if (hit._snippetResult) {
|
683
|
+
let found = lookFor.find((prop) => hit._snippetResult[prop] &&
|
684
|
+
hit._snippetResult[prop].matchLevel !== 'none');
|
685
|
+
if (found) {
|
686
|
+
if (found !== 'title')
|
687
|
+
return ((hit.title.length > 15
|
688
|
+
? hit.title.substring(0, 15) + ' ...'
|
689
|
+
: hit.title) +
|
690
|
+
' ' +
|
691
|
+
hit._snippetResult[found].value);
|
692
|
+
else
|
693
|
+
return hit._snippetResult['title'].value;
|
694
|
+
}
|
695
|
+
}
|
696
|
+
return hit.title;
|
697
|
+
}
|
698
|
+
isSearchValSet() {
|
699
|
+
if (this.searchValInternal.length < 3)
|
700
|
+
return false;
|
701
|
+
return true;
|
702
|
+
}
|
703
|
+
// Autocomplete
|
704
|
+
resetHitFocus() {
|
705
|
+
this.currAIndex = -1;
|
706
|
+
}
|
707
|
+
setActiveElement(autocompleteEle) {
|
708
|
+
this.autocompleteEles.map((ele) => ele.setAttribute('aria-selected', 'false'));
|
709
|
+
autocompleteEle.focus({ preventScroll: true });
|
710
|
+
autocompleteEle.setAttribute('aria-selected', 'true');
|
711
|
+
}
|
712
|
+
// Various.
|
713
|
+
/**
|
714
|
+
* Assesses what content is present in which slots
|
715
|
+
*/
|
716
|
+
assessSlottedContent() {
|
717
|
+
readTask(() => {
|
718
|
+
this.hasSiteSlot = !!this.el.querySelectorAll('[slot="site"]').length;
|
719
|
+
this.hasLoggedinSlot =
|
720
|
+
!!this.el.querySelectorAll('[slot="loggedin"]').length;
|
721
|
+
this.hasPromotionSlot =
|
722
|
+
!!this.el.querySelectorAll('[slot="promotion"]').length;
|
723
|
+
this.aboutSlotLen = this.el.querySelectorAll('[slot="about"]').length;
|
724
|
+
this.iconSlotLen = this.el.querySelectorAll('[slot="icon"]').length;
|
725
|
+
this.mainSlotLen = this.el.querySelectorAll('[slot="main"]').length;
|
726
|
+
this.overflowSlotLen =
|
727
|
+
this.el.querySelectorAll('[slot="overflow"]').length;
|
728
|
+
this.searchSlotLen = this.el.querySelectorAll('[slot="search"]').length;
|
729
|
+
});
|
730
|
+
}
|
731
|
+
/**
|
732
|
+
* Attach the IntersectionObserver - from which all threshold / breakpoint logic hinges
|
733
|
+
*/
|
734
|
+
attachIO() {
|
735
|
+
if (this.io)
|
736
|
+
return;
|
737
|
+
let root = this.el.shadowRoot.querySelector('.global-nav .main-bar');
|
738
|
+
if (Build.isBrowser &&
|
739
|
+
typeof window !== 'undefined' &&
|
740
|
+
window.IntersectionObserver &&
|
741
|
+
!!root) {
|
742
|
+
const io = (this.io = new window.IntersectionObserver((data) => {
|
743
|
+
this.intersectRatio = data.slice(-1)[0].intersectionRatio;
|
744
|
+
}, { root, threshold: 1 }));
|
745
|
+
io.observe(root.querySelector('.measure-ele'));
|
746
|
+
}
|
747
|
+
}
|
748
|
+
// Stencil Lifecycle / Rendering
|
749
|
+
componentDidLoad() {
|
750
|
+
if (Build.isBrowser) {
|
751
|
+
this.debounceResize = debounce(this.onWindowResize.bind(this), 300);
|
752
|
+
window.addEventListener('resize', this.debounceResize);
|
753
|
+
this.currSize = window.innerWidth;
|
754
|
+
}
|
755
|
+
this.initAlgoliaClient();
|
756
|
+
this.addAlgoliaIndeces();
|
757
|
+
if (this.remoteDataReady)
|
758
|
+
this.attachIO();
|
759
|
+
}
|
760
|
+
componentWillLoad() {
|
761
|
+
ComponentStore.init(this, ['searchIndex', 'searchValue'], 'url-hash', 'gns');
|
762
|
+
if (Build.isBrowser &&
|
763
|
+
typeof window !== 'undefined' &&
|
764
|
+
window.MutationObserver) {
|
765
|
+
const mo = (this.mo = new MutationObserver(() => {
|
766
|
+
this.assessSlottedContent();
|
767
|
+
}));
|
768
|
+
mo.observe(this.el, { childList: true, subtree: false });
|
769
|
+
}
|
770
|
+
this.assessSlottedContent();
|
771
|
+
}
|
772
|
+
disconnectedCallback() {
|
773
|
+
if (this.io) {
|
774
|
+
this.io.disconnect();
|
775
|
+
this.io = undefined;
|
776
|
+
}
|
777
|
+
if (this.mo) {
|
778
|
+
this.mo.disconnect();
|
779
|
+
this.mo = undefined;
|
780
|
+
}
|
781
|
+
if (Build.isBrowser)
|
782
|
+
window.removeEventListener('resize', this.debounceResize);
|
783
|
+
}
|
784
|
+
async connectedCallback() {
|
785
|
+
this.getMyAccData();
|
786
|
+
}
|
787
|
+
// Render output
|
788
|
+
autocompleteList() {
|
789
|
+
let content;
|
790
|
+
if (this.showAutocomplete && this.scrollingUp) {
|
791
|
+
let currentScopeHits = 0;
|
792
|
+
let scopeChangeSuggestions = 0;
|
793
|
+
let scopeSuggestReducer = (total, result) => {
|
794
|
+
return result.index !== this.currentIndex.index
|
795
|
+
? total + result.hits.length
|
796
|
+
: total;
|
797
|
+
};
|
798
|
+
let currentSuggestReducer = (total, result) => {
|
799
|
+
return result.index === this.currentIndex.index
|
800
|
+
? total + result.hits.length
|
801
|
+
: total;
|
802
|
+
};
|
803
|
+
if (this.scopeSearch) {
|
804
|
+
scopeChangeSuggestions = this.scopeSearch.results.reduce(scopeSuggestReducer, 0);
|
805
|
+
currentScopeHits = this.scopeSearch.results.reduce(currentSuggestReducer, 0);
|
806
|
+
}
|
807
|
+
if ((this.autocompleteResults && this.autocompleteResults.hits.length) ||
|
808
|
+
(scopeChangeSuggestions && !currentScopeHits)) {
|
809
|
+
let scopeSuggestions = 0;
|
810
|
+
content = (h("div", null, !currentScopeHits && (h("div", { class: "search-autocomplete-hit search-autocomplete-hit--no-result" }, "No results matching '", this.searchValInternal, "' were found in", ' ', h("strong", null, this.currentIndex.name), ". Try another phrase.")), this.autocompleteResults && [
|
811
|
+
this.autocompleteResults.hits.map((hit, i) => {
|
812
|
+
return (h("a", { role: "option", ref: (a) => this.autocompleteEles.push(a), tabindex: "-1", id: 'autocomplete-hit-' + i, href: hit.url, class: "search-autocomplete-hit", innerHTML: this.autocompleteSnippet(hit) }));
|
813
|
+
}),
|
814
|
+
], (!currentScopeHits || this.currentIndex.allGroup) &&
|
815
|
+
this.scopeSearch &&
|
816
|
+
this.scopeSearch.results && [
|
817
|
+
this.scopeSearch.results.map((result, i) => {
|
818
|
+
if (!result.hits.length ||
|
819
|
+
result.index === this.currentIndex.index ||
|
820
|
+
scopeSuggestions > 1)
|
821
|
+
return;
|
822
|
+
scopeSuggestions++;
|
823
|
+
return (h("button", { role: "option", ref: (button) => this.autocompleteEles.push(button), tabindex: "-1", id: 'autocomplete-scope-' + i, class: "search-autocomplete-hit", onClick: () => this.switchIndexSubmit(result.index), onMouseDown: () => this.switchIndexSubmit(result.index) }, "\"", this.searchValInternal, "\"", ' ', h("div", { class: "search-autocomplete-hit-scope" }, "in ", result.indexName)));
|
824
|
+
}),
|
825
|
+
], !!currentScopeHits && (h("div", { class: "search-autocomplete-foot" }, h("button", { role: "option", class: "search-autocomplete-submit", ref: (button) => this.autocompleteEles.push(button), id: 'autocomplete-foot', onClick: this.onSearchSubmit, onMouseDown: this.onSearchSubmit }, "View all results")))));
|
826
|
+
}
|
827
|
+
else if (!currentScopeHits) {
|
828
|
+
content = (h("div", { class: "search-autocomplete-hit search-autocomplete-hit--no-result" }, "No results matching '", this.searchValInternal, "' were found. Try another phrase."));
|
829
|
+
}
|
830
|
+
}
|
831
|
+
return (h("div", { class: "search-autocomplete", role: "listbox", id: "autocomplete-results", "aria-expanded": this.showAutocomplete ? 'true' : 'false', hidden: !this.showAutocomplete, onKeyDown: this.onAutocompleteInteract }, content));
|
832
|
+
}
|
833
|
+
searchWidget() {
|
834
|
+
return [
|
835
|
+
h("form", { class: "search-inputs", onSubmit: this.onSearchSubmit, id: "global-nav-search" }, h("nano-select", { class: "search-input", label: "Which area of content would you like to search?", hideLabel: true, showInlineError: false, value: this.searchIndex, onNanoChange: this.onSearchIndexChange, mask: true }, this.internalSearchIndeces.map((index) => {
|
836
|
+
return (h("nano-option", { selected: index.index === this.searchIndex, value: index.index }, index.name || index.index));
|
837
|
+
}), h("nano-icon", { name: "solid/caret-down", class: "down-arrow", slot: "down-arrow" })), h("nano-input", { class: "search-input", label: "What would you like to search for?", "aria-label": "What would you like to search for?", hideLabel: true, showInlineError: false, "clear-input": true, placeholder: "Search...", type: "text", ref: (input) => (this.searchInput = input), onNanoChange: this.onSearchChange, onNanoInput: this.onSearchInput, onKeyDown: this.onAutocompleteInteract, debounce: 500, "aria-autocomplete": "list", "aria-activedescendant": this.autocompleteEles[this.currAIndex]
|
838
|
+
? this.autocompleteEles[this.currAIndex].id
|
839
|
+
: false, "aria-controls": "autocomplete-results", onNanoFocus: this.showAutocompleteResults, value: this.searchValue, role: "textbox" }, h("button", { class: {
|
840
|
+
'search-icon': true,
|
841
|
+
'search-icon--search': true,
|
842
|
+
'search-icon--show': !this.searchValInternal.length,
|
843
|
+
}, slot: "end", onMouseDown: (e) => {
|
844
|
+
this.searchValInternal = this.searchInput.value;
|
845
|
+
this.onSearchSubmit(e, true);
|
846
|
+
} }, h("nano-icon", { name: "light/search" })), h("span", { class: {
|
847
|
+
'search-icon': true,
|
848
|
+
'search-icon--loader': true,
|
849
|
+
'search-icon--show': this.searchLoading,
|
850
|
+
}, slot: "end" }, h("nano-icon", { name: "light/spinner-third" }))), h("input", { type: "submit" })),
|
851
|
+
];
|
852
|
+
}
|
853
|
+
render() {
|
854
|
+
this.autocompleteEles = [];
|
855
|
+
let isRtl = this.el.ownerDocument.dir === 'rtl';
|
856
|
+
let searchWidget = this.searchWidget();
|
857
|
+
searchWidget.push(this.autocompleteList());
|
858
|
+
return (h(Host, { class: {
|
859
|
+
[this.thresholdClasses().join(' ')]: true,
|
860
|
+
ready: this.ready,
|
861
|
+
'search-bar-shown': this.searchBarShown && this.scrollingUp,
|
862
|
+
'search-auto-complete-shown': this.showAutocomplete && this.scrollingUp,
|
863
|
+
'modal-open': this.modalIsOpen,
|
864
|
+
resizing: this.isResizing,
|
865
|
+
}, dir: isRtl ? 'rtl' : null }, h("div", { class: {
|
866
|
+
'global-nav': true,
|
867
|
+
'scrolling-down': !this.scrollingUp,
|
868
|
+
} }, h("nav", { id: "global-nav-menu", class: {
|
869
|
+
'gn-menu': true,
|
870
|
+
open: this.modalOpen,
|
871
|
+
'has-promotion': this.hasPromotionSlot,
|
872
|
+
'menu-full-screen': this.menuFullScreen,
|
873
|
+
'secondary-open': this.secondaryMenuOpen,
|
874
|
+
}, "aria-expanded": this.modalOpen ? 'true' : 'false', ref: (div) => (this.menuDiv = div) }, h("div", { class: "gn-menu_wrap", ref: (div) => (this.menuWrapDiv = div), tabindex: "-1" }, h("div", { class: "gn-menu_actions" }, h("button", { class: "menu-btn icon-btn icon-btn", onMouseDown: this.onMenuBtnClick, onKeyDown: this.onMenuBtnKeyDown }, this.threshold < THRESHOLDLIMIT - 3 && (h("nano-icon", { name: "light/times", "aria-label": "close menu" })), this.threshold >= THRESHOLDLIMIT - 3 && (h("nano-icon", { name: "light/bars", "aria-label": "close menu" }))), this.threshold < THRESHOLDLIMIT - 4 && [
|
875
|
+
!!this.iconSlotLen && h("slot", { name: "icon" }),
|
876
|
+
this.myAccData &&
|
877
|
+
(!this.activeMyAccountSections ||
|
878
|
+
this.activeMyAccountSections.includes('icons')) && [
|
879
|
+
this.msgUrl && (h("a", { href: this.msgUrl, class: "icon-btn" }, h("nano-icon", { name: "light/bell" }), this.msgCount > 0 && (h("span", { class: "gn-menu_actions-counter" }, this.msgCount)))),
|
880
|
+
this.cartUrl && (h("a", { href: this.cartUrl, class: "icon-btn" }, h("nano-icon", { name: "light/shopping-cart" }), this.cartCount > 0 && (h("span", { class: "gn-menu_actions-counter" }, this.cartCount)))),
|
881
|
+
],
|
882
|
+
], this.myAccData && this.myAccData.urls.login && (h("a", { href: this.myAccData.urls.login + this.ssoRedirect, class: "login-btn" }, "Login / Register", ' ', h("nano-icon", { name: "solid/chevron-right" })))), h("div", { class: "content-wrap", ref: (div) => (this.menuContentDiv = div) }, h("div", { class: "content" }, h("nav", { class: "nav-links nav-links--main" }, h("slot", { name: "overflow" }), this.threshold < THRESHOLDLIMIT - 2 &&
|
883
|
+
!!this.mainSlotLen && h("slot", { name: "main" })), (((!!this.aboutSlotLen || !!this.aboutNavItms.length) &&
|
884
|
+
this.threshold < THRESHOLDLIMIT) ||
|
885
|
+
this.hasSiteSlot ||
|
886
|
+
!!this.siteNavItms.length) && (h("div", null, (!!this.aboutSlotLen || !!this.aboutNavItms.length) &&
|
887
|
+
this.threshold < THRESHOLDLIMIT && [
|
888
|
+
(this.threshold >= THRESHOLDLIMIT - 2 ||
|
889
|
+
this.mainSlotLen < 2) &&
|
890
|
+
this.overflowSlotLen < 2 && (h("div", { class: "nav-links-wrap" }, !!this.aboutNavItms.length && (h("h4", { class: "nav-links_title" }, "About")), h("nav", { class: "nav-links nav-links--sub", "aria-label": "About the company links" }, h("slot", { name: "about" }), this.aboutNavItms.map((link) => {
|
891
|
+
return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, h("a", { href: link.address, target: link.target }, link.title)));
|
892
|
+
})))),
|
893
|
+
((this.threshold < THRESHOLDLIMIT - 2 &&
|
894
|
+
this.mainSlotLen >= 2) ||
|
895
|
+
this.overflowSlotLen >= 2) && (h("nav", { class: "nav-links", "aria-label": "About the company links" }, !this.aboutNavItms.length && (h("slot", { name: "about" })), !!this.aboutNavItms.length && (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, "Company", h("nano-icon", { slot: "icon-end", name: "solid/chevron-right" }), h("div", { slot: "secondary" }, h("div", { class: "content" }, h("button", { class: "back-btn", onClick: this.subMenuClose }, h("nano-icon", { slot: "icon-end", name: "solid/chevron-left", "aria-label": "go back" }), "Company"), h("slot", { name: "about" }), h("div", { class: "content--sub" }, this.aboutNavItms.map((link) => {
|
896
|
+
return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, h("a", { href: link.address, target: link.target }, link.title)));
|
897
|
+
})))))))),
|
898
|
+
], (this.hasSiteSlot || !!this.siteNavItms.length) && [
|
899
|
+
(this.threshold >= THRESHOLDLIMIT - 2 ||
|
900
|
+
this.mainSlotLen < 2) &&
|
901
|
+
this.overflowSlotLen < 2 && (h("div", { class: "nav-links-wrap" }, h("h4", { class: "nav-links_title" }, "Sites"), h("nav", { class: "nav-links nav-links--sub", "aria-label": "Different company site links" }, h("slot", { name: "site" }), this.siteNavItms.map((link) => {
|
902
|
+
return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, h("a", { href: link.address, target: link.target }, link.title)));
|
903
|
+
})))),
|
904
|
+
((this.threshold < THRESHOLDLIMIT - 2 &&
|
905
|
+
this.mainSlotLen >= 2) ||
|
906
|
+
this.overflowSlotLen >= 2) && (h("nav", { class: "nav-links", "aria-label": "Different company site links" }, h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, "Sites", h("nano-icon", { slot: "icon-end", name: "solid/chevron-right" }), h("div", { slot: "secondary" }, h("div", { class: "content" }, h("button", { class: "back-btn", onClick: this.subMenuClose }, h("nano-icon", { slot: "icon-end", name: "solid/chevron-left", "aria-label": "go back" }), "Sites"), h("div", { class: "content--sub" }, h("slot", { name: "site" }), this.siteNavItms.map((link) => {
|
907
|
+
return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, h("a", { href: link.address, target: link.target }, link.title)));
|
908
|
+
}))))))),
|
909
|
+
]))), this.isLoggedIn &&
|
910
|
+
this.threshold < THRESHOLDLIMIT - 3 &&
|
911
|
+
(this.loggedInNavItms.length || this.hasLoggedinSlot) && (h("nav", { class: "nav-links", "aria-label": "Your user account links" }, h("nano-nav-item", { class: "nano-global-nav user-nav nano-global-nav-menu" }, this.myAccountUser.name, h("nano-icon", { slot: "icon-end", name: "solid/chevron-right" }), h("div", { slot: "secondary" }, h("div", { class: "content" }, h("button", { class: "back-btn", onClick: this.subMenuClose }, h("nano-icon", { slot: "icon-end", name: "solid/chevron-left", "aria-label": "go back" }), this.myAccountUser.name), h("div", { class: "content--sub" }, h("slot", { name: "loggedin" }), this.loggedInNavItms.map((link) => {
|
912
|
+
return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, h("a", { href: link.address, target: link.target }, link.title)));
|
913
|
+
}), h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, h("a", { href: this.myAccData.urls.forgot_password +
|
914
|
+
this.ssoRedirect }, "Change Password")))))))), h("slot", { name: "promotion" }), this.myAccData && this.myAccData.urls.logout && (h("div", { class: "login-btn logout-btn" }, h("a", { href: this.myAccData.urls.logout + this.ssoRedirect }, "Logout")))))), h("nano-sticker", { "auto-resize": "false", "break-point-max": "800", quietMode: { h: 600, w: 800 } }, h("div", { class: "bars", ref: (div) => (this.barsDiv = div) }, h("nav", { class: "main-bar", "aria-label": "Main site navigation", tabindex: "-1", ref: (div) => (this.mainBarDiv = div) }, (this.hasPromotionSlot ||
|
915
|
+
!!this.overflowSlotLen ||
|
916
|
+
((this.myAccData || !!this.iconSlotLen) &&
|
917
|
+
this.threshold < THRESHOLDLIMIT - 4) ||
|
918
|
+
(this.isLoggedIn &&
|
919
|
+
(!!this.loggedInNavItms.length || this.hasLoggedinSlot) &&
|
920
|
+
this.threshold < THRESHOLDLIMIT - 3) ||
|
921
|
+
(!!this.mainSlotLen && this.threshold < THRESHOLDLIMIT - 2) ||
|
922
|
+
((!!this.aboutSlotLen || !!this.aboutNavItms.length) &&
|
923
|
+
this.threshold < THRESHOLDLIMIT) ||
|
924
|
+
this.hasSiteSlot ||
|
925
|
+
!!this.siteNavItms.length) && (h("button", { class: "menu-btn icon-btn", onMouseDown: this.menuOpen, onKeyDown: this.onMenuBtnKeyDown, "aria-expanded": this.modalOpen ? 'true' : 'false', "aria-controls": "global-nav-menu", ref: (btn) => (this.menuBtn = btn) }, h("nano-icon", { name: "light/bars", "aria-label": "open menu" }))), this.showLogo && (h("a", { href: this.logoUrl, class: "logo-link" }, h("img", { src: getAssetPath(`./assets/ont-logo.svg`), alt: "Oxford Nanopore Technologies Logo", class: "logo" }))), !this.showLogo && (h("div", { class: "logo-link" }, h("slot", { name: "logo" }))), h("div", { class: "nav-links nav-links--main" }, h("slot", { name: "main" })), this.threshold >= THRESHOLDLIMIT - 1 && [
|
926
|
+
this.showSearch && !!this.internalSearchIndeces.length && (h("div", { class: "search-widget", role: "combobox", "aria-owns": "autocomplete-results", "aria-expanded": this.showAutocomplete && this.autocompleteResults
|
927
|
+
? 'true'
|
928
|
+
: 'false' }, searchWidget)),
|
929
|
+
(!this.showSearch || !this.myAccData) &&
|
930
|
+
!!this.searchSlotLen && h("slot", { name: "search" }),
|
931
|
+
], (this.threshold >= THRESHOLDLIMIT - 1 ||
|
932
|
+
!this.showSearch ||
|
933
|
+
!this.internalSearchIndeces.length) && (h("nav", { class: "nav-links nav-links--sub", "aria-label": "About the company links" }, (!!this.aboutSlotLen || !!this.aboutNavItms.length) &&
|
934
|
+
this.threshold === THRESHOLDLIMIT && [
|
935
|
+
h("slot", { name: "about" }),
|
936
|
+
this.aboutNavItms.map((link) => {
|
937
|
+
return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-bar" }, h("a", { href: link.address, target: link.target }, link.title)));
|
938
|
+
}),
|
939
|
+
])), this.threshold < THRESHOLDLIMIT - 1 &&
|
940
|
+
((this.showSearch && !!this.internalSearchIndeces.length) ||
|
941
|
+
!!this.searchSlotLen) && (h("button", { class: "icon-btn", "aria-controls": "global-nav-search-bar", "aria-expanded": this.searchBarShown ? 'true' : 'false', onMouseDown: this.onSearchBtnClick, onKeyDown: this.onSearchBtnKeyDown }, h("nano-icon", { name: "light/search" }))), this.threshold >= THRESHOLDLIMIT - 4 && [
|
942
|
+
!!this.iconSlotLen && h("slot", { name: "icon" }),
|
943
|
+
this.myAccData &&
|
944
|
+
(!this.activeMyAccountSections ||
|
945
|
+
this.activeMyAccountSections.includes('icons')) && [
|
946
|
+
this.msgUrl && (h("a", { href: this.msgUrl, class: "icon-btn" }, h("nano-icon", { name: "light/bell" }), this.msgCount > 0 && (h("span", { class: "gn-menu_actions-counter" }, this.msgCount)))),
|
947
|
+
this.cartUrl && (h("a", { href: this.cartUrl, class: "icon-btn" }, h("nano-icon", { name: "light/shopping-cart" }), this.cartCount > 0 && (h("span", { class: "gn-menu_actions-counter" }, this.cartCount)))),
|
948
|
+
],
|
949
|
+
], this.myAccData &&
|
950
|
+
this.threshold >= THRESHOLDLIMIT - 3 && [
|
951
|
+
this.myAccData.urls.login && (h("a", { href: this.myAccData.urls.login + this.ssoRedirect, class: "login-btn" }, "Login / Register")),
|
952
|
+
this.myAccountUser && (h("div", { class: "user-links" }, h("button", { class: {
|
953
|
+
'icon-btn': true,
|
954
|
+
'user-links-btn': true,
|
955
|
+
open: this.userMenuOpen,
|
956
|
+
}, onMouseDown: this.onUserBtnClick, onKeyDown: this.onUserBtnKeyDown }, ' ', this.myAccountUser.name, h("nano-icon", { name: "solid/caret-down" })), h("div", { class: "user-links-panel", tabindex: "-1", ref: (div) => (this.userLinkPanel = div) }, h("div", { class: "user-links-panel-content" }, this.loggedInNavItms.map((link) => {
|
957
|
+
return (h("a", { href: link.address, target: link.target }, link.title));
|
958
|
+
})), h("div", { class: "user-links-panel-foot" }, h("a", { href: this.myAccData.urls.forgot_password +
|
959
|
+
this.ssoRedirect }, "Change Password"), h("a", { href: this.myAccData.urls.logout + this.ssoRedirect }, "Logout"))))),
|
960
|
+
], h("span", { class: "measure-ele" })), this.threshold < THRESHOLDLIMIT - 1 && (h("div", { id: "global-nav-search-bar", class: {
|
961
|
+
'search-bar': true,
|
962
|
+
show: this.searchBarShown,
|
963
|
+
}, "aria-expanded": this.searchBarShown ? 'true' : 'false', role: "region", tabindex: "-1", ref: (div) => (this.searchBarEl = div) }, h("div", { class: "search-widget" }, this.showSearch && !!this.internalSearchIndeces.length && (h("div", null, searchWidget)), (!this.showSearch || !this.myAccData) &&
|
964
|
+
!!this.searchSlotLen && h("slot", { name: "search" })))))), (this.threshold < THRESHOLDLIMIT - 3 || this.menuFullScreen) && (h("div", { class: {
|
965
|
+
mask: true,
|
966
|
+
open: this.modalOpen,
|
967
|
+
}, onClick: this.menuClose, onTouchEnd: this.menuClose }))), h("div", { class: "site-content", ref: (div) => (this.siteContent = div) }, h("slot", null))));
|
968
|
+
}
|
969
|
+
// Data processing
|
970
|
+
domainFor(origin) {
|
971
|
+
if (!this.myAccData)
|
972
|
+
return '';
|
973
|
+
let domain = this.myAccData.domains.find((dm) => dm.origin === origin);
|
974
|
+
return domain ? domain.domain : '';
|
975
|
+
}
|
976
|
+
processSearchResults(results) {
|
977
|
+
let multiResults = results;
|
978
|
+
let singleResult = results;
|
979
|
+
if (multiResults.results) {
|
980
|
+
multiResults.results.forEach((result, i) => {
|
981
|
+
multiResults.results[i] = this.processSearchResults(result);
|
982
|
+
});
|
983
|
+
return multiResults;
|
984
|
+
}
|
985
|
+
else {
|
986
|
+
singleResult.hits.map((hit) => {
|
987
|
+
if (hit.url && !hit.url.match(/^http/))
|
988
|
+
hit.url =
|
989
|
+
location.protocol + '//' + this.domainFor(hit.origin) + hit.url;
|
990
|
+
});
|
991
|
+
return singleResult;
|
992
|
+
}
|
993
|
+
}
|
994
|
+
async getMyAccData() {
|
995
|
+
if (!this.getMyAccountData || this.myAccData) {
|
996
|
+
this.remoteDataReady = true;
|
997
|
+
return;
|
998
|
+
}
|
999
|
+
let url;
|
1000
|
+
switch (this.env) {
|
1001
|
+
case 'dev':
|
1002
|
+
url = 'https://myaccount-dev.nanoporetech.com/';
|
1003
|
+
break;
|
1004
|
+
case 'test':
|
1005
|
+
url = 'https://myaccount-test.nanoporetech.com/';
|
1006
|
+
break;
|
1007
|
+
default:
|
1008
|
+
url = 'https://myaccount.nanoporetech.com/';
|
1009
|
+
break;
|
1010
|
+
}
|
1011
|
+
var config = { timeout: 5000 };
|
1012
|
+
try {
|
1013
|
+
if (this.env === 'local') {
|
1014
|
+
this.myAccData = (await import('./local-my-account.js'));
|
1015
|
+
}
|
1016
|
+
else {
|
1017
|
+
this.myAccData = await clientFetch(url + 'nav_bar_data.json', config);
|
1018
|
+
}
|
1019
|
+
if (this.myAccData.user.id) {
|
1020
|
+
this.isLoggedIn = true;
|
1021
|
+
this.myAccountUser = this.myAccData.user;
|
1022
|
+
}
|
1023
|
+
this.processMyAccLinks();
|
1024
|
+
this.processMyAccData();
|
1025
|
+
setTimeout(() => (this.remoteDataReady = true), 300);
|
1026
|
+
}
|
1027
|
+
catch (e) {
|
1028
|
+
console.error(e);
|
1029
|
+
this.remoteDataReady = true;
|
1030
|
+
}
|
1031
|
+
}
|
1032
|
+
processMyAccData() {
|
1033
|
+
if (!this.myAccData || !this.myAccData.search.indeces.length)
|
1034
|
+
return;
|
1035
|
+
if (this.myAccData.search.api_key)
|
1036
|
+
this.searchApiKey = this.myAccData.search.api_key;
|
1037
|
+
if (this.myAccData.search.app_id)
|
1038
|
+
this.searchAppId = this.myAccData.search.app_id;
|
1039
|
+
if (this.myAccData.cart.count)
|
1040
|
+
this.cartCount = this.myAccData.cart.count;
|
1041
|
+
if (this.myAccData.notifications.count)
|
1042
|
+
this.msgCount = this.myAccData.notifications.count;
|
1043
|
+
if (!this.searchAppId || !this.searchApiKey)
|
1044
|
+
return;
|
1045
|
+
this.internalSearchIndeces = [
|
1046
|
+
...this.myAccData.search.indeces,
|
1047
|
+
...this.searchIndeces,
|
1048
|
+
];
|
1049
|
+
if (this.myAccData.urls.cart && !this.cartUrl)
|
1050
|
+
this.cartUrl = this.myAccData.urls.cart;
|
1051
|
+
if (this.myAccData.urls.messages && !this.msgUrl)
|
1052
|
+
this.msgUrl = this.myAccData.urls.messages;
|
1053
|
+
}
|
1054
|
+
processMyAccLinks() {
|
1055
|
+
if (!this.myAccData.links || !this.myAccData.links.length)
|
1056
|
+
return;
|
1057
|
+
this.myAccData.links.forEach((link) => {
|
1058
|
+
switch (link.area) {
|
1059
|
+
case 'left-side-logged-in':
|
1060
|
+
case 'left-side-logged-out':
|
1061
|
+
if (this.activeMyAccountSections &&
|
1062
|
+
!this.activeMyAccountSections.includes('sites'))
|
1063
|
+
break;
|
1064
|
+
if (this.isLoggedIn && link.area === 'left-side-logged-in')
|
1065
|
+
this.siteNavItms.push(link);
|
1066
|
+
else if (!this.isLoggedIn && link.area === 'left-side-logged-out')
|
1067
|
+
this.siteNavItms.push(link);
|
1068
|
+
break;
|
1069
|
+
case 'right-side-logged-in':
|
1070
|
+
case 'right-side-logged-out':
|
1071
|
+
if (this.activeMyAccountSections &&
|
1072
|
+
!this.activeMyAccountSections.includes('about'))
|
1073
|
+
break;
|
1074
|
+
if (this.isLoggedIn && link.area === 'right-side-logged-in')
|
1075
|
+
this.aboutNavItms.push(link);
|
1076
|
+
else if (!this.isLoggedIn && link.area === 'right-side-logged-out')
|
1077
|
+
this.aboutNavItms.push(link);
|
1078
|
+
break;
|
1079
|
+
case 'profile-panel-list':
|
1080
|
+
if (this.activeMyAccountSections &&
|
1081
|
+
!this.activeMyAccountSections.includes('loggedin'))
|
1082
|
+
break;
|
1083
|
+
this.loggedInNavItms.push(link);
|
1084
|
+
break;
|
1085
|
+
}
|
1086
|
+
});
|
1087
|
+
}
|
1088
|
+
static get assetsDirs() { return ["assets"]; }
|
1089
|
+
get el() { return this; }
|
1090
|
+
static get watchers() { return {
|
1091
|
+
"searchIndex": ["currentSelectedIndex"],
|
1092
|
+
"searchValInternal": ["changeInternalSearchVal"],
|
1093
|
+
"searchApiKey": ["initAlgoliaClient"],
|
1094
|
+
"searchAppId": ["initAlgoliaClient"],
|
1095
|
+
"searchIndeces": ["addIndeces"],
|
1096
|
+
"internalSearchIndeces": ["addAlgoliaIndeces"],
|
1097
|
+
"threshold": ["thresholdChange"],
|
1098
|
+
"intersectRatio": ["ratioChange"],
|
1099
|
+
"thresholdReady": ["assessReady"],
|
1100
|
+
"remoteDataReady": ["assessReady", "remoteReady"],
|
1101
|
+
"ready": ["isReady"],
|
1102
|
+
"showAutocomplete": ["setupAutocompleteBlur", "resetHitFocus"],
|
1103
|
+
"aboutSlotLen": ["slotChange"],
|
1104
|
+
"iconSlotLen": ["slotChange"],
|
1105
|
+
"mainSlotLen": ["slotChange"],
|
1106
|
+
"overflowSlotLen": ["slotChange"],
|
1107
|
+
"searchSlotLen": ["slotChange"],
|
1108
|
+
"userMenuOpen": ["handleUserMenu"]
|
1109
|
+
}; }
|
1110
|
+
static get style() { return globalNavCss; }
|
1111
|
+
};
|
1112
|
+
GlobalNav = /*@__PURE__*/ proxyCustomElement(GlobalNav, [1, "nano-global-nav", {
|
1113
|
+
"env": [1],
|
1114
|
+
"ssoRedirect": [1, "sso-redirect"],
|
1115
|
+
"getMyAccountData": [4, "get-my-account-data"],
|
1116
|
+
"activeMyAccountSections": [16],
|
1117
|
+
"showSearch": [4, "show-search"],
|
1118
|
+
"showLogo": [4, "show-logo"],
|
1119
|
+
"logoUrl": [1, "logo-url"],
|
1120
|
+
"searchIndeces": [16],
|
1121
|
+
"myAccountUser": [1040],
|
1122
|
+
"searchAppId": [1025, "search-app-id"],
|
1123
|
+
"searchApiKey": [1025, "search-api-key"],
|
1124
|
+
"searchValue": [1025, "search-value"],
|
1125
|
+
"searchIndex": [1025, "search-index"],
|
1126
|
+
"cartCount": [1026, "cart-count"],
|
1127
|
+
"msgCount": [1026, "msg-count"],
|
1128
|
+
"cartUrl": [1025, "cart-url"],
|
1129
|
+
"msgUrl": [1025, "msg-url"],
|
1130
|
+
"hasLoggedinSlot": [32],
|
1131
|
+
"hasSiteSlot": [32],
|
1132
|
+
"hasPromotionSlot": [32],
|
1133
|
+
"aboutSlotLen": [32],
|
1134
|
+
"iconSlotLen": [32],
|
1135
|
+
"mainSlotLen": [32],
|
1136
|
+
"overflowSlotLen": [32],
|
1137
|
+
"searchSlotLen": [32],
|
1138
|
+
"internalSearchIndeces": [32],
|
1139
|
+
"thresholdReady": [32],
|
1140
|
+
"remoteDataReady": [32],
|
1141
|
+
"ready": [32],
|
1142
|
+
"isResizing": [32],
|
1143
|
+
"intersectRatio": [32],
|
1144
|
+
"threshold": [32],
|
1145
|
+
"modalOpen": [32],
|
1146
|
+
"modalIsOpen": [32],
|
1147
|
+
"searchBarShown": [32],
|
1148
|
+
"scrollingUp": [32],
|
1149
|
+
"searchLoading": [32],
|
1150
|
+
"showAutocomplete": [32],
|
1151
|
+
"secondaryMenuOpen": [32],
|
1152
|
+
"userMenuOpen": [32],
|
1153
|
+
"menuFullScreen": [32],
|
1154
|
+
"searchValInternal": [32],
|
1155
|
+
"submitSearch": [64]
|
1156
|
+
}, [[0, "nanoOpen", "secondaryOpen"], [0, "nanoClose", "secondaryClose"]]]);
|
1157
|
+
function defineCustomElement$1() {
|
1158
|
+
if (typeof customElements === "undefined") {
|
1159
|
+
return;
|
1160
|
+
}
|
1161
|
+
const components = ["nano-global-nav", "nano-datalist", "nano-dropdown", "nano-icon", "nano-input", "nano-menu", "nano-nav-item", "nano-option", "nano-select", "nano-sticker"];
|
1162
|
+
components.forEach(tagName => { switch (tagName) {
|
1163
|
+
case "nano-global-nav":
|
1164
|
+
if (!customElements.get(tagName)) {
|
1165
|
+
customElements.define(tagName, GlobalNav);
|
1166
|
+
}
|
1167
|
+
break;
|
1168
|
+
case "nano-datalist":
|
1169
|
+
if (!customElements.get(tagName)) {
|
1170
|
+
defineCustomElement$a();
|
1171
|
+
}
|
1172
|
+
break;
|
1173
|
+
case "nano-dropdown":
|
1174
|
+
if (!customElements.get(tagName)) {
|
1175
|
+
defineCustomElement$9();
|
1176
|
+
}
|
1177
|
+
break;
|
1178
|
+
case "nano-icon":
|
1179
|
+
if (!customElements.get(tagName)) {
|
1180
|
+
defineCustomElement$8();
|
1181
|
+
}
|
1182
|
+
break;
|
1183
|
+
case "nano-input":
|
1184
|
+
if (!customElements.get(tagName)) {
|
1185
|
+
defineCustomElement$7();
|
1186
|
+
}
|
1187
|
+
break;
|
1188
|
+
case "nano-menu":
|
1189
|
+
if (!customElements.get(tagName)) {
|
1190
|
+
defineCustomElement$6();
|
1191
|
+
}
|
1192
|
+
break;
|
1193
|
+
case "nano-nav-item":
|
1194
|
+
if (!customElements.get(tagName)) {
|
1195
|
+
defineCustomElement$5();
|
1196
|
+
}
|
1197
|
+
break;
|
1198
|
+
case "nano-option":
|
1199
|
+
if (!customElements.get(tagName)) {
|
1200
|
+
defineCustomElement$4();
|
1201
|
+
}
|
1202
|
+
break;
|
1203
|
+
case "nano-select":
|
1204
|
+
if (!customElements.get(tagName)) {
|
1205
|
+
defineCustomElement$3();
|
1206
|
+
}
|
1207
|
+
break;
|
1208
|
+
case "nano-sticker":
|
1209
|
+
if (!customElements.get(tagName)) {
|
1210
|
+
defineCustomElement$2();
|
1211
|
+
}
|
1212
|
+
break;
|
1213
|
+
} });
|
1214
|
+
}
|
1215
|
+
|
1216
|
+
const NanoGlobalNav = GlobalNav;
|
1217
|
+
const defineCustomElement = defineCustomElement$1;
|
1218
|
+
|
1219
|
+
export { NanoGlobalNav, defineCustomElement };
|
1220
|
+
|
1221
|
+
//# sourceMappingURL=nano-global-nav.js.map
|