@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,665 @@
|
|
1
|
+
/*!
|
2
|
+
* Web Components for Nanopore digital Web Apps
|
3
|
+
*/
|
4
|
+
import { HTMLElement, createEvent, h, Host, proxyCustomElement } from '@stencil/core/internal/client';
|
5
|
+
import { i as index } from './ResizeObserver.es.js';
|
6
|
+
import { r as raf, h as hasShadowDom, b as browserCanUseCssVariables } from './index2.js';
|
7
|
+
import { a as getOffset } from './dom.js';
|
8
|
+
import { d as debounce } from './throttle.js';
|
9
|
+
|
10
|
+
const stickerCss = ":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{--stuck-left:initial;--stuck-right:initial;--stuck-z-index:var(--nano-layer-index-menubar, 10);--top-hide:translateY(-110%);--bottom-hide:translateY(110%);display:block;max-width:100%}:host([sticky]){position:-webkit-sticky;position:sticky;-webkit-transition:0.3s ease transform;transition:0.3s ease transform;will-change:min-height}:host([sticky][stuck]){left:var(--stuck-left);right:var(--stuck-right);z-index:var(--stuck-z-index) !important}:host([sticky][hide][placed-top]){-webkit-transform:var(--top-hide);transform:var(--top-hide)}:host([sticky][hide][placed-bottom]){-webkit-transform:var(--bottom-hide);transform:var(--bottom-hide)}:host([sticky][index=\"1\"]){z-index:calc(var(--stuck-z-index) + 1)}:host([sticky][index=\"2\"]){z-index:calc(var(--stuck-z-index) + 2)}:host([sticky][index=\"3\"]){z-index:calc(var(--stuck-z-index) + 3)}:host([sticky][index=\"4\"]){z-index:calc(var(--stuck-z-index) + 4)}:host([sticky][index=\"5\"]){z-index:calc(var(--stuck-z-index) + 5)}.sticker{display:inherit;max-width:inherit;width:100%}.sticker:not(.stuck){width:auto !important}.sticker.sticky{-webkit-transition:0.3s ease all;transition:0.3s ease all;position:relative}:host([index=\"1\"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 1)}:host([index=\"2\"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 2)}:host([index=\"3\"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 3)}:host([index=\"4\"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 4)}:host([index=\"5\"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 5)}.sticker.stuck{position:fixed;left:var(--stuck-left);right:var(--stuck-right);z-index:var(--stuck-z-index);-webkit-transform:translateY(0);transform:translateY(0)}:host([placed-top]) .sticker.stuck{top:0}:host([placed-bottom]) .sticker.stuck{bottom:0}:host([placed-top]) .sticker.stuck.hide{-webkit-transform:var(--top-hide);transform:var(--top-hide)}:host([placed-bottom]) .sticker.stuck.hide{-webkit-transform:var(--bottom-hide);transform:var(--bottom-hide)}.sticker-content{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}";
|
11
|
+
|
12
|
+
function _getScrollTop(ele) {
|
13
|
+
return ele instanceof Document ? window.pageYOffset : ele.scrollTop;
|
14
|
+
}
|
15
|
+
function _getOffset(ele, parent) {
|
16
|
+
let parentEle = parent instanceof Document ? document.documentElement : parent;
|
17
|
+
return getOffset(ele, parentEle);
|
18
|
+
}
|
19
|
+
let Sticker = class extends HTMLElement {
|
20
|
+
constructor() {
|
21
|
+
super();
|
22
|
+
this.__registerHost();
|
23
|
+
this.__attachShadow();
|
24
|
+
this.nanoStuck = createEvent(this, "nanoStuck", 7);
|
25
|
+
this.nanoUnstuck = createEvent(this, "nanoUnstuck", 7);
|
26
|
+
this.nanoHide = createEvent(this, "nanoHide", 7);
|
27
|
+
this.nanoShow = createEvent(this, "nanoShow", 7);
|
28
|
+
this.isRtl = false;
|
29
|
+
this.scrollPosCache = 0;
|
30
|
+
this.scrollPosThresholdCache = 0;
|
31
|
+
this.cacheOffset = 0;
|
32
|
+
this.pauseResizeWatcher = false;
|
33
|
+
this.listenForScrollParent = false;
|
34
|
+
this.positions = [];
|
35
|
+
this.pauseHide = false;
|
36
|
+
this.hasBootstrapped = false;
|
37
|
+
// Internal State
|
38
|
+
this.isStuck = false;
|
39
|
+
this.isRootSticker = true;
|
40
|
+
this.hide = false;
|
41
|
+
this.scrollHide = false;
|
42
|
+
this.multiStickerHide = false;
|
43
|
+
this.scrollingTo = false;
|
44
|
+
this.quietModeIsOn = false;
|
45
|
+
this.stuckCounter = 0;
|
46
|
+
this.stickerIndex = 0;
|
47
|
+
this._offset = 0;
|
48
|
+
// Public API
|
49
|
+
/** Only applicable to root stickers. When applied the sticker will grow or shrink to the scrollParent size */
|
50
|
+
this.autoResize = true;
|
51
|
+
/** Manually enable / disabled sticky behaviour */
|
52
|
+
this.isSticky = true;
|
53
|
+
/** Distance the item should be stuck from the sticky edge. */
|
54
|
+
this.offset = 0;
|
55
|
+
/** The edge of the scroll-parent to stick to */
|
56
|
+
this.position = 'top';
|
57
|
+
// other opts I'd like one day. 'start' | 'end' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end'
|
58
|
+
/** When applied, the sticker will hide when the scroll-parent
|
59
|
+
* is scrolling away from the sticker's stuck position and show when scrolling toward it.
|
60
|
+
* By default this will apply when the parent is below either the h or w dimensions */
|
61
|
+
this.quietMode = {
|
62
|
+
h: 600,
|
63
|
+
w: 600,
|
64
|
+
};
|
65
|
+
/** When applied stickers will hide upon new stickers being stuck to the same position */
|
66
|
+
this.hideOnNewStickers = true;
|
67
|
+
/** The max width of the item to implement sticky behaviour. */
|
68
|
+
this.breakPointMax = null;
|
69
|
+
/** The min width of the item to implement sticky behaviour. */
|
70
|
+
this.breakPointMin = null;
|
71
|
+
// Private methods / handlers
|
72
|
+
/** Assesses the public API quitemode and works out if it should be applied atm.
|
73
|
+
* If 'smallscreen', or there is a breakpointmax / min it will add a resizeobserver to conditionally add behaviour */
|
74
|
+
this.setupParentResizeListener = () => {
|
75
|
+
if (this.parentSizeObserver) {
|
76
|
+
this.parentSizeObserver.disconnect();
|
77
|
+
this.parentSizeObserver = undefined;
|
78
|
+
}
|
79
|
+
this.parentSizeObserver = new index((entries) => {
|
80
|
+
for (const entry of entries) {
|
81
|
+
let height, width;
|
82
|
+
if (entry.contentRect.height)
|
83
|
+
height = entry.contentRect.height;
|
84
|
+
if (entry.contentRect.width)
|
85
|
+
width = entry.contentRect.width;
|
86
|
+
if (typeof this.quietMode === 'object') {
|
87
|
+
if (width < this.quietMode.w || height < this.quietMode.h)
|
88
|
+
this.quietModeIsOn = true;
|
89
|
+
else
|
90
|
+
this.quietModeIsOn = false;
|
91
|
+
}
|
92
|
+
if (this.breakPointMin) {
|
93
|
+
if (width > this.breakPointMin)
|
94
|
+
this.isSticky = true;
|
95
|
+
else
|
96
|
+
this.isSticky = false;
|
97
|
+
}
|
98
|
+
if (this.breakPointMax) {
|
99
|
+
if (width < this.breakPointMax)
|
100
|
+
this.isSticky = true;
|
101
|
+
else
|
102
|
+
this.isSticky = false;
|
103
|
+
}
|
104
|
+
if (this.isRootSticker && this.sticker && this.autoResize)
|
105
|
+
this.sticker.style.width = this.host.scrollWidth + 'px';
|
106
|
+
}
|
107
|
+
});
|
108
|
+
let toWatch = this.scrollParent instanceof Document
|
109
|
+
? this.scrollParent.documentElement
|
110
|
+
: this.scrollParent;
|
111
|
+
if (toWatch)
|
112
|
+
this.parentSizeObserver.observe(toWatch);
|
113
|
+
};
|
114
|
+
/** For stickTo stickers. We listen to the events from the 'master' sticker to ammend the hide/show trigger
|
115
|
+
* Main diffs from rootstickers / non is height being on 'master' */
|
116
|
+
this.onStickToDisplayEvent = (e) => {
|
117
|
+
if (e.detail.sticker !== this.stickToEle)
|
118
|
+
return;
|
119
|
+
switch (e.type) {
|
120
|
+
case 'nanoHide':
|
121
|
+
this._offset = 0;
|
122
|
+
this.cacheOffset = this.offset;
|
123
|
+
this.offset = 0;
|
124
|
+
/** trigger moves down, underneath sticker if the main sticker hides */
|
125
|
+
if (!this.isStuck)
|
126
|
+
this.moveTrigger(false);
|
127
|
+
/** If it's an actual 'position: sticky' element, we need to give the sticker an appropriate height.
|
128
|
+
* This minimises content jumping around as items are added */
|
129
|
+
if (!this.isRootSticker && this.quietModeIsOn) {
|
130
|
+
raf(() => {
|
131
|
+
this.stickToEle.style.minHeight =
|
132
|
+
this.stickToEleInitSize.height +
|
133
|
+
(this.host.scrollHeight +
|
134
|
+
(typeof this.cacheOffset === 'object'
|
135
|
+
? this.cacheOffset.v
|
136
|
+
: this.cacheOffset)) +
|
137
|
+
'px';
|
138
|
+
this.stickToEle.setTriggerPos(this.stickToEleInitSize.height * -1);
|
139
|
+
});
|
140
|
+
}
|
141
|
+
break;
|
142
|
+
case 'nanoShow':
|
143
|
+
this._offset = this.stickToEleInitSize.height;
|
144
|
+
this.offset = this.cacheOffset;
|
145
|
+
this.moveTrigger(true);
|
146
|
+
/** reset master sticker size */
|
147
|
+
if (!this.isRootSticker && this.quietModeIsOn) {
|
148
|
+
raf(() => {
|
149
|
+
this.stickToEle.style.minHeight = '';
|
150
|
+
this.stickToEle.setTriggerPos(0);
|
151
|
+
});
|
152
|
+
}
|
153
|
+
break;
|
154
|
+
case 'nanoStuck':
|
155
|
+
this.stickToEleInitSize = this.stickToEle.getBoundingClientRect();
|
156
|
+
this._offset = this.stickToEleInitSize.height;
|
157
|
+
break;
|
158
|
+
}
|
159
|
+
};
|
160
|
+
/** Handler applied to scrolling parent. When 'hideOnNewStickers' is true, hide this sticker on subsequent stuck stickers. */
|
161
|
+
this.onStickEvent = async (e) => {
|
162
|
+
let sticker = e.detail ? e.detail.sticker : null;
|
163
|
+
if (!sticker || sticker.position !== this.position)
|
164
|
+
return;
|
165
|
+
const incomingTriggerPos = await sticker.getTriggerPos();
|
166
|
+
if (e.type === 'nanoStuck' &&
|
167
|
+
sticker !== this.host &&
|
168
|
+
sticker.scrollParent === this.host.scrollParent) {
|
169
|
+
this.stickerIndex++;
|
170
|
+
if (!this.hideOnNewStickers)
|
171
|
+
return;
|
172
|
+
if ((this.positions.includes('top') &&
|
173
|
+
this.triggerPos.top < incomingTriggerPos.top) ||
|
174
|
+
(this.positions.includes('bottom') &&
|
175
|
+
this.triggerPos.top > incomingTriggerPos.top)) {
|
176
|
+
this.multiStickerHide = true;
|
177
|
+
this.stuckCounter++;
|
178
|
+
}
|
179
|
+
}
|
180
|
+
if (e.type === 'nanoUnstuck' &&
|
181
|
+
sticker !== this.host &&
|
182
|
+
sticker.scrollParent === this.host.scrollParent) {
|
183
|
+
this.stickerIndex--;
|
184
|
+
if (!this.hideOnNewStickers)
|
185
|
+
return;
|
186
|
+
if ((this.positions.includes('top') &&
|
187
|
+
this.triggerPos.top < incomingTriggerPos.top) ||
|
188
|
+
(this.positions.includes('bottom') &&
|
189
|
+
this.triggerPos.top > incomingTriggerPos.top)) {
|
190
|
+
this.stuckCounter--;
|
191
|
+
if (this.stuckCounter < 1)
|
192
|
+
this.multiStickerHide = false;
|
193
|
+
}
|
194
|
+
}
|
195
|
+
};
|
196
|
+
/** Scroll handler applied to scrolling parent. Only applied when quietmode is on.
|
197
|
+
* 'hides' stickers when scrolling over 100px away from trigger and 'shows' when scrolling toward */
|
198
|
+
this.onScroll = () => {
|
199
|
+
let y = _getScrollTop(this.scrollParent);
|
200
|
+
// scrolling up
|
201
|
+
if (y < this.scrollPosCache) {
|
202
|
+
if (!this.positions.includes('bottom'))
|
203
|
+
this.handleScrollTo();
|
204
|
+
else
|
205
|
+
this.handleScrollAway(y);
|
206
|
+
}
|
207
|
+
// scrolling down
|
208
|
+
if (y > this.scrollPosCache) {
|
209
|
+
if (!this.positions.includes('bottom'))
|
210
|
+
this.handleScrollAway(y);
|
211
|
+
else
|
212
|
+
this.handleScrollTo();
|
213
|
+
}
|
214
|
+
this.scrollPosCache = y;
|
215
|
+
};
|
216
|
+
}
|
217
|
+
// Public methods
|
218
|
+
/**
|
219
|
+
* Method to return the visibility status of the sticker
|
220
|
+
* @returns boolean
|
221
|
+
*/
|
222
|
+
async isHiding() {
|
223
|
+
return this.hide;
|
224
|
+
}
|
225
|
+
/**
|
226
|
+
* Method to return the stuck status of the sticker
|
227
|
+
* @returns boolean
|
228
|
+
*/
|
229
|
+
async isSticking() {
|
230
|
+
this.shouldStick();
|
231
|
+
return this.isStuck;
|
232
|
+
}
|
233
|
+
/** @internal */
|
234
|
+
async setTriggerPos(offset) {
|
235
|
+
return (this._offset = offset);
|
236
|
+
}
|
237
|
+
/** @internal */
|
238
|
+
async getTriggerPos() {
|
239
|
+
return this.triggerPos;
|
240
|
+
}
|
241
|
+
/** @internal */
|
242
|
+
async pauseHiding(pause) {
|
243
|
+
return (this.pauseHide = pause);
|
244
|
+
}
|
245
|
+
// Watchers
|
246
|
+
/** Keep a note of trigger position. Need this to track sticker order in the DOM */
|
247
|
+
updateTriggerOffset() {
|
248
|
+
if (!this.trigger || !this.scrollParent || !this.listenForScrollParent)
|
249
|
+
return;
|
250
|
+
this.triggerPos = _getOffset(this.trigger, this.scrollParent);
|
251
|
+
}
|
252
|
+
/** A root sticker is a fixed element Or this sticker is sticking to another.
|
253
|
+
* We need a content resize watcher to make sure we maintain a correct placeholder size in the body */
|
254
|
+
stickerResizeListener() {
|
255
|
+
if (this.contentSizeObserver) {
|
256
|
+
this.contentSizeObserver.disconnect();
|
257
|
+
this.contentSizeObserver = undefined;
|
258
|
+
}
|
259
|
+
this.contentSizeObserver = new index((entries) => {
|
260
|
+
for (const entry of entries) {
|
261
|
+
if (this.pauseResizeWatcher)
|
262
|
+
return;
|
263
|
+
if (entry.contentRect.height) {
|
264
|
+
if (this.position === 'top')
|
265
|
+
this.host.style.height = entry.contentRect.height + 'px';
|
266
|
+
if (this.position === 'bottom')
|
267
|
+
this.host.style.minHeight = entry.contentRect.height + 'px';
|
268
|
+
}
|
269
|
+
}
|
270
|
+
});
|
271
|
+
this.contentSizeObserver.observe(this.content);
|
272
|
+
}
|
273
|
+
quietModeChange() {
|
274
|
+
if (this.quietMode === 'on')
|
275
|
+
raf(() => (this.quietModeIsOn = true));
|
276
|
+
else if (this.quietMode === 'off')
|
277
|
+
raf(() => (this.quietModeIsOn = false));
|
278
|
+
}
|
279
|
+
/** offset is part of the public API but we also use it to manipulate trigger points */
|
280
|
+
setOffset() {
|
281
|
+
this.trigger.setAttribute('style', '');
|
282
|
+
let v, h, _v, _h;
|
283
|
+
let sticker = this.isRootSticker || this.stickToEle ? this.sticker : this.host;
|
284
|
+
if (!sticker)
|
285
|
+
return;
|
286
|
+
if (typeof this.offset === 'object')
|
287
|
+
({ v, h } = this.offset);
|
288
|
+
else
|
289
|
+
v = h = this.offset;
|
290
|
+
if (typeof this._offset === 'object')
|
291
|
+
({ v = _v, h = _h } = this._offset);
|
292
|
+
else
|
293
|
+
_v = _h = this._offset;
|
294
|
+
const setPos = (pos) => {
|
295
|
+
let u = pos.match(/(top|bottom)/) ? v : h;
|
296
|
+
setTriggetPos(pos);
|
297
|
+
sticker.style[pos] = u + 'px';
|
298
|
+
if (!browserCanUseCssVariables())
|
299
|
+
return;
|
300
|
+
if (u)
|
301
|
+
this.host.style.setProperty('--hide-transform-amount', `(110% + ${u}px)`);
|
302
|
+
else
|
303
|
+
this.host.style.setProperty('--hide-transform-amount', null);
|
304
|
+
};
|
305
|
+
const setTriggetPos = (pos) => {
|
306
|
+
let u = pos.match(/(top|bottom)/) ? v + _v : h + _h;
|
307
|
+
this.trigger.style[pos] = u * -1 + 'px';
|
308
|
+
this.trigger.style.position = 'relative';
|
309
|
+
this.trigger.style.height = '1px';
|
310
|
+
};
|
311
|
+
if ((this.positions.includes('start') && this.isRtl) ||
|
312
|
+
(this.positions.includes('end') && !this.isRtl))
|
313
|
+
setPos('right');
|
314
|
+
if ((this.positions.includes('end') && this.isRtl) ||
|
315
|
+
(this.positions.includes('start') && !this.isRtl))
|
316
|
+
setPos('left');
|
317
|
+
if (this.positions.includes('top'))
|
318
|
+
setPos('top');
|
319
|
+
if (this.positions.includes('bottom'))
|
320
|
+
setPos('bottom');
|
321
|
+
}
|
322
|
+
positionChange() {
|
323
|
+
this.positions = this.position.split('-');
|
324
|
+
this.setOffset();
|
325
|
+
}
|
326
|
+
/** If this sticker is attached to a 'master' sticker (stickToEle),
|
327
|
+
* here we move the content of this sticker in and out accordingly */
|
328
|
+
async stuckChange() {
|
329
|
+
if (this.isStuck) {
|
330
|
+
if (this.stickToEle) {
|
331
|
+
let content = hasShadowDom(this.host)
|
332
|
+
? this.host.children
|
333
|
+
: this.content.children;
|
334
|
+
this.slottedContent = Array.from(content);
|
335
|
+
this.slottedContent.forEach((child) => {
|
336
|
+
if (hasShadowDom(this.host))
|
337
|
+
this.stickToEle.appendChild(child);
|
338
|
+
else
|
339
|
+
this.stickToEle
|
340
|
+
.querySelector('.sticker-content')
|
341
|
+
.appendChild(child);
|
342
|
+
child.style.order = this.stickerIndex + '';
|
343
|
+
});
|
344
|
+
this.nanoStuck.emit({ sticker: this.stickToEle });
|
345
|
+
}
|
346
|
+
else
|
347
|
+
this.nanoStuck.emit({ sticker: this.host });
|
348
|
+
}
|
349
|
+
else {
|
350
|
+
this.scrollHide = false;
|
351
|
+
if (this.stickToEle) {
|
352
|
+
this.slottedContent.forEach((child) => {
|
353
|
+
this.host.appendChild(child);
|
354
|
+
child.style.order = '';
|
355
|
+
});
|
356
|
+
this.nanoUnstuck.emit({ sticker: this.stickToEle });
|
357
|
+
}
|
358
|
+
else
|
359
|
+
this.nanoUnstuck.emit({ sticker: this.host });
|
360
|
+
}
|
361
|
+
}
|
362
|
+
/** attach scroll listener. 'hides' stickers when scrolling away from trigger and 'shows' when scrolling toward */
|
363
|
+
attachScrollListeners() {
|
364
|
+
if (this.quietModeIsOn)
|
365
|
+
this.scrollParent.addEventListener('scroll', this.onScroll, {
|
366
|
+
passive: true,
|
367
|
+
capture: false,
|
368
|
+
});
|
369
|
+
else {
|
370
|
+
this.scrollParent.removeEventListener('scroll', this.onScroll);
|
371
|
+
this.moveTrigger(true);
|
372
|
+
}
|
373
|
+
}
|
374
|
+
/** Add / remove parent scrolling listeners. If there's stickToEle we need to remove them */
|
375
|
+
handleParentEvents(_, oldParent = null) {
|
376
|
+
if (!this.listenForScrollParent)
|
377
|
+
return;
|
378
|
+
if (oldParent)
|
379
|
+
this.manageListenersOnParent(false, oldParent);
|
380
|
+
if (this.scrollParent)
|
381
|
+
this.manageListenersOnParent(!this.stickToEle);
|
382
|
+
}
|
383
|
+
/** Add remove specific listeners if we're sticking to a sticker.
|
384
|
+
* We need to adjust triggers according to the status of the 'master' */
|
385
|
+
stickToEleChange(_, oldEle) {
|
386
|
+
if (this.stickToEle) {
|
387
|
+
this.stickToEle.addEventListener('nanoHide', this.onStickToDisplayEvent);
|
388
|
+
this.stickToEle.addEventListener('nanoShow', this.onStickToDisplayEvent);
|
389
|
+
this.stickToEle.addEventListener('nanoStuck', this.onStickToDisplayEvent);
|
390
|
+
this.stickToEle.addEventListener('nanoUnstuck', this.onStickToDisplayEvent);
|
391
|
+
}
|
392
|
+
if (oldEle) {
|
393
|
+
oldEle.removeEventListener('nanoHide', this.onStickToDisplayEvent);
|
394
|
+
oldEle.removeEventListener('nanoShow', this.onStickToDisplayEvent);
|
395
|
+
oldEle.removeEventListener('nanoStuck', this.onStickToDisplayEvent);
|
396
|
+
oldEle.removeEventListener('nanoUnstuck', this.onStickToDisplayEvent);
|
397
|
+
}
|
398
|
+
}
|
399
|
+
/** Find and set the stickToEle from the public, selector string */
|
400
|
+
stickToChange() {
|
401
|
+
if (this.stickTo)
|
402
|
+
this.stickToEle = this.scrollParent.querySelector(this.stickTo);
|
403
|
+
else
|
404
|
+
this.stickToEle = undefined;
|
405
|
+
}
|
406
|
+
/** 2 potential criteria for hiding. Multi-stickers or quietmode. */
|
407
|
+
visibilityDecisionHandler() {
|
408
|
+
if (this.multiStickerHide || this.scrollHide)
|
409
|
+
this.hide = true;
|
410
|
+
else
|
411
|
+
this.hide = false;
|
412
|
+
}
|
413
|
+
handleHideChange() {
|
414
|
+
if (this.hide)
|
415
|
+
this.nanoHide.emit({ sticker: this.host });
|
416
|
+
else
|
417
|
+
this.nanoShow.emit({ sticker: this.host });
|
418
|
+
}
|
419
|
+
setupIO() {
|
420
|
+
if (this.io) {
|
421
|
+
this.io.disconnect();
|
422
|
+
this.io = undefined;
|
423
|
+
}
|
424
|
+
if (!this.scrollParent || !this.hasBootstrapped || !this.trigger)
|
425
|
+
return;
|
426
|
+
this.isRootSticker = this.scrollParent instanceof Document;
|
427
|
+
let root = this.scrollParent;
|
428
|
+
if (this.scrollParent instanceof Document)
|
429
|
+
root = null;
|
430
|
+
this.io = new window.IntersectionObserver((_) => {
|
431
|
+
if (this.pauseResizeWatcher || !this.isSticky)
|
432
|
+
return;
|
433
|
+
this.shouldStick(_.slice(-1)[0]);
|
434
|
+
}, { root: root });
|
435
|
+
this.io.observe(this.trigger);
|
436
|
+
}
|
437
|
+
/** Add or removes event listeners / observers on scrolling parent
|
438
|
+
* for when the scrolling parent changes, or, this sticker is sticking to another */
|
439
|
+
manageListenersOnParent(addEvents, ele) {
|
440
|
+
let scrollParent = ele || this.scrollParent;
|
441
|
+
if (!scrollParent)
|
442
|
+
return;
|
443
|
+
if (!addEvents) {
|
444
|
+
try {
|
445
|
+
if (this.quietModeIsOn)
|
446
|
+
scrollParent.removeEventListener('scroll', this.onScroll);
|
447
|
+
scrollParent.removeEventListener('nanoStuck', this.onStickEvent);
|
448
|
+
scrollParent.removeEventListener('nanoUnstuck', this.onStickEvent);
|
449
|
+
}
|
450
|
+
catch (e) {
|
451
|
+
console.error('Events haven`t been added');
|
452
|
+
}
|
453
|
+
}
|
454
|
+
else {
|
455
|
+
scrollParent.addEventListener('nanoStuck', this.onStickEvent);
|
456
|
+
scrollParent.addEventListener('nanoUnstuck', this.onStickEvent);
|
457
|
+
if (this.quietModeIsOn)
|
458
|
+
this.attachScrollListeners();
|
459
|
+
}
|
460
|
+
this.setupParentResizeListener();
|
461
|
+
}
|
462
|
+
/** Watch for scroll direction. Only applies when quietmode is on.
|
463
|
+
* We need to addjust the position of the trigger when the sticker is hidden */
|
464
|
+
handleScrollTo() {
|
465
|
+
this.scrollPosThresholdCache = null;
|
466
|
+
if (!this.scrollHide)
|
467
|
+
return;
|
468
|
+
if (this.scrollingTo !== true) {
|
469
|
+
this._offset = this.cacheOffset || this._offset;
|
470
|
+
}
|
471
|
+
this.scrollingTo = true;
|
472
|
+
this.scrollHide = false;
|
473
|
+
}
|
474
|
+
handleScrollAway(currScroll) {
|
475
|
+
if (this.scrollHide)
|
476
|
+
return;
|
477
|
+
if (!this.isStuck)
|
478
|
+
return;
|
479
|
+
if (this.scrollingTo !== false) {
|
480
|
+
this.cacheOffset = this._offset;
|
481
|
+
this._offset = 0;
|
482
|
+
}
|
483
|
+
this.scrollingTo = false;
|
484
|
+
if (!this.scrollPosThresholdCache)
|
485
|
+
this.scrollPosThresholdCache = currScroll;
|
486
|
+
else if (!this.pauseHide &&
|
487
|
+
Math.abs(currScroll - this.scrollPosThresholdCache) > 100)
|
488
|
+
this.scrollHide = true;
|
489
|
+
}
|
490
|
+
moveTrigger(toInitial) {
|
491
|
+
if ((this.positions.includes('bottom') && !toInitial) ||
|
492
|
+
(!this.positions.includes('bottom') && toInitial)) {
|
493
|
+
this.host.parentNode.insertBefore(this.trigger, this.host);
|
494
|
+
}
|
495
|
+
else
|
496
|
+
this.host.parentNode.insertBefore(this.trigger, this.host.nextSibling);
|
497
|
+
}
|
498
|
+
/** Gets the 'closest' scrolling parent */
|
499
|
+
getScrollParent() {
|
500
|
+
const regex = /(auto|scroll)/;
|
501
|
+
const parents = (_node, ps) => {
|
502
|
+
if (_node.parentNode === null) {
|
503
|
+
return ps;
|
504
|
+
}
|
505
|
+
return parents(_node.parentNode, ps.concat([_node]));
|
506
|
+
};
|
507
|
+
const style = (_node, prop) => getComputedStyle(_node, null).getPropertyValue(prop);
|
508
|
+
const overflow = (_node) => style(_node, 'overflow') +
|
509
|
+
style(_node, 'overflow-y') +
|
510
|
+
style(_node, 'overflow-x');
|
511
|
+
const scroll = (_node) => regex.test(overflow(_node));
|
512
|
+
const docHeight = document.documentElement.getBoundingClientRect().height;
|
513
|
+
const scrollParent = (_node) => {
|
514
|
+
if (!(_node instanceof HTMLElement))
|
515
|
+
return;
|
516
|
+
const ps = parents(_node, []);
|
517
|
+
return (ps.find((ele) => scroll(ele) && ele.getBoundingClientRect().height !== docHeight) || document);
|
518
|
+
};
|
519
|
+
return scrollParent(this.host);
|
520
|
+
}
|
521
|
+
shouldStick(data) {
|
522
|
+
let scrollAmt;
|
523
|
+
if (this.positions.includes('top')) {
|
524
|
+
if (!this.isRootSticker)
|
525
|
+
scrollAmt = _getOffset(this.trigger, this.scrollParent).top;
|
526
|
+
else
|
527
|
+
scrollAmt = this.trigger.getBoundingClientRect().top;
|
528
|
+
this.isStuck = scrollAmt < -1;
|
529
|
+
}
|
530
|
+
else if (this.positions.includes('bottom')) {
|
531
|
+
scrollAmt = this.trigger.getBoundingClientRect().top;
|
532
|
+
const parentBounding = data && data.rootBounds
|
533
|
+
? data.rootBounds
|
534
|
+
: (this.scrollParent instanceof Document
|
535
|
+
? document.documentElement
|
536
|
+
: this.scrollParent).getBoundingClientRect();
|
537
|
+
this.isStuck = scrollAmt > parentBounding.height + parentBounding.top;
|
538
|
+
}
|
539
|
+
}
|
540
|
+
bootstrapGurantor() {
|
541
|
+
this.hasBootstrapped = true;
|
542
|
+
this.scrollParent = this.scrollParent || this.getScrollParent();
|
543
|
+
this.isRootSticker = this.scrollParent instanceof Document;
|
544
|
+
this.trigger = this.trigger || document.createElement('div');
|
545
|
+
this.trigger.classList.add('sticker-trigger');
|
546
|
+
this.positionChange();
|
547
|
+
this.moveTrigger(true);
|
548
|
+
this.quietModeChange();
|
549
|
+
this.listenForScrollParent = true;
|
550
|
+
this.handleParentEvents(true);
|
551
|
+
this.stickerIndex = Array.from(this.scrollParent.querySelectorAll('nano-sticker'))
|
552
|
+
.filter((sticker) => sticker.position === this.position)
|
553
|
+
.findIndex((sticker) => sticker === this.host);
|
554
|
+
this.setOffset();
|
555
|
+
this.stickerResizeListener();
|
556
|
+
this.setupParentResizeListener();
|
557
|
+
// bit of a hack ... add default 'order'. Required for 'stickTo' elements.
|
558
|
+
this.slottedContent = Array.from(this.host.children);
|
559
|
+
this.slottedContent.forEach((child) => {
|
560
|
+
child.style.order = this.stickerIndex + '';
|
561
|
+
});
|
562
|
+
this.updateTriggerOffset();
|
563
|
+
this.stickToChange();
|
564
|
+
this.setupIO();
|
565
|
+
this.onStickToDisplayEvent = debounce(this.onStickToDisplayEvent, 50);
|
566
|
+
}
|
567
|
+
// Stencil metthods
|
568
|
+
connectedCallback() {
|
569
|
+
this.isRtl =
|
570
|
+
this.host.dir === 'rtl' ||
|
571
|
+
this.host.ownerDocument.dir === 'rtl';
|
572
|
+
// this is all horrible.... shrug
|
573
|
+
document.documentElement.addEventListener('nanoComponentsReady', () => {
|
574
|
+
setTimeout((_) => this.bootstrapGurantor(), 200);
|
575
|
+
});
|
576
|
+
setTimeout((_) => {
|
577
|
+
if (!this.hasBootstrapped)
|
578
|
+
this.bootstrapGurantor();
|
579
|
+
}, 1000);
|
580
|
+
}
|
581
|
+
disconnectedCallback() {
|
582
|
+
if (this.io) {
|
583
|
+
this.io.disconnect();
|
584
|
+
this.io = undefined;
|
585
|
+
}
|
586
|
+
if (this.parentSizeObserver) {
|
587
|
+
this.parentSizeObserver.disconnect();
|
588
|
+
this.parentSizeObserver = undefined;
|
589
|
+
}
|
590
|
+
this.quietMode = 'off';
|
591
|
+
this.scrollParent = null;
|
592
|
+
}
|
593
|
+
render() {
|
594
|
+
return (h(Host, { sticky: !this.isRootSticker && !this.stickToEle && this.isSticky, hide: this.hide && this.isStuck, siblings: this.stuckCounter, index: this.stickerIndex, stuck: this.isStuck && this.isSticky, "placed-bottom": this.positions.includes('bottom'), "placed-top": this.positions.includes('top'), "placed-end": this.positions.includes('end'), "placed-start": this.positions.includes('start') }, h("div", { class: {
|
595
|
+
sticker: true,
|
596
|
+
sticky: this.isRootSticker && this.isSticky,
|
597
|
+
stuck: this.isStuck && this.isRootSticker && this.isSticky,
|
598
|
+
hide: this.isRootSticker && this.hide && this.isStuck,
|
599
|
+
}, ref: (div) => (this.sticker = div) }, h("div", { class: "sticker-content", ref: (div) => (this.content = div) }, h("slot", null)))));
|
600
|
+
}
|
601
|
+
get host() { return this; }
|
602
|
+
static get watchers() { return {
|
603
|
+
"trigger": ["updateTriggerOffset"],
|
604
|
+
"scrollParent": ["updateTriggerOffset", "handleParentEvents", "setupIO"],
|
605
|
+
"position": ["stickerResizeListener", "positionChange"],
|
606
|
+
"quietMode": ["quietModeChange"],
|
607
|
+
"offset": ["setOffset"],
|
608
|
+
"_offset": ["setOffset"],
|
609
|
+
"isStuck": ["stuckChange"],
|
610
|
+
"quietModeIsOn": ["attachScrollListeners"],
|
611
|
+
"stickToEle": ["handleParentEvents", "stickToEleChange"],
|
612
|
+
"stickTo": ["stickToChange"],
|
613
|
+
"multiStickerHide": ["visibilityDecisionHandler"],
|
614
|
+
"scrollHide": ["visibilityDecisionHandler"],
|
615
|
+
"hide": ["handleHideChange"]
|
616
|
+
}; }
|
617
|
+
static get style() { return stickerCss; }
|
618
|
+
};
|
619
|
+
Sticker = /*@__PURE__*/ proxyCustomElement(Sticker, [1, "nano-sticker", {
|
620
|
+
"autoResize": [4, "auto-resize"],
|
621
|
+
"isSticky": [1028, "is-sticky"],
|
622
|
+
"offset": [1026],
|
623
|
+
"position": [1],
|
624
|
+
"quietMode": [1, "quiet-mode"],
|
625
|
+
"hideOnNewStickers": [4, "hide-on-new-stickers"],
|
626
|
+
"breakPointMax": [2, "break-point-max"],
|
627
|
+
"breakPointMin": [2, "break-point-min"],
|
628
|
+
"scrollParent": [1040],
|
629
|
+
"stickTo": [1, "stick-to"],
|
630
|
+
"isStuck": [32],
|
631
|
+
"isRootSticker": [32],
|
632
|
+
"hide": [32],
|
633
|
+
"scrollHide": [32],
|
634
|
+
"multiStickerHide": [32],
|
635
|
+
"scrollingTo": [32],
|
636
|
+
"quietModeIsOn": [32],
|
637
|
+
"stuckCounter": [32],
|
638
|
+
"stickerIndex": [32],
|
639
|
+
"stickToEle": [32],
|
640
|
+
"triggerPos": [32],
|
641
|
+
"trigger": [32],
|
642
|
+
"_offset": [32],
|
643
|
+
"isHiding": [64],
|
644
|
+
"isSticking": [64],
|
645
|
+
"setTriggerPos": [64],
|
646
|
+
"getTriggerPos": [64],
|
647
|
+
"pauseHiding": [64]
|
648
|
+
}]);
|
649
|
+
function defineCustomElement() {
|
650
|
+
if (typeof customElements === "undefined") {
|
651
|
+
return;
|
652
|
+
}
|
653
|
+
const components = ["nano-sticker"];
|
654
|
+
components.forEach(tagName => { switch (tagName) {
|
655
|
+
case "nano-sticker":
|
656
|
+
if (!customElements.get(tagName)) {
|
657
|
+
customElements.define(tagName, Sticker);
|
658
|
+
}
|
659
|
+
break;
|
660
|
+
} });
|
661
|
+
}
|
662
|
+
|
663
|
+
export { Sticker as S, defineCustomElement as d };
|
664
|
+
|
665
|
+
//# sourceMappingURL=sticker.js.map
|