@nanoporetech-digital/components 7.6.0 → 7.7.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/dist/cjs/{algolia-data-0447757c.js → algolia-data-ca9cd58e.js} +2 -2
- package/dist/cjs/{algolia-data-0447757c.js.map → algolia-data-ca9cd58e.js.map} +1 -1
- package/dist/cjs/app-globals-3e14cb71.js +41 -0
- package/dist/cjs/app-globals-3e14cb71.js.map +1 -0
- package/dist/cjs/{component-store-6a330cd1.js → component-store-b8d4bd91.js} +2 -2
- package/dist/cjs/{component-store-6a330cd1.js.map → component-store-b8d4bd91.js.map} +1 -1
- package/dist/cjs/{dom-756fcdac.js → dom-b99a1aec.js} +2 -2
- package/dist/cjs/{dom-756fcdac.js.map → dom-b99a1aec.js.map} +1 -1
- package/dist/cjs/{fade-2dd9dd8b.js → fade-6a5004f4.js} +4 -3
- package/dist/cjs/fade-6a5004f4.js.map +1 -0
- package/dist/cjs/form-control-5bb39cc2.js +82 -0
- package/dist/cjs/form-control-5bb39cc2.js.map +1 -0
- package/dist/cjs/{fullscreen-5d0422de.js → fullscreen-f5db9bbe.js} +4 -3
- package/dist/cjs/fullscreen-f5db9bbe.js.map +1 -0
- package/dist/cjs/{index-b6fa04fa.js → index-615cdb64.js} +4 -2
- package/dist/cjs/index-615cdb64.js.map +1 -0
- package/dist/cjs/{index-7795a8f6.js → index-a92a0379.js} +2 -2
- package/dist/cjs/{index-7795a8f6.js.map → index-a92a0379.js.map} +1 -1
- package/dist/cjs/index.cjs.js +19 -5
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{lazyload-f181cb37.js → lazyload-13d72e60.js} +4 -3
- package/dist/cjs/lazyload-13d72e60.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/nano-accordion.cjs.entry.js +8 -6
- package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-alert.cjs.entry.js +12 -11
- package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +7 -5
- package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-pagination.cjs.entry.js +4 -4
- package/dist/cjs/nano-algolia-results.cjs.entry.js +6 -4
- package/dist/cjs/nano-algolia-results.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia.cjs.entry.js +14 -11
- package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-animation.cjs.entry.js +3 -2
- package/dist/cjs/nano-animation.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox-group.cjs.entry.js +6 -4
- package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox.cjs.entry.js +6 -5
- package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-components.cjs.js +6 -3
- package/dist/cjs/nano-components.cjs.js.map +1 -1
- package/dist/cjs/nano-datalist_3.cjs.entry.js +30 -28
- package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-date-input.cjs.entry.js +7 -6
- package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-date-picker.cjs.entry.js +16 -15
- package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-details.cjs.entry.js +7 -6
- package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dialog.cjs.entry.js +7 -6
- package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-drawer.cjs.entry.js +9 -8
- package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dropdown.cjs.entry.js +9 -7
- package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-field-validator.cjs.entry.js +17 -15
- package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-file-upload.cjs.entry.js +12 -11
- package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +30 -27
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +68 -66
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-search-results.cjs.entry.js +10 -6
- package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/nano-grid_2.cjs.entry.js +6 -5
- package/dist/cjs/nano-grid_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-hero.cjs.entry.js +11 -10
- package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-icon-button_2.cjs.entry.js +6 -5
- package/dist/cjs/nano-icon-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-icon.cjs.entry.js +5 -3
- package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-input.cjs.entry.js +9 -7
- package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-intersection-observe.cjs.entry.js +3 -2
- package/dist/cjs/nano-intersection-observe.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js +10 -8
- package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-more-less.cjs.entry.js +5 -4
- package/dist/cjs/nano-more-less.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-overflow-nav.cjs.entry.js +7 -6
- package/dist/cjs/nano-overflow-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-progress-bar.cjs.entry.js +7 -4
- package/dist/cjs/nano-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-range.cjs.entry.js +9 -7
- package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-rating.cjs.entry.js +10 -9
- package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js +7 -6
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-slide.cjs.entry.js +3 -2
- package/dist/cjs/nano-slide.cjs.entry.js.map +1 -1
- package/dist/cjs/{nano-slides-612634dc.js → nano-slides-0a60315d.js} +15 -13
- package/dist/cjs/nano-slides-0a60315d.js.map +1 -0
- package/dist/cjs/nano-slides.cjs.entry.js +3 -2
- package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-sortable.cjs.entry.js +3 -2
- package/dist/cjs/nano-sortable.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-spinner.cjs.entry.js +3 -2
- package/dist/cjs/nano-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-split-pane.cjs.entry.js +3 -2
- package/dist/cjs/nano-split-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-sticker.cjs.entry.js +6 -5
- package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-content.cjs.entry.js +5 -3
- package/dist/cjs/nano-tab-content.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +16 -14
- package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab.cjs.entry.js +4 -3
- package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/{nano-table-99d6a3cc.js → nano-table-806fa39d.js} +42 -40
- package/dist/cjs/nano-table-806fa39d.js.map +1 -0
- package/dist/cjs/nano-table.cjs.entry.js +4 -3
- package/dist/cjs/nano-table.cjs.entry.js.map +1 -1
- package/dist/cjs/{page-dots-99dd88f6.js → page-dots-ecdd64d1.js} +4 -3
- package/dist/cjs/page-dots-ecdd64d1.js.map +1 -0
- package/dist/cjs/renderer-cd8b6098.js +63 -0
- package/dist/cjs/renderer-cd8b6098.js.map +1 -0
- package/dist/cjs/{scroll-772f7d0d.js → scroll-a3e5c6c6.js} +2 -2
- package/dist/cjs/{scroll-772f7d0d.js.map → scroll-a3e5c6c6.js.map} +1 -1
- package/dist/cjs/{table.worker-263468df.js → table.worker-fb31c8b7.js} +5 -4
- package/dist/cjs/table.worker-fb31c8b7.js.map +1 -0
- package/dist/collection/components/accordion/accordion.js +7 -5
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/alert/alert.helpers.js +3 -2
- package/dist/collection/components/alert/alert.helpers.js.map +1 -1
- package/dist/collection/components/alert/alert.js +8 -7
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/algolia/algolia-filter.js +5 -3
- package/dist/collection/components/algolia/algolia-filter.js.map +1 -1
- package/dist/collection/components/algolia/algolia-pagination.js +2 -2
- package/dist/collection/components/algolia/algolia-results.js +5 -3
- package/dist/collection/components/algolia/algolia-results.js.map +1 -1
- package/dist/collection/components/algolia/algolia.js +11 -8
- package/dist/collection/components/algolia/algolia.js.map +1 -1
- package/dist/collection/components/animation/animation.js +3 -2
- package/dist/collection/components/animation/animation.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox-group.js +6 -4
- package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.js +6 -5
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/datalist/datalist.css +1 -1
- package/dist/collection/components/datalist/datalist.js +14 -13
- package/dist/collection/components/datalist/datalist.js.map +1 -1
- package/dist/collection/components/date-input/date-input.css +3 -3
- package/dist/collection/components/date-input/date-input.js +6 -5
- package/dist/collection/components/date-input/date-input.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.css +3 -3
- package/dist/collection/components/date-picker/date-picker.js +5 -4
- package/dist/collection/components/date-picker/date-picker.js.map +1 -1
- package/dist/collection/components/date-picker/duet-date-picker/date-picker-day.js +1 -1
- package/dist/collection/components/date-picker/duet-date-picker/date-picker-day.js.map +1 -1
- package/dist/collection/components/date-picker/duet-date-picker/date-picker-month.js +1 -1
- package/dist/collection/components/date-picker/duet-date-picker/date-picker-month.js.map +1 -1
- package/dist/collection/components/details/details.css +1 -1
- package/dist/collection/components/details/details.js +6 -5
- package/dist/collection/components/details/details.js.map +1 -1
- package/dist/collection/components/dialog/dialog.helpers.js +2 -1
- package/dist/collection/components/dialog/dialog.helpers.js.map +1 -1
- package/dist/collection/components/dialog/dialog.js +4 -3
- package/dist/collection/components/dialog/dialog.js.map +1 -1
- package/dist/collection/components/drawer/drawer.css +1 -1
- package/dist/collection/components/drawer/drawer.js +5 -4
- package/dist/collection/components/drawer/drawer.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/dropdown/dropdown.js +8 -6
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/field-validator/field-validator.js +16 -14
- package/dist/collection/components/field-validator/field-validator.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload.css +1 -1
- package/dist/collection/components/file-upload/file-upload.js +3 -2
- package/dist/collection/components/file-upload/file-upload.js.map +1 -1
- package/dist/collection/components/form-control/form-control.js +1 -1
- package/dist/collection/components/form-control/form-control.js.map +1 -1
- package/dist/collection/components/global-nav/global-nav-user-profile.js +3 -2
- package/dist/collection/components/global-nav/global-nav-user-profile.js.map +1 -1
- package/dist/collection/components/global-nav/global-nav.js +50 -48
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/global-nav/style/global-nav.css +33 -33
- package/dist/collection/components/global-search-results/global-search-results.css +11 -11
- package/dist/collection/components/global-search-results/global-search-results.js +9 -5
- package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
- package/dist/collection/components/grid/grid-item.js +1 -1
- package/dist/collection/components/grid/grid.js +3 -2
- package/dist/collection/components/grid/grid.js.map +1 -1
- package/dist/collection/components/hero/hero.css +2 -2
- package/dist/collection/components/hero/hero.js +6 -5
- package/dist/collection/components/hero/hero.js.map +1 -1
- package/dist/collection/components/icon/icon.js +4 -2
- package/dist/collection/components/icon/icon.js.map +1 -1
- package/dist/collection/components/icon-button/icon-button.js +2 -2
- package/dist/collection/components/icon-button/icon-button.js.map +1 -1
- package/dist/collection/components/img/img.js +5 -4
- package/dist/collection/components/img/img.js.map +1 -1
- package/dist/collection/components/input/input.js +7 -5
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/intersection-observe/intersection-observe.js +3 -2
- package/dist/collection/components/intersection-observe/intersection-observe.js.map +1 -1
- package/dist/collection/components/menu/menu.css +1 -1
- package/dist/collection/components/menu/menu.js +12 -10
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/menu-drawer/menu-drawer.css +3 -3
- package/dist/collection/components/menu-drawer/menu-drawer.js +8 -6
- package/dist/collection/components/menu-drawer/menu-drawer.js.map +1 -1
- package/dist/collection/components/more-less/more-less.js +4 -3
- package/dist/collection/components/more-less/more-less.js.map +1 -1
- package/dist/collection/components/nav-item/nav-item.css +12 -12
- package/dist/collection/components/nav-item/nav-item.js +11 -9
- package/dist/collection/components/nav-item/nav-item.js.map +1 -1
- package/dist/collection/components/option/option.css +2 -2
- package/dist/collection/components/option/option.js +4 -3
- package/dist/collection/components/option/option.js.map +1 -1
- package/dist/collection/components/overflow-nav/overflow-nav.css +4 -4
- package/dist/collection/components/overflow-nav/overflow-nav.js +5 -4
- package/dist/collection/components/overflow-nav/overflow-nav.js.map +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +7 -4
- package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
- package/dist/collection/components/range/range.js +3 -1
- package/dist/collection/components/range/range.js.map +1 -1
- package/dist/collection/components/rating/rating.css +1 -1
- package/dist/collection/components/rating/rating.js +6 -5
- package/dist/collection/components/rating/rating.js.map +1 -1
- package/dist/collection/components/resize-observe/resize-observe.js +3 -2
- package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
- package/dist/collection/components/select/select.css +1 -5
- package/dist/collection/components/select/select.js +9 -7
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/skeleton/skeleton.js +4 -3
- package/dist/collection/components/skeleton/skeleton.js.map +1 -1
- package/dist/collection/components/slides/slide.js +3 -2
- package/dist/collection/components/slides/slide.js.map +1 -1
- package/dist/collection/components/slides/slides.js +10 -8
- package/dist/collection/components/slides/slides.js.map +1 -1
- package/dist/collection/components/sortable/sortable.js +3 -2
- package/dist/collection/components/sortable/sortable.js.map +1 -1
- package/dist/collection/components/spinner/spinner.js +3 -2
- package/dist/collection/components/spinner/spinner.js.map +1 -1
- package/dist/collection/components/split-pane/split-pane.js +3 -2
- package/dist/collection/components/split-pane/split-pane.js.map +1 -1
- package/dist/collection/components/sticker/sticker.js +5 -4
- package/dist/collection/components/sticker/sticker.js.map +1 -1
- package/dist/collection/components/table/table.cell.js +3 -1
- package/dist/collection/components/table/table.cell.js.map +1 -1
- package/dist/collection/components/table/table.css +2 -2
- package/dist/collection/components/table/table.header.js +2 -1
- package/dist/collection/components/table/table.header.js.map +1 -1
- package/dist/collection/components/table/table.js +9 -8
- package/dist/collection/components/table/table.js.map +1 -1
- package/dist/collection/components/table/table.row.js +1 -1
- package/dist/collection/components/table/table.row.js.map +1 -1
- package/dist/collection/components/tabs/tab-content.js +5 -3
- package/dist/collection/components/tabs/tab-content.js.map +1 -1
- package/dist/collection/components/tabs/tab-group.css +3 -3
- package/dist/collection/components/tabs/tab-group.js +12 -10
- package/dist/collection/components/tabs/tab-group.js.map +1 -1
- package/dist/collection/components/tabs/tab.js +4 -3
- package/dist/collection/components/tabs/tab.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.js +4 -3
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/global/script/global.js +28 -23
- package/dist/collection/global/script/global.js.map +1 -1
- package/dist/collection/index.js +17 -2
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/renderer.js +54 -0
- package/dist/collection/utils/renderer.js.map +1 -0
- package/dist/components/algolia.js +11 -8
- package/dist/components/algolia.js.map +1 -1
- package/dist/components/datalist.js +19 -30
- package/dist/components/datalist.js.map +1 -1
- package/dist/components/date-picker.js +6 -5
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/dropdown.js +9 -7
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/form-control.js +1 -1
- package/dist/components/form-control.js.map +1 -1
- package/dist/components/global-nav-user-profile.js +3 -2
- package/dist/components/global-nav-user-profile.js.map +1 -1
- package/dist/components/grid.js +2 -1
- package/dist/components/grid.js.map +1 -1
- package/dist/components/icon-button.js +2 -2
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/icon.js +4 -2
- package/dist/components/icon.js.map +1 -1
- package/dist/components/img.js +5 -4
- package/dist/components/img.js.map +1 -1
- package/dist/components/index.js +48 -31
- package/dist/components/index.js.map +1 -1
- package/dist/components/input.js +7 -5
- package/dist/components/input.js.map +1 -1
- package/dist/components/menu.js +13 -11
- package/dist/components/menu.js.map +1 -1
- package/dist/components/nano-accordion.js +7 -5
- package/dist/components/nano-accordion.js.map +1 -1
- package/dist/components/nano-alert.js +8 -7
- package/dist/components/nano-alert.js.map +1 -1
- package/dist/components/nano-algolia-filter.js +5 -3
- package/dist/components/nano-algolia-filter.js.map +1 -1
- package/dist/components/nano-algolia-pagination.js +2 -2
- package/dist/components/nano-algolia-results.js +5 -3
- package/dist/components/nano-algolia-results.js.map +1 -1
- package/dist/components/nano-animation.js +3 -2
- package/dist/components/nano-animation.js.map +1 -1
- package/dist/components/nano-checkbox-group.js +6 -4
- package/dist/components/nano-checkbox-group.js.map +1 -1
- package/dist/components/nano-checkbox.js +6 -5
- package/dist/components/nano-checkbox.js.map +1 -1
- package/dist/components/nano-date-input.js +7 -6
- package/dist/components/nano-date-input.js.map +1 -1
- package/dist/components/nano-details.js +7 -6
- package/dist/components/nano-details.js.map +1 -1
- package/dist/components/nano-dialog.js +4 -3
- package/dist/components/nano-dialog.js.map +1 -1
- package/dist/components/nano-drawer.js +6 -5
- package/dist/components/nano-drawer.js.map +1 -1
- package/dist/components/nano-field-validator.js +16 -14
- package/dist/components/nano-field-validator.js.map +1 -1
- package/dist/components/nano-file-upload.js +4 -3
- package/dist/components/nano-file-upload.js.map +1 -1
- package/dist/components/nano-global-nav.js +51 -49
- package/dist/components/nano-global-nav.js.map +1 -1
- package/dist/components/nano-global-search-results.js +10 -6
- package/dist/components/nano-global-search-results.js.map +1 -1
- package/dist/components/nano-grid-item.js +1 -1
- package/dist/components/nano-hero.js +7 -6
- package/dist/components/nano-hero.js.map +1 -1
- package/dist/components/nano-intersection-observe.js +3 -2
- package/dist/components/nano-intersection-observe.js.map +1 -1
- package/dist/components/nano-menu-drawer.js +9 -7
- package/dist/components/nano-menu-drawer.js.map +1 -1
- package/dist/components/nano-more-less.js +4 -3
- package/dist/components/nano-more-less.js.map +1 -1
- package/dist/components/nano-overflow-nav.js +6 -5
- package/dist/components/nano-overflow-nav.js.map +1 -1
- package/dist/components/nano-range.js +3 -1
- package/dist/components/nano-range.js.map +1 -1
- package/dist/components/nano-rating.js +7 -6
- package/dist/components/nano-rating.js.map +1 -1
- package/dist/components/nano-slide.js +3 -2
- package/dist/components/nano-slide.js.map +1 -1
- package/dist/components/nano-slides.js +10 -8
- package/dist/components/nano-slides.js.map +1 -1
- package/dist/components/nano-sortable.js +3 -2
- package/dist/components/nano-sortable.js.map +1 -1
- package/dist/components/nano-split-pane.js +3 -2
- package/dist/components/nano-split-pane.js.map +1 -1
- package/dist/components/nano-tab-content.js +5 -3
- package/dist/components/nano-tab-content.js.map +1 -1
- package/dist/components/nano-tab-group.js +13 -11
- package/dist/components/nano-tab-group.js.map +1 -1
- package/dist/components/nano-tab.js +4 -3
- package/dist/components/nano-tab.js.map +1 -1
- package/dist/components/nano-table.js +38 -36
- package/dist/components/nano-table.js.map +1 -1
- package/dist/components/nav-item.js +12 -10
- package/dist/components/nav-item.js.map +1 -1
- package/dist/components/option.js +5 -4
- package/dist/components/option.js.map +1 -1
- package/dist/components/progress-bar.js +7 -4
- package/dist/components/progress-bar.js.map +1 -1
- package/dist/components/renderer.js +58 -0
- package/dist/components/renderer.js.map +1 -0
- package/dist/components/resize-observe.js +3 -2
- package/dist/components/resize-observe.js.map +1 -1
- package/dist/components/select.js +10 -8
- package/dist/components/select.js.map +1 -1
- package/dist/components/skeleton.js +4 -3
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/spinner.js +3 -2
- package/dist/components/spinner.js.map +1 -1
- package/dist/components/sticker.js +5 -4
- package/dist/components/sticker.js.map +1 -1
- package/dist/components/tooltip.js +4 -3
- package/dist/components/tooltip.js.map +1 -1
- package/dist/esm/{algolia-data-8fc24341.js → algolia-data-f0f72f1d.js} +2 -2
- package/dist/esm/{algolia-data-8fc24341.js.map → algolia-data-f0f72f1d.js.map} +1 -1
- package/dist/esm/app-globals-f0120bbe.js +39 -0
- package/dist/esm/app-globals-f0120bbe.js.map +1 -0
- package/dist/esm/{component-store-b798181b.js → component-store-199a9fd8.js} +2 -2
- package/dist/esm/{component-store-b798181b.js.map → component-store-199a9fd8.js.map} +1 -1
- package/dist/esm/{dom-d7f9f24c.js → dom-fafdec9a.js} +2 -2
- package/dist/esm/{dom-d7f9f24c.js.map → dom-fafdec9a.js.map} +1 -1
- package/dist/esm/{fade-4ff5d9de.js → fade-ce1a4958.js} +4 -3
- package/dist/esm/fade-ce1a4958.js.map +1 -0
- package/dist/esm/{form-control-812999d0.js → form-control-f48fa873.js} +2 -2
- package/dist/esm/form-control-f48fa873.js.map +1 -0
- package/dist/esm/{fullscreen-382d7890.js → fullscreen-52d62028.js} +4 -3
- package/dist/esm/fullscreen-52d62028.js.map +1 -0
- package/dist/esm/{index-3118109b.js → index-6cc72cd9.js} +3 -3
- package/dist/esm/index-6cc72cd9.js.map +1 -0
- package/dist/esm/{index-d7a4a150.js → index-f5f7b950.js} +2 -2
- package/dist/esm/{index-d7a4a150.js.map → index-f5f7b950.js.map} +1 -1
- package/dist/esm/index.js +19 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{lazyload-49b745e4.js → lazyload-8ff69ba4.js} +4 -3
- package/dist/esm/lazyload-8ff69ba4.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/nano-accordion.entry.js +8 -6
- package/dist/esm/nano-accordion.entry.js.map +1 -1
- package/dist/esm/nano-alert.entry.js +10 -9
- package/dist/esm/nano-alert.entry.js.map +1 -1
- package/dist/esm/nano-algolia-filter.entry.js +7 -5
- package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
- package/dist/esm/nano-algolia-pagination.entry.js +4 -4
- package/dist/esm/nano-algolia-results.entry.js +6 -4
- package/dist/esm/nano-algolia-results.entry.js.map +1 -1
- package/dist/esm/nano-algolia.entry.js +14 -11
- package/dist/esm/nano-algolia.entry.js.map +1 -1
- package/dist/esm/nano-animation.entry.js +3 -2
- package/dist/esm/nano-animation.entry.js.map +1 -1
- package/dist/esm/nano-checkbox-group.entry.js +6 -4
- package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
- package/dist/esm/nano-checkbox.entry.js +6 -5
- package/dist/esm/nano-checkbox.entry.js.map +1 -1
- package/dist/esm/nano-components.js +7 -4
- package/dist/esm/nano-components.js.map +1 -1
- package/dist/esm/nano-datalist_3.entry.js +30 -28
- package/dist/esm/nano-datalist_3.entry.js.map +1 -1
- package/dist/esm/nano-date-input.entry.js +7 -6
- package/dist/esm/nano-date-input.entry.js.map +1 -1
- package/dist/esm/nano-date-picker.entry.js +6 -5
- package/dist/esm/nano-date-picker.entry.js.map +1 -1
- package/dist/esm/nano-details.entry.js +7 -6
- package/dist/esm/nano-details.entry.js.map +1 -1
- package/dist/esm/nano-dialog.entry.js +7 -6
- package/dist/esm/nano-dialog.entry.js.map +1 -1
- package/dist/esm/nano-drawer.entry.js +9 -8
- package/dist/esm/nano-drawer.entry.js.map +1 -1
- package/dist/esm/nano-dropdown.entry.js +9 -7
- package/dist/esm/nano-dropdown.entry.js.map +1 -1
- package/dist/esm/nano-field-validator.entry.js +17 -15
- package/dist/esm/nano-field-validator.entry.js.map +1 -1
- package/dist/esm/nano-file-upload.entry.js +4 -3
- package/dist/esm/nano-file-upload.entry.js.map +1 -1
- package/dist/esm/nano-global-nav-user-profile_3.entry.js +23 -20
- package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +52 -50
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/nano-global-search-results.entry.js +10 -6
- package/dist/esm/nano-global-search-results.entry.js.map +1 -1
- package/dist/esm/nano-grid-item.entry.js +2 -2
- package/dist/esm/nano-grid_2.entry.js +6 -5
- package/dist/esm/nano-grid_2.entry.js.map +1 -1
- package/dist/esm/nano-hero.entry.js +7 -6
- package/dist/esm/nano-hero.entry.js.map +1 -1
- package/dist/esm/nano-icon-button_2.entry.js +6 -5
- package/dist/esm/nano-icon-button_2.entry.js.map +1 -1
- package/dist/esm/nano-icon.entry.js +4 -2
- package/dist/esm/nano-icon.entry.js.map +1 -1
- package/dist/esm/nano-input.entry.js +9 -7
- package/dist/esm/nano-input.entry.js.map +1 -1
- package/dist/esm/nano-intersection-observe.entry.js +3 -2
- package/dist/esm/nano-intersection-observe.entry.js.map +1 -1
- package/dist/esm/nano-menu-drawer.entry.js +10 -8
- package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
- package/dist/esm/nano-more-less.entry.js +4 -3
- package/dist/esm/nano-more-less.entry.js.map +1 -1
- package/dist/esm/nano-overflow-nav.entry.js +7 -6
- package/dist/esm/nano-overflow-nav.entry.js.map +1 -1
- package/dist/esm/nano-progress-bar.entry.js +7 -4
- package/dist/esm/nano-progress-bar.entry.js.map +1 -1
- package/dist/esm/nano-range.entry.js +3 -1
- package/dist/esm/nano-range.entry.js.map +1 -1
- package/dist/esm/nano-rating.entry.js +7 -6
- package/dist/esm/nano-rating.entry.js.map +1 -1
- package/dist/esm/nano-resize-observe_2.entry.js +5 -4
- package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/esm/nano-slide.entry.js +3 -2
- package/dist/esm/nano-slide.entry.js.map +1 -1
- package/dist/esm/{nano-slides-c3eb1afe.js → nano-slides-2715825b.js} +15 -13
- package/dist/esm/nano-slides-2715825b.js.map +1 -0
- package/dist/esm/nano-slides.entry.js +3 -2
- package/dist/esm/nano-slides.entry.js.map +1 -1
- package/dist/esm/nano-sortable.entry.js +3 -2
- package/dist/esm/nano-sortable.entry.js.map +1 -1
- package/dist/esm/nano-spinner.entry.js +3 -2
- package/dist/esm/nano-spinner.entry.js.map +1 -1
- package/dist/esm/nano-split-pane.entry.js +3 -2
- package/dist/esm/nano-split-pane.entry.js.map +1 -1
- package/dist/esm/nano-sticker.entry.js +6 -5
- package/dist/esm/nano-sticker.entry.js.map +1 -1
- package/dist/esm/nano-tab-content.entry.js +5 -3
- package/dist/esm/nano-tab-content.entry.js.map +1 -1
- package/dist/esm/nano-tab-group.entry.js +16 -14
- package/dist/esm/nano-tab-group.entry.js.map +1 -1
- package/dist/esm/nano-tab.entry.js +4 -3
- package/dist/esm/nano-tab.entry.js.map +1 -1
- package/dist/esm/{nano-table-d15f6782.js → nano-table-67d7190b.js} +42 -40
- package/dist/esm/nano-table-67d7190b.js.map +1 -0
- package/dist/esm/nano-table.entry.js +4 -3
- package/dist/esm/nano-table.entry.js.map +1 -1
- package/dist/esm/{page-dots-986d3b32.js → page-dots-5b23db8c.js} +4 -3
- package/dist/esm/page-dots-5b23db8c.js.map +1 -0
- package/dist/esm/renderer-4bc3e2dc.js +58 -0
- package/dist/esm/renderer-4bc3e2dc.js.map +1 -0
- package/dist/esm/{scroll-f373a189.js → scroll-1afc6a4e.js} +2 -2
- package/dist/esm/{scroll-f373a189.js.map → scroll-1afc6a4e.js.map} +1 -1
- package/dist/esm/{table.worker-b7ee4edc.js → table.worker-d636a71f.js} +5 -4
- package/dist/esm/table.worker-d636a71f.js.map +1 -0
- package/dist/nano-components/{algolia-data-8fc24341.js → algolia-data-f0f72f1d.js} +2 -2
- package/dist/nano-components/app-globals-f0120bbe.js +5 -0
- package/dist/nano-components/app-globals-f0120bbe.js.map +1 -0
- package/dist/nano-components/{component-store-b798181b.js → component-store-199a9fd8.js} +2 -2
- package/dist/nano-components/{dom-d7f9f24c.js → dom-fafdec9a.js} +2 -2
- package/dist/nano-components/fade-ce1a4958.js +5 -0
- package/dist/nano-components/{fade-4ff5d9de.js.map → fade-ce1a4958.js.map} +1 -1
- package/dist/nano-components/form-control-f48fa873.js +5 -0
- package/dist/nano-components/form-control-f48fa873.js.map +1 -0
- package/dist/nano-components/fullscreen-52d62028.js +5 -0
- package/dist/nano-components/{fullscreen-382d7890.js.map → fullscreen-52d62028.js.map} +1 -1
- package/dist/nano-components/{index-3118109b.js → index-6cc72cd9.js} +3 -3
- package/dist/nano-components/index-6cc72cd9.js.map +1 -0
- package/dist/nano-components/{index-d7a4a150.js → index-f5f7b950.js} +2 -2
- package/dist/nano-components/index.esm.js +1 -1
- package/dist/nano-components/index.esm.js.map +1 -1
- package/dist/nano-components/lazyload-8ff69ba4.js +5 -0
- package/dist/nano-components/{lazyload-49b745e4.js.map → lazyload-8ff69ba4.js.map} +1 -1
- package/dist/nano-components/nano-accordion.entry.js +1 -1
- package/dist/nano-components/nano-accordion.entry.js.map +1 -1
- package/dist/nano-components/nano-alert.entry.js +1 -1
- package/dist/nano-components/nano-alert.entry.js.map +1 -1
- package/dist/nano-components/nano-algolia-filter.entry.js +1 -1
- package/dist/nano-components/nano-algolia-filter.entry.js.map +1 -1
- package/dist/nano-components/nano-algolia-pagination.entry.js +1 -1
- package/dist/nano-components/nano-algolia-results.entry.js +1 -1
- package/dist/nano-components/nano-algolia-results.entry.js.map +1 -1
- package/dist/nano-components/nano-algolia.entry.js +1 -1
- package/dist/nano-components/nano-algolia.entry.js.map +1 -1
- package/dist/nano-components/nano-animation.entry.js +1 -1
- package/dist/nano-components/nano-animation.entry.js.map +1 -1
- package/dist/nano-components/nano-checkbox-group.entry.js +1 -1
- package/dist/nano-components/nano-checkbox-group.entry.js.map +1 -1
- package/dist/nano-components/nano-checkbox.entry.js +1 -1
- package/dist/nano-components/nano-checkbox.entry.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-datalist_3.entry.js +1 -1
- package/dist/nano-components/nano-datalist_3.entry.js.map +1 -1
- package/dist/nano-components/nano-date-input.entry.js +1 -1
- package/dist/nano-components/nano-date-input.entry.js.map +1 -1
- package/dist/nano-components/nano-date-picker.entry.js +1 -1
- package/dist/nano-components/nano-date-picker.entry.js.map +1 -1
- package/dist/nano-components/nano-details.entry.js +1 -1
- package/dist/nano-components/nano-details.entry.js.map +1 -1
- package/dist/nano-components/nano-dialog.entry.js +1 -1
- package/dist/nano-components/nano-dialog.entry.js.map +1 -1
- package/dist/nano-components/nano-drawer.entry.js +1 -1
- package/dist/nano-components/nano-drawer.entry.js.map +1 -1
- package/dist/nano-components/nano-dropdown.entry.js +1 -1
- package/dist/nano-components/nano-dropdown.entry.js.map +1 -1
- package/dist/nano-components/nano-field-validator.entry.js +1 -1
- package/dist/nano-components/nano-field-validator.entry.js.map +1 -1
- package/dist/nano-components/nano-file-upload.entry.js +1 -1
- package/dist/nano-components/nano-file-upload.entry.js.map +1 -1
- package/dist/nano-components/nano-global-nav-user-profile_3.entry.js +1 -1
- package/dist/nano-components/nano-global-nav-user-profile_3.entry.js.map +1 -1
- package/dist/nano-components/nano-global-nav.entry.js +1 -1
- package/dist/nano-components/nano-global-nav.entry.js.map +1 -1
- package/dist/nano-components/nano-global-search-results.entry.js +1 -1
- package/dist/nano-components/nano-global-search-results.entry.js.map +1 -1
- package/dist/nano-components/nano-grid-item.entry.js +1 -1
- package/dist/nano-components/nano-grid-item.entry.js.map +1 -1
- package/dist/nano-components/nano-grid_2.entry.js +1 -1
- package/dist/nano-components/nano-grid_2.entry.js.map +1 -1
- package/dist/nano-components/nano-hero.entry.js +1 -1
- package/dist/nano-components/nano-hero.entry.js.map +1 -1
- package/dist/nano-components/nano-icon-button_2.entry.js +1 -1
- package/dist/nano-components/nano-icon-button_2.entry.js.map +1 -1
- package/dist/nano-components/nano-icon.entry.js +1 -1
- package/dist/nano-components/nano-icon.entry.js.map +1 -1
- package/dist/nano-components/nano-input.entry.js +1 -1
- package/dist/nano-components/nano-input.entry.js.map +1 -1
- package/dist/nano-components/nano-intersection-observe.entry.js +1 -1
- package/dist/nano-components/nano-intersection-observe.entry.js.map +1 -1
- package/dist/nano-components/nano-menu-drawer.entry.js +1 -1
- package/dist/nano-components/nano-menu-drawer.entry.js.map +1 -1
- package/dist/nano-components/nano-more-less.entry.js +1 -1
- package/dist/nano-components/nano-more-less.entry.js.map +1 -1
- package/dist/nano-components/nano-overflow-nav.entry.js +1 -1
- package/dist/nano-components/nano-overflow-nav.entry.js.map +1 -1
- package/dist/nano-components/nano-progress-bar.entry.js +1 -1
- package/dist/nano-components/nano-progress-bar.entry.js.map +1 -1
- package/dist/nano-components/nano-range.entry.js +1 -1
- package/dist/nano-components/nano-range.entry.js.map +1 -1
- package/dist/nano-components/nano-rating.entry.js +1 -1
- package/dist/nano-components/nano-rating.entry.js.map +1 -1
- package/dist/nano-components/nano-resize-observe_2.entry.js +1 -1
- package/dist/nano-components/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/nano-components/nano-slide.entry.js +1 -1
- package/dist/nano-components/nano-slide.entry.js.map +1 -1
- package/dist/nano-components/{nano-slides-c3eb1afe.js → nano-slides-2715825b.js} +5 -5
- package/dist/nano-components/nano-slides-2715825b.js.map +1 -0
- package/dist/nano-components/nano-slides.entry.js +1 -1
- package/dist/nano-components/nano-sortable.entry.js +1 -1
- package/dist/nano-components/nano-sortable.entry.js.map +1 -1
- package/dist/nano-components/nano-spinner.entry.js +1 -1
- package/dist/nano-components/nano-spinner.entry.js.map +1 -1
- package/dist/nano-components/nano-split-pane.entry.js +1 -1
- package/dist/nano-components/nano-split-pane.entry.js.map +1 -1
- package/dist/nano-components/nano-sticker.entry.js +1 -1
- package/dist/nano-components/nano-sticker.entry.js.map +1 -1
- package/dist/nano-components/nano-tab-content.entry.js +1 -1
- package/dist/nano-components/nano-tab-content.entry.js.map +1 -1
- package/dist/nano-components/nano-tab-group.entry.js +1 -1
- package/dist/nano-components/nano-tab-group.entry.js.map +1 -1
- package/dist/nano-components/nano-tab.entry.js +1 -1
- package/dist/nano-components/nano-tab.entry.js.map +1 -1
- package/dist/nano-components/nano-table-67d7190b.js +5 -0
- package/dist/nano-components/nano-table-67d7190b.js.map +1 -0
- package/dist/nano-components/nano-table.entry.js +1 -1
- package/dist/nano-components/page-dots-5b23db8c.js +5 -0
- package/dist/nano-components/{page-dots-986d3b32.js.map → page-dots-5b23db8c.js.map} +1 -1
- package/dist/nano-components/renderer-4bc3e2dc.js +5 -0
- package/dist/nano-components/renderer-4bc3e2dc.js.map +1 -0
- package/dist/nano-components/{scroll-f373a189.js → scroll-1afc6a4e.js} +2 -2
- package/dist/nano-components/table.worker-d636a71f.js +5 -0
- package/dist/stencil.config.js +1 -0
- package/dist/stencil.config.js.map +1 -1
- package/dist/types/global/script/global.d.ts +2 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/utils/renderer.d.ts +27 -0
- package/docs-json.json +1 -12
- package/hydrate/index.js +453 -393
- package/hydrate/index.mjs +453 -393
- package/package.json +1 -1
- package/dist/cjs/app-globals-93d8b419.js +0 -39
- package/dist/cjs/app-globals-93d8b419.js.map +0 -1
- package/dist/cjs/fade-2dd9dd8b.js.map +0 -1
- package/dist/cjs/form-control-2d88adb2.js +0 -82
- package/dist/cjs/form-control-2d88adb2.js.map +0 -1
- package/dist/cjs/fullscreen-5d0422de.js.map +0 -1
- package/dist/cjs/index-b6fa04fa.js.map +0 -1
- package/dist/cjs/lazyload-f181cb37.js.map +0 -1
- package/dist/cjs/nano-slides-612634dc.js.map +0 -1
- package/dist/cjs/nano-table-99d6a3cc.js.map +0 -1
- package/dist/cjs/page-dots-99dd88f6.js.map +0 -1
- package/dist/cjs/table.worker-263468df.js.map +0 -1
- package/dist/esm/app-globals-d4ab01f2.js +0 -37
- package/dist/esm/app-globals-d4ab01f2.js.map +0 -1
- package/dist/esm/fade-4ff5d9de.js.map +0 -1
- package/dist/esm/form-control-812999d0.js.map +0 -1
- package/dist/esm/fullscreen-382d7890.js.map +0 -1
- package/dist/esm/index-3118109b.js.map +0 -1
- package/dist/esm/lazyload-49b745e4.js.map +0 -1
- package/dist/esm/nano-slides-c3eb1afe.js.map +0 -1
- package/dist/esm/nano-table-d15f6782.js.map +0 -1
- package/dist/esm/page-dots-986d3b32.js.map +0 -1
- package/dist/esm/table.worker-b7ee4edc.js.map +0 -1
- package/dist/nano-components/app-globals-d4ab01f2.js +0 -5
- package/dist/nano-components/app-globals-d4ab01f2.js.map +0 -1
- package/dist/nano-components/fade-4ff5d9de.js +0 -5
- package/dist/nano-components/form-control-812999d0.js +0 -5
- package/dist/nano-components/form-control-812999d0.js.map +0 -1
- package/dist/nano-components/fullscreen-382d7890.js +0 -5
- package/dist/nano-components/index-3118109b.js.map +0 -1
- package/dist/nano-components/lazyload-49b745e4.js +0 -5
- package/dist/nano-components/nano-slides-c3eb1afe.js.map +0 -1
- package/dist/nano-components/nano-table-d15f6782.js +0 -5
- package/dist/nano-components/nano-table-d15f6782.js.map +0 -1
- package/dist/nano-components/page-dots-986d3b32.js +0 -5
- package/dist/nano-components/table.worker-b7ee4edc.js +0 -5
- /package/dist/nano-components/{algolia-data-8fc24341.js.map → algolia-data-f0f72f1d.js.map} +0 -0
- /package/dist/nano-components/{component-store-b798181b.js.map → component-store-199a9fd8.js.map} +0 -0
- /package/dist/nano-components/{dom-d7f9f24c.js.map → dom-fafdec9a.js.map} +0 -0
- /package/dist/nano-components/{index-d7a4a150.js.map → index-f5f7b950.js.map} +0 -0
- /package/dist/nano-components/{scroll-f373a189.js.map → scroll-1afc6a4e.js.map} +0 -0
- /package/dist/nano-components/{table.worker-b7ee4edc.js.map → table.worker-d636a71f.js.map} +0 -0
- /package/dist/types/builds/{6SyqsxUA → RXAuYz49}/0/Digital/nano-components/packages/components/.stencil/generators/custom-element-doc-generator.d.ts +0 -0
- /package/dist/types/builds/{6SyqsxUA → RXAuYz49}/0/Digital/nano-components/packages/components/.stencil/generators/vue/generate-vue-component.d.ts +0 -0
- /package/dist/types/builds/{6SyqsxUA → RXAuYz49}/0/Digital/nano-components/packages/components/.stencil/generators/vue/index.d.ts +0 -0
- /package/dist/types/builds/{6SyqsxUA → RXAuYz49}/0/Digital/nano-components/packages/components/.stencil/generators/vue/output-vue.d.ts +0 -0
- /package/dist/types/builds/{6SyqsxUA → RXAuYz49}/0/Digital/nano-components/packages/components/.stencil/generators/vue/plugin.d.ts +0 -0
- /package/dist/types/builds/{6SyqsxUA → RXAuYz49}/0/Digital/nano-components/packages/components/.stencil/generators/vue/types.d.ts +0 -0
- /package/dist/types/builds/{6SyqsxUA → RXAuYz49}/0/Digital/nano-components/packages/components/.stencil/generators/vue/utils.d.ts +0 -0
- /package/dist/types/builds/{6SyqsxUA → RXAuYz49}/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -0
- /package/dist/types/builds/{6SyqsxUA → RXAuYz49}/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -0
- /package/dist/types/builds/{6SyqsxUA → RXAuYz49}/0/Digital/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
- /package/dist/types/builds/{6SyqsxUA → RXAuYz49}/0/Digital/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"file":"nano-algolia-filter.entry.cjs.js","mappings":"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","names":["writeTask","ComponentStore","h","Host","Wormhole"],"sources":["src/components/algolia/algolia-filter.scss?tag=nano-algolia-filter&encapsulation=shadow","src/components/algolia/algolia-filter.tsx"],"sourcesContent":[":host {\n display: none;\n\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 Listen,\n} from '@stencil/core';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\nimport {\n SearchChangeEvent,\n Wormhole,\n WormholeConsumerConstructor,\n} from './algolia-data';\nimport type {\n IndexResult,\n FilterChangeEventDetail,\n AlgoliaFacet,\n} from './algolia-interface';\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[]) => any;\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 const 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 const 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 // 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 const foundVals = this.setFieldValues(foundValue.values);\n if (foundVals && foundVals.length) this.value = foundVals;\n });\n }\n this.updateContent();\n }\n\n @Listen('nanoChange')\n @Listen('change')\n handleChangeEvent() {\n const vals = this.getFieldValues();\n if (this.didValueChange(vals)) {\n this.internalValue = vals;\n return true;\n }\n return false;\n }\n\n private updateContent() {\n const 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 // go through form elements and extract their current value\n private getFieldValues() {\n const values = [];\n const fields = this.outputSlot.querySelectorAll(\n 'input[type=\"checkbox\"], input[type=\"radio\"], select'\n );\n\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i] as HTMLInputElement;\n\n // If a multi-select, get all selections\n if (field.type === 'select-multiple') {\n const 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 const found = [];\n const 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 const 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 const 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 (let 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 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"],"version":3}
|
1
|
+
{"file":"nano-algolia-filter.entry.cjs.js","mappings":"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","names":["writeTask","ComponentStore","h","Host","Wormhole"],"sources":["src/components/algolia/algolia-filter.scss?tag=nano-algolia-filter&encapsulation=shadow","src/components/algolia/algolia-filter.tsx"],"sourcesContent":[":host {\n display: none;\n\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 Element,\n Host,\n Prop,\n Watch,\n State,\n EventEmitter,\n Event,\n writeTask,\n Listen,\n} from '@stencil/core';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\nimport { h } from '../../utils/renderer';\nimport {\n SearchChangeEvent,\n Wormhole,\n WormholeConsumerConstructor,\n} from './algolia-data';\nimport type {\n IndexResult,\n FilterChangeEventDetail,\n AlgoliaFacet,\n} from './algolia-interface';\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[]) => any;\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 const 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 const 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 // 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 const foundVals = this.setFieldValues(foundValue.values);\n if (foundVals && foundVals.length) this.value = foundVals;\n });\n }\n this.updateContent();\n }\n\n @Listen('nanoChange')\n @Listen('change')\n handleChangeEvent() {\n const vals = this.getFieldValues();\n if (this.didValueChange(vals)) {\n this.internalValue = vals;\n return true;\n }\n return false;\n }\n\n private updateContent() {\n const 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 // go through form elements and extract their current value\n private getFieldValues() {\n const values = [];\n const fields = this.outputSlot.querySelectorAll(\n 'input[type=\"checkbox\"], input[type=\"radio\"], select'\n );\n\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i] as HTMLInputElement;\n\n // If a multi-select, get all selections\n if (field.type === 'select-multiple') {\n const 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 const found = [];\n const 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 const 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 const 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 (let 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 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 'nano-filter': true,\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"],"version":3}
|
@@ -5,8 +5,8 @@
|
|
5
5
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
7
7
|
|
8
|
-
const index = require('./index-
|
9
|
-
const algoliaData = require('./algolia-data-
|
8
|
+
const index = require('./index-615cdb64.js');
|
9
|
+
const algoliaData = require('./algolia-data-ca9cd58e.js');
|
10
10
|
|
11
11
|
const AlgoliaPagination = class {
|
12
12
|
constructor(hostRef) {
|
@@ -61,9 +61,9 @@ const AlgoliaPagination = class {
|
|
61
61
|
this.updateContent();
|
62
62
|
}
|
63
63
|
render() {
|
64
|
-
return (index.h(index.Host, { key: '
|
64
|
+
return (index.h(index.Host, { key: '12cc1de8e3bfe96c0368ff394eb6a2cfdf0344c8', class: {
|
65
65
|
'show-pagination': this.show,
|
66
|
-
} }, index.h("div", { key: '
|
66
|
+
} }, index.h("div", { key: '70dc4683c476084346dc69246acb2092719d0b60', ref: (div) => (this.outputEle = div) }, index.h("slot", { key: '04f51858db37f6a25cae5fead48c5016a4159944', name: "output" }))));
|
67
67
|
}
|
68
68
|
static get watchers() { return {
|
69
69
|
"currentPage": ["currentPageChange"],
|
@@ -5,8 +5,9 @@
|
|
5
5
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
7
7
|
|
8
|
-
const index = require('./index-
|
9
|
-
const
|
8
|
+
const index = require('./index-615cdb64.js');
|
9
|
+
const renderer = require('./renderer-cd8b6098.js');
|
10
|
+
const algoliaData = require('./algolia-data-ca9cd58e.js');
|
10
11
|
|
11
12
|
const AlgoliaResults = class {
|
12
13
|
constructor(hostRef) {
|
@@ -198,9 +199,10 @@ const AlgoliaResults = class {
|
|
198
199
|
}
|
199
200
|
}
|
200
201
|
render() {
|
201
|
-
return (
|
202
|
+
return (renderer.h(index.Host, { key: 'e5124d09c5619d77f6debca38bd5059ecfb9dce5', class: {
|
202
203
|
'show-results': this.showResults,
|
203
|
-
|
204
|
+
'nano-results': true,
|
205
|
+
} }, renderer.h("div", { key: '773924ac30cd4e8c57d6767f96a8c9173d6e9ec6', class: "default" }, renderer.h("slot", { key: '5a330fe6afa15143c006fc3690d1ddb0ccf3bc8d' })), renderer.h("div", { key: '3a716202a7364efa1eeb90ea525670c4da5fc7e1', ref: (div) => (this.outputEle = div) }, renderer.h("slot", { key: 'af5860bd4dc7e2472d18f1b86175f5772bac426b', name: "start-output" }), renderer.h("slot", { key: '7b57ec404897b71f60a06ca661558624d5db1ac0', name: "result-output" }), renderer.h("div", { key: 'cff39c4ed229e1081f9160d8a447d56841209b4e', ref: (div) => (this.infiniteScrollBar = div) }), renderer.h("slot", { key: '79c19d45895d5f7a285e0beb640f84251d37b558', name: "end-output" }))));
|
204
206
|
}
|
205
207
|
static get watchers() { return {
|
206
208
|
"results": ["addContentIndex", "resultsChange"],
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"nano-algolia-results.entry.cjs.js","mappings":";;;;;;;;;;MAmCa,cAAc;;;;;;;IAGjB,SAAS,CAAS;IAClB,aAAa,CAAc;IAC3B,QAAQ,CAAS;IACjB,YAAY,CAAc;IAC1B,MAAM,CAAS;IACf,UAAU,CAAc;IACxB,UAAU,CAAc;IACxB,SAAS,CAAiB;IAC1B,QAAQ,CAAc;IACtB,eAAe,CAAc;IAC7B,aAAa,CAAc;IAE3B,EAAE,CAAwB;IAC1B,iBAAiB,CAAiB;IAClC,MAAM,GAAY,KAAK,CAAC;IACxB,WAAW,GAAY,IAAI,CAAC;IAC5B,UAAU,GAAW,CAAC,CAAC;IAEtB,WAAW,GAAY,KAAK,CAAC;IAC7B,WAAW,CAA0B;IACrC,OAAO,GAAuB,IAAI,CAAC;IACnC,YAAY,GAAgB,IAAI,CAAC;IACjC,WAAW,GAAW,CAAC,CAAC;IACxB,WAAW,GAAsBA,6BAAiB,CAAC,IAAI,CAAC;IACxD,MAAM,CAAe;IACrB,SAAS,GAAY,IAAI,CAAC;;;;IAK3B,cAAc,GAAY,KAAK,CAAC;;;;;IAMhC,WAAW,GAAY,KAAK,CAAC;;;;IAK5B,eAAe,CAAuC;;;;IAKtD,cAAc,CAA+C;;IAItE,eAAe;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC;YAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAClD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG;gBAC/B,GAAW,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;aAC1C,CAAC,CAAC;SACJ;KACF;;IAKD,aAAa;QACX,IAAI,CAAC,eAAe,EAAE,CAAC;;QAEvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;;;IAKD,kBAAkB;QAChB,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;IAGD,YAAY;QACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;KAC7D;IAGD,oBAAoB;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5D,IAAI,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;;YACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;KACtB;IAGD,eAAe;QACb,IAAI,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;;YACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;KACtB;IAGD,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAClD;;;;IAKO,eAAe;QACrB,IAAI,CAAC,WAAW;YACd,IAAI,CAAC,WAAW,KAAKA,6BAAiB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACrE;;IAGO,QAAQ;QACd,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC;KAC3D;IAEO,QAAQ;QACd,IACE,CAAC,IAAI,CAAC,iBAAiB;YACvB,CAAC,IAAI,CAAC,cAAc;YACpB,IAAI,CAAC,EAAE;YACP,CAACC,WAAK,CAAC,SAAS;YAChB,OAAO,MAAM,KAAK,WAAW;YAC7B,CAAE,MAAc,CAAC,oBAAoB;YAErC,OAAO;QAET,IAAI,CAAC,EAAE,GAAG,IAAK,MAAc,CAAC,oBAAoB,CAChD,OAAO,IAAiC;YACtC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE;gBACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;aACjB;SACF,EACD,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAChD,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACzC;IAEO,QAAQ;QACd,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;SAChB;KACF;IAEO,qBAAqB;;QAE3B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;YACzC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAC/C,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY,CAClB,CAAC;SACH;;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAC7C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,CAClB,CAAC;SACH;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACnC;IAEO,mBAAmB;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC;QAElD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;;;QAIlD,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAE9B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAEpE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK;YACrC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACnC;IAED,iBAAiB;QACfC,cAAQ,CAAC;YACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACrE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YACtE,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;gBAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aACxD;YAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;YACvE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aAC1D;YAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aACpD;YACD,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;SACF,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;SACrB;KACF;IAED,MAAM;QACJ,QACEC,QAACC,UAAI,qDACH,KAAK,EAAE;gBACL,cAAc,EAAE,IAAI,CAAC,WAAW;aACjC,IAEDD,kEAAK,KAAK,EAAC,SAAS,IAClBA,oEAAQ,CACJ,EACNA,kEAAK,GAAG,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IACvCA,mEAAM,IAAI,EAAC,cAAc,GAAG,EAC5BA,mEAAM,IAAI,EAAC,eAAe,GAAG,EAC7BA,kEAAK,GAAG,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,GAAQ,EACzDA,mEAAM,IAAI,EAAC,YAAY,GAAG,CACtB,CACD,EACP;KACH;;;;;;;;;;;AAGHE,oBAAQ,CAAC,cAAc,EAAE;IACvB,cAAc;IACd,SAAS;IACT,aAAa;IACb,aAAa;IACb,aAAa;IACb,QAAQ;IACR,WAAW;CACZ,CAAC;;;;","names":["SearchChangeEvent","Build","readTask","h","Host","Wormhole"],"sources":["src/components/algolia/algolia-results.tsx"],"sourcesContent":["import {\n Component,\n h,\n Element,\n Host,\n Watch,\n State,\n Build,\n EventEmitter,\n Event,\n Prop,\n readTask,\n} from '@stencil/core';\nimport { Wormhole, SearchChangeEvent } from './algolia-data';\nimport type {\n IndexResult,\n AlgoliaResultHit,\n PageChangeEventDetail,\n AlgoliaFacet,\n} from './algolia-interface';\n\n/**\n * Displays and syncs results from Algolia searches.\n * Must be nested within an nano-algolia component.\n * @slot start-template - Template string (format from nano-algolia 'tplEngine' property).\n * @slot start-output - A placeholder for template output.\n * @slot result-template - Template string (format from nano-algolia 'tplEngine' property).\n * @slot result-output - A placeholder for template output.\n * @slot end-template - Template string (format from nano-algolia 'tplEngine' property).\n * @slot end-output - A placeholder for template output.\n */\n@Component({\n tag: 'nano-algolia-results',\n shadow: true,\n})\nexport class AlgoliaResults {\n @Element() el: HTMLNanoAlgoliaResultsElement;\n\n private resultTpl: string;\n private resultTplSlot: HTMLElement;\n private startTpl: string;\n private startTplSlot: HTMLElement;\n private endTpl: string;\n private endTplSlot: HTMLElement;\n private outputSlot: HTMLElement;\n private outputEle: HTMLDivElement;\n private outputTo: HTMLElement;\n private startOutputSlot: HTMLElement;\n private endOutputSlot: HTMLElement;\n\n private io?: IntersectionObserver;\n private infiniteScrollBar: HTMLDivElement;\n private append: boolean = false;\n private shouldClear: boolean = true;\n private currHitNum: number = 0;\n\n @State() showResults: boolean = false;\n @State() tplRenderFn: (...args: any[]) => any;\n @State() results: AlgoliaResultHit[] = null;\n @State() indexResults: IndexResult = null;\n @State() resultsPage: number = 0;\n @State() changeEvent: SearchChangeEvent = SearchChangeEvent.Init;\n @State() facets: AlgoliaFacet;\n @State() isLoading: boolean = true;\n\n /**\n * Load and append pages automatically on scroll\n */\n @Prop() infiniteScroll: boolean = false;\n\n /**\n * Whether new pages loaded by pagination will replace or be appended to the results block\n * (this will be ignored if 'infiniteScroll' is set to true)\n */\n @Prop() appendPages: boolean = false;\n\n /**\n * Emitted when the page number changes\n */\n @Event() nanoPageChanged!: EventEmitter<PageChangeEventDetail>;\n\n /**\n * Emitted when templates are updated\n */\n @Event() nanoTplUpdated!: EventEmitter<HTMLNanoAlgoliaResultsElement>;\n\n // For append / infinite-scroll it's useful to have a universal index on render\n @Watch('results')\n addContentIndex() {\n this.shouldPageClear();\n if (this.shouldClear || this.resultsPage === 0) this.currHitNum = 0;\n if (this.indexResults && this.indexResults.results) {\n this.indexResults.results.map((res) => {\n (res as any)._uIndex = this.currHitNum++;\n });\n }\n }\n\n // Update content template and perhaps add IO for infinite scrolling\n @Watch('results')\n @Watch('tplRenderFn')\n resultsChange() {\n this.shouldPageClear();\n // console.log('going to do update', this.resultsPage, this.results.length);\n this.updateResultContent();\n this.infiniteScrollChange();\n }\n\n // We have a foot / head slot template.\n // Can be useful to display current filter / search meta\n @Watch('facets')\n headerFooterChange() {\n this.updateStartEndContent();\n }\n\n @Watch('appendPages')\n appendChange() {\n this.append = this.infiniteScroll ? true : this.appendPages;\n }\n\n @Watch('infiniteScroll')\n infiniteScrollChange() {\n this.append = this.infiniteScroll ? true : this.appendPages;\n if (this.infiniteScroll) this.attachIO();\n else this.detachIO();\n }\n\n @Watch('resultsPage')\n handlePageChage() {\n if (this.infiniteScroll) this.attachIO();\n else this.detachIO();\n }\n\n @Watch('isLoading')\n handleLoading() {\n if (!this.isLoading) this.infiniteScrollChange();\n }\n\n // Decide whether incoming content should clear or not.\n // if incoming change event is from a pagechange AND the current page is 0 OR appendPages option set...\n // Then leave up to the current, set append behaviour. Other clear it all out.\n private shouldPageClear() {\n this.shouldClear =\n this.changeEvent === SearchChangeEvent.Page ? !this.append : true;\n }\n\n // Called by IO. Emits page change event to parent which then iterated the global page count.\n private nextPage() {\n this.shouldClear = !this.append;\n this.nanoPageChanged.emit({ page: this.resultsPage + 1 });\n }\n\n private attachIO() {\n if (\n !this.infiniteScrollBar ||\n !this.infiniteScroll ||\n this.io ||\n !Build.isBrowser ||\n typeof window === 'undefined' ||\n !(window as any).IntersectionObserver\n )\n return;\n\n this.io = new (window as any).IntersectionObserver(\n async (data: IntersectionObserverEntry[]) => {\n if (data[0].isIntersecting || (data[1] && data[1].isIntersecting)) {\n this.nextPage();\n this.detachIO();\n }\n },\n { document, rootMargin: '100px', threshold: 1 }\n );\n this.io.observe(this.infiniteScrollBar);\n }\n\n private detachIO() {\n if (this.io) {\n this.io.disconnect();\n this.io = null;\n }\n }\n\n private updateStartEndContent() {\n // clear start slot if present\n if (this.startTpl && this.startOutputSlot) {\n this.startOutputSlot.innerHTML = this.tplRenderFn(\n this.startTpl,\n this.indexResults\n );\n }\n // clear end slot if present\n if (this.endOutputSlot && this.endTpl) {\n this.endOutputSlot.innerHTML = this.tplRenderFn(\n this.endTpl,\n this.indexResults\n );\n }\n this.nanoTplUpdated.emit(this.el);\n }\n\n private updateResultContent() {\n this.outputTo = this.outputSlot || this.outputEle;\n\n if (!this.resultTpl || !this.indexResults) return;\n\n // after filtering or new index - clear all content.\n // after pagination when the 'appendPages' set to true - don't clear results content\n if (this.shouldClear) this.outputTo.innerHTML = '';\n\n if (!this.tplRenderFn) return;\n\n const div = document.createElement('div');\n div.innerHTML = this.tplRenderFn(this.resultTpl, this.indexResults);\n\n Array.from(div.children).forEach((child) => {\n this.outputTo.appendChild(child);\n });\n\n this.shouldClear = true;\n this.nanoTplUpdated.emit(this.el);\n }\n\n connectedCallback() {\n readTask(() => {\n this.startTplSlot = this.el.querySelector('[slot=\"start-template\"]');\n this.startOutputSlot = this.el.querySelector('[slot=\"start-output\"]');\n if (this.startTplSlot) {\n this.startTpl = this.startTplSlot.innerHTML;\n this.startTpl = this.startTpl.replace(/=>/gm, '=>');\n }\n\n this.resultTplSlot = this.el.querySelector('[slot=\"result-template\"]');\n this.outputSlot = this.el.querySelector('[slot=\"result-output\"]');\n if (this.resultTplSlot) {\n this.resultTpl = this.resultTplSlot.innerHTML;\n this.resultTpl = this.resultTpl.replace(/=>/gm, '=>');\n }\n\n this.endTplSlot = this.el.querySelector('[slot=\"end-template\"]');\n this.endOutputSlot = this.el.querySelector('[slot=\"end-output\"]');\n if (this.endTplSlot) {\n this.endTpl = this.endTplSlot.innerHTML;\n this.endTpl = this.endTpl.replace(/=>/gm, '=>');\n }\n if (this.indexResults) {\n this.addContentIndex();\n this.updateResultContent();\n }\n });\n }\n\n componentDidLoad() {\n this.updateStartEndContent();\n }\n\n disconnectedCallback() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n }\n\n render() {\n return (\n <Host\n class={{\n 'show-results': this.showResults,\n }}\n >\n <div class=\"default\">\n <slot />\n </div>\n <div ref={(div) => (this.outputEle = div)}>\n <slot name=\"start-output\" />\n <slot name=\"result-output\" />\n <div ref={(div) => (this.infiniteScrollBar = div)}></div>\n <slot name=\"end-output\" />\n </div>\n </Host>\n );\n }\n}\n\nWormhole(AlgoliaResults, [\n 'indexResults',\n 'results',\n 'tplRenderFn',\n 'resultsPage',\n 'changeEvent',\n 'facets',\n 'isLoading',\n]);\n"],"version":3}
|
1
|
+
{"file":"nano-algolia-results.entry.cjs.js","mappings":"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","names":["SearchChangeEvent","Build","readTask","h","Host","Wormhole"],"sources":["src/components/algolia/algolia-results.tsx"],"sourcesContent":["import {\n Component,\n Element,\n Host,\n Watch,\n State,\n Build,\n EventEmitter,\n Event,\n Prop,\n readTask,\n} from '@stencil/core';\nimport { h } from '../../utils/renderer';\nimport { Wormhole, SearchChangeEvent } from './algolia-data';\nimport type {\n IndexResult,\n AlgoliaResultHit,\n PageChangeEventDetail,\n AlgoliaFacet,\n} from './algolia-interface';\n\n/**\n * Displays and syncs results from Algolia searches.\n * Must be nested within an nano-algolia component.\n * @slot start-template - Template string (format from nano-algolia 'tplEngine' property).\n * @slot start-output - A placeholder for template output.\n * @slot result-template - Template string (format from nano-algolia 'tplEngine' property).\n * @slot result-output - A placeholder for template output.\n * @slot end-template - Template string (format from nano-algolia 'tplEngine' property).\n * @slot end-output - A placeholder for template output.\n */\n@Component({\n tag: 'nano-algolia-results',\n shadow: true,\n})\nexport class AlgoliaResults {\n @Element() el: HTMLNanoAlgoliaResultsElement;\n\n private resultTpl: string;\n private resultTplSlot: HTMLElement;\n private startTpl: string;\n private startTplSlot: HTMLElement;\n private endTpl: string;\n private endTplSlot: HTMLElement;\n private outputSlot: HTMLElement;\n private outputEle: HTMLDivElement;\n private outputTo: HTMLElement;\n private startOutputSlot: HTMLElement;\n private endOutputSlot: HTMLElement;\n\n private io?: IntersectionObserver;\n private infiniteScrollBar: HTMLDivElement;\n private append: boolean = false;\n private shouldClear: boolean = true;\n private currHitNum: number = 0;\n\n @State() showResults: boolean = false;\n @State() tplRenderFn: (...args: any[]) => any;\n @State() results: AlgoliaResultHit[] = null;\n @State() indexResults: IndexResult = null;\n @State() resultsPage: number = 0;\n @State() changeEvent: SearchChangeEvent = SearchChangeEvent.Init;\n @State() facets: AlgoliaFacet;\n @State() isLoading: boolean = true;\n\n /**\n * Load and append pages automatically on scroll\n */\n @Prop() infiniteScroll: boolean = false;\n\n /**\n * Whether new pages loaded by pagination will replace or be appended to the results block\n * (this will be ignored if 'infiniteScroll' is set to true)\n */\n @Prop() appendPages: boolean = false;\n\n /**\n * Emitted when the page number changes\n */\n @Event() nanoPageChanged!: EventEmitter<PageChangeEventDetail>;\n\n /**\n * Emitted when templates are updated\n */\n @Event() nanoTplUpdated!: EventEmitter<HTMLNanoAlgoliaResultsElement>;\n\n // For append / infinite-scroll it's useful to have a universal index on render\n @Watch('results')\n addContentIndex() {\n this.shouldPageClear();\n if (this.shouldClear || this.resultsPage === 0) this.currHitNum = 0;\n if (this.indexResults && this.indexResults.results) {\n this.indexResults.results.map((res) => {\n (res as any)._uIndex = this.currHitNum++;\n });\n }\n }\n\n // Update content template and perhaps add IO for infinite scrolling\n @Watch('results')\n @Watch('tplRenderFn')\n resultsChange() {\n this.shouldPageClear();\n // console.log('going to do update', this.resultsPage, this.results.length);\n this.updateResultContent();\n this.infiniteScrollChange();\n }\n\n // We have a foot / head slot template.\n // Can be useful to display current filter / search meta\n @Watch('facets')\n headerFooterChange() {\n this.updateStartEndContent();\n }\n\n @Watch('appendPages')\n appendChange() {\n this.append = this.infiniteScroll ? true : this.appendPages;\n }\n\n @Watch('infiniteScroll')\n infiniteScrollChange() {\n this.append = this.infiniteScroll ? true : this.appendPages;\n if (this.infiniteScroll) this.attachIO();\n else this.detachIO();\n }\n\n @Watch('resultsPage')\n handlePageChage() {\n if (this.infiniteScroll) this.attachIO();\n else this.detachIO();\n }\n\n @Watch('isLoading')\n handleLoading() {\n if (!this.isLoading) this.infiniteScrollChange();\n }\n\n // Decide whether incoming content should clear or not.\n // if incoming change event is from a pagechange AND the current page is 0 OR appendPages option set...\n // Then leave up to the current, set append behaviour. Other clear it all out.\n private shouldPageClear() {\n this.shouldClear =\n this.changeEvent === SearchChangeEvent.Page ? !this.append : true;\n }\n\n // Called by IO. Emits page change event to parent which then iterated the global page count.\n private nextPage() {\n this.shouldClear = !this.append;\n this.nanoPageChanged.emit({ page: this.resultsPage + 1 });\n }\n\n private attachIO() {\n if (\n !this.infiniteScrollBar ||\n !this.infiniteScroll ||\n this.io ||\n !Build.isBrowser ||\n typeof window === 'undefined' ||\n !(window as any).IntersectionObserver\n )\n return;\n\n this.io = new (window as any).IntersectionObserver(\n async (data: IntersectionObserverEntry[]) => {\n if (data[0].isIntersecting || (data[1] && data[1].isIntersecting)) {\n this.nextPage();\n this.detachIO();\n }\n },\n { document, rootMargin: '100px', threshold: 1 }\n );\n this.io.observe(this.infiniteScrollBar);\n }\n\n private detachIO() {\n if (this.io) {\n this.io.disconnect();\n this.io = null;\n }\n }\n\n private updateStartEndContent() {\n // clear start slot if present\n if (this.startTpl && this.startOutputSlot) {\n this.startOutputSlot.innerHTML = this.tplRenderFn(\n this.startTpl,\n this.indexResults\n );\n }\n // clear end slot if present\n if (this.endOutputSlot && this.endTpl) {\n this.endOutputSlot.innerHTML = this.tplRenderFn(\n this.endTpl,\n this.indexResults\n );\n }\n this.nanoTplUpdated.emit(this.el);\n }\n\n private updateResultContent() {\n this.outputTo = this.outputSlot || this.outputEle;\n\n if (!this.resultTpl || !this.indexResults) return;\n\n // after filtering or new index - clear all content.\n // after pagination when the 'appendPages' set to true - don't clear results content\n if (this.shouldClear) this.outputTo.innerHTML = '';\n\n if (!this.tplRenderFn) return;\n\n const div = document.createElement('div');\n div.innerHTML = this.tplRenderFn(this.resultTpl, this.indexResults);\n\n Array.from(div.children).forEach((child) => {\n this.outputTo.appendChild(child);\n });\n\n this.shouldClear = true;\n this.nanoTplUpdated.emit(this.el);\n }\n\n connectedCallback() {\n readTask(() => {\n this.startTplSlot = this.el.querySelector('[slot=\"start-template\"]');\n this.startOutputSlot = this.el.querySelector('[slot=\"start-output\"]');\n if (this.startTplSlot) {\n this.startTpl = this.startTplSlot.innerHTML;\n this.startTpl = this.startTpl.replace(/=>/gm, '=>');\n }\n\n this.resultTplSlot = this.el.querySelector('[slot=\"result-template\"]');\n this.outputSlot = this.el.querySelector('[slot=\"result-output\"]');\n if (this.resultTplSlot) {\n this.resultTpl = this.resultTplSlot.innerHTML;\n this.resultTpl = this.resultTpl.replace(/=>/gm, '=>');\n }\n\n this.endTplSlot = this.el.querySelector('[slot=\"end-template\"]');\n this.endOutputSlot = this.el.querySelector('[slot=\"end-output\"]');\n if (this.endTplSlot) {\n this.endTpl = this.endTplSlot.innerHTML;\n this.endTpl = this.endTpl.replace(/=>/gm, '=>');\n }\n if (this.indexResults) {\n this.addContentIndex();\n this.updateResultContent();\n }\n });\n }\n\n componentDidLoad() {\n this.updateStartEndContent();\n }\n\n disconnectedCallback() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n }\n\n render() {\n return (\n <Host\n class={{\n 'show-results': this.showResults,\n 'nano-results': true,\n }}\n >\n <div class=\"default\">\n <slot />\n </div>\n <div ref={(div) => (this.outputEle = div)}>\n <slot name=\"start-output\" />\n <slot name=\"result-output\" />\n <div ref={(div) => (this.infiniteScrollBar = div)}></div>\n <slot name=\"end-output\" />\n </div>\n </Host>\n );\n }\n}\n\nWormhole(AlgoliaResults, [\n 'indexResults',\n 'results',\n 'tplRenderFn',\n 'resultsPage',\n 'changeEvent',\n 'facets',\n 'isLoading',\n]);\n"],"version":3}
|
@@ -5,12 +5,13 @@
|
|
5
5
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
7
7
|
|
8
|
-
const index = require('./index-
|
8
|
+
const index = require('./index-615cdb64.js');
|
9
9
|
const algoliasearchLite_esm_browser = require('./algoliasearch-lite.esm.browser-890872fc.js');
|
10
|
-
const dom = require('./dom-
|
11
|
-
const componentStore = require('./component-store-
|
10
|
+
const dom = require('./dom-b99a1aec.js');
|
11
|
+
const componentStore = require('./component-store-b8d4bd91.js');
|
12
12
|
const throttle = require('./throttle-46a497fb.js');
|
13
|
-
const
|
13
|
+
const renderer = require('./renderer-cd8b6098.js');
|
14
|
+
const algoliaData = require('./algolia-data-ca9cd58e.js');
|
14
15
|
|
15
16
|
var multiverse = new Map();
|
16
17
|
var updateConsumer = function (_a, state) {
|
@@ -1351,7 +1352,7 @@ const Algolia = class {
|
|
1351
1352
|
// a child nano-algolia-... updated their template
|
1352
1353
|
onAllTplUpdate(ev) {
|
1353
1354
|
ev.stopPropagation();
|
1354
|
-
if (ev.target.tagName === '
|
1355
|
+
if (ev.target.tagName.toLowerCase() === renderer.transformTag('nano-algolia-results')) {
|
1355
1356
|
requestAnimationFrame(() => {
|
1356
1357
|
this.nanoNewResults.emit(this.indexResults);
|
1357
1358
|
});
|
@@ -1756,7 +1757,7 @@ const Algolia = class {
|
|
1756
1757
|
this.placedAlgoliaEles = [];
|
1757
1758
|
// take out children algolia elements 'cos they have their own templates
|
1758
1759
|
// don't want to swap in their templates
|
1759
|
-
Array.from(tmpCont.querySelectorAll('nano-algolia, nano-algolia-filter, nano-algolia-results')).forEach((el, i) => {
|
1760
|
+
Array.from(tmpCont.querySelectorAll(`${renderer.transformTag('nano-algolia')}, ${renderer.transformTag('nano-algolia-filter')}, ${renderer.transformTag('nano-algolia-results')}`)).forEach((el, i) => {
|
1760
1761
|
const placeholder = document.createElement('div');
|
1761
1762
|
placeholder.dataset.placeholderId = i.toString();
|
1762
1763
|
placeholder.classList.add('nano-ele-placeholder');
|
@@ -1799,12 +1800,13 @@ const Algolia = class {
|
|
1799
1800
|
this.tpl = this.tplSlot.innerHTML || this.tplSlot.innerText;
|
1800
1801
|
// get input field to listen to
|
1801
1802
|
if (this.slottedInput &&
|
1802
|
-
(this.slottedInput.tagName.toLocaleLowerCase() ===
|
1803
|
+
(this.slottedInput.tagName.toLocaleLowerCase() ===
|
1804
|
+
renderer.transformTag('nano-input') ||
|
1803
1805
|
this.slottedInput instanceof HTMLInputElement)) {
|
1804
1806
|
this.inputField = this.slottedInput;
|
1805
1807
|
}
|
1806
1808
|
else if (this.slottedInput) {
|
1807
|
-
this.inputField = this.slottedInput.querySelector('nano-input, input:not([type="radio"]):not([type="checkbox"])
|
1809
|
+
this.inputField = this.slottedInput.querySelector(`${renderer.transformTag('nano-input')}, input:not([type="radio"]):not([type="checkbox"])`);
|
1808
1810
|
}
|
1809
1811
|
else
|
1810
1812
|
this.handleListenToChange();
|
@@ -1845,13 +1847,14 @@ const Algolia = class {
|
|
1845
1847
|
globalStoreMethod: this.storeMethod,
|
1846
1848
|
isLoading: this.isLoading,
|
1847
1849
|
};
|
1848
|
-
return (
|
1850
|
+
return (renderer.h(index.Host, { key: 'f0ae1895d779c2a59dd459fbc7cde8780b1ac9f8', class: {
|
1849
1851
|
'show-results': this.showResults,
|
1850
1852
|
'is-loading': this.isLoading,
|
1851
|
-
|
1853
|
+
'nano-algolia': true,
|
1854
|
+
}, "aria-busy": this.isLoading }, this.hasLoadSlot && (renderer.h("div", { key: '15e48727d32a3afa360fec13edb8aca3d211737c', hidden: !this.isLoading }, renderer.h("slot", { key: 'a5ec5e6a5ec997540d2dd60fd95a8c82c0c506c2', name: "loader" }))), !this.hasLoadSlot && (renderer.h("div", { key: '96275ed0b3486691bc9f5154f5f115cd09274990', class: {
|
1852
1855
|
loader: true,
|
1853
1856
|
loading: this.isLoading,
|
1854
|
-
} },
|
1857
|
+
} }, renderer.h("nano-spinner", { key: 'd2b86328009cfdb943c5d702e55e9c51ae569f9d', overlay: true, type: "circle" }))), renderer.h(Universe.Provider, { key: 'e3465b7980720e2be4d481b7e71a7a033fe52ae1', state: wormholeState }, renderer.h("slot", { key: '161554c21e77aa7e662491e787c69d402d00035f', name: "search-input" }), renderer.h("div", { key: '4f1c30d75e84a609fc621afce96233bfd678518f', class: "results-container", "aria-live": "polite" }, renderer.h("div", { key: '1bce8a2a0c2cd7f71f64750f7c18ff63aefeadd1', ref: (div) => (this.resultsDiv = div), class: "results" }, renderer.h("slot", { key: '70582027504c1d2cba99f80e99d51d711247d0ab', name: "output" })))), renderer.h("div", { key: 'd4fcea375a1c86191135ba43f85e66e93b076d63', ref: (div) => (this.defaultDiv = div), class: "default", tabindex: "-1" }, renderer.h("slot", { key: '7e291158dfbcb83181bb91e0506eb0a1b6cfb13b' }))));
|
1855
1858
|
}
|
1856
1859
|
static get watchers() { return {
|
1857
1860
|
"listenTo": ["handleListenToChange"],
|