@nanoporetech-digital/components 1.13.21 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +653 -14
- package/README.md +3 -2
- package/dist/cjs/{algolia-data-771a61ea.js → algolia-data-a98ccf4f.js} +2 -2
- package/dist/cjs/algolia-data-a98ccf4f.js.map +1 -0
- package/dist/cjs/algoliasearch.umd-5dc661c5.js +12 -0
- package/dist/cjs/algoliasearch.umd-5dc661c5.js.map +1 -0
- package/dist/cjs/{component-store-c8440fd7.js → component-store-8d99743e.js} +2 -2
- package/dist/cjs/{component-store-c8440fd7.js.map → component-store-8d99743e.js.map} +1 -1
- package/dist/cjs/{css-shim-208c6c2d.js → css-shim-8983f2ba.js} +2 -2
- package/dist/cjs/{css-shim-208c6c2d.js.map → css-shim-8983f2ba.js.map} +1 -1
- package/dist/cjs/{dom-1b5e30a5.js → dom-28d4395c.js} +2 -2
- package/dist/cjs/{dom-1b5e30a5.js.map → dom-28d4395c.js.map} +1 -1
- package/dist/cjs/{global-befb7a64.js → global-aa92d50f.js} +5 -3
- package/dist/cjs/global-aa92d50f.js.map +1 -0
- package/dist/cjs/{utils-e9e37c80.js → index-e517a673.js} +1 -1
- package/dist/cjs/{utils-e9e37c80.js.map → index-e517a673.js.map} +1 -1
- package/dist/cjs/{index-43791691.js → index-f12395b8.js} +10 -3
- package/dist/cjs/index-f12395b8.js.map +1 -0
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +5 -5
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/nano-accordion.cjs.entry.js +1 -1
- package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-alert.cjs.entry.js +7 -7
- package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +3 -3
- package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-input.cjs.entry.js +5 -5
- package/dist/cjs/nano-algolia-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-pagination.cjs.entry.js +2 -2
- package/dist/cjs/nano-algolia-results.cjs.entry.js +2 -2
- package/dist/cjs/nano-algolia.cjs.entry.js +5 -5
- package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-aspect-ratio.cjs.entry.js +12 -4
- package/dist/cjs/nano-aspect-ratio.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox-group.cjs.entry.js +31 -16
- package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox.cjs.entry.js +33 -15
- package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-components.cjs.js +5 -5
- package/dist/cjs/nano-components.cjs.js.map +1 -1
- package/dist/cjs/nano-date-input.cjs.entry.js +45 -13
- package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-date-picker_2.cjs.entry.js +117 -72
- package/dist/cjs/nano-date-picker_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-details.cjs.entry.js +16 -10
- package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dialog.cjs.entry.js +5 -9
- package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-drawer.cjs.entry.js +1 -1
- package/dist/cjs/nano-file-upload.cjs.entry.js +7 -14
- package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +6 -6
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-search-results.cjs.entry.js +2 -2
- package/dist/cjs/nano-grid_3.cjs.entry.js +1 -1
- package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-hero.cjs.entry.js +3 -3
- package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-icon-button.cjs.entry.js +2 -2
- package/dist/cjs/nano-icon.cjs.entry.js +1 -1
- package/dist/cjs/nano-input.cjs.entry.js +12 -2
- package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-menu.cjs.entry.js +2 -2
- package/dist/cjs/nano-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-nav-item_2.cjs.entry.js +6 -6
- package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-range.cjs.entry.js +11 -11
- package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-rating.cjs.entry.js +3 -3
- package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -1
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-select-option.cjs.entry.js +1 -1
- package/dist/cjs/nano-slide.cjs.entry.js +1 -1
- package/dist/cjs/nano-slides.cjs.entry.js +2 -2
- package/dist/cjs/nano-spinner.cjs.entry.js +2 -2
- package/dist/cjs/nano-sticker.cjs.entry.js +9 -9
- package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-content.cjs.entry.js +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +6 -6
- package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab.cjs.entry.js +2 -2
- package/dist/cjs/nano-tooltip.cjs.entry.js +49 -35
- package/dist/cjs/nano-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{popover-eccc07bd.js → popover-9289f217.js} +32 -32
- package/dist/cjs/popover-9289f217.js.map +1 -0
- package/dist/cjs/{shadow-css-c5dce0c8.js → shadow-css-a482ec93.js} +2 -2
- package/dist/cjs/shadow-css-a482ec93.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/accordion/accordion.js +2 -2
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/alert/alert.css +3 -3
- package/dist/collection/components/alert/alert.helpers.js +1 -1
- package/dist/collection/components/alert/alert.helpers.js.map +1 -1
- package/dist/collection/components/alert/alert.js +2 -2
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/algolia/algolia-data.js.map +1 -1
- package/dist/collection/components/algolia/algolia-filter.js +3 -3
- package/dist/collection/components/algolia/algolia-filter.js.map +1 -1
- package/dist/collection/components/algolia/algolia-input.js +7 -7
- package/dist/collection/components/algolia/algolia-input.js.map +1 -1
- package/dist/collection/components/algolia/algolia-results.js +1 -1
- package/dist/collection/components/algolia/algolia.js +8 -8
- package/dist/collection/components/algolia/algolia.js.map +1 -1
- package/dist/collection/components/aspect-ratio/aspect-ratio.js +9 -1
- package/dist/collection/components/aspect-ratio/aspect-ratio.js.map +1 -1
- package/dist/collection/components/checkbox/__tests__/__fixtures__/checkbox-templates.js +117 -0
- package/dist/collection/components/checkbox/__tests__/__fixtures__/checkbox-templates.js.map +1 -0
- package/dist/collection/components/checkbox/checkbox-group.css +3 -3
- package/dist/collection/components/checkbox/checkbox-group.js +39 -26
- package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.css +13 -2
- package/dist/collection/components/checkbox/checkbox.js +63 -28
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/date-input/date-input.css +2 -4
- package/dist/collection/components/date-input/date-input.js +81 -29
- package/dist/collection/components/date-input/date-input.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.css +15 -4
- package/dist/collection/components/date-picker/date-picker.js +45 -17
- package/dist/collection/components/date-picker/date-picker.js.map +1 -1
- package/dist/collection/components/details/details.css +3 -3
- package/dist/collection/components/details/details.js +14 -8
- package/dist/collection/components/details/details.js.map +1 -1
- package/dist/collection/components/dialog/dialog.css +2 -3
- package/dist/collection/components/dialog/dialog.js +6 -10
- package/dist/collection/components/dialog/dialog.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +134 -85
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload-interface.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload.css +9 -17
- package/dist/collection/components/file-upload/file-upload.js +17 -20
- package/dist/collection/components/file-upload/file-upload.js.map +1 -1
- package/dist/collection/components/global-nav/global-nav.css +2 -2
- package/dist/collection/components/global-nav/global-nav.js +5 -5
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/global-search-results/global-search-results.css +3 -3
- package/dist/collection/components/grid/grid-item.js +1 -1
- package/dist/collection/components/grid/grid.js +1 -1
- package/dist/collection/components/grid/grid.js.map +1 -1
- package/dist/collection/components/hero/hero.js +1 -1
- package/dist/collection/components/hero/hero.js.map +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/icon-button/icon-button.css +2 -2
- package/dist/collection/components/input/input.css +9 -11
- package/dist/collection/components/input/input.js +26 -7
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/menu/menu.css +7 -7
- package/dist/collection/components/menu/menu.js +1 -1
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/menu-drawer/menu-drawer.js +1 -1
- package/dist/collection/components/menu-drawer/menu-drawer.js.map +1 -1
- package/dist/collection/components/nav-item/nav-item.js +5 -5
- package/dist/collection/components/nav-item/nav-item.js.map +1 -1
- package/dist/collection/components/range/range.css +4 -4
- package/dist/collection/components/range/range.js +5 -5
- package/dist/collection/components/range/range.js.map +1 -1
- package/dist/collection/components/rating/rating.js +1 -1
- package/dist/collection/components/rating/rating.js.map +1 -1
- package/dist/collection/components/resize-observe/resize-observe.js +2 -2
- package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
- package/dist/collection/components/select/select.css +4 -4
- package/dist/collection/components/select/select.js +6 -6
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/slides/slides.css +2 -2
- package/dist/collection/components/slides/slides.js +7 -7
- package/dist/collection/components/spinner/spinner.css +2 -2
- package/dist/collection/components/sticky/sticker.js +1 -1
- package/dist/collection/components/sticky/sticker.js.map +1 -1
- package/dist/collection/components/tabs/tab-group.css +6 -6
- package/dist/collection/components/tabs/tab-group.js +3 -3
- package/dist/collection/components/tabs/tab-group.js.map +1 -1
- package/dist/collection/components/tabs/tab.css +2 -2
- package/dist/collection/components/tooltip/tooltip.css +15 -13
- package/dist/collection/components/tooltip/tooltip.js +50 -34
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/global/script/global.js +4 -2
- package/dist/collection/global/script/global.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/gesture/swipe-back.js +1 -1
- package/dist/collection/utils/gesture/swipe-back.js.map +1 -1
- package/dist/collection/utils/{utils.js → index.js} +1 -1
- package/dist/collection/utils/{utils.js.map → index.js.map} +1 -1
- package/dist/collection/utils/store/component-store.js +1 -1
- package/dist/collection/utils/store/component-store.js.map +1 -1
- package/dist/collection/utils/testing/index.js +242 -0
- package/dist/collection/utils/testing/index.js.map +1 -0
- package/dist/custom-elements/index.js +374 -228
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/{algolia-data-a84aeef1.js → algolia-data-b31a9800.js} +2 -2
- package/dist/esm/algolia-data-b31a9800.js.map +1 -0
- package/dist/esm/algoliasearch.umd-7ecbe0e9.js +10 -0
- package/dist/esm/algoliasearch.umd-7ecbe0e9.js.map +1 -0
- package/dist/esm/{component-store-182d1931.js → component-store-93172454.js} +2 -2
- package/dist/esm/{component-store-182d1931.js.map → component-store-93172454.js.map} +1 -1
- package/dist/esm/{css-shim-f12af614.js → css-shim-4e602522.js} +2 -2
- package/dist/esm/{css-shim-f12af614.js.map → css-shim-4e602522.js.map} +1 -1
- package/dist/esm/{dom-2f25dd5a.js → dom-acc01cc2.js} +2 -2
- package/dist/esm/{dom-2f25dd5a.js.map → dom-acc01cc2.js.map} +1 -1
- package/dist/esm/{global-c85d24a2.js → global-118ae701.js} +5 -3
- package/dist/esm/global-118ae701.js.map +1 -0
- package/dist/esm/{utils-fd1ada22.js → index-269c88a9.js} +1 -1
- package/dist/esm/{utils-fd1ada22.js.map → index-269c88a9.js.map} +1 -1
- package/dist/esm/{index-20becda2.js → index-912ef959.js} +10 -3
- package/dist/esm/index-912ef959.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +5 -5
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/nano-accordion.entry.js +1 -1
- package/dist/esm/nano-accordion.entry.js.map +1 -1
- package/dist/esm/nano-alert.entry.js +3 -3
- package/dist/esm/nano-alert.entry.js.map +1 -1
- package/dist/esm/nano-algolia-filter.entry.js +3 -3
- package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
- package/dist/esm/nano-algolia-input.entry.js +5 -5
- package/dist/esm/nano-algolia-input.entry.js.map +1 -1
- package/dist/esm/nano-algolia-pagination.entry.js +2 -2
- package/dist/esm/nano-algolia-results.entry.js +2 -2
- package/dist/esm/nano-algolia.entry.js +5 -5
- package/dist/esm/nano-algolia.entry.js.map +1 -1
- package/dist/esm/nano-aspect-ratio.entry.js +12 -4
- package/dist/esm/nano-aspect-ratio.entry.js.map +1 -1
- package/dist/esm/nano-checkbox-group.entry.js +31 -16
- package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
- package/dist/esm/nano-checkbox.entry.js +33 -15
- package/dist/esm/nano-checkbox.entry.js.map +1 -1
- package/dist/esm/nano-components.js +5 -5
- package/dist/esm/nano-components.js.map +1 -1
- package/dist/esm/nano-date-input.entry.js +45 -13
- package/dist/esm/nano-date-input.entry.js.map +1 -1
- package/dist/esm/nano-date-picker_2.entry.js +116 -71
- package/dist/esm/nano-date-picker_2.entry.js.map +1 -1
- package/dist/esm/nano-details.entry.js +15 -9
- package/dist/esm/nano-details.entry.js.map +1 -1
- package/dist/esm/nano-dialog.entry.js +5 -9
- package/dist/esm/nano-dialog.entry.js.map +1 -1
- package/dist/esm/nano-drawer.entry.js +1 -1
- package/dist/esm/nano-file-upload.entry.js +7 -14
- package/dist/esm/nano-file-upload.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +5 -5
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/nano-global-search-results.entry.js +2 -2
- package/dist/esm/nano-grid_3.entry.js +1 -1
- package/dist/esm/nano-grid_3.entry.js.map +1 -1
- package/dist/esm/nano-hero.entry.js +2 -2
- package/dist/esm/nano-hero.entry.js.map +1 -1
- package/dist/esm/nano-icon-button.entry.js +2 -2
- package/dist/esm/nano-icon.entry.js +1 -1
- package/dist/esm/nano-input.entry.js +12 -2
- package/dist/esm/nano-input.entry.js.map +1 -1
- package/dist/esm/nano-menu-drawer.entry.js +1 -1
- package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
- package/dist/esm/nano-menu.entry.js +2 -2
- package/dist/esm/nano-menu.entry.js.map +1 -1
- package/dist/esm/nano-nav-item_2.entry.js +4 -4
- package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
- package/dist/esm/nano-range.entry.js +3 -3
- package/dist/esm/nano-range.entry.js.map +1 -1
- package/dist/esm/nano-rating.entry.js +2 -2
- package/dist/esm/nano-rating.entry.js.map +1 -1
- package/dist/esm/nano-resize-observe_2.entry.js +1 -1
- package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/esm/nano-select-option.entry.js +1 -1
- package/dist/esm/nano-slide.entry.js +1 -1
- package/dist/esm/nano-slides.entry.js +2 -2
- package/dist/esm/nano-spinner.entry.js +2 -2
- package/dist/esm/nano-sticker.entry.js +2 -2
- package/dist/esm/nano-sticker.entry.js.map +1 -1
- package/dist/esm/nano-tab-content.entry.js +1 -1
- package/dist/esm/nano-tab-group.entry.js +4 -4
- package/dist/esm/nano-tab-group.entry.js.map +1 -1
- package/dist/esm/nano-tab.entry.js +2 -2
- package/dist/esm/nano-tooltip.entry.js +49 -35
- package/dist/esm/nano-tooltip.entry.js.map +1 -1
- package/dist/esm/{popover-05f61b5f.js → popover-a57d8413.js} +32 -32
- package/dist/esm/popover-a57d8413.js.map +1 -0
- package/dist/esm/{shadow-css-70953e54.js → shadow-css-460f0f5c.js} +2 -2
- package/dist/esm/shadow-css-460f0f5c.js.map +1 -0
- package/dist/esm-es5/{algolia-data-a84aeef1.js → algolia-data-b31a9800.js} +2 -2
- package/dist/esm-es5/algolia-data-b31a9800.js.map +1 -0
- package/dist/esm-es5/algoliasearch.umd-7ecbe0e9.js +4 -0
- package/dist/esm-es5/algoliasearch.umd-7ecbe0e9.js.map +1 -0
- package/dist/esm-es5/{component-store-182d1931.js → component-store-93172454.js} +2 -2
- package/dist/esm-es5/{component-store-182d1931.js.map → component-store-93172454.js.map} +1 -1
- package/dist/esm-es5/{css-shim-f12af614.js → css-shim-4e602522.js} +1 -1
- package/dist/esm-es5/{css-shim-f12af614.js.map → css-shim-4e602522.js.map} +1 -1
- package/dist/esm-es5/{dom-2f25dd5a.js → dom-acc01cc2.js} +1 -1
- package/dist/esm-es5/{dom-2f25dd5a.js.map → dom-acc01cc2.js.map} +1 -1
- package/dist/esm-es5/{global-c85d24a2.js → global-118ae701.js} +2 -2
- package/dist/esm-es5/global-118ae701.js.map +1 -0
- package/dist/esm-es5/{utils-fd1ada22.js → index-269c88a9.js} +1 -1
- package/dist/esm-es5/{utils-fd1ada22.js.map → index-269c88a9.js.map} +1 -1
- package/dist/esm-es5/index-912ef959.js +2 -0
- package/dist/esm-es5/index-912ef959.js.map +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/index.js.map +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/nano-accordion.entry.js +1 -1
- package/dist/esm-es5/nano-accordion.entry.js.map +1 -1
- package/dist/esm-es5/nano-alert.entry.js +1 -1
- package/dist/esm-es5/nano-alert.entry.js.map +1 -1
- package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
- package/dist/esm-es5/nano-algolia-filter.entry.js.map +1 -1
- package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
- package/dist/esm-es5/nano-algolia-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-algolia-pagination.entry.js +1 -1
- package/dist/esm-es5/nano-algolia-results.entry.js +1 -1
- package/dist/esm-es5/nano-algolia.entry.js +1 -1
- package/dist/esm-es5/nano-algolia.entry.js.map +1 -1
- package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
- package/dist/esm-es5/nano-aspect-ratio.entry.js.map +1 -1
- package/dist/esm-es5/nano-checkbox-group.entry.js +1 -1
- package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
- package/dist/esm-es5/nano-checkbox.entry.js +1 -1
- package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/nano-components.js +1 -1
- package/dist/esm-es5/nano-components.js.map +1 -1
- package/dist/esm-es5/nano-date-input.entry.js +1 -1
- package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-date-picker_2.entry.js +1 -1
- package/dist/esm-es5/nano-date-picker_2.entry.js.map +1 -1
- package/dist/esm-es5/nano-details.entry.js +1 -1
- package/dist/esm-es5/nano-details.entry.js.map +1 -1
- package/dist/esm-es5/nano-dialog.entry.js +1 -1
- package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
- package/dist/esm-es5/nano-drawer.entry.js +1 -1
- package/dist/esm-es5/nano-file-upload.entry.js +1 -1
- package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
- package/dist/esm-es5/nano-global-nav.entry.js +1 -1
- package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
- package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
- package/dist/esm-es5/nano-grid_3.entry.js +1 -1
- package/dist/esm-es5/nano-grid_3.entry.js.map +1 -1
- package/dist/esm-es5/nano-hero.entry.js +1 -1
- package/dist/esm-es5/nano-hero.entry.js.map +1 -1
- package/dist/esm-es5/nano-icon-button.entry.js +1 -1
- package/dist/esm-es5/nano-icon.entry.js +1 -1
- package/dist/esm-es5/nano-input.entry.js +1 -1
- package/dist/esm-es5/nano-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
- package/dist/esm-es5/nano-menu-drawer.entry.js.map +1 -1
- package/dist/esm-es5/nano-menu.entry.js +1 -1
- package/dist/esm-es5/nano-menu.entry.js.map +1 -1
- package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
- package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
- package/dist/esm-es5/nano-range.entry.js +1 -1
- package/dist/esm-es5/nano-range.entry.js.map +1 -1
- package/dist/esm-es5/nano-rating.entry.js +1 -1
- package/dist/esm-es5/nano-rating.entry.js.map +1 -1
- package/dist/esm-es5/nano-resize-observe_2.entry.js +1 -1
- package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/esm-es5/nano-select-option.entry.js +1 -1
- package/dist/esm-es5/nano-slide.entry.js +1 -1
- package/dist/esm-es5/nano-slides.entry.js +2 -2
- package/dist/esm-es5/nano-spinner.entry.js +1 -1
- package/dist/esm-es5/nano-sticker.entry.js +1 -1
- package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
- package/dist/esm-es5/nano-tab-content.entry.js +1 -1
- package/dist/esm-es5/nano-tab-group.entry.js +1 -1
- package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
- package/dist/esm-es5/nano-tab.entry.js +1 -1
- package/dist/esm-es5/nano-tooltip.entry.js +1 -1
- package/dist/esm-es5/nano-tooltip.entry.js.map +1 -1
- package/dist/esm-es5/popover-a57d8413.js +2 -0
- package/dist/{esm/popover-05f61b5f.js.map → esm-es5/popover-a57d8413.js.map} +1 -1
- package/dist/esm-es5/{shadow-css-70953e54.js → shadow-css-460f0f5c.js} +1 -1
- package/dist/esm-es5/shadow-css-460f0f5c.js.map +1 -0
- package/dist/nano-components/index.esm.js +1 -1
- package/dist/nano-components/index.esm.js.map +1 -1
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/nano-components.esm.js.map +1 -1
- package/dist/nano-components/nano-components.js +1 -1
- package/dist/nano-components/{p-c8ff45ab.system.entry.js → p-007c6041.system.entry.js} +2 -2
- package/dist/nano-components/{p-c8ff45ab.system.entry.js.map → p-007c6041.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-1ce90ea4.entry.js → p-02177814.entry.js} +2 -2
- package/dist/nano-components/p-02177814.entry.js.map +1 -0
- package/dist/nano-components/{p-9b9ca075.system.entry.js → p-046af455.system.entry.js} +2 -2
- package/dist/nano-components/p-046af455.system.entry.js.map +1 -0
- package/dist/nano-components/p-05c062ae.js +4 -0
- package/dist/nano-components/p-05c062ae.js.map +1 -0
- package/dist/nano-components/{p-4365edc6.js → p-0c9eb057.js} +1 -1
- package/dist/nano-components/{p-4365edc6.js.map → p-0c9eb057.js.map} +1 -1
- package/dist/nano-components/{p-dce1f547.entry.js → p-104a9d64.entry.js} +2 -2
- package/dist/nano-components/p-104a9d64.entry.js.map +1 -0
- package/dist/nano-components/{p-8611e764.system.entry.js → p-10f24f67.system.entry.js} +2 -2
- package/dist/nano-components/{p-8611e764.system.entry.js.map → p-10f24f67.system.entry.js.map} +0 -0
- package/dist/nano-components/p-1477b91d.system.js +2 -0
- package/dist/nano-components/p-1477b91d.system.js.map +1 -0
- package/dist/nano-components/{p-461c539f.system.entry.js → p-1c7614c4.system.entry.js} +2 -2
- package/dist/nano-components/p-1c7614c4.system.entry.js.map +1 -0
- package/dist/nano-components/{p-8a41ccd9.system.entry.js → p-1d16e897.system.entry.js} +2 -2
- package/dist/nano-components/{p-8a41ccd9.system.entry.js.map → p-1d16e897.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-4042379b.system.entry.js → p-21a6f295.system.entry.js} +2 -2
- package/dist/nano-components/p-21a6f295.system.entry.js.map +1 -0
- package/dist/nano-components/{p-9a456956.system.js → p-2671d998.system.js} +2 -2
- package/dist/nano-components/p-2671d998.system.js.map +1 -0
- package/dist/nano-components/{p-7367dfd5.system.entry.js → p-273b19b0.system.entry.js} +2 -2
- package/dist/nano-components/{p-7367dfd5.system.entry.js.map → p-273b19b0.system.entry.js.map} +0 -0
- package/dist/nano-components/p-28123e6e.entry.js +2 -0
- package/dist/nano-components/p-28123e6e.entry.js.map +1 -0
- package/dist/nano-components/{p-7b3de191.entry.js → p-2ae39fa1.entry.js} +2 -2
- package/dist/nano-components/p-2ae39fa1.entry.js.map +1 -0
- package/dist/nano-components/{p-47d2a49e.system.js → p-2d0b8da6.system.js} +1 -1
- package/dist/nano-components/{p-47d2a49e.system.js.map → p-2d0b8da6.system.js.map} +1 -1
- package/dist/nano-components/{p-6a9fe61f.system.entry.js → p-2edaf0eb.system.entry.js} +3 -3
- package/dist/nano-components/{p-6a9fe61f.system.entry.js.map → p-2edaf0eb.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-be430309.system.entry.js → p-2f876f68.system.entry.js} +2 -2
- package/dist/nano-components/{p-be430309.system.entry.js.map → p-2f876f68.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-e1429ff0.system.entry.js → p-305ba54b.system.entry.js} +2 -2
- package/dist/nano-components/p-305ba54b.system.entry.js.map +1 -0
- package/dist/nano-components/{p-e142f6b6.system.entry.js → p-30a22cd0.system.entry.js} +2 -2
- package/dist/nano-components/p-30a22cd0.system.entry.js.map +1 -0
- package/dist/nano-components/{p-a897cfae.system.entry.js → p-31c52d0a.system.entry.js} +2 -2
- package/dist/nano-components/p-31c52d0a.system.entry.js.map +1 -0
- package/dist/nano-components/{p-f578998d.system.entry.js → p-325f32b3.system.entry.js} +2 -2
- package/dist/nano-components/p-325f32b3.system.entry.js.map +1 -0
- package/dist/nano-components/{p-bc09eba8.entry.js → p-3b2ea5fd.entry.js} +2 -2
- package/dist/nano-components/p-3b2ea5fd.entry.js.map +1 -0
- package/dist/nano-components/{p-0283a2ec.js → p-4370f8ae.js} +2 -2
- package/dist/nano-components/p-4370f8ae.js.map +1 -0
- package/dist/nano-components/{p-d7eb8c22.system.js → p-4647a31f.system.js} +2 -2
- package/dist/nano-components/{p-d7eb8c22.system.js.map → p-4647a31f.system.js.map} +1 -1
- package/dist/nano-components/{p-79e11525.system.entry.js → p-491096f0.system.entry.js} +2 -2
- package/dist/nano-components/p-491096f0.system.entry.js.map +1 -0
- package/dist/nano-components/{p-fb8aa0a7.system.entry.js → p-4e21bfe1.system.entry.js} +2 -2
- package/dist/nano-components/{p-fb8aa0a7.system.entry.js.map → p-4e21bfe1.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-847ce50c.entry.js → p-4fa0b560.entry.js} +2 -2
- package/dist/nano-components/{p-847ce50c.entry.js.map → p-4fa0b560.entry.js.map} +0 -0
- package/dist/nano-components/{p-1bd92497.system.entry.js → p-4fbc3c8b.system.entry.js} +2 -2
- package/dist/nano-components/{p-1bd92497.system.entry.js.map → p-4fbc3c8b.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-5198e4c6.system.js → p-508484f8.system.js} +2 -2
- package/dist/nano-components/p-508484f8.system.js.map +1 -0
- package/dist/nano-components/p-5672ebbb.system.entry.js +2 -0
- package/dist/nano-components/p-5672ebbb.system.entry.js.map +1 -0
- package/dist/nano-components/{p-405d92a0.entry.js → p-574143b5.entry.js} +2 -2
- package/dist/nano-components/{p-405d92a0.entry.js.map → p-574143b5.entry.js.map} +0 -0
- package/dist/nano-components/{p-346f0d8c.system.entry.js → p-57434dc5.system.entry.js} +2 -2
- package/dist/nano-components/{p-346f0d8c.system.entry.js.map → p-57434dc5.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-7b94cd1c.entry.js → p-574f1393.entry.js} +2 -2
- package/dist/nano-components/p-574f1393.entry.js.map +1 -0
- package/dist/nano-components/{p-6b22f5db.entry.js → p-580eac05.entry.js} +2 -2
- package/dist/nano-components/p-580eac05.entry.js.map +1 -0
- package/dist/nano-components/{p-fa884269.entry.js → p-59aba360.entry.js} +2 -2
- package/dist/nano-components/{p-fa884269.entry.js.map → p-59aba360.entry.js.map} +0 -0
- package/dist/nano-components/{p-e886b71e.system.js → p-698a8ab3.system.js} +2 -2
- package/dist/nano-components/p-698a8ab3.system.js.map +1 -0
- package/dist/nano-components/{p-6ba91d36.entry.js → p-6a3eee01.entry.js} +2 -2
- package/dist/nano-components/p-6a3eee01.entry.js.map +1 -0
- package/dist/nano-components/{p-1ed74370.entry.js → p-6aab52a0.entry.js} +2 -2
- package/dist/nano-components/p-6aab52a0.entry.js.map +1 -0
- package/dist/nano-components/{p-e5a19e7f.entry.js → p-6dc59ae8.entry.js} +2 -2
- package/dist/nano-components/{p-e5a19e7f.entry.js.map → p-6dc59ae8.entry.js.map} +0 -0
- package/dist/nano-components/{p-c171b273.entry.js → p-6eba639a.entry.js} +3 -3
- package/dist/nano-components/{p-c171b273.entry.js.map → p-6eba639a.entry.js.map} +0 -0
- package/dist/nano-components/{p-4739c706.system.entry.js → p-73d969d0.system.entry.js} +2 -2
- package/dist/nano-components/{p-4739c706.system.entry.js.map → p-73d969d0.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-a50ca06f.system.entry.js → p-7dc79f13.system.entry.js} +2 -2
- package/dist/nano-components/{p-a50ca06f.system.entry.js.map → p-7dc79f13.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-ba59977d.entry.js → p-7df31b1c.entry.js} +2 -2
- package/dist/nano-components/{p-ba59977d.entry.js.map → p-7df31b1c.entry.js.map} +0 -0
- package/dist/nano-components/{p-60b2ba81.system.entry.js → p-7e208086.system.entry.js} +2 -2
- package/dist/nano-components/p-7e208086.system.entry.js.map +1 -0
- package/dist/nano-components/{p-63cc5e0d.system.entry.js → p-7e4129b4.system.entry.js} +2 -2
- package/dist/nano-components/{p-63cc5e0d.system.entry.js.map → p-7e4129b4.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-7fdff708.entry.js → p-7e68796f.entry.js} +2 -2
- package/dist/nano-components/p-7e68796f.entry.js.map +1 -0
- package/dist/nano-components/{p-027c5ed7.entry.js → p-81d7fd45.entry.js} +2 -2
- package/dist/nano-components/{p-027c5ed7.entry.js.map → p-81d7fd45.entry.js.map} +0 -0
- package/dist/nano-components/{p-d795cbd4.entry.js → p-82571543.entry.js} +2 -2
- package/dist/nano-components/p-82571543.entry.js.map +1 -0
- package/dist/nano-components/{p-7a0e9c6f.system.entry.js → p-844a1134.system.entry.js} +2 -2
- package/dist/nano-components/{p-7a0e9c6f.system.entry.js.map → p-844a1134.system.entry.js.map} +0 -0
- package/dist/nano-components/p-8535a942.entry.js +2 -0
- package/dist/nano-components/p-8535a942.entry.js.map +1 -0
- package/dist/nano-components/{p-c6796f75.entry.js → p-8c1d85ae.entry.js} +2 -2
- package/dist/nano-components/p-8c1d85ae.entry.js.map +1 -0
- package/dist/nano-components/{p-b6f5e5ef.system.js → p-8d24287e.system.js} +1 -1
- package/dist/nano-components/{p-b6f5e5ef.system.js.map → p-8d24287e.system.js.map} +1 -1
- package/dist/nano-components/{p-20ad4e90.system.entry.js → p-8ed6acea.system.entry.js} +2 -2
- package/dist/nano-components/{p-20ad4e90.system.entry.js.map → p-8ed6acea.system.entry.js.map} +0 -0
- package/dist/nano-components/p-9164e5e2.system.entry.js +2 -0
- package/dist/nano-components/p-9164e5e2.system.entry.js.map +1 -0
- package/dist/nano-components/{p-9920e725.system.js → p-9348c301.system.js} +1 -1
- package/dist/nano-components/p-9348c301.system.js.map +1 -0
- package/dist/nano-components/p-9371d81b.system.entry.js +2 -0
- package/dist/nano-components/p-9371d81b.system.entry.js.map +1 -0
- package/dist/nano-components/{p-89a5c54a.system.js → p-94f03788.system.js} +1 -1
- package/dist/nano-components/{p-89a5c54a.system.js.map → p-94f03788.system.js.map} +1 -1
- package/dist/nano-components/{p-fa926d02.system.entry.js → p-95a4c3f2.system.entry.js} +2 -2
- package/dist/nano-components/p-95a4c3f2.system.entry.js.map +1 -0
- package/dist/nano-components/p-96ba0d00.entry.js +2 -0
- package/dist/nano-components/p-96ba0d00.entry.js.map +1 -0
- package/dist/nano-components/p-99637978.entry.js +2 -0
- package/dist/nano-components/p-99637978.entry.js.map +1 -0
- package/dist/nano-components/{p-f5f76780.entry.js → p-9ccd832b.entry.js} +2 -2
- package/dist/nano-components/p-9ccd832b.entry.js.map +1 -0
- package/dist/nano-components/{p-e1fd68eb.js → p-a1680208.js} +2 -2
- package/dist/nano-components/{p-e1fd68eb.js.map → p-a1680208.js.map} +1 -1
- package/dist/nano-components/{p-fb7ae92c.entry.js → p-a53a193c.entry.js} +2 -2
- package/dist/nano-components/p-a53a193c.entry.js.map +1 -0
- package/dist/nano-components/p-a7ac7964.system.entry.js +2 -0
- package/dist/nano-components/p-a7ac7964.system.entry.js.map +1 -0
- package/dist/nano-components/{p-ec01a0ad.system.entry.js → p-aadd8c31.system.entry.js} +2 -2
- package/dist/nano-components/p-aadd8c31.system.entry.js.map +1 -0
- package/dist/nano-components/p-ab666582.entry.js +2 -0
- package/dist/nano-components/p-ab666582.entry.js.map +1 -0
- package/dist/nano-components/p-acd5d0f0.system.entry.js +2 -0
- package/dist/nano-components/p-acd5d0f0.system.entry.js.map +1 -0
- package/dist/nano-components/p-af9f6453.system.js +2 -0
- package/dist/nano-components/p-af9f6453.system.js.map +1 -0
- package/dist/nano-components/p-b1d3ab54.system.entry.js +2 -0
- package/dist/nano-components/p-b1d3ab54.system.entry.js.map +1 -0
- package/dist/nano-components/{p-27520572.entry.js → p-b3131821.entry.js} +2 -2
- package/dist/nano-components/{p-27520572.entry.js.map → p-b3131821.entry.js.map} +0 -0
- package/dist/nano-components/{p-e24d3e8a.entry.js → p-b7a58722.entry.js} +2 -2
- package/dist/nano-components/p-b7a58722.entry.js.map +1 -0
- package/dist/nano-components/p-bb0619e6.js +2 -0
- package/dist/nano-components/p-bb0619e6.js.map +1 -0
- package/dist/nano-components/{p-d0c501a0.entry.js → p-c3f861c5.entry.js} +2 -2
- package/dist/nano-components/{p-d0c501a0.entry.js.map → p-c3f861c5.entry.js.map} +1 -1
- package/dist/nano-components/{p-21f484a3.system.entry.js → p-c655e010.system.entry.js} +2 -2
- package/dist/nano-components/{p-21f484a3.system.entry.js.map → p-c655e010.system.entry.js.map} +1 -1
- package/dist/nano-components/p-c72b22be.entry.js +2 -0
- package/dist/nano-components/p-c72b22be.entry.js.map +1 -0
- package/dist/nano-components/p-d112948c.js +2 -0
- package/dist/nano-components/p-d112948c.js.map +1 -0
- package/dist/nano-components/{p-09b702fb.entry.js → p-d250987a.entry.js} +2 -2
- package/dist/nano-components/{p-09b702fb.entry.js.map → p-d250987a.entry.js.map} +0 -0
- package/dist/nano-components/p-d393d10a.system.entry.js +2 -0
- package/dist/nano-components/p-d393d10a.system.entry.js.map +1 -0
- package/dist/nano-components/p-db271541.entry.js +2 -0
- package/dist/nano-components/p-db271541.entry.js.map +1 -0
- package/dist/nano-components/p-dccd86ec.system.js +4 -0
- package/dist/nano-components/p-dccd86ec.system.js.map +1 -0
- package/dist/nano-components/p-e0cc37fb.entry.js +2 -0
- package/dist/nano-components/{p-2e1f6c4a.entry.js.map → p-e0cc37fb.entry.js.map} +1 -1
- package/dist/nano-components/{p-76bf0452.system.entry.js → p-e28536b4.system.entry.js} +2 -2
- package/dist/nano-components/p-e28536b4.system.entry.js.map +1 -0
- package/dist/nano-components/{p-acfe1b68.entry.js → p-ebf34764.entry.js} +2 -2
- package/dist/nano-components/{p-acfe1b68.entry.js.map → p-ebf34764.entry.js.map} +0 -0
- package/dist/nano-components/{p-e33dd8b9.js → p-ed174626.js} +1 -1
- package/dist/nano-components/p-ed174626.js.map +1 -0
- package/dist/nano-components/{p-c930d4f5.js → p-ed2efbeb.js} +1 -1
- package/dist/nano-components/{p-c930d4f5.js.map → p-ed2efbeb.js.map} +1 -1
- package/dist/nano-components/p-edddeaae.system.js +2 -0
- package/dist/nano-components/p-edddeaae.system.js.map +1 -0
- package/dist/nano-components/p-ef5d9308.entry.js +2 -0
- package/dist/nano-components/p-ef5d9308.entry.js.map +1 -0
- package/dist/nano-components/p-f234e064.system.entry.js +2 -0
- package/dist/nano-components/p-f234e064.system.entry.js.map +1 -0
- package/dist/nano-components/{p-507490fc.system.entry.js → p-f27c9429.system.entry.js} +2 -2
- package/dist/nano-components/{p-507490fc.system.entry.js.map → p-f27c9429.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-372ce425.entry.js → p-f3688bce.entry.js} +2 -2
- package/dist/nano-components/{p-372ce425.entry.js.map → p-f3688bce.entry.js.map} +0 -0
- package/dist/nano-components/{p-35eb8352.system.entry.js → p-f86db7c0.system.entry.js} +2 -2
- package/dist/nano-components/{p-35eb8352.system.entry.js.map → p-f86db7c0.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-6747f517.system.entry.js → p-fa86645d.system.entry.js} +2 -2
- package/dist/nano-components/p-fa86645d.system.entry.js.map +1 -0
- package/dist/nano-components/{p-9c26b459.js → p-fd0fca23.js} +1 -1
- package/dist/nano-components/{p-9c26b459.js.map → p-fd0fca23.js.map} +1 -1
- package/dist/nano-components/p-fdfa03d7.entry.js +2 -0
- package/dist/nano-components/p-fdfa03d7.entry.js.map +1 -0
- package/dist/nano-components/p-ff2ff5b0.js +2 -0
- package/dist/nano-components/p-ff2ff5b0.js.map +1 -0
- package/dist/nano-components/p-ff5890b4.entry.js +2 -0
- package/dist/nano-components/p-ff5890b4.entry.js.map +1 -0
- package/dist/nano-components/{p-23e9f09e.entry.js → p-ffab923c.entry.js} +2 -2
- package/dist/nano-components/p-ffab923c.entry.js.map +1 -0
- package/dist/themes/nanopore.css +1 -1
- package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +1 -1
- package/dist/types/components/checkbox/__tests__/__fixtures__/checkbox-templates.d.ts +8 -0
- package/dist/types/components/checkbox/checkbox-group.d.ts +4 -2
- package/dist/types/components/checkbox/checkbox.d.ts +9 -5
- package/dist/types/components/date-input/date-input.d.ts +9 -0
- package/dist/types/components/date-picker/date-picker.d.ts +9 -4
- package/dist/types/components/details/details.d.ts +1 -0
- package/dist/types/components/dropdown/dropdown.d.ts +21 -14
- package/dist/types/components/file-upload/file-upload-interface.d.ts +4 -3
- package/dist/types/components/file-upload/file-upload.d.ts +2 -12
- package/dist/types/components/input/input.d.ts +2 -1
- package/dist/types/components/tooltip/tooltip.d.ts +10 -7
- package/dist/types/components.d.ts +40 -14
- package/dist/types/index.d.ts +1 -1
- package/dist/types/utils/{utils.d.ts → index.d.ts} +0 -0
- package/dist/types/utils/testing/index.d.ts +49 -0
- package/docs-json.json +125 -47
- package/docs-vscode.json +9 -1
- package/package.json +10 -8
- package/dist/cjs/algolia-data-771a61ea.js.map +0 -1
- package/dist/cjs/algoliasearch.umd-51f0001d.js +0 -12
- package/dist/cjs/algoliasearch.umd-51f0001d.js.map +0 -1
- package/dist/cjs/global-befb7a64.js.map +0 -1
- package/dist/cjs/index-43791691.js.map +0 -1
- package/dist/cjs/popover-eccc07bd.js.map +0 -1
- package/dist/cjs/shadow-css-c5dce0c8.js.map +0 -1
- package/dist/collection/utils/testing-utils.js +0 -156
- package/dist/collection/utils/testing-utils.js.map +0 -1
- package/dist/esm/algolia-data-a84aeef1.js.map +0 -1
- package/dist/esm/algoliasearch.umd-2c129faa.js +0 -10
- package/dist/esm/algoliasearch.umd-2c129faa.js.map +0 -1
- package/dist/esm/global-c85d24a2.js.map +0 -1
- package/dist/esm/index-20becda2.js.map +0 -1
- package/dist/esm/shadow-css-70953e54.js.map +0 -1
- package/dist/esm-es5/algolia-data-a84aeef1.js.map +0 -1
- package/dist/esm-es5/algoliasearch.umd-2c129faa.js +0 -4
- package/dist/esm-es5/algoliasearch.umd-2c129faa.js.map +0 -1
- package/dist/esm-es5/global-c85d24a2.js.map +0 -1
- package/dist/esm-es5/index-20becda2.js +0 -2
- package/dist/esm-es5/index-20becda2.js.map +0 -1
- package/dist/esm-es5/popover-05f61b5f.js +0 -2
- package/dist/esm-es5/popover-05f61b5f.js.map +0 -1
- package/dist/esm-es5/shadow-css-70953e54.js.map +0 -1
- package/dist/nano-components/p-0283a2ec.js.map +0 -1
- package/dist/nano-components/p-1ce90ea4.entry.js.map +0 -1
- package/dist/nano-components/p-1ed74370.entry.js.map +0 -1
- package/dist/nano-components/p-1f7502fa.js +0 -2
- package/dist/nano-components/p-1f7502fa.js.map +0 -1
- package/dist/nano-components/p-1fd60eec.system.js +0 -2
- package/dist/nano-components/p-1fd60eec.system.js.map +0 -1
- package/dist/nano-components/p-201b5f5b.entry.js +0 -2
- package/dist/nano-components/p-201b5f5b.entry.js.map +0 -1
- package/dist/nano-components/p-214ad382.entry.js +0 -2
- package/dist/nano-components/p-214ad382.entry.js.map +0 -1
- package/dist/nano-components/p-23da4de5.js +0 -4
- package/dist/nano-components/p-23da4de5.js.map +0 -1
- package/dist/nano-components/p-23e9f09e.entry.js.map +0 -1
- package/dist/nano-components/p-2d59dda3.system.js +0 -2
- package/dist/nano-components/p-2d59dda3.system.js.map +0 -1
- package/dist/nano-components/p-2e1f6c4a.entry.js +0 -2
- package/dist/nano-components/p-4042379b.system.entry.js.map +0 -1
- package/dist/nano-components/p-45e06083.system.entry.js +0 -2
- package/dist/nano-components/p-45e06083.system.entry.js.map +0 -1
- package/dist/nano-components/p-461c539f.system.entry.js.map +0 -1
- package/dist/nano-components/p-4bca8761.entry.js +0 -2
- package/dist/nano-components/p-4bca8761.entry.js.map +0 -1
- package/dist/nano-components/p-4ee095f3.js +0 -2
- package/dist/nano-components/p-4ee095f3.js.map +0 -1
- package/dist/nano-components/p-5198e4c6.system.js.map +0 -1
- package/dist/nano-components/p-568be88a.entry.js +0 -2
- package/dist/nano-components/p-568be88a.entry.js.map +0 -1
- package/dist/nano-components/p-5918ac51.entry.js +0 -2
- package/dist/nano-components/p-5918ac51.entry.js.map +0 -1
- package/dist/nano-components/p-5f716719.system.entry.js +0 -2
- package/dist/nano-components/p-5f716719.system.entry.js.map +0 -1
- package/dist/nano-components/p-60b2ba81.system.entry.js.map +0 -1
- package/dist/nano-components/p-6747f517.system.entry.js.map +0 -1
- package/dist/nano-components/p-6b22f5db.entry.js.map +0 -1
- package/dist/nano-components/p-6ba91d36.entry.js.map +0 -1
- package/dist/nano-components/p-76bf0452.system.entry.js.map +0 -1
- package/dist/nano-components/p-79e11525.system.entry.js.map +0 -1
- package/dist/nano-components/p-7b3de191.entry.js.map +0 -1
- package/dist/nano-components/p-7b94cd1c.entry.js.map +0 -1
- package/dist/nano-components/p-7f3b4f80.entry.js +0 -2
- package/dist/nano-components/p-7f3b4f80.entry.js.map +0 -1
- package/dist/nano-components/p-7fdff708.entry.js.map +0 -1
- package/dist/nano-components/p-8fe04c5c.system.entry.js +0 -2
- package/dist/nano-components/p-8fe04c5c.system.entry.js.map +0 -1
- package/dist/nano-components/p-93b1eeea.system.js +0 -2
- package/dist/nano-components/p-93b1eeea.system.js.map +0 -1
- package/dist/nano-components/p-9920e725.system.js.map +0 -1
- package/dist/nano-components/p-9a456956.system.js.map +0 -1
- package/dist/nano-components/p-9b9ca075.system.entry.js.map +0 -1
- package/dist/nano-components/p-a897cfae.system.entry.js.map +0 -1
- package/dist/nano-components/p-bc09eba8.entry.js.map +0 -1
- package/dist/nano-components/p-c3401b82.entry.js +0 -2
- package/dist/nano-components/p-c3401b82.entry.js.map +0 -1
- package/dist/nano-components/p-c4edcfc5.system.entry.js +0 -2
- package/dist/nano-components/p-c4edcfc5.system.entry.js.map +0 -1
- package/dist/nano-components/p-c6796f75.entry.js.map +0 -1
- package/dist/nano-components/p-c8792b54.system.entry.js +0 -2
- package/dist/nano-components/p-c8792b54.system.entry.js.map +0 -1
- package/dist/nano-components/p-cb750e49.system.js +0 -4
- package/dist/nano-components/p-cb750e49.system.js.map +0 -1
- package/dist/nano-components/p-cc5080df.entry.js +0 -2
- package/dist/nano-components/p-cc5080df.entry.js.map +0 -1
- package/dist/nano-components/p-d2ae5ac1.entry.js +0 -2
- package/dist/nano-components/p-d2ae5ac1.entry.js.map +0 -1
- package/dist/nano-components/p-d795cbd4.entry.js.map +0 -1
- package/dist/nano-components/p-da9f75d2.system.entry.js +0 -2
- package/dist/nano-components/p-da9f75d2.system.entry.js.map +0 -1
- package/dist/nano-components/p-dce1f547.entry.js.map +0 -1
- package/dist/nano-components/p-dd66cc74.entry.js +0 -2
- package/dist/nano-components/p-dd66cc74.entry.js.map +0 -1
- package/dist/nano-components/p-e1429ff0.system.entry.js.map +0 -1
- package/dist/nano-components/p-e142f6b6.system.entry.js.map +0 -1
- package/dist/nano-components/p-e24d3e8a.entry.js.map +0 -1
- package/dist/nano-components/p-e2848c8a.system.entry.js +0 -2
- package/dist/nano-components/p-e2848c8a.system.entry.js.map +0 -1
- package/dist/nano-components/p-e33dd8b9.js.map +0 -1
- package/dist/nano-components/p-e886b71e.system.js.map +0 -1
- package/dist/nano-components/p-e8a97250.system.entry.js +0 -2
- package/dist/nano-components/p-e8a97250.system.entry.js.map +0 -1
- package/dist/nano-components/p-ec01a0ad.system.entry.js.map +0 -1
- package/dist/nano-components/p-f55560d3.js +0 -2
- package/dist/nano-components/p-f55560d3.js.map +0 -1
- package/dist/nano-components/p-f578998d.system.entry.js.map +0 -1
- package/dist/nano-components/p-f5f76780.entry.js.map +0 -1
- package/dist/nano-components/p-fa926d02.system.entry.js.map +0 -1
- package/dist/nano-components/p-fb7ae92c.entry.js.map +0 -1
- package/dist/types/utils/testing-utils.d.ts +0 -41
package/dist/esm-es5/loader.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
import{C as CSS,p as plt,w as win,a as promiseResolve,b as bootstrapLazy}from"./index-20becda2.js";import"./global-c85d24a2.js";var patchEsm=function(){if(!(CSS&&CSS.supports&&CSS.supports("color","var(--c)"))){return import("./css-shim-f12af614.js").then((function(){if(plt.$cssShim$=win.__cssshim){return plt.$cssShim$.i()}else{return 0}}))}return promiseResolve()};var defineCustomElements=function(e,a){if(typeof window==="undefined")return Promise.resolve();return patchEsm().then((function(){return bootstrapLazy(JSON.parse('[["nano-global-nav",[[1,"nano-global-nav",{"env":[1],"ssoRedirect":[1,"sso-redirect"],"getMyAccountData":[4,"get-my-account-data"],"activeMyAccountSections":[16],"showSearch":[4,"show-search"],"showLogo":[4,"show-logo"],"logoUrl":[1,"logo-url"],"searchIndeces":[16],"myAccountUser":[16],"searchAppId":[1025,"search-app-id"],"searchApiKey":[1025,"search-api-key"],"searchValue":[1025,"search-value"],"searchIndex":[1025,"search-index"],"cartCount":[1026,"cart-count"],"msgCount":[1026,"msg-count"],"cartUrl":[1025,"cart-url"],"msgUrl":[1025,"msg-url"],"hasLoggedinSlot":[32],"hasSiteSlot":[32],"hasPromotionSlot":[32],"aboutSlotLen":[32],"iconSlotLen":[32],"mainSlotLen":[32],"overflowSlotLen":[32],"searchSlotLen":[32],"internalSearchIndeces":[32],"thresholdReady":[32],"remoteDataReady":[32],"ready":[32],"isResizing":[32],"intersectRatio":[32],"threshold":[32],"modalOpen":[32],"modalIsOpen":[32],"searchBarShown":[32],"scrollingUp":[32],"searchLoading":[32],"showAutocomplete":[32],"secondaryMenuOpen":[32],"userMenuOpen":[32],"menuFullScreen":[32],"searchValInternal":[32],"submitSearch":[64]},[[0,"nanoOpen","secondaryOpen"],[0,"nanoClose","secondaryClose"]]]]],["nano-hero",[[1,"nano-hero",{"imgSrc":[1,"img-src"],"imgSrcSet":[1,"img-src-set"],"largeScreenBP":[2,"large-screen-b-p"],"theme":[1],"level":[1],"hasIconBox":[32],"hasScrim":[32],"hasSecondaryContent":[32],"hasQuote":[32],"hasBg":[32],"hasBackBtn":[32],"hasCtas":[32],"breadCrumbs":[32],"iconBoxItems":[32]}]]],["nano-date-input",[[6,"nano-date-input",{"helperText":[4,"helper-text"],"helperTextFormat":[16],"floatLabel":[4,"float-label"],"name":[1],"readonly":[4],"size":[2],"form":[1],"firstDayOfWeek":[2,"first-day-of-week"],"localization":[16],"disabled":[4],"color":[1],"autofocus":[4],"clearInput":[4,"clear-input"],"label":[1],"placeholder":[1025],"value":[1537],"validateOn":[1,"validate-on"],"showInlineError":[516,"show-inline-error"],"dateOrder":[1,"date-order"],"required":[4],"min":[1],"max":[1],"hideLabel":[4,"hide-label"],"picker":[4],"initialPickerDate":[1,"initial-picker-date"],"pickerOpen":[1540,"picker-open"],"closeAfterPicked":[4,"close-after-picked"],"pattern":[32],"inputValue":[32],"reportValidity":[64],"setFocus":[64],"getInputElement":[64],"showError":[64]}]]],["nano-dialog",[[1,"nano-dialog",{"showRibbon":[4,"show-ribbon"],"open":[1540],"label":[1],"noHeader":[4,"no-header"],"noFooter":[4,"no-footer"],"noUserDismiss":[4,"no-user-dismiss"],"storeId":[1,"store-id"],"storeMethod":[1,"store-method"],"isVisible":[32],"noDismiss":[32],"hasFooter":[32],"show":[64],"hide":[64]}]]],["nano-file-upload",[[6,"nano-file-upload",{"name":[1],"accept":[1],"capture":[1],"maxFileSize":[2,"max-file-size"],"maxFiles":[2,"max-files"],"label":[1],"placeholder":[1],"hideLabel":[4,"hide-label"],"required":[4],"disabled":[516],"clearInput":[4,"clear-input"],"showInlineError":[516,"show-inline-error"],"validateOn":[1025,"validate-on"],"invalid":[2564],"files":[2064],"value":[6145],"hasHelperSlot":[32],"hasLabelSlot":[32],"errorMessage":[32],"isDragging":[32],"fileList":[32],"hasFocus":[32],"_invalid":[32],"reportValidity":[64],"setFocus":[64],"getInputElement":[64],"showError":[64]},[[8,"click","globalClickHandler"],[8,"keydown","globalKeydownHandler"]]]]],["nano-alert",[[1,"nano-alert",{"open":[1540],"closable":[516],"color":[513],"duration":[2],"isModal":[32],"isToast":[32],"isShowing":[32],"label":[32],"show":[64],"hide":[64],"toast":[64],"alert":[64]}]]],["nano-global-search-results",[[1,"nano-global-search-results",{"algoliaEle":[32],"currentWidth":[32],"apiKey":[32],"appId":[32],"index":[32]}]]],["nano-menu-drawer",[[1,"nano-menu-drawer",{"open":[4],"saveState":[4,"save-state"],"hideWidth":[2,"hide-width"],"hideHeight":[4,"hide-height"],"reset":[32],"widthOk":[32],"heightOk":[32],"isLoading":[32],"hide":[32]},[[0,"nanoOpen","cancelNavItemEvents"],[0,"nanoClose","cancelNavItemEvents"]]]]],["nano-tab-group",[[1,"nano-tab-group",{"placement":[1],"noScrollControls":[4,"no-scroll-controls"],"color":[1],"storeId":[1,"store-id"],"storeMethod":[1,"store-method"],"hasScrollControls":[32],"hideControlRight":[32],"hideControlLeft":[32],"isLegacy":[32],"tab":[32],"show":[64]}]]],["nano-accordion",[[1,"nano-accordion",{"color":[1],"itemOpened":[32]},[[0,"nanoOpened","onToggleHandler"],[0,"nanoClosed","onClosedHandler"]]]]],["nano-algolia-filter",[[1,"nano-algolia-filter",{"filterName":[1,"filter-name"],"value":[1],"operator":[1],"storeId":[1,"store-id"],"storeMethod":[1,"store-method"],"changeEvent":[32],"internalValue":[32],"showFilter":[32],"indexResults":[32],"filterChanged":[32],"facets":[32],"tplRenderFn":[32],"globalStoreMethod":[32]}]]],["nano-algolia-input",[[1,"nano-algolia-input",{"appId":[1,"app-id"],"apiKey":[1,"api-key"],"searchIndex":[1040],"searchIndexName":[1,"search-index-name"],"minChars":[2,"min-chars"],"autoEmit":[4,"auto-emit"],"browseIndex":[4,"browse-index"],"storeId":[1,"store-id"],"storeMethod":[1,"store-method"],"searchStr":[32],"algoliaIndex":[32],"currentResults":[32],"search":[64]},[[0,"nanoChange","searchSubmit"]]]]],["nano-algolia-pagination",[[1,"nano-algolia-pagination",{"maxToShow":[2,"max-to-show"],"currentPage":[32],"canGoPrev":[32],"canGoNext":[32],"show":[32],"tplRenderFn":[32],"indexResults":[32],"infiniteScroll":[32],"nextPage":[64],"prevPage":[64],"goToPage":[64]}]]],["nano-algolia-results",[[1,"nano-algolia-results",{"infiniteScroll":[4,"infinite-scroll"],"appendPages":[4,"append-pages"],"showResults":[32],"tplRenderFn":[32],"results":[32],"indexResults":[32],"resultsPage":[32],"changeEvent":[32],"facets":[32],"isLoading":[32]}]]],["nano-aspect-ratio",[[1,"nano-aspect-ratio",{"aspectRatio":[1,"aspect-ratio"],"fit":[1]}]]],["nano-checkbox",[[6,"nano-checkbox",{"hasFocus":[1540,"has-focus"],"checked":[1540],"disabled":[4],"value":[1],"name":[1],"required":[4],"type":[513],"label":[1],"indeterminate":[1540],"invalid":[1540],"color":[1],"inputType":[32],"getInputElement":[64],"reportError":[64],"setError":[64],"setFocus":[64],"removeFocus":[64]}]]],["nano-checkbox-group",[[6,"nano-checkbox-group",{"validateOn":[1025,"validate-on"],"showInlineError":[516,"show-inline-error"],"min":[2],"max":[2],"disabled":[516],"legend":[1],"invalid":[1540],"checkboxes":[32],"nativeCbs":[32],"errorMessage":[32],"showErrorMsg":[32],"hasHelperSlot":[32],"reportValidity":[64]},[[0,"nanoChange","handleCbChange"]]]]],["nano-details",[[1,"nano-details",{"label":[1],"open":[1540],"noHandle":[4,"no-handle"],"iconRotation":[2,"icon-rotation"],"color":[1],"isLoading":[32]}]]],["nano-drawer",[[1,"nano-drawer",{"open":[1540],"label":[1],"placement":[1],"contained":[4],"noHeader":[4,"no-header"],"type":[1],"contentSelector":[1,"content-selector"],"hasFooter":[32],"isVisible":[32],"show":[64],"hide":[64]}]]],["nano-menu",[[6,"nano-menu",{"setFocus":[64],"removeFocus":[64]}]]],["nano-range",[[6,"nano-range",{"color":[1],"debounce":[2],"name":[1],"dualKnobs":[4,"dual-knobs"],"min":[2],"max":[2],"pin":[4],"snaps":[4],"step":[2],"ticks":[4],"disabled":[4],"value":[1026],"ratioA":[32],"ratioB":[32],"pressedKnob":[32]}]]],["nano-rating",[[2,"nano-rating",{"value":[1538],"max":[2],"precision":[2],"readonly":[4],"disabled":[4],"name":[1],"symbolName":[1,"symbol-name"],"symbol":[16],"hoverValue":[32],"isHovering":[32],"setFocus":[64],"removeFocus":[64]}]]],["nano-select-option",[[1,"nano-select-option",{"label":[1],"value":[1],"selected":[4],"disabled":[4]}]]],["nano-slide",[[1,"nano-slide",{"ready":[1540]}]]],["nano-slides",[[1,"nano-slides",{"options":[1040],"navbtns":[4],"pager":[4],"fullscreenbtn":[4],"fullscreen":[1540],"animation":[513],"currentSlide":[1538,"current-slide"],"autoplay":[8],"ready":[1540],"iCurrentSlide":[32],"slidesReady":[32],"didInit":[32],"update":[64],"updateAutoHeight":[64],"slideTo":[64],"slideNext":[64],"slidePrev":[64],"getActiveIndex":[64],"length":[64],"isEnd":[64],"isBeginning":[64],"startAutoplay":[64],"stopAutoplay":[64],"lockSwipes":[64],"getflickity":[64],"reload":[64]}]]],["nano-tab",[[1,"nano-tab",{"panel":[513],"active":[516],"disabled":[516],"setFocus":[64],"removeFocus":[64]}]]],["nano-tab-content",[[1,"nano-tab-content",{"name":[1],"active":[4]}]]],["nano-algolia",[[1,"nano-algolia",{"showResults":[1028,"show-results"],"resultsPage":[1026,"results-page"],"appId":[1,"app-id"],"apiKey":[1,"api-key"],"searchIndex":[16],"searchIndexName":[1025,"search-index-name"],"listenTo":[1,"listen-to"],"query":[1025],"operator":[1],"filters":[16],"tplEngine":[16],"tplRenderFn":[16],"replicaIndex":[1,"replica-index"],"browseIndex":[4,"browse-index"],"minChars":[2,"min-chars"],"storeId":[1,"store-id"],"storeMethod":[1,"store-method"],"_dynFacetFilters":[32],"inputField":[32],"algoliaIndex":[32],"indeces":[32],"resultsEmitterEle":[32],"indexResults":[32],"filterChanged":[32],"currentHits":[32],"changeEvent":[32],"isLoading":[32],"wormholeState":[32],"removeFilters":[64]},[[0,"nanoTplUpdated","onAllTplUpdate"],[0,"nanoPageChanged","onPageChange"],[0,"nanoFilterChanged","onFilterChange"]]]]],["nano-tooltip",[[1,"nano-tooltip",{"content":[1],"placement":[1],"disabled":[4],"distance":[2],"open":[1540],"skidding":[2],"trigger":[1],"show":[64],"hide":[64]}]]],["nano-date-picker_2",[[1,"nano-date-picker",{"selectedDate":[1025,"selected-date"],"min":[1],"max":[1],"firstDayOfWeek":[2,"first-day-of-week"],"localization":[16],"color":[1],"isDateDisabled":[16],"isModal":[4,"is-modal"],"firstFocusEle":[16],"activeFocus":[32],"focusedDay":[32],"setFocus":[64]}],[1,"nano-dropdown",{"autoOpen":[4,"auto-open"],"open":[1540],"placement":[1],"closeOnSelect":[4,"close-on-select"],"containingElement":[16],"distance":[2],"skidding":[2],"hoist":[4],"dialogTitle":[1,"dialog-title"],"show":[64],"hide":[64]},[[0,"nanoFocus","menuFocus"],[0,"nanoOpen","secondaryOpen"],[0,"nanoClose","secondaryClose"],[0,"nanoSelect","handlePanelSelect"]]]]],["nano-nav-item_2",[[6,"nano-select",{"invalid":[1540],"color":[1],"autofocus":[4],"disabled":[516],"validateOn":[1025,"validate-on"],"showInlineError":[516,"show-inline-error"],"label":[1],"hideLabel":[4,"hide-label"],"floatLabel":[4,"float-label"],"multiple":[4],"name":[1],"placeholder":[1],"readonly":[4],"required":[4],"size":[2],"max":[2],"min":[2],"form":[1],"allowCustomValues":[4,"allow-custom-values"],"value":[1025],"options":[1040],"clearSelect":[4,"clear-select"],"mask":[4],"debounce":[2],"native":[4],"currInsertIndex":[32],"availOpts":[32],"showErrorMsg":[32],"errorMessage":[32],"hasFocus":[32],"listOpen":[32],"isLegacy":[32],"hasLabelSlot":[32],"hasHelperSlot":[32],"hasIconSlot":[32],"reportValidity":[64],"setFocus":[64],"getSelectElement":[64],"showError":[64]}],[1,"nano-nav-item",{"href":[1],"target":[1],"disabled":[4],"open":[1540],"selected":[516],"secondaryActiveWidth":[2,"secondary-active-width"],"secondaryFallback":[16],"closeOnBlur":[4,"close-on-blur"],"didOpen":[32],"isInGlobalNav":[32],"isInMenuDrawer":[32],"isInMenu":[32],"isLegacy":[32],"hasFocus":[32],"setFocus":[64]}]]],["nano-input",[[6,"nano-input",{"invalid":[2564],"color":[1],"accept":[1],"autocapitalise":[1],"autocomplete":[1],"autocorrect":[1],"autofocus":[4],"clearInput":[4,"clear-input"],"clearOnEdit":[4,"clear-on-edit"],"debounce":[2],"disabled":[516],"inputmode":[1],"validateOn":[1025,"validate-on"],"showInlineError":[516,"show-inline-error"],"label":[1],"hideLabel":[4,"hide-label"],"floatLabel":[4,"float-label"],"max":[1],"maxlength":[2],"min":[1],"minlength":[2],"multiple":[4],"name":[1],"pattern":[1],"placeholder":[1],"readonly":[4],"required":[4],"spellcheck":[4],"step":[1],"size":[2],"type":[1],"form":[1],"value":[1025],"resize":[1],"rows":[2],"showCharCount":[4,"show-char-count"],"hasFocus":[32],"isLegacy":[32],"hasLabelSlot":[32],"hasButtonSlot":[32],"hasHelperSlot":[32],"_invalid":[32],"reportValidity":[64],"setFocus":[64],"getInputElement":[64],"showError":[64]}]]],["nano-spinner",[[1,"nano-spinner",{"type":[1],"overlay":[516],"hasText":[32]}]]],["nano-sticker",[[1,"nano-sticker",{"autoResize":[4,"auto-resize"],"isSticky":[1028,"is-sticky"],"offset":[1026],"position":[1],"quietMode":[1,"quiet-mode"],"hideOnNewStickers":[4,"hide-on-new-stickers"],"breakPointMax":[2,"break-point-max"],"breakPointMin":[2,"break-point-min"],"scrollParent":[1040],"stickTo":[1,"stick-to"],"isStuck":[32],"isRootSticker":[32],"hide":[32],"scrollHide":[32],"multiStickerHide":[32],"scrollingTo":[32],"quietModeIsOn":[32],"stuckCounter":[32],"stickerIndex":[32],"stickToEle":[32],"triggerPos":[32],"trigger":[32],"_offset":[32],"isHiding":[64],"isSticking":[64],"setTriggerPos":[64],"getTriggerPos":[64],"pauseHiding":[64]}]]],["nano-icon-button",[[2,"nano-icon-button",{"iconName":[1,"icon-name"],"iconSrc":[1,"icon-src"],"type":[513],"name":[513],"value":[513],"label":[1],"disabled":[516],"href":[1],"target":[1]}]]],["nano-resize-observe_2",[[1,"nano-resize-observe",{"states":[1],"currentWidth":[32],"currentHeight":[32],"classNames":[32]}],[1,"nano-skeleton",{"animated":[4]}]]],["nano-grid_3",[[1,"nano-img",{"alt":[1],"src":[1],"srcSet":[1,"src-set"],"lazy":[4],"background":[4],"autoHeight":[1,"auto-height"],"loadSrc":[32],"loadError":[32],"hasLoaded":[32],"imgStates":[32],"_src":[32]}],[1,"nano-grid",{"sSize":[2,"s-size"],"mSize":[2,"m-size"],"lSize":[2,"l-size"],"xlSize":[2,"xl-size"],"sCols":[2,"s-cols"],"mCols":[2,"m-cols"],"lCols":[2,"l-cols"],"xlCols":[2,"xl-cols"],"xxlCols":[2,"xxl-cols"],"showHelper":[516,"show-helper"],"contentPanel":[516,"content-panel"],"fullHeight":[516,"full-height"],"ready":[32],"isSmall":[32],"isMedium":[32],"isLarge":[32],"isXL":[32],"isXXL":[32]}],[1,"nano-grid-item",{"gridStates":[1,"grid-states"],"changeBP":[64]}]]],["nano-icon",[[1,"nano-icon",{"color":[1],"ariaLabel":[1537,"aria-label"],"flipRtl":[4,"flip-rtl"],"name":[1],"src":[1],"icon":[8],"size":[1],"lazy":[4],"svgContent":[32],"isVisible":[32],"isLoading":[32]}]]]]'),a)}))};export{defineCustomElements};
|
1
|
+
import{C as CSS,p as plt,w as win,a as promiseResolve,b as bootstrapLazy}from"./index-912ef959.js";import"./global-118ae701.js";var patchEsm=function(){if(!(CSS&&CSS.supports&&CSS.supports("color","var(--c)"))){return import("./css-shim-4e602522.js").then((function(){if(plt.$cssShim$=win.__cssshim){return plt.$cssShim$.i()}else{return 0}}))}return promiseResolve()};var defineCustomElements=function(e,a){if(typeof window==="undefined")return Promise.resolve();return patchEsm().then((function(){return bootstrapLazy(JSON.parse('[["nano-global-nav",[[1,"nano-global-nav",{"env":[1],"ssoRedirect":[1,"sso-redirect"],"getMyAccountData":[4,"get-my-account-data"],"activeMyAccountSections":[16],"showSearch":[4,"show-search"],"showLogo":[4,"show-logo"],"logoUrl":[1,"logo-url"],"searchIndeces":[16],"myAccountUser":[16],"searchAppId":[1025,"search-app-id"],"searchApiKey":[1025,"search-api-key"],"searchValue":[1025,"search-value"],"searchIndex":[1025,"search-index"],"cartCount":[1026,"cart-count"],"msgCount":[1026,"msg-count"],"cartUrl":[1025,"cart-url"],"msgUrl":[1025,"msg-url"],"hasLoggedinSlot":[32],"hasSiteSlot":[32],"hasPromotionSlot":[32],"aboutSlotLen":[32],"iconSlotLen":[32],"mainSlotLen":[32],"overflowSlotLen":[32],"searchSlotLen":[32],"internalSearchIndeces":[32],"thresholdReady":[32],"remoteDataReady":[32],"ready":[32],"isResizing":[32],"intersectRatio":[32],"threshold":[32],"modalOpen":[32],"modalIsOpen":[32],"searchBarShown":[32],"scrollingUp":[32],"searchLoading":[32],"showAutocomplete":[32],"secondaryMenuOpen":[32],"userMenuOpen":[32],"menuFullScreen":[32],"searchValInternal":[32],"submitSearch":[64]},[[0,"nanoOpen","secondaryOpen"],[0,"nanoClose","secondaryClose"]]]]],["nano-hero",[[1,"nano-hero",{"imgSrc":[1,"img-src"],"imgSrcSet":[1,"img-src-set"],"largeScreenBP":[2,"large-screen-b-p"],"theme":[1],"level":[1],"hasIconBox":[32],"hasScrim":[32],"hasSecondaryContent":[32],"hasQuote":[32],"hasBg":[32],"hasBackBtn":[32],"hasCtas":[32],"breadCrumbs":[32],"iconBoxItems":[32]}]]],["nano-date-input",[[6,"nano-date-input",{"invalid":[2564],"helperText":[4,"helper-text"],"helperTextFormat":[16],"floatLabel":[4,"float-label"],"name":[1],"readonly":[4],"size":[2],"form":[1],"firstDayOfWeek":[2,"first-day-of-week"],"localization":[16],"disabled":[4],"color":[1],"autofocus":[4],"clearInput":[4,"clear-input"],"label":[1],"placeholder":[1025],"value":[1537],"validateOn":[1,"validate-on"],"showInlineError":[516,"show-inline-error"],"dateOrder":[1,"date-order"],"required":[4],"min":[1],"max":[1],"hideLabel":[4,"hide-label"],"picker":[4],"initialPickerDate":[1,"initial-picker-date"],"pickerOpen":[1540,"picker-open"],"closeAfterPicked":[4,"close-after-picked"],"pattern":[32],"inputValue":[32],"_invalid":[32],"reportValidity":[64],"setFocus":[64],"getInputElement":[64],"showError":[64]}]]],["nano-dialog",[[1,"nano-dialog",{"showRibbon":[4,"show-ribbon"],"open":[1540],"label":[1],"noHeader":[4,"no-header"],"noFooter":[4,"no-footer"],"noUserDismiss":[4,"no-user-dismiss"],"storeId":[1,"store-id"],"storeMethod":[1,"store-method"],"isVisible":[32],"noDismiss":[32],"hasFooter":[32],"show":[64],"hide":[64]}]]],["nano-file-upload",[[6,"nano-file-upload",{"name":[1],"accept":[1],"capture":[1],"maxFileSize":[2,"max-file-size"],"maxFiles":[2,"max-files"],"label":[1],"placeholder":[1],"hideLabel":[4,"hide-label"],"required":[4],"disabled":[516],"clearInput":[4,"clear-input"],"showInlineError":[516,"show-inline-error"],"validateOn":[1025,"validate-on"],"invalid":[2564],"files":[2064],"value":[6145],"hasHelperSlot":[32],"hasLabelSlot":[32],"errorMessage":[32],"isDragging":[32],"fileList":[32],"hasFocus":[32],"_invalid":[32],"reportValidity":[64],"setFocus":[64],"getInputElement":[64],"showError":[64]},[[8,"click","globalClickHandler"],[8,"keydown","globalKeydownHandler"]]]]],["nano-alert",[[1,"nano-alert",{"open":[1540],"closable":[516],"color":[513],"duration":[2],"isModal":[32],"isToast":[32],"isShowing":[32],"label":[32],"show":[64],"hide":[64],"toast":[64],"alert":[64]}]]],["nano-global-search-results",[[1,"nano-global-search-results",{"algoliaEle":[32],"currentWidth":[32],"apiKey":[32],"appId":[32],"index":[32]}]]],["nano-menu-drawer",[[1,"nano-menu-drawer",{"open":[4],"saveState":[4,"save-state"],"hideWidth":[2,"hide-width"],"hideHeight":[4,"hide-height"],"reset":[32],"widthOk":[32],"heightOk":[32],"isLoading":[32],"hide":[32]},[[0,"nanoOpen","cancelNavItemEvents"],[0,"nanoClose","cancelNavItemEvents"]]]]],["nano-tab-group",[[1,"nano-tab-group",{"placement":[1],"noScrollControls":[4,"no-scroll-controls"],"color":[1],"storeId":[1,"store-id"],"storeMethod":[1,"store-method"],"hasScrollControls":[32],"hideControlRight":[32],"hideControlLeft":[32],"isLegacy":[32],"tab":[32],"show":[64]}]]],["nano-accordion",[[1,"nano-accordion",{"color":[1],"itemOpened":[32]},[[0,"nanoOpened","onToggleHandler"],[0,"nanoClosed","onClosedHandler"]]]]],["nano-algolia-filter",[[1,"nano-algolia-filter",{"filterName":[1,"filter-name"],"value":[1025],"operator":[1],"storeId":[1,"store-id"],"storeMethod":[1,"store-method"],"changeEvent":[32],"internalValue":[32],"showFilter":[32],"indexResults":[32],"filterChanged":[32],"facets":[32],"tplRenderFn":[32],"globalStoreMethod":[32]}]]],["nano-algolia-input",[[1,"nano-algolia-input",{"appId":[1,"app-id"],"apiKey":[1,"api-key"],"searchIndex":[1040],"searchIndexName":[1,"search-index-name"],"minChars":[2,"min-chars"],"autoEmit":[4,"auto-emit"],"browseIndex":[1028,"browse-index"],"storeId":[1,"store-id"],"storeMethod":[1,"store-method"],"searchStr":[32],"algoliaIndex":[32],"currentResults":[32],"search":[64]},[[0,"nanoChange","searchSubmit"]]]]],["nano-algolia-pagination",[[1,"nano-algolia-pagination",{"maxToShow":[2,"max-to-show"],"currentPage":[32],"canGoPrev":[32],"canGoNext":[32],"show":[32],"tplRenderFn":[32],"indexResults":[32],"infiniteScroll":[32],"nextPage":[64],"prevPage":[64],"goToPage":[64]}]]],["nano-algolia-results",[[1,"nano-algolia-results",{"infiniteScroll":[4,"infinite-scroll"],"appendPages":[4,"append-pages"],"showResults":[32],"tplRenderFn":[32],"results":[32],"indexResults":[32],"resultsPage":[32],"changeEvent":[32],"facets":[32],"isLoading":[32]}]]],["nano-aspect-ratio",[[1,"nano-aspect-ratio",{"aspectRatio":[1,"aspect-ratio"],"fit":[1]}]]],["nano-checkbox",[[6,"nano-checkbox",{"hasFocus":[1540,"has-focus"],"checked":[1540],"disabled":[516],"value":[1],"name":[1],"required":[4],"type":[513],"label":[1],"indeterminate":[1540],"invalid":[2564],"color":[1],"_invalid":[32],"inputType":[32],"getInputElement":[64],"reportValidity":[64],"setError":[64],"setFocus":[64],"removeFocus":[64]}]]],["nano-checkbox-group",[[6,"nano-checkbox-group",{"validateOn":[1025,"validate-on"],"showInlineError":[4,"show-inline-error"],"min":[2],"max":[2],"disabled":[516],"legend":[1],"invalid":[2564],"checkboxes":[32],"nativeCbs":[32],"errorMessage":[32],"showErrorMsg":[32],"hasHelperSlot":[32],"reportValidity":[64]},[[0,"nanoChange","handleCbChange"]]]]],["nano-details",[[1,"nano-details",{"label":[1],"open":[1540],"noHandle":[4,"no-handle"],"iconRotation":[2,"icon-rotation"],"color":[1],"isLoading":[32]}]]],["nano-drawer",[[1,"nano-drawer",{"open":[1540],"label":[1],"placement":[1],"contained":[4],"noHeader":[4,"no-header"],"type":[1],"contentSelector":[1,"content-selector"],"hasFooter":[32],"isVisible":[32],"show":[64],"hide":[64]}]]],["nano-menu",[[6,"nano-menu",{"setFocus":[64],"removeFocus":[64]}]]],["nano-range",[[6,"nano-range",{"color":[1],"debounce":[2],"name":[1],"dualKnobs":[4,"dual-knobs"],"min":[2],"max":[2],"pin":[4],"snaps":[4],"step":[2],"ticks":[4],"disabled":[4],"value":[1026],"ratioA":[32],"ratioB":[32],"pressedKnob":[32]}]]],["nano-rating",[[2,"nano-rating",{"value":[1538],"max":[2],"precision":[2],"readonly":[4],"disabled":[4],"name":[1],"symbolName":[1,"symbol-name"],"symbol":[16],"hoverValue":[32],"isHovering":[32],"setFocus":[64],"removeFocus":[64]}]]],["nano-select-option",[[1,"nano-select-option",{"label":[1],"value":[1],"selected":[4],"disabled":[4]}]]],["nano-slide",[[1,"nano-slide",{"ready":[1540]}]]],["nano-slides",[[1,"nano-slides",{"options":[1040],"navbtns":[4],"pager":[4],"fullscreenbtn":[4],"fullscreen":[1540],"animation":[513],"currentSlide":[1538,"current-slide"],"autoplay":[8],"ready":[1540],"iCurrentSlide":[32],"slidesReady":[32],"didInit":[32],"update":[64],"updateAutoHeight":[64],"slideTo":[64],"slideNext":[64],"slidePrev":[64],"getActiveIndex":[64],"length":[64],"isEnd":[64],"isBeginning":[64],"startAutoplay":[64],"stopAutoplay":[64],"lockSwipes":[64],"getflickity":[64],"reload":[64]}]]],["nano-tab",[[1,"nano-tab",{"panel":[513],"active":[516],"disabled":[516],"setFocus":[64],"removeFocus":[64]}]]],["nano-tab-content",[[1,"nano-tab-content",{"name":[1],"active":[4]}]]],["nano-algolia",[[1,"nano-algolia",{"showResults":[1028,"show-results"],"resultsPage":[1026,"results-page"],"appId":[1,"app-id"],"apiKey":[1,"api-key"],"searchIndex":[16],"searchIndexName":[1025,"search-index-name"],"listenTo":[1,"listen-to"],"query":[1025],"operator":[1],"filters":[16],"tplEngine":[16],"tplRenderFn":[16],"replicaIndex":[1,"replica-index"],"browseIndex":[1028,"browse-index"],"minChars":[2,"min-chars"],"storeId":[1,"store-id"],"storeMethod":[1,"store-method"],"_dynFacetFilters":[32],"inputField":[32],"algoliaIndex":[32],"indeces":[32],"resultsEmitterEle":[32],"indexResults":[32],"filterChanged":[32],"currentHits":[32],"changeEvent":[32],"isLoading":[32],"wormholeState":[32],"removeFilters":[64]},[[0,"nanoTplUpdated","onAllTplUpdate"],[0,"nanoPageChanged","onPageChange"],[0,"nanoFilterChanged","onFilterChange"]]]]],["nano-tooltip",[[1,"nano-tooltip",{"content":[1],"placement":[1],"disabled":[4],"distance":[2],"open":[1540],"skidding":[2],"trigger":[1],"show":[64],"hide":[64]}]]],["nano-date-picker_2",[[1,"nano-date-picker",{"selectedDate":[1025,"selected-date"],"min":[1],"max":[1],"firstDayOfWeek":[2,"first-day-of-week"],"localization":[16],"color":[1],"isDateDisabled":[16],"isModal":[4,"is-modal"],"firstFocusEle":[16],"activeFocus":[32],"focusedDay":[32],"setFocus":[64]}],[1,"nano-dropdown",{"autoOpen":[4,"auto-open"],"open":[1540],"closeOnSelect":[4,"close-on-select"],"containingElement":[1040],"tetherTo":[16],"placement":[1],"distance":[2],"skidding":[2],"hoist":[4],"dialogTitle":[1,"dialog-title"],"show":[64],"hide":[64]},[[0,"nanoFocus","menuFocus"],[0,"nanoOpen","secondaryOpen"],[0,"nanoClose","secondaryClose"],[0,"nanoSelect","handlePanelSelect"]]]]],["nano-nav-item_2",[[6,"nano-select",{"invalid":[1540],"color":[1],"autofocus":[4],"disabled":[516],"validateOn":[1025,"validate-on"],"showInlineError":[516,"show-inline-error"],"label":[1],"hideLabel":[4,"hide-label"],"floatLabel":[4,"float-label"],"multiple":[4],"name":[1],"placeholder":[1],"readonly":[4],"required":[4],"size":[2],"max":[2],"min":[2],"form":[1],"allowCustomValues":[4,"allow-custom-values"],"value":[1025],"options":[1040],"clearSelect":[4,"clear-select"],"mask":[4],"debounce":[2],"native":[4],"currInsertIndex":[32],"availOpts":[32],"showErrorMsg":[32],"errorMessage":[32],"hasFocus":[32],"listOpen":[32],"isLegacy":[32],"hasLabelSlot":[32],"hasHelperSlot":[32],"hasIconSlot":[32],"reportValidity":[64],"setFocus":[64],"getSelectElement":[64],"showError":[64]}],[1,"nano-nav-item",{"href":[1],"target":[1],"disabled":[4],"open":[1540],"selected":[516],"secondaryActiveWidth":[2,"secondary-active-width"],"secondaryFallback":[16],"closeOnBlur":[4,"close-on-blur"],"didOpen":[32],"isInGlobalNav":[32],"isInMenuDrawer":[32],"isInMenu":[32],"isLegacy":[32],"hasFocus":[32],"setFocus":[64]}]]],["nano-input",[[6,"nano-input",{"invalid":[2564],"color":[1],"accept":[1],"autocapitalise":[1],"autocomplete":[1],"autocorrect":[1],"autofocus":[4],"clearInput":[4,"clear-input"],"clearOnEdit":[4,"clear-on-edit"],"debounce":[2],"disabled":[516],"inputmode":[1],"validateOn":[1025,"validate-on"],"showInlineError":[516,"show-inline-error"],"label":[1],"hideLabel":[4,"hide-label"],"floatLabel":[4,"float-label"],"max":[1],"maxlength":[2],"min":[1],"minlength":[2],"multiple":[4],"name":[1],"pattern":[1],"placeholder":[1],"readonly":[4],"required":[4],"spellcheck":[4],"step":[1],"size":[2],"type":[1],"form":[1],"value":[1025],"resize":[1],"rows":[2],"showCharCount":[4,"show-char-count"],"hasFocus":[32],"isLegacy":[32],"hasLabelSlot":[32],"hasButtonSlot":[32],"hasHelperSlot":[32],"_invalid":[32],"reportValidity":[64],"setFocus":[64],"getInputElement":[64],"showError":[64]},[[16,"reset","onReset"]]]]],["nano-spinner",[[1,"nano-spinner",{"type":[1],"overlay":[516],"hasText":[32]}]]],["nano-sticker",[[1,"nano-sticker",{"autoResize":[4,"auto-resize"],"isSticky":[1028,"is-sticky"],"offset":[1026],"position":[1],"quietMode":[1,"quiet-mode"],"hideOnNewStickers":[4,"hide-on-new-stickers"],"breakPointMax":[2,"break-point-max"],"breakPointMin":[2,"break-point-min"],"scrollParent":[1040],"stickTo":[1,"stick-to"],"isStuck":[32],"isRootSticker":[32],"hide":[32],"scrollHide":[32],"multiStickerHide":[32],"scrollingTo":[32],"quietModeIsOn":[32],"stuckCounter":[32],"stickerIndex":[32],"stickToEle":[32],"triggerPos":[32],"trigger":[32],"_offset":[32],"isHiding":[64],"isSticking":[64],"setTriggerPos":[64],"getTriggerPos":[64],"pauseHiding":[64]}]]],["nano-icon-button",[[2,"nano-icon-button",{"iconName":[1,"icon-name"],"iconSrc":[1,"icon-src"],"type":[513],"name":[513],"value":[513],"label":[1],"disabled":[516],"href":[1],"target":[1]}]]],["nano-resize-observe_2",[[1,"nano-resize-observe",{"states":[1],"currentWidth":[32],"currentHeight":[32],"classNames":[32]}],[1,"nano-skeleton",{"animated":[4]}]]],["nano-grid_3",[[1,"nano-img",{"alt":[1],"src":[1],"srcSet":[1,"src-set"],"lazy":[4],"background":[4],"autoHeight":[1,"auto-height"],"loadSrc":[32],"loadError":[32],"hasLoaded":[32],"imgStates":[32],"_src":[32]}],[1,"nano-grid",{"sSize":[2,"s-size"],"mSize":[2,"m-size"],"lSize":[2,"l-size"],"xlSize":[2,"xl-size"],"sCols":[2,"s-cols"],"mCols":[2,"m-cols"],"lCols":[2,"l-cols"],"xlCols":[2,"xl-cols"],"xxlCols":[2,"xxl-cols"],"showHelper":[516,"show-helper"],"contentPanel":[516,"content-panel"],"fullHeight":[516,"full-height"],"ready":[32],"isSmall":[32],"isMedium":[32],"isLarge":[32],"isXL":[32],"isXXL":[32]}],[1,"nano-grid-item",{"gridStates":[1,"grid-states"],"changeBP":[64]}]]],["nano-icon",[[1,"nano-icon",{"color":[1],"ariaLabel":[1537,"aria-label"],"flipRtl":[4,"flip-rtl"],"name":[1],"src":[1],"icon":[8],"size":[1],"lazy":[4],"svgContent":[32],"isVisible":[32],"isLoading":[32]}]]]]'),a)}))};export{defineCustomElements};
|
2
2
|
//# sourceMappingURL=loader.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["node_modules/@stencil/core/internal/client/patch-esm.js","@lazy-external-entrypoint?app-data=conditional"],"names":["patchEsm","CSS","supports","import","then","plt","$cssShim$","win","__cssshim","i","promiseResolve","defineCustomElements","options","window","Promise","resolve","bootstrapLazy","JSON","parse"],"mappings":"gIAKA,IAAMA,SAAW,WAGb,KAA0BC,KAAOA,IAAIC,UAAYD,IAAIC,SAAS,QAAS,aAAc,CAEjF,OAAOC,OAAoD,0BAAiBC,MAAK,WAC7E,GAAKC,IAAIC,UAAYC,IAAIC,UAAY,CACjC,OAAOH,IAAIC,UAAUG,QAEpB,CAED,OAAO,MAInB,OAAOC,kBCjBC,IAACC,qBAAuB,SAACJ,EAAKK,GACxC,UAAWC,SAAW,YAAa,OAAOC,QAAQC,UAClD,OAAOf,WAAWI,MAAK,WAEvB,OAAOY,cAAcC,KAAAC,MAAA,
|
1
|
+
{"version":3,"sources":["node_modules/@stencil/core/internal/client/patch-esm.js","@lazy-external-entrypoint?app-data=conditional"],"names":["patchEsm","CSS","supports","import","then","plt","$cssShim$","win","__cssshim","i","promiseResolve","defineCustomElements","options","window","Promise","resolve","bootstrapLazy","JSON","parse"],"mappings":"gIAKA,IAAMA,SAAW,WAGb,KAA0BC,KAAOA,IAAIC,UAAYD,IAAIC,SAAS,QAAS,aAAc,CAEjF,OAAOC,OAAoD,0BAAiBC,MAAK,WAC7E,GAAKC,IAAIC,UAAYC,IAAIC,UAAY,CACjC,OAAOH,IAAIC,UAAUG,QAEpB,CAED,OAAO,MAInB,OAAOC,kBCjBC,IAACC,qBAAuB,SAACJ,EAAKK,GACxC,UAAWC,SAAW,YAAa,OAAOC,QAAQC,UAClD,OAAOf,WAAWI,MAAK,WAEvB,OAAOY,cAAcC,KAAAC,MAAA,6nbAAuCN","sourcesContent":["/*\n Stencil Client Patch Esm v2.5.10 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD } from '@stencil/core/internal/app-data';\nimport { CSS, plt, win, promiseResolve } from '@stencil/core';\nconst patchEsm = () => {\n // NOTE!! This fn cannot use async/await!\n // @ts-ignore\n if (BUILD.cssVarShim && !(CSS && CSS.supports && CSS.supports('color', 'var(--c)'))) {\n // @ts-ignore\n return import(/* webpackChunkName: \"polyfills-css-shim\" */ './css-shim.js').then(() => {\n if ((plt.$cssShim$ = win.__cssshim)) {\n return plt.$cssShim$.i();\n }\n else {\n // for better minification\n return 0;\n }\n });\n }\n return promiseResolve();\n};\nexport { patchEsm };\n","import { bootstrapLazy } from '@stencil/core';\nimport { patchEsm } from '@stencil/core/internal/client/patch-esm';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\nexport const defineCustomElements = (win, options) => {\n if (typeof window === 'undefined') return Promise.resolve();\n return patchEsm().then(() => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n });\n};\n"]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as registerInstance,c as createEvent,h,e as Host,g as getElement}from"./index-
|
1
|
+
import{r as registerInstance,c as createEvent,h,e as Host,g as getElement}from"./index-912ef959.js";import{c as createColorClasses}from"./theme-f5a16c79.js";import{g as getDirectChildren}from"./dom-ae168a2d.js";var accordionCss=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{display:block}";var Accordion=function(){function e(e){registerInstance(this,e);this.nanoToggle=createEvent(this,"nanoToggle",7)}e.prototype.onToggleHandler=function(e){var o=this;e.stopPropagation();var t=getDirectChildren(this.el,"nano-details")||this.el.querySelectorAll("nano-details");t.forEach((function(t,n){if(t!==e.target)t.open=false;else o.itemOpened=n}));this.nanoToggle.emit()};e.prototype.onClosedHandler=function(e){e.stopPropagation();this.itemOpened=null;this.nanoToggle.emit()};e.prototype.render=function(){var e;return h(Host,{class:Object.assign(Object.assign({},createColorClasses(this.color)),(e={},e["nano-color-"+this.itemOpened]=typeof this.itemOpened==="number",e))},h("slot",null))};e.prototype.connectedCallback=function(){};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();Accordion.style=accordionCss;export{Accordion as nano_accordion};
|
2
2
|
//# sourceMappingURL=nano-accordion.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["src/components/accordion/accordion.scss?tag=nano-accordion&encapsulation=shadow","src/components/accordion/accordion.tsx"],"names":["accordionCss","Accordion","prototype","onToggleHandler","event","_this","this","stopPropagation","items","getDirectChildren","el","querySelectorAll","forEach","item","i","target","open","itemOpened","nanoToggle","emit","onClosedHandler","render","h","Host","class","Object","assign","createColorClasses","color","_a","connectedCallback"],"mappings":"mNAAA,IAAMA,aAAe,8JCwBRC,UAAS,mGAgBpBA,EAAAC,UAAAC,gBAAA,SAAgBC,GAAhB,IAAAC,EAAAC,KACEF,EAAMG,kBAEN,IAAIC,EACFC,kBAAkBH,KAAKI,GAAI,iBAC3BJ,KAAKI,GAAGC,iBAAiB,gBAC3BH,EAAMI,SAAQ,SAACC,EAA8BC,GAC3C,GAAID,IAAST,EAAMW,OAAQF,EAAKG,KAAO,WAClCX,EAAKY,WAAaH,KAEzBR,KAAKY,WAAWC,QAIlBlB,EAAAC,UAAAkB,gBAAA,SAAgBhB,GACdA,EAAMG,kBACND,KAAKW,WAAa,KAClBX,KAAKY,WAAWC,QAGlBlB,EAAAC,UAAAmB,OAAA,iBACE,OACEC,EAACC,KAAI,CACHC,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GACAC,mBAAmBrB,KAAKsB,SAAMC,EAAA,GACjCA,EAAC,cAAcvB,KAAKW,mBACXX,KAAKW,aAAe,SAAQY,KAGvCP,EAAA,OAAA,QAKNrB,EAAAC,UAAA4B,kBAAA,2IAlDoB","sourcesContent":[":host {\n display: block;\n}\n","import {\n Component,\n h,\n Listen,\n Element,\n Host,\n Prop,\n EventEmitter,\n Event,\n State,\n} from '@stencil/core';\n\nimport { Color } from '../../interface';\nimport { createColorClasses } from '../../utils/theme';\nimport { testLegacyStyle, getDirectChildren } from '../../utils
|
1
|
+
{"version":3,"sources":["src/components/accordion/accordion.scss?tag=nano-accordion&encapsulation=shadow","src/components/accordion/accordion.tsx"],"names":["accordionCss","Accordion","prototype","onToggleHandler","event","_this","this","stopPropagation","items","getDirectChildren","el","querySelectorAll","forEach","item","i","target","open","itemOpened","nanoToggle","emit","onClosedHandler","render","h","Host","class","Object","assign","createColorClasses","color","_a","connectedCallback"],"mappings":"mNAAA,IAAMA,aAAe,8JCwBRC,UAAS,mGAgBpBA,EAAAC,UAAAC,gBAAA,SAAgBC,GAAhB,IAAAC,EAAAC,KACEF,EAAMG,kBAEN,IAAIC,EACFC,kBAAkBH,KAAKI,GAAI,iBAC3BJ,KAAKI,GAAGC,iBAAiB,gBAC3BH,EAAMI,SAAQ,SAACC,EAA8BC,GAC3C,GAAID,IAAST,EAAMW,OAAQF,EAAKG,KAAO,WAClCX,EAAKY,WAAaH,KAEzBR,KAAKY,WAAWC,QAIlBlB,EAAAC,UAAAkB,gBAAA,SAAgBhB,GACdA,EAAMG,kBACND,KAAKW,WAAa,KAClBX,KAAKY,WAAWC,QAGlBlB,EAAAC,UAAAmB,OAAA,iBACE,OACEC,EAACC,KAAI,CACHC,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GACAC,mBAAmBrB,KAAKsB,SAAMC,EAAA,GACjCA,EAAC,cAAcvB,KAAKW,mBACXX,KAAKW,aAAe,SAAQY,KAGvCP,EAAA,OAAA,QAKNrB,EAAAC,UAAA4B,kBAAA,2IAlDoB","sourcesContent":[":host {\n display: block;\n}\n","import {\n Component,\n h,\n Listen,\n Element,\n Host,\n Prop,\n EventEmitter,\n Event,\n State,\n} from '@stencil/core';\n\nimport { Color } from '../../interface';\nimport { createColorClasses } from '../../utils/theme';\nimport { testLegacyStyle, getDirectChildren } from '../../utils';\n\n/**\n * Simple accordion - only one item open at a time - must be used with [details](story/components-accordion--details) elements.\n */\n@Component({\n tag: 'nano-accordion',\n styleUrl: 'accordion.scss',\n shadow: true,\n})\nexport class Accordion {\n @State() itemOpened?: number;\n\n @Element() el: HTMLNanoAccordionElement;\n\n /**\n * Fires when accordion elements toggle\n */\n @Event() nanoToggle: EventEmitter;\n\n /**\n * Color to use from the color palette.\n */\n @Prop() color?: Color;\n\n @Listen('nanoOpened')\n onToggleHandler(event: CustomEvent) {\n event.stopPropagation();\n\n let items =\n getDirectChildren(this.el, 'nano-details') ||\n this.el.querySelectorAll('nano-details');\n items.forEach((item: HTMLNanoDetailsElement, i) => {\n if (item !== event.target) item.open = false;\n else this.itemOpened = i;\n });\n this.nanoToggle.emit();\n }\n\n @Listen('nanoClosed')\n onClosedHandler(event: CustomEvent) {\n event.stopPropagation();\n this.itemOpened = null;\n this.nanoToggle.emit();\n }\n\n render() {\n return (\n <Host\n class={{\n ...createColorClasses(this.color),\n [`nano-color-${this.itemOpened}`]:\n typeof this.itemOpened === 'number',\n }}\n >\n <slot />\n </Host>\n );\n }\n\n connectedCallback() {\n testLegacyStyle(this.el);\n }\n}\n"]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(t,e,n,a){function o(t){return t instanceof n?t:new n((function(e){e(t)}))}return new(n||(n=Promise))((function(n,i){function r(t){try{l(a.next(t))}catch(e){i(e)}}function s(t){try{l(a["throw"](t))}catch(e){i(e)}}function l(t){t.done?n(t.value):o(t.value).then(r,s)}l((a=a.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a,o,i,r;return r={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function s(t){return function(e){return l([t,e])}}function l(r){if(a)throw new TypeError("Generator is already executing.");while(n)try{if(a=1,o&&(i=r[0]&2?o["return"]:r[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,r[1])).done)return i;if(o=0,i)r=[r[0]&2,i.value];switch(r[0]){case 0:case 1:i=r;break;case 4:n.label++;return{value:r[1],done:false};case 5:n.label++;o=r[1];r=[0];continue;case 7:r=n.ops.pop();n.trys.pop();continue;default:if(!(i=n.trys,i=i.length>0&&i[i.length-1])&&(r[0]===6||r[0]===2)){n=0;continue}if(r[0]===3&&(!i||r[1]>i[0]&&r[1]<i[3])){n.label=r[1];break}if(r[0]===6&&n.label<i[1]){n.label=i[1];i=r;break}if(i&&n.label<i[2]){n.label=i[2];n.ops.push(r);break}if(i[2])n.ops.pop();n.trys.pop();continue}r=e.call(t,n)}catch(s){r=[6,s];o=0}finally{a=i=0}if(r[0]&5)throw r[1];return{value:r[0]?r[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,e as Host,g as getElement}from"./index-20becda2.js";import{M as Modal}from"./modal-1029407c.js";import{r as raf}from"./utils-fd1ada22.js";import{l as lockBodyScrolling,u as unlockBodyScrolling}from"./scroll-4162ee24.js";import{c as createColorClasses}from"./theme-f5a16c79.js";import"./tabbable-7818e4c2.js";import"./dom-ae168a2d.js";var alertCss=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--border-color:var(--nano-layer-border-color, rgba(0, 0, 0, 0.1));--border-width:var(--nano-layer-border-width, 1px);--background:var(--nano-layer-bg, #fff);--tint-color:var(--nano-color-base, var(--nano-color-primary, #0084a9));--icon-size:2rem;--scrim-color:var(--nano-layer-overlay-dark, rgba(74, 74, 74, .5));--close-button-color:#b5aea7;display:block}:host(.nano-color){--tint-color:var(--nano-color-base, var(--nano-color-primary, #0084a9))}.alert{position:relative;background-color:var(--background);border:solid var(--border-width) var(--border-color);border-top-width:4px;border-top-color:var(--tint-color);border-radius:var(--border-radius);opacity:0;-webkit-transform:scale(0.9);transform:scale(0.9);-webkit-transition:var(--nano-transition-medium, 0.5s) opacity ease, var(--nano-transition-fast, 0.3s) transform ease;transition:var(--nano-transition-medium, 0.5s) opacity ease, var(--nano-transition-fast, 0.3s) transform ease}.alert:focus{outline:none}.alert:not(.alert--showing){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.alert--open{opacity:1;-webkit-transform:none;transform:none}.alert--toasty,.alert--modal{-webkit-box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.3));box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.3));margin:var(--nano-spacing-medium, 16px)}.alert__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.alert__modal-wrap{position:fixed;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;top:0;right:0;bottom:0;left:0;z-index:var(--nano-layer-index-alert, 800)}.alert__message{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:var(--nano-spacing-medium, 16px);overflow:hidden;line-height:1.6}.alert__close{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:1.1em;padding-left:0;padding-right:var(--nano-spacing-medium, 16px);padding-top:0;padding-bottom:0;--color:var(--close-button-color)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert__close{padding-left:unset;padding-right:unset;-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:var(--nano-spacing-medium, 16px);padding-inline-end:var(--nano-spacing-medium, 16px)}}.alert__footer{padding:0 var(--nano-spacing-small, 8px) 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:distribute;justify-content:space-around;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.alert__footer ::slotted(*),.alert__footer::slotted(*){-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0 var(--nano-spacing-small, 8px) var(--nano-spacing-medium, 16px) !important}.alert__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--scrim-color);opacity:0;-webkit-transition:var(--nano-transition-fast, 0.3s) opacity;transition:var(--nano-transition-fast, 0.3s) opacity;z-index:var(--nano-layer-index-alert, 800);-webkit-backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px));backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px))}.alert__overlay--open{opacity:1}.alert__icon{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:var(--icon-size)}.alert__icon::slotted(*){color:var(--tint-color);margin-left:var(--nano-spacing-medium, 16px)}.alert__icon ::slotted(*){color:var(--tint-color);margin-left:var(--nano-spacing-medium, 16px);margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert__icon ::slotted(*){margin-left:unset;margin-right:unset;-webkit-margin-start:var(--nano-spacing-medium, 16px);margin-inline-start:var(--nano-spacing-medium, 16px);-webkit-margin-end:0;margin-inline-end:0}}.something{color:black}";var toastStackTr=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--tr"});var toastStackTl=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--tl"});var toastStackBl=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--bl"});var toastStackBr=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--br"});var Alert=function(){function t(t){var e=this;registerInstance(this,t);this.nanoShow=createEvent(this,"nanoShow",7);this.nanoAfterShow=createEvent(this,"nanoAfterShow",7);this.nanoHide=createEvent(this,"nanoHide",7);this.nanoAfterHide=createEvent(this,"nanoAfterHide",7);this.addedTransEnd=false;this.goingToHide=false;this.goingToShow=false;this.isModal=false;this.isToast=false;this.isShowing=false;this.open=false;this.closable=false;this.duration=Infinity;this.handleMouseMove=function(){e.restartAutoHide()};this.handleCloseClick=function(){e.hide()};this.handleTransitionEnd=function(t){if(t.propertyName==="opacity"&&(t.target===e.panel||t.target===e.overlay)){e.host.hidden=!e.open;e.isShowing=e.open;e.open?e.nanoAfterShow.emit():e.nanoAfterHide.emit()}};this.handleButtonClick=function(t){var n=t.target;if(t.defaultPrevented)return;if(n.tagName&&n.tagName.toLowerCase()==="button")e.hide()};this.restartAutoHide=function(){clearTimeout(e.autoHideTimeout);if(e.open&&e.duration<Infinity){e.autoHideTimeout=setTimeout((function(){return e.hide()}),e.duration)}};this.Panel=function(){return h("div",{ref:function(t){return e.panel=t},part:"panel",class:{alert:true,"alert--open":e.open,"alert--toasty":e.isToast,"alert--modal":!!e.isModal,"alert--showing":e.isShowing},role:!!e.isModal?"alertdialog":"alert","aria-live":"assertive","aria-atomic":"true","aria-hidden":e.open?"false":"true","aria-modal":!!e.isModal?"true":undefined,"aria-label":e.label?e.label:undefined,onMouseMove:e.handleMouseMove,tabIndex:!!e.isModal?0:undefined},h("div",{class:"alert__content"},h("div",{part:"icon",class:"alert__icon"},h("slot",{name:"icon"})),h("div",{part:"message",class:"alert__message"},h("slot",null)),e.closable&&h("div",{class:"alert__close"},h("nano-icon-button",{class:"alert__close",iconName:"light/times",label:"close menu",onClick:e.handleCloseClick}))),h("div",{class:"alert__footer"},h("slot",{name:"footer"})))}}t.prototype.handleOpenChange=function(){this.open?this.show():this.hide()};t.prototype.handleDurationChange=function(){this.restartAutoHide()};t.prototype.show=function(){return __awaiter(this,void 0,void 0,(function(){var t;var e=this;return __generator(this,(function(n){if(this.goingToShow){return[2]}t=this.nanoShow.emit();if(t.defaultPrevented){this.open=false;return[2,false]}this.host.hidden=false;this.goingToShow=true;this.open=true;raf((function(){e.isShowing=true;e.goingToShow=false}));if(this.duration<Infinity){clearTimeout(this.autoHideTimeout);this.autoHideTimeout=setTimeout((function(){return e.hide()}),this.duration)}return[2]}))}))};t.prototype.hide=function(){return __awaiter(this,void 0,void 0,(function(){var t;var e=this;return __generator(this,(function(n){if(this.goingToHide){return[2]}t=this.nanoHide.emit();if(t.defaultPrevented){this.open=true;return[2,false]}this.goingToHide=true;this.open=false;raf((function(){return e.goingToHide=false}));clearTimeout(this.autoHideTimeout);return[2]}))}))};t.prototype.toast=function(t){if(t===void 0){t="tr"}return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(n){this.isToast=true;return[2,new Promise((function(n){var a;switch(t){case"tl":a=toastStackTl;break;case"bl":a=toastStackBl;break;case"br":a=toastStackBr;break;default:a=toastStackTr;break}if(!a.parentElement){document.body.appendChild(a)}a.appendChild(e.host);e.connectedCallback();e.show();e.host.addEventListener("nanoAfterHide",(function(){e.host.remove();e.isToast=false;n();if(!a.querySelector("nano-alert")){a.remove()}}),{once:true})}))]}))}))};t.prototype.alert=function(t){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(n){this.isModal=true;this.label=t;return[2,new Promise((function(t){if(!document.body.contains(e.host)){document.body.appendChild(e.host)}e.modal.activate();lockBodyScrolling(e.host);e.originalTrigger=document.activeElement;raf((function(){e.show()}));e.host.addEventListener("nanoAfterShow",(function(){raf((function(){return e.panel.focus({preventScroll:true})}))}),{once:true});e.host.addEventListener("nanoAfterHide",(function(){e.modal.deactivate();e.host.remove();e.label=undefined;e.isModal=false;t();if(e.originalTrigger&&typeof e.originalTrigger.focus==="function"){setTimeout((function(){return e.originalTrigger.focus()}))}}),{once:true})}))]}))}))};t.prototype.connectedCallback=function(){this.modal=new Modal(this.host);this.host.addEventListener("click",this.handleButtonClick);if(this.panel){this.addedTransEnd=true;this.panel.addEventListener("transitionend",this.handleTransitionEnd)}};t.prototype.disconnectedCallback=function(){unlockBodyScrolling(this.host);this.host.removeEventListener("click",this.handleButtonClick);this.addedTransEnd=false;this.panel.removeEventListener("transitionend",this.handleTransitionEnd)};t.prototype.componentDidLoad=function(){if(this.open){this.show()}if(!this.addedTransEnd){this.panel.addEventListener("transitionend",this.handleTransitionEnd)}};t.prototype.render=function(){var t=this;return h(Host,{class:Object.assign({},createColorClasses(this.color)),showing:this.isShowing},this.isModal&&[h("div",{part:"overlay",class:{alert__overlay:true,"alert__overlay--open":this.open},ref:function(e){return t.overlay=e}}),h("div",{class:"alert__modal-wrap"},h(this.Panel,null))],!this.isModal&&h(this.Panel,null))};Object.defineProperty(t.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{open:["handleOpenChange"],duration:["handleDurationChange"]}},enumerable:false,configurable:true});return t}();Alert.style=alertCss;export{Alert as nano_alert};
|
1
|
+
var __awaiter=this&&this.__awaiter||function(t,e,n,a){function o(t){return t instanceof n?t:new n((function(e){e(t)}))}return new(n||(n=Promise))((function(n,i){function r(t){try{l(a.next(t))}catch(e){i(e)}}function s(t){try{l(a["throw"](t))}catch(e){i(e)}}function l(t){t.done?n(t.value):o(t.value).then(r,s)}l((a=a.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a,o,i,r;return r={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function s(t){return function(e){return l([t,e])}}function l(r){if(a)throw new TypeError("Generator is already executing.");while(n)try{if(a=1,o&&(i=r[0]&2?o["return"]:r[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,r[1])).done)return i;if(o=0,i)r=[r[0]&2,i.value];switch(r[0]){case 0:case 1:i=r;break;case 4:n.label++;return{value:r[1],done:false};case 5:n.label++;o=r[1];r=[0];continue;case 7:r=n.ops.pop();n.trys.pop();continue;default:if(!(i=n.trys,i=i.length>0&&i[i.length-1])&&(r[0]===6||r[0]===2)){n=0;continue}if(r[0]===3&&(!i||r[1]>i[0]&&r[1]<i[3])){n.label=r[1];break}if(r[0]===6&&n.label<i[1]){n.label=i[1];i=r;break}if(i&&n.label<i[2]){n.label=i[2];n.ops.push(r);break}if(i[2])n.ops.pop();n.trys.pop();continue}r=e.call(t,n)}catch(s){r=[6,s];o=0}finally{a=i=0}if(r[0]&5)throw r[1];return{value:r[0]?r[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,e as Host,g as getElement}from"./index-912ef959.js";import{M as Modal}from"./modal-1029407c.js";import{r as raf}from"./index-269c88a9.js";import{l as lockBodyScrolling,u as unlockBodyScrolling}from"./scroll-4162ee24.js";import{c as createColorClasses}from"./theme-f5a16c79.js";import"./tabbable-7818e4c2.js";import"./dom-ae168a2d.js";var alertCss=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--border-color:var(--nano-layer-border-color, rgba(0, 0, 0, 0.1));--border-width:var(--nano-layer-border-width, 1px);--background:var(--nano-layer-bg, #fff);--tint-color:var(--nano-color-base, var(--nano-color-primary, #007495));--icon-size:2rem;--scrim-color:var(--nano-layer-overlay-dark, rgba(74, 74, 74, .5));--close-button-color:#b5aea7;display:block}:host(.nano-color){--tint-color:var(--nano-color-base, var(--nano-color-primary, #007495))}.alert{position:relative;background-color:var(--background);border:solid var(--border-width) var(--border-color);border-top-width:4px;border-top-color:var(--tint-color);border-radius:var(--border-radius);opacity:0;-webkit-transform:scale(0.9);transform:scale(0.9);-webkit-transition:var(--nano-transition-medium, 0.5s) opacity ease, var(--nano-transition-fast, 0.3s) transform ease;transition:var(--nano-transition-medium, 0.5s) opacity ease, var(--nano-transition-fast, 0.3s) transform ease}.alert:focus{outline:none}.alert:not(.alert--showing){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.alert--open{opacity:1;-webkit-transform:none;transform:none}.alert--toasty,.alert--modal{-webkit-box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.3));box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.3));margin:var(--nano-spacing-medium, 16px)}.alert__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.alert__modal-wrap{position:fixed;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;top:0;right:0;bottom:0;left:0;z-index:var(--nano-layer-index-alert, 800)}.alert__message{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:var(--nano-spacing-medium, 16px);overflow:hidden;line-height:1.6}.alert__close{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:1.1em;padding-left:0;padding-right:var(--nano-spacing-medium, 16px);padding-top:0;padding-bottom:0;--color:var(--close-button-color)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert__close{padding-left:unset;padding-right:unset;-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:var(--nano-spacing-medium, 16px);padding-inline-end:var(--nano-spacing-medium, 16px)}}.alert__footer{padding:0 var(--nano-spacing-small, 8px) 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:distribute;justify-content:space-around;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.alert__footer ::slotted(*),.alert__footer::slotted(*){-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0 var(--nano-spacing-small, 8px) var(--nano-spacing-medium, 16px) !important}.alert__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--scrim-color);opacity:0;-webkit-transition:var(--nano-transition-fast, 0.3s) opacity;transition:var(--nano-transition-fast, 0.3s) opacity;z-index:var(--nano-layer-index-alert, 800);-webkit-backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px));backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px))}.alert__overlay--open{opacity:1}.alert__icon{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:var(--icon-size)}.alert__icon::slotted(*){color:var(--tint-color);margin-left:var(--nano-spacing-medium, 16px)}.alert__icon ::slotted(*){color:var(--tint-color);margin-left:var(--nano-spacing-medium, 16px);margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert__icon ::slotted(*){margin-left:unset;margin-right:unset;-webkit-margin-start:var(--nano-spacing-medium, 16px);margin-inline-start:var(--nano-spacing-medium, 16px);-webkit-margin-end:0;margin-inline-end:0}}.something{color:black}";var toastStackTr=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--tr"});var toastStackTl=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--tl"});var toastStackBl=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--bl"});var toastStackBr=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--br"});var Alert=function(){function t(t){var e=this;registerInstance(this,t);this.nanoShow=createEvent(this,"nanoShow",7);this.nanoAfterShow=createEvent(this,"nanoAfterShow",7);this.nanoHide=createEvent(this,"nanoHide",7);this.nanoAfterHide=createEvent(this,"nanoAfterHide",7);this.addedTransEnd=false;this.goingToHide=false;this.goingToShow=false;this.isModal=false;this.isToast=false;this.isShowing=false;this.open=false;this.closable=false;this.duration=Infinity;this.handleMouseMove=function(){e.restartAutoHide()};this.handleCloseClick=function(){e.hide()};this.handleTransitionEnd=function(t){if(t.propertyName==="opacity"&&(t.target===e.panel||t.target===e.overlay)){e.host.hidden=!e.open;e.isShowing=e.open;e.open?e.nanoAfterShow.emit():e.nanoAfterHide.emit()}};this.handleButtonClick=function(t){var n=t.target;if(t.defaultPrevented)return;if(n.tagName&&n.tagName.toLowerCase()==="button")e.hide()};this.restartAutoHide=function(){clearTimeout(e.autoHideTimeout);if(e.open&&e.duration<Infinity){e.autoHideTimeout=setTimeout((function(){return e.hide()}),e.duration)}};this.Panel=function(){return h("div",{ref:function(t){return e.panel=t},part:"panel",class:{alert:true,"alert--open":e.open,"alert--toasty":e.isToast,"alert--modal":!!e.isModal,"alert--showing":e.isShowing},role:!!e.isModal?"alertdialog":"alert","aria-live":"assertive","aria-atomic":"true","aria-hidden":e.open?"false":"true","aria-modal":!!e.isModal?"true":undefined,"aria-label":e.label?e.label:undefined,onMouseMove:e.handleMouseMove,tabIndex:!!e.isModal?0:undefined},h("div",{class:"alert__content"},h("div",{part:"icon",class:"alert__icon"},h("slot",{name:"icon"})),h("div",{part:"message",class:"alert__message"},h("slot",null)),e.closable&&h("div",{class:"alert__close"},h("nano-icon-button",{class:"alert__close",iconName:"light/times",label:"close menu",onClick:e.handleCloseClick}))),h("div",{class:"alert__footer"},h("slot",{name:"footer"})))}}t.prototype.handleOpenChange=function(){this.open?this.show():this.hide()};t.prototype.handleDurationChange=function(){this.restartAutoHide()};t.prototype.show=function(){return __awaiter(this,void 0,void 0,(function(){var t;var e=this;return __generator(this,(function(n){if(this.goingToShow){return[2]}t=this.nanoShow.emit();if(t.defaultPrevented){this.open=false;return[2,false]}this.host.hidden=false;this.goingToShow=true;this.open=true;raf((function(){e.isShowing=true;e.goingToShow=false}));if(this.duration<Infinity){clearTimeout(this.autoHideTimeout);this.autoHideTimeout=setTimeout((function(){return e.hide()}),this.duration)}return[2]}))}))};t.prototype.hide=function(){return __awaiter(this,void 0,void 0,(function(){var t;var e=this;return __generator(this,(function(n){if(this.goingToHide){return[2]}t=this.nanoHide.emit();if(t.defaultPrevented){this.open=true;return[2,false]}this.goingToHide=true;this.open=false;raf((function(){return e.goingToHide=false}));clearTimeout(this.autoHideTimeout);return[2]}))}))};t.prototype.toast=function(t){if(t===void 0){t="tr"}return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(n){this.isToast=true;return[2,new Promise((function(n){var a;switch(t){case"tl":a=toastStackTl;break;case"bl":a=toastStackBl;break;case"br":a=toastStackBr;break;default:a=toastStackTr;break}if(!a.parentElement){document.body.appendChild(a)}a.appendChild(e.host);e.connectedCallback();e.show();e.host.addEventListener("nanoAfterHide",(function(){e.host.remove();e.isToast=false;n();if(!a.querySelector("nano-alert")){a.remove()}}),{once:true})}))]}))}))};t.prototype.alert=function(t){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(n){this.isModal=true;this.label=t;return[2,new Promise((function(t){if(!document.body.contains(e.host)){document.body.appendChild(e.host)}e.modal.activate();lockBodyScrolling(e.host);e.originalTrigger=document.activeElement;raf((function(){e.show()}));e.host.addEventListener("nanoAfterShow",(function(){raf((function(){return e.panel.focus({preventScroll:true})}))}),{once:true});e.host.addEventListener("nanoAfterHide",(function(){e.modal.deactivate();e.host.remove();e.label=undefined;e.isModal=false;t();if(e.originalTrigger&&typeof e.originalTrigger.focus==="function"){setTimeout((function(){return e.originalTrigger.focus()}))}}),{once:true})}))]}))}))};t.prototype.connectedCallback=function(){this.modal=new Modal(this.host);this.host.addEventListener("click",this.handleButtonClick);if(this.panel){this.addedTransEnd=true;this.panel.addEventListener("transitionend",this.handleTransitionEnd)}};t.prototype.disconnectedCallback=function(){unlockBodyScrolling(this.host);this.host.removeEventListener("click",this.handleButtonClick);this.addedTransEnd=false;this.panel.removeEventListener("transitionend",this.handleTransitionEnd)};t.prototype.componentDidLoad=function(){if(this.open){this.show()}if(!this.addedTransEnd){this.panel.addEventListener("transitionend",this.handleTransitionEnd)}};t.prototype.render=function(){var t=this;return h(Host,{class:Object.assign({},createColorClasses(this.color)),showing:this.isShowing},this.isModal&&[h("div",{part:"overlay",class:{alert__overlay:true,"alert__overlay--open":this.open},ref:function(e){return t.overlay=e}}),h("div",{class:"alert__modal-wrap"},h(this.Panel,null))],!this.isModal&&h(this.Panel,null))};Object.defineProperty(t.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{open:["handleOpenChange"],duration:["handleDurationChange"]}},enumerable:false,configurable:true});return t}();Alert.style=alertCss;export{Alert as nano_alert};
|
2
2
|
//# sourceMappingURL=nano-alert.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["src/components/alert/alert.scss?tag=nano-alert&encapsulation=shadow","src/components/alert/alert.tsx"],"names":["alertCss","toastStackTr","Object","assign","document","createElement","className","toastStackTl","toastStackBl","toastStackBr","Alert","class_1","hostRef","_this","this","addedTransEnd","goingToHide","goingToShow","isModal","isToast","isShowing","open","closable","duration","Infinity","handleMouseMove","restartAutoHide","handleCloseClick","hide","handleTransitionEnd","event","propertyName","target","panel","overlay","host","hidden","nanoAfterShow","emit","nanoAfterHide","handleButtonClick","defaultPrevented","tagName","toLowerCase","clearTimeout","autoHideTimeout","setTimeout","Panel","h","ref","el","part","class","alert","alert--open","alert--toasty","alert--modal","alert--showing","role","aria-live","aria-atomic","aria-hidden","aria-modal","undefined","aria-label","label","onMouseMove","tabIndex","name","iconName","onClick","prototype","handleOpenChange","show","handleDurationChange","nanoShow","raf","nanoHide","toast","position","Promise","resolve","toastStack","parentElement","body","appendChild","connectedCallback","addEventListener","remove","querySelector","once","contains","modal","activate","lockBodyScrolling","originalTrigger","activeElement","focus","preventScroll","deactivate","Modal","disconnectedCallback","unlockBodyScrolling","removeEventListener","componentDidLoad","render","Host","createColorClasses","color","showing","alert__overlay","alert__overlay--open","div"],"mappings":"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","sourcesContent":["@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/colours';\n@import '../../global/style/nano-theme/layers';\n\n:host {\n /**\n * @prop --border-radius: defaults to #{$layer-border-radius};\n * @prop --border-color: defaults to #{$layer-border-color};\n * @prop --border-width: defaults to #{$layer-border-width};\n * @prop --background: defaults to #{$layer-bg-color};\n * @prop --tint-color: defaults to var(--nano-color-base, #{nano-color(primary, base)});\n * @prop --icon-size: defaults to 1.5rem;\n * @prop --scrim-color: overlay colour of alert display. Defaults to #{$layer-overlay-dark};\n * @prop --close-button-color: defaults to #{$color-mediumgrey} ;\n */\n\n --border-radius: #{$layer-border-radius};\n --border-color: #{$layer-border-color};\n --border-width: #{$layer-border-width};\n --background: #{$layer-bg-color};\n --tint-color: var(--nano-color-base, #{nano-color(primary, base)});\n --icon-size: 2rem;\n --scrim-color: #{$layer-overlay-dark};\n --close-button-color: #{$color-palegrey};\n\n display: block;\n}\n\n:host(.nano-color) {\n --tint-color: var(--nano-color-base, #{nano-color(primary, base)});\n}\n\n.alert {\n position: relative;\n background-color: var(--background);\n border: solid var(--border-width) var(--border-color);\n border-top-width: 4px;\n border-top-color: var(--tint-color);\n border-radius: var(--border-radius);\n opacity: 0;\n transform: scale(0.9);\n transition:\n #{$transition-medium} opacity ease,\n #{$transition-fast} transform ease;\n\n &:focus {\n outline: none;\n }\n\n &:not(.alert--showing) {\n @include hidden;\n }\n\n &--open {\n opacity: 1;\n transform: none;\n }\n\n &--toasty,\n &--modal {\n box-shadow: #{$layer-shadow-large};\n margin: #{$spacing-medium};\n }\n}\n\n.alert__content {\n display: flex;\n align-items: stretch;\n}\n\n.alert__modal-wrap {\n position: fixed;\n display: flex;\n align-items: center;\n justify-content: center;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: #{$layer-index-alert};\n}\n\n.alert__message {\n flex: 1 1 auto;\n padding: #{$spacing-medium};\n overflow: hidden;\n line-height: 1.6;\n}\n\n.alert__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: 1.1em;\n\n @include padding(0, #{$spacing-medium}, 0, 0);\n\n --color: var(--close-button-color);\n}\n\n.alert__footer {\n padding: 0 #{$spacing-small} 0;\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: center;\n\n ::slotted(*),\n &::slotted(*) {\n flex: 1;\n margin: 0 #{$spacing-small} #{$spacing-medium} !important;\n }\n}\n\n.alert__overlay {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--scrim-color);\n opacity: 0;\n transition: #{$transition-fast} opacity;\n z-index: #{$layer-index-alert};\n backdrop-filter: blur(#{$layer-overlay-blur});\n\n &--open {\n opacity: 1;\n }\n}\n\n.alert__icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--icon-size);\n\n &::slotted(*) {\n color: var(--tint-color);\n margin-left: #{$spacing-medium};\n }\n}\n\n.alert__icon ::slotted(*) {\n color: var(--tint-color);\n\n @include margin(0, 0, 0, #{$spacing-medium});\n}\n// just testing - rm later\n.something {\n color: black;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Method,\n Prop,\n State,\n Watch,\n h,\n Host,\n VNode,\n} from '@stencil/core';\nimport { Color } from '../../interface';\nimport Modal from '../../utils/modal';\nimport {\n createColorClasses,\n lockBodyScrolling,\n raf,\n unlockBodyScrolling,\n} from '../../utils/utils';\n\nconst toastStackTr = Object.assign(document.createElement('div'), {\n className: 'nano-toast-stack nano-toast-stack--tr',\n});\nconst toastStackTl = Object.assign(document.createElement('div'), {\n className: 'nano-toast-stack nano-toast-stack--tl',\n});\nconst toastStackBl = Object.assign(document.createElement('div'), {\n className: 'nano-toast-stack nano-toast-stack--bl',\n});\nconst toastStackBr = Object.assign(document.createElement('div'), {\n className: 'nano-toast-stack nano-toast-stack--br',\n});\n\n/**\n * Alerts are used to display important messages either inline, as toast notifications or as modals requiring action.\n * @slot - The alert's content.\n * @slot icon - An icon to show in the alert.\n * @slot footer - Place items at the bottom of the alert. Best used with `button` elements - esp when used as with the `alert()` method.\n */\n@Component({\n tag: 'nano-alert',\n styleUrl: 'alert.scss',\n shadow: true,\n})\nexport class Alert implements ComponentInterface {\n private autoHideTimeout: ReturnType<typeof setTimeout>;\n private panel: HTMLElement;\n private overlay: HTMLElement;\n private modal: Modal;\n private originalTrigger: HTMLElement | null;\n private addedTransEnd = false;\n private goingToHide = false;\n private goingToShow = false;\n\n @State() isModal = false;\n @State() isToast = false;\n @State() isShowing = false;\n @State() label: string;\n\n @Element() host: HTMLNanoAlertElement;\n\n /** Indicates whether or not the alert is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Set to true to make the alert closable. */\n @Prop({ reflect: true }) closable = false;\n\n /** The color to use from the application's color palette. */\n @Prop({ reflect: true }) color?: Color;\n\n /**\n * The length of time, in milliseconds, the alert will show before closing itself. If the user interacts with the\n * alert before it closes (e.g. moves the mouse over it), the timer will restart.\n */\n @Prop() duration = Infinity;\n\n @Watch('duration')\n handleDurationChange() {\n this.restartAutoHide();\n }\n\n /** Emitted when the alert opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event() nanoShow: EventEmitter;\n\n /** Emitted after the alert opens and all transitions are complete. */\n @Event() nanoAfterShow: EventEmitter;\n\n /** Emitted when the alert closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event() nanoHide: EventEmitter;\n\n /** Emitted after the alert closes and all transitions are complete. */\n @Event() nanoAfterHide: EventEmitter;\n\n /** Shows the alert. */\n @Method()\n async show() {\n if (this.goingToShow) {\n return;\n }\n const nanoShow = this.nanoShow.emit();\n if (nanoShow.defaultPrevented) {\n this.open = false;\n return false;\n }\n\n this.host.hidden = false;\n this.goingToShow = true;\n this.open = true;\n raf(() => {\n this.isShowing = true;\n this.goingToShow = false;\n });\n\n if (this.duration < Infinity) {\n clearTimeout(this.autoHideTimeout);\n this.autoHideTimeout = setTimeout(() => this.hide(), this.duration);\n }\n }\n\n /** Hides the alert */\n @Method()\n async hide() {\n if (this.goingToHide) {\n return;\n }\n const nanoHide = this.nanoHide.emit();\n\n if (nanoHide.defaultPrevented) {\n this.open = true;\n return false;\n }\n this.goingToHide = true;\n this.open = false;\n\n raf(() => (this.goingToHide = false));\n clearTimeout(this.autoHideTimeout);\n }\n\n /**\n * Displays the alert as a toast notification. This will move the alert out of its position in the DOM and, when\n * dismissed, it will be removed from the DOM completely. By storing a reference to the alert, you can reuse it by\n * calling this method again. The returned promise will resolve after the alert is hidden.\n *\n * @param position options are tr (top-right - default), tl (top-left), br (bottom-right), bl (bottom-left)\n * @returns a promise which will resolve after the alert has hidden\n */\n @Method()\n async toast(position: 'tr' | 'tl' | 'bl' | 'br' = 'tr') {\n this.isToast = true;\n return new Promise<void>((resolve) => {\n let toastStack: HTMLElement;\n switch (position) {\n case 'tl':\n toastStack = toastStackTl;\n break;\n case 'bl':\n toastStack = toastStackBl;\n break;\n case 'br':\n toastStack = toastStackBr;\n break;\n default:\n toastStack = toastStackTr;\n break;\n }\n\n if (!toastStack.parentElement) {\n document.body.appendChild(toastStack);\n }\n\n toastStack.appendChild(this.host);\n this.connectedCallback();\n this.show();\n\n this.host.addEventListener(\n 'nanoAfterHide',\n () => {\n this.host.remove();\n this.isToast = false;\n resolve();\n\n // Remove the toast stack from the DOM when there are no more alerts\n if (!toastStack.querySelector('nano-alert')) {\n toastStack.remove();\n }\n },\n { once: true }\n );\n });\n }\n\n /**\n * Displays the alert as a dialog / modal - more akin to a traditional js alert().\n * @param label a label for assistive technology\n */\n @Method()\n async alert(label: string) {\n this.isModal = true;\n this.label = label;\n\n return new Promise<void>((resolve) => {\n if (!document.body.contains(this.host)) {\n document.body.appendChild(this.host);\n }\n\n this.modal.activate();\n lockBodyScrolling(this.host);\n this.originalTrigger = document.activeElement as HTMLElement;\n\n raf(() => {\n this.show();\n });\n\n this.host.addEventListener(\n 'nanoAfterShow',\n () => {\n raf(() => this.panel.focus({ preventScroll: true }));\n },\n { once: true }\n );\n\n this.host.addEventListener(\n 'nanoAfterHide',\n () => {\n this.modal.deactivate();\n this.host.remove();\n this.label = undefined;\n this.isModal = false;\n resolve();\n\n // Restore focus to the original trigger\n if (\n this.originalTrigger &&\n typeof this.originalTrigger.focus === 'function'\n ) {\n setTimeout(() => this.originalTrigger.focus());\n }\n },\n { once: true }\n );\n });\n }\n\n private handleMouseMove = () => {\n this.restartAutoHide();\n };\n\n private handleCloseClick = () => {\n this.hide();\n };\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n if (\n event.propertyName === 'opacity' &&\n (event.target === this.panel || event.target === this.overlay)\n ) {\n this.host.hidden = !this.open;\n this.isShowing = this.open;\n this.open ? this.nanoAfterShow.emit() : this.nanoAfterHide.emit();\n }\n };\n\n private handleButtonClick = (event: Event) => {\n const target = event.target as HTMLElement;\n if (event.defaultPrevented) return;\n if (target.tagName && target.tagName.toLowerCase() === 'button')\n this.hide();\n };\n\n private restartAutoHide = () => {\n clearTimeout(this.autoHideTimeout);\n if (this.open && this.duration < Infinity) {\n this.autoHideTimeout = setTimeout(() => this.hide(), this.duration);\n }\n };\n\n connectedCallback() {\n this.modal = new Modal(this.host);\n this.host.addEventListener('click', this.handleButtonClick);\n\n if (this.panel) {\n this.addedTransEnd = true;\n this.panel.addEventListener('transitionend', this.handleTransitionEnd);\n }\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n this.host.removeEventListener('click', this.handleButtonClick);\n\n this.addedTransEnd = false;\n this.panel.removeEventListener('transitionend', this.handleTransitionEnd);\n }\n\n componentDidLoad() {\n // Show on init if open\n if (this.open) {\n this.show();\n }\n if (!this.addedTransEnd) {\n this.panel.addEventListener('transitionend', this.handleTransitionEnd);\n }\n }\n\n private Panel = (): VNode => {\n return (\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class={{\n alert: true,\n 'alert--open': this.open,\n 'alert--toasty': this.isToast,\n 'alert--modal': !!this.isModal,\n 'alert--showing': this.isShowing,\n }}\n role={!!this.isModal ? 'alertdialog' : 'alert'}\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-modal={!!this.isModal ? 'true' : undefined}\n aria-label={this.label ? this.label : undefined}\n onMouseMove={this.handleMouseMove}\n tabIndex={!!this.isModal ? 0 : undefined}\n >\n <div class=\"alert__content\">\n <div part=\"icon\" class=\"alert__icon\">\n <slot name=\"icon\" />\n </div>\n <div part=\"message\" class=\"alert__message\">\n <slot />\n </div>\n {this.closable && (\n <div class=\"alert__close\">\n <nano-icon-button\n class=\"alert__close\"\n iconName=\"light/times\"\n label=\"close menu\"\n onClick={this.handleCloseClick}\n ></nano-icon-button>\n </div>\n )}\n </div>\n <div class=\"alert__footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n );\n };\n\n render() {\n return (\n <Host\n class={{ ...createColorClasses(this.color) }}\n showing={this.isShowing}\n >\n {this.isModal && [\n <div\n part=\"overlay\"\n class={{\n alert__overlay: true,\n 'alert__overlay--open': this.open,\n }}\n ref={(div) => (this.overlay = div)}\n />,\n <div class=\"alert__modal-wrap\">\n <this.Panel />\n </div>,\n ]}\n {!this.isModal && <this.Panel />}\n </Host>\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["src/components/alert/alert.scss?tag=nano-alert&encapsulation=shadow","src/components/alert/alert.tsx"],"names":["alertCss","toastStackTr","Object","assign","document","createElement","className","toastStackTl","toastStackBl","toastStackBr","Alert","class_1","hostRef","_this","this","addedTransEnd","goingToHide","goingToShow","isModal","isToast","isShowing","open","closable","duration","Infinity","handleMouseMove","restartAutoHide","handleCloseClick","hide","handleTransitionEnd","event","propertyName","target","panel","overlay","host","hidden","nanoAfterShow","emit","nanoAfterHide","handleButtonClick","defaultPrevented","tagName","toLowerCase","clearTimeout","autoHideTimeout","setTimeout","Panel","h","ref","el","part","class","alert","alert--open","alert--toasty","alert--modal","alert--showing","role","aria-live","aria-atomic","aria-hidden","aria-modal","undefined","aria-label","label","onMouseMove","tabIndex","name","iconName","onClick","prototype","handleOpenChange","show","handleDurationChange","nanoShow","raf","nanoHide","toast","position","Promise","resolve","toastStack","parentElement","body","appendChild","connectedCallback","addEventListener","remove","querySelector","once","contains","modal","activate","lockBodyScrolling","originalTrigger","activeElement","focus","preventScroll","deactivate","Modal","disconnectedCallback","unlockBodyScrolling","removeEventListener","componentDidLoad","render","Host","createColorClasses","color","showing","alert__overlay","alert__overlay--open","div"],"mappings":"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","sourcesContent":["@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/colours';\n@import '../../global/style/nano-theme/layers';\n\n:host {\n /**\n * @prop --border-radius: defaults to #{$layer-border-radius};\n * @prop --border-color: defaults to #{$layer-border-color};\n * @prop --border-width: defaults to #{$layer-border-width};\n * @prop --background: defaults to #{$layer-bg-color};\n * @prop --tint-color: defaults to var(--nano-color-base, #{nano-color(primary, base)});\n * @prop --icon-size: defaults to 1.5rem;\n * @prop --scrim-color: overlay colour of alert display. Defaults to #{$layer-overlay-dark};\n * @prop --close-button-color: defaults to #{$color-mediumgrey} ;\n */\n\n --border-radius: #{$layer-border-radius};\n --border-color: #{$layer-border-color};\n --border-width: #{$layer-border-width};\n --background: #{$layer-bg-color};\n --tint-color: var(--nano-color-base, #{nano-color(primary, base)});\n --icon-size: 2rem;\n --scrim-color: #{$layer-overlay-dark};\n --close-button-color: #{$color-palegrey};\n\n display: block;\n}\n\n:host(.nano-color) {\n --tint-color: var(--nano-color-base, #{nano-color(primary, base)});\n}\n\n.alert {\n position: relative;\n background-color: var(--background);\n border: solid var(--border-width) var(--border-color);\n border-top-width: 4px;\n border-top-color: var(--tint-color);\n border-radius: var(--border-radius);\n opacity: 0;\n transform: scale(0.9);\n transition:\n #{$transition-medium} opacity ease,\n #{$transition-fast} transform ease;\n\n &:focus {\n outline: none;\n }\n\n &:not(.alert--showing) {\n @include hidden;\n }\n\n &--open {\n opacity: 1;\n transform: none;\n }\n\n &--toasty,\n &--modal {\n box-shadow: #{$layer-shadow-large};\n margin: #{$spacing-medium};\n }\n}\n\n.alert__content {\n display: flex;\n align-items: stretch;\n}\n\n.alert__modal-wrap {\n position: fixed;\n display: flex;\n align-items: center;\n justify-content: center;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: #{$layer-index-alert};\n}\n\n.alert__message {\n flex: 1 1 auto;\n padding: #{$spacing-medium};\n overflow: hidden;\n line-height: 1.6;\n}\n\n.alert__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: 1.1em;\n\n @include padding(0, #{$spacing-medium}, 0, 0);\n\n --color: var(--close-button-color);\n}\n\n.alert__footer {\n padding: 0 #{$spacing-small} 0;\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n align-items: center;\n\n ::slotted(*),\n &::slotted(*) {\n flex: 1;\n margin: 0 #{$spacing-small} #{$spacing-medium} !important;\n }\n}\n\n.alert__overlay {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--scrim-color);\n opacity: 0;\n transition: #{$transition-fast} opacity;\n z-index: #{$layer-index-alert};\n backdrop-filter: blur(#{$layer-overlay-blur});\n\n &--open {\n opacity: 1;\n }\n}\n\n.alert__icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--icon-size);\n\n &::slotted(*) {\n color: var(--tint-color);\n margin-left: #{$spacing-medium};\n }\n}\n\n.alert__icon ::slotted(*) {\n color: var(--tint-color);\n\n @include margin(0, 0, 0, #{$spacing-medium});\n}\n// just testing - rm later\n.something {\n color: black;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Method,\n Prop,\n State,\n Watch,\n h,\n Host,\n VNode,\n} from '@stencil/core';\nimport { Color } from '../../interface';\nimport Modal from '../../utils/modal';\nimport {\n createColorClasses,\n lockBodyScrolling,\n raf,\n unlockBodyScrolling,\n} from '../../utils';\n\nconst toastStackTr = Object.assign(document.createElement('div'), {\n className: 'nano-toast-stack nano-toast-stack--tr',\n});\nconst toastStackTl = Object.assign(document.createElement('div'), {\n className: 'nano-toast-stack nano-toast-stack--tl',\n});\nconst toastStackBl = Object.assign(document.createElement('div'), {\n className: 'nano-toast-stack nano-toast-stack--bl',\n});\nconst toastStackBr = Object.assign(document.createElement('div'), {\n className: 'nano-toast-stack nano-toast-stack--br',\n});\n\n/**\n * Alerts are used to display important messages either inline, as toast notifications or as modals requiring action.\n * @slot - The alert's content.\n * @slot icon - An icon to show in the alert.\n * @slot footer - Place items at the bottom of the alert. Best used with `button` elements - esp when used as with the `alert()` method.\n */\n@Component({\n tag: 'nano-alert',\n styleUrl: 'alert.scss',\n shadow: true,\n})\nexport class Alert implements ComponentInterface {\n private autoHideTimeout: ReturnType<typeof setTimeout>;\n private panel: HTMLElement;\n private overlay: HTMLElement;\n private modal: Modal;\n private originalTrigger: HTMLElement | null;\n private addedTransEnd = false;\n private goingToHide = false;\n private goingToShow = false;\n\n @State() isModal = false;\n @State() isToast = false;\n @State() isShowing = false;\n @State() label: string;\n\n @Element() host: HTMLNanoAlertElement;\n\n /** Indicates whether or not the alert is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Set to true to make the alert closable. */\n @Prop({ reflect: true }) closable = false;\n\n /** The color to use from the application's color palette. */\n @Prop({ reflect: true }) color?: Color;\n\n /**\n * The length of time, in milliseconds, the alert will show before closing itself. If the user interacts with the\n * alert before it closes (e.g. moves the mouse over it), the timer will restart.\n */\n @Prop() duration = Infinity;\n\n @Watch('duration')\n handleDurationChange() {\n this.restartAutoHide();\n }\n\n /** Emitted when the alert opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event() nanoShow: EventEmitter;\n\n /** Emitted after the alert opens and all transitions are complete. */\n @Event() nanoAfterShow: EventEmitter;\n\n /** Emitted when the alert closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event() nanoHide: EventEmitter;\n\n /** Emitted after the alert closes and all transitions are complete. */\n @Event() nanoAfterHide: EventEmitter;\n\n /** Shows the alert. */\n @Method()\n async show() {\n if (this.goingToShow) {\n return;\n }\n const nanoShow = this.nanoShow.emit();\n if (nanoShow.defaultPrevented) {\n this.open = false;\n return false;\n }\n\n this.host.hidden = false;\n this.goingToShow = true;\n this.open = true;\n raf(() => {\n this.isShowing = true;\n this.goingToShow = false;\n });\n\n if (this.duration < Infinity) {\n clearTimeout(this.autoHideTimeout);\n this.autoHideTimeout = setTimeout(() => this.hide(), this.duration);\n }\n }\n\n /** Hides the alert */\n @Method()\n async hide() {\n if (this.goingToHide) {\n return;\n }\n const nanoHide = this.nanoHide.emit();\n\n if (nanoHide.defaultPrevented) {\n this.open = true;\n return false;\n }\n this.goingToHide = true;\n this.open = false;\n\n raf(() => (this.goingToHide = false));\n clearTimeout(this.autoHideTimeout);\n }\n\n /**\n * Displays the alert as a toast notification. This will move the alert out of its position in the DOM and, when\n * dismissed, it will be removed from the DOM completely. By storing a reference to the alert, you can reuse it by\n * calling this method again. The returned promise will resolve after the alert is hidden.\n *\n * @param position options are tr (top-right - default), tl (top-left), br (bottom-right), bl (bottom-left)\n * @returns a promise which will resolve after the alert has hidden\n */\n @Method()\n async toast(position: 'tr' | 'tl' | 'bl' | 'br' = 'tr') {\n this.isToast = true;\n return new Promise<void>((resolve) => {\n let toastStack: HTMLElement;\n switch (position) {\n case 'tl':\n toastStack = toastStackTl;\n break;\n case 'bl':\n toastStack = toastStackBl;\n break;\n case 'br':\n toastStack = toastStackBr;\n break;\n default:\n toastStack = toastStackTr;\n break;\n }\n\n if (!toastStack.parentElement) {\n document.body.appendChild(toastStack);\n }\n\n toastStack.appendChild(this.host);\n this.connectedCallback();\n this.show();\n\n this.host.addEventListener(\n 'nanoAfterHide',\n () => {\n this.host.remove();\n this.isToast = false;\n resolve();\n\n // Remove the toast stack from the DOM when there are no more alerts\n if (!toastStack.querySelector('nano-alert')) {\n toastStack.remove();\n }\n },\n { once: true }\n );\n });\n }\n\n /**\n * Displays the alert as a dialog / modal - more akin to a traditional js alert().\n * @param label a label for assistive technology\n */\n @Method()\n async alert(label: string) {\n this.isModal = true;\n this.label = label;\n\n return new Promise<void>((resolve) => {\n if (!document.body.contains(this.host)) {\n document.body.appendChild(this.host);\n }\n\n this.modal.activate();\n lockBodyScrolling(this.host);\n this.originalTrigger = document.activeElement as HTMLElement;\n\n raf(() => {\n this.show();\n });\n\n this.host.addEventListener(\n 'nanoAfterShow',\n () => {\n raf(() => this.panel.focus({ preventScroll: true }));\n },\n { once: true }\n );\n\n this.host.addEventListener(\n 'nanoAfterHide',\n () => {\n this.modal.deactivate();\n this.host.remove();\n this.label = undefined;\n this.isModal = false;\n resolve();\n\n // Restore focus to the original trigger\n if (\n this.originalTrigger &&\n typeof this.originalTrigger.focus === 'function'\n ) {\n setTimeout(() => this.originalTrigger.focus());\n }\n },\n { once: true }\n );\n });\n }\n\n private handleMouseMove = () => {\n this.restartAutoHide();\n };\n\n private handleCloseClick = () => {\n this.hide();\n };\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n if (\n event.propertyName === 'opacity' &&\n (event.target === this.panel || event.target === this.overlay)\n ) {\n this.host.hidden = !this.open;\n this.isShowing = this.open;\n this.open ? this.nanoAfterShow.emit() : this.nanoAfterHide.emit();\n }\n };\n\n private handleButtonClick = (event: Event) => {\n const target = event.target as HTMLElement;\n if (event.defaultPrevented) return;\n if (target.tagName && target.tagName.toLowerCase() === 'button')\n this.hide();\n };\n\n private restartAutoHide = () => {\n clearTimeout(this.autoHideTimeout);\n if (this.open && this.duration < Infinity) {\n this.autoHideTimeout = setTimeout(() => this.hide(), this.duration);\n }\n };\n\n connectedCallback() {\n this.modal = new Modal(this.host);\n this.host.addEventListener('click', this.handleButtonClick);\n\n if (this.panel) {\n this.addedTransEnd = true;\n this.panel.addEventListener('transitionend', this.handleTransitionEnd);\n }\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n this.host.removeEventListener('click', this.handleButtonClick);\n\n this.addedTransEnd = false;\n this.panel.removeEventListener('transitionend', this.handleTransitionEnd);\n }\n\n componentDidLoad() {\n // Show on init if open\n if (this.open) {\n this.show();\n }\n if (!this.addedTransEnd) {\n this.panel.addEventListener('transitionend', this.handleTransitionEnd);\n }\n }\n\n private Panel = (): VNode => {\n return (\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class={{\n alert: true,\n 'alert--open': this.open,\n 'alert--toasty': this.isToast,\n 'alert--modal': !!this.isModal,\n 'alert--showing': this.isShowing,\n }}\n role={!!this.isModal ? 'alertdialog' : 'alert'}\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-modal={!!this.isModal ? 'true' : undefined}\n aria-label={this.label ? this.label : undefined}\n onMouseMove={this.handleMouseMove}\n tabIndex={!!this.isModal ? 0 : undefined}\n >\n <div class=\"alert__content\">\n <div part=\"icon\" class=\"alert__icon\">\n <slot name=\"icon\" />\n </div>\n <div part=\"message\" class=\"alert__message\">\n <slot />\n </div>\n {this.closable && (\n <div class=\"alert__close\">\n <nano-icon-button\n class=\"alert__close\"\n iconName=\"light/times\"\n label=\"close menu\"\n onClick={this.handleCloseClick}\n ></nano-icon-button>\n </div>\n )}\n </div>\n <div class=\"alert__footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n );\n };\n\n render() {\n return (\n <Host\n class={{ ...createColorClasses(this.color) }}\n showing={this.isShowing}\n >\n {this.isModal && [\n <div\n part=\"overlay\"\n class={{\n alert__overlay: true,\n 'alert__overlay--open': this.open,\n }}\n ref={(div) => (this.overlay = div)}\n />,\n <div class=\"alert__modal-wrap\">\n <this.Panel />\n </div>,\n ]}\n {!this.isModal && <this.Panel />}\n </Host>\n );\n }\n}\n"]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as registerInstance,c as createEvent,f as writeTask,h,e as Host,g as getElement}from"./index-
|
1
|
+
import{r as registerInstance,c as createEvent,f as writeTask,h,e as Host,g as getElement}from"./index-912ef959.js";import{W as Wormhole}from"./algolia-data-b31a9800.js";import{C as ComponentStore}from"./component-store-93172454.js";import"./_commonjsHelpers-11ca3be1.js";import"./throttle-e3c852aa.js";var algoliaFilterCss=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{display:none}:host ::slotted([slot=filter-template]),:host::slotted([slot=filter-template]){display:none !important}:host(.show-filter){display:block}";var AlgoliaFilter=function(){function e(e){var t=this;registerInstance(this,e);this.nanoFilterChanged=createEvent(this,"nanoFilterChanged",7);this.nanoTplUpdated=createEvent(this,"nanoTplUpdated",7);this.filterId=null;this.tplWillRnder=new Promise((function(e){t.tplDidRnder=e}));this.internalValue=[undefined];this.showFilter=false;this.indexResults=null;this.filterChanged=null;this.filterName=null;this.value="";this.operator="or";this.storeMethod="session";this.handleChangeEvent=function(){var e=t.getFieldValues();if(t.didValueChange(e)){t.internalValue=e;return true}return false}}e.prototype.valueSet=function(){var e=this;var t=this.value;var i;if(typeof t==="string")i=t.length?t.split("|"):[];else i=this.value;if(this.didValueChange(i)){var l=this.setFieldValues(i);if(l&&l.length)this.internalValue=i;else{this.tplWillRnder.then((function(t){e.setFieldValues(i);e.internalValue=i}))}}};e.prototype.valueChanged=function(){this.value=this.internalValue;this.nanoFilterChanged.emit({filterId:this.filterId,facetName:this.filterName,value:this.internalValue,operator:this.operator})};e.prototype.viewFilterChange=function(){if(this.showFilter)this.attachChangeListener();else this.attachChangeListener(false)};e.prototype.appliedFilterChanged=function(){if(this.filterName&&this.filterChanged&&(this.filterChanged!==this.filterId||this.operator==="and")){this.updateContent()}};e.prototype.tplUpdate=function(){this.updateContent()};e.prototype.handleFilterChange=function(){var e=this;if(this.indexResults&&this.indexResults.appliedFilters){var t=this.indexResults.appliedFilters.find((function(t){return t.name===e.filterName}));if(!t)return;this.tplWillRnder.then((function(i){var l=e.setFieldValues(t.values);if(l&&l.length)e.value=l}))}this.updateContent()};e.prototype.updateContent=function(){var e=this;var t=this.outputSlot||this.outputEle;if(!this.el)return;if(!this.templateStr)this.showFilter=true;else if(!this.filterName||!t||this.templateStr&&(!this.indexResults||!this.indexResults.origFilters[this.filterName])){this.showFilter=false}if(!t)return;if(!this.indexResults){if(this.templateStr){writeTask((function(){t.innerHTML=e.tplRenderFn(e.templateStr,{orig:{},dyn:{},selected:e.internalValue&&e.internalValue.length?e.internalValue:e.value});if(!e.value||!e.value.length)e.handleChangeEvent()}))}else if(!this.value||!this.value.length)this.handleChangeEvent();return}writeTask((function(){t.innerHTML=e.tplRenderFn(e.templateStr,{orig:Object.assign({},e.indexResults.origFilters[e.filterName]),dyn:Object.assign({},e.indexResults.dynFilters[e.filterName]),selected:e.internalValue&&e.internalValue.length?e.internalValue:e.value});e.tplDidRnder();e.setFieldValues();if(!e.showFilter)e.showFilter=true;e.nanoTplUpdated.emit(e.el)}))};e.prototype.getFieldValues=function(){var e=[];var t=this.outputSlot.querySelectorAll('input[type="checkbox"], input[type="radio"], select');for(var i=0;i<t.length;i++){var l=t[i];if(l.type==="select-multiple"){var n=l;for(var r=0;r<n.options.length;r++){if(!n.options[r].selected||!n.options[r].value.length)continue;e.push(n.options[r].value)}}else if(l.type!=="checkbox"&&l.type!=="radio"||l.checked&&l.value.length){e.push(l.value)}}return e};e.prototype.setFieldValues=function(e){e=e||this.internalValue;if(!e)return;var t=[];var i=this.outputSlot.querySelectorAll('input[type="checkbox"], input[type="radio"], select, nano-select, nano-checkbox');for(var l=0;l<i.length;l++){var n=i[l];if(n.disabled||n.type==="file"||n.type==="reset"||n.type==="submit"||n.type==="button")continue;if(n.type==="select-multiple"||n.type==="select-one"){var r=n;for(var s=0;s<r.options.length;s++){if(!e.includes(r.options[s].value))r.options[s].selected=false;else{t.push(r.value);r.options[s].selected=true;if(n.type==="select-one")r.value=r.options[s].value}}}else if(["checkbox","radio","tag","segment","segment-pill"].includes(n.type)){if(e.includes(n.value)){t.push(n.value);n.checked=true}else if(!e.length&&!n.value.length){n.checked=true}else n.checked=false}}return t};e.prototype.didValueChange=function(e){if(!!this.internalValue&&!e)return true;if(!this.internalValue&&!e)return false;if(this.internalValue&&e.length!==this.internalValue.length)return true;var t=false;for(var i=0;i<e.length;i++){if(!t&&(!this.internalValue||!this.internalValue.includes(e[i])))t=true}return t};e.prototype.attachChangeListener=function(e){if(e===void 0){e=true}if(!this.outputSlot)return;if(e){this.outputSlot.addEventListener("change",this.handleChangeEvent);this.outputSlot.addEventListener("nanoChange",this.handleChangeEvent)}else{this.outputSlot.removeEventListener("change",this.handleChangeEvent);this.outputSlot.removeEventListener("nanoChange",this.handleChangeEvent)}};e.prototype.connectedCallback=function(){this.templateSlot=this.el.querySelector('[slot="filter-template"]');this.outputSlot=this.el.querySelector('[slot="output"]');this.filterId=this.filterName+"_"+filterIds++;if(!!this.templateSlot){this.templateStr=this.templateSlot.innerHTML;this.templateStr=this.templateStr.replace(/=>/gm,"=>")}};e.prototype.componentWillLoad=function(){if(this.storeId)ComponentStore.init(this,["value"],this.storeMethod||this.globalStoreMethod,this.storeId)};e.prototype.componentDidLoad=function(){this.updateContent();if(this.templateStr&&this.filterName&&this.indexResults&&this.indexResults.origFilters[this.filterName])this.showFilter=true};e.prototype.render=function(){var e=this;return h(Host,{class:{"show-filter":this.showFilter}},h("div",{ref:function(t){return e.outputEle=t}},h("slot",{name:"output"})))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{value:["valueSet"],internalValue:["valueChanged"],showFilter:["viewFilterChange"],facets:["appliedFilterChanged"],tplRenderFn:["tplUpdate"],indexResults:["handleFilterChange"]}},enumerable:false,configurable:true});return e}();Wormhole(AlgoliaFilter,["globalStoreMethod","indexResults","filterChanged","facets","tplRenderFn","changeEvent"]);var filterIds=0;AlgoliaFilter.style=algoliaFilterCss;export{AlgoliaFilter as nano_algolia_filter};
|
2
2
|
//# sourceMappingURL=nano-algolia-filter.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["src/components/algolia/algolia-filter.scss?tag=nano-algolia-filter&encapsulation=shadow","src/components/algolia/algolia-filter.tsx"],"names":["algoliaFilterCss","AlgoliaFilter","hostRef","_this","this","filterId","tplWillRnder","Promise","resolve","tplDidRnder","internalValue","undefined","showFilter","indexResults","filterChanged","filterName","value","operator","storeMethod","handleChangeEvent","vals","getFieldValues","didValueChange","prototype","valueSet","valStr","length","split","foundVals","setFieldValues","then","_","valueChanged","nanoFilterChanged","emit","facetName","viewFilterChange","attachChangeListener","appliedFilterChanged","updateContent","tplUpdate","handleFilterChange","appliedFilters","foundValue_1","find","filter","name","values","outputTo","outputSlot","outputEle","el","templateStr","origFilters","writeTask","innerHTML","tplRenderFn","orig","dyn","selected","Object","assign","dynFilters","nanoTplUpdated","fields","querySelectorAll","i","field","type","select","n","options","push","checked","found","disabled","includes","newVal","hasChanged","attach","addEventListener","removeEventListener","connectedCallback","templateSlot","querySelector","filterIds","replace","componentWillLoad","storeId","ComponentStore","init","globalStoreMethod","componentDidLoad","render","h","Host","class","show-filter","ref","div","Wormhole"],"mappings":"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","sourcesContent":[":host {\n display: none;\n\n ::slotted([slot='filter-template']),\n &::slotted([slot='filter-template']) {\n display: none !important;\n }\n}\n\n:host(.show-filter) {\n display: block;\n}\n","import {\n Component,\n h,\n Element,\n Host,\n Prop,\n Watch,\n State,\n EventEmitter,\n Event,\n writeTask,\n} from '@stencil/core';\nimport {\n IndexResult,\n FilterChangeEventDetail,\n AlgoliaFacet,\n} from '../../interface';\nimport {\n SearchChangeEvent,\n Wormhole,\n WormholeConsumerConstructor,\n} from '../algolia/algolia-data';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\n\n/**\n * Displays and syncs algolia filters\n * Must be nested within an nano-algolia component.\n * @slot filter-template - Template string (format from nano-algolia 'tplEngine' property).\n * @slot output - A placeholder for template output.\n */\n@Component({\n tag: 'nano-algolia-filter',\n shadow: true,\n styleUrl: 'algolia-filter.scss',\n})\nexport class AlgoliaFilter {\n @Element() el: HTMLNanoAlgoliaFilterElement;\n\n private templateStr: string;\n private templateSlot: HTMLElement;\n private outputSlot: HTMLElement;\n private outputEle: HTMLElement;\n private filterId: string = null;\n private tplDidRnder;\n private tplWillRnder = new Promise((resolve) => {\n this.tplDidRnder = resolve;\n });\n\n @State() changeEvent: SearchChangeEvent;\n @State() internalValue: Array<string> = [undefined];\n @State() showFilter: boolean = false;\n @State() indexResults: IndexResult = null;\n @State() filterChanged: string = null;\n @State() facets: AlgoliaFacet;\n @State() tplRenderFn: (...args: any[]) => string;\n @State() globalStoreMethod: StorageMethods;\n\n /**\n * Name of this filter - must match an appropriate algolia facet on a parent nano-algolia index to display\n */\n @Prop() filterName: string = null;\n\n /**\n * Set values of this filter. Will result in form elements being selected. '|' delimited string or array.\n */\n @Prop() value: string | Array<string> = '';\n\n /**\n * The internal operator joining filter values.\n */\n @Prop() operator: 'or' | 'and' = 'or';\n\n /**\n * Store search queries (against this ID) to the component store.\n * Use in conjunction with storeMethod\n */\n @Prop() storeId?: string;\n\n /**\n * The method of storage.\n * Either session storage, url hash (after the '#') or url query (after the '?').\n */\n @Prop() storeMethod: StorageMethods = 'session';\n\n /**\n * Emitted when the filter value changes\n */\n @Event() nanoFilterChanged!: EventEmitter<FilterChangeEventDetail>;\n\n /**\n * Emitted when templates are updated\n */\n @Event() nanoTplUpdated!: EventEmitter<HTMLNanoAlgoliaFilterElement>;\n\n // Public facing. When changed attempts to 'check' any relevant fields in the template.\n @Watch('value')\n valueSet() {\n let valStr = this.value as string;\n let vals;\n\n if (typeof valStr === 'string')\n vals = valStr.length ? valStr.split('|') : [];\n else vals = this.value as Array<string>;\n\n if (this.didValueChange(vals)) {\n let foundVals = this.setFieldValues(vals);\n // found in template, set the internal state (this emits the changed event)\n if (foundVals && foundVals.length) this.internalValue = vals;\n // not found in template, wait for it to render.\n else {\n this.tplWillRnder.then((_) => {\n this.setFieldValues(vals);\n this.internalValue = vals;\n });\n }\n }\n }\n\n // Value has changed and is reflected in template. Emit event.\n @Watch('internalValue')\n valueChanged() {\n this.value = this.internalValue;\n this.nanoFilterChanged.emit({\n filterId: this.filterId,\n facetName: this.filterName,\n value: this.internalValue,\n operator: this.operator,\n });\n }\n\n @Watch('showFilter')\n viewFilterChange() {\n if (this.showFilter) this.attachChangeListener();\n else this.attachChangeListener(false);\n }\n\n // New facets from algolia. Update template\n @Watch('facets')\n appliedFilterChanged() {\n if (\n this.filterName &&\n this.filterChanged &&\n (this.filterChanged !== this.filterId || this.operator === 'and')\n ) {\n this.updateContent();\n }\n }\n\n @Watch('tplRenderFn')\n tplUpdate() {\n this.updateContent();\n }\n\n @Watch('indexResults')\n handleFilterChange() {\n if (this.indexResults && this.indexResults.appliedFilters) {\n const foundValue = this.indexResults.appliedFilters.find(\n (filter) => filter.name === this.filterName\n );\n if (!foundValue) return;\n\n this.tplWillRnder.then((_) => {\n let foundVals = this.setFieldValues(foundValue.values);\n if (foundVals && foundVals.length) this.value = foundVals;\n });\n }\n this.updateContent();\n }\n\n private updateContent() {\n let outputTo = this.outputSlot || this.outputEle;\n if (!this.el) return;\n\n // there's no template so show output right away\n if (!this.templateStr) this.showFilter = true;\n // there's a template but no index set so hide filters atm\n else if (\n !this.filterName ||\n !outputTo ||\n (this.templateStr &&\n (!this.indexResults || !this.indexResults.origFilters[this.filterName]))\n ) {\n this.showFilter = false;\n }\n\n // there's no output element so nothing else to do\n if (!outputTo) return;\n\n // there's no index set atm but get any static filter values so we can apply them\n if (!this.indexResults) {\n if (this.templateStr) {\n writeTask(() => {\n outputTo.innerHTML = this.tplRenderFn(this.templateStr, {\n orig: {},\n dyn: {},\n selected:\n this.internalValue && this.internalValue.length\n ? this.internalValue\n : this.value,\n });\n if (!this.value || !this.value.length) this.handleChangeEvent();\n });\n } else if (!this.value || !this.value.length) this.handleChangeEvent();\n return;\n }\n\n // everything is in place - render as normal and set values\n writeTask(() => {\n outputTo.innerHTML = this.tplRenderFn(this.templateStr, {\n orig: { ...this.indexResults.origFilters[this.filterName] },\n dyn: { ...this.indexResults.dynFilters[this.filterName] },\n selected:\n this.internalValue && this.internalValue.length\n ? this.internalValue\n : this.value,\n });\n this.tplDidRnder();\n this.setFieldValues();\n\n if (!this.showFilter) this.showFilter = true;\n this.nanoTplUpdated.emit(this.el);\n });\n }\n\n private handleChangeEvent = () => {\n let vals = this.getFieldValues();\n if (this.didValueChange(vals)) {\n this.internalValue = vals;\n return true;\n }\n return false;\n };\n\n // go through form elements and extract their current value\n private getFieldValues() {\n let values = [];\n let fields = this.outputSlot.querySelectorAll(\n 'input[type=\"checkbox\"], input[type=\"radio\"], select'\n );\n\n for (let i = 0; i < fields.length; i++) {\n let field = fields[i] as HTMLInputElement;\n\n // If a multi-select, get all selections\n if (field.type === 'select-multiple') {\n let select: HTMLSelectElement = field as any;\n for (let n = 0; n < select.options.length; n++) {\n if (!select.options[n].selected || !select.options[n].value.length)\n continue;\n values.push(select.options[n].value);\n }\n } else if (\n (field.type !== 'checkbox' && field.type !== 'radio') ||\n (field.checked && field.value.length)\n ) {\n values.push(field.value);\n }\n }\n return values;\n }\n\n // go through form elements and select / check them as appropriate\n private setFieldValues(vals?: string[]): void | string[] {\n vals = vals || this.internalValue;\n if (!vals) return;\n\n let found = [];\n let fields = this.outputSlot.querySelectorAll(\n 'input[type=\"checkbox\"], input[type=\"radio\"], select, nano-select, nano-checkbox'\n );\n\n for (let i = 0; i < fields.length; i++) {\n let field = fields[i] as HTMLInputElement;\n\n if (\n field.disabled ||\n field.type === 'file' ||\n field.type === 'reset' ||\n field.type === 'submit' ||\n field.type === 'button'\n )\n continue;\n\n if (field.type === 'select-multiple' || field.type === 'select-one') {\n let select: HTMLSelectElement = field as any;\n for (let n = 0; n < select.options.length; n++) {\n if (!vals.includes(select.options[n].value))\n select.options[n].selected = false;\n else {\n found.push(select.value);\n select.options[n].selected = true;\n if (field.type === 'select-one')\n select.value = select.options[n].value;\n }\n }\n } else if (\n ['checkbox', 'radio', 'tag', 'segment', 'segment-pill'].includes(\n field.type\n )\n ) {\n if (vals.includes(field.value)) {\n found.push(field.value);\n field.checked = true;\n } else if (!vals.length && !field.value.length) {\n field.checked = true;\n } else field.checked = false;\n }\n }\n return found;\n }\n\n private didValueChange(newVal: Array<string>) {\n if (!!this.internalValue && !newVal) return true;\n if (!this.internalValue && !newVal) return false;\n if (this.internalValue && newVal.length !== this.internalValue.length)\n return true;\n\n let hasChanged = false;\n for (var i = 0; i < newVal.length; i++) {\n if (\n !hasChanged &&\n (!this.internalValue || !this.internalValue.includes(newVal[i]))\n )\n hasChanged = true;\n }\n return hasChanged;\n }\n\n private attachChangeListener(attach: boolean = true) {\n if (!this.outputSlot) return;\n if (attach) {\n this.outputSlot.addEventListener('change', this.handleChangeEvent);\n this.outputSlot.addEventListener('nanoChange', this.handleChangeEvent);\n } else {\n this.outputSlot.removeEventListener('change', this.handleChangeEvent);\n this.outputSlot.removeEventListener('nanoChange', this.handleChangeEvent);\n }\n }\n\n connectedCallback() {\n this.templateSlot = this.el.querySelector('[slot=\"filter-template\"]');\n this.outputSlot = this.el.querySelector('[slot=\"output\"]');\n this.filterId = this.filterName + '_' + filterIds++;\n\n if (!!this.templateSlot) {\n this.templateStr = this.templateSlot.innerHTML;\n this.templateStr = this.templateStr.replace(/=>/gm, '=>');\n }\n }\n\n componentWillLoad() {\n if (this.storeId)\n ComponentStore.init(\n this,\n ['value'],\n this.storeMethod || this.globalStoreMethod,\n this.storeId\n );\n }\n\n componentDidLoad() {\n this.updateContent();\n\n if (\n this.templateStr &&\n this.filterName &&\n this.indexResults &&\n this.indexResults.origFilters[this.filterName]\n )\n this.showFilter = true;\n }\n\n render() {\n return (\n <Host\n class={{\n 'show-filter': this.showFilter,\n }}\n >\n <div ref={(div) => (this.outputEle = div)}>\n <slot name=\"output\" />\n </div>\n </Host>\n );\n }\n}\n\nWormhole(AlgoliaFilter as WormholeConsumerConstructor, [\n 'globalStoreMethod',\n 'indexResults',\n 'filterChanged',\n 'facets',\n 'tplRenderFn',\n 'changeEvent',\n]);\nlet filterIds = 0;\n"]}
|
1
|
+
{"version":3,"sources":["src/components/algolia/algolia-filter.scss?tag=nano-algolia-filter&encapsulation=shadow","src/components/algolia/algolia-filter.tsx"],"names":["algoliaFilterCss","AlgoliaFilter","hostRef","_this","this","filterId","tplWillRnder","Promise","resolve","tplDidRnder","internalValue","undefined","showFilter","indexResults","filterChanged","filterName","value","operator","storeMethod","handleChangeEvent","vals","getFieldValues","didValueChange","prototype","valueSet","valStr","length","split","foundVals","setFieldValues","then","_","valueChanged","nanoFilterChanged","emit","facetName","viewFilterChange","attachChangeListener","appliedFilterChanged","updateContent","tplUpdate","handleFilterChange","appliedFilters","foundValue_1","find","filter","name","values","outputTo","outputSlot","outputEle","el","templateStr","origFilters","writeTask","innerHTML","tplRenderFn","orig","dyn","selected","Object","assign","dynFilters","nanoTplUpdated","fields","querySelectorAll","i","field","type","select","n","options","push","checked","found","disabled","includes","newVal","hasChanged","attach","addEventListener","removeEventListener","connectedCallback","templateSlot","querySelector","filterIds","replace","componentWillLoad","storeId","ComponentStore","init","globalStoreMethod","componentDidLoad","render","h","Host","class","show-filter","ref","div","Wormhole"],"mappings":"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","sourcesContent":[":host {\n display: none;\n\n ::slotted([slot='filter-template']),\n &::slotted([slot='filter-template']) {\n display: none !important;\n }\n}\n\n:host(.show-filter) {\n display: block;\n}\n","import {\n Component,\n h,\n Element,\n Host,\n Prop,\n Watch,\n State,\n EventEmitter,\n Event,\n writeTask,\n} from '@stencil/core';\nimport {\n IndexResult,\n FilterChangeEventDetail,\n AlgoliaFacet,\n} from '../../interface';\nimport {\n SearchChangeEvent,\n Wormhole,\n WormholeConsumerConstructor,\n} from '../algolia/algolia-data';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\n\n/**\n * Displays and syncs algolia filters\n * Must be nested within an nano-algolia component.\n * @slot filter-template - Template string (format from nano-algolia 'tplEngine' property).\n * @slot output - A placeholder for template output.\n */\n@Component({\n tag: 'nano-algolia-filter',\n shadow: true,\n styleUrl: 'algolia-filter.scss',\n})\nexport class AlgoliaFilter {\n @Element() el: HTMLNanoAlgoliaFilterElement;\n\n private templateStr: string;\n private templateSlot: HTMLElement;\n private outputSlot: HTMLElement;\n private outputEle: HTMLElement;\n private filterId: string = null;\n private tplDidRnder;\n private tplWillRnder = new Promise((resolve) => {\n this.tplDidRnder = resolve;\n });\n\n @State() changeEvent: SearchChangeEvent;\n @State() internalValue: Array<string> = [undefined];\n @State() showFilter: boolean = false;\n @State() indexResults: IndexResult = null;\n @State() filterChanged: string = null;\n @State() facets: AlgoliaFacet;\n @State() tplRenderFn: (...args: any[]) => string;\n @State() globalStoreMethod: StorageMethods;\n\n /**\n * Name of this filter - must match an appropriate algolia facet on a parent nano-algolia index to display\n */\n @Prop() filterName: string = null;\n\n /**\n * Set values of this filter. Will result in form elements being selected. '|' delimited string or array.\n */\n @Prop({ mutable: true }) value: string | Array<string> = '';\n\n /**\n * The internal operator joining filter values.\n */\n @Prop() operator: 'or' | 'and' = 'or';\n\n /**\n * Store search queries (against this ID) to the component store.\n * Use in conjunction with storeMethod\n */\n @Prop() storeId?: string;\n\n /**\n * The method of storage.\n * Either session storage, url hash (after the '#') or url query (after the '?').\n */\n @Prop() storeMethod: StorageMethods = 'session';\n\n /**\n * Emitted when the filter value changes\n */\n @Event() nanoFilterChanged!: EventEmitter<FilterChangeEventDetail>;\n\n /**\n * Emitted when templates are updated\n */\n @Event() nanoTplUpdated!: EventEmitter<HTMLNanoAlgoliaFilterElement>;\n\n // Public facing. When changed attempts to 'check' any relevant fields in the template.\n @Watch('value')\n valueSet() {\n let valStr = this.value as string;\n let vals;\n\n if (typeof valStr === 'string')\n vals = valStr.length ? valStr.split('|') : [];\n else vals = this.value as Array<string>;\n\n if (this.didValueChange(vals)) {\n let foundVals = this.setFieldValues(vals);\n // found in template, set the internal state (this emits the changed event)\n if (foundVals && foundVals.length) this.internalValue = vals;\n // not found in template, wait for it to render.\n else {\n this.tplWillRnder.then((_) => {\n this.setFieldValues(vals);\n this.internalValue = vals;\n });\n }\n }\n }\n\n // Value has changed and is reflected in template. Emit event.\n @Watch('internalValue')\n valueChanged() {\n this.value = this.internalValue;\n this.nanoFilterChanged.emit({\n filterId: this.filterId,\n facetName: this.filterName,\n value: this.internalValue,\n operator: this.operator,\n });\n }\n\n @Watch('showFilter')\n viewFilterChange() {\n if (this.showFilter) this.attachChangeListener();\n else this.attachChangeListener(false);\n }\n\n // New facets from algolia. Update template\n @Watch('facets')\n appliedFilterChanged() {\n if (\n this.filterName &&\n this.filterChanged &&\n (this.filterChanged !== this.filterId || this.operator === 'and')\n ) {\n this.updateContent();\n }\n }\n\n @Watch('tplRenderFn')\n tplUpdate() {\n this.updateContent();\n }\n\n @Watch('indexResults')\n handleFilterChange() {\n if (this.indexResults && this.indexResults.appliedFilters) {\n const foundValue = this.indexResults.appliedFilters.find(\n (filter) => filter.name === this.filterName\n );\n if (!foundValue) return;\n\n this.tplWillRnder.then((_) => {\n let foundVals = this.setFieldValues(foundValue.values);\n if (foundVals && foundVals.length) this.value = foundVals;\n });\n }\n this.updateContent();\n }\n\n private updateContent() {\n let outputTo = this.outputSlot || this.outputEle;\n if (!this.el) return;\n\n // there's no template so show output right away\n if (!this.templateStr) this.showFilter = true;\n // there's a template but no index set so hide filters atm\n else if (\n !this.filterName ||\n !outputTo ||\n (this.templateStr &&\n (!this.indexResults || !this.indexResults.origFilters[this.filterName]))\n ) {\n this.showFilter = false;\n }\n\n // there's no output element so nothing else to do\n if (!outputTo) return;\n\n // there's no index set atm but get any static filter values so we can apply them\n if (!this.indexResults) {\n if (this.templateStr) {\n writeTask(() => {\n outputTo.innerHTML = this.tplRenderFn(this.templateStr, {\n orig: {},\n dyn: {},\n selected:\n this.internalValue && this.internalValue.length\n ? this.internalValue\n : this.value,\n });\n if (!this.value || !this.value.length) this.handleChangeEvent();\n });\n } else if (!this.value || !this.value.length) this.handleChangeEvent();\n return;\n }\n\n // everything is in place - render as normal and set values\n writeTask(() => {\n outputTo.innerHTML = this.tplRenderFn(this.templateStr, {\n orig: { ...this.indexResults.origFilters[this.filterName] },\n dyn: { ...this.indexResults.dynFilters[this.filterName] },\n selected:\n this.internalValue && this.internalValue.length\n ? this.internalValue\n : this.value,\n });\n this.tplDidRnder();\n this.setFieldValues();\n\n if (!this.showFilter) this.showFilter = true;\n this.nanoTplUpdated.emit(this.el);\n });\n }\n\n private handleChangeEvent = () => {\n let vals = this.getFieldValues();\n if (this.didValueChange(vals)) {\n this.internalValue = vals;\n return true;\n }\n return false;\n };\n\n // go through form elements and extract their current value\n private getFieldValues() {\n let values = [];\n let fields = this.outputSlot.querySelectorAll(\n 'input[type=\"checkbox\"], input[type=\"radio\"], select'\n );\n\n for (let i = 0; i < fields.length; i++) {\n let field = fields[i] as HTMLInputElement;\n\n // If a multi-select, get all selections\n if (field.type === 'select-multiple') {\n let select: HTMLSelectElement = field as any;\n for (let n = 0; n < select.options.length; n++) {\n if (!select.options[n].selected || !select.options[n].value.length)\n continue;\n values.push(select.options[n].value);\n }\n } else if (\n (field.type !== 'checkbox' && field.type !== 'radio') ||\n (field.checked && field.value.length)\n ) {\n values.push(field.value);\n }\n }\n return values;\n }\n\n // go through form elements and select / check them as appropriate\n private setFieldValues(vals?: string[]): void | string[] {\n vals = vals || this.internalValue;\n if (!vals) return;\n\n let found = [];\n let fields = this.outputSlot.querySelectorAll(\n 'input[type=\"checkbox\"], input[type=\"radio\"], select, nano-select, nano-checkbox'\n );\n\n for (let i = 0; i < fields.length; i++) {\n let field = fields[i] as HTMLInputElement;\n\n if (\n field.disabled ||\n field.type === 'file' ||\n field.type === 'reset' ||\n field.type === 'submit' ||\n field.type === 'button'\n )\n continue;\n\n if (field.type === 'select-multiple' || field.type === 'select-one') {\n let select: HTMLSelectElement = field as any;\n for (let n = 0; n < select.options.length; n++) {\n if (!vals.includes(select.options[n].value))\n select.options[n].selected = false;\n else {\n found.push(select.value);\n select.options[n].selected = true;\n if (field.type === 'select-one')\n select.value = select.options[n].value;\n }\n }\n } else if (\n ['checkbox', 'radio', 'tag', 'segment', 'segment-pill'].includes(\n field.type\n )\n ) {\n if (vals.includes(field.value)) {\n found.push(field.value);\n field.checked = true;\n } else if (!vals.length && !field.value.length) {\n field.checked = true;\n } else field.checked = false;\n }\n }\n return found;\n }\n\n private didValueChange(newVal: Array<string>) {\n if (!!this.internalValue && !newVal) return true;\n if (!this.internalValue && !newVal) return false;\n if (this.internalValue && newVal.length !== this.internalValue.length)\n return true;\n\n let hasChanged = false;\n for (var i = 0; i < newVal.length; i++) {\n if (\n !hasChanged &&\n (!this.internalValue || !this.internalValue.includes(newVal[i]))\n )\n hasChanged = true;\n }\n return hasChanged;\n }\n\n private attachChangeListener(attach: boolean = true) {\n if (!this.outputSlot) return;\n if (attach) {\n this.outputSlot.addEventListener('change', this.handleChangeEvent);\n this.outputSlot.addEventListener('nanoChange', this.handleChangeEvent);\n } else {\n this.outputSlot.removeEventListener('change', this.handleChangeEvent);\n this.outputSlot.removeEventListener('nanoChange', this.handleChangeEvent);\n }\n }\n\n connectedCallback() {\n this.templateSlot = this.el.querySelector('[slot=\"filter-template\"]');\n this.outputSlot = this.el.querySelector('[slot=\"output\"]');\n this.filterId = this.filterName + '_' + filterIds++;\n\n if (!!this.templateSlot) {\n this.templateStr = this.templateSlot.innerHTML;\n this.templateStr = this.templateStr.replace(/=>/gm, '=>');\n }\n }\n\n componentWillLoad() {\n if (this.storeId)\n ComponentStore.init(\n this,\n ['value'],\n this.storeMethod || this.globalStoreMethod,\n this.storeId\n );\n }\n\n componentDidLoad() {\n this.updateContent();\n\n if (\n this.templateStr &&\n this.filterName &&\n this.indexResults &&\n this.indexResults.origFilters[this.filterName]\n )\n this.showFilter = true;\n }\n\n render() {\n return (\n <Host\n class={{\n 'show-filter': this.showFilter,\n }}\n >\n <div ref={(div) => (this.outputEle = div)}>\n <slot name=\"output\" />\n </div>\n </Host>\n );\n }\n}\n\nWormhole(AlgoliaFilter as WormholeConsumerConstructor, [\n 'globalStoreMethod',\n 'indexResults',\n 'filterChanged',\n 'facets',\n 'tplRenderFn',\n 'changeEvent',\n]);\nlet filterIds = 0;\n"]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(t,e,i,n){function r(t){return t instanceof i?t:new i((function(e){e(t)}))}return new(i||(i=Promise))((function(i,
|
1
|
+
var __awaiter=this&&this.__awaiter||function(t,e,i,n){function r(t){return t instanceof i?t:new i((function(e){e(t)}))}return new(i||(i=Promise))((function(i,s){function a(t){try{h(n.next(t))}catch(e){s(e)}}function o(t){try{h(n["throw"](t))}catch(e){s(e)}}function h(t){t.done?i(t.value):r(t.value).then(a,o)}h((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,r,s,a;return a={next:o(0),throw:o(1),return:o(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function o(t){return function(e){return h([t,e])}}function h(a){if(n)throw new TypeError("Generator is already executing.");while(i)try{if(n=1,r&&(s=a[0]&2?r["return"]:a[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;if(r=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;r=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){i.label=a[1];break}if(a[0]===6&&i.label<s[1]){i.label=s[1];s=a;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(a);break}if(s[2])i.ops.pop();i.trys.pop();continue}a=e.call(t,i)}catch(o){a=[6,o];r=0}finally{n=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,e as Host,g as getElement}from"./index-912ef959.js";import{a as algoliasearch_umd}from"./algoliasearch.umd-7ecbe0e9.js";import{W as Wormhole}from"./algolia-data-b31a9800.js";import{C as ComponentStore}from"./component-store-93172454.js";import"./_commonjsHelpers-11ca3be1.js";import"./throttle-e3c852aa.js";var AlgoliaInput=function(){function t(t){var e=this;registerInstance(this,t);this.nanoSearchResult=createEvent(this,"nanoSearchResult",7);this.nanoSearch=createEvent(this,"nanoSearch",7);this.nanoSearchReset=createEvent(this,"nanoSearchReset",7);this.searchStr="";this.algoliaIndex=null;this.appId="";this.apiKey="";this.searchIndex=null;this.minChars=2;this.autoEmit=true;this.browseIndex=false;this.storeMethod="session";this.handleFocus=function(){if(e.inputField)e.inputField.setFocus()}}t.prototype.search=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.emitResults();return[2]}))}))};t.prototype.searchIndexNameChange=function(){if(!this.searchIndexName||!this.searchIndexName.length)return;this.searchIndex={index:this.searchIndexName}};t.prototype.algoliaChange=function(){this.internalIndex=this.algoliaIndex};t.prototype.browseIndexChange=function(){if(this.browseIndex){this.searchStr="*";this.searchSubmit()}};t.prototype.initAlgoliaClient=function(){if(this.isNested||!this.appId||!this.apiKey)return;this.algoliaClient=algoliasearch_umd(this.appId,this.apiKey);if(this.searchIndex)this.algoliaIndex=this.algoliaClient.initIndex(this.searchIndex.index)};t.prototype.searchSubmit=function(t){return __awaiter(this,void 0,void 0,(function(){var e,i,n;return __generator(this,(function(r){switch(r.label){case 0:if(!this.internalIndex){console.error("No algolia index set");return[2]}if(t){if(t.target.tagName.toLowerCase()!=="nano-input")return[2];this.searchStr=t.detail.value}else{this.inputField=this.inputField||this.host.querySelector("nano-input");if(!this.inputField)return[2];this.searchStr=this.inputField.value}if(this.searchStr.length<this.minChars){if(this.browseIndex)this.searchStr="*";else{if(this.searchStr.length===0){this.nanoSearchResult.emit({results:[],client:{apiKey:this.appId,appId:this.appId}});return[2]}if(this.searchStr.length<this.minChars)return[2]}}e={};if(this.searchIndex.filters)e={facets:this.searchIndex.filters};n=this.fixDomain;return[4,this.internalIndex.search(this.searchStr,e)];case 1:i=n.apply(this,[r.sent()]);i.indexName=this.searchIndex.name;i.selected=true;i.domain=this.searchIndex.domain||null;i.index=this.searchIndex.index;this.currentResults=i;this.nanoSearch.emit({results:[this.currentResults],client:{apiKey:this.appId,appId:this.appId}});if(this.autoEmit)this.emitResults();return[2]}}))}))};t.prototype.emitResults=function(){this.nanoSearchResult.emit({results:[this.currentResults],client:{apiKey:this.appId,appId:this.appId}})};t.prototype.fixDomain=function(t){var e=this;if(!this.searchIndex.domain)return t;t.hits.map((function(t){if(t.url&&!t.url.match(/^http/))t.url=location.protocol+"//"+e.searchIndex.domain+t.url}));return t};t.prototype.connectedCallback=function(){var t=this;this.isNested=this.host.parentElement.tagName.toLowerCase()==="nano-algolia"&&this.host.hasAttribute("slot")&&this.host.getAttribute("slot")==="search-input";if(!this.isNested){this.host.addEventListener("openWormhole",(function(e){e.detail.onOpen.resolve();t.searchIndexNameChange();t.initAlgoliaClient()}))}};t.prototype.componentWillLoad=function(){this.inputField=this.host.querySelector("nano-input");if(this.storeId)ComponentStore.init(this,["searchStr"],this.storeMethod,this.storeId)};t.prototype.render=function(){return h(Host,{onFocus:this.handleFocus,tabindex:"-1"},h("slot",null))};Object.defineProperty(t.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{searchIndexName:["searchIndexNameChange"],algoliaIndex:["algoliaChange"],browseIndex:["browseIndexChange"],apiKey:["initAlgoliaClient"],appId:["initAlgoliaClient"],searchIndex:["initAlgoliaClient"]}},enumerable:false,configurable:true});return t}();Wormhole(AlgoliaInput,["algoliaIndex","searchIndex","browseIndex"]);export{AlgoliaInput as nano_algolia_input};
|
2
2
|
//# sourceMappingURL=nano-algolia-input.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["src/components/algolia/algolia-input.tsx"],"names":["AlgoliaInput","class_1","hostRef","_this","this","searchStr","algoliaIndex","appId","apiKey","searchIndex","minChars","autoEmit","browseIndex","storeMethod","handleFocus","inputField","setFocus","prototype","search","emitResults","searchIndexNameChange","searchIndexName","length","index","algoliaChange","internalIndex","browseIndexChange","searchSubmit","initAlgoliaClient","isNested","algoliaClient","algoliasearch","initIndex","ev","console","error","target","tagName","toLowerCase","detail","value","host","querySelector","nanoSearchResult","emit","results","client","options","filters","facets","_a","fixDomain","apply","_b","sent","indexName","name","selected","domain","currentResults","nanoSearch","hits","map","hit","url","match","location","protocol","connectedCallback","parentElement","hasAttribute","getAttribute","addEventListener","onOpen","resolve","componentWillLoad","storeId","ComponentStore","init","render","h","Host","onFocus","tabindex","Wormhole"],"mappings":"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","sourcesContent":["import {\n Component,\n h,\n Element,\n Host,\n Prop,\n State,\n EventEmitter,\n Event,\n Listen,\n Method,\n Watch,\n ComponentInterface,\n} from '@stencil/core';\n\nimport algoliasearch, {\n SearchClient as AlgoliaClient,\n SearchIndex as AlgoliaIndex,\n} from 'algoliasearch';\nimport {\n InputChangeEventDetail,\n AloliaSearchResultDetail,\n SearchIndex,\n AlgoliaMultiResult,\n} from '../../interface';\nimport { Wormhole } from '../algolia/algolia-data';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\n\n/**\n * @deprecated\n * Component for querying Algolia Indeces.\n * Can be nested within an algolia element or used outside as a 'resultsEmitter' (see algolia component documentation)\n * Must include one 'nano-input' component\n */\n@Component({\n tag: 'nano-algolia-input',\n shadow: true,\n})\nexport class AlgoliaInput implements ComponentInterface {\n private internalIndex: AlgoliaIndex;\n private algoliaClient: AlgoliaClient;\n private isNested: boolean;\n private inputField: HTMLNanoInputElement;\n\n @Element() host: HTMLNanoAlgoliaInputElement;\n\n @State() searchStr: string = '';\n @State() algoliaIndex: AlgoliaIndex = null;\n @State() currentResults: AlgoliaMultiResult;\n\n /**\n * An Algolia App ID key. Used in conjunction with 'searchIndex' & 'apiKey'.\n * Alternatively this will be set automatically when nested within an algolia component\n */\n @Prop() appId: string = '';\n\n /**\n * An Algolia API Key. Used in conjunction with 'searchIndex' & 'appId'.\n * Alternatively this will be set automatically when nested within an algolia component\n */\n @Prop() apiKey: string = '';\n\n /**\n * Algolia search index. Used in conjunction with 'searchIndex' & 'appId'.\n * Alternatively this will be set automatically if you're using a 'resultsEmitter' element.\n * ```\n * { index: string, // algolia index name\n * domain?: string, // used in template filers to resolve incomplete url fields\n * filters?: [string], // algolia facets to retrive\n * hitsPerPage?: number,\n * name?: string // human readable index name\n * }\n * ```\n */\n @Prop({ mutable: true }) searchIndex: SearchIndex = null;\n\n /**\n * Algolia search index name. Alternative to 'searchIndex'.\n * A simplified shortcut for setting an index.\n * properties such as hitsPerPage and facets will come from the algolia index\n */\n @Prop() searchIndexName: string;\n\n /**\n * Minimum number of characters before performing a search\n */\n @Prop() minChars: number = 2;\n\n /**\n * Automatically emit results data to algolia components.\n * For example, if you wanted to provide an 'autocomplete' style dropdown\n * before showing the main results with a submit button\n */\n @Prop() autoEmit: boolean = true;\n\n /**\n * Will maintain a search all / '*' on init and reset allowing for a view\n * then filter experience rather than a search first experience\n */\n @Prop() browseIndex: boolean = false;\n\n /**\n * Store search queries (against this ID) to the component store.\n * Use in conjunction with storeMethod\n */\n @Prop() storeId?: string;\n\n /**\n * The method of storage.\n * Either session storage, url hash (after the '#') or url query (after the '?').\n */\n @Prop() storeMethod: StorageMethods = 'session';\n\n /**\n * Manually emit search results to algolia components.\n * Useful if you don't wish to search on input change / want to provide 'autocomplete' options\n * or / and want to use a submit button */\n @Method()\n async search() {\n this.emitResults();\n }\n\n /**\n * Emitted when search results are successfully returned from Algolia.\n * @internal\n */\n @Event() nanoSearchResult!: EventEmitter<AloliaSearchResultDetail>;\n\n /**\n * Emitted when search results are successfully returned from Algolia.\n */\n @Event() nanoSearch!: EventEmitter<AloliaSearchResultDetail>;\n\n /**\n * Emitted when search field is cleared.\n */\n @Event() nanoSearchReset!: EventEmitter<AloliaSearchResultDetail>;\n\n @Watch('searchIndexName')\n searchIndexNameChange() {\n if (!this.searchIndexName || !this.searchIndexName.length) return;\n this.searchIndex = { index: this.searchIndexName };\n }\n\n @Watch('algoliaIndex')\n algoliaChange() {\n this.internalIndex = this.algoliaIndex;\n }\n\n @Watch('browseIndex')\n browseIndexChange() {\n if (this.browseIndex) {\n this.searchStr = '*';\n this.searchSubmit();\n }\n }\n\n @Watch('apiKey')\n @Watch('appId')\n @Watch('searchIndex')\n initAlgoliaClient() {\n if (this.isNested || !this.appId || !this.apiKey) return;\n this.algoliaClient = algoliasearch(this.appId, this.apiKey);\n if (this.searchIndex)\n this.algoliaIndex = this.algoliaClient.initIndex(this.searchIndex.index);\n }\n\n @Listen('nanoChange')\n async searchSubmit(ev?: CustomEvent<InputChangeEventDetail>) {\n if (!this.internalIndex) {\n console.error('No algolia index set');\n return;\n }\n\n if (ev) {\n if ((ev.target as HTMLElement).tagName.toLowerCase() !== 'nano-input')\n return;\n this.searchStr = ev.detail.value;\n } else {\n this.inputField =\n this.inputField || this.host.querySelector('nano-input');\n if (!this.inputField) return;\n this.searchStr = this.inputField.value;\n }\n\n if (this.searchStr.length < this.minChars) {\n if (this.browseIndex) this.searchStr = '*';\n else {\n if (this.searchStr.length === 0) {\n this.nanoSearchResult.emit({\n results: [],\n client: { apiKey: this.appId, appId: this.appId },\n });\n return;\n }\n if (this.searchStr.length < this.minChars) return;\n }\n }\n\n let options = {};\n if (this.searchIndex.filters)\n options = { facets: this.searchIndex.filters };\n\n let results = this.fixDomain(\n await this.internalIndex.search(this.searchStr, options)\n );\n results.indexName = this.searchIndex.name;\n results.selected = true;\n results.domain = this.searchIndex.domain || null;\n results.index = this.searchIndex.index;\n\n this.currentResults = results;\n this.nanoSearch.emit({\n results: [this.currentResults],\n client: { apiKey: this.appId, appId: this.appId },\n });\n\n if (this.autoEmit) this.emitResults();\n }\n\n private emitResults() {\n this.nanoSearchResult.emit({\n results: [this.currentResults],\n client: { apiKey: this.appId, appId: this.appId },\n });\n }\n\n private fixDomain(results: AlgoliaMultiResult) {\n if (!this.searchIndex.domain) return results;\n results.hits.map((hit) => {\n if (hit.url && !hit.url.match(/^http/))\n hit.url = location.protocol + '//' + this.searchIndex.domain + hit.url;\n });\n return results;\n }\n\n private handleFocus = () => {\n if (this.inputField) this.inputField.setFocus();\n };\n\n connectedCallback() {\n this.isNested =\n this.host.parentElement.tagName.toLowerCase() === 'nano-algolia' &&\n this.host.hasAttribute('slot') &&\n this.host.getAttribute('slot') === 'search-input';\n\n if (!this.isNested) {\n this.host.addEventListener(\n 'openWormhole',\n (ev: CustomEvent<{ onOpen: any }>) => {\n ev.detail.onOpen.resolve();\n this.searchIndexNameChange();\n this.initAlgoliaClient();\n }\n );\n }\n }\n\n componentWillLoad() {\n this.inputField = this.host.querySelector('nano-input');\n if (this.storeId)\n ComponentStore.init(this, ['searchStr'], this.storeMethod, this.storeId);\n }\n\n render() {\n return (\n <Host onFocus={this.handleFocus} tabindex=\"-1\">\n <slot />\n </Host>\n );\n }\n}\n\nWormhole(AlgoliaInput, ['algoliaIndex', 'searchIndex', 'browseIndex']);\n"]}
|
1
|
+
{"version":3,"sources":["src/components/algolia/algolia-input.tsx"],"names":["AlgoliaInput","class_1","hostRef","_this","this","searchStr","algoliaIndex","appId","apiKey","searchIndex","minChars","autoEmit","browseIndex","storeMethod","handleFocus","inputField","setFocus","prototype","search","emitResults","searchIndexNameChange","searchIndexName","length","index","algoliaChange","internalIndex","browseIndexChange","searchSubmit","initAlgoliaClient","isNested","algoliaClient","algoliasearch","initIndex","ev","console","error","target","tagName","toLowerCase","detail","value","host","querySelector","nanoSearchResult","emit","results","client","options","filters","facets","_a","fixDomain","apply","_b","sent","indexName","name","selected","domain","currentResults","nanoSearch","hits","map","hit","url","match","location","protocol","connectedCallback","parentElement","hasAttribute","getAttribute","addEventListener","onOpen","resolve","componentWillLoad","storeId","ComponentStore","init","render","h","Host","onFocus","tabindex","Wormhole"],"mappings":"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","sourcesContent":["import {\n Component,\n h,\n Element,\n Host,\n Prop,\n State,\n EventEmitter,\n Event,\n Listen,\n Method,\n Watch,\n ComponentInterface,\n} from '@stencil/core';\n\nimport algoliasearch, {\n SearchClient as AlgoliaClient,\n SearchIndex as AlgoliaIndex,\n} from 'algoliasearch';\nimport {\n InputChangeEventDetail,\n AloliaSearchResultDetail,\n SearchIndex,\n AlgoliaMultiResult,\n} from '../../interface';\nimport { Wormhole } from '../algolia/algolia-data';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\n\n/**\n * @deprecated\n * Component for querying Algolia Indeces.\n * Can be nested within an algolia element or used outside as a 'resultsEmitter' (see algolia component documentation)\n * Must include one 'nano-input' component\n */\n@Component({\n tag: 'nano-algolia-input',\n shadow: true,\n})\nexport class AlgoliaInput implements ComponentInterface {\n private internalIndex: AlgoliaIndex;\n private algoliaClient: AlgoliaClient;\n private isNested: boolean;\n private inputField: HTMLNanoInputElement;\n\n @Element() host: HTMLNanoAlgoliaInputElement;\n\n @State() searchStr: string = '';\n @State() algoliaIndex: AlgoliaIndex = null;\n @State() currentResults: AlgoliaMultiResult;\n\n /**\n * An Algolia App ID key. Used in conjunction with 'searchIndex' & 'apiKey'.\n * Alternatively this will be set automatically when nested within an algolia component\n */\n @Prop() appId: string = '';\n\n /**\n * An Algolia API Key. Used in conjunction with 'searchIndex' & 'appId'.\n * Alternatively this will be set automatically when nested within an algolia component\n */\n @Prop() apiKey: string = '';\n\n /**\n * Algolia search index. Used in conjunction with 'searchIndex' & 'appId'.\n * Alternatively this will be set automatically if you're using a 'resultsEmitter' element.\n * ```\n * { index: string, // algolia index name\n * domain?: string, // used in template filers to resolve incomplete url fields\n * filters?: [string], // algolia facets to retrive\n * hitsPerPage?: number,\n * name?: string // human readable index name\n * }\n * ```\n */\n @Prop({ mutable: true }) searchIndex: SearchIndex = null;\n\n /**\n * Algolia search index name. Alternative to 'searchIndex'.\n * A simplified shortcut for setting an index.\n * properties such as hitsPerPage and facets will come from the algolia index\n */\n @Prop() searchIndexName: string;\n\n /**\n * Minimum number of characters before performing a search\n */\n @Prop() minChars: number = 2;\n\n /**\n * Automatically emit results data to algolia components.\n * For example, if you wanted to provide an 'autocomplete' style dropdown\n * before showing the main results with a submit button\n */\n @Prop() autoEmit: boolean = true;\n\n /**\n * Will maintain a search all / '*' on init and reset allowing for a view\n * then filter experience rather than a search first experience\n */\n @Prop({ mutable: true }) browseIndex: boolean = false; // eslint-disable-line @stencil/strict-mutable\n\n /**\n * Store search queries (against this ID) to the component store.\n * Use in conjunction with storeMethod\n */\n @Prop() storeId?: string;\n\n /**\n * The method of storage.\n * Either session storage, url hash (after the '#') or url query (after the '?').\n */\n @Prop() storeMethod: StorageMethods = 'session';\n\n /**\n * Manually emit search results to algolia components.\n * Useful if you don't wish to search on input change / want to provide 'autocomplete' options\n * or / and want to use a submit button */\n @Method()\n async search() {\n this.emitResults();\n }\n\n /**\n * Emitted when search results are successfully returned from Algolia.\n * @internal\n */\n @Event() nanoSearchResult!: EventEmitter<AloliaSearchResultDetail>;\n\n /**\n * Emitted when search results are successfully returned from Algolia.\n */\n @Event() nanoSearch!: EventEmitter<AloliaSearchResultDetail>;\n\n /**\n * Emitted when search field is cleared.\n */\n @Event() nanoSearchReset!: EventEmitter<AloliaSearchResultDetail>;\n\n @Watch('searchIndexName')\n searchIndexNameChange() {\n if (!this.searchIndexName || !this.searchIndexName.length) return;\n this.searchIndex = { index: this.searchIndexName };\n }\n\n @Watch('algoliaIndex')\n algoliaChange() {\n this.internalIndex = this.algoliaIndex;\n }\n\n @Watch('browseIndex')\n browseIndexChange() {\n if (this.browseIndex) {\n this.searchStr = '*';\n this.searchSubmit();\n }\n }\n\n @Watch('apiKey')\n @Watch('appId')\n @Watch('searchIndex')\n initAlgoliaClient() {\n if (this.isNested || !this.appId || !this.apiKey) return;\n this.algoliaClient = algoliasearch(this.appId, this.apiKey);\n if (this.searchIndex)\n this.algoliaIndex = this.algoliaClient.initIndex(this.searchIndex.index);\n }\n\n @Listen('nanoChange')\n async searchSubmit(ev?: CustomEvent<InputChangeEventDetail>) {\n if (!this.internalIndex) {\n console.error('No algolia index set');\n return;\n }\n\n if (ev) {\n if ((ev.target as HTMLElement).tagName.toLowerCase() !== 'nano-input')\n return;\n this.searchStr = ev.detail.value;\n } else {\n this.inputField =\n this.inputField || this.host.querySelector('nano-input');\n if (!this.inputField) return;\n this.searchStr = this.inputField.value;\n }\n\n if (this.searchStr.length < this.minChars) {\n if (this.browseIndex) this.searchStr = '*';\n else {\n if (this.searchStr.length === 0) {\n this.nanoSearchResult.emit({\n results: [],\n client: { apiKey: this.appId, appId: this.appId },\n });\n return;\n }\n if (this.searchStr.length < this.minChars) return;\n }\n }\n\n let options = {};\n if (this.searchIndex.filters)\n options = { facets: this.searchIndex.filters };\n\n let results = this.fixDomain(\n await this.internalIndex.search(this.searchStr, options)\n );\n results.indexName = this.searchIndex.name;\n results.selected = true;\n results.domain = this.searchIndex.domain || null;\n results.index = this.searchIndex.index;\n\n this.currentResults = results;\n this.nanoSearch.emit({\n results: [this.currentResults],\n client: { apiKey: this.appId, appId: this.appId },\n });\n\n if (this.autoEmit) this.emitResults();\n }\n\n private emitResults() {\n this.nanoSearchResult.emit({\n results: [this.currentResults],\n client: { apiKey: this.appId, appId: this.appId },\n });\n }\n\n private fixDomain(results: AlgoliaMultiResult) {\n if (!this.searchIndex.domain) return results;\n results.hits.map((hit) => {\n if (hit.url && !hit.url.match(/^http/))\n hit.url = location.protocol + '//' + this.searchIndex.domain + hit.url;\n });\n return results;\n }\n\n private handleFocus = () => {\n if (this.inputField) this.inputField.setFocus();\n };\n\n connectedCallback() {\n this.isNested =\n this.host.parentElement.tagName.toLowerCase() === 'nano-algolia' &&\n this.host.hasAttribute('slot') &&\n this.host.getAttribute('slot') === 'search-input';\n\n if (!this.isNested) {\n this.host.addEventListener(\n 'openWormhole',\n (ev: CustomEvent<{ onOpen: any }>) => {\n ev.detail.onOpen.resolve();\n this.searchIndexNameChange();\n this.initAlgoliaClient();\n }\n );\n }\n }\n\n componentWillLoad() {\n this.inputField = this.host.querySelector('nano-input');\n if (this.storeId)\n ComponentStore.init(this, ['searchStr'], this.storeMethod, this.storeId);\n }\n\n render() {\n return (\n <Host onFocus={this.handleFocus} tabindex=\"-1\">\n <slot />\n </Host>\n );\n }\n}\n\nWormhole(AlgoliaInput, ['algoliaIndex', 'searchIndex', 'browseIndex']);\n"]}
|