@nanoporetech-digital/components 3.14.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +41 -0
- package/dist/cjs/{algolia-data-533e3a95.js → algolia-data-ed53eaa8.js} +2 -2
- package/dist/cjs/{algolia-data-533e3a95.js.map → algolia-data-ed53eaa8.js.map} +1 -1
- package/dist/cjs/{component-store-5ad4de07.js → component-store-74d25f63.js} +2 -2
- package/dist/cjs/{component-store-5ad4de07.js.map → component-store-74d25f63.js.map} +1 -1
- package/dist/cjs/{form-control-80c69d1d.js → form-control-2e900f54.js} +2 -2
- package/dist/cjs/{form-control-80c69d1d.js.map → form-control-2e900f54.js.map} +1 -1
- package/dist/cjs/{index-46286eea.js → index-71f899a7.js} +85 -42
- package/dist/cjs/index-71f899a7.js.map +1 -0
- package/dist/cjs/{index-b13f69e7.js → index-99649bef.js} +2 -2
- package/dist/cjs/{index-b13f69e7.js.map → index-99649bef.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/nano-accordion.cjs.entry.js +1 -1
- package/dist/cjs/nano-alert.cjs.entry.js +2 -2
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +3 -3
- package/dist/cjs/nano-algolia-input.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 +3 -3
- package/dist/cjs/nano-aspect-ratio.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 +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-demo.cjs.entry.js +1 -1
- package/dist/cjs/nano-details.cjs.entry.js +2 -2
- package/dist/cjs/nano-dialog.cjs.entry.js +3 -3
- package/dist/cjs/nano-drawer.cjs.entry.js +2 -2
- package/dist/cjs/nano-dropdown.cjs.entry.js +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 +3 -3
- package/dist/cjs/nano-global-nav.cjs.entry.js +31 -34
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-search-results.cjs.entry.js +1 -1
- package/dist/cjs/nano-grid_3.cjs.entry.js +2 -2
- package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-hero.cjs.entry.js +1 -1
- package/dist/cjs/nano-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/nano-icon.cjs.entry.js +1 -1
- package/dist/cjs/nano-input.cjs.entry.js +2 -2
- package/dist/cjs/nano-menu-drawer.cjs.entry.js +1 -1
- package/dist/cjs/nano-overflow-nav.cjs.entry.js +282 -0
- package/dist/cjs/nano-overflow-nav.cjs.entry.js.map +1 -0
- package/dist/cjs/nano-progress-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/nano-range.cjs.entry.js +1 -1
- package/dist/cjs/nano-rating.cjs.entry.js +1 -1
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js +4 -4
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-slide.cjs.entry.js +1 -1
- package/dist/cjs/nano-slides.cjs.entry.js +2 -2
- package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-spinner.cjs.entry.js +1 -1
- package/dist/cjs/nano-split-pane.cjs.entry.js +1 -1
- package/dist/cjs/nano-sticker.cjs.entry.js +1 -1
- package/dist/cjs/nano-tab-content.cjs.entry.js +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +4 -4
- package/dist/cjs/nano-tab.cjs.entry.js +2 -2
- package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/{nano-table-9044710f.js → nano-table-c5b6630a.js} +4 -4
- package/dist/cjs/{nano-table-9044710f.js.map → nano-table-c5b6630a.js.map} +1 -1
- package/dist/cjs/nano-table.cjs.entry.js +3 -3
- package/dist/cjs/{scroll-a197d9c4.js → scroll-6a9bedb4.js} +15 -8
- package/dist/cjs/scroll-6a9bedb4.js.map +1 -0
- package/dist/cjs/{table.worker-8ad26746.js → table.worker-0876611d.js} +4 -4
- package/dist/cjs/table.worker-0876611d.js.map +1 -0
- package/dist/cjs/{transitions-5cd8f697.js → transitions-1205f12b.js} +3 -3
- package/dist/cjs/transitions-1205f12b.js.map +1 -0
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/global-nav/global-nav.js +30 -31
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/global-nav/style/global-nav.css +8 -5
- package/dist/collection/components/img/img.css +1 -1
- package/dist/collection/components/overflow-nav/overflow-nav.css +223 -0
- package/dist/collection/components/overflow-nav/overflow-nav.js +441 -0
- package/dist/collection/components/overflow-nav/overflow-nav.js.map +1 -0
- package/dist/collection/components/resize-observe/resize-observe.js +5 -5
- package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
- package/dist/collection/components/skeleton/skeleton.css +2 -2
- package/dist/collection/components/slides/slides.js +1 -1
- package/dist/collection/components/slides/slides.js.map +1 -1
- package/dist/collection/components/tabs/tab.css +1 -1
- package/dist/collection/utils/scroll.js +14 -7
- package/dist/collection/utils/scroll.js.map +1 -1
- package/dist/collection/utils/transitions.js +2 -2
- package/dist/collection/utils/transitions.js.map +1 -1
- package/dist/components/img.js +1 -1
- package/dist/components/img.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/nano-global-nav.js +29 -32
- package/dist/components/nano-global-nav.js.map +1 -1
- package/dist/components/nano-overflow-nav.d.ts +11 -0
- package/dist/components/nano-overflow-nav.js +317 -0
- package/dist/components/nano-overflow-nav.js.map +1 -0
- package/dist/components/nano-slides.js +1 -1
- package/dist/components/nano-slides.js.map +1 -1
- package/dist/components/nano-tab.js +1 -1
- package/dist/components/nano-tab.js.map +1 -1
- package/dist/components/resize-observe.js +3 -3
- package/dist/components/resize-observe.js.map +1 -1
- package/dist/components/scroll.js +14 -7
- package/dist/components/scroll.js.map +1 -1
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/transitions.js +2 -2
- package/dist/components/transitions.js.map +1 -1
- package/dist/esm/{algolia-data-e5e86f12.js → algolia-data-ef2829e0.js} +2 -2
- package/dist/esm/{algolia-data-e5e86f12.js.map → algolia-data-ef2829e0.js.map} +1 -1
- package/dist/esm/{component-store-2044c2c2.js → component-store-244a8431.js} +2 -2
- package/dist/esm/{component-store-2044c2c2.js.map → component-store-244a8431.js.map} +1 -1
- package/dist/esm/{form-control-4f3a88a1.js → form-control-269ba84f.js} +2 -2
- package/dist/esm/{form-control-4f3a88a1.js.map → form-control-269ba84f.js.map} +1 -1
- package/dist/esm/{index-728dda31.js → index-5d0f4704.js} +2 -2
- package/dist/esm/{index-728dda31.js.map → index-5d0f4704.js.map} +1 -1
- package/dist/esm/{index-52b0408e.js → index-dad5627b.js} +85 -42
- package/dist/esm/index-dad5627b.js.map +1 -0
- package/dist/esm/loader.js +4 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/nano-accordion.entry.js +1 -1
- package/dist/esm/nano-alert.entry.js +2 -2
- package/dist/esm/nano-algolia-filter.entry.js +3 -3
- package/dist/esm/nano-algolia-input.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 +3 -3
- package/dist/esm/nano-aspect-ratio.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 +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-demo.entry.js +1 -1
- package/dist/esm/nano-details.entry.js +2 -2
- package/dist/esm/nano-dialog.entry.js +3 -3
- package/dist/esm/nano-drawer.entry.js +2 -2
- package/dist/esm/nano-dropdown.entry.js +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 +3 -3
- package/dist/esm/nano-global-nav.entry.js +31 -34
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/nano-global-search-results.entry.js +1 -1
- package/dist/esm/nano-grid_3.entry.js +2 -2
- package/dist/esm/nano-grid_3.entry.js.map +1 -1
- package/dist/esm/nano-hero.entry.js +1 -1
- package/dist/esm/nano-icon-button.entry.js +1 -1
- package/dist/esm/nano-icon.entry.js +1 -1
- package/dist/esm/nano-input.entry.js +2 -2
- package/dist/esm/nano-menu-drawer.entry.js +1 -1
- package/dist/esm/nano-overflow-nav.entry.js +278 -0
- package/dist/esm/nano-overflow-nav.entry.js.map +1 -0
- package/dist/esm/nano-progress-bar_2.entry.js +1 -1
- package/dist/esm/nano-range.entry.js +1 -1
- package/dist/esm/nano-rating.entry.js +1 -1
- package/dist/esm/nano-resize-observe_2.entry.js +4 -4
- package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/esm/nano-slide.entry.js +1 -1
- package/dist/esm/nano-slides.entry.js +2 -2
- package/dist/esm/nano-slides.entry.js.map +1 -1
- package/dist/esm/nano-spinner.entry.js +1 -1
- package/dist/esm/nano-split-pane.entry.js +1 -1
- package/dist/esm/nano-sticker.entry.js +1 -1
- package/dist/esm/nano-tab-content.entry.js +1 -1
- package/dist/esm/nano-tab-group.entry.js +4 -4
- package/dist/esm/nano-tab.entry.js +2 -2
- package/dist/esm/nano-tab.entry.js.map +1 -1
- package/dist/esm/{nano-table-c46586f1.js → nano-table-ff985e63.js} +4 -4
- package/dist/esm/{nano-table-c46586f1.js.map → nano-table-ff985e63.js.map} +1 -1
- package/dist/esm/nano-table.entry.js +3 -3
- package/dist/esm/{scroll-e5825d8d.js → scroll-952d292a.js} +15 -8
- package/dist/esm/scroll-952d292a.js.map +1 -0
- package/dist/esm/{table.worker-72318b56.js → table.worker-906bc297.js} +4 -4
- package/dist/esm/table.worker-906bc297.js.map +1 -0
- package/dist/esm/{transitions-71cca3ed.js → transitions-686c5fec.js} +3 -3
- package/dist/esm/transitions-686c5fec.js.map +1 -0
- package/dist/nano-components/nano-components.css +1 -1
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/nano-components.esm.js.map +1 -1
- package/dist/nano-components/{p-f25d2e90.entry.js → p-053eb1df.entry.js} +2 -2
- package/dist/nano-components/{p-ad3ddbc8.entry.js → p-068bdd89.entry.js} +2 -2
- package/dist/nano-components/{p-fa676bc6.entry.js → p-0c077605.entry.js} +2 -2
- package/dist/nano-components/{p-e4505f00.entry.js → p-0d1ca590.entry.js} +2 -2
- package/dist/nano-components/{p-ece694af.entry.js → p-104b7e3a.entry.js} +2 -2
- package/dist/nano-components/{p-75df97c2.entry.js → p-107d4549.entry.js} +2 -2
- package/dist/nano-components/{p-4c5e0c9e.js → p-13dd65c9.js} +2 -2
- package/dist/nano-components/p-15217442.entry.js +5 -0
- package/dist/nano-components/p-15217442.entry.js.map +1 -0
- package/dist/nano-components/{p-1aff5304.entry.js → p-173cc842.entry.js} +2 -2
- package/dist/nano-components/{p-93bece01.entry.js → p-1c6c94cb.entry.js} +2 -2
- package/dist/nano-components/{p-a9beb006.entry.js → p-207a1fbc.entry.js} +2 -2
- package/dist/nano-components/{p-d32dafd9.entry.js → p-239d343a.entry.js} +2 -2
- package/dist/nano-components/{p-d32dafd9.entry.js.map → p-239d343a.entry.js.map} +1 -1
- package/dist/nano-components/{p-dab8526f.entry.js → p-288dbe6b.entry.js} +2 -2
- package/dist/nano-components/{p-7b21ec0b.entry.js → p-30d55046.entry.js} +2 -2
- package/dist/nano-components/p-4b136a65.js +5 -0
- package/dist/nano-components/{p-378fe272.entry.js → p-57085052.entry.js} +2 -2
- package/dist/nano-components/{p-8f888280.entry.js → p-578f5e8d.entry.js} +2 -2
- package/dist/nano-components/{p-17eebe94.entry.js → p-583d8d70.entry.js} +2 -2
- package/dist/nano-components/{p-6bb4545b.entry.js → p-5984ae16.entry.js} +2 -2
- package/dist/nano-components/{p-76d8a8a8.js → p-5ac74848.js} +2 -2
- package/dist/nano-components/{p-ebb61a70.entry.js → p-5d466a58.entry.js} +2 -2
- package/dist/nano-components/p-60a8c896.js +5 -0
- package/dist/nano-components/{p-e113074e.entry.js → p-68928c59.entry.js} +2 -2
- package/dist/nano-components/{p-3667832c.entry.js → p-7304107c.entry.js} +2 -2
- package/dist/nano-components/{p-16e45583.entry.js → p-76a650b1.entry.js} +2 -2
- package/dist/nano-components/{p-09751447.entry.js → p-7d6065c6.entry.js} +2 -2
- package/dist/nano-components/{p-07b6af21.entry.js → p-935aef3d.entry.js} +2 -2
- package/dist/nano-components/{p-8065d85b.entry.js → p-93cfbdb6.entry.js} +2 -2
- package/dist/nano-components/p-9dfe2c55.entry.js +5 -0
- package/dist/nano-components/{p-f486c940.entry.js.map → p-9dfe2c55.entry.js.map} +1 -1
- package/dist/nano-components/{p-b65e0e63.js → p-9ebbb814.js} +2 -2
- package/dist/nano-components/{p-a26a7de3.entry.js → p-a1c0afb6.entry.js} +2 -2
- package/dist/nano-components/{p-76ab079e.entry.js → p-a5a560e7.entry.js} +2 -2
- package/dist/nano-components/{p-9d1432be.js → p-a6ff5ca6.js} +2 -2
- package/dist/nano-components/{p-4bbb04d3.entry.js → p-a761ac89.entry.js} +2 -2
- package/dist/nano-components/{p-4bbb04d3.entry.js.map → p-a761ac89.entry.js.map} +1 -1
- package/dist/nano-components/{p-62e3646b.entry.js → p-ac0ac58f.entry.js} +2 -2
- package/dist/nano-components/{p-63f1e229.entry.js → p-b6306aff.entry.js} +2 -2
- package/dist/nano-components/p-c38a246f.entry.js +5 -0
- package/dist/nano-components/{p-3e7153c8.entry.js → p-cba50c3e.entry.js} +2 -2
- package/dist/nano-components/{p-ce07df57.entry.js → p-cd2f5e97.entry.js} +2 -2
- package/dist/nano-components/p-d0e15e46.entry.js +5 -0
- package/dist/nano-components/p-d0e15e46.entry.js.map +1 -0
- package/dist/nano-components/{p-dc88e52b.entry.js → p-d792f692.entry.js} +2 -2
- package/dist/nano-components/p-d7c34990.js +5 -0
- package/dist/nano-components/{p-45b7682a.js.map → p-d7c34990.js.map} +1 -1
- package/dist/nano-components/{p-4f17deb9.entry.js → p-db370094.entry.js} +3 -3
- package/dist/nano-components/{p-4f17deb9.entry.js.map → p-db370094.entry.js.map} +1 -1
- package/dist/nano-components/{p-47866646.entry.js → p-e41baa11.entry.js} +2 -2
- package/dist/nano-components/{p-9be2cba5.entry.js → p-e43f76c8.entry.js} +2 -2
- package/dist/nano-components/{p-7f545755.entry.js → p-eab09335.entry.js} +2 -2
- package/dist/nano-components/p-f2d89239.entry.js +5 -0
- package/dist/nano-components/p-f2d89239.entry.js.map +1 -0
- package/dist/nano-components/p-f6a8467a.js +6 -0
- package/dist/nano-components/p-f6a8467a.js.map +1 -0
- package/dist/nano-components/p-f6de2d5d.js +5 -0
- package/dist/nano-components/p-f6de2d5d.js.map +1 -0
- package/dist/nano-components/{p-a20d2028.entry.js → p-f93bd976.entry.js} +2 -2
- package/dist/nano-components/{p-36a2f1c0.entry.js → p-fe7a0158.entry.js} +2 -2
- package/dist/nano-components/{p-6a5ae656.entry.js → p-fecb72b9.entry.js} +2 -2
- package/dist/types/components/global-nav/global-nav.d.ts +1 -1
- package/dist/types/components/overflow-nav/overflow-nav.d.ts +78 -0
- package/dist/types/components/resize-observe/resize-observe.d.ts +4 -2
- package/dist/types/components.d.ts +90 -1
- package/dist/types/utils/transitions.d.ts +1 -1
- package/docs-json.json +282 -6
- package/docs-vscode.json +26 -1
- package/hydrate/index.js +389 -67
- package/package.json +3 -3
- package/dist/cjs/index-46286eea.js.map +0 -1
- package/dist/cjs/scroll-a197d9c4.js.map +0 -1
- package/dist/cjs/table.worker-8ad26746.js.map +0 -1
- package/dist/cjs/transitions-5cd8f697.js.map +0 -1
- package/dist/esm/index-52b0408e.js.map +0 -1
- package/dist/esm/scroll-e5825d8d.js.map +0 -1
- package/dist/esm/table.worker-72318b56.js.map +0 -1
- package/dist/esm/transitions-71cca3ed.js.map +0 -1
- package/dist/nano-components/p-167b9165.js +0 -5
- package/dist/nano-components/p-167b9165.js.map +0 -1
- package/dist/nano-components/p-45b7682a.js +0 -5
- package/dist/nano-components/p-6ef53fa1.js +0 -6
- package/dist/nano-components/p-6ef53fa1.js.map +0 -1
- package/dist/nano-components/p-7733f1f8.entry.js +0 -5
- package/dist/nano-components/p-7733f1f8.entry.js.map +0 -1
- package/dist/nano-components/p-8332890e.js +0 -5
- package/dist/nano-components/p-8c04640c.entry.js +0 -5
- package/dist/nano-components/p-d518b939.js +0 -5
- package/dist/nano-components/p-e44332c2.entry.js +0 -5
- package/dist/nano-components/p-e44332c2.entry.js.map +0 -1
- package/dist/nano-components/p-f486c940.entry.js +0 -5
- /package/dist/nano-components/{p-f25d2e90.entry.js.map → p-053eb1df.entry.js.map} +0 -0
- /package/dist/nano-components/{p-ad3ddbc8.entry.js.map → p-068bdd89.entry.js.map} +0 -0
- /package/dist/nano-components/{p-fa676bc6.entry.js.map → p-0c077605.entry.js.map} +0 -0
- /package/dist/nano-components/{p-e4505f00.entry.js.map → p-0d1ca590.entry.js.map} +0 -0
- /package/dist/nano-components/{p-ece694af.entry.js.map → p-104b7e3a.entry.js.map} +0 -0
- /package/dist/nano-components/{p-75df97c2.entry.js.map → p-107d4549.entry.js.map} +0 -0
- /package/dist/nano-components/{p-4c5e0c9e.js.map → p-13dd65c9.js.map} +0 -0
- /package/dist/nano-components/{p-1aff5304.entry.js.map → p-173cc842.entry.js.map} +0 -0
- /package/dist/nano-components/{p-93bece01.entry.js.map → p-1c6c94cb.entry.js.map} +0 -0
- /package/dist/nano-components/{p-a9beb006.entry.js.map → p-207a1fbc.entry.js.map} +0 -0
- /package/dist/nano-components/{p-dab8526f.entry.js.map → p-288dbe6b.entry.js.map} +0 -0
- /package/dist/nano-components/{p-7b21ec0b.entry.js.map → p-30d55046.entry.js.map} +0 -0
- /package/dist/nano-components/{p-8332890e.js.map → p-4b136a65.js.map} +0 -0
- /package/dist/nano-components/{p-378fe272.entry.js.map → p-57085052.entry.js.map} +0 -0
- /package/dist/nano-components/{p-8f888280.entry.js.map → p-578f5e8d.entry.js.map} +0 -0
- /package/dist/nano-components/{p-17eebe94.entry.js.map → p-583d8d70.entry.js.map} +0 -0
- /package/dist/nano-components/{p-6bb4545b.entry.js.map → p-5984ae16.entry.js.map} +0 -0
- /package/dist/nano-components/{p-76d8a8a8.js.map → p-5ac74848.js.map} +0 -0
- /package/dist/nano-components/{p-ebb61a70.entry.js.map → p-5d466a58.entry.js.map} +0 -0
- /package/dist/nano-components/{p-d518b939.js.map → p-60a8c896.js.map} +0 -0
- /package/dist/nano-components/{p-e113074e.entry.js.map → p-68928c59.entry.js.map} +0 -0
- /package/dist/nano-components/{p-3667832c.entry.js.map → p-7304107c.entry.js.map} +0 -0
- /package/dist/nano-components/{p-16e45583.entry.js.map → p-76a650b1.entry.js.map} +0 -0
- /package/dist/nano-components/{p-09751447.entry.js.map → p-7d6065c6.entry.js.map} +0 -0
- /package/dist/nano-components/{p-07b6af21.entry.js.map → p-935aef3d.entry.js.map} +0 -0
- /package/dist/nano-components/{p-8065d85b.entry.js.map → p-93cfbdb6.entry.js.map} +0 -0
- /package/dist/nano-components/{p-b65e0e63.js.map → p-9ebbb814.js.map} +0 -0
- /package/dist/nano-components/{p-a26a7de3.entry.js.map → p-a1c0afb6.entry.js.map} +0 -0
- /package/dist/nano-components/{p-76ab079e.entry.js.map → p-a5a560e7.entry.js.map} +0 -0
- /package/dist/nano-components/{p-9d1432be.js.map → p-a6ff5ca6.js.map} +0 -0
- /package/dist/nano-components/{p-62e3646b.entry.js.map → p-ac0ac58f.entry.js.map} +0 -0
- /package/dist/nano-components/{p-63f1e229.entry.js.map → p-b6306aff.entry.js.map} +0 -0
- /package/dist/nano-components/{p-8c04640c.entry.js.map → p-c38a246f.entry.js.map} +0 -0
- /package/dist/nano-components/{p-3e7153c8.entry.js.map → p-cba50c3e.entry.js.map} +0 -0
- /package/dist/nano-components/{p-ce07df57.entry.js.map → p-cd2f5e97.entry.js.map} +0 -0
- /package/dist/nano-components/{p-dc88e52b.entry.js.map → p-d792f692.entry.js.map} +0 -0
- /package/dist/nano-components/{p-47866646.entry.js.map → p-e41baa11.entry.js.map} +0 -0
- /package/dist/nano-components/{p-9be2cba5.entry.js.map → p-e43f76c8.entry.js.map} +0 -0
- /package/dist/nano-components/{p-7f545755.entry.js.map → p-eab09335.entry.js.map} +0 -0
- /package/dist/nano-components/{p-a20d2028.entry.js.map → p-f93bd976.entry.js.map} +0 -0
- /package/dist/nano-components/{p-36a2f1c0.entry.js.map → p-fe7a0158.entry.js.map} +0 -0
- /package/dist/nano-components/{p-6a5ae656.entry.js.map → p-fecb72b9.entry.js.map} +0 -0
@@ -232,9 +232,9 @@
|
|
232
232
|
}
|
233
233
|
.main-bar .nav-links--main {
|
234
234
|
justify-content: flex-start;
|
235
|
-
letter-spacing:
|
236
|
-
font-weight:
|
237
|
-
font-stretch:
|
235
|
+
letter-spacing: 1.5px;
|
236
|
+
font-weight: 600;
|
237
|
+
font-stretch: condensed;
|
238
238
|
text-transform: uppercase;
|
239
239
|
font-size: 1.065em;
|
240
240
|
-webkit-margin-end: auto;
|
@@ -272,8 +272,9 @@
|
|
272
272
|
.sticker-trigger {
|
273
273
|
background: var(--bar-background);
|
274
274
|
width: 100%;
|
275
|
-
z-index: calc(var(--nano-layer-index-menubar, 10) + 1);
|
276
275
|
height: 1px;
|
276
|
+
z-index: 20;
|
277
|
+
position: relative;
|
277
278
|
}
|
278
279
|
.sticker-trigger + .sticker-trigger {
|
279
280
|
display: none;
|
@@ -661,7 +662,9 @@ nano-select.search-input {
|
|
661
662
|
--nano-input-border-color: rgb(103 138 154);
|
662
663
|
--padding-end: var(--bar-item-spacing);
|
663
664
|
--nano-input-border-color--focus: black;
|
664
|
-
font-stretch:
|
665
|
+
font-stretch: condensed;
|
666
|
+
font-weight: 600;
|
667
|
+
letter-spacing: 1.5px;
|
665
668
|
font-size: 1.2em;
|
666
669
|
flex: 0 1 auto;
|
667
670
|
width: auto;
|
@@ -0,0 +1,223 @@
|
|
1
|
+
:host {
|
2
|
+
box-sizing: border-box;
|
3
|
+
}
|
4
|
+
|
5
|
+
*,
|
6
|
+
*::before,
|
7
|
+
*::after {
|
8
|
+
box-sizing: border-box;
|
9
|
+
}
|
10
|
+
[hidden] {
|
11
|
+
display: none !important;
|
12
|
+
}
|
13
|
+
:host {
|
14
|
+
/**
|
15
|
+
* @prop --indicator-transition. Defaults to var(--nano-transition-fast, 0.3s)
|
16
|
+
* @prop --indicator-color. Defaults to #90c6e7;
|
17
|
+
* @prop --indicator-size. Defaults to 0;
|
18
|
+
* @prop --indicator-track-color. Defaults to #e4e6e8;
|
19
|
+
* @prop --indicator-track-size. Defaults to var(--indicator-size);
|
20
|
+
|
21
|
+
* @prop --scroll-btn-color. Defaults to 'currentColor';
|
22
|
+
* @prop --fade-size. The size of the fade areas (when items do not fit). Defaults to 1.75rem;
|
23
|
+
* @prop --fade-transparency. Defaults to 0;
|
24
|
+
*
|
25
|
+
* @prop --padding. Padding that matches the fade size will stop items shifting if fade areas are added (i.e when items do not fit). Defaults to var(--fade-size);
|
26
|
+
*/
|
27
|
+
--indicator-transition: var(--nano-transition-fast, 0.3s);
|
28
|
+
--indicator-color: #90c6e7;
|
29
|
+
--indicator-size: 0;
|
30
|
+
--indicator-track-color: #e4e6e8;
|
31
|
+
--indicator-track-size: var(--indicator-size);
|
32
|
+
--scroll-btn-color: "currentColor";
|
33
|
+
--fade-size: 1.75rem;
|
34
|
+
--fade-transparency: 0;
|
35
|
+
--padding: var(--fade-size);
|
36
|
+
position: relative;
|
37
|
+
z-index: var(--nano-layer-index-raised, 5);
|
38
|
+
}
|
39
|
+
|
40
|
+
:host([orientation=horizontal]) {
|
41
|
+
display: block;
|
42
|
+
}
|
43
|
+
|
44
|
+
:host([orientation=vertical]) {
|
45
|
+
display: flex;
|
46
|
+
}
|
47
|
+
|
48
|
+
.onav__scroller {
|
49
|
+
scrollbar-width: none;
|
50
|
+
-ms-overflow-style: none;
|
51
|
+
display: flex;
|
52
|
+
transition: var(--nano-transition-medium, 0.5s) ease;
|
53
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=");
|
54
|
+
-webkit-mask-size: calc(100% + var(--fade-size) * 4);
|
55
|
+
mask-size: calc(100% + var(--fade-size) * 4);
|
56
|
+
-webkit-mask-position: calc(var(--fade-size) * -2);
|
57
|
+
mask-position: calc(var(--fade-size) * -2);
|
58
|
+
}
|
59
|
+
.onav__scroller::-webkit-scrollbar {
|
60
|
+
inline-size: 0;
|
61
|
+
block-size: 0;
|
62
|
+
}
|
63
|
+
.onav__scroller::after {
|
64
|
+
content: " ";
|
65
|
+
line-height: 1;
|
66
|
+
flex: 0 0 auto;
|
67
|
+
display: block;
|
68
|
+
}
|
69
|
+
.onav--has-scroll-controls-start .onav__scroller {
|
70
|
+
-webkit-mask-position: 0;
|
71
|
+
mask-position: 0;
|
72
|
+
-webkit-mask-size: calc(100% + var(--fade-size) * 2);
|
73
|
+
mask-size: calc(100% + var(--fade-size) * 2);
|
74
|
+
}
|
75
|
+
.onav--has-scroll-controls-end .onav__scroller {
|
76
|
+
-webkit-mask-position: calc(var(--fade-size) * -1);
|
77
|
+
mask-position: calc(var(--fade-size) * -1);
|
78
|
+
-webkit-mask-size: calc(100% + var(--fade-size));
|
79
|
+
mask-size: calc(100% + var(--fade-size));
|
80
|
+
}
|
81
|
+
.onav--has-scroll-controls-start.onav--has-scroll-controls-end .onav__scroller {
|
82
|
+
-webkit-mask-size: 100%;
|
83
|
+
mask-size: 100%;
|
84
|
+
-webkit-mask-position: 0;
|
85
|
+
mask-position: 0;
|
86
|
+
}
|
87
|
+
.onav__items {
|
88
|
+
flex: 1 1 auto;
|
89
|
+
position: relative;
|
90
|
+
width: auto;
|
91
|
+
flex-wrap: nowrap;
|
92
|
+
display: flex;
|
93
|
+
}
|
94
|
+
.onav__items::before {
|
95
|
+
content: "";
|
96
|
+
background: var(--indicator-track-color);
|
97
|
+
display: block;
|
98
|
+
position: absolute;
|
99
|
+
z-index: 1;
|
100
|
+
}
|
101
|
+
.onav__active-indicator {
|
102
|
+
position: absolute;
|
103
|
+
z-index: 10;
|
104
|
+
transition: var(--indicator-transition) transform ease, var(--indicator-transition) width ease, var(--indicator-transition) height ease;
|
105
|
+
}
|
106
|
+
.onav nano-icon-button.onav__scroll-button {
|
107
|
+
--nano-color-base: var(--scroll-btn-color);
|
108
|
+
display: flex;
|
109
|
+
align-items: center;
|
110
|
+
justify-content: center;
|
111
|
+
position: absolute;
|
112
|
+
border: unset;
|
113
|
+
z-index: 2;
|
114
|
+
transition: var(--nano-transition-fast, 0.3s) ease opacity;
|
115
|
+
opacity: 0;
|
116
|
+
color: var(--scroll-btn-color);
|
117
|
+
pointer-events: none;
|
118
|
+
}
|
119
|
+
.onav nano-icon-button.onav__scroll-button:focus {
|
120
|
+
outline: none;
|
121
|
+
}
|
122
|
+
.onav nano-icon-button.onav__scroll-button.is-shown {
|
123
|
+
opacity: 1;
|
124
|
+
pointer-events: all;
|
125
|
+
}
|
126
|
+
.onav nano-icon-button.onav__scroll-button:focus-visible {
|
127
|
+
box-shadow: var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))) inset;
|
128
|
+
}
|
129
|
+
.onav--horizontal .onav__scroller {
|
130
|
+
overflow-x: auto;
|
131
|
+
overflow-y: hidden;
|
132
|
+
-webkit-mask-repeat: no-repeat;
|
133
|
+
mask-repeat: no-repeat;
|
134
|
+
padding-inline: var(--padding);
|
135
|
+
-webkit-mask-image: linear-gradient(to left, rgb(0 0 0/var(--fade-transparency)) 0, rgb(0 0 0/var(--fade-transparency)) var(--fade-size), black calc(var(--fade-size) * 2), black calc(100% - var(--fade-size) * 2), rgb(0 0 0/var(--fade-transparency)) calc(100% - var(--fade-size)), rgb(0 0 0/var(--fade-transparency)));
|
136
|
+
mask-image: linear-gradient(to left, rgb(0 0 0/var(--fade-transparency)) 0, rgb(0 0 0/var(--fade-transparency)) var(--fade-size), black calc(var(--fade-size) * 2), black calc(100% - var(--fade-size) * 2), rgb(0 0 0/var(--fade-transparency)) calc(100% - var(--fade-size)), rgb(0 0 0/var(--fade-transparency)));
|
137
|
+
}
|
138
|
+
.onav--horizontal .onav__scroller::after {
|
139
|
+
padding-inline: 0 var(--fade-size);
|
140
|
+
padding-block: 0 0;
|
141
|
+
}
|
142
|
+
.onav--horizontal.onav--has-scroll-controls .onav__scroller {
|
143
|
+
padding-inline: var(--fade-size) 0;
|
144
|
+
-webkit-padding-before: 0;
|
145
|
+
padding-block-start: 0;
|
146
|
+
-webkit-padding-after: 0;
|
147
|
+
padding-block-end: 0;
|
148
|
+
}
|
149
|
+
.onav--horizontal .onav__items {
|
150
|
+
flex-direction: row;
|
151
|
+
}
|
152
|
+
.onav--horizontal .onav__items::before {
|
153
|
+
content: "";
|
154
|
+
width: 100%;
|
155
|
+
height: var(--indicator-track-size);
|
156
|
+
inset-block-end: 0;
|
157
|
+
}
|
158
|
+
.onav--horizontal .onav__active-indicator {
|
159
|
+
inset-block-end: 0;
|
160
|
+
-webkit-border-after: solid var(--indicator-size) var(--indicator-color);
|
161
|
+
border-block-end: solid var(--indicator-size) var(--indicator-color);
|
162
|
+
}
|
163
|
+
.onav--horizontal .onav__scroll-button {
|
164
|
+
inset-block: 0;
|
165
|
+
}
|
166
|
+
.onav--horizontal .onav__scroll-button--start {
|
167
|
+
inset-inline-start: 0;
|
168
|
+
}
|
169
|
+
.onav--horizontal .onav__scroll-button--end {
|
170
|
+
inset-inline-end: 0;
|
171
|
+
}
|
172
|
+
.onav--vertical {
|
173
|
+
width: 100%;
|
174
|
+
}
|
175
|
+
.onav--vertical .onav__nav {
|
176
|
+
max-height: 100%;
|
177
|
+
display: flex;
|
178
|
+
}
|
179
|
+
.onav--vertical .onav__scroller {
|
180
|
+
width: 100%;
|
181
|
+
overflow-y: auto;
|
182
|
+
overflow-x: hidden;
|
183
|
+
flex-direction: column;
|
184
|
+
-webkit-mask-repeat: no-repeat;
|
185
|
+
mask-repeat: no-repeat;
|
186
|
+
padding-block: var(--padding);
|
187
|
+
-webkit-mask-image: linear-gradient(to top, rgb(0 0 0/var(--fade-transparency)) 0, rgb(0 0 0/var(--fade-transparency)) var(--fade-size), black calc(var(--fade-size) * 2), black calc(100% - var(--fade-size) * 2), rgb(0 0 0/var(--fade-transparency)) calc(100% - var(--fade-size)), rgb(0 0 0/var(--fade-transparency)));
|
188
|
+
mask-image: linear-gradient(to top, rgb(0 0 0/var(--fade-transparency)) 0, rgb(0 0 0/var(--fade-transparency)) var(--fade-size), black calc(var(--fade-size) * 2), black calc(100% - var(--fade-size) * 2), rgb(0 0 0/var(--fade-transparency)) calc(100% - var(--fade-size)), rgb(0 0 0/var(--fade-transparency)));
|
189
|
+
padding-inline: 0 0;
|
190
|
+
-webkit-padding-before: calc(var(--fade-size) + 12px);
|
191
|
+
padding-block-start: calc(var(--fade-size) + 12px);
|
192
|
+
-webkit-padding-after: var(--fade-size);
|
193
|
+
padding-block-end: var(--fade-size);
|
194
|
+
}
|
195
|
+
.onav--vertical .onav__scroller::after {
|
196
|
+
padding-inline: 0 0;
|
197
|
+
padding-block: 0 var(--fade-size);
|
198
|
+
}
|
199
|
+
.onav--vertical .onav__items {
|
200
|
+
flex-direction: column;
|
201
|
+
width: -moz-fit-content;
|
202
|
+
width: fit-content;
|
203
|
+
}
|
204
|
+
.onav--vertical .onav__items::before {
|
205
|
+
content: "";
|
206
|
+
height: 100%;
|
207
|
+
width: var(--indicator-track-size);
|
208
|
+
inset-inline-start: 0;
|
209
|
+
}
|
210
|
+
.onav--vertical .onav__active-indicator {
|
211
|
+
inset-inline-start: 0;
|
212
|
+
-webkit-border-start: solid var(--indicator-size) var(--indicator-color);
|
213
|
+
border-inline-start: solid var(--indicator-size) var(--indicator-color);
|
214
|
+
}
|
215
|
+
.onav--vertical .onav__scroll-button {
|
216
|
+
inset-inline: 0;
|
217
|
+
}
|
218
|
+
.onav--vertical .onav__scroll-button--start {
|
219
|
+
inset-block-start: 0;
|
220
|
+
}
|
221
|
+
.onav--vertical .onav__scroll-button--end {
|
222
|
+
inset-block-end: 0;
|
223
|
+
}
|
@@ -0,0 +1,441 @@
|
|
1
|
+
/*!
|
2
|
+
* Web Components for Nanopore digital Web Apps
|
3
|
+
*/
|
4
|
+
import { Host, h, } from '@stencil/core';
|
5
|
+
import { getDirectChildren, getOffset } from '../../utils/dom';
|
6
|
+
import { debounce } from '../../utils/throttle';
|
7
|
+
/**
|
8
|
+
* Primarily used to display navigational items that may not fit on smaller screens.
|
9
|
+
*
|
10
|
+
* - Accepts any collection of elements
|
11
|
+
* - Gives visual cues of 'more' with auto display fade effect and scroll buttons
|
12
|
+
* - Auto scrolls to the active item onload
|
13
|
+
*
|
14
|
+
* @slot - Default slot to place items.
|
15
|
+
*
|
16
|
+
* @part base - root, wrapper element
|
17
|
+
* @part scroller - the scrolling element
|
18
|
+
* @part items - the item wrapper element
|
19
|
+
* @part indicator - the animated, indicator element
|
20
|
+
* @part scroll-button - The buttons shown at either side of the scrolling area
|
21
|
+
* @part scroll-button-prev - The button shown at the start of the scrolling area
|
22
|
+
* @part scroll-button-next - The button shown at the end of the scrolling area
|
23
|
+
*/
|
24
|
+
export class OverflowNav {
|
25
|
+
// private state
|
26
|
+
constructor() {
|
27
|
+
this.updateScrollControls = () => {
|
28
|
+
this.hasScrollControls =
|
29
|
+
this.nav[this.scrollProp] > this.nav[this.clientDimProp] &&
|
30
|
+
this.nav[this.scrollProp] > this.itemContainer[this.clientDimProp];
|
31
|
+
this.handleScroll();
|
32
|
+
};
|
33
|
+
this.handleScroll = () => {
|
34
|
+
if (!this.hasScrollControls) {
|
35
|
+
this.hideControlStart = this.hideControlEnd = true;
|
36
|
+
return;
|
37
|
+
}
|
38
|
+
const finishEnd = this.isRtl
|
39
|
+
? this.nav[this.scrollOffset] === 0
|
40
|
+
: Math.abs(this.nav[this.clientDimProp] -
|
41
|
+
(this.nav[this.scrollProp] - this.nav[this.scrollOffset])) < 2;
|
42
|
+
const finishStart = this.isRtl
|
43
|
+
? Math.abs(this.nav[this.scrollProp] +
|
44
|
+
this.nav[this.scrollOffset] -
|
45
|
+
this.nav[this.clientDimProp]) < 2
|
46
|
+
: this.nav[this.scrollOffset] === 0;
|
47
|
+
if (finishStart) {
|
48
|
+
this.hideControlStart = true;
|
49
|
+
this.hideControlEnd = false;
|
50
|
+
}
|
51
|
+
else if (finishEnd) {
|
52
|
+
this.hideControlStart = false;
|
53
|
+
this.hideControlEnd = true;
|
54
|
+
}
|
55
|
+
else {
|
56
|
+
this.hideControlEnd = false;
|
57
|
+
this.hideControlStart = false;
|
58
|
+
}
|
59
|
+
};
|
60
|
+
this.handleBtnClick = (goEnd = false) => {
|
61
|
+
const navDim = this.navDim;
|
62
|
+
let scrollAmt;
|
63
|
+
if (goEnd)
|
64
|
+
scrollAmt = this.nav[this.scrollOffset] + navDim - 20;
|
65
|
+
else
|
66
|
+
scrollAmt = this.nav[this.scrollOffset] - navDim + 20;
|
67
|
+
try {
|
68
|
+
this.nav.scroll({
|
69
|
+
left: this.orientation === 'horizontal' ? scrollAmt : 0,
|
70
|
+
top: this.orientation === 'vertical' ? scrollAmt : 0,
|
71
|
+
behavior: 'smooth',
|
72
|
+
});
|
73
|
+
}
|
74
|
+
catch (e) {
|
75
|
+
this.nav[this.scrollOffset] = scrollAmt;
|
76
|
+
}
|
77
|
+
};
|
78
|
+
this.slotChangeHandler = () => {
|
79
|
+
if (this.allActiveItems.length < 2)
|
80
|
+
return;
|
81
|
+
const item = this.allActiveItems.find((el) => this.isActiveHandler(el));
|
82
|
+
if (item)
|
83
|
+
this.activeItem = item;
|
84
|
+
this.recalculatePositions();
|
85
|
+
};
|
86
|
+
this.handleClick = (event) => {
|
87
|
+
if (this.allActiveItems.length < 2)
|
88
|
+
return;
|
89
|
+
const foundItem = event
|
90
|
+
.composedPath()
|
91
|
+
.find((e) => this.allActiveItems.includes(e));
|
92
|
+
if (foundItem)
|
93
|
+
this.activeItem = foundItem;
|
94
|
+
};
|
95
|
+
this.handleKeyDown = (event) => {
|
96
|
+
// Activate a tab
|
97
|
+
if (['Enter', ' '].includes(event.key)) {
|
98
|
+
const foundItem = event
|
99
|
+
.composedPath()
|
100
|
+
.find((e) => this.allActiveItems.includes(e));
|
101
|
+
if (foundItem)
|
102
|
+
this.activeItem = foundItem;
|
103
|
+
}
|
104
|
+
};
|
105
|
+
this.recalculatePositions = (init) => {
|
106
|
+
this.updateScrollControls();
|
107
|
+
this.syncActiveItemIndicator(init);
|
108
|
+
setTimeout(() => this.scrollToActiveItem(init), 300);
|
109
|
+
};
|
110
|
+
this.scrollControls = true;
|
111
|
+
this.orientation = 'horizontal';
|
112
|
+
this.activeHandler = (item) => item.classList.add('active');
|
113
|
+
this.inActiveHandler = (item) => item.classList.remove('active');
|
114
|
+
this.isActiveHandler = (item) => item.classList.contains('active');
|
115
|
+
this.hasScrollControls = false;
|
116
|
+
this.hideControlEnd = true;
|
117
|
+
this.hideControlStart = true;
|
118
|
+
this.recalculatePositions = debounce(this.recalculatePositions, 50);
|
119
|
+
}
|
120
|
+
get scrollProp() {
|
121
|
+
return this.orientation === 'horizontal' ? 'scrollWidth' : 'scrollHeight';
|
122
|
+
}
|
123
|
+
get clientDimProp() {
|
124
|
+
return this.orientation === 'horizontal' ? 'clientWidth' : 'clientHeight';
|
125
|
+
}
|
126
|
+
get scrollOffset() {
|
127
|
+
return this.orientation === 'horizontal' ? 'scrollLeft' : 'scrollTop';
|
128
|
+
}
|
129
|
+
watchScrollControls() {
|
130
|
+
if (this.hasScrollControls)
|
131
|
+
this.handleScroll();
|
132
|
+
else
|
133
|
+
this.hideControlStart = this.hideControlEnd = true;
|
134
|
+
}
|
135
|
+
hideEndBtn() {
|
136
|
+
if (!this.endBtn)
|
137
|
+
return;
|
138
|
+
this.activateBtn(this.endBtn, !this.hideControlEnd);
|
139
|
+
}
|
140
|
+
hideStartBtn() {
|
141
|
+
if (!this.startBtn)
|
142
|
+
return;
|
143
|
+
this.activateBtn(this.startBtn, !this.hideControlStart);
|
144
|
+
}
|
145
|
+
// private logic
|
146
|
+
activateBtn(btn, activate = true) {
|
147
|
+
if (!activate) {
|
148
|
+
btn.tabIndex = -1;
|
149
|
+
btn.disabled = true;
|
150
|
+
btn.classList.remove('is-shown');
|
151
|
+
return;
|
152
|
+
}
|
153
|
+
btn.tabIndex = 0;
|
154
|
+
btn.disabled = false;
|
155
|
+
btn.classList.add('is-shown');
|
156
|
+
}
|
157
|
+
get allActiveItems() {
|
158
|
+
return this.allItems.filter((el) => !el.disabled || el.classList.contains('disabled'));
|
159
|
+
}
|
160
|
+
get allItems() {
|
161
|
+
return getDirectChildren(this.host, '*', true);
|
162
|
+
}
|
163
|
+
get activeItem() {
|
164
|
+
if (this._activeItem)
|
165
|
+
return this._activeItem;
|
166
|
+
return this.allActiveItems.find((el) => this.isActiveHandler(el));
|
167
|
+
}
|
168
|
+
set activeItem(item) {
|
169
|
+
if (!item ||
|
170
|
+
item === this.activeItem ||
|
171
|
+
item.disabled ||
|
172
|
+
!this.allActiveItems.includes(item)) {
|
173
|
+
return;
|
174
|
+
}
|
175
|
+
this._activeItem = item;
|
176
|
+
this.allActiveItems.forEach((el) => {
|
177
|
+
if (el === this._activeItem)
|
178
|
+
this.activeHandler(el);
|
179
|
+
else
|
180
|
+
this.inActiveHandler(el);
|
181
|
+
});
|
182
|
+
this.syncActiveItemIndicator();
|
183
|
+
this.scrollToActiveItem();
|
184
|
+
}
|
185
|
+
get navDim() {
|
186
|
+
if (!this.nav)
|
187
|
+
return 0;
|
188
|
+
const computedStyle = getComputedStyle(this.nav);
|
189
|
+
let clientDim = this.nav[this.clientDimProp];
|
190
|
+
if (this.orientation === 'horizontal') {
|
191
|
+
return (clientDim -=
|
192
|
+
parseFloat(computedStyle.paddingLeft) +
|
193
|
+
parseFloat(computedStyle.paddingRight));
|
194
|
+
}
|
195
|
+
else {
|
196
|
+
return (clientDim -=
|
197
|
+
parseFloat(computedStyle.paddingTop) +
|
198
|
+
parseFloat(computedStyle.paddingBottom));
|
199
|
+
}
|
200
|
+
}
|
201
|
+
scrollToActiveItem(instant) {
|
202
|
+
if (!this.nav || !this.activeItem)
|
203
|
+
return;
|
204
|
+
requestAnimationFrame(() => {
|
205
|
+
this.activeItem.scrollIntoView({
|
206
|
+
behavior: instant ? 'auto' : 'smooth',
|
207
|
+
block: 'center',
|
208
|
+
inline: 'center',
|
209
|
+
});
|
210
|
+
});
|
211
|
+
}
|
212
|
+
syncActiveItemIndicator(instant) {
|
213
|
+
if (!this.activeItem)
|
214
|
+
return;
|
215
|
+
const item = this.activeItem;
|
216
|
+
const width = item.clientWidth || 0;
|
217
|
+
const height = item.clientHeight + 2 || 0;
|
218
|
+
const offset = getOffset(item, this.itemContainer);
|
219
|
+
if (!this.activeIndicator)
|
220
|
+
return;
|
221
|
+
const offsetTop = offset.top;
|
222
|
+
const offsetLeft = offset.left;
|
223
|
+
if (instant)
|
224
|
+
this.activeIndicator.style.transition = 'none';
|
225
|
+
switch (this.orientation) {
|
226
|
+
case 'horizontal':
|
227
|
+
this.activeIndicator.style.width = `${width}px`;
|
228
|
+
this.activeIndicator.style.height = null;
|
229
|
+
this.activeIndicator.style.transform = `translateX(${offsetLeft}px)`;
|
230
|
+
break;
|
231
|
+
case 'vertical':
|
232
|
+
this.activeIndicator.style.width = null;
|
233
|
+
this.activeIndicator.style.height = `${height}px`;
|
234
|
+
this.activeIndicator.style.transform = `translateY(${offsetTop}px)`;
|
235
|
+
break;
|
236
|
+
}
|
237
|
+
setTimeout(() => (this.activeIndicator.style.transition = null), 400);
|
238
|
+
}
|
239
|
+
// lifecycle
|
240
|
+
connectedCallback() {
|
241
|
+
this.isRtl =
|
242
|
+
this.orientation === 'horizontal' && !!this.host.closest('[dir="rtl"]');
|
243
|
+
if (!window['ResizeObserver'])
|
244
|
+
return;
|
245
|
+
if (this.ro) {
|
246
|
+
this.ro.disconnect();
|
247
|
+
this.ro = undefined;
|
248
|
+
}
|
249
|
+
const mo = (this.ro = new ResizeObserver(this.recalculatePositions));
|
250
|
+
mo.observe(this.host);
|
251
|
+
}
|
252
|
+
componentDidLoad() {
|
253
|
+
this.recalculatePositions(true);
|
254
|
+
}
|
255
|
+
disconnectedCallback() {
|
256
|
+
if (this.ro) {
|
257
|
+
this.ro.disconnect();
|
258
|
+
this.ro = undefined;
|
259
|
+
}
|
260
|
+
}
|
261
|
+
render() {
|
262
|
+
return (h(Host, { dir: this.isRtl ? 'rtl' : null }, h("div", { part: "base", class: {
|
263
|
+
onav: true,
|
264
|
+
[`onav--${this.orientation}`]: true,
|
265
|
+
'onav--has-scroll-controls': this.hasScrollControls,
|
266
|
+
'onav--has-scroll-controls-start': !this.hideControlStart,
|
267
|
+
'onav--has-scroll-controls-end': !this.hideControlEnd,
|
268
|
+
}, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { class: "onav__nav" }, this.scrollControls && (h("nano-icon-button", { part: "scroll-button scroll-button-prev", class: {
|
269
|
+
'onav__scroll-button': true,
|
270
|
+
'onav__scroll-button--start': true,
|
271
|
+
}, ref: (btn) => (this.startBtn = btn), onClick: () => this.handleBtnClick(false), label: "Click to scroll", iconName: this.orientation === 'horizontal'
|
272
|
+
? 'light/chevron-left'
|
273
|
+
: 'light/chevron-up' })), h("div", { part: "scroller", ref: (el) => (this.nav = el), class: "onav__scroller", onScroll: this.handleScroll }, h("div", { part: "items", ref: (el) => (this.itemContainer = el), class: "onav__items" }, h("div", { part: "indicator", ref: (el) => (this.activeIndicator = el), class: "onav__active-indicator" }), h("slot", { onSlotchange: this.slotChangeHandler }))), this.scrollControls && (h("nano-icon-button", { part: "scroll-button scroll-button-next", class: {
|
274
|
+
'onav__scroll-button': true,
|
275
|
+
'onav__scroll-button--end': true,
|
276
|
+
}, ref: (btn) => (this.endBtn = btn), onClick: () => this.handleBtnClick(true), label: "Click to scroll", iconName: this.orientation === 'horizontal'
|
277
|
+
? 'light/chevron-right'
|
278
|
+
: 'light/chevron-down' }))))));
|
279
|
+
}
|
280
|
+
static get is() { return "nano-overflow-nav"; }
|
281
|
+
static get encapsulation() { return "shadow"; }
|
282
|
+
static get originalStyleUrls() {
|
283
|
+
return {
|
284
|
+
"$": ["overflow-nav.scss"]
|
285
|
+
};
|
286
|
+
}
|
287
|
+
static get styleUrls() {
|
288
|
+
return {
|
289
|
+
"$": ["overflow-nav.css"]
|
290
|
+
};
|
291
|
+
}
|
292
|
+
static get properties() {
|
293
|
+
return {
|
294
|
+
"scrollControls": {
|
295
|
+
"type": "boolean",
|
296
|
+
"mutable": false,
|
297
|
+
"complexType": {
|
298
|
+
"original": "boolean",
|
299
|
+
"resolved": "boolean",
|
300
|
+
"references": {}
|
301
|
+
},
|
302
|
+
"required": false,
|
303
|
+
"optional": false,
|
304
|
+
"docs": {
|
305
|
+
"tags": [],
|
306
|
+
"text": "Disables the scroll arrow buttons that appear when content overflows"
|
307
|
+
},
|
308
|
+
"getter": false,
|
309
|
+
"setter": false,
|
310
|
+
"attribute": "scroll-controls",
|
311
|
+
"reflect": false,
|
312
|
+
"defaultValue": "true"
|
313
|
+
},
|
314
|
+
"orientation": {
|
315
|
+
"type": "string",
|
316
|
+
"mutable": false,
|
317
|
+
"complexType": {
|
318
|
+
"original": "'horizontal' | 'vertical'",
|
319
|
+
"resolved": "\"horizontal\" | \"vertical\"",
|
320
|
+
"references": {}
|
321
|
+
},
|
322
|
+
"required": false,
|
323
|
+
"optional": false,
|
324
|
+
"docs": {
|
325
|
+
"tags": [],
|
326
|
+
"text": "The flex direction of the element"
|
327
|
+
},
|
328
|
+
"getter": false,
|
329
|
+
"setter": false,
|
330
|
+
"attribute": "orientation",
|
331
|
+
"reflect": true,
|
332
|
+
"defaultValue": "'horizontal'"
|
333
|
+
},
|
334
|
+
"activeHandler": {
|
335
|
+
"type": "unknown",
|
336
|
+
"mutable": false,
|
337
|
+
"complexType": {
|
338
|
+
"original": "(item: HTMLElement) => void",
|
339
|
+
"resolved": "(item: HTMLElement) => void",
|
340
|
+
"references": {
|
341
|
+
"HTMLElement": {
|
342
|
+
"location": "global"
|
343
|
+
}
|
344
|
+
}
|
345
|
+
},
|
346
|
+
"required": false,
|
347
|
+
"optional": false,
|
348
|
+
"docs": {
|
349
|
+
"tags": [{
|
350
|
+
"name": "param",
|
351
|
+
"text": "item"
|
352
|
+
}, {
|
353
|
+
"name": "returns",
|
354
|
+
"text": "void"
|
355
|
+
}],
|
356
|
+
"text": "A function called when an item becomes 'active' (via click or keyboard)"
|
357
|
+
},
|
358
|
+
"getter": false,
|
359
|
+
"setter": false,
|
360
|
+
"defaultValue": "(item: HTMLElement) => item.classList.add('active')"
|
361
|
+
},
|
362
|
+
"inActiveHandler": {
|
363
|
+
"type": "unknown",
|
364
|
+
"mutable": false,
|
365
|
+
"complexType": {
|
366
|
+
"original": "(item: HTMLElement) => void",
|
367
|
+
"resolved": "(item: HTMLElement) => void",
|
368
|
+
"references": {
|
369
|
+
"HTMLElement": {
|
370
|
+
"location": "global"
|
371
|
+
}
|
372
|
+
}
|
373
|
+
},
|
374
|
+
"required": false,
|
375
|
+
"optional": false,
|
376
|
+
"docs": {
|
377
|
+
"tags": [{
|
378
|
+
"name": "param",
|
379
|
+
"text": "item"
|
380
|
+
}, {
|
381
|
+
"name": "returns",
|
382
|
+
"text": "void"
|
383
|
+
}],
|
384
|
+
"text": "A function called when an item becomes 'inactive'\n(because another item was made active)"
|
385
|
+
},
|
386
|
+
"getter": false,
|
387
|
+
"setter": false,
|
388
|
+
"defaultValue": "(item: HTMLElement) =>\n item.classList.remove('active')"
|
389
|
+
},
|
390
|
+
"isActiveHandler": {
|
391
|
+
"type": "unknown",
|
392
|
+
"mutable": false,
|
393
|
+
"complexType": {
|
394
|
+
"original": "(item: HTMLElement) => boolean",
|
395
|
+
"resolved": "(item: HTMLElement) => boolean",
|
396
|
+
"references": {
|
397
|
+
"HTMLElement": {
|
398
|
+
"location": "global"
|
399
|
+
}
|
400
|
+
}
|
401
|
+
},
|
402
|
+
"required": false,
|
403
|
+
"optional": false,
|
404
|
+
"docs": {
|
405
|
+
"tags": [{
|
406
|
+
"name": "param",
|
407
|
+
"text": "item"
|
408
|
+
}, {
|
409
|
+
"name": "returns",
|
410
|
+
"text": "void"
|
411
|
+
}],
|
412
|
+
"text": "A function called to assess an initial, active item"
|
413
|
+
},
|
414
|
+
"getter": false,
|
415
|
+
"setter": false,
|
416
|
+
"defaultValue": "(item: HTMLElement) =>\n item.classList.contains('active')"
|
417
|
+
}
|
418
|
+
};
|
419
|
+
}
|
420
|
+
static get states() {
|
421
|
+
return {
|
422
|
+
"hasScrollControls": {},
|
423
|
+
"hideControlEnd": {},
|
424
|
+
"hideControlStart": {}
|
425
|
+
};
|
426
|
+
}
|
427
|
+
static get elementRef() { return "host"; }
|
428
|
+
static get watchers() {
|
429
|
+
return [{
|
430
|
+
"propName": "hasScrollControls",
|
431
|
+
"methodName": "watchScrollControls"
|
432
|
+
}, {
|
433
|
+
"propName": "hideControlEnd",
|
434
|
+
"methodName": "hideEndBtn"
|
435
|
+
}, {
|
436
|
+
"propName": "hideControlStart",
|
437
|
+
"methodName": "hideStartBtn"
|
438
|
+
}];
|
439
|
+
}
|
440
|
+
}
|
441
|
+
//# sourceMappingURL=overflow-nav.js.map
|