@nanoporetech-digital/components 7.4.4 → 7.5.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-7444589a.js → algolia-data-0447757c.js} +2 -2
- package/dist/cjs/{algolia-data-7444589a.js.map → algolia-data-0447757c.js.map} +1 -1
- package/dist/cjs/app-globals-93d8b419.js.map +1 -1
- package/dist/cjs/{component-store-5d69aa2a.js → component-store-6a330cd1.js} +2 -2
- package/dist/cjs/{component-store-5d69aa2a.js.map → component-store-6a330cd1.js.map} +1 -1
- package/dist/cjs/{dom-9d327924.js → dom-756fcdac.js} +2 -2
- package/dist/cjs/{dom-9d327924.js.map → dom-756fcdac.js.map} +1 -1
- package/dist/cjs/{fade-7a47badb.js → fade-2dd9dd8b.js} +6 -4
- package/dist/cjs/fade-2dd9dd8b.js.map +1 -0
- package/dist/cjs/{form-control-574da2db.js → form-control-2d88adb2.js} +2 -2
- package/dist/cjs/{form-control-574da2db.js.map → form-control-2d88adb2.js.map} +1 -1
- package/dist/cjs/{fullscreen-31e27faa.js → fullscreen-5d0422de.js} +3 -3
- package/dist/cjs/{fullscreen-31e27faa.js.map → fullscreen-5d0422de.js.map} +1 -1
- package/dist/cjs/{index-7f89ccce.js → index-7795a8f6.js} +5 -6
- package/dist/cjs/index-7795a8f6.js.map +1 -0
- package/dist/cjs/{index-05605cc8.js → index-b6fa04fa.js} +3 -3
- package/dist/cjs/{index-05605cc8.js.map → index-b6fa04fa.js.map} +1 -1
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{lazyload-77a7f763.js → lazyload-f181cb37.js} +3 -3
- package/dist/cjs/{lazyload-77a7f763.js.map → lazyload-f181cb37.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/nano-accordion.cjs.entry.js +2 -2
- package/dist/cjs/nano-alert.cjs.entry.js +3 -3
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +3 -3
- 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 +4 -4
- package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-animation.cjs.entry.js +1 -1
- package/dist/cjs/nano-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/nano-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/nano-components.cjs.js +3 -3
- package/dist/cjs/nano-components.cjs.js.map +1 -1
- package/dist/cjs/nano-datalist_3.cjs.entry.js +13 -12
- package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-date-input.cjs.entry.js +1 -1
- package/dist/cjs/nano-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/nano-details.cjs.entry.js +1 -1
- package/dist/cjs/nano-dialog.cjs.entry.js +4 -4
- package/dist/cjs/nano-drawer.cjs.entry.js +5 -5
- package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dropdown.cjs.entry.js +5 -5
- package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-field-validator.cjs.entry.js +2 -2
- package/dist/cjs/nano-file-upload.cjs.entry.js +1 -1
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +4 -4
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +2 -2
- package/dist/cjs/nano-global-search-results.cjs.entry.js +1 -1
- package/dist/cjs/nano-grid-item.cjs.entry.js +1 -1
- package/dist/cjs/nano-grid_2.cjs.entry.js +2 -2
- package/dist/cjs/nano-grid_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-hero.cjs.entry.js +1 -1
- package/dist/cjs/nano-icon-button_2.cjs.entry.js +1 -1
- package/dist/cjs/nano-icon.cjs.entry.js +1 -1
- package/dist/cjs/nano-input.cjs.entry.js +4 -4
- package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-intersection-observe.cjs.entry.js +3 -3
- package/dist/cjs/nano-intersection-observe.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js +2 -2
- package/dist/cjs/nano-more-less.cjs.entry.js +1 -1
- package/dist/cjs/nano-overflow-nav.cjs.entry.js +2 -2
- package/dist/cjs/nano-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/nano-range.cjs.entry.js +1 -1
- package/dist/cjs/nano-rating.cjs.entry.js +8 -7
- 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-slide.cjs.entry.js +1 -1
- package/dist/cjs/{nano-slides-70182c35.js → nano-slides-612634dc.js} +1084 -16
- package/dist/cjs/nano-slides-612634dc.js.map +1 -0
- package/dist/cjs/nano-slides.cjs.entry.js +2 -2
- package/dist/cjs/nano-sortable.cjs.entry.js +1 -1
- package/dist/cjs/nano-spinner.cjs.entry.js +4 -4
- package/dist/cjs/nano-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-split-pane.cjs.entry.js +1 -1
- package/dist/cjs/nano-sticker.cjs.entry.js +2 -2
- package/dist/cjs/nano-tab-content.cjs.entry.js +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +5 -5
- package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab.cjs.entry.js +1 -1
- package/dist/cjs/{nano-table-862da228.js → nano-table-d81a0a48.js} +16 -16
- package/dist/cjs/nano-table-d81a0a48.js.map +1 -0
- package/dist/cjs/nano-table.cjs.entry.js +3 -3
- package/dist/cjs/page-dots-99dd88f6.js +140 -0
- package/dist/cjs/page-dots-99dd88f6.js.map +1 -0
- package/dist/cjs/{scroll-6abe4d89.js → scroll-772f7d0d.js} +2 -2
- package/dist/cjs/{scroll-6abe4d89.js.map → scroll-772f7d0d.js.map} +1 -1
- package/dist/cjs/{table.worker-5b29550e.js → table.worker-da5412ed.js} +1 -1
- package/dist/cjs/{table.worker-7510500c.js → table.worker-f14c92d4.js} +5 -5
- package/dist/cjs/table.worker-f14c92d4.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/alert/alert.helpers.js.map +1 -1
- package/dist/collection/components/datalist/datalist.js +12 -10
- package/dist/collection/components/datalist/datalist.js.map +1 -1
- package/dist/collection/components/drawer/drawer.css +8 -4
- package/dist/collection/components/dropdown/dropdown.js +5 -5
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/field-validator/field-validator.js +1 -1
- package/dist/collection/components/grid/grid.css +3 -1
- package/dist/collection/components/input/input.css +1 -1
- package/dist/collection/components/intersection-observe/intersection-observe.js +3 -3
- package/dist/collection/components/intersection-observe/intersection-observe.js.map +1 -1
- package/dist/collection/components/rating/rating.js +7 -6
- package/dist/collection/components/rating/rating.js.map +1 -1
- package/dist/collection/components/select/select.css +1 -1
- package/dist/collection/components/slides/lib/js/drag.js +308 -305
- package/dist/collection/components/slides/lib/js/drag.js.map +1 -1
- package/dist/collection/components/slides/lib/js/fade.js +3 -1
- package/dist/collection/components/slides/lib/js/fade.js.map +1 -1
- package/dist/collection/components/slides/lib/js/index.js +6 -3
- package/dist/collection/components/slides/lib/js/index.js.map +1 -1
- package/dist/collection/components/slides/lib/js/player.js +123 -121
- package/dist/collection/components/slides/lib/js/player.js.map +1 -1
- package/dist/collection/components/slides/lib/js/prev-next-button.js +179 -178
- package/dist/collection/components/slides/lib/js/prev-next-button.js.map +1 -1
- package/dist/collection/components/slides/slides.js +7 -7
- package/dist/collection/components/slides/slides.js.map +1 -1
- package/dist/collection/components/sortable/sortable.js +5 -5
- package/dist/collection/components/spinner/spinner.js +5 -5
- package/dist/collection/components/spinner/spinner.js.map +1 -1
- package/dist/collection/components/table/table.js +12 -12
- package/dist/collection/components/table/table.js.map +1 -1
- package/dist/collection/components/table/table.worker.js +4 -5
- package/dist/collection/components/table/table.worker.js.map +1 -1
- package/dist/collection/components/tabs/tab-group.css +3 -0
- package/dist/collection/index.js +2 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/components/algolia-data.js.map +1 -1
- package/dist/components/algolia.js.map +1 -1
- package/dist/components/datalist.js +13 -11
- package/dist/components/datalist.js.map +1 -1
- package/dist/components/dropdown.js +4 -4
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/fade.js +3 -1
- package/dist/components/fade.js.map +1 -1
- package/dist/components/grid.js +1 -1
- package/dist/components/grid.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +3 -4
- package/dist/components/index2.js.map +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/input.js.map +1 -1
- package/dist/components/nano-drawer.js +1 -1
- package/dist/components/nano-drawer.js.map +1 -1
- package/dist/components/nano-intersection-observe.js +2 -2
- package/dist/components/nano-intersection-observe.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-slides.js +1078 -10
- package/dist/components/nano-slides.js.map +1 -1
- package/dist/components/nano-tab-group.js +1 -1
- package/dist/components/nano-tab-group.js.map +1 -1
- package/dist/components/nano-table.js +12 -12
- package/dist/components/nano-table.js.map +1 -1
- package/dist/components/page-dots.js +1 -425
- package/dist/components/page-dots.js.map +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/select.js.map +1 -1
- package/dist/components/spinner.js +3 -3
- package/dist/components/spinner.js.map +1 -1
- package/dist/components/table.worker.js +1 -1
- package/dist/esm/{algolia-data-6fb6c60b.js → algolia-data-8fc24341.js} +2 -2
- package/dist/esm/{algolia-data-6fb6c60b.js.map → algolia-data-8fc24341.js.map} +1 -1
- package/dist/esm/app-globals-d4ab01f2.js.map +1 -1
- package/dist/esm/{component-store-a0eb3fb6.js → component-store-b798181b.js} +2 -2
- package/dist/esm/{component-store-a0eb3fb6.js.map → component-store-b798181b.js.map} +1 -1
- package/dist/esm/{dom-3db2202b.js → dom-d7f9f24c.js} +2 -2
- package/dist/esm/{dom-3db2202b.js.map → dom-d7f9f24c.js.map} +1 -1
- package/dist/esm/{fade-6d964000.js → fade-4ff5d9de.js} +6 -4
- package/dist/esm/fade-4ff5d9de.js.map +1 -0
- package/dist/esm/{form-control-53135184.js → form-control-812999d0.js} +2 -2
- package/dist/esm/{form-control-53135184.js.map → form-control-812999d0.js.map} +1 -1
- package/dist/esm/{fullscreen-a9c16b35.js → fullscreen-382d7890.js} +3 -3
- package/dist/esm/{fullscreen-a9c16b35.js.map → fullscreen-382d7890.js.map} +1 -1
- package/dist/esm/{index-815d3f98.js → index-3118109b.js} +3 -3
- package/dist/esm/{index-815d3f98.js.map → index-3118109b.js.map} +1 -1
- package/dist/esm/{index-32d24a05.js → index-d7a4a150.js} +5 -6
- package/dist/esm/index-d7a4a150.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{lazyload-07e752e9.js → lazyload-49b745e4.js} +3 -3
- package/dist/esm/{lazyload-07e752e9.js.map → lazyload-49b745e4.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/nano-accordion.entry.js +2 -2
- package/dist/esm/nano-alert.entry.js +3 -3
- package/dist/esm/nano-algolia-filter.entry.js +3 -3
- 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 +4 -4
- package/dist/esm/nano-algolia.entry.js.map +1 -1
- package/dist/esm/nano-animation.entry.js +1 -1
- package/dist/esm/nano-checkbox-group.entry.js +1 -1
- package/dist/esm/nano-checkbox.entry.js +1 -1
- package/dist/esm/nano-components.js +4 -4
- package/dist/esm/nano-components.js.map +1 -1
- package/dist/esm/nano-datalist_3.entry.js +13 -12
- package/dist/esm/nano-datalist_3.entry.js.map +1 -1
- package/dist/esm/nano-date-input.entry.js +1 -1
- package/dist/esm/nano-date-picker.entry.js +1 -1
- package/dist/esm/nano-details.entry.js +1 -1
- package/dist/esm/nano-dialog.entry.js +4 -4
- package/dist/esm/nano-drawer.entry.js +5 -5
- package/dist/esm/nano-drawer.entry.js.map +1 -1
- package/dist/esm/nano-dropdown.entry.js +5 -5
- package/dist/esm/nano-dropdown.entry.js.map +1 -1
- package/dist/esm/nano-field-validator.entry.js +2 -2
- package/dist/esm/nano-file-upload.entry.js +1 -1
- package/dist/esm/nano-global-nav-user-profile_3.entry.js +4 -4
- package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +2 -2
- package/dist/esm/nano-global-search-results.entry.js +1 -1
- package/dist/esm/nano-grid-item.entry.js +1 -1
- package/dist/esm/nano-grid_2.entry.js +2 -2
- package/dist/esm/nano-grid_2.entry.js.map +1 -1
- package/dist/esm/nano-hero.entry.js +1 -1
- package/dist/esm/nano-icon-button_2.entry.js +1 -1
- package/dist/esm/nano-icon.entry.js +1 -1
- package/dist/esm/nano-input.entry.js +4 -4
- package/dist/esm/nano-input.entry.js.map +1 -1
- package/dist/esm/nano-intersection-observe.entry.js +3 -3
- package/dist/esm/nano-intersection-observe.entry.js.map +1 -1
- package/dist/esm/nano-menu-drawer.entry.js +2 -2
- package/dist/esm/nano-more-less.entry.js +1 -1
- package/dist/esm/nano-overflow-nav.entry.js +2 -2
- package/dist/esm/nano-progress-bar.entry.js +1 -1
- package/dist/esm/nano-range.entry.js +1 -1
- package/dist/esm/nano-rating.entry.js +8 -7
- 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-slide.entry.js +1 -1
- package/dist/esm/{nano-slides-3feab833.js → nano-slides-c3eb1afe.js} +1084 -16
- package/dist/esm/nano-slides-c3eb1afe.js.map +1 -0
- package/dist/esm/nano-slides.entry.js +2 -2
- package/dist/esm/nano-sortable.entry.js +1 -1
- package/dist/esm/nano-spinner.entry.js +4 -4
- package/dist/esm/nano-spinner.entry.js.map +1 -1
- package/dist/esm/nano-split-pane.entry.js +1 -1
- package/dist/esm/nano-sticker.entry.js +2 -2
- package/dist/esm/nano-tab-content.entry.js +1 -1
- package/dist/esm/nano-tab-group.entry.js +5 -5
- package/dist/esm/nano-tab-group.entry.js.map +1 -1
- package/dist/esm/nano-tab.entry.js +1 -1
- package/dist/esm/{nano-table-740b628d.js → nano-table-869f0a31.js} +16 -16
- package/dist/esm/nano-table-869f0a31.js.map +1 -0
- package/dist/esm/nano-table.entry.js +3 -3
- package/dist/esm/page-dots-986d3b32.js +138 -0
- package/dist/esm/page-dots-986d3b32.js.map +1 -0
- package/dist/esm/{scroll-913c51a0.js → scroll-f373a189.js} +2 -2
- package/dist/esm/{scroll-913c51a0.js.map → scroll-f373a189.js.map} +1 -1
- package/dist/esm/{table.worker-26419534.js → table.worker-4af386bc.js} +5 -5
- package/dist/esm/table.worker-4af386bc.js.map +1 -0
- package/dist/esm/{table.worker-5b29550e.js → table.worker-da5412ed.js} +1 -1
- package/dist/nano-components/{algolia-data-6fb6c60b.js → algolia-data-8fc24341.js} +2 -2
- package/dist/nano-components/{algolia-data-6fb6c60b.js.map → algolia-data-8fc24341.js.map} +1 -1
- package/dist/nano-components/app-globals-d4ab01f2.js.map +1 -1
- package/dist/nano-components/{component-store-a0eb3fb6.js → component-store-b798181b.js} +2 -2
- package/dist/nano-components/{dom-3db2202b.js → dom-d7f9f24c.js} +2 -2
- package/dist/nano-components/fade-4ff5d9de.js +5 -0
- package/dist/nano-components/fade-4ff5d9de.js.map +1 -0
- package/dist/nano-components/{form-control-53135184.js → form-control-812999d0.js} +2 -2
- package/dist/nano-components/{fullscreen-a9c16b35.js → fullscreen-382d7890.js} +2 -2
- package/dist/nano-components/{index-815d3f98.js → index-3118109b.js} +2 -2
- package/dist/nano-components/{index-815d3f98.js.map → index-3118109b.js.map} +1 -1
- package/dist/nano-components/index-d7a4a150.js +5 -0
- package/dist/nano-components/index-d7a4a150.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/{lazyload-07e752e9.js → lazyload-49b745e4.js} +2 -2
- package/dist/nano-components/nano-accordion.entry.js +1 -1
- package/dist/nano-components/nano-alert.entry.js +1 -1
- package/dist/nano-components/nano-algolia-filter.entry.js +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.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-checkbox-group.entry.js +1 -1
- package/dist/nano-components/nano-checkbox.entry.js +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-picker.entry.js +1 -1
- package/dist/nano-components/nano-details.entry.js +1 -1
- package/dist/nano-components/nano-dialog.entry.js +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-file-upload.entry.js +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-search-results.entry.js +1 -1
- package/dist/nano-components/nano-grid-item.entry.js +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-icon-button_2.entry.js +1 -1
- package/dist/nano-components/nano-icon.entry.js +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-more-less.entry.js +1 -1
- package/dist/nano-components/nano-overflow-nav.entry.js +1 -1
- package/dist/nano-components/nano-progress-bar.entry.js +1 -1
- package/dist/nano-components/nano-range.entry.js +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-slide.entry.js +1 -1
- package/dist/nano-components/nano-slides-c3eb1afe.js +20 -0
- package/dist/nano-components/nano-slides-c3eb1afe.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-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-sticker.entry.js +1 -1
- package/dist/nano-components/nano-tab-content.entry.js +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-table-740b628d.js → nano-table-869f0a31.js} +2 -2
- package/dist/nano-components/{nano-table-740b628d.js.map → nano-table-869f0a31.js.map} +1 -1
- package/dist/nano-components/nano-table.entry.js +1 -1
- package/dist/nano-components/page-dots-986d3b32.js +5 -0
- package/dist/nano-components/page-dots-986d3b32.js.map +1 -0
- package/dist/nano-components/{scroll-913c51a0.js → scroll-f373a189.js} +2 -2
- package/dist/nano-components/table.worker-4af386bc.js +5 -0
- package/dist/nano-components/{table.worker-5b29550e.js → table.worker-da5412ed.js} +1 -1
- package/dist/themes/nanopore.css +1 -1
- package/dist/themes/nanopore.css.map +1 -1
- package/dist/types/components/alert/alert.helpers.d.ts +1 -1
- package/dist/types/components/datalist/datalist.d.ts +1 -1
- package/dist/types/components/intersection-observe/intersection-observe.d.ts +1 -1
- package/dist/types/components/slides/lib/js/drag.d.ts +2 -1
- package/dist/types/components/slides/lib/js/index.d.ts +0 -3
- package/dist/types/components/slides/lib/js/player.d.ts +2 -1
- package/dist/types/components/slides/lib/js/prev-next-button.d.ts +2 -1
- package/dist/types/components/spinner/spinner.d.ts +1 -1
- package/dist/types/components.d.ts +4 -1408
- package/dist/types/index.d.ts +2 -0
- package/docs-json.json +17 -17
- package/docs-vscode.json +2 -2
- package/hydrate/index.js +709 -63
- package/hydrate/index.mjs +709 -63
- package/package.json +3 -4
- package/themes/nanopore.css +1 -1
- package/themes/nanopore.css.map +1 -1
- package/dist/cjs/fade-7a47badb.js.map +0 -1
- package/dist/cjs/index-7f89ccce.js.map +0 -1
- package/dist/cjs/nano-slides-70182c35.js.map +0 -1
- package/dist/cjs/nano-table-862da228.js.map +0 -1
- package/dist/cjs/page-dots-ad7c3b76.js +0 -564
- package/dist/cjs/page-dots-ad7c3b76.js.map +0 -1
- package/dist/cjs/table.worker-7510500c.js.map +0 -1
- package/dist/collection/components/alert/alert-interface.js +0 -2
- package/dist/collection/components/alert/alert-interface.js.map +0 -1
- package/dist/esm/fade-6d964000.js.map +0 -1
- package/dist/esm/index-32d24a05.js.map +0 -1
- package/dist/esm/nano-slides-3feab833.js.map +0 -1
- package/dist/esm/nano-table-740b628d.js.map +0 -1
- package/dist/esm/page-dots-ca0bbb51.js +0 -562
- package/dist/esm/page-dots-ca0bbb51.js.map +0 -1
- package/dist/esm/table.worker-26419534.js.map +0 -1
- package/dist/nano-components/fade-6d964000.js +0 -5
- package/dist/nano-components/fade-6d964000.js.map +0 -1
- package/dist/nano-components/index-32d24a05.js +0 -5
- package/dist/nano-components/index-32d24a05.js.map +0 -1
- package/dist/nano-components/nano-slides-3feab833.js +0 -10
- package/dist/nano-components/nano-slides-3feab833.js.map +0 -1
- package/dist/nano-components/page-dots-ca0bbb51.js +0 -10
- package/dist/nano-components/page-dots-ca0bbb51.js.map +0 -1
- package/dist/nano-components/table.worker-26419534.js +0 -5
- package/dist/types/components/alert/alert-interface.d.ts +0 -1
- /package/dist/nano-components/{component-store-a0eb3fb6.js.map → component-store-b798181b.js.map} +0 -0
- /package/dist/nano-components/{dom-3db2202b.js.map → dom-d7f9f24c.js.map} +0 -0
- /package/dist/nano-components/{form-control-53135184.js.map → form-control-812999d0.js.map} +0 -0
- /package/dist/nano-components/{fullscreen-a9c16b35.js.map → fullscreen-382d7890.js.map} +0 -0
- /package/dist/nano-components/{lazyload-07e752e9.js.map → lazyload-49b745e4.js.map} +0 -0
- /package/dist/nano-components/{scroll-913c51a0.js.map → scroll-f373a189.js.map} +0 -0
- /package/dist/nano-components/{table.worker-26419534.js.map → table.worker-4af386bc.js.map} +0 -0
- /package/dist/types/builds/{8qhywLzS → HitvqeWT}/0/Digital/nano-components/packages/components/.stencil/generators/custom-element-doc-generator.d.ts +0 -0
- /package/dist/types/builds/{8qhywLzS → HitvqeWT}/0/Digital/nano-components/packages/components/.stencil/generators/vue/generate-vue-component.d.ts +0 -0
- /package/dist/types/builds/{8qhywLzS → HitvqeWT}/0/Digital/nano-components/packages/components/.stencil/generators/vue/index.d.ts +0 -0
- /package/dist/types/builds/{8qhywLzS → HitvqeWT}/0/Digital/nano-components/packages/components/.stencil/generators/vue/output-vue.d.ts +0 -0
- /package/dist/types/builds/{8qhywLzS → HitvqeWT}/0/Digital/nano-components/packages/components/.stencil/generators/vue/plugin.d.ts +0 -0
- /package/dist/types/builds/{8qhywLzS → HitvqeWT}/0/Digital/nano-components/packages/components/.stencil/generators/vue/types.d.ts +0 -0
- /package/dist/types/builds/{8qhywLzS → HitvqeWT}/0/Digital/nano-components/packages/components/.stencil/generators/vue/utils.d.ts +0 -0
- /package/dist/types/builds/{8qhywLzS → HitvqeWT}/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -0
- /package/dist/types/builds/{8qhywLzS → HitvqeWT}/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -0
- /package/dist/types/builds/{8qhywLzS → HitvqeWT}/0/Digital/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
- /package/dist/types/builds/{8qhywLzS → HitvqeWT}/0/Digital/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
@@ -1 +0,0 @@
|
|
1
|
-
{"file":"fade-6d964000.js","mappings":"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","names":[],"sources":["src/components/slides/lib/js/fade.ts"],"sourcesContent":["import Flickity from './flickity';\nimport { utils } from './utils/utils';\n\nconst Slide = Flickity.Slide;\n\nconst slideUpdateTarget = Slide.prototype.updateTarget;\nSlide.prototype.updateTarget = function (...args) {\n slideUpdateTarget.apply(this, args);\n if (!this.parent.options.fade) {\n return;\n }\n // position cells at selected target\n const slideTargetX = this.target - this.x;\n const firstCellX = this.cells[0].x;\n this.cells.forEach(function (cell) {\n const targetX = cell.x - firstCellX - slideTargetX;\n cell.renderPosition(targetX);\n });\n};\n\nSlide.prototype.setOpacity = function (alpha) {\n this.cells.forEach(function (cell) {\n cell.element.style.opacity = alpha;\n });\n};\n\n// ---- Flickity ---- //\n\nconst proto = Flickity.prototype;\n\nFlickity.createMethods.push('_createFade');\n\nproto._createFade = function () {\n this.fadeIndex = this.selectedIndex;\n this.prevSelectedIndex = this.selectedIndex;\n this.on('select', this.onSelectFade);\n this.on('dragEnd', this.onDragEndFade);\n this.on('settle', this.onSettleFade);\n this.on('activate', this.onActivateFade);\n this.on('deactivate', this.onDeactivateFade);\n};\n\nconst updateSlides = proto.updateSlides;\nproto.updateSlides = function (...args) {\n updateSlides.apply(this, args);\n if (!this.options.fade) {\n return;\n }\n // set initial opacity\n this.slides.forEach(function (slide, i) {\n const alpha = i == this.selectedIndex ? 1 : 0;\n slide.setOpacity(alpha);\n }, this);\n};\n\n/* ---- events ---- */\n\nproto.onSelectFade = function () {\n // in case of resize, keep fadeIndex within current count\n this.fadeIndex = Math.min(this.prevSelectedIndex, this.slides.length - 1);\n this.prevSelectedIndex = this.selectedIndex;\n};\n\nproto.onSettleFade = function () {\n delete this.didDragEnd;\n if (!this.options.fade) {\n return;\n }\n // set full and 0 opacity on selected & faded slides\n this.selectedSlide.setOpacity(1);\n const fadedSlide = this.slides[this.fadeIndex];\n if (fadedSlide && this.fadeIndex != this.selectedIndex) {\n this.slides[this.fadeIndex].setOpacity(0);\n }\n};\n\nproto.onDragEndFade = function () {\n // set flag\n this.didDragEnd = true;\n};\n\nproto.onActivateFade = function () {\n if (this.options.fade) {\n this.element.classList.add('is-fade');\n }\n};\n\nproto.onDeactivateFade = function () {\n if (!this.options.fade) {\n return;\n }\n this.element.classList.remove('is-fade');\n // reset opacity\n this.slides.forEach(function (slide) {\n slide.setOpacity('');\n });\n};\n\n/* ---- position & fading ---- */\n\nconst positionSlider = proto.positionSlider;\nproto.positionSlider = function (...args) {\n if (!this.options.fade) {\n positionSlider.apply(this, args);\n return;\n }\n\n this.fadeSlides();\n this.dispatchScrollEvent();\n};\n\nconst positionSliderAtSelected = proto.positionSliderAtSelected;\nproto.positionSliderAtSelected = function (...args) {\n if (this.options.fade) {\n // position fade slider at origin\n this.setTranslateX(0);\n }\n positionSliderAtSelected.apply(this, args);\n};\n\nproto.fadeSlides = function () {\n if (this.slides.length < 2) {\n return;\n }\n // get slides to fade-in & fade-out\n const indexes = this.getFadeIndexes();\n const fadeSlideA = this.slides[indexes.a];\n const fadeSlideB = this.slides[indexes.b];\n const distance = this.wrapDifference(fadeSlideA.target, fadeSlideB.target);\n let progress = this.wrapDifference(fadeSlideA.target, -this.x);\n progress = progress / distance;\n\n fadeSlideA.setOpacity(1 - progress);\n fadeSlideB.setOpacity(progress);\n\n // hide previous slide\n let fadeHideIndex = indexes.a;\n if (this.isDragging) {\n fadeHideIndex = progress > 0.5 ? indexes.a : indexes.b;\n }\n const isNewHideIndex =\n this.fadeHideIndex != undefined &&\n this.fadeHideIndex != fadeHideIndex &&\n this.fadeHideIndex != indexes.a &&\n this.fadeHideIndex != indexes.b;\n if (isNewHideIndex) {\n // new fadeHideSlide set, hide previous\n this.slides[this.fadeHideIndex].setOpacity(0);\n }\n this.fadeHideIndex = fadeHideIndex;\n};\n\nproto.getFadeIndexes = function () {\n if (!this.isDragging && !this.didDragEnd) {\n return {\n a: this.fadeIndex,\n b: this.selectedIndex,\n };\n }\n if (this.options.wrapAround) {\n return this.getFadeDragWrapIndexes();\n } else {\n return this.getFadeDragLimitIndexes();\n }\n};\n\nproto.getFadeDragWrapIndexes = function () {\n const distances = this.slides.map(function (_slide, i) {\n return this.getSlideDistance(-this.x, i);\n }, this);\n const absDistances = distances.map(function (distance) {\n return Math.abs(distance);\n });\n const minDistance = Math.min(...absDistances);\n const closestIndex = absDistances.indexOf(minDistance);\n const distance = distances[closestIndex];\n const len = this.slides.length;\n\n const delta = distance >= 0 ? 1 : -1;\n return {\n a: closestIndex,\n b: utils.modulo(closestIndex + delta, len),\n };\n};\n\nproto.getFadeDragLimitIndexes = function () {\n // calculate closest previous slide\n let dragIndex = 0;\n for (let i = 0; i < this.slides.length - 1; i++) {\n const slide = this.slides[i];\n if (-this.x < slide.target) {\n break;\n }\n dragIndex = i;\n }\n return {\n a: dragIndex,\n b: dragIndex + 1,\n };\n};\n\nproto.wrapDifference = function (a, b) {\n let diff = b - a;\n\n if (!this.options.wrapAround) {\n return diff;\n }\n\n const diffPlus = diff + this.slideableWidth;\n const diffMinus = diff - this.slideableWidth;\n if (Math.abs(diffPlus) < Math.abs(diff)) {\n diff = diffPlus;\n }\n if (Math.abs(diffMinus) < Math.abs(diff)) {\n diff = diffMinus;\n }\n return diff;\n};\n\n// ---- wrapAround ---- //\n\nconst _getWrapShiftCells = proto._getWrapShiftCells;\nproto._getWrapShiftCells = function (...args) {\n if (!this.options.fade) {\n _getWrapShiftCells.apply(this, args);\n }\n};\n\nconst shiftWrapCells = proto.shiftWrapCells;\nproto.shiftWrapCells = function (...args) {\n if (!this.options.fade) {\n shiftWrapCells.apply(this, args);\n }\n};\n"],"version":3}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"file":"index-32d24a05.js","mappings":"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","names":[],"sources":["../../node_modules/.pnpm/@stencil+store@2.0.16_@stencil+core@4.27.1/node_modules/@stencil/store/dist/index.mjs"],"sourcesContent":["import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n"],"version":3}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"file":"nano-slides-3feab833.js","mappings":"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","names":["proto","console","getComputedStyle"],"sources":["src/components/slides/lib/js/utils/event-emitter.ts","src/components/slides/lib/js/utils/get-size.ts","src/components/slides/lib/js/utils/utils.ts","src/components/slides/lib/js/cell.ts","src/components/slides/lib/js/slide.ts","src/components/slides/lib/js/animate.ts","src/components/slides/lib/js/flickity.ts","src/components/slides/lib/js/index.ts","src/components/slides/slides.scss?tag=nano-slides&encapsulation=shadow","src/components/slides/slides.tsx"],"sourcesContent":["export function EvEmitter() {}\n\nconst proto = EvEmitter.prototype;\n\nproto.on = function (eventName, listener) {\n if (!eventName || !listener) {\n return;\n }\n // set events hash\n const events = (this._events = this._events || {});\n // set listeners array\n const listeners = (events[eventName] = events[eventName] || []);\n // only add once\n if (listeners.indexOf(listener) == -1) {\n listeners.push(listener);\n }\n\n return this;\n};\n\nproto.once = function (eventName, listener) {\n if (!eventName || !listener) {\n return;\n }\n // add event\n this.on(eventName, listener);\n // set once flag\n // set onceEvents hash\n const onceEvents = (this._onceEvents = this._onceEvents || {});\n // set onceListeners object\n const onceListeners = (onceEvents[eventName] = onceEvents[eventName] || {});\n // set flag\n onceListeners[listener] = true;\n\n return this;\n};\n\nproto.off = function (eventName, listener) {\n const listeners = this._events && this._events[eventName];\n if (!listeners || !listeners.length) {\n return;\n }\n const index = listeners.indexOf(listener);\n if (index != -1) {\n listeners.splice(index, 1);\n }\n\n return this;\n};\n\nproto.emitEvent = function (eventName, args) {\n let listeners = this._events && this._events[eventName];\n if (!listeners || !listeners.length) {\n return;\n }\n // copy over to avoid interference if .off() in listener\n listeners = listeners.slice(0);\n args = args || [];\n // once stuff\n const onceListeners = this._onceEvents && this._onceEvents[eventName];\n\n for (let i = 0; i < listeners.length; i++) {\n const listener = listeners[i];\n const isOnce = onceListeners && onceListeners[listener];\n if (isOnce) {\n // remove listener\n // remove before trigger to prevent recursion\n this.off(eventName, listener);\n // unset once flag\n delete onceListeners[listener];\n }\n // trigger listener\n listener.apply(this, args);\n }\n\n return this;\n};\n\nproto.allOff = function () {\n delete this._events;\n delete this._onceEvents;\n};\n","/*!\n * getSize v2.0.3\n * measure size of elements\n * MIT license\n */\n\n// get a number from a string, not a percentage\nfunction getStyleSize(value): number | boolean {\n const num = parseFloat(value);\n // not a percent like '100%', and a number\n const isValid = value.indexOf('%') == -1 && !isNaN(num);\n return isValid && num;\n}\n\nfunction noop() {}\n\nconst logError =\n typeof console == 'undefined'\n ? noop\n : function (message) {\n console.error(message);\n };\n\n// -------------------------- measurements -------------------------- //\n\nconst measurements = [\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'paddingBottom',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marginBottom',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderTopWidth',\n 'borderBottomWidth',\n];\n\nconst measurementsLength = measurements.length;\n\nfunction getZeroSize() {\n const size = {\n width: 0,\n height: 0,\n innerWidth: 0,\n innerHeight: 0,\n outerWidth: 0,\n outerHeight: 0,\n };\n for (let i = 0; i < measurementsLength; i++) {\n const measurement = measurements[i];\n size[measurement] = 0;\n }\n return size;\n}\n\n// -------------------------- getStyle -------------------------- //\n\n/**\n * getStyle, get style of element, check for Firefox bug\n * https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n * @param elem element to get styles for\n * @returns {CSSStyleDeclaration} styles of element\n */\nfunction getStyle(elem) {\n const style = getComputedStyle(elem);\n if (!style) {\n logError(\n 'Style returned ' +\n style +\n '. Are you running this code in a hidden iframe on Firefox? ' +\n 'See https://bit.ly/getsizebug1'\n );\n }\n return style;\n}\n\n// -------------------------- setup -------------------------- //\n\nlet isSetup = false;\n\nlet isBoxSizeOuter;\n\n/**\n * setup\n * check isBoxSizerOuter\n * do on first getSize() rather than on page load for Firefox bug\n */\nfunction setup() {\n // setup once\n if (isSetup) {\n return;\n }\n isSetup = true;\n\n // -------------------------- box sizing -------------------------- //\n\n /**\n * Chrome & Safari measure the outer-width on style.width on border-box elems\n * IE11 & Firefox<29 measures the inner-width\n */\n const div = document.createElement('div');\n div.style.width = '200px';\n div.style.padding = '1px 2px 3px 4px';\n div.style.borderStyle = 'solid';\n div.style.borderWidth = '1px 2px 3px 4px';\n div.style.boxSizing = 'border-box';\n\n const body = document.body || document.documentElement;\n body.appendChild(div);\n const style = getStyle(div);\n // round value for browser zoom. desandro/masonry#928\n isBoxSizeOuter = Math.round(getStyleSize(style.width) as number) == 200;\n // @ts-ignore\n getSize.isBoxSizeOuter = isBoxSizeOuter;\n\n body.removeChild(div);\n}\n\n// -------------------------- getSize -------------------------- //\n\nexport function getSize(elem) {\n setup();\n\n // use querySeletor if elem is string\n if (typeof elem == 'string') {\n elem = document.querySelector(elem);\n }\n\n // do not proceed on non-objects\n if (!elem || typeof elem != 'object' || !elem.nodeType) {\n return;\n }\n\n const style = getStyle(elem);\n\n // if hidden, everything is 0\n if (style.display == 'none') {\n return getZeroSize();\n }\n\n const size: any = {};\n size.width = elem.offsetWidth;\n size.height = elem.offsetHeight;\n\n const isBorderBox = (size.isBorderBox = style.boxSizing == 'border-box');\n\n // get all measurements\n for (let i = 0; i < measurementsLength; i++) {\n const measurement = measurements[i];\n const value = style[measurement];\n const num = parseFloat(value);\n // any 'auto', 'medium' value will be 0\n size[measurement] = !isNaN(num) ? num : 0;\n }\n\n const paddingWidth = size.paddingLeft + size.paddingRight;\n const paddingHeight = size.paddingTop + size.paddingBottom;\n const marginWidth = size.marginLeft + size.marginRight;\n const marginHeight = size.marginTop + size.marginBottom;\n const borderWidth = size.borderLeftWidth + size.borderRightWidth;\n const borderHeight = size.borderTopWidth + size.borderBottomWidth;\n\n const isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;\n\n // overwrite width and height if we can get it from style\n const styleWidth = getStyleSize(style.width);\n if (styleWidth !== false) {\n size.width =\n styleWidth +\n // add padding and border unless it's already including it\n (isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth);\n }\n\n const styleHeight = getStyleSize(style.height);\n if (styleHeight !== false) {\n size.height =\n styleHeight +\n // add padding and border unless it's already including it\n (isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight);\n }\n\n size.innerWidth = size.width - (paddingWidth + borderWidth);\n size.innerHeight = size.height - (paddingHeight + borderHeight);\n\n size.outerWidth = size.width + marginWidth;\n size.outerHeight = size.height + marginHeight;\n\n return size;\n}\n","/**\n * Fizzy UI utils v2.0.7\n * MIT license\n */\n\n/*jshint browser: true, undef: true, unused: true, strict: true */\n\nexport const utils: any = {};\n\n// ----- extend ----- //\n\n// extends objects\nutils.extend = function (a, b) {\n for (const prop in b) {\n a[prop] = b[prop];\n }\n return a;\n};\n\n// ----- docReady ----- //\n\nutils.docReady = function (callback) {\n const readyState = document.readyState;\n if (readyState == 'complete' || readyState == 'interactive') {\n // do async to allow for other scripts to run. metafizzy/flickity#441\n setTimeout(callback);\n } else {\n document.addEventListener('DOMContentLoaded', callback);\n }\n};\n\n// ----- toDashed ----- //\n\nutils.toDashed = function (str) {\n return str\n .replace(/(.)([A-Z])/g, function (_match, $1, $2) {\n return $1 + '-' + $2;\n })\n .toLowerCase();\n};\n\n// ----- modulo ----- //\n\nutils.modulo = function (num, div) {\n return ((num % div) + div) % div;\n};\n\n// ----- makeArray ----- //\n\nconst arraySlice = Array.prototype.slice;\n\n// turn element or nodeList into an array\nutils.makeArray = function (obj) {\n if (Array.isArray(obj)) {\n // use object if already an array\n return obj;\n }\n // return empty array if undefined or null. #6\n if (obj === null || obj === undefined) {\n return [];\n }\n\n const isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';\n if (isArrayLike) {\n // convert nodeList to array\n return arraySlice.call(obj);\n }\n\n // array of single index\n return [obj];\n};\n\n// ----- getParent ----- //\n\nutils.getParent = function (elem: HTMLElement, selector: string) {\n while (elem.parentNode && elem != document.body) {\n elem = elem.parentElement;\n if (elem.matches(selector)) {\n return elem;\n }\n }\n};\n\n// ----- getQueryElement ----- //\n\n// use element as selector string\nutils.getQueryElement = function (elem) {\n if (typeof elem == 'string') {\n return document.querySelector(elem);\n }\n return elem;\n};\n\n// ----- handleEvent ----- //\n\n// enable .ontype to trigger from .addEventListener( elem, 'type' )\nutils.handleEvent = function (event) {\n const method = 'on' + event.type;\n if (this[method]) {\n this[method](event);\n }\n};\n\n// ----- filterFindElements ----- //\n\nutils.filterFindElements = function (elems, selector) {\n // make array of elems\n elems = utils.makeArray(elems);\n const ffElems = [];\n\n elems.forEach(function (elem: HTMLElement) {\n // check that elem is an actual element\n if (!(elem instanceof HTMLElement)) {\n return;\n }\n // add elem if no selector\n if (!selector) {\n ffElems.push(elem);\n return;\n }\n // filter & find items if we have a selector\n // filter\n if (elem.matches(selector)) {\n ffElems.push(elem);\n }\n // find children\n const childElems = elem.querySelectorAll(selector);\n // concat childElems to filterFound array\n for (let i = 0; i < childElems.length; i++) {\n ffElems.push(childElems[i]);\n }\n });\n\n return ffElems;\n};\n\n// ----- debounceMethod ----- //\n\nutils.debounceMethod = function (_class, methodName, threshold) {\n threshold = threshold || 100;\n // original method\n const method = _class.prototype[methodName];\n const timeoutName = methodName + 'Timeout';\n\n _class.prototype[methodName] = function (...args) {\n const timeout = this[timeoutName];\n clearTimeout(timeout);\n\n const _this = this;\n this[timeoutName] = setTimeout(function () {\n method.apply(_this, args);\n delete _this[timeoutName];\n }, threshold);\n };\n};\n\nconst console = window.console;\n/**\n * allow user to initialize classes via [data-namespace] or .js-namespace class\n * htmlInit( Widget, 'widgetName' )\n * options are parsed from data-namespace-options\n */\nutils.htmlInit = function (WidgetClass, namespace) {\n utils.docReady(function () {\n const dashedNamespace = utils.toDashed(namespace);\n const dataAttr = 'data-' + dashedNamespace;\n const dataAttrElems = document.querySelectorAll('[' + dataAttr + ']');\n const jsDashElems = document.querySelectorAll('.js-' + dashedNamespace);\n const elems = utils\n .makeArray(dataAttrElems)\n .concat(utils.makeArray(jsDashElems));\n const dataOptionsAttr = dataAttr + '-options';\n\n elems.forEach(function (elem) {\n const attr =\n elem.getAttribute(dataAttr) || elem.getAttribute(dataOptionsAttr);\n let options;\n try {\n options = attr && JSON.parse(attr);\n } catch (error) {\n // log error, do not initialize\n if (console) {\n console.error(\n 'Error parsing ' + dataAttr + ' on ' + elem.className + ': ' + error\n );\n }\n return;\n }\n // initialize\n // @ts-ignore\n const instance = new WidgetClass(elem, options);\n });\n });\n};\n","import { getSize } from './utils/get-size';\n\nexport default function Cell(elem, parent) {\n this.element = elem;\n this.parent = parent;\n\n this.create();\n}\n\nconst proto = Cell.prototype;\n\nproto.create = function () {\n this.element.style.position = 'absolute';\n this.element.setAttribute('aria-hidden', 'true');\n this.x = 0;\n this.shift = 0;\n Array.from(this.element.querySelectorAll('*')).forEach((element) => {\n (element as HTMLElement).setAttribute('tabindex', '-1');\n });\n};\n\nproto.destroy = function () {\n // reset style\n this.unselect();\n this.element.style.position = '';\n const side = this.parent.originSide;\n this.element.style[side] = '';\n};\n\nproto.getSize = function () {\n this.size = getSize(this.element);\n};\n\nproto.setPosition = function (x) {\n this.x = x;\n this.updateTarget();\n this.renderPosition(x);\n};\n\n// setDefaultTarget v1 method, backwards compatibility, remove in v3\nproto.updateTarget = proto.setDefaultTarget = function () {\n const marginProperty =\n this.parent.originSide == 'left' ? 'marginLeft' : 'marginRight';\n this.target =\n this.x +\n this.size[marginProperty] +\n this.size.width * this.parent.cellAlign;\n};\n\nproto.renderPosition = function (x) {\n // render position of cell with in slider\n const side = this.parent.originSide;\n this.element.style[side] = this.parent.getPositionValue(x);\n};\n\nproto.select = function () {\n this.element.classList.add('is-selected');\n this.element.removeAttribute('aria-hidden');\n Array.from(this.element.querySelectorAll('*')).forEach((element) => {\n (element as HTMLElement).removeAttribute('tabindex');\n });\n};\n\nproto.unselect = function () {\n this.element.classList.remove('is-selected');\n this.element.setAttribute('aria-hidden', 'true');\n Array.from(this.element.querySelectorAll('*')).forEach((element) => {\n (element as HTMLElement).setAttribute('tabindex', '-1');\n });\n};\n\n/**\n * @param {Integer} shift - 0, 1, or -1\n **/\nproto.wrapShift = function (shift) {\n this.shift = shift;\n this.renderPosition(this.x + this.parent.slideableWidth * shift);\n};\n\nproto.remove = function () {\n this.element.parentNode.removeChild(this.element);\n};\n","export default function Slide(parent) {\n this.parent = parent;\n this.isOriginLeft = parent.originSide == 'left';\n this.cells = [];\n this.outerWidth = 0;\n this.height = 0;\n}\n\nconst proto = Slide.prototype;\n\nproto.addCell = function (cell) {\n this.cells.push(cell);\n this.outerWidth += cell.size.outerWidth;\n this.height = Math.max(cell.size.outerHeight, this.height);\n // first cell stuff\n if (this.cells.length == 1) {\n this.x = cell.x; // x comes from first cell\n const beginMargin = this.isOriginLeft ? 'marginLeft' : 'marginRight';\n this.firstMargin = cell.size[beginMargin];\n }\n};\n\nproto.updateTarget = function () {\n const endMargin = this.isOriginLeft ? 'marginRight' : 'marginLeft';\n const lastCell = this.getLastCell();\n const lastMargin = lastCell ? lastCell.size[endMargin] : 0;\n const slideWidth = this.outerWidth - (this.firstMargin + lastMargin);\n this.target = this.x + this.firstMargin + slideWidth * this.parent.cellAlign;\n};\n\nproto.getLastCell = function () {\n return this.cells[this.cells.length - 1];\n};\n\nproto.select = function () {\n this.cells.forEach(function (cell) {\n cell.select();\n });\n};\n\nproto.unselect = function () {\n this.cells.forEach(function (cell) {\n cell.unselect();\n });\n};\n\nproto.getCellElements = function () {\n return this.cells.map(function (cell) {\n return cell.element;\n });\n};\n","import { utils } from './utils/utils';\n\nconst proto: any = {};\n\nproto.startAnimation = function () {\n if (this.isAnimating) {\n return;\n }\n\n this.isAnimating = true;\n this.restingFrames = 0;\n this.animate();\n};\n\nproto.animate = function () {\n this.applyDragForce();\n this.applySelectedAttraction();\n\n const previousX = this.x;\n\n this.integratePhysics();\n this.positionSlider();\n this.settle(previousX);\n // animate next frame\n if (this.isAnimating) {\n const _this = this;\n requestAnimationFrame(function animateFrame() {\n _this.animate();\n });\n }\n};\n\nproto.positionSlider = function () {\n let x = this.x;\n // wrap position around\n if (this.options.wrapAround && this.cells.length > 1) {\n x = utils.modulo(x, this.slideableWidth);\n x = x - this.slideableWidth;\n this.shiftWrapCells(x);\n }\n\n this.setTranslateX(x, this.isAnimating);\n this.dispatchScrollEvent();\n};\n\nproto.setTranslateX = function (x, _is3d) {\n x += this.cursorPosition;\n // reverse if right-to-left and using transform\n x = this.options.rightToLeft ? -x : x;\n const translateX = this.getPositionValue(x);\n // use 3D tranforms for hardware acceleration on iOS\n // but use 2D when settled, for better font-rendering\n // this.slider.style.transform = is3d\n // ? 'translate3d(' + translateX + ',0,0)'\n // : 'translateX(' + translateX + ')';\n\n this.slider.style.transform = 'translate3d(' + translateX + ',0,0)';\n};\n\nproto.dispatchScrollEvent = function () {\n const firstSlide = this.slides[0];\n if (!firstSlide) {\n return;\n }\n const positionX = -this.x - firstSlide.target;\n const progress = positionX / this.slidesWidth;\n this.dispatchEvent('scroll', null, [progress, positionX]);\n};\n\nproto.positionSliderAtSelected = function () {\n if (!this.cells.length) {\n return;\n }\n this.x = -this.selectedSlide.target;\n this.velocity = 0; // stop wobble\n this.positionSlider();\n};\n\nproto.getPositionValue = function (position) {\n if (this.options.percentPosition) {\n // percent position, round to 2 digits, like 12.34%\n return Math.round((position / this.size.innerWidth) * 10000) * 0.01 + '%';\n } else {\n // pixel positioning\n return Math.round(position) + 'px';\n }\n};\n\nproto.settle = function (previousX) {\n // keep track of frames where x hasn't moved\n if (\n !this.isPointerDown &&\n Math.round(this.x * 100) == Math.round(previousX * 100)\n ) {\n this.restingFrames++;\n }\n // stop animating if resting for 3 or more frames\n if (this.restingFrames > 2) {\n this.isAnimating = false;\n delete this.isFreeScrolling;\n // render position with translateX when settled\n this.positionSlider();\n this.dispatchEvent('settle', null, [this.selectedIndex]);\n }\n};\n\nproto.shiftWrapCells = function (x) {\n // shift before cells\n const beforeGap = this.cursorPosition + x;\n this._shiftCells(this.beforeShiftCells, beforeGap, -1);\n // shift after cells\n const afterGap =\n this.size.innerWidth - (x + this.slideableWidth + this.cursorPosition);\n this._shiftCells(this.afterShiftCells, afterGap, 1);\n};\n\nproto._shiftCells = function (cells, gap, shift) {\n for (let i = 0; i < cells.length; i++) {\n const cell = cells[i];\n const cellShift = gap > 0 ? shift : 0;\n cell.wrapShift(cellShift);\n gap -= cell.size.outerWidth;\n }\n};\n\nproto._unshiftCells = function (cells) {\n if (!cells || !cells.length) {\n return;\n }\n for (let i = 0; i < cells.length; i++) {\n cells[i].wrapShift(0);\n }\n};\n\n// -------------------------- physics -------------------------- //\n\nproto.integratePhysics = function () {\n this.x += this.velocity;\n this.velocity *= this.getFrictionFactor();\n};\n\nproto.applyForce = function (force) {\n this.velocity += force;\n};\n\nproto.getFrictionFactor = function () {\n return (\n 1 - this.options[this.isFreeScrolling ? 'freeScrollFriction' : 'friction']\n );\n};\n\nproto.getRestingPosition = function () {\n // my thanks to Steven Wittens, who simplified this math greatly\n return this.x + this.velocity / (1 - this.getFrictionFactor());\n};\n\nproto.applyDragForce = function () {\n if (!this.isDraggable || !this.isPointerDown) {\n return;\n }\n // change the position to drag position by applying force\n const dragVelocity = this.dragX - this.x;\n const dragForce = dragVelocity - this.velocity;\n this.applyForce(dragForce);\n};\n\nproto.applySelectedAttraction = function () {\n // do not attract if pointer down or no slides\n const dragDown = this.isDraggable && this.isPointerDown;\n if (dragDown || this.isFreeScrolling || !this.slides.length) {\n return;\n }\n const distance = this.selectedSlide.target * -1 - this.x;\n const force = distance * this.options.selectedAttraction;\n this.applyForce(force);\n};\n\nexport default proto;\n","import { EvEmitter } from './utils/event-emitter';\nimport { getSize } from './utils/get-size';\nimport { utils } from './utils/utils';\nimport Cell from './cell';\nimport Slide from './slide';\nimport animatePrototype from './animate';\n\n// vars\nconst getComputedStyle = window.getComputedStyle;\nconst console = window.console;\n\nfunction moveElements(elems, toElem) {\n elems = utils.makeArray(elems);\n while (elems.length) {\n toElem.appendChild(elems.shift());\n }\n}\n\n// -------------------------- Flickity -------------------------- //\n\n// globally unique identifiers\nlet GUID = 0;\n// internal store of all Flickity intances\nconst instances = {};\n\nexport default function Flickity(element, options): void {\n const queryElement = utils.getQueryElement(element);\n if (!queryElement) {\n if (console) {\n console.error('Bad element for Flickity: ' + (queryElement || element));\n }\n return;\n }\n this.element = queryElement;\n // do not initialize twice on same element\n if (this.element.flickityGUID) {\n const instance = instances[this.element.flickityGUID];\n if (!instances[this.element.flickityGUID]) return;\n instance.option(options);\n return instance;\n }\n\n // options\n this.options = utils.extend({}, this.constructor.defaults);\n this.option(options);\n\n // kick things off\n this._create();\n}\n\nFlickity.defaults = {\n accessibility: true,\n // adaptiveHeight: false,\n cellAlign: 'center',\n // cellSelector: undefined,\n // contain: false,\n freeScrollFriction: 0.075, // friction when free-scrolling\n friction: 0.28, // friction when selecting\n namespaceJQueryEvents: true,\n // initialIndex: 0,\n percentPosition: true,\n resize: true,\n selectedAttraction: 0.025,\n setGallerySize: true,\n // watchCSS: false,\n // wrapAround: false\n};\n\n// hash of methods triggered on _create()\nFlickity.createMethods = [];\n\nconst proto = Flickity.prototype;\n// inherit EventEmitter\nutils.extend(proto, EvEmitter.prototype);\n\nproto._create = function () {\n // add id for Flickity.data\n const id = (this.guid = ++GUID);\n this.element.flickityGUID = id; // expando\n instances[id] = this; // associate via id\n // initial properties\n this.selectedIndex = 0;\n // how many frames slider has been in same position\n this.restingFrames = 0;\n // initial physics properties\n this.x = 0;\n this.velocity = 0;\n this.originSide = this.options.rightToLeft ? 'right' : 'left';\n // create viewport & slider\n this.viewport = document.createElement('div');\n this.viewport.className = 'flickity-viewport';\n this.viewport.part.add('slide-viewport');\n this._createSlider();\n\n if (this.options.resize || this.options.watchCSS) {\n window.addEventListener('resize', this);\n }\n\n // add listeners from on option\n for (const eventName in this.options.on) {\n const listener = this.options.on[eventName];\n this.on(eventName, listener);\n }\n\n Flickity.createMethods.forEach(function (method) {\n this[method]();\n }, this);\n\n if (this.options.watchCSS) {\n this.watchCSS();\n } else {\n this.activate();\n }\n};\n\n/**\n * set options\n * @param {Object} opts\n */\nproto.option = function (opts) {\n utils.extend(this.options, opts);\n};\n\nproto.activate = function () {\n if (this.isActive) {\n return;\n }\n this.isActive = true;\n this.element.classList.add('flickity-enabled');\n if (this.options.rightToLeft) {\n this.element.classList.add('flickity-rtl');\n }\n\n this.getSize();\n // move initial cell elements so they can be loaded as cells\n const cellElems = this.element.children; //this._filterFindCellElements( this.element.children );\n moveElements(cellElems, this.slider);\n this.viewport.appendChild(this.slider);\n this.element.appendChild(this.viewport);\n // get cells from children\n this.reloadCells();\n\n if (this.options.accessibility) {\n // allow element to focusable\n this.element.tabIndex = 0;\n // listen for key presses\n this.element.addEventListener('keydown', this);\n }\n\n this.emitEvent('activate');\n this.selectInitialIndex();\n // flag for initial activation, for using initialIndex\n this.isInitActivated = true;\n // ready event. #493\n this.dispatchEvent('ready');\n};\n\n// slider positions the cells\nproto._createSlider = function () {\n // slider element does all the positioning\n const slider = document.createElement('div');\n slider.className = 'flickity-slider';\n slider.style[this.originSide as string] = 0;\n this.slider = slider;\n};\n\nproto._filterFindCellElements = function (elems) {\n return utils.filterFindElements(elems, this.options.cellSelector);\n};\n\n// goes through all children\nproto.reloadCells = function () {\n // collection of item elements\n this.cells = this._makeCells(\n this.slider.getRootNode().host\n ? this.slider.getRootNode().host.children\n : this.slider.children\n );\n this.positionCells();\n this._getWrapShiftCells();\n this.setGallerySize();\n};\n\n/**\n * turn elements into Flickity.Cells\n * @param {Array or NodeList or HTMLElement} elems\n * @returns {Array} items - collection of new Flickity Cells\n */\nproto._makeCells = function (elems) {\n const cellElems = this._filterFindCellElements(elems);\n\n // create new Flickity for collection\n const cells = cellElems.map(function (cellElem) {\n return new Cell(cellElem, this);\n }, this);\n\n return cells;\n};\n\nproto.getLastCell = function () {\n return this.cells[this.cells.length - 1];\n};\n\nproto.getLastSlide = function () {\n return this.slides[this.slides.length - 1];\n};\n\n// positions all cells\nproto.positionCells = function () {\n // size all cells\n this._sizeCells(this.cells);\n // position all cells\n this._positionCells(0);\n};\n\n/**\n * position certain cells\n * @param {Integer} index - which cell to start with\n */\nproto._positionCells = function (index) {\n index = index || 0;\n // also measure maxCellHeight\n // start 0 if positioning all cells\n this.maxCellHeight = index ? this.maxCellHeight || 0 : 0;\n let cellX = 0;\n // get cellX\n if (index > 0) {\n const startCell = this.cells[index - 1];\n cellX = startCell.x + startCell.size.outerWidth;\n }\n const len = this.cells.length;\n for (let i = index; i < len; i++) {\n const cell = this.cells[i];\n cell.setPosition(cellX);\n cellX += cell.size.outerWidth;\n this.maxCellHeight = Math.max(cell.size.outerHeight, this.maxCellHeight);\n }\n // keep track of cellX for wrap-around\n this.slideableWidth = cellX;\n // slides\n this.updateSlides();\n // contain slides target\n this._containSlides();\n // update slidesWidth\n this.slidesWidth = len\n ? this.getLastSlide().target - this.slides[0].target\n : 0;\n};\n\n/**\n * cell.getSize() on multiple cells\n * @param {Array} cells\n */\nproto._sizeCells = function (cells) {\n cells.forEach(function (cell) {\n cell.getSize();\n });\n};\n\n// -------------------------- -------------------------- //\n\nproto.updateSlides = function () {\n this.slides = [];\n if (!this.cells.length) {\n return;\n }\n\n let slide = new Slide(this);\n this.slides.push(slide);\n const isOriginLeft = this.originSide == 'left';\n const nextMargin = isOriginLeft ? 'marginRight' : 'marginLeft';\n\n const canCellFit = this._getCanCellFit();\n\n this.cells.forEach(function (cell, i) {\n // just add cell if first cell in slide\n if (!slide.cells.length) {\n slide.addCell(cell);\n return;\n }\n\n const slideWidth =\n slide.outerWidth -\n slide.firstMargin +\n (cell.size.outerWidth - cell.size[nextMargin]);\n\n if (canCellFit.call(this, i, slideWidth)) {\n slide.addCell(cell);\n } else {\n // doesn't fit, new slide\n slide.updateTarget();\n\n slide = new Slide(this);\n this.slides.push(slide);\n slide.addCell(cell);\n }\n }, this);\n // last slide\n slide.updateTarget();\n // update .selectedSlide\n this.updateSelectedSlide();\n};\n\nproto._getCanCellFit = function () {\n const groupCells = this.options.groupCells;\n if (!groupCells) {\n return function () {\n return false;\n };\n } else if (typeof groupCells == 'number') {\n // group by number. 3 -> [0,1,2], [3,4,5], ...\n // @ts-ignore\n const number = parseInt(groupCells, 10);\n return function (i) {\n return i % number !== 0;\n };\n }\n // default, group by width of slide\n // parse '75%\n const percentMatch =\n typeof groupCells == 'string' && groupCells.match(/^(\\d+)%$/);\n const percent = percentMatch ? parseInt(percentMatch[1], 10) / 100 : 1;\n return function (_i, slideWidth) {\n return slideWidth <= (this.size.innerWidth + 1) * percent;\n };\n};\n\n// alias _init for jQuery plugin .flickity()\nproto._init = proto.reposition = function () {\n this.positionCells();\n this.positionSliderAtSelected();\n};\n\nproto.getSize = function () {\n this.size = getSize(this.element);\n this.setCellAlign();\n this.cursorPosition = this.size.innerWidth * this.cellAlign;\n};\n\nconst cellAlignShorthands = {\n // cell align, then based on origin side\n center: {\n left: 0.5,\n right: 0.5,\n },\n left: {\n left: 0,\n right: 1,\n },\n right: {\n right: 0,\n left: 1,\n },\n};\n\nproto.setCellAlign = function () {\n const shorthand = cellAlignShorthands[this.options.cellAlign];\n this.cellAlign = shorthand\n ? shorthand[this.originSide]\n : this.options.cellAlign;\n};\n\nproto.setGallerySize = function () {\n if (this.options.setGallerySize) {\n const height =\n this.options.adaptiveHeight && this.selectedSlide\n ? this.selectedSlide.height\n : this.maxCellHeight;\n this.viewport.style.height = height + 'px';\n }\n};\n\nproto._getWrapShiftCells = function () {\n // only for wrap-around\n if (!this.options.wrapAround) {\n return;\n }\n // unshift previous cells\n this._unshiftCells(this.beforeShiftCells);\n this._unshiftCells(this.afterShiftCells);\n // get before cells\n // initial gap\n let gapX = this.cursorPosition;\n const cellIndex = this.cells.length - 1;\n this.beforeShiftCells = this._getGapCells(gapX, cellIndex, -1);\n // get after cells\n // ending gap between last cell and end of gallery viewport\n gapX = this.size.innerWidth - this.cursorPosition;\n // start cloning at first cell, working forwards\n this.afterShiftCells = this._getGapCells(gapX, 0, 1);\n};\n\nproto._getGapCells = function (gapX, cellIndex, increment) {\n // keep adding cells until the cover the initial gap\n const cells = [];\n while (gapX > 0) {\n const cell = this.cells[cellIndex];\n if (!cell) {\n break;\n }\n cells.push(cell);\n cellIndex += increment;\n gapX -= cell.size.outerWidth;\n }\n return cells;\n};\n\n// ----- contain ----- //\n\n// contain cell targets so no excess sliding\nproto._containSlides = function () {\n if (!this.options.contain || this.options.wrapAround || !this.cells.length) {\n return;\n }\n const isRightToLeft = this.options.rightToLeft;\n const beginMargin = isRightToLeft ? 'marginRight' : 'marginLeft';\n const endMargin = isRightToLeft ? 'marginLeft' : 'marginRight';\n const contentWidth = this.slideableWidth - this.getLastCell().size[endMargin];\n // content is less than gallery size\n const isContentSmaller = contentWidth < this.size.innerWidth;\n // bounds\n const beginBound = this.cursorPosition + this.cells[0].size[beginMargin];\n const endBound = contentWidth - this.size.innerWidth * (1 - this.cellAlign);\n // contain each cell target\n this.slides.forEach(function (slide) {\n if (isContentSmaller) {\n // all cells fit inside gallery\n slide.target = contentWidth * this.cellAlign;\n } else {\n // contain to bounds\n slide.target = Math.max(slide.target, beginBound);\n slide.target = Math.min(slide.target, endBound);\n }\n }, this);\n};\n\n// ----- ----- //\n\n/**\n * emits events via eventEmitter and jQuery events\n * @param {String} type - name of event\n * @param {Event} event - original event\n * @param {Array} args - extra arguments\n */\nproto.dispatchEvent = function (type, event, args) {\n const emitArgs = event ? [event].concat(args) : args;\n this.emitEvent(type, emitArgs);\n};\n\n// -------------------------- select -------------------------- //\n\n/**\n * @param {Integer} index - index of the slide\n * @param {Boolean} isWrap - will wrap-around to last/first if at the end\n * @param {Boolean} isInstant - will immediately set position at selected cell\n */\nproto.select = function (index, isWrap, isInstant) {\n if (!this.isActive) {\n return;\n }\n index = parseInt(index, 10);\n this._wrapSelect(index);\n\n if (this.options.wrapAround || isWrap) {\n index = utils.modulo(index, this.slides.length);\n }\n // bail if invalid index\n if (!this.slides[index]) {\n return;\n }\n const prevIndex = this.selectedIndex;\n this.selectedIndex = index;\n this.updateSelectedSlide();\n if (isInstant) {\n this.positionSliderAtSelected();\n } else {\n this.startAnimation();\n }\n if (this.options.adaptiveHeight) {\n this.setGallerySize();\n }\n // events\n this.dispatchEvent('select', null, [index]);\n // change event if new index\n if (index != prevIndex) {\n this.dispatchEvent('change', null, [index]);\n }\n // old v1 event name, remove in v3\n this.dispatchEvent('cellSelect');\n};\n\n// wraps position for wrapAround, to move to closest slide. #113\nproto._wrapSelect = function (index) {\n const len = this.slides.length;\n const isWrapping = this.options.wrapAround && len > 1;\n if (!isWrapping) {\n return index;\n }\n const wrapIndex = utils.modulo(index, len);\n // go to shortest\n const delta = Math.abs(wrapIndex - this.selectedIndex);\n const backWrapDelta = Math.abs(wrapIndex + len - this.selectedIndex);\n const forewardWrapDelta = Math.abs(wrapIndex - len - this.selectedIndex);\n if (!this.isDragSelect && backWrapDelta < delta) {\n index += len;\n } else if (!this.isDragSelect && forewardWrapDelta < delta) {\n index -= len;\n }\n // wrap position so slider is within normal area\n if (index < 0) {\n this.x -= this.slideableWidth;\n } else if (index >= len) {\n this.x += this.slideableWidth;\n }\n};\n\nproto.previous = function (isWrap, isInstant) {\n this.select(this.selectedIndex - 1, isWrap, isInstant);\n};\n\nproto.next = function (isWrap, isInstant) {\n this.select(this.selectedIndex + 1, isWrap, isInstant);\n};\n\nproto.updateSelectedSlide = function () {\n const slide = this.slides[this.selectedIndex];\n // selectedIndex could be outside of slides, if triggered before resize()\n if (!slide) {\n return;\n }\n // unselect previous selected slide\n this.unselectSelectedSlide();\n // update new selected slide\n this.selectedSlide = slide;\n slide.select();\n this.selectedCells = slide.cells;\n this.selectedElements = slide.getCellElements();\n // HACK: selectedCell & selectedElement is first cell in slide, backwards compatibility\n // Remove in v3?\n this.selectedCell = slide.cells[0];\n this.selectedElement = this.selectedElements[0];\n};\n\nproto.unselectSelectedSlide = function () {\n if (this.selectedSlide) {\n this.selectedSlide.unselect();\n }\n};\n\nproto.selectInitialIndex = function () {\n const initialIndex = this.options.initialIndex;\n // already activated, select previous selectedIndex\n if (this.isInitActivated) {\n this.select(this.selectedIndex, false, true);\n return;\n }\n // select with selector string\n if (initialIndex && typeof initialIndex == 'string') {\n const cell = this.queryCell(initialIndex);\n if (cell) {\n this.selectCell(initialIndex, false, true);\n return;\n }\n }\n\n let index = 0;\n // select with number\n if (initialIndex && this.slides[initialIndex]) {\n index = initialIndex;\n }\n // select instantly\n this.select(index, false, true);\n};\n\n/**\n * select slide from number or cell element\n * @param {Element or Number} elem\n * @param { Boolean } isWrap\n * @param { Boolean } isInstant\n */\nproto.selectCell = function (elem, isWrap, isInstant) {\n // get cell\n const cell = this.queryCell(elem);\n if (!cell) {\n return;\n }\n\n const index = this.getCellSlideIndex(cell);\n this.select(index, isWrap, isInstant);\n};\n\nproto.getCellSlideIndex = function (cell) {\n // get index of slides that has cell\n for (let i = 0; i < this.slides.length; i++) {\n const slide = this.slides[i];\n const index = slide.cells.indexOf(cell);\n if (index != -1) {\n return i;\n }\n }\n};\n\n// -------------------------- get cells -------------------------- //\n\n/**\n * get Flickity.Cell, given an Element\n * @param {Element} elem\n * @returns found flickity cell\n */\nproto.getCell = function (elem) {\n // loop through cells to get the one that matches\n for (let i = 0; i < this.cells.length; i++) {\n const cell = this.cells[i];\n if (cell.element == elem) {\n return cell;\n }\n }\n};\n\n/**\n * get collection of Flickity.Cells, given Elements\n * @param {Element, Array, NodeList} elems\n * @returns {Array} cells - Flickity.Cells\n */\nproto.getCells = function (elems) {\n elems = utils.makeArray(elems);\n const cells = [];\n elems.forEach(function (elem) {\n const cell = this.getCell(elem);\n if (cell) {\n cells.push(cell);\n }\n }, this);\n return cells;\n};\n\n/**\n * get cell elements\n * @returns {Array} cellElems\n */\nproto.getCellElements = function () {\n return this.cells.map(function (cell) {\n return cell.element;\n });\n};\n\n/**\n * get parent cell from an element\n * @param {Element} elem\n * @returns {Flickit.Cell} cell\n */\nproto.getParentCell = function (elem) {\n // first check if elem is cell\n const cell = this.getCell(elem);\n if (cell) {\n return cell;\n }\n // try to get parent cell elem\n elem = utils.getParent(elem, '.flickity-slider > *');\n return this.getCell(elem);\n};\n\n/**\n * get cells adjacent to a slide\n * @param {Integer} adjCount - number of adjacent slides\n * @param {Integer} index - index of slide to start\n * @returns {Array} cells - array of Flickity.Cells\n */\nproto.getAdjacentCellElements = function (adjCount, index) {\n if (!adjCount) {\n return this.selectedSlide.getCellElements();\n }\n index = index === undefined ? this.selectedIndex : index;\n\n const len = this.slides.length;\n if (1 + adjCount * 2 >= len) {\n return this.getCellElements();\n }\n\n let cellElems = [];\n for (let i = index - adjCount; i <= index + adjCount; i++) {\n const slideIndex = this.options.wrapAround ? utils.modulo(i, len) : i;\n const slide = this.slides[slideIndex];\n if (slide) {\n cellElems = cellElems.concat(slide.getCellElements());\n }\n }\n return cellElems;\n};\n\n/**\n * select slide from number or cell element\n * @param {Element, Selector String, or Number} selector\n * @returns {Flickity.Cell} found flickity cell\n */\nproto.queryCell = function (selector) {\n if (typeof selector == 'number') {\n // use number as index\n return this.cells[selector];\n }\n if (typeof selector == 'string') {\n // do not select invalid selectors from hash: #123, #/. #791\n if (selector.match(/^[#\\.]?[\\d\\/]/)) {\n return;\n }\n // use string as selector, get element\n selector = this.element.querySelector(selector);\n }\n // get cell from element\n return this.getCell(selector);\n};\n\n// -------------------------- events -------------------------- //\n\nproto.uiChange = function () {\n this.emitEvent('uiChange');\n};\n\n// keep focus on element when child UI elements are clicked\nproto.childUIPointerDown = function (event) {\n // HACK iOS does not allow touch events to bubble up?!\n if (event.type != 'touchstart') {\n event.preventDefault();\n }\n this.focus();\n};\n\n// ----- resize ----- //\n\nproto.onresize = function () {\n this.watchCSS();\n this.resize();\n};\n\nutils.debounceMethod(Flickity, 'onresize', 150);\n\nproto.resize = function () {\n if (!this.isActive) {\n return;\n }\n this.getSize();\n // wrap values\n if (this.options.wrapAround) {\n this.x = utils.modulo(this.x, this.slideableWidth);\n }\n this.positionCells();\n this._getWrapShiftCells();\n this.setGallerySize();\n this.emitEvent('resize');\n // update selected index for group slides, instant\n // TODO: position can be lost between groups of various numbers\n const selectedElement = this.selectedElements && this.selectedElements[0];\n this.selectCell(selectedElement, false, true);\n};\n\n// watches the :after property, activates/deactivates\nproto.watchCSS = function () {\n const watchOption = this.options.watchCSS;\n if (!watchOption) {\n return;\n }\n\n const afterContent = getComputedStyle(this.element, ':after').content;\n // activate if :after { content: 'flickity' }\n if (afterContent.indexOf('flickity') != -1) {\n this.activate();\n } else {\n this.deactivate();\n }\n};\n\n// ----- keydown ----- //\n\n// go previous/next if left/right keys pressed\nproto.onkeydown = function (event) {\n // only work if element is in focus\n const isNotFocused =\n document.activeElement && document.activeElement != this.element;\n if (!this.options.accessibility || isNotFocused) {\n return;\n }\n\n const handler = Flickity.keyboardHandlers[event.keyCode];\n if (handler) {\n handler.call(this);\n }\n};\n\nFlickity.keyboardHandlers = {\n // left arrow\n 37: function () {\n const leftMethod = this.options.rightToLeft ? 'next' : 'previous';\n this.uiChange();\n this[leftMethod]();\n },\n // right arrow\n 39: function () {\n const rightMethod = this.options.rightToLeft ? 'previous' : 'next';\n this.uiChange();\n this[rightMethod]();\n },\n};\n\n// ----- focus ----- //\n\nproto.focus = function () {\n // TODO remove scrollTo once focus options gets more support\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#Browser_compatibility\n const prevScrollY = window.pageYOffset;\n this.element.focus({ preventScroll: true });\n // hack to fix scroll jump after focus, #76\n if (window.pageYOffset != prevScrollY) {\n window.scrollTo(window.pageXOffset, prevScrollY);\n }\n};\n\n// -------------------------- destroy -------------------------- //\n\n// deactivate all Flickity functionality, but keep stuff available\nproto.deactivate = function () {\n if (!this.isActive) {\n return;\n }\n this.element.classList.remove('flickity-enabled');\n this.element.classList.remove('flickity-rtl');\n this.unselectSelectedSlide();\n // destroy cells\n this.cells.forEach(function (cell) {\n cell.destroy();\n });\n this.element.removeChild(this.viewport);\n // move child elements back into element\n moveElements(this.slider.children, this.element);\n if (this.options.accessibility) {\n this.element.removeAttribute('tabIndex');\n this.element.removeEventListener('keydown', this);\n }\n // set flags\n this.isActive = false;\n this.emitEvent('deactivate');\n};\n\nproto.destroy = function () {\n this.deactivate();\n window.removeEventListener('resize', this);\n this.allOff();\n this.emitEvent('destroy');\n delete this.element.flickityGUID;\n delete instances[this.guid];\n};\n\n// -------------------------- prototype -------------------------- //\n\nutils.extend(proto, animatePrototype);\n\n// -------------------------- extras -------------------------- //\n\n/**\n * get Flickity instance from element\n * @param {Element} elem\n * @returns {Flickity} Flickity instance\n */\nFlickity.data = function (elem) {\n elem = utils.getQueryElement(elem);\n const id = elem && elem.flickityGUID;\n return id && instances[id];\n};\n\nutils.htmlInit(Flickity, 'flickity');\n\nFlickity.Cell = Cell;\nFlickity.Slide = Slide;\n","import Flickity from './flickity';\nimport './drag';\nimport './prev-next-button';\nimport './player';\n\nexport const flickity = Flickity;\n","@use '../../global/style/nano-theme/tokens/colours';\n\n:host {\n /**\n * @prop --dot-color: inactive colour of pager bullets. Default #cccccc;\n * @prop --dot-color-active: active colour of pager bullets. Default #{nano-color(primary, base)};\n *\n * @prop --navbtns-icon-color: next / prev icon color. Default var(--dot-color-active);\n * @prop --navbtns-bg-color: next / prev bg color. Default white;\n * @prop --navbtns-icon-color-disabled: next / prev icon color. Default var(--dot-color-active);\n * @prop --navbtns-bg-color-disabled: next / prev bg color. Default white;\n *\n * @prop --fsbtn-icon-color: fullscreen btn icon color. Default var(--dot-color-active);\n * @prop --fsbtn-bg-color: fullscreen bg color. Default white;\n */\n --dot-color: #ccc;\n --dot-color-active: #{colours.nano-color(primary, base)};\n --navbtns-icon-color: var(--dot-color-active);\n --navbtns-bg-color: white;\n --navbtns-icon-color-disabled: var(--dot-color-active);\n --navbtns-bg-color-disabled: white;\n --fsbtn-icon-color: var(--dot-color-active);\n --fsbtn-bg-color: white;\n\n display: block;\n user-select: none;\n overflow: hidden;\n transition: opacity 0.2s;\n opacity: 0;\n max-inline-size: 100vw;\n}\n\n:host([ready]) {\n opacity: 1;\n}\n\n.slideshow {\n max-block-size: 100%;\n min-block-size: inherit;\n block-size: inherit;\n position: relative;\n\n &.not-ready {\n inline-size: 100%;\n overflow: hidden;\n }\n}\n\n.flickity-container {\n opacity: 0;\n transition: opacity 0.2s;\n display: flex;\n inline-size: fit-content;\n block-size: fit-content;\n\n .not-ready & {\n inline-size: fit-content;\n block-size: fit-content;\n }\n\n &.slides-ready {\n min-block-size: inherit;\n max-block-size: inherit;\n block-size: inherit;\n inline-size: auto;\n }\n}\n\n[hidden] {\n display: none !important;\n}\n\n.ui-extras {\n pointer-events: none;\n position: absolute;\n block-size: 100%;\n inline-size: 100%;\n inset-block-start: 0;\n inset-inline-start: 0;\n\n * {\n pointer-events: all;\n }\n}\n\n/*! Flickity v2.2.1\nhttps://flickity.metafizzy.co\n---------------------------------------------- */\n\n.flickity-enabled {\n position: relative;\n opacity: 1;\n}\n\n.flickity-enabled:focus {\n outline: none;\n}\n\n.flickity-viewport {\n overflow: hidden;\n position: relative;\n min-block-size: 100%;\n flex: 1;\n}\n\n.flickity-slider {\n position: absolute;\n inline-size: 100%;\n block-size: 100%;\n}\n\n/* draggable */\n\n.flickity-enabled.is-draggable {\n -webkit-tap-highlight-color: transparent;\n user-select: none;\n}\n\n.flickity-enabled.is-draggable .flickity-viewport {\n cursor: move;\n cursor: grab;\n cursor: grab;\n}\n\n.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {\n cursor: grabbing;\n}\n\n/* ---- flickity-button ---- */\n\n.flickity-button {\n position: absolute;\n background: var(--navbtns-bg-color);\n border: none;\n color: #333;\n opacity: 0.75;\n}\n\n.flickity-button:hover {\n opacity: 1;\n cursor: pointer;\n}\n\n.flickity-button:focus {\n outline: none;\n box-shadow: 0 0 0 5px #19f;\n}\n\n.flickity-button:active {\n opacity: 0.6;\n}\n\n.flickity-button:disabled {\n opacity: 0.3;\n cursor: auto;\n\n /* prevent disabled button from capturing pointer up event. #716 */\n pointer-events: none;\n background: var(--navbtns-bg-color-disabled);\n}\n\n.flickity-button-icon {\n fill: var(--navbtns-icon-color);\n}\n\n.flickity-button:disabled .flickity-button-icon {\n fill: var(--navbtns-icon-color-disabled);\n}\n\n/* ---- previous/next buttons ---- */\n\n.flickity-prev-next-button {\n inset-block-start: 50%;\n inline-size: 44px;\n block-size: 44px;\n border-radius: 50%;\n\n /* vertically center */\n transform: translateY(-50%);\n}\n\n.flickity-prev-next-button.previous {\n inset-inline-start: 10px;\n}\n\n.flickity-prev-next-button.next {\n inset-inline-end: 10px;\n}\n\n/* right to left */\n.flickity-rtl .flickity-prev-next-button.previous {\n inset-inline: auto 10px;\n}\n\n.flickity-rtl .flickity-prev-next-button.next {\n inset-inline: 10px auto;\n}\n\n.flickity-prev-next-button .flickity-button-icon {\n position: absolute;\n inset-inline-start: 20%;\n inset-block-start: 20%;\n inline-size: 60%;\n block-size: 60%;\n}\n\n/* ---- page dots ---- */\n\n.flickity-page-dots {\n position: absolute;\n inline-size: 100%;\n inset-block-end: 10px;\n padding: 0;\n margin: 0;\n list-style: none;\n text-align: center;\n line-height: 1;\n z-index: 4;\n}\n\n.flickity-rtl .flickity-page-dots {\n direction: rtl;\n}\n\n.flickity-page-dots .dot {\n display: inline-block;\n inline-size: 10px;\n block-size: 10px;\n margin-block: 0;\n margin-inline: 8px;\n border-radius: 50%;\n cursor: pointer;\n background: var(--dot-color);\n\n // Pagination Bullets\n // --------------------------------------------------\n}\n\n.flickity-page-dots .dot.is-selected {\n opacity: 1;\n background: var(--dot-color-active);\n}\n\n// fullscreen\n\n.flickity-enabled.is-fullscreen {\n position: fixed;\n inset-inline-start: 0;\n inset-block-start: 0;\n inline-size: 100%;\n block-size: 100%;\n background: hsl(0deg 0% 0% / 90%);\n padding-block-end: 35px;\n z-index: 100;\n}\n\n.flickity-enabled.is-fullscreen .flickity-page-dots {\n inset-block-end: 45px;\n}\n\n/* prevent page scrolling when flickity is fullscreen */\nhtml.is-flickity-fullscreen {\n overflow: hidden;\n}\n\n/* ---- flickity-fullscreen-button ---- */\n\n.flickity-fullscreen-button {\n display: block;\n inset-inline-end: 10px;\n inset-block-start: 10px;\n inline-size: 24px;\n block-size: 24px;\n border-radius: 4px;\n background: var(--fsbtn-bg-color);\n fill: var(--fsbtn-icon-color);\n}\n\n/* right-to-left */\n.flickity-rtl .flickity-fullscreen-button {\n inset-inline: 10px auto;\n}\n\n.flickity-fullscreen-button-exit {\n display: none;\n}\n\n.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit {\n display: block;\n}\n\n.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view {\n display: none;\n}\n\n.flickity-fullscreen-button .flickity-button-icon {\n position: absolute;\n inline-size: 16px;\n block-size: 16px;\n inset-inline-start: 4px;\n inset-block-start: 4px;\n}\n\n// fade\n\n/* flickity-fade */\n\n.flickity-enabled.is-fade .flickity-slider > * {\n pointer-events: none;\n z-index: 0;\n}\n\n.flickity-enabled.is-fade .flickity-slider ::slotted(.is-selected) {\n pointer-events: auto;\n z-index: 1;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Prop,\n h,\n Host,\n Watch,\n Method,\n State,\n Build,\n readTask,\n writeTask,\n} from '@stencil/core';\nimport { flickity } from './lib/js';\nimport type {\n FlickityOptions,\n FlickityEvents,\n Flickity,\n DragEvent,\n SlideAnimation,\n FlickityCell,\n} from './slides-interface';\n\nconst modulo = (num, div) => {\n return ((num % div) + div) % div;\n};\n\n/**\n * The Slides component is a multi-section container. Each section can be swiped or dragged between.\n * It contains any number of Slide components.\n *\n * Uses [Flickity](https://flickity.metafizzy.co/) under the hood.\n *\n * @part base - Wrapper around slides and additional ui elements.\n * @part slide-container - Wraps all slide elements.\n * @part slide-viewport - The visible, scrollable area around slide elements.\n * @part navigation-button - Next / previous navigation buttons.\n * @part navigation-button--next - the next navigation button.\n * @part navigation-button--previous - The previous navigation button.\n * @part navigation-icon - The chevron / arrow icon within a navigation button.\n * @part pagination - Wraps pagination indicators.\n * @part pagination-item - A pagination indicator.\n * @part pagination-item--active - The current, active pagination indicator.\n *\n * @slot - default slot of nano-slide components.\n * @slot ui - An absolutely positioned element that will be placed over the slider. Any custom ui can be housed here.\n * @slot next-icon - Optional next icon to use instead of the default.\n * @slot previous-icon - Optional previous icon to use instead of the default.\n */\n@Component({\n tag: 'nano-slides',\n styleUrl: 'slides.scss',\n shadow: true,\n})\nexport class Slides implements ComponentInterface {\n private flickityEl: HTMLElement;\n private flickityReady = false;\n private mutationO?: MutationObserver;\n private resizeO?: ResizeObserver;\n private readyflickity!: (slider: Flickity) => void;\n private flickity: Promise<Flickity> = new Promise((resolve) => {\n this.readyflickity = resolve;\n });\n private syncflickity?: Flickity;\n private childrenEles: NodeList;\n private hasFullScreenModule = false;\n private hasLazyLoadModule = false;\n private hasDotsModule = false;\n private hasFadeModule = false;\n\n @State() iCurrentSlide: number;\n @State() slidesReady: boolean;\n @State() didInit = false;\n\n @Element() host!: HTMLNanoSlidesElement;\n\n /**\n * Options to pass to the flickity instance.\n * See https://flickity.metafizzy.co/options.html for valid options\n */\n @Prop({ mutable: true }) options: FlickityOptions = {};\n\n @Watch('options')\n async optionsChanged() {\n if (this.flickityReady) {\n const flickity = await this.getflickity();\n const newOpts = Object.assign(flickity.options, this.options);\n\n await this.loadFlickityModules(newOpts);\n await this.update();\n }\n }\n\n /** If `true`, show the next / prev buttons. */\n @Prop() navbtns = false;\n\n @Watch('navbtns')\n async navbtnsChanged() {\n Array.from(\n this._getRoot().querySelectorAll('.flickity-prev-next-button')\n ).forEach((btn) => {\n (btn as HTMLElement).hidden = !this.navbtns;\n });\n }\n\n /** If `true`, show the pagination. */\n @Prop() pager = false;\n\n @Watch('pager')\n async pagerChanged() {\n const dots: HTMLElement = this._getRoot().querySelector(\n '.flickity-page-dots'\n );\n if (dots) dots.hidden = !this.pager;\n }\n\n /** If `true`, show a fullscreen button. */\n @Prop() fullscreenbtn = false;\n\n @Watch('fullscreenbtn')\n async fullscreenBtnChanged() {\n const btn: HTMLElement = this._getRoot().querySelector(\n '.flickity-fullscreen-button'\n );\n if (btn) btn.hidden = !this.fullscreenbtn;\n }\n\n /** If `true`, make the slider fullscreen. */\n @Prop({ reflect: true, mutable: true }) fullscreen = false;\n\n @Watch('fullscreen')\n async fullscreenChanged(_?, oldFs?: boolean) {\n const flickity = await this.getflickity();\n if (this.fullscreen) flickity.viewFullscreen();\n else if (typeof oldFs !== 'undefined') flickity.exitFullscreen();\n }\n\n /** Animation presets or your own custom animation function; called every frame during scroll */\n @Prop({ reflect: true }) animation: SlideAnimation = 'scroll';\n\n @Watch('animation')\n async animationChange(_?, oldAnim?: SlideAnimation) {\n const [flkty, slides] = await Promise.all([\n this.getflickity(),\n waitForSlides(this.host),\n ]);\n\n // clear old stuff\n slides.forEach((slide) => {\n slide.style['left'] = undefined;\n });\n\n if (oldAnim === 'parallax') {\n flkty.off('scroll', this.parallax);\n slides.forEach((_, i) => {\n if (this.childrenEles && this.childrenEles[i])\n (this.childrenEles[i] as HTMLElement).style['transform'] = undefined;\n });\n this.update();\n }\n // was a custom animation\n if (typeof oldAnim === 'function') {\n flkty.off('scroll', oldAnim);\n }\n\n // is a custom animation\n if (typeof this.animation === 'function') {\n this.options = { fade: false, percentPosition: true };\n flkty.on('scroll', this.animation);\n return;\n }\n\n // setup new stuff\n switch (this.animation) {\n case 'fade':\n this.options = { fade: true, percentPosition: true };\n break;\n case 'parallax':\n this.options = { fade: false, percentPosition: true };\n flkty.on('scroll', this.parallax);\n break;\n default:\n this.options = { fade: false, percentPosition: true };\n break;\n }\n }\n\n /** Zero-based index of the selected cell. */\n @Prop({ reflect: true, mutable: true }) currentSlide: number = 0;\n\n @Watch('currentSlide')\n currentSlideChange() {\n if (this.currentSlide !== this.iCurrentSlide)\n this.slideTo(this.currentSlide);\n }\n\n @Watch('iCurrentSlide')\n internalSlideChange() {\n this.currentSlide = this.iCurrentSlide;\n }\n\n /** time duration, in ms, to automatically advance slides */\n @Prop() autoplay: string | false | number = false;\n\n @Watch('autoplay')\n async autoPlayChange() {\n await this.stopAutoplay();\n if (this.autoplay) {\n if (typeof this.autoplay === 'string')\n this.autoplay = parseInt(this.autoplay);\n if (this.autoplay > 0) this.startAutoplay(this.autoplay);\n }\n }\n\n /** @internal */\n @Prop({ reflect: true, mutable: true }) ready = false;\n\n /** Emitted after component initialisation. */\n @Event() nanoSlidesDidLoad!: EventEmitter<void>;\n\n /** Emitted after flickity initialisation. */\n @Event() nanoSlidesReady!: EventEmitter<void>;\n\n /** Emitted when a slide is selected, even on the same slide. */\n @Event() nanoSlidesSelect!: EventEmitter<number>;\n\n /** Emitted when the selected slide is changed. */\n @Event() nanoSlidesChange!: EventEmitter<number>;\n\n /** Emitted when the slider moves. */\n @Event() nanoSlidesScroll!: EventEmitter<number>;\n\n /** Emitted when the slide transition has finished. */\n @Event() nanoSlidesTransitionEnd!: EventEmitter<number>;\n\n /** Emitted when the slider starts actively being moved. */\n @Event() nanoSlidesDragStart!: EventEmitter<DragEvent>;\n\n /** Emitted when the slider is being dragged. */\n @Event() nanoSlidesDragMove!: EventEmitter<DragEvent>;\n\n /** Emitted when the slider has finished being dragged. */\n @Event() nanoSlidesDragEnd!: EventEmitter<DragEvent>;\n\n /** Emitted when the user taps/clicks on the slide's container. */\n @Event() nanoSlidesTap!: EventEmitter<DragEvent>;\n\n /** Emitted when the user taps/clicks on the slide's container. */\n @Event() nanoSlidesFullscreenChange!: EventEmitter<boolean>;\n\n /**\n * Update the underlying flickity implementation. Call this if you've added or removed\n * child slides.\n */\n @Method()\n async update() {\n const [flickity] = await Promise.all([\n this.getflickity(),\n waitForSlides(this.host),\n ]);\n this.childrenEles = this.host.querySelectorAll('nano-slide > *');\n flickity.reloadCells();\n flickity.resize();\n flickity.reposition();\n }\n\n /**\n * Transition to the specified slide.\n *\n * @param index The index of the slide to transition to.\n * @param instant Immediately view the selected slide without animation.\n */\n @Method()\n async slideTo(index: number, instant?: boolean) {\n const flickity = await this.getflickity();\n flickity.select(index, instant);\n }\n\n /**\n * Transition to the next slide.\n *\n * @param instant The transition duration (in ms).\n * @param wrap If true, the first slide will be selected if at the last slide.\n */\n @Method()\n async slideNext(instant?: boolean, wrap?: boolean) {\n const flickity = await this.getflickity();\n flickity.next(wrap, instant);\n }\n\n /**\n * Transition to the previous slide.\n *\n * @param instant The transition duration (in ms).\n * @param wrap If true, the last slide will be selected if at the first slide.\n */\n @Method()\n async slidePrev(instant?: boolean, wrap?: boolean) {\n const flickity = await this.getflickity();\n flickity.previous(instant, wrap);\n }\n\n /**\n * Get the index of the active slide.\n * @returns the index of the active slide\n */\n @Method()\n async getActiveIndex() {\n const flickity = await this.getflickity();\n return flickity.selectedIndex;\n }\n\n /**\n * Get the total number of slides.\n * @returns the total number of slides\n */\n @Method()\n async length() {\n const flickity = await this.getflickity();\n return flickity.slides.length;\n }\n\n /**\n * Get whether or not the current slide is the last slide.\n * @returns true if the current slide is the last slide, false otherwise\n */\n @Method()\n async isEnd() {\n const flickity = await this.getflickity();\n return flickity.selectedIndex === flickity.slides.length - 1;\n }\n\n /**\n * Get whether or not the current slide is the first slide.\n * @returns true if the current slide is the first slide, false otherwise\n */\n @Method()\n async isBeginning() {\n const flickity = await this.getflickity();\n return flickity.selectedIndex === 0;\n }\n\n /**\n * Start auto play.\n * @param time - optional time duration to show slides\n */\n @Method()\n async startAutoplay(time?: number) {\n const flickity = await this.getflickity();\n if (time) this.options = { autoPlay: time };\n setTimeout(() => flickity.playPlayer());\n }\n\n /** Stop auto play. */\n @Method()\n async stopAutoplay() {\n const flickity = await this.getflickity();\n flickity.stopPlayer();\n }\n\n /**\n * Lock or unlock the ability to slide to the next slide.\n *\n * @param lock If `true`, disable swiping\n */\n @Method()\n async lockSwipes(lock: boolean) {\n const flickity = await this.getflickity();\n flickity.options.draggable = !lock;\n flickity.updateDraggable();\n }\n\n /**\n * Get the flickity instance.\n * Use this to access the full flickity API.\n * See https://flickity.metafizzy.co/ for all API options.\n * @returns the flickity instance\n */\n @Method()\n async getflickity() {\n return this.flickity;\n }\n\n /**\n * Hard destroy / create.\n * Certain flickity options, you will require the instance to be re-initialised\n */\n @Method()\n async reload() {\n this.destroyflickity();\n setTimeout(() => this.initflickity(), 20);\n }\n\n private _getRoot() {\n return this.host.shadowRoot ? this.host.shadowRoot : this.host;\n }\n\n private parallax = async () => {\n const flkty = await this.flickity;\n const cells = flkty.cells as unknown as FlickityCell[];\n\n cells.forEach((cell) => {\n const ele = cell.element.children[0] as HTMLElement;\n\n let flkX = flkty.x;\n if (flkty.options.wrapAround && flkty.cells.length > 1) {\n flkX = modulo(flkX, flkty.slideableWidth);\n flkX = flkX - flkty.slideableWidth;\n }\n\n let x = ((cell.target + flkX) * -1) / 3;\n if (cell.shift < 0) {\n x = ((cell.target - flkty.slideableWidth + flkX) * -1) / 3;\n } else if (cell.shift > 0) {\n x = ((cell.target + (flkX + flkty.slideableWidth)) * -1) / 3;\n }\n ele.style.transform = 'translate3d(' + x + 'px, 0, 0)';\n\n const animAmount = ((x * 3) / cell.size.width) * 100;\n cell.element.style.setProperty(\n '--animation-amount',\n animAmount.toString()\n );\n });\n };\n\n private handleFullscreen = (isFullScreen: boolean) => {\n this.fullscreen = isFullScreen;\n this.nanoSlidesFullscreenChange.emit(isFullScreen);\n };\n\n private handleSlideSelect = (slide: number) => {\n this.iCurrentSlide = slide;\n this.nanoSlidesSelect.emit(slide);\n };\n\n private destroyflickity() {\n /**\n * We need to synchronously destroy\n * flickity otherwise it is possible\n * that it will be left in a\n * destroyed state if connectedCallback\n * is called multiple times\n */\n const flickity = this.syncflickity;\n\n if (flickity !== undefined) {\n flickity.destroy();\n this.flickity = new Promise((resolve) => {\n this.readyflickity = resolve;\n });\n this.flickityReady = false;\n this.syncflickity = undefined;\n this.ready = false;\n }\n this.didInit = false;\n }\n\n private async loadFlickityModules(opts: FlickityOptions) {\n if (!this.hasFullScreenModule && opts.fullscreen) {\n await import('./lib/js/fullscreen');\n this.hasFullScreenModule = true;\n }\n if (!this.hasLazyLoadModule && opts.lazyLoad) {\n await import('./lib/js/lazyload');\n this.hasLazyLoadModule = true;\n }\n if (!this.hasDotsModule && opts.pageDots) {\n await import('./lib/js/page-dots');\n this.hasDotsModule = true;\n }\n if (!this.hasFadeModule && opts.fade) {\n await import('./lib/js/fade');\n this.hasFadeModule = true;\n }\n }\n\n private async initflickity() {\n const finalOptions = this.normalizeOptions();\n await this.loadFlickityModules(finalOptions);\n\n // init flickity core\n await waitForSlides(this.host);\n\n this.flickityEl =\n this.flickityEl || this._getRoot().querySelector('.flickity-container');\n\n if (!this.flickityEl) return;\n\n this.slidesReady = true;\n\n if (this.flickityEl.classList.contains('flickity-enabled')) {\n this.destroyflickity();\n }\n\n this.flickityEl.style.height =\n this.flickityEl.getBoundingClientRect().height + 'px';\n\n setTimeout(() => {\n this.flickityEl.style.height = '';\n const flick = new flickity(this.flickityEl, finalOptions) as Flickity;\n this.flickityReady = true;\n this.syncflickity = flick;\n\n this.animationChange();\n this.navbtnsChanged();\n this.pagerChanged();\n this.fullscreenChanged();\n this.fullscreenBtnChanged();\n\n this.readyflickity(flick);\n this.ready = true;\n\n if (!window['ResizeObserver']) return;\n\n if (this.resizeO) {\n this.resizeO.disconnect();\n this.resizeO = undefined;\n }\n\n const ro = (this.resizeO = new ResizeObserver(() => {\n readTask(() => {\n const vp: HTMLElement =\n this.host.shadowRoot.querySelector('.flickity-viewport');\n\n writeTask(() => {\n // reset the height, otherwise it *only* gets bigger\n if (vp) vp.style.height = '';\n flick.resize();\n });\n });\n }));\n ro.observe(this.host);\n }, 100);\n }\n\n private normalizeOptions(): FlickityOptions {\n // Base options, can be changed\n const flickityOptions: FlickityOptions = {\n cellSelector: 'nano-slide',\n contain: true,\n prevNextButtons: true,\n fullscreen: this.fullscreen,\n accessibility: true,\n imagesLoaded: true,\n pageDots: this.pager,\n };\n\n if (this.animation === 'fade') {\n flickityOptions.fade = true;\n }\n if (this.currentSlide > 0) {\n flickityOptions.initialIndex = this.currentSlide;\n }\n if (this.autoplay) {\n if (typeof this.autoplay === 'string')\n this.autoplay = parseInt(this.autoplay);\n if (this.autoplay > 0) flickityOptions.autoPlay = this.autoplay;\n }\n\n // Keep the event options separate, we dont want users\n // overwriting these\n const eventOptions: FlickityEvents = {\n ready: () => {\n setTimeout(() => {\n this.nanoSlidesReady.emit();\n }, 20);\n },\n select: this.handleSlideSelect,\n change: this.nanoSlidesChange.emit,\n scroll: this.nanoSlidesScroll.emit,\n settle: this.nanoSlidesTransitionEnd.emit,\n dragStart: this.nanoSlidesDragStart.emit,\n dragMove: this.nanoSlidesDragMove.emit,\n dragEnd: this.nanoSlidesDragEnd.emit,\n staticClick: this.nanoSlidesTap.emit,\n fullscreenChange: this.handleFullscreen,\n };\n\n const customEvents =\n !!this.options && !!this.options.on ? this.options.on : {};\n // merge \"on\" event listeners, while giving our event listeners priority\n const mergedEventOptions = { on: { ...customEvents, ...eventOptions } };\n // Merge the base, user options, and events together then pass to flickity\n\n // @ts-expect-error - merged options don't quite match the flickity options\n return { ...flickityOptions, ...mergedEventOptions, ...this.options };\n }\n\n componentDidLoad() {\n if (\n Build.isBrowser &&\n typeof window !== 'undefined' &&\n (window as any).MutationObserver\n ) {\n const mut = (this.mutationO = new MutationObserver(\n (e: MutationRecord[]) => {\n if (\n e[0].addedNodes[0] &&\n e[0].addedNodes[0].nodeName.toLowerCase() === 'nano-slide' &&\n this.flickityReady\n ) {\n this.update();\n }\n }\n ));\n\n mut.observe(this.host, {\n childList: true,\n subtree: true,\n });\n }\n }\n\n componentWillLoad() {\n this.nanoSlidesDidLoad.emit();\n\n if (!this.didInit) {\n this.didInit = true;\n this.initflickity();\n }\n }\n\n disconnectedCallback() {\n if (this.mutationO) {\n this.mutationO.disconnect();\n this.mutationO = undefined;\n }\n if (this.resizeO) {\n this.resizeO.disconnect();\n this.resizeO = undefined;\n }\n this.destroyflickity();\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n slideshow: true,\n ready: this.ready,\n 'not-ready': !this.ready,\n }}\n part=\"base\"\n >\n <div\n ref={(div) => (this.flickityEl = div)}\n class={{\n 'flickity-container': true,\n 'slides-ready': this.slidesReady,\n 'slides-not-ready': !this.slidesReady,\n }}\n part=\"slide-container\"\n >\n <slot />\n </div>\n <div class=\"ui-extras\">\n <slot name=\"ui\" />\n </div>\n </div>\n </Host>\n );\n }\n}\n\nconst waitForSlides = (host: HTMLElement): Promise<HTMLNanoSlideElement[]> => {\n const allSlides = Array.from(host.querySelectorAll('nano-slide'));\n let toLoadSlides = allSlides.filter(\n (ele: HTMLNanoSlideElement) => !ele.ready\n );\n\n if (!toLoadSlides.length) return Promise.resolve(allSlides);\n\n return new Promise((resolve) => {\n const slideResolver = (ev: CustomEvent) => {\n toLoadSlides = toLoadSlides.filter((ele) => ele !== ev.target);\n if (!toLoadSlides.length) {\n resolve(allSlides);\n host.removeEventListener('nanoSlideReady', slideResolver);\n host.removeEventListener('nano-slide-ready', slideResolver);\n }\n };\n host.addEventListener('nanoSlideReady', slideResolver);\n // fallback for vue who can't handle camelcase event names\n host.addEventListener('nano-slide-ready', slideResolver);\n });\n};\n"],"version":3}
|