@nanoporetech-digital/components 7.9.1 → 8.0.0-alpha.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/active-element-DB7WRcF-.js +69 -0
- package/dist/cjs/algolia-data-JweofGji.js +49 -0
- package/dist/cjs/algoliasearch-lite.esm.browser-DWj6KfUw.js +951 -0
- package/dist/cjs/component-store-DKMzj8Ei.js +326 -0
- package/dist/cjs/date-utils-DqYlulq4.js +232 -0
- package/dist/cjs/dom-a3wgHxbn.js +71 -0
- package/dist/cjs/drag-B5XXLJW9.js +72 -0
- package/dist/cjs/events-pBdXJwIU.js +37 -0
- package/dist/cjs/fade-run1oYFS.js +212 -0
- package/dist/cjs/form-control-zW-pmQ5Y.js +84 -0
- package/dist/cjs/fullscreen-DGiusO_n.js +132 -0
- package/dist/cjs/index-BV7Y7Zvi.js +198 -0
- package/dist/cjs/index-D0X7QVou.js +655 -0
- package/dist/cjs/index-DYD4xvxr.js +3328 -0
- package/dist/cjs/index-browser-3bwVgSYS.js +13 -0
- package/dist/cjs/index.cjs.js +41 -24
- package/dist/cjs/lazyload-CavfHrQV.js +94 -0
- package/dist/cjs/loader.cjs.js +4 -9
- package/dist/cjs/local-logged-in-C8Qr7Q7o.js +223 -0
- package/dist/cjs/local-logged-out-fCQ614s8.js +219 -0
- package/dist/cjs/math-DIjJ3V87.js +39 -0
- package/dist/cjs/modal-lJ_KdrUQ.js +49 -0
- package/dist/cjs/nano-accordion.cjs.entry.js +13 -27
- package/dist/cjs/nano-alert.cjs.entry.js +85 -36
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +10 -15
- package/dist/cjs/nano-algolia-pagination.cjs.entry.js +5 -9
- package/dist/cjs/nano-algolia-results.cjs.entry.js +7 -11
- package/dist/cjs/nano-algolia.cjs.entry.js +22 -27
- package/dist/cjs/nano-animation.cjs.entry.js +4 -8
- package/dist/cjs/nano-avatar_5.cjs.entry.js +1778 -0
- package/dist/cjs/nano-breadcrumb.cjs.entry.js +41 -0
- package/dist/cjs/nano-card-carousel.cjs.entry.js +95 -0
- package/dist/cjs/nano-card.cjs.entry.js +23 -0
- package/dist/cjs/nano-checkbox-group.cjs.entry.js +79 -47
- package/dist/cjs/nano-checkbox.cjs.entry.js +34 -24
- package/dist/cjs/nano-collapsible-comparison.cjs.entry.js +62 -0
- package/dist/cjs/nano-components.cjs.js +8 -11
- package/dist/cjs/nano-content-links.cjs.entry.js +17 -0
- package/dist/cjs/nano-cta.cjs.entry.js +42 -0
- package/dist/cjs/nano-data-table-DlJaR4KG.js +1847 -0
- package/dist/cjs/nano-data-table.cjs.entry.js +17 -0
- package/dist/cjs/nano-datalist_3.cjs.entry.js +85 -258
- package/dist/cjs/nano-date-input.cjs.entry.js +14 -27
- package/dist/cjs/nano-date-picker_2.cjs.entry.js +999 -0
- package/dist/cjs/nano-details.cjs.entry.js +61 -81
- package/dist/cjs/nano-dialog.cjs.entry.js +45 -42
- package/dist/cjs/nano-dropdown_2.cjs.entry.js +640 -0
- package/dist/cjs/nano-field-validator.cjs.entry.js +9 -17
- package/dist/cjs/nano-file-upload.cjs.entry.js +6 -11
- package/dist/cjs/nano-footer.cjs.entry.js +25 -0
- package/dist/cjs/nano-global-nav.cjs.entry.js +416 -1171
- package/dist/cjs/nano-grid-item.cjs.entry.js +3 -7
- package/dist/cjs/nano-grid_2.cjs.entry.js +12 -18
- package/dist/cjs/nano-hero.cjs.entry.js +9 -16
- package/dist/cjs/nano-icon-item.cjs.entry.js +21 -0
- package/dist/cjs/nano-icon_3.cjs.entry.js +655 -0
- package/dist/cjs/nano-in-page-nav.cjs.entry.js +212 -0
- package/dist/cjs/nano-intersection-observe.cjs.entry.js +15 -10
- package/dist/cjs/nano-masked-overflow.cjs.entry.js +351 -0
- package/dist/cjs/nano-menu-drawer.cjs.entry.js +8 -13
- package/dist/cjs/nano-more-less.cjs.entry.js +5 -9
- package/dist/cjs/nano-nav-item.cjs.entry.js +271 -0
- package/dist/cjs/nano-progress-bar.cjs.entry.js +8 -13
- package/dist/cjs/nano-range.cjs.entry.js +9 -14
- package/dist/cjs/nano-rating.cjs.entry.js +10 -20
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js +8 -13
- package/dist/cjs/nano-slide.cjs.entry.js +6 -11
- package/dist/cjs/nano-slides-D5q9vQ4P.js +3050 -0
- package/dist/cjs/nano-slides.cjs.entry.js +4 -8
- package/dist/cjs/nano-sortable.cjs.entry.js +11 -14
- package/dist/cjs/nano-spinner.cjs.entry.js +6 -11
- package/dist/cjs/nano-split-pane.cjs.entry.js +9 -14
- package/dist/cjs/nano-sticker.cjs.entry.js +12 -17
- package/dist/cjs/nano-tab-content.cjs.entry.js +9 -14
- package/dist/cjs/nano-tab-group.cjs.entry.js +64 -228
- package/dist/cjs/nano-tab.cjs.entry.js +18 -20
- package/dist/cjs/nano-table.cjs.entry.js +232 -13
- package/dist/cjs/page-dots-D-QQnR4W.js +138 -0
- package/dist/cjs/popover-CpIMxMWJ.js +1947 -0
- package/dist/cjs/renderer-SkVn69pT.js +71 -0
- package/dist/cjs/scroll-DXjC771e.js +185 -0
- package/dist/cjs/search-insights-BtxuX7Wv.js +50 -0
- package/dist/cjs/slot-CBvkJee9.js +107 -0
- package/dist/cjs/style-BccHkuhC.js +58 -0
- package/dist/cjs/tabbable-M9OUrhLE.js +124 -0
- package/dist/cjs/table.worker-BTF0UXAd.js +4 -0
- package/dist/cjs/table.worker-FkRsUwRY.js +32 -0
- package/dist/cjs/theme-2potFCtG.js +46 -0
- package/dist/cjs/throttle-CrRDOkln.js +52 -0
- package/dist/collection/assets/img/bsi/27001.svg +188 -0
- package/dist/collection/assets/img/bsi/9001.svg +172 -0
- package/dist/collection/assets/img/bsi/mark-of-trust.svg +230 -0
- package/dist/collection/assets/img/flags/en.svg +15 -0
- package/dist/collection/assets/img/flags/es.svg +544 -0
- package/dist/collection/assets/img/flags/ja.svg +11 -0
- package/dist/collection/assets/img/flags/zh.svg +14 -0
- package/dist/collection/collection-manifest.json +16 -4
- package/dist/collection/components/accordion/accordion.css +24 -10
- package/dist/collection/components/accordion/accordion.js +20 -55
- package/dist/collection/components/alert/alert.css +127 -58
- package/dist/collection/components/alert/alert.helpers.js +19 -12
- package/dist/collection/components/alert/alert.js +147 -32
- package/dist/collection/components/algolia/algolia-data.js +1 -2
- package/dist/collection/components/algolia/algolia-filter.css +23 -9
- package/dist/collection/components/algolia/algolia-filter.js +8 -9
- package/dist/collection/components/algolia/algolia-interface.js +0 -1
- package/dist/collection/components/algolia/algolia-pagination.js +4 -5
- package/dist/collection/components/algolia/algolia-results.js +5 -6
- package/dist/collection/components/algolia/algolia.css +23 -9
- package/dist/collection/components/algolia/algolia.js +20 -18
- package/dist/collection/components/algolia/lib/squirrelly/browser.js +1 -2
- package/dist/collection/components/algolia/lib/squirrelly/compile-string.js +1 -2
- package/dist/collection/components/algolia/lib/squirrelly/compile.js +1 -2
- package/dist/collection/components/algolia/lib/squirrelly/config.js +1 -2
- package/dist/collection/components/algolia/lib/squirrelly/container-utils.js +1 -2
- package/dist/collection/components/algolia/lib/squirrelly/containers.js +1 -2
- package/dist/collection/components/algolia/lib/squirrelly/err.js +1 -2
- package/dist/collection/components/algolia/lib/squirrelly/parse.js +1 -2
- package/dist/collection/components/algolia/lib/squirrelly/render.js +1 -2
- package/dist/collection/components/algolia/lib/squirrelly/storage.js +1 -2
- package/dist/collection/components/algolia/lib/squirrelly/utils.js +1 -2
- package/dist/collection/components/algolia/lib/template.js +1 -2
- package/dist/collection/components/animation/animation.js +15 -15
- package/dist/collection/components/animation/animations/attention_seekers/bounce.js +1 -2
- package/dist/collection/components/animation/animations/attention_seekers/flash.js +1 -2
- package/dist/collection/components/animation/animations/attention_seekers/headShake.js +1 -2
- package/dist/collection/components/animation/animations/attention_seekers/heartBeat.js +1 -2
- package/dist/collection/components/animation/animations/attention_seekers/jello.js +1 -2
- package/dist/collection/components/animation/animations/attention_seekers/pulse.js +1 -2
- package/dist/collection/components/animation/animations/attention_seekers/rubberBand.js +1 -2
- package/dist/collection/components/animation/animations/attention_seekers/shake.js +1 -2
- package/dist/collection/components/animation/animations/attention_seekers/shakeX.js +1 -2
- package/dist/collection/components/animation/animations/attention_seekers/shakeY.js +1 -2
- package/dist/collection/components/animation/animations/attention_seekers/swing.js +1 -2
- package/dist/collection/components/animation/animations/attention_seekers/tada.js +1 -2
- package/dist/collection/components/animation/animations/attention_seekers/wobble.js +1 -2
- package/dist/collection/components/animation/animations/back_entrances/backInDown.js +1 -2
- package/dist/collection/components/animation/animations/back_entrances/backInLeft.js +1 -2
- package/dist/collection/components/animation/animations/back_entrances/backInRight.js +1 -2
- package/dist/collection/components/animation/animations/back_entrances/backInUp.js +1 -2
- package/dist/collection/components/animation/animations/back_exits/backOutDown.js +1 -2
- package/dist/collection/components/animation/animations/back_exits/backOutLeft.js +1 -2
- package/dist/collection/components/animation/animations/back_exits/backOutRight.js +1 -2
- package/dist/collection/components/animation/animations/back_exits/backOutUp.js +1 -2
- package/dist/collection/components/animation/animations/bouncing_entrances/bounceIn.js +1 -2
- package/dist/collection/components/animation/animations/bouncing_entrances/bounceInDown.js +1 -2
- package/dist/collection/components/animation/animations/bouncing_entrances/bounceInLeft.js +1 -2
- package/dist/collection/components/animation/animations/bouncing_entrances/bounceInRight.js +1 -2
- package/dist/collection/components/animation/animations/bouncing_entrances/bounceInUp.js +1 -2
- package/dist/collection/components/animation/animations/bouncing_exits/bounceOut.js +1 -2
- package/dist/collection/components/animation/animations/bouncing_exits/bounceOutDown.js +1 -2
- package/dist/collection/components/animation/animations/bouncing_exits/bounceOutLeft.js +1 -2
- package/dist/collection/components/animation/animations/bouncing_exits/bounceOutRight.js +1 -2
- package/dist/collection/components/animation/animations/bouncing_exits/bounceOutUp.js +1 -2
- package/dist/collection/components/animation/animations/easings/easings.js +1 -2
- package/dist/collection/components/animation/animations/fading_entrances/fadeIn.js +1 -2
- package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomLeft.js +1 -2
- package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomRight.js +1 -2
- package/dist/collection/components/animation/animations/fading_entrances/fadeInDown.js +1 -2
- package/dist/collection/components/animation/animations/fading_entrances/fadeInDownBig.js +1 -2
- package/dist/collection/components/animation/animations/fading_entrances/fadeInLeft.js +1 -2
- package/dist/collection/components/animation/animations/fading_entrances/fadeInLeftBig.js +1 -2
- package/dist/collection/components/animation/animations/fading_entrances/fadeInRight.js +1 -2
- package/dist/collection/components/animation/animations/fading_entrances/fadeInRightBig.js +1 -2
- package/dist/collection/components/animation/animations/fading_entrances/fadeInTopLeft.js +1 -2
- package/dist/collection/components/animation/animations/fading_entrances/fadeInTopRight.js +1 -2
- package/dist/collection/components/animation/animations/fading_entrances/fadeInUp.js +1 -2
- package/dist/collection/components/animation/animations/fading_entrances/fadeInUpBig.js +1 -2
- package/dist/collection/components/animation/animations/fading_exits/fadeOut.js +1 -2
- package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomLeft.js +1 -2
- package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomRight.js +1 -2
- package/dist/collection/components/animation/animations/fading_exits/fadeOutDown.js +1 -2
- package/dist/collection/components/animation/animations/fading_exits/fadeOutDownBig.js +1 -2
- package/dist/collection/components/animation/animations/fading_exits/fadeOutLeft.js +1 -2
- package/dist/collection/components/animation/animations/fading_exits/fadeOutLeftBig.js +1 -2
- package/dist/collection/components/animation/animations/fading_exits/fadeOutRight.js +1 -2
- package/dist/collection/components/animation/animations/fading_exits/fadeOutRightBig.js +1 -2
- package/dist/collection/components/animation/animations/fading_exits/fadeOutTopLeft.js +1 -2
- package/dist/collection/components/animation/animations/fading_exits/fadeOutTopRight.js +1 -2
- package/dist/collection/components/animation/animations/fading_exits/fadeOutUp.js +1 -2
- package/dist/collection/components/animation/animations/fading_exits/fadeOutUpBig.js +1 -2
- package/dist/collection/components/animation/animations/flippers/flip.js +1 -2
- package/dist/collection/components/animation/animations/flippers/flipInX.js +1 -2
- package/dist/collection/components/animation/animations/flippers/flipInY.js +1 -2
- package/dist/collection/components/animation/animations/flippers/flipOutX.js +1 -2
- package/dist/collection/components/animation/animations/flippers/flipOutY.js +1 -2
- package/dist/collection/components/animation/animations/index.js +1 -2
- package/dist/collection/components/animation/animations/lightspeed/lightSpeedInLeft.js +1 -2
- package/dist/collection/components/animation/animations/lightspeed/lightSpeedInRight.js +1 -2
- package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutLeft.js +1 -2
- package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutRight.js +1 -2
- package/dist/collection/components/animation/animations/rotating_entrances/rotateIn.js +1 -2
- package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownLeft.js +1 -2
- package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownRight.js +1 -2
- package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpLeft.js +1 -2
- package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpRight.js +1 -2
- package/dist/collection/components/animation/animations/rotating_exits/rotateOut.js +1 -2
- package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownLeft.js +1 -2
- package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownRight.js +1 -2
- package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpLeft.js +1 -2
- package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpRight.js +1 -2
- package/dist/collection/components/animation/animations/sliding_entrances/slideInDown.js +1 -2
- package/dist/collection/components/animation/animations/sliding_entrances/slideInLeft.js +1 -2
- package/dist/collection/components/animation/animations/sliding_entrances/slideInRight.js +1 -2
- package/dist/collection/components/animation/animations/sliding_entrances/slideInUp.js +1 -2
- package/dist/collection/components/animation/animations/sliding_exits/slideOutDown.js +1 -2
- package/dist/collection/components/animation/animations/sliding_exits/slideOutLeft.js +1 -2
- package/dist/collection/components/animation/animations/sliding_exits/slideOutRight.js +1 -2
- package/dist/collection/components/animation/animations/sliding_exits/slideOutUp.js +1 -2
- package/dist/collection/components/animation/animations/specials/hinge.js +1 -2
- package/dist/collection/components/animation/animations/specials/jackInTheBox.js +1 -2
- package/dist/collection/components/animation/animations/specials/rollIn.js +1 -2
- package/dist/collection/components/animation/animations/specials/rollOut.js +1 -2
- package/dist/collection/components/animation/animations/zooming_entrances/zoomIn.js +1 -2
- package/dist/collection/components/animation/animations/zooming_entrances/zoomInDown.js +1 -2
- package/dist/collection/components/animation/animations/zooming_entrances/zoomInLeft.js +1 -2
- package/dist/collection/components/animation/animations/zooming_entrances/zoomInRight.js +1 -2
- package/dist/collection/components/animation/animations/zooming_entrances/zoomInUp.js +1 -2
- package/dist/collection/components/animation/animations/zooming_exits/zoomOut.js +1 -2
- package/dist/collection/components/animation/animations/zooming_exits/zoomOutDown.js +1 -2
- package/dist/collection/components/animation/animations/zooming_exits/zoomOutLeft.js +1 -2
- package/dist/collection/components/animation/animations/zooming_exits/zoomOutRight.js +1 -2
- package/dist/collection/components/animation/animations/zooming_exits/zoomOutUp.js +1 -2
- package/dist/collection/components/avatar/avatar.css +41 -0
- package/dist/collection/components/avatar/avatar.js +47 -0
- package/dist/collection/components/badge/badge.js +84 -0
- package/dist/collection/components/breadcrumb/breadcrumb.css +168 -0
- package/dist/collection/components/breadcrumb/breadcrumb.js +83 -0
- package/dist/collection/components/card/card.css +43 -0
- package/dist/collection/components/card/card.js +92 -0
- package/dist/collection/components/card-carousel/card-carousel.css +167 -0
- package/dist/collection/components/card-carousel/card-carousel.js +144 -0
- package/dist/collection/components/checkbox/checkbox-group.css +96 -106
- package/dist/collection/components/checkbox/checkbox-group.js +95 -56
- package/dist/collection/components/checkbox/checkbox-interface.js +0 -1
- package/dist/collection/components/checkbox/checkbox.css +303 -305
- package/dist/collection/components/checkbox/checkbox.js +76 -59
- package/dist/collection/components/collapsible-comparison/collapsible-comparison.css +80 -0
- package/dist/collection/components/collapsible-comparison/collapsible-comparison.js +120 -0
- package/dist/collection/components/content-links/content-links.css +46 -0
- package/dist/collection/components/content-links/content-links.js +21 -0
- package/dist/collection/components/cta/cta.css +49 -0
- package/dist/collection/components/cta/cta.js +175 -0
- package/dist/collection/components/data-table/table.cell.js +114 -0
- package/dist/collection/components/data-table/table.constants.js +4 -0
- package/dist/collection/components/data-table/table.css +327 -0
- package/dist/collection/components/data-table/table.header.js +65 -0
- package/dist/collection/components/data-table/table.js +1721 -0
- package/dist/collection/components/data-table/table.pin-service.js +388 -0
- package/dist/collection/components/data-table/table.row.js +112 -0
- package/dist/collection/components/data-table/table.store.js +144 -0
- package/dist/collection/components/data-table/table.utils.js +133 -0
- package/dist/collection/components/data-table/table.worker.js +220 -0
- package/dist/collection/components/datalist/datalist.css +43 -26
- package/dist/collection/components/datalist/datalist.js +35 -32
- package/dist/collection/components/date-input/date-input.css +25 -13
- package/dist/collection/components/date-input/date-input.js +49 -48
- package/dist/collection/components/date-picker/date-picker.css +51 -53
- package/dist/collection/components/date-picker/date-picker.js +41 -73
- package/dist/collection/components/date-picker/duet-date-picker/date-adapter.js +1 -2
- package/dist/collection/components/date-picker/duet-date-picker/date-localization.js +1 -2
- package/dist/collection/components/date-picker/duet-date-picker/date-picker-day.js +1 -2
- package/dist/collection/components/date-picker/duet-date-picker/date-picker-month.js +2 -3
- package/dist/collection/components/details/details.css +80 -106
- package/dist/collection/components/details/details.js +83 -134
- package/dist/collection/components/dialog/dialog.css +89 -87
- package/dist/collection/components/dialog/dialog.helpers.js +18 -7
- package/dist/collection/components/dialog/dialog.js +47 -57
- package/dist/collection/components/drawer/drawer.css +119 -50
- package/dist/collection/components/drawer/drawer.js +144 -55
- package/dist/collection/components/dropdown/dropdown.css +46 -31
- package/dist/collection/components/dropdown/dropdown.js +82 -64
- package/dist/collection/components/field-validator/field-validator.js +22 -25
- package/dist/collection/components/file-upload/file-upload-list.js +1 -2
- package/dist/collection/components/file-upload/file-upload.css +29 -17
- package/dist/collection/components/file-upload/file-upload.js +20 -20
- package/dist/collection/components/footer/footer.css +185 -0
- package/dist/collection/components/footer/footer.js +43 -0
- package/dist/collection/components/form-control/form-control.js +8 -8
- package/dist/collection/components/global-nav/assets/local-logged-in.json +202 -0
- package/dist/collection/components/global-nav/assets/local-logged-out.json +198 -0
- package/dist/collection/components/global-nav/global-nav.css +435 -0
- package/dist/collection/components/global-nav/global-nav.js +573 -1468
- package/dist/collection/components/global-search-results/global-search-results.css +26 -14
- package/dist/collection/components/global-search-results/global-search-results.js +36 -27
- package/dist/collection/components/grid/grid-item.js +2 -3
- package/dist/collection/components/grid/grid.css +23 -9
- package/dist/collection/components/grid/grid.js +21 -24
- package/dist/collection/components/hero/hero.css +23 -9
- package/dist/collection/components/hero/hero.js +12 -13
- package/dist/collection/components/icon/device/elysion.svg +5 -0
- package/dist/collection/components/icon/device/flongle.svg +4 -0
- package/dist/collection/components/icon/device/gridion.svg +9 -0
- package/dist/collection/components/icon/device/minion-mk1d.svg +4 -0
- package/dist/collection/components/icon/device/p2-integrated.svg +7 -0
- package/dist/collection/components/icon/device/p2-solo.svg +5 -0
- package/dist/collection/components/icon/device/p24.svg +6 -0
- package/dist/collection/components/icon/device/q.svg +4 -0
- package/dist/collection/components/icon/icon.css +76 -37
- package/dist/collection/components/icon/icon.js +144 -103
- package/dist/collection/components/icon/pictogram/analyse.svg +10 -0
- package/dist/collection/components/icon/pictogram/animal-research.svg +4 -0
- package/dist/collection/components/icon/pictogram/assembly.svg +3 -0
- package/dist/collection/components/icon/pictogram/biopharma.svg +3 -0
- package/dist/collection/components/icon/pictogram/cancer-research.svg +15 -0
- package/dist/collection/components/icon/pictogram/chromatin-conformation.svg +3 -0
- package/dist/collection/components/icon/pictogram/clinical-research.svg +3 -0
- package/dist/collection/components/icon/pictogram/environmental-conservation.svg +5 -0
- package/dist/collection/components/icon/pictogram/epigenetics.svg +5 -0
- package/dist/collection/components/icon/pictogram/fusion-transcripts.svg +3 -0
- package/dist/collection/components/icon/pictogram/gene-expression.svg +3 -0
- package/dist/collection/components/icon/pictogram/genome-research.svg +3 -0
- package/dist/collection/components/icon/pictogram/human-genomics.svg +4 -0
- package/dist/collection/components/icon/pictogram/infectious-disease.svg +13 -0
- package/dist/collection/components/icon/pictogram/microbial-genomics.svg +15 -0
- package/dist/collection/components/icon/pictogram/microbiome-metagenomics.svg +16 -0
- package/dist/collection/components/icon/pictogram/multiomics.svg +13 -0
- package/dist/collection/components/icon/pictogram/plant-research.svg +3 -0
- package/dist/collection/components/icon/pictogram/population-genomics.svg +6 -0
- package/dist/collection/components/icon/pictogram/prepare.svg +4 -0
- package/dist/collection/components/icon/pictogram/scalable.svg +12 -0
- package/dist/collection/components/icon/pictogram/sequence.svg +3 -0
- package/dist/collection/components/icon/pictogram/single-cell-spatial-transcriptions.svg +12 -0
- package/dist/collection/components/icon/pictogram/snvs-phasing.svg +4 -0
- package/dist/collection/components/icon/pictogram/splice-variation.svg +4 -0
- package/dist/collection/components/icon/pictogram/structural-variation.svg +4 -0
- package/dist/collection/components/icon/pictogram/targeted-sequencing.svg +10 -0
- package/dist/collection/components/icon/pictogram/transcriptomics.svg +3 -0
- package/dist/collection/components/icon/pictogram/unrestricted-read-length.svg +10 -0
- package/dist/collection/components/icon/pictogram/whole-genome-sequencing.svg +3 -0
- package/dist/collection/components/icon/pictogram/workflow-end-to-end.svg +3 -0
- package/dist/collection/components/icon/request.js +1 -2
- package/dist/collection/components/icon/utils.js +8 -11
- package/dist/collection/components/icon/validate.js +1 -2
- package/dist/collection/components/icon-button/icon-button.css +45 -37
- package/dist/collection/components/icon-button/icon-button.js +17 -26
- package/dist/collection/components/icon-item/icon-item.css +41 -0
- package/dist/collection/components/icon-item/icon-item.js +72 -0
- package/dist/collection/components/img/img.css +23 -9
- package/dist/collection/components/img/img.js +10 -11
- package/dist/collection/components/in-page-nav/in-page-nav.css +122 -0
- package/dist/collection/components/in-page-nav/in-page-nav.js +278 -0
- package/dist/collection/components/input/input.css +215 -167
- package/dist/collection/components/input/input.js +372 -133
- package/dist/collection/components/intersection-observe/intersection-observe.js +21 -10
- package/dist/collection/components/masked-overflow/masked-overflow.css +241 -0
- package/dist/collection/components/masked-overflow/masked-overflow.js +610 -0
- package/dist/collection/components/menu/menu.css +38 -46
- package/dist/collection/components/menu/menu.js +93 -36
- package/dist/collection/components/menu-drawer/menu-drawer.css +23 -9
- package/dist/collection/components/menu-drawer/menu-drawer.js +7 -8
- package/dist/collection/components/more-less/more-less.js +7 -8
- package/dist/collection/components/nav-item/nav-item.css +73 -270
- package/dist/collection/components/nav-item/nav-item.js +128 -291
- package/dist/collection/components/option/option.css +57 -39
- package/dist/collection/components/option/option.js +33 -18
- package/dist/collection/components/progress-bar/progress-bar.css +23 -9
- package/dist/collection/components/progress-bar/progress-bar.js +11 -9
- package/dist/collection/components/range/range.css +23 -9
- package/dist/collection/components/range/range.js +17 -19
- package/dist/collection/components/rating/rating.css +24 -10
- package/dist/collection/components/rating/rating.js +13 -18
- package/dist/collection/components/resize-observe/resize-observe.js +6 -9
- package/dist/collection/components/select/select.css +194 -223
- package/dist/collection/components/select/select.js +108 -136
- package/dist/collection/components/skeleton/skeleton.css +23 -9
- package/dist/collection/components/skeleton/skeleton.js +7 -7
- package/dist/collection/components/slides/lib/js/animate.js +1 -2
- package/dist/collection/components/slides/lib/js/cell.js +1 -2
- package/dist/collection/components/slides/lib/js/drag.js +1 -2
- package/dist/collection/components/slides/lib/js/fade.js +1 -2
- package/dist/collection/components/slides/lib/js/flickity.js +15 -5
- package/dist/collection/components/slides/lib/js/fullscreen.js +1 -2
- package/dist/collection/components/slides/lib/js/index.js +1 -2
- package/dist/collection/components/slides/lib/js/lazyload.js +1 -2
- package/dist/collection/components/slides/lib/js/page-dots.js +5 -7
- package/dist/collection/components/slides/lib/js/player.js +1 -2
- package/dist/collection/components/slides/lib/js/prev-next-button.js +1 -2
- package/dist/collection/components/slides/lib/js/slide.js +1 -2
- package/dist/collection/components/slides/lib/js/utils/event-emitter.js +1 -2
- package/dist/collection/components/slides/lib/js/utils/gestures.js +1 -2
- package/dist/collection/components/slides/lib/js/utils/get-size.js +1 -2
- package/dist/collection/components/slides/lib/js/utils/utils.js +1 -2
- package/dist/collection/components/slides/slide.css +23 -9
- package/dist/collection/components/slides/slide.js +3 -4
- package/dist/collection/components/slides/slides.css +49 -24
- package/dist/collection/components/slides/slides.js +16 -16
- package/dist/collection/components/sortable/sortable.css +25 -13
- package/dist/collection/components/sortable/sortable.js +34 -25
- package/dist/collection/components/spinner/spinner.css +23 -11
- package/dist/collection/components/spinner/spinner.js +8 -5
- package/dist/collection/components/split-pane/split-pane.css +33 -20
- package/dist/collection/components/split-pane/split-pane.js +13 -11
- package/dist/collection/components/sticker/sticker.css +23 -9
- package/dist/collection/components/sticker/sticker.js +14 -14
- package/dist/collection/components/table/table.css +31 -383
- package/dist/collection/components/table/table.js +211 -1566
- package/dist/collection/components/tabs/tab-content.css +23 -9
- package/dist/collection/components/tabs/tab-content.js +11 -7
- package/dist/collection/components/tabs/tab-group.css +70 -229
- package/dist/collection/components/tabs/tab-group.js +98 -266
- package/dist/collection/components/tabs/tab.css +83 -134
- package/dist/collection/components/tabs/tab.js +25 -18
- package/dist/collection/components/tag/tag.css +45 -0
- package/dist/collection/components/tag/tag.js +122 -0
- package/dist/collection/components/tooltip/tooltip.css +93 -66
- package/dist/collection/components/tooltip/tooltip.js +30 -14
- package/dist/collection/global/script/global.js +1 -2
- package/dist/collection/index.js +2 -2
- package/dist/collection/types/shared.js +0 -1
- package/dist/collection/utils/active-element.js +49 -2
- package/dist/collection/utils/constructible-style.js +3 -4
- package/dist/collection/utils/custom-template.js +1 -2
- package/dist/collection/utils/date-utils.js +1 -2
- package/dist/collection/utils/dom.js +10 -11
- package/dist/collection/utils/drag.js +1 -2
- package/dist/collection/utils/events.js +1 -2
- package/dist/collection/utils/fetch.js +1 -2
- package/dist/collection/utils/form.js +1 -2
- package/dist/collection/utils/gesture/gesture-controller.js +1 -2
- package/dist/collection/utils/gesture/index.js +1 -2
- package/dist/collection/utils/gesture/listener.js +1 -2
- package/dist/collection/utils/gesture/pointer-events.js +1 -2
- package/dist/collection/utils/gesture/recognizers.js +1 -2
- package/dist/collection/utils/gesture/swipe-back.js +1 -2
- package/dist/collection/utils/math.js +1 -2
- package/dist/collection/utils/modal.js +1 -2
- package/dist/collection/utils/popover.js +7 -4
- package/dist/collection/utils/promise-queue.js +1 -2
- package/dist/collection/utils/renderer.js +12 -3
- package/dist/collection/utils/scroll.js +59 -3
- package/dist/collection/utils/search-insights.js +1 -2
- package/dist/collection/utils/slot.js +82 -28
- package/dist/collection/utils/store/component-store.js +25 -14
- package/dist/collection/utils/store/get-set.js +1 -2
- package/dist/collection/utils/style.js +54 -0
- package/dist/collection/utils/tabbable.js +41 -27
- package/dist/collection/utils/testing/index.js +1 -2
- package/dist/collection/utils/theme.js +2 -4
- package/dist/collection/utils/throttle.js +1 -2
- package/dist/collection/utils/transitions.js +24 -7
- package/dist/components/active-element.js +50 -4
- package/dist/components/algolia-data.js +1 -3
- package/dist/components/algolia.js +964 -23
- package/dist/components/avatar.js +33 -0
- package/dist/components/badge.js +36 -0
- package/dist/components/component-store.js +27 -26
- package/dist/components/cta.js +61 -0
- package/dist/components/datalist.js +24 -27
- package/dist/components/date-picker.js +33 -45
- package/dist/components/details.js +198 -0
- package/dist/components/dom.js +11 -22
- package/dist/components/drag.js +1 -3
- package/dist/components/drawer.js +402 -0
- package/dist/components/dropdown.js +65 -59
- package/dist/components/events.js +1 -3
- package/dist/components/fade.js +2 -4
- package/dist/components/form-control.js +11 -9
- package/dist/components/fullscreen.js +2 -4
- package/dist/components/global-search-results.js +735 -0
- package/dist/components/grid.js +6 -9
- package/dist/components/icon-button.js +3 -17
- package/dist/components/icon.js +98 -90
- package/dist/components/img.js +6 -9
- package/dist/components/index-browser.js +3 -5
- package/dist/components/index.js +41 -22
- package/dist/components/index2.js +1 -3
- package/dist/components/index3.js +4 -9
- package/dist/components/input.js +178 -65
- package/dist/components/lazyload.js +2 -4
- package/dist/components/local-logged-in.js +214 -0
- package/dist/components/local-logged-out.js +210 -0
- package/dist/components/masked-overflow.js +402 -0
- package/dist/components/math.js +2 -4
- package/dist/components/menu.js +76 -29
- package/dist/components/modal.js +1 -3
- package/dist/components/nano-accordion.js +13 -26
- package/dist/components/nano-alert.js +82 -28
- package/dist/components/nano-algolia-filter.js +5 -8
- package/dist/components/nano-algolia-pagination.js +3 -5
- package/dist/components/nano-algolia-results.js +4 -6
- package/dist/components/nano-algolia.js +1 -3
- package/dist/components/nano-animation.js +2 -4
- package/dist/components/nano-avatar.d.ts +11 -0
- package/dist/components/nano-avatar.js +9 -0
- package/dist/components/nano-badge.d.ts +11 -0
- package/dist/components/nano-badge.js +9 -0
- package/dist/components/nano-breadcrumb.d.ts +11 -0
- package/dist/components/nano-breadcrumb.js +84 -0
- package/dist/components/nano-card-carousel.d.ts +11 -0
- package/dist/components/nano-card-carousel.js +124 -0
- package/dist/components/nano-card.d.ts +11 -0
- package/dist/components/nano-card.js +42 -0
- package/dist/components/nano-checkbox-group.js +76 -42
- package/dist/components/nano-checkbox.js +35 -22
- package/dist/components/nano-collapsible-comparison.d.ts +11 -0
- package/dist/components/nano-collapsible-comparison.js +106 -0
- package/dist/components/nano-content-links.d.ts +11 -0
- package/dist/components/nano-content-links.js +32 -0
- package/dist/components/nano-cta.d.ts +11 -0
- package/dist/components/nano-cta.js +9 -0
- package/dist/components/nano-data-table.d.ts +11 -0
- package/dist/components/nano-data-table.js +1945 -0
- package/dist/components/nano-datalist.js +1 -3
- package/dist/components/nano-date-input.js +35 -34
- package/dist/components/nano-date-picker.js +3 -5
- package/dist/components/nano-details.js +3 -209
- package/dist/components/nano-dialog.js +38 -34
- package/dist/components/nano-drawer.js +2 -335
- package/dist/components/nano-dropdown.js +1 -3
- package/dist/components/nano-field-validator.js +8 -14
- package/dist/components/nano-file-upload.js +4 -7
- package/dist/components/nano-footer.d.ts +11 -0
- package/dist/components/nano-footer.js +47 -0
- package/dist/components/nano-global-nav.js +519 -1251
- package/dist/components/nano-global-search-results.js +2 -669
- package/dist/components/nano-grid-item.js +2 -4
- package/dist/components/nano-grid.js +1 -3
- package/dist/components/nano-hero.js +9 -12
- package/dist/components/nano-icon-button.js +1 -3
- package/dist/components/nano-icon-item.d.ts +11 -0
- package/dist/components/nano-icon-item.js +39 -0
- package/dist/components/nano-icon.js +1 -3
- package/dist/components/nano-img.js +1 -3
- package/dist/components/nano-in-page-nav.d.ts +11 -0
- package/dist/components/nano-in-page-nav.js +246 -0
- package/dist/components/nano-input.js +1 -3
- package/dist/components/nano-intersection-observe.js +11 -5
- package/dist/components/nano-masked-overflow.d.ts +11 -0
- package/dist/components/nano-masked-overflow.js +9 -0
- package/dist/components/nano-menu-drawer.js +5 -8
- package/dist/components/nano-menu.js +1 -3
- package/dist/components/nano-more-less.js +3 -5
- package/dist/components/nano-nav-item.js +1 -3
- package/dist/components/nano-option.js +1 -3
- package/dist/components/nano-progress-bar.js +1 -3
- package/dist/components/nano-range.js +4 -7
- package/dist/components/nano-rating.js +8 -16
- package/dist/components/nano-resize-observe.js +1 -3
- package/dist/components/nano-select.js +1 -3
- package/dist/components/nano-skeleton.js +1 -3
- package/dist/components/nano-slide.js +4 -7
- package/dist/components/nano-slides.js +3 -3087
- package/dist/components/nano-sortable.js +12 -13
- package/dist/components/nano-spinner.js +1 -3
- package/dist/components/nano-split-pane.js +5 -8
- package/dist/components/nano-sticker.js +1 -3
- package/dist/components/nano-tab-content.js +8 -11
- package/dist/components/nano-tab-group.js +85 -239
- package/dist/components/nano-tab.js +17 -17
- package/dist/components/nano-table.js +205 -1882
- package/dist/components/nano-tag.d.ts +11 -0
- package/dist/components/nano-tag.js +9 -0
- package/dist/components/nano-tooltip.js +1 -3
- package/dist/components/nav-item.js +174 -225
- package/dist/components/option.js +12 -13
- package/dist/components/page-dots.js +6 -9
- package/dist/components/popover.js +31 -16
- package/dist/components/progress-bar.js +6 -9
- package/dist/components/renderer.js +12 -4
- package/dist/components/resize-observe.js +2 -4
- package/dist/components/scroll.js +60 -5
- package/dist/components/select.js +111 -100
- package/dist/components/skeleton.js +5 -8
- package/dist/components/slides.js +3097 -0
- package/dist/components/slot.js +84 -36
- package/dist/components/spinner.js +4 -7
- package/dist/components/sticker.js +7 -10
- package/dist/components/style.js +56 -0
- package/dist/components/tabbable.js +42 -28
- package/dist/components/table.worker.js +3 -5
- package/dist/components/tag.js +89 -0
- package/dist/components/theme.js +2 -5
- package/dist/components/throttle.js +1 -3
- package/dist/components/tooltip.js +20 -10
- package/dist/esm/active-element-C1pBwzyj.js +65 -0
- package/dist/esm/algolia-data-BNDipgId.js +47 -0
- package/dist/esm/algoliasearch-lite.esm.browser-C1SNUAIj.js +949 -0
- package/dist/esm/component-store-DqCSKpAK.js +324 -0
- package/dist/esm/date-utils-BZYdjI1P.js +217 -0
- package/dist/esm/dom-CF0Ycs9M.js +67 -0
- package/dist/esm/drag-BLOEuv-q.js +70 -0
- package/dist/esm/events-ClRFmcmJ.js +34 -0
- package/dist/esm/fade-CdIyPeai.js +210 -0
- package/dist/esm/form-control-DXPQniNX.js +81 -0
- package/dist/esm/fullscreen-C4GllGer.js +130 -0
- package/dist/esm/index-BQSuCPXH.js +652 -0
- package/dist/esm/index-CFYZ-ZOT.js +3289 -0
- package/dist/esm/index-DxKBolVo.js +196 -0
- package/dist/esm/index-browser-BvSm1vXe.js +6 -0
- package/dist/esm/index.js +43 -24
- package/dist/esm/lazyload-pTbJ7q2S.js +92 -0
- package/dist/esm/loader.js +4 -7
- package/dist/esm/local-logged-in-DNQyU0ot.js +214 -0
- package/dist/esm/local-logged-out-CD2oXHpq.js +210 -0
- package/dist/esm/math-BEqsTfVK.js +36 -0
- package/dist/esm/modal-B50PWCuY.js +47 -0
- package/dist/esm/nano-accordion.entry.js +13 -25
- package/dist/esm/nano-alert.entry.js +85 -34
- package/dist/esm/nano-algolia-filter.entry.js +10 -13
- package/dist/esm/nano-algolia-pagination.entry.js +5 -7
- package/dist/esm/nano-algolia-results.entry.js +7 -9
- package/dist/esm/nano-algolia.entry.js +22 -25
- package/dist/esm/nano-animation.entry.js +4 -6
- package/dist/esm/nano-avatar_5.entry.js +1772 -0
- package/dist/esm/nano-breadcrumb.entry.js +39 -0
- package/dist/esm/nano-card-carousel.entry.js +93 -0
- package/dist/esm/nano-card.entry.js +21 -0
- package/dist/esm/nano-checkbox-group.entry.js +79 -45
- package/dist/esm/nano-checkbox.entry.js +34 -22
- package/dist/esm/nano-collapsible-comparison.entry.js +60 -0
- package/dist/esm/nano-components.js +6 -8
- package/dist/esm/nano-content-links.entry.js +15 -0
- package/dist/esm/nano-cta.entry.js +40 -0
- package/dist/esm/nano-data-table-DsTG4mqR.js +1844 -0
- package/dist/esm/nano-data-table.entry.js +11 -0
- package/dist/esm/nano-datalist_3.entry.js +84 -255
- package/dist/esm/nano-date-input.entry.js +14 -25
- package/dist/esm/nano-date-picker_2.entry.js +996 -0
- package/dist/esm/nano-details.entry.js +61 -79
- package/dist/esm/nano-dialog.entry.js +45 -40
- package/dist/esm/nano-dropdown_2.entry.js +637 -0
- package/dist/esm/nano-field-validator.entry.js +9 -15
- package/dist/esm/nano-file-upload.entry.js +6 -9
- package/dist/esm/nano-footer.entry.js +23 -0
- package/dist/esm/nano-global-nav.entry.js +416 -1169
- package/dist/esm/nano-grid-item.entry.js +3 -5
- package/dist/esm/nano-grid_2.entry.js +12 -16
- package/dist/esm/nano-hero.entry.js +9 -14
- package/dist/esm/nano-icon-item.entry.js +19 -0
- package/dist/esm/nano-icon_3.entry.js +651 -0
- package/dist/esm/nano-in-page-nav.entry.js +210 -0
- package/dist/esm/nano-intersection-observe.entry.js +14 -7
- package/dist/esm/nano-masked-overflow.entry.js +349 -0
- package/dist/esm/nano-menu-drawer.entry.js +8 -11
- package/dist/esm/nano-more-less.entry.js +5 -7
- package/dist/esm/nano-nav-item.entry.js +269 -0
- package/dist/esm/nano-progress-bar.entry.js +8 -11
- package/dist/esm/nano-range.entry.js +9 -12
- package/dist/esm/nano-rating.entry.js +10 -18
- package/dist/esm/nano-resize-observe_2.entry.js +8 -11
- package/dist/esm/nano-slide.entry.js +6 -9
- package/dist/esm/nano-slides-BcyK9Szs.js +3045 -0
- package/dist/esm/nano-slides.entry.js +4 -6
- package/dist/esm/nano-sortable.entry.js +11 -12
- package/dist/esm/nano-spinner.entry.js +6 -9
- package/dist/esm/nano-split-pane.entry.js +9 -12
- package/dist/esm/nano-sticker.entry.js +10 -13
- package/dist/esm/nano-tab-content.entry.js +9 -12
- package/dist/esm/nano-tab-group.entry.js +64 -226
- package/dist/esm/nano-tab.entry.js +18 -18
- package/dist/esm/nano-table.entry.js +234 -9
- package/dist/esm/page-dots-Cq8hjoql.js +136 -0
- package/dist/esm/popover-D1cBIHdr.js +1945 -0
- package/dist/esm/renderer-LJzCFyMt.js +66 -0
- package/dist/esm/scroll-BRRzrkAi.js +179 -0
- package/dist/esm/search-insights-8OL2oeQN.js +48 -0
- package/dist/esm/slot-DBzVpliZ.js +104 -0
- package/dist/esm/style-BrRDhFfF.js +56 -0
- package/dist/esm/tabbable-BpHwrUYt.js +121 -0
- package/dist/esm/table.worker-BTF0UXAd.js +4 -0
- package/dist/esm/table.worker-BoX4CUXT.js +28 -0
- package/dist/esm/theme-aiuyr36I.js +43 -0
- package/dist/esm/throttle-C93FMm2Z.js +48 -0
- package/dist/nano-assets/font/jp/noto-sans-jp-v53-japanese_latin-300.woff2 +0 -0
- package/dist/nano-assets/font/latin/noto-sans-v39-latin-300.woff2 +0 -0
- package/dist/nano-assets/font/latin/noto-sans-v39-latin-300italic.woff2 +0 -0
- package/dist/nano-assets/font/sc/noto-sans-sc-v37-chinese-simplified_latin-300.woff2 +0 -0
- package/dist/nano-assets/hash.txt +1 -1
- package/dist/nano-assets/icon/device/elysion.svg +5 -0
- package/dist/nano-assets/icon/device/flongle.svg +4 -0
- package/dist/nano-assets/icon/device/gridion.svg +9 -0
- package/dist/nano-assets/icon/device/minion-mk1d.svg +4 -0
- package/dist/nano-assets/icon/device/p2-integrated.svg +7 -0
- package/dist/nano-assets/icon/device/p2-solo.svg +5 -0
- package/dist/nano-assets/icon/device/p24.svg +6 -0
- package/dist/nano-assets/icon/device/q.svg +4 -0
- package/dist/nano-assets/icon/pictogram/analyse.svg +10 -0
- package/dist/nano-assets/icon/pictogram/animal-research.svg +4 -0
- package/dist/nano-assets/icon/pictogram/assembly.svg +3 -0
- package/dist/nano-assets/icon/pictogram/biopharma.svg +3 -0
- package/dist/nano-assets/icon/pictogram/cancer-research.svg +15 -0
- package/dist/nano-assets/icon/pictogram/chromatin-conformation.svg +3 -0
- package/dist/nano-assets/icon/pictogram/clinical-research.svg +3 -0
- package/dist/nano-assets/icon/pictogram/environmental-conservation.svg +5 -0
- package/dist/nano-assets/icon/pictogram/epigenetics.svg +5 -0
- package/dist/nano-assets/icon/pictogram/fusion-transcripts.svg +3 -0
- package/dist/nano-assets/icon/pictogram/gene-expression.svg +3 -0
- package/dist/nano-assets/icon/pictogram/genome-research.svg +3 -0
- package/dist/nano-assets/icon/pictogram/human-genomics.svg +4 -0
- package/dist/nano-assets/icon/pictogram/infectious-disease.svg +13 -0
- package/dist/nano-assets/icon/pictogram/microbial-genomics.svg +15 -0
- package/dist/nano-assets/icon/pictogram/microbiome-metagenomics.svg +16 -0
- package/dist/nano-assets/icon/pictogram/multiomics.svg +13 -0
- package/dist/nano-assets/icon/pictogram/plant-research.svg +3 -0
- package/dist/nano-assets/icon/pictogram/population-genomics.svg +6 -0
- package/dist/nano-assets/icon/pictogram/prepare.svg +4 -0
- package/dist/nano-assets/icon/pictogram/scalable.svg +12 -0
- package/dist/nano-assets/icon/pictogram/sequence.svg +3 -0
- package/dist/nano-assets/icon/pictogram/single-cell-spatial-transcriptions.svg +12 -0
- package/dist/nano-assets/icon/pictogram/snvs-phasing.svg +4 -0
- package/dist/nano-assets/icon/pictogram/splice-variation.svg +4 -0
- package/dist/nano-assets/icon/pictogram/structural-variation.svg +4 -0
- package/dist/nano-assets/icon/pictogram/targeted-sequencing.svg +10 -0
- package/dist/nano-assets/icon/pictogram/transcriptomics.svg +3 -0
- package/dist/nano-assets/icon/pictogram/unrestricted-read-length.svg +10 -0
- package/dist/nano-assets/icon/pictogram/whole-genome-sequencing.svg +3 -0
- package/dist/nano-assets/icon/pictogram/workflow-end-to-end.svg +3 -0
- package/dist/nano-assets/img/bsi/27001.svg +188 -0
- package/dist/nano-assets/img/bsi/9001.svg +172 -0
- package/dist/nano-assets/img/bsi/mark-of-trust.svg +230 -0
- package/dist/nano-assets/img/flags/en.svg +15 -0
- package/dist/nano-assets/img/flags/es.svg +544 -0
- package/dist/nano-assets/img/flags/ja.svg +11 -0
- package/dist/nano-assets/img/flags/zh.svg +14 -0
- package/dist/nano-assets/local-logged-in.json +202 -0
- package/dist/nano-assets/local-logged-out.json +198 -0
- package/dist/nano-components/active-element-C1pBwzyj.js +4 -0
- package/dist/nano-components/algolia-data-BNDipgId.js +4 -0
- package/dist/nano-components/algoliasearch-lite.esm.browser-C1SNUAIj.js +4 -0
- package/dist/nano-components/assets/local-logged-in.json +202 -0
- package/dist/nano-components/assets/local-logged-out.json +198 -0
- package/dist/nano-components/component-store-DqCSKpAK.js +4 -0
- package/dist/nano-components/date-utils-BZYdjI1P.js +4 -0
- package/dist/nano-components/device/elysion.svg +5 -0
- package/dist/nano-components/device/flongle.svg +4 -0
- package/dist/nano-components/device/gridion.svg +9 -0
- package/dist/nano-components/device/minion-mk1d.svg +4 -0
- package/dist/nano-components/device/p2-integrated.svg +7 -0
- package/dist/nano-components/device/p2-solo.svg +5 -0
- package/dist/nano-components/device/p24.svg +6 -0
- package/dist/nano-components/device/q.svg +4 -0
- package/dist/nano-components/dom-CF0Ycs9M.js +4 -0
- package/dist/nano-components/drag-BLOEuv-q.js +4 -0
- package/dist/nano-components/events-ClRFmcmJ.js +4 -0
- package/dist/nano-components/fade-CdIyPeai.js +4 -0
- package/dist/nano-components/form-control-DXPQniNX.js +4 -0
- package/dist/nano-components/fullscreen-C4GllGer.js +4 -0
- package/dist/nano-components/index-BQSuCPXH.js +4 -0
- package/dist/nano-components/index-CFYZ-ZOT.js +5 -0
- package/dist/nano-components/index-DxKBolVo.js +4 -0
- package/dist/nano-components/index-browser-BvSm1vXe.js +4 -0
- package/dist/nano-components/index.esm.js +2 -3
- package/dist/nano-components/lazyload-pTbJ7q2S.js +4 -0
- package/dist/nano-components/local-logged-in-DNQyU0ot.js +4 -0
- package/dist/nano-components/local-logged-out-CD2oXHpq.js +4 -0
- package/dist/nano-components/math-BEqsTfVK.js +4 -0
- package/dist/nano-components/modal-B50PWCuY.js +4 -0
- package/dist/nano-components/nano-accordion.entry.js +2 -3
- package/dist/nano-components/nano-alert.entry.js +2 -3
- package/dist/nano-components/nano-algolia-filter.entry.js +2 -3
- package/dist/nano-components/nano-algolia-pagination.entry.js +2 -3
- package/dist/nano-components/nano-algolia-results.entry.js +2 -3
- package/dist/nano-components/nano-algolia.entry.js +2 -3
- package/dist/nano-components/nano-animation.entry.js +2 -3
- package/dist/nano-components/nano-avatar_5.entry.js +4 -0
- package/dist/nano-components/nano-breadcrumb.entry.js +4 -0
- package/dist/nano-components/nano-card-carousel.entry.js +4 -0
- package/dist/nano-components/nano-card.entry.js +4 -0
- package/dist/nano-components/nano-checkbox-group.entry.js +2 -3
- package/dist/nano-components/nano-checkbox.entry.js +2 -3
- package/dist/nano-components/nano-collapsible-comparison.entry.js +4 -0
- package/dist/nano-components/nano-components.css +2025 -1
- package/dist/nano-components/nano-components.esm.js +2 -3
- package/dist/nano-components/nano-content-links.entry.js +4 -0
- package/dist/nano-components/nano-cta.entry.js +4 -0
- package/dist/nano-components/nano-data-table-DsTG4mqR.js +4 -0
- package/dist/nano-components/nano-data-table.entry.js +4 -0
- package/dist/nano-components/nano-datalist_3.entry.js +2 -3
- package/dist/nano-components/nano-date-input.entry.js +2 -3
- package/dist/nano-components/nano-date-picker_2.entry.js +4 -0
- package/dist/nano-components/nano-details.entry.js +2 -3
- package/dist/nano-components/nano-dialog.entry.js +2 -3
- package/dist/nano-components/nano-dropdown_2.entry.js +4 -0
- package/dist/nano-components/nano-field-validator.entry.js +2 -3
- package/dist/nano-components/nano-file-upload.entry.js +2 -3
- package/dist/nano-components/nano-footer.entry.js +4 -0
- package/dist/nano-components/nano-global-nav.entry.js +2 -3
- package/dist/nano-components/nano-grid-item.entry.js +2 -3
- package/dist/nano-components/nano-grid_2.entry.js +2 -3
- package/dist/nano-components/nano-hero.entry.js +2 -3
- package/dist/nano-components/nano-icon-item.entry.js +4 -0
- package/dist/nano-components/nano-icon_3.entry.js +4 -0
- package/dist/nano-components/nano-in-page-nav.entry.js +4 -0
- package/dist/nano-components/nano-intersection-observe.entry.js +2 -3
- package/dist/nano-components/nano-masked-overflow.entry.js +4 -0
- package/dist/nano-components/nano-menu-drawer.entry.js +2 -3
- package/dist/nano-components/nano-more-less.entry.js +2 -3
- package/dist/nano-components/nano-nav-item.entry.js +4 -0
- package/dist/nano-components/nano-progress-bar.entry.js +2 -3
- package/dist/nano-components/nano-range.entry.js +2 -3
- package/dist/nano-components/nano-rating.entry.js +2 -3
- package/dist/nano-components/nano-resize-observe_2.entry.js +2 -3
- package/dist/nano-components/nano-slide.entry.js +2 -3
- package/dist/nano-components/nano-slides-BcyK9Szs.js +22 -0
- package/dist/nano-components/nano-slides.entry.js +2 -3
- package/dist/nano-components/nano-sortable.entry.js +2 -3
- package/dist/nano-components/nano-spinner.entry.js +2 -3
- package/dist/nano-components/nano-split-pane.entry.js +2 -3
- package/dist/nano-components/nano-sticker.entry.js +2 -3
- package/dist/nano-components/nano-tab-content.entry.js +2 -3
- package/dist/nano-components/nano-tab-group.entry.js +2 -3
- package/dist/nano-components/nano-tab.entry.js +2 -3
- package/dist/nano-components/nano-table.entry.js +2 -3
- package/dist/nano-components/page-dots-Cq8hjoql.js +4 -0
- package/dist/nano-components/pictogram/analyse.svg +10 -0
- package/dist/nano-components/pictogram/animal-research.svg +4 -0
- package/dist/nano-components/pictogram/assembly.svg +3 -0
- package/dist/nano-components/pictogram/biopharma.svg +3 -0
- package/dist/nano-components/pictogram/cancer-research.svg +15 -0
- package/dist/nano-components/pictogram/chromatin-conformation.svg +3 -0
- package/dist/nano-components/pictogram/clinical-research.svg +3 -0
- package/dist/nano-components/pictogram/environmental-conservation.svg +5 -0
- package/dist/nano-components/pictogram/epigenetics.svg +5 -0
- package/dist/nano-components/pictogram/fusion-transcripts.svg +3 -0
- package/dist/nano-components/pictogram/gene-expression.svg +3 -0
- package/dist/nano-components/pictogram/genome-research.svg +3 -0
- package/dist/nano-components/pictogram/human-genomics.svg +4 -0
- package/dist/nano-components/pictogram/infectious-disease.svg +13 -0
- package/dist/nano-components/pictogram/microbial-genomics.svg +15 -0
- package/dist/nano-components/pictogram/microbiome-metagenomics.svg +16 -0
- package/dist/nano-components/pictogram/multiomics.svg +13 -0
- package/dist/nano-components/pictogram/plant-research.svg +3 -0
- package/dist/nano-components/pictogram/population-genomics.svg +6 -0
- package/dist/nano-components/pictogram/prepare.svg +4 -0
- package/dist/nano-components/pictogram/scalable.svg +12 -0
- package/dist/nano-components/pictogram/sequence.svg +3 -0
- package/dist/nano-components/pictogram/single-cell-spatial-transcriptions.svg +12 -0
- package/dist/nano-components/pictogram/snvs-phasing.svg +4 -0
- package/dist/nano-components/pictogram/splice-variation.svg +4 -0
- package/dist/nano-components/pictogram/structural-variation.svg +4 -0
- package/dist/nano-components/pictogram/targeted-sequencing.svg +10 -0
- package/dist/nano-components/pictogram/transcriptomics.svg +3 -0
- package/dist/nano-components/pictogram/unrestricted-read-length.svg +10 -0
- package/dist/nano-components/pictogram/whole-genome-sequencing.svg +3 -0
- package/dist/nano-components/pictogram/workflow-end-to-end.svg +3 -0
- package/dist/nano-components/popover-D1cBIHdr.js +4 -0
- package/dist/nano-components/renderer-LJzCFyMt.js +4 -0
- package/dist/nano-components/scroll-BRRzrkAi.js +4 -0
- package/dist/nano-components/search-insights-8OL2oeQN.js +4 -0
- package/dist/nano-components/slot-DBzVpliZ.js +4 -0
- package/dist/nano-components/style-BrRDhFfF.js +4 -0
- package/dist/nano-components/tabbable-BpHwrUYt.js +4 -0
- package/dist/nano-components/table.worker-BTF0UXAd.js +4 -0
- package/dist/nano-components/table.worker-BoX4CUXT.js +4 -0
- package/dist/nano-components/theme-aiuyr36I.js +4 -0
- package/dist/nano-components/throttle-C93FMm2Z.js +4 -0
- package/dist/plugins/postcss/scoped-part.js +26 -0
- package/dist/plugins/stencil/vue-output/generate-vue-component.js +73 -0
- package/dist/plugins/stencil/vue-output/index.js +4 -0
- package/dist/plugins/stencil/vue-output/output-vue.js +95 -0
- package/dist/plugins/stencil/vue-output/plugin.js +43 -0
- package/dist/plugins/stencil/vue-output/types.js +1 -0
- package/dist/plugins/stencil/vue-output/utils.js +81 -0
- package/dist/stencil.config.js +50 -22
- package/dist/stencil.config.prod.js +4 -2
- package/dist/style/components.css +1 -0
- package/dist/style/components.css.map +1 -0
- package/dist/style/core.css +1 -0
- package/dist/style/core.css.map +1 -0
- package/dist/style/dark.css +1 -0
- package/dist/style/dark.css.map +1 -0
- package/dist/style/light.css +1 -0
- package/dist/style/light.css.map +1 -0
- package/dist/style/nano.css +1 -0
- package/dist/style/nano.css.map +1 -0
- package/dist/testing/mocks/intersection-observer.js +1 -2
- package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/postcss/scoped-part.d.ts +8 -0
- package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/stencil.config.d.ts +2 -0
- package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +2 -0
- package/dist/types/components/accordion/accordion.d.ts +10 -12
- package/dist/types/components/alert/alert.d.ts +35 -5
- package/dist/types/components/alert/alert.helpers.d.ts +7 -5
- package/dist/types/components/algolia/algolia-interface.d.ts +1 -1
- package/dist/types/components/avatar/avatar.d.ts +13 -0
- package/dist/types/components/badge/badge.d.ts +17 -0
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +22 -0
- package/dist/types/components/card/card.d.ts +20 -0
- package/dist/types/components/card-carousel/card-carousel.d.ts +32 -0
- package/dist/types/components/checkbox/checkbox-group.d.ts +12 -7
- package/dist/types/components/checkbox/checkbox.d.ts +16 -11
- package/dist/types/components/collapsible-comparison/collapsible-comparison.d.ts +30 -0
- package/dist/types/components/content-links/content-links.d.ts +10 -0
- package/dist/types/components/cta/cta.d.ts +30 -0
- package/dist/types/components/data-table/table-interface.d.ts +280 -0
- package/dist/types/components/data-table/table.d.ts +250 -0
- package/dist/types/components/data-table/table.store.d.ts +24 -0
- package/dist/types/components/data-table/table.utils.d.ts +63 -0
- package/dist/types/components/datalist/datalist.d.ts +5 -5
- package/dist/types/components/date-input/date-input.d.ts +8 -5
- package/dist/types/components/date-picker/date-picker.d.ts +11 -15
- package/dist/types/components/details/details.d.ts +25 -27
- package/dist/types/components/dialog/dialog.d.ts +4 -5
- package/dist/types/components/dialog/dialog.helpers.d.ts +2 -5
- package/dist/types/components/drawer/drawer.d.ts +14 -3
- package/dist/types/components/dropdown/dropdown.d.ts +11 -9
- package/dist/types/components/field-validator/field-validator.d.ts +4 -6
- package/dist/types/components/footer/footer.d.ts +21 -0
- package/dist/types/components/form-control/form-control.d.ts +4 -1
- package/dist/types/components/global-nav/global-nav.d.ts +111 -280
- package/dist/types/components/global-search-results/global-search-results.d.ts +8 -7
- package/dist/types/components/grid/grid.d.ts +4 -6
- package/dist/types/components/icon/icon.d.ts +21 -14
- package/dist/types/components/icon-button/icon-button.d.ts +4 -4
- package/dist/types/components/icon-item/icon-item.d.ts +17 -0
- package/dist/types/components/in-page-nav/in-page-nav.d.ts +52 -0
- package/dist/types/components/input/input.d.ts +59 -21
- package/dist/types/components/intersection-observe/intersection-observe.d.ts +6 -2
- package/dist/types/components/masked-overflow/masked-overflow.d.ts +94 -0
- package/dist/types/components/menu/menu.d.ts +15 -7
- package/dist/types/components/nav-item/nav-item.d.ts +30 -84
- package/dist/types/components/option/option.d.ts +2 -1
- package/dist/types/components/progress-bar/progress-bar.d.ts +4 -1
- package/dist/types/components/range/range.d.ts +3 -4
- package/dist/types/components/rating/rating.d.ts +0 -1
- package/dist/types/components/resize-observe/resize-observe.d.ts +2 -4
- package/dist/types/components/select/select.d.ts +20 -21
- package/dist/types/components/skeleton/skeleton.d.ts +3 -2
- package/dist/types/components/slides/slides.d.ts +3 -3
- package/dist/types/components/sortable/sortable.d.ts +5 -5
- package/dist/types/components/spinner/spinner.d.ts +4 -0
- package/dist/types/components/split-pane/split-pane.d.ts +3 -0
- package/dist/types/components/table/table.d.ts +27 -245
- package/dist/types/components/tabs/tab-content.d.ts +6 -1
- package/dist/types/components/tabs/tab-group.d.ts +17 -37
- package/dist/types/components/tabs/tab.d.ts +9 -4
- package/dist/types/components/tag/tag.d.ts +30 -0
- package/dist/types/components/tooltip/tooltip.d.ts +4 -0
- package/dist/types/components.d.ts +2617 -1108
- package/dist/types/stencil-public-runtime.d.ts +23 -1
- package/dist/types/types/shared.d.ts +1 -1
- package/dist/types/utils/active-element.d.ts +20 -0
- package/dist/types/utils/popover.d.ts +1 -0
- package/dist/types/utils/scroll.d.ts +15 -1
- package/dist/types/utils/slot.d.ts +25 -9
- package/dist/types/utils/store/component-store.d.ts +21 -0
- package/dist/types/utils/style.d.ts +9 -0
- package/dist/types/utils/tabbable.d.ts +4 -2
- package/dist/types/utils/transitions.d.ts +2 -0
- package/dist/wdio.conf.js +1 -3
- package/docs-json.json +15694 -12511
- package/docs-vscode.json +807 -442
- package/hydrate/index.d.ts +38 -24
- package/hydrate/index.js +15164 -14544
- package/hydrate/index.mjs +15163 -14543
- package/loader/cdn.js +1 -1
- package/loader/index.cjs.js +1 -1
- package/loader/index.es2017.js +1 -1
- package/loader/index.js +1 -1
- package/package.json +26 -19
- package/dist/cjs/active-element-8ffcfe49.js +0 -21
- package/dist/cjs/active-element-8ffcfe49.js.map +0 -1
- package/dist/cjs/algolia-data-ca9cd58e.js +0 -51
- package/dist/cjs/algolia-data-ca9cd58e.js.map +0 -1
- package/dist/cjs/algoliasearch-lite.esm.browser-890872fc.js +0 -968
- package/dist/cjs/algoliasearch-lite.esm.browser-890872fc.js.map +0 -1
- package/dist/cjs/app-globals-3e14cb71.js +0 -41
- package/dist/cjs/app-globals-3e14cb71.js.map +0 -1
- package/dist/cjs/component-store-b8d4bd91.js +0 -325
- package/dist/cjs/component-store-b8d4bd91.js.map +0 -1
- package/dist/cjs/date-utils-d9d3e6b4.js +0 -234
- package/dist/cjs/date-utils-d9d3e6b4.js.map +0 -1
- package/dist/cjs/dom-b99a1aec.js +0 -83
- package/dist/cjs/dom-b99a1aec.js.map +0 -1
- package/dist/cjs/drag-c0a99167.js +0 -74
- package/dist/cjs/drag-c0a99167.js.map +0 -1
- package/dist/cjs/events-96e9a3d4.js +0 -39
- package/dist/cjs/events-96e9a3d4.js.map +0 -1
- package/dist/cjs/fade-6a5004f4.js +0 -214
- package/dist/cjs/fade-6a5004f4.js.map +0 -1
- package/dist/cjs/focus-visible-39b54d1f.js +0 -68
- package/dist/cjs/focus-visible-39b54d1f.js.map +0 -1
- package/dist/cjs/form-control-5bb39cc2.js +0 -82
- package/dist/cjs/form-control-5bb39cc2.js.map +0 -1
- package/dist/cjs/fullscreen-f5db9bbe.js +0 -134
- package/dist/cjs/fullscreen-f5db9bbe.js.map +0 -1
- package/dist/cjs/index-41263d6e.js +0 -660
- package/dist/cjs/index-41263d6e.js.map +0 -1
- package/dist/cjs/index-615cdb64.js +0 -3085
- package/dist/cjs/index-615cdb64.js.map +0 -1
- package/dist/cjs/index-a92a0379.js +0 -200
- package/dist/cjs/index-a92a0379.js.map +0 -1
- package/dist/cjs/index-browser-745018ea.js +0 -16
- package/dist/cjs/index-browser-745018ea.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/lazyload-13d72e60.js +0 -96
- package/dist/cjs/lazyload-13d72e60.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/local-my-account-53c19159.js +0 -472
- package/dist/cjs/local-my-account-53c19159.js.map +0 -1
- package/dist/cjs/math-ea9cdc71.js +0 -41
- package/dist/cjs/math-ea9cdc71.js.map +0 -1
- package/dist/cjs/modal-ff47c677.js +0 -51
- package/dist/cjs/modal-ff47c677.js.map +0 -1
- package/dist/cjs/nano-accordion.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-alert.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-algolia-pagination.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-algolia-results.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-algolia.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-animation.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-components.cjs.js.map +0 -1
- package/dist/cjs/nano-datalist_3.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-date-input.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-date-picker.cjs.entry.js +0 -393
- package/dist/cjs/nano-date-picker.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-details.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-dialog.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-drawer.cjs.entry.js +0 -289
- package/dist/cjs/nano-drawer.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-dropdown.cjs.entry.js +0 -373
- package/dist/cjs/nano-dropdown.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-field-validator.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-file-upload.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +0 -1107
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-global-search-results.cjs.entry.js +0 -636
- package/dist/cjs/nano-global-search-results.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-grid-item.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-grid_2.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-hero.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-icon-button_2.cjs.entry.js +0 -341
- package/dist/cjs/nano-icon-button_2.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-icon.cjs.entry.js +0 -320
- package/dist/cjs/nano-icon.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-input.cjs.entry.js +0 -548
- package/dist/cjs/nano-input.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-intersection-observe.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-more-less.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-overflow-nav.cjs.entry.js +0 -342
- package/dist/cjs/nano-overflow-nav.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-progress-bar.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-range.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-rating.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-slide.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-slides-0a60315d.js +0 -3043
- package/dist/cjs/nano-slides-0a60315d.js.map +0 -1
- package/dist/cjs/nano-slides.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-sortable.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-spinner.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-split-pane.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-sticker.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-tab-content.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-tab.cjs.entry.js.map +0 -1
- package/dist/cjs/nano-table-54523fe5.js +0 -1880
- package/dist/cjs/nano-table-54523fe5.js.map +0 -1
- package/dist/cjs/nano-table.cjs.entry.js.map +0 -1
- package/dist/cjs/page-dots-ecdd64d1.js +0 -141
- package/dist/cjs/page-dots-ecdd64d1.js.map +0 -1
- package/dist/cjs/popover-3dfc73f6.js +0 -1932
- package/dist/cjs/popover-3dfc73f6.js.map +0 -1
- package/dist/cjs/renderer-cd8b6098.js +0 -63
- package/dist/cjs/renderer-cd8b6098.js.map +0 -1
- package/dist/cjs/scroll-a3e5c6c6.js +0 -128
- package/dist/cjs/scroll-a3e5c6c6.js.map +0 -1
- package/dist/cjs/scroll-parent-798d9651.js +0 -31
- package/dist/cjs/scroll-parent-798d9651.js.map +0 -1
- package/dist/cjs/search-insights-694b3436.js +0 -53
- package/dist/cjs/search-insights-694b3436.js.map +0 -1
- package/dist/cjs/slot-4e057042.js +0 -61
- package/dist/cjs/slot-4e057042.js.map +0 -1
- package/dist/cjs/tabbable-619dc959.js +0 -112
- package/dist/cjs/tabbable-619dc959.js.map +0 -1
- package/dist/cjs/table.worker-99f69a43.js +0 -33
- package/dist/cjs/table.worker-99f69a43.js.map +0 -1
- package/dist/cjs/table.worker-da5412ed.js +0 -4
- package/dist/cjs/theme-a2f7ddf8.js +0 -49
- package/dist/cjs/theme-a2f7ddf8.js.map +0 -1
- package/dist/cjs/throttle-46a497fb.js +0 -54
- package/dist/cjs/throttle-46a497fb.js.map +0 -1
- package/dist/cjs/transitions-a2b2090b.js +0 -62
- package/dist/cjs/transitions-a2b2090b.js.map +0 -1
- package/dist/collection/components/accordion/accordion.js.map +0 -1
- package/dist/collection/components/alert/alert.helpers.js.map +0 -1
- package/dist/collection/components/alert/alert.js.map +0 -1
- package/dist/collection/components/algolia/algolia-data.js.map +0 -1
- package/dist/collection/components/algolia/algolia-filter.js.map +0 -1
- package/dist/collection/components/algolia/algolia-interface.js.map +0 -1
- package/dist/collection/components/algolia/algolia-pagination.js.map +0 -1
- package/dist/collection/components/algolia/algolia-results.js.map +0 -1
- package/dist/collection/components/algolia/algolia.js.map +0 -1
- package/dist/collection/components/algolia/lib/squirrelly/browser.js.map +0 -1
- package/dist/collection/components/algolia/lib/squirrelly/compile-string.js.map +0 -1
- package/dist/collection/components/algolia/lib/squirrelly/compile.js.map +0 -1
- package/dist/collection/components/algolia/lib/squirrelly/config.js.map +0 -1
- package/dist/collection/components/algolia/lib/squirrelly/container-utils.js.map +0 -1
- package/dist/collection/components/algolia/lib/squirrelly/containers.js.map +0 -1
- package/dist/collection/components/algolia/lib/squirrelly/err.js.map +0 -1
- package/dist/collection/components/algolia/lib/squirrelly/parse.js.map +0 -1
- package/dist/collection/components/algolia/lib/squirrelly/render.js.map +0 -1
- package/dist/collection/components/algolia/lib/squirrelly/storage.js.map +0 -1
- package/dist/collection/components/algolia/lib/squirrelly/utils.js.map +0 -1
- package/dist/collection/components/algolia/lib/template.js.map +0 -1
- package/dist/collection/components/animation/animation.js.map +0 -1
- package/dist/collection/components/animation/animations/attention_seekers/bounce.js.map +0 -1
- package/dist/collection/components/animation/animations/attention_seekers/flash.js.map +0 -1
- package/dist/collection/components/animation/animations/attention_seekers/headShake.js.map +0 -1
- package/dist/collection/components/animation/animations/attention_seekers/heartBeat.js.map +0 -1
- package/dist/collection/components/animation/animations/attention_seekers/jello.js.map +0 -1
- package/dist/collection/components/animation/animations/attention_seekers/pulse.js.map +0 -1
- package/dist/collection/components/animation/animations/attention_seekers/rubberBand.js.map +0 -1
- package/dist/collection/components/animation/animations/attention_seekers/shake.js.map +0 -1
- package/dist/collection/components/animation/animations/attention_seekers/shakeX.js.map +0 -1
- package/dist/collection/components/animation/animations/attention_seekers/shakeY.js.map +0 -1
- package/dist/collection/components/animation/animations/attention_seekers/swing.js.map +0 -1
- package/dist/collection/components/animation/animations/attention_seekers/tada.js.map +0 -1
- package/dist/collection/components/animation/animations/attention_seekers/wobble.js.map +0 -1
- package/dist/collection/components/animation/animations/back_entrances/backInDown.js.map +0 -1
- package/dist/collection/components/animation/animations/back_entrances/backInLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/back_entrances/backInRight.js.map +0 -1
- package/dist/collection/components/animation/animations/back_entrances/backInUp.js.map +0 -1
- package/dist/collection/components/animation/animations/back_exits/backOutDown.js.map +0 -1
- package/dist/collection/components/animation/animations/back_exits/backOutLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/back_exits/backOutRight.js.map +0 -1
- package/dist/collection/components/animation/animations/back_exits/backOutUp.js.map +0 -1
- package/dist/collection/components/animation/animations/bouncing_entrances/bounceIn.js.map +0 -1
- package/dist/collection/components/animation/animations/bouncing_entrances/bounceInDown.js.map +0 -1
- package/dist/collection/components/animation/animations/bouncing_entrances/bounceInLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/bouncing_entrances/bounceInRight.js.map +0 -1
- package/dist/collection/components/animation/animations/bouncing_entrances/bounceInUp.js.map +0 -1
- package/dist/collection/components/animation/animations/bouncing_exits/bounceOut.js.map +0 -1
- package/dist/collection/components/animation/animations/bouncing_exits/bounceOutDown.js.map +0 -1
- package/dist/collection/components/animation/animations/bouncing_exits/bounceOutLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/bouncing_exits/bounceOutRight.js.map +0 -1
- package/dist/collection/components/animation/animations/bouncing_exits/bounceOutUp.js.map +0 -1
- package/dist/collection/components/animation/animations/easings/easings.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_entrances/fadeIn.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomRight.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_entrances/fadeInDown.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_entrances/fadeInDownBig.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_entrances/fadeInLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_entrances/fadeInLeftBig.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_entrances/fadeInRight.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_entrances/fadeInRightBig.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_entrances/fadeInTopLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_entrances/fadeInTopRight.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_entrances/fadeInUp.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_entrances/fadeInUpBig.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_exits/fadeOut.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomRight.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_exits/fadeOutDown.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_exits/fadeOutDownBig.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_exits/fadeOutLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_exits/fadeOutLeftBig.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_exits/fadeOutRight.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_exits/fadeOutRightBig.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_exits/fadeOutTopLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_exits/fadeOutTopRight.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_exits/fadeOutUp.js.map +0 -1
- package/dist/collection/components/animation/animations/fading_exits/fadeOutUpBig.js.map +0 -1
- package/dist/collection/components/animation/animations/flippers/flip.js.map +0 -1
- package/dist/collection/components/animation/animations/flippers/flipInX.js.map +0 -1
- package/dist/collection/components/animation/animations/flippers/flipInY.js.map +0 -1
- package/dist/collection/components/animation/animations/flippers/flipOutX.js.map +0 -1
- package/dist/collection/components/animation/animations/flippers/flipOutY.js.map +0 -1
- package/dist/collection/components/animation/animations/index.js.map +0 -1
- package/dist/collection/components/animation/animations/lightspeed/lightSpeedInLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/lightspeed/lightSpeedInRight.js.map +0 -1
- package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutRight.js.map +0 -1
- package/dist/collection/components/animation/animations/rotating_entrances/rotateIn.js.map +0 -1
- package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownRight.js.map +0 -1
- package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpRight.js.map +0 -1
- package/dist/collection/components/animation/animations/rotating_exits/rotateOut.js.map +0 -1
- package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownRight.js.map +0 -1
- package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpRight.js.map +0 -1
- package/dist/collection/components/animation/animations/sliding_entrances/slideInDown.js.map +0 -1
- package/dist/collection/components/animation/animations/sliding_entrances/slideInLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/sliding_entrances/slideInRight.js.map +0 -1
- package/dist/collection/components/animation/animations/sliding_entrances/slideInUp.js.map +0 -1
- package/dist/collection/components/animation/animations/sliding_exits/slideOutDown.js.map +0 -1
- package/dist/collection/components/animation/animations/sliding_exits/slideOutLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/sliding_exits/slideOutRight.js.map +0 -1
- package/dist/collection/components/animation/animations/sliding_exits/slideOutUp.js.map +0 -1
- package/dist/collection/components/animation/animations/specials/hinge.js.map +0 -1
- package/dist/collection/components/animation/animations/specials/jackInTheBox.js.map +0 -1
- package/dist/collection/components/animation/animations/specials/rollIn.js.map +0 -1
- package/dist/collection/components/animation/animations/specials/rollOut.js.map +0 -1
- package/dist/collection/components/animation/animations/zooming_entrances/zoomIn.js.map +0 -1
- package/dist/collection/components/animation/animations/zooming_entrances/zoomInDown.js.map +0 -1
- package/dist/collection/components/animation/animations/zooming_entrances/zoomInLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/zooming_entrances/zoomInRight.js.map +0 -1
- package/dist/collection/components/animation/animations/zooming_entrances/zoomInUp.js.map +0 -1
- package/dist/collection/components/animation/animations/zooming_exits/zoomOut.js.map +0 -1
- package/dist/collection/components/animation/animations/zooming_exits/zoomOutDown.js.map +0 -1
- package/dist/collection/components/animation/animations/zooming_exits/zoomOutLeft.js.map +0 -1
- package/dist/collection/components/animation/animations/zooming_exits/zoomOutRight.js.map +0 -1
- package/dist/collection/components/animation/animations/zooming_exits/zoomOutUp.js.map +0 -1
- package/dist/collection/components/checkbox/checkbox-group.js.map +0 -1
- package/dist/collection/components/checkbox/checkbox-interface.js.map +0 -1
- package/dist/collection/components/checkbox/checkbox.js.map +0 -1
- package/dist/collection/components/datalist/datalist.js.map +0 -1
- package/dist/collection/components/date-input/date-input.js.map +0 -1
- package/dist/collection/components/date-picker/date-picker.js.map +0 -1
- package/dist/collection/components/date-picker/duet-date-picker/date-adapter.js.map +0 -1
- package/dist/collection/components/date-picker/duet-date-picker/date-localization.js.map +0 -1
- package/dist/collection/components/date-picker/duet-date-picker/date-picker-day.js.map +0 -1
- package/dist/collection/components/date-picker/duet-date-picker/date-picker-month.js.map +0 -1
- package/dist/collection/components/details/details.js.map +0 -1
- package/dist/collection/components/dialog/dialog.helpers.js.map +0 -1
- package/dist/collection/components/dialog/dialog.js.map +0 -1
- package/dist/collection/components/drawer/drawer.js.map +0 -1
- package/dist/collection/components/dropdown/dropdown.js.map +0 -1
- package/dist/collection/components/field-validator/field-validator.js.map +0 -1
- package/dist/collection/components/file-upload/file-upload-list.js.map +0 -1
- package/dist/collection/components/file-upload/file-upload.js.map +0 -1
- package/dist/collection/components/form-control/form-control.js.map +0 -1
- package/dist/collection/components/global-nav/assets/local-my-account.json +0 -447
- package/dist/collection/components/global-nav/global-nav-user-profile.js +0 -70
- package/dist/collection/components/global-nav/global-nav-user-profile.js.map +0 -1
- package/dist/collection/components/global-nav/global-nav.js.map +0 -1
- package/dist/collection/components/global-nav/style/global-nav.css +0 -893
- package/dist/collection/components/global-search-results/global-search-results.js.map +0 -1
- package/dist/collection/components/grid/grid-item.js.map +0 -1
- package/dist/collection/components/grid/grid.js.map +0 -1
- package/dist/collection/components/hero/hero.js.map +0 -1
- package/dist/collection/components/icon/icon.js.map +0 -1
- package/dist/collection/components/icon/request.js.map +0 -1
- package/dist/collection/components/icon/utils.js.map +0 -1
- package/dist/collection/components/icon/validate.js.map +0 -1
- package/dist/collection/components/icon-button/icon-button.js.map +0 -1
- package/dist/collection/components/img/img.js.map +0 -1
- package/dist/collection/components/input/input.js.map +0 -1
- package/dist/collection/components/intersection-observe/intersection-observe.js.map +0 -1
- package/dist/collection/components/menu/menu.js.map +0 -1
- package/dist/collection/components/menu-drawer/menu-drawer.js.map +0 -1
- package/dist/collection/components/more-less/more-less.js.map +0 -1
- package/dist/collection/components/nav-item/nav-item.js.map +0 -1
- package/dist/collection/components/option/option.js.map +0 -1
- package/dist/collection/components/overflow-nav/overflow-nav.css +0 -226
- package/dist/collection/components/overflow-nav/overflow-nav.js +0 -537
- package/dist/collection/components/overflow-nav/overflow-nav.js.map +0 -1
- package/dist/collection/components/progress-bar/progress-bar.js.map +0 -1
- package/dist/collection/components/range/range.js.map +0 -1
- package/dist/collection/components/rating/rating.js.map +0 -1
- package/dist/collection/components/resize-observe/resize-observe.js.map +0 -1
- package/dist/collection/components/select/select.js.map +0 -1
- package/dist/collection/components/skeleton/skeleton.js.map +0 -1
- package/dist/collection/components/slides/lib/js/animate.js.map +0 -1
- package/dist/collection/components/slides/lib/js/cell.js.map +0 -1
- package/dist/collection/components/slides/lib/js/drag.js.map +0 -1
- package/dist/collection/components/slides/lib/js/fade.js.map +0 -1
- package/dist/collection/components/slides/lib/js/flickity.js.map +0 -1
- package/dist/collection/components/slides/lib/js/fullscreen.js.map +0 -1
- package/dist/collection/components/slides/lib/js/index.js.map +0 -1
- package/dist/collection/components/slides/lib/js/lazyload.js.map +0 -1
- package/dist/collection/components/slides/lib/js/page-dots.js.map +0 -1
- package/dist/collection/components/slides/lib/js/player.js.map +0 -1
- package/dist/collection/components/slides/lib/js/prev-next-button.js.map +0 -1
- package/dist/collection/components/slides/lib/js/slide.js.map +0 -1
- package/dist/collection/components/slides/lib/js/utils/event-emitter.js.map +0 -1
- package/dist/collection/components/slides/lib/js/utils/gestures.js.map +0 -1
- package/dist/collection/components/slides/lib/js/utils/get-size.js.map +0 -1
- package/dist/collection/components/slides/lib/js/utils/utils.js.map +0 -1
- package/dist/collection/components/slides/slide.js.map +0 -1
- package/dist/collection/components/slides/slides.js.map +0 -1
- package/dist/collection/components/sortable/sortable.js.map +0 -1
- package/dist/collection/components/spinner/spinner.js.map +0 -1
- package/dist/collection/components/split-pane/split-pane.js.map +0 -1
- package/dist/collection/components/sticker/sticker.js.map +0 -1
- package/dist/collection/components/table/table.cell.js +0 -113
- package/dist/collection/components/table/table.cell.js.map +0 -1
- package/dist/collection/components/table/table.constants.js +0 -5
- package/dist/collection/components/table/table.constants.js.map +0 -1
- package/dist/collection/components/table/table.header.js +0 -63
- package/dist/collection/components/table/table.header.js.map +0 -1
- package/dist/collection/components/table/table.js.map +0 -1
- package/dist/collection/components/table/table.pin-service.js +0 -389
- package/dist/collection/components/table/table.pin-service.js.map +0 -1
- package/dist/collection/components/table/table.row.js +0 -113
- package/dist/collection/components/table/table.row.js.map +0 -1
- package/dist/collection/components/table/table.store.js +0 -145
- package/dist/collection/components/table/table.store.js.map +0 -1
- package/dist/collection/components/table/table.utils.js +0 -157
- package/dist/collection/components/table/table.utils.js.map +0 -1
- package/dist/collection/components/table/table.worker.js +0 -221
- package/dist/collection/components/table/table.worker.js.map +0 -1
- package/dist/collection/components/tabs/tab-content.js.map +0 -1
- package/dist/collection/components/tabs/tab-group.js.map +0 -1
- package/dist/collection/components/tabs/tab.js.map +0 -1
- package/dist/collection/components/tooltip/tooltip.js.map +0 -1
- package/dist/collection/global/script/global.js.map +0 -1
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/types/shared.js.map +0 -1
- package/dist/collection/utils/active-element.js.map +0 -1
- package/dist/collection/utils/constructible-style.js.map +0 -1
- package/dist/collection/utils/custom-template.js.map +0 -1
- package/dist/collection/utils/date-utils.js.map +0 -1
- package/dist/collection/utils/dom.js.map +0 -1
- package/dist/collection/utils/drag.js.map +0 -1
- package/dist/collection/utils/events.js.map +0 -1
- package/dist/collection/utils/fetch.js.map +0 -1
- package/dist/collection/utils/focus-visible.js +0 -63
- package/dist/collection/utils/focus-visible.js.map +0 -1
- package/dist/collection/utils/form.js.map +0 -1
- package/dist/collection/utils/gesture/gesture-controller.js.map +0 -1
- package/dist/collection/utils/gesture/index.js.map +0 -1
- package/dist/collection/utils/gesture/listener.js.map +0 -1
- package/dist/collection/utils/gesture/pointer-events.js.map +0 -1
- package/dist/collection/utils/gesture/recognizers.js.map +0 -1
- package/dist/collection/utils/gesture/swipe-back.js.map +0 -1
- package/dist/collection/utils/math.js.map +0 -1
- package/dist/collection/utils/modal.js.map +0 -1
- package/dist/collection/utils/popover.js.map +0 -1
- package/dist/collection/utils/promise-queue.js.map +0 -1
- package/dist/collection/utils/renderer.js.map +0 -1
- package/dist/collection/utils/scroll-parent.js +0 -26
- package/dist/collection/utils/scroll-parent.js.map +0 -1
- package/dist/collection/utils/scroll.js.map +0 -1
- package/dist/collection/utils/search-insights.js.map +0 -1
- package/dist/collection/utils/slot.js.map +0 -1
- package/dist/collection/utils/store/component-store.js.map +0 -1
- package/dist/collection/utils/store/get-set.js.map +0 -1
- package/dist/collection/utils/tabbable.js.map +0 -1
- package/dist/collection/utils/testing/index.js.map +0 -1
- package/dist/collection/utils/theme.js.map +0 -1
- package/dist/collection/utils/throttle.js.map +0 -1
- package/dist/collection/utils/transitions.js.map +0 -1
- package/dist/components/active-element.js.map +0 -1
- package/dist/components/algolia-data.js.map +0 -1
- package/dist/components/algolia.js.map +0 -1
- package/dist/components/algoliasearch-lite.esm.browser.js +0 -966
- package/dist/components/algoliasearch-lite.esm.browser.js.map +0 -1
- package/dist/components/component-store.js.map +0 -1
- package/dist/components/datalist.js.map +0 -1
- package/dist/components/date-picker.js.map +0 -1
- package/dist/components/dom.js.map +0 -1
- package/dist/components/drag.js.map +0 -1
- package/dist/components/dropdown.js.map +0 -1
- package/dist/components/events.js.map +0 -1
- package/dist/components/fade.js.map +0 -1
- package/dist/components/focus-visible.js +0 -66
- package/dist/components/focus-visible.js.map +0 -1
- package/dist/components/form-control.js.map +0 -1
- package/dist/components/fullscreen.js.map +0 -1
- package/dist/components/global-nav-user-profile.js +0 -50
- package/dist/components/global-nav-user-profile.js.map +0 -1
- package/dist/components/grid.js.map +0 -1
- package/dist/components/icon-button.js.map +0 -1
- package/dist/components/icon.js.map +0 -1
- package/dist/components/img.js.map +0 -1
- package/dist/components/index-browser.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/index2.js.map +0 -1
- package/dist/components/index3.js.map +0 -1
- package/dist/components/input.js.map +0 -1
- package/dist/components/lazyload.js.map +0 -1
- package/dist/components/local-my-account.js +0 -462
- package/dist/components/local-my-account.js.map +0 -1
- package/dist/components/math.js.map +0 -1
- package/dist/components/menu.js.map +0 -1
- package/dist/components/modal.js.map +0 -1
- package/dist/components/nano-accordion.js.map +0 -1
- package/dist/components/nano-alert.js.map +0 -1
- package/dist/components/nano-algolia-filter.js.map +0 -1
- package/dist/components/nano-algolia-pagination.js.map +0 -1
- package/dist/components/nano-algolia-results.js.map +0 -1
- package/dist/components/nano-algolia.js.map +0 -1
- package/dist/components/nano-animation.js.map +0 -1
- package/dist/components/nano-checkbox-group.js.map +0 -1
- package/dist/components/nano-checkbox.js.map +0 -1
- package/dist/components/nano-datalist.js.map +0 -1
- package/dist/components/nano-date-input.js.map +0 -1
- package/dist/components/nano-date-picker.js.map +0 -1
- package/dist/components/nano-details.js.map +0 -1
- package/dist/components/nano-dialog.js.map +0 -1
- package/dist/components/nano-drawer.js.map +0 -1
- package/dist/components/nano-dropdown.js.map +0 -1
- package/dist/components/nano-field-validator.js.map +0 -1
- package/dist/components/nano-file-upload.js.map +0 -1
- package/dist/components/nano-global-nav-user-profile.d.ts +0 -11
- package/dist/components/nano-global-nav-user-profile.js +0 -11
- package/dist/components/nano-global-nav-user-profile.js.map +0 -1
- package/dist/components/nano-global-nav.js.map +0 -1
- package/dist/components/nano-global-search-results.js.map +0 -1
- package/dist/components/nano-grid-item.js.map +0 -1
- package/dist/components/nano-grid.js.map +0 -1
- package/dist/components/nano-hero.js.map +0 -1
- package/dist/components/nano-icon-button.js.map +0 -1
- package/dist/components/nano-icon.js.map +0 -1
- package/dist/components/nano-img.js.map +0 -1
- package/dist/components/nano-input.js.map +0 -1
- package/dist/components/nano-intersection-observe.js.map +0 -1
- package/dist/components/nano-menu-drawer.js.map +0 -1
- package/dist/components/nano-menu.js.map +0 -1
- package/dist/components/nano-more-less.js.map +0 -1
- package/dist/components/nano-nav-item.js.map +0 -1
- package/dist/components/nano-option.js.map +0 -1
- package/dist/components/nano-overflow-nav.d.ts +0 -11
- package/dist/components/nano-overflow-nav.js +0 -390
- package/dist/components/nano-overflow-nav.js.map +0 -1
- package/dist/components/nano-progress-bar.js.map +0 -1
- package/dist/components/nano-range.js.map +0 -1
- package/dist/components/nano-rating.js.map +0 -1
- package/dist/components/nano-resize-observe.js.map +0 -1
- package/dist/components/nano-select.js.map +0 -1
- package/dist/components/nano-skeleton.js.map +0 -1
- package/dist/components/nano-slide.js.map +0 -1
- package/dist/components/nano-slides.js.map +0 -1
- package/dist/components/nano-sortable.js.map +0 -1
- package/dist/components/nano-spinner.js.map +0 -1
- package/dist/components/nano-split-pane.js.map +0 -1
- package/dist/components/nano-sticker.js.map +0 -1
- package/dist/components/nano-tab-content.js.map +0 -1
- package/dist/components/nano-tab-group.js.map +0 -1
- package/dist/components/nano-tab.js.map +0 -1
- package/dist/components/nano-table.js.map +0 -1
- package/dist/components/nano-tooltip.js.map +0 -1
- package/dist/components/nav-item.js.map +0 -1
- package/dist/components/option.js.map +0 -1
- package/dist/components/page-dots.js.map +0 -1
- package/dist/components/popover.js.map +0 -1
- package/dist/components/progress-bar.js.map +0 -1
- package/dist/components/renderer.js.map +0 -1
- package/dist/components/resize-observe.js.map +0 -1
- package/dist/components/scroll-parent.js +0 -29
- package/dist/components/scroll-parent.js.map +0 -1
- package/dist/components/scroll.js.map +0 -1
- package/dist/components/search-insights.js +0 -51
- package/dist/components/search-insights.js.map +0 -1
- package/dist/components/select.js.map +0 -1
- package/dist/components/skeleton.js.map +0 -1
- package/dist/components/slot.js.map +0 -1
- package/dist/components/spinner.js.map +0 -1
- package/dist/components/sticker.js.map +0 -1
- package/dist/components/tabbable.js.map +0 -1
- package/dist/components/table.worker.js.map +0 -1
- package/dist/components/theme.js.map +0 -1
- package/dist/components/throttle.js.map +0 -1
- package/dist/components/tooltip.js.map +0 -1
- package/dist/components/transitions.js +0 -60
- package/dist/components/transitions.js.map +0 -1
- package/dist/esm/active-element-a2502948.js +0 -19
- package/dist/esm/active-element-a2502948.js.map +0 -1
- package/dist/esm/algolia-data-f0f72f1d.js +0 -49
- package/dist/esm/algolia-data-f0f72f1d.js.map +0 -1
- package/dist/esm/algoliasearch-lite.esm.browser-0f71b631.js +0 -966
- package/dist/esm/algoliasearch-lite.esm.browser-0f71b631.js.map +0 -1
- package/dist/esm/app-globals-f0120bbe.js +0 -39
- package/dist/esm/app-globals-f0120bbe.js.map +0 -1
- package/dist/esm/component-store-199a9fd8.js +0 -323
- package/dist/esm/component-store-199a9fd8.js.map +0 -1
- package/dist/esm/date-utils-1e39c114.js +0 -219
- package/dist/esm/date-utils-1e39c114.js.map +0 -1
- package/dist/esm/dom-fafdec9a.js +0 -78
- package/dist/esm/dom-fafdec9a.js.map +0 -1
- package/dist/esm/drag-9d765d2d.js +0 -72
- package/dist/esm/drag-9d765d2d.js.map +0 -1
- package/dist/esm/events-f38f3e59.js +0 -36
- package/dist/esm/events-f38f3e59.js.map +0 -1
- package/dist/esm/fade-ce1a4958.js +0 -212
- package/dist/esm/fade-ce1a4958.js.map +0 -1
- package/dist/esm/focus-visible-e5f02c46.js +0 -66
- package/dist/esm/focus-visible-e5f02c46.js.map +0 -1
- package/dist/esm/form-control-f48fa873.js +0 -79
- package/dist/esm/form-control-f48fa873.js.map +0 -1
- package/dist/esm/fullscreen-52d62028.js +0 -132
- package/dist/esm/fullscreen-52d62028.js.map +0 -1
- package/dist/esm/index-6cc72cd9.js +0 -3045
- package/dist/esm/index-6cc72cd9.js.map +0 -1
- package/dist/esm/index-a2043fcd.js +0 -657
- package/dist/esm/index-a2043fcd.js.map +0 -1
- package/dist/esm/index-browser-8c563093.js +0 -8
- package/dist/esm/index-browser-8c563093.js.map +0 -1
- package/dist/esm/index-f5f7b950.js +0 -198
- package/dist/esm/index-f5f7b950.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lazyload-8ff69ba4.js +0 -94
- package/dist/esm/lazyload-8ff69ba4.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/local-my-account-3ba1ec04.js +0 -462
- package/dist/esm/local-my-account-3ba1ec04.js.map +0 -1
- package/dist/esm/math-d160f8a6.js +0 -38
- package/dist/esm/math-d160f8a6.js.map +0 -1
- package/dist/esm/modal-02828a39.js +0 -49
- package/dist/esm/modal-02828a39.js.map +0 -1
- package/dist/esm/nano-accordion.entry.js.map +0 -1
- package/dist/esm/nano-alert.entry.js.map +0 -1
- package/dist/esm/nano-algolia-filter.entry.js.map +0 -1
- package/dist/esm/nano-algolia-pagination.entry.js.map +0 -1
- package/dist/esm/nano-algolia-results.entry.js.map +0 -1
- package/dist/esm/nano-algolia.entry.js.map +0 -1
- package/dist/esm/nano-animation.entry.js.map +0 -1
- package/dist/esm/nano-checkbox-group.entry.js.map +0 -1
- package/dist/esm/nano-checkbox.entry.js.map +0 -1
- package/dist/esm/nano-components.js.map +0 -1
- package/dist/esm/nano-datalist_3.entry.js.map +0 -1
- package/dist/esm/nano-date-input.entry.js.map +0 -1
- package/dist/esm/nano-date-picker.entry.js +0 -389
- package/dist/esm/nano-date-picker.entry.js.map +0 -1
- package/dist/esm/nano-details.entry.js.map +0 -1
- package/dist/esm/nano-dialog.entry.js.map +0 -1
- package/dist/esm/nano-drawer.entry.js +0 -285
- package/dist/esm/nano-drawer.entry.js.map +0 -1
- package/dist/esm/nano-dropdown.entry.js +0 -369
- package/dist/esm/nano-dropdown.entry.js.map +0 -1
- package/dist/esm/nano-field-validator.entry.js.map +0 -1
- package/dist/esm/nano-file-upload.entry.js.map +0 -1
- package/dist/esm/nano-global-nav-user-profile_3.entry.js +0 -1101
- package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +0 -1
- package/dist/esm/nano-global-nav.entry.js.map +0 -1
- package/dist/esm/nano-global-search-results.entry.js +0 -632
- package/dist/esm/nano-global-search-results.entry.js.map +0 -1
- package/dist/esm/nano-grid-item.entry.js.map +0 -1
- package/dist/esm/nano-grid_2.entry.js.map +0 -1
- package/dist/esm/nano-hero.entry.js.map +0 -1
- package/dist/esm/nano-icon-button_2.entry.js +0 -336
- package/dist/esm/nano-icon-button_2.entry.js.map +0 -1
- package/dist/esm/nano-icon.entry.js +0 -316
- package/dist/esm/nano-icon.entry.js.map +0 -1
- package/dist/esm/nano-input.entry.js +0 -544
- package/dist/esm/nano-input.entry.js.map +0 -1
- package/dist/esm/nano-intersection-observe.entry.js.map +0 -1
- package/dist/esm/nano-menu-drawer.entry.js.map +0 -1
- package/dist/esm/nano-more-less.entry.js.map +0 -1
- package/dist/esm/nano-overflow-nav.entry.js +0 -338
- package/dist/esm/nano-overflow-nav.entry.js.map +0 -1
- package/dist/esm/nano-progress-bar.entry.js.map +0 -1
- package/dist/esm/nano-range.entry.js.map +0 -1
- package/dist/esm/nano-rating.entry.js.map +0 -1
- package/dist/esm/nano-resize-observe_2.entry.js.map +0 -1
- package/dist/esm/nano-slide.entry.js.map +0 -1
- package/dist/esm/nano-slides-2715825b.js +0 -3038
- package/dist/esm/nano-slides-2715825b.js.map +0 -1
- package/dist/esm/nano-slides.entry.js.map +0 -1
- package/dist/esm/nano-sortable.entry.js.map +0 -1
- package/dist/esm/nano-spinner.entry.js.map +0 -1
- package/dist/esm/nano-split-pane.entry.js.map +0 -1
- package/dist/esm/nano-sticker.entry.js.map +0 -1
- package/dist/esm/nano-tab-content.entry.js.map +0 -1
- package/dist/esm/nano-tab-group.entry.js.map +0 -1
- package/dist/esm/nano-tab.entry.js.map +0 -1
- package/dist/esm/nano-table-3965ddd0.js +0 -1877
- package/dist/esm/nano-table-3965ddd0.js.map +0 -1
- package/dist/esm/nano-table.entry.js.map +0 -1
- package/dist/esm/page-dots-5b23db8c.js +0 -139
- package/dist/esm/page-dots-5b23db8c.js.map +0 -1
- package/dist/esm/popover-30ce6cac.js +0 -1930
- package/dist/esm/popover-30ce6cac.js.map +0 -1
- package/dist/esm/renderer-4bc3e2dc.js +0 -58
- package/dist/esm/renderer-4bc3e2dc.js.map +0 -1
- package/dist/esm/scroll-1afc6a4e.js +0 -124
- package/dist/esm/scroll-1afc6a4e.js.map +0 -1
- package/dist/esm/scroll-parent-be39fbd0.js +0 -29
- package/dist/esm/scroll-parent-be39fbd0.js.map +0 -1
- package/dist/esm/search-insights-1a7b7dc5.js +0 -51
- package/dist/esm/search-insights-1a7b7dc5.js.map +0 -1
- package/dist/esm/slot-1cd90e53.js +0 -58
- package/dist/esm/slot-1cd90e53.js.map +0 -1
- package/dist/esm/tabbable-44932eb7.js +0 -109
- package/dist/esm/tabbable-44932eb7.js.map +0 -1
- package/dist/esm/table.worker-8e04f768.js +0 -29
- package/dist/esm/table.worker-8e04f768.js.map +0 -1
- package/dist/esm/table.worker-da5412ed.js +0 -4
- package/dist/esm/theme-d553c17a.js +0 -46
- package/dist/esm/theme-d553c17a.js.map +0 -1
- package/dist/esm/throttle-df960210.js +0 -50
- package/dist/esm/throttle-df960210.js.map +0 -1
- package/dist/esm/transitions-c09bd7f6.js +0 -60
- package/dist/esm/transitions-c09bd7f6.js.map +0 -1
- package/dist/generators/custom-element-doc-generator.js +0 -75
- package/dist/generators/custom-element-doc-generator.js.map +0 -1
- package/dist/generators/vue/generate-vue-component.js +0 -74
- package/dist/generators/vue/generate-vue-component.js.map +0 -1
- package/dist/generators/vue/index.js +0 -5
- package/dist/generators/vue/index.js.map +0 -1
- package/dist/generators/vue/output-vue.js +0 -96
- package/dist/generators/vue/output-vue.js.map +0 -1
- package/dist/generators/vue/plugin.js +0 -44
- package/dist/generators/vue/plugin.js.map +0 -1
- package/dist/generators/vue/types.js +0 -2
- package/dist/generators/vue/types.js.map +0 -1
- package/dist/generators/vue/utils.js +0 -82
- package/dist/generators/vue/utils.js.map +0 -1
- package/dist/nano-assets/fonts/jp/noto-sans-jp-v53-japanese-500.woff2 +0 -0
- package/dist/nano-assets/fonts/latin/noto-sans-v38-latin-500.woff2 +0 -0
- package/dist/nano-assets/fonts/latin/noto-sans-v38-latin-500italic.woff2 +0 -0
- package/dist/nano-assets/fonts/sc/noto-sans-sc-v37-chinese-simplified-500.woff2 +0 -0
- package/dist/nano-assets/local-my-account.json +0 -447
- package/dist/nano-components/active-element-a2502948.js +0 -5
- package/dist/nano-components/active-element-a2502948.js.map +0 -1
- package/dist/nano-components/algolia-data-f0f72f1d.js +0 -5
- package/dist/nano-components/algolia-data-f0f72f1d.js.map +0 -1
- package/dist/nano-components/algoliasearch-lite.esm.browser-0f71b631.js +0 -5
- package/dist/nano-components/algoliasearch-lite.esm.browser-0f71b631.js.map +0 -1
- package/dist/nano-components/app-globals-f0120bbe.js +0 -5
- package/dist/nano-components/app-globals-f0120bbe.js.map +0 -1
- package/dist/nano-components/assets/local-my-account.json +0 -447
- package/dist/nano-components/component-store-199a9fd8.js +0 -5
- package/dist/nano-components/component-store-199a9fd8.js.map +0 -1
- package/dist/nano-components/date-utils-1e39c114.js +0 -5
- package/dist/nano-components/date-utils-1e39c114.js.map +0 -1
- package/dist/nano-components/dom-fafdec9a.js +0 -5
- package/dist/nano-components/dom-fafdec9a.js.map +0 -1
- package/dist/nano-components/drag-9d765d2d.js +0 -5
- package/dist/nano-components/drag-9d765d2d.js.map +0 -1
- package/dist/nano-components/events-f38f3e59.js +0 -5
- package/dist/nano-components/events-f38f3e59.js.map +0 -1
- package/dist/nano-components/fade-ce1a4958.js +0 -5
- package/dist/nano-components/fade-ce1a4958.js.map +0 -1
- package/dist/nano-components/focus-visible-e5f02c46.js +0 -5
- package/dist/nano-components/focus-visible-e5f02c46.js.map +0 -1
- package/dist/nano-components/form-control-f48fa873.js +0 -5
- package/dist/nano-components/form-control-f48fa873.js.map +0 -1
- package/dist/nano-components/fullscreen-52d62028.js +0 -5
- package/dist/nano-components/fullscreen-52d62028.js.map +0 -1
- package/dist/nano-components/index-6cc72cd9.js +0 -6
- package/dist/nano-components/index-6cc72cd9.js.map +0 -1
- package/dist/nano-components/index-a2043fcd.js +0 -5
- package/dist/nano-components/index-a2043fcd.js.map +0 -1
- package/dist/nano-components/index-browser-8c563093.js +0 -5
- package/dist/nano-components/index-browser-8c563093.js.map +0 -1
- package/dist/nano-components/index-f5f7b950.js +0 -5
- package/dist/nano-components/index-f5f7b950.js.map +0 -1
- package/dist/nano-components/index.esm.js.map +0 -1
- package/dist/nano-components/lazyload-8ff69ba4.js +0 -5
- package/dist/nano-components/lazyload-8ff69ba4.js.map +0 -1
- package/dist/nano-components/local-my-account-3ba1ec04.js +0 -5
- package/dist/nano-components/local-my-account-3ba1ec04.js.map +0 -1
- package/dist/nano-components/math-d160f8a6.js +0 -5
- package/dist/nano-components/math-d160f8a6.js.map +0 -1
- package/dist/nano-components/modal-02828a39.js +0 -5
- package/dist/nano-components/modal-02828a39.js.map +0 -1
- package/dist/nano-components/nano-accordion.entry.js.map +0 -1
- package/dist/nano-components/nano-alert.entry.js.map +0 -1
- package/dist/nano-components/nano-algolia-filter.entry.js.map +0 -1
- package/dist/nano-components/nano-algolia-pagination.entry.js.map +0 -1
- package/dist/nano-components/nano-algolia-results.entry.js.map +0 -1
- package/dist/nano-components/nano-algolia.entry.js.map +0 -1
- package/dist/nano-components/nano-animation.entry.js.map +0 -1
- package/dist/nano-components/nano-checkbox-group.entry.js.map +0 -1
- package/dist/nano-components/nano-checkbox.entry.js.map +0 -1
- package/dist/nano-components/nano-components.esm.js.map +0 -1
- package/dist/nano-components/nano-datalist_3.entry.js.map +0 -1
- package/dist/nano-components/nano-date-input.entry.js.map +0 -1
- package/dist/nano-components/nano-date-picker.entry.js +0 -5
- package/dist/nano-components/nano-date-picker.entry.js.map +0 -1
- package/dist/nano-components/nano-details.entry.js.map +0 -1
- package/dist/nano-components/nano-dialog.entry.js.map +0 -1
- package/dist/nano-components/nano-drawer.entry.js +0 -5
- package/dist/nano-components/nano-drawer.entry.js.map +0 -1
- package/dist/nano-components/nano-dropdown.entry.js +0 -5
- package/dist/nano-components/nano-dropdown.entry.js.map +0 -1
- package/dist/nano-components/nano-field-validator.entry.js.map +0 -1
- package/dist/nano-components/nano-file-upload.entry.js.map +0 -1
- package/dist/nano-components/nano-global-nav-user-profile_3.entry.js +0 -5
- package/dist/nano-components/nano-global-nav-user-profile_3.entry.js.map +0 -1
- package/dist/nano-components/nano-global-nav.entry.js.map +0 -1
- package/dist/nano-components/nano-global-search-results.entry.js +0 -5
- package/dist/nano-components/nano-global-search-results.entry.js.map +0 -1
- package/dist/nano-components/nano-grid-item.entry.js.map +0 -1
- package/dist/nano-components/nano-grid_2.entry.js.map +0 -1
- package/dist/nano-components/nano-hero.entry.js.map +0 -1
- package/dist/nano-components/nano-icon-button_2.entry.js +0 -5
- package/dist/nano-components/nano-icon-button_2.entry.js.map +0 -1
- package/dist/nano-components/nano-icon.entry.js +0 -5
- package/dist/nano-components/nano-icon.entry.js.map +0 -1
- package/dist/nano-components/nano-input.entry.js +0 -5
- package/dist/nano-components/nano-input.entry.js.map +0 -1
- package/dist/nano-components/nano-intersection-observe.entry.js.map +0 -1
- package/dist/nano-components/nano-menu-drawer.entry.js.map +0 -1
- package/dist/nano-components/nano-more-less.entry.js.map +0 -1
- package/dist/nano-components/nano-overflow-nav.entry.js +0 -5
- package/dist/nano-components/nano-overflow-nav.entry.js.map +0 -1
- package/dist/nano-components/nano-progress-bar.entry.js.map +0 -1
- package/dist/nano-components/nano-range.entry.js.map +0 -1
- package/dist/nano-components/nano-rating.entry.js.map +0 -1
- package/dist/nano-components/nano-resize-observe_2.entry.js.map +0 -1
- package/dist/nano-components/nano-slide.entry.js.map +0 -1
- package/dist/nano-components/nano-slides-2715825b.js +0 -20
- package/dist/nano-components/nano-slides-2715825b.js.map +0 -1
- package/dist/nano-components/nano-slides.entry.js.map +0 -1
- package/dist/nano-components/nano-sortable.entry.js.map +0 -1
- package/dist/nano-components/nano-spinner.entry.js.map +0 -1
- package/dist/nano-components/nano-split-pane.entry.js.map +0 -1
- package/dist/nano-components/nano-sticker.entry.js.map +0 -1
- package/dist/nano-components/nano-tab-content.entry.js.map +0 -1
- package/dist/nano-components/nano-tab-group.entry.js.map +0 -1
- package/dist/nano-components/nano-tab.entry.js.map +0 -1
- package/dist/nano-components/nano-table-3965ddd0.js +0 -5
- package/dist/nano-components/nano-table-3965ddd0.js.map +0 -1
- package/dist/nano-components/nano-table.entry.js.map +0 -1
- package/dist/nano-components/page-dots-5b23db8c.js +0 -5
- package/dist/nano-components/page-dots-5b23db8c.js.map +0 -1
- package/dist/nano-components/popover-30ce6cac.js +0 -5
- package/dist/nano-components/popover-30ce6cac.js.map +0 -1
- package/dist/nano-components/renderer-4bc3e2dc.js +0 -5
- package/dist/nano-components/renderer-4bc3e2dc.js.map +0 -1
- package/dist/nano-components/scroll-1afc6a4e.js +0 -5
- package/dist/nano-components/scroll-1afc6a4e.js.map +0 -1
- package/dist/nano-components/scroll-parent-be39fbd0.js +0 -5
- package/dist/nano-components/scroll-parent-be39fbd0.js.map +0 -1
- package/dist/nano-components/search-insights-1a7b7dc5.js +0 -5
- package/dist/nano-components/search-insights-1a7b7dc5.js.map +0 -1
- package/dist/nano-components/slot-1cd90e53.js +0 -5
- package/dist/nano-components/slot-1cd90e53.js.map +0 -1
- package/dist/nano-components/tabbable-44932eb7.js +0 -5
- package/dist/nano-components/tabbable-44932eb7.js.map +0 -1
- package/dist/nano-components/table.worker-8e04f768.js +0 -5
- package/dist/nano-components/table.worker-8e04f768.js.map +0 -1
- package/dist/nano-components/table.worker-da5412ed.js +0 -4
- package/dist/nano-components/theme-d553c17a.js +0 -5
- package/dist/nano-components/theme-d553c17a.js.map +0 -1
- package/dist/nano-components/throttle-df960210.js +0 -5
- package/dist/nano-components/throttle-df960210.js.map +0 -1
- package/dist/nano-components/transitions-c09bd7f6.js +0 -5
- package/dist/nano-components/transitions-c09bd7f6.js.map +0 -1
- package/dist/stencil.config.js.map +0 -1
- package/dist/stencil.config.prod.js.map +0 -1
- package/dist/testing/mocks/intersection-observer.js.map +0 -1
- package/dist/themes/base/normalize.css +0 -1
- package/dist/themes/base/normalize.css.map +0 -1
- package/dist/themes/base/noto-sans-jp.css +0 -1
- package/dist/themes/base/noto-sans-jp.css.map +0 -1
- package/dist/themes/base/noto-sans-sc.css +0 -1
- package/dist/themes/base/noto-sans-sc.css.map +0 -1
- package/dist/themes/base/noto-sans.css +0 -1
- package/dist/themes/base/noto-sans.css.map +0 -1
- package/dist/themes/base/structure.css +0 -1
- package/dist/themes/base/structure.css.map +0 -1
- package/dist/themes/london-calling.css +0 -1
- package/dist/themes/london-calling.css.map +0 -1
- package/dist/themes/nanopore.css +0 -1
- package/dist/themes/nanopore.css.map +0 -1
- package/dist/types/builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/custom-element-doc-generator.d.ts +0 -8
- package/dist/types/builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -2
- package/dist/types/builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -2
- package/dist/types/components/global-nav/global-nav-user-profile.d.ts +0 -16
- package/dist/types/components/overflow-nav/overflow-nav.d.ts +0 -89
- package/dist/types/components/table/table-interface.d.ts +0 -278
- package/dist/types/components/table/table.store.d.ts +0 -24
- package/dist/types/components/table/table.utils.d.ts +0 -70
- package/dist/types/utils/focus-visible.d.ts +0 -8
- package/dist/types/utils/scroll-parent.d.ts +0 -6
- package/dist/wdio.conf.js.map +0 -1
- package/themes/base/normalize.css +0 -1
- package/themes/base/normalize.css.map +0 -1
- package/themes/base/noto-sans-jp.css +0 -1
- package/themes/base/noto-sans-jp.css.map +0 -1
- package/themes/base/noto-sans-sc.css +0 -1
- package/themes/base/noto-sans-sc.css.map +0 -1
- package/themes/base/noto-sans.css +0 -1
- package/themes/base/noto-sans.css.map +0 -1
- package/themes/base/structure.css +0 -1
- package/themes/base/structure.css.map +0 -1
- package/themes/london-calling.css +0 -1
- package/themes/london-calling.css.map +0 -1
- package/themes/nanopore.css +0 -1
- package/themes/nanopore.css.map +0 -1
- /package/dist/nano-assets/{fonts/jp/noto-sans-jp-v53-japanese-700.woff2 → font/jp/noto-sans-jp-v53-japanese_latin-700.woff2} +0 -0
- /package/dist/nano-assets/{fonts/jp/noto-sans-jp-v53-japanese-regular.woff2 → font/jp/noto-sans-jp-v53-japanese_latin-regular.woff2} +0 -0
- /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-700.woff2 +0 -0
- /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-700italic.woff2 +0 -0
- /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-italic.woff2 +0 -0
- /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-regular.woff2 +0 -0
- /package/dist/nano-assets/{fonts/sc/noto-sans-sc-v37-chinese-simplified-700.woff2 → font/sc/noto-sans-sc-v37-chinese-simplified_latin-700.woff2} +0 -0
- /package/dist/nano-assets/{fonts/sc/noto-sans-sc-v37-chinese-simplified-regular.woff2 → font/sc/noto-sans-sc-v37-chinese-simplified_latin-regular.woff2} +0 -0
- /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/generate-vue-component.d.ts +0 -0
- /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/index.d.ts +0 -0
- /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/output-vue.d.ts +0 -0
- /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/plugin.d.ts +0 -0
- /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/types.d.ts +0 -0
- /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/utils.d.ts +0 -0
- /package/dist/types/{builds/6SyqsxUA/0/Digital → Users/John.Jenkins/projects}/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
- /package/dist/types/{builds/6SyqsxUA/0/Digital → Users/John.Jenkins/projects}/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
- /package/dist/types/components/{table → data-table}/table.cell.d.ts +0 -0
- /package/dist/types/components/{table → data-table}/table.constants.d.ts +0 -0
- /package/dist/types/components/{table → data-table}/table.header.d.ts +0 -0
- /package/dist/types/components/{table → data-table}/table.pin-service.d.ts +0 -0
- /package/dist/types/components/{table → data-table}/table.row.d.ts +0 -0
- /package/dist/types/components/{table → data-table}/table.worker.d.ts +0 -0
@@ -1,1877 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Web Components for Nanopore digital Web Apps
|
3
|
-
*/
|
4
|
-
import { k as consoleError, h, F as Fragment, g as getElement, f as getRenderingRef, d as writeTask, e as readTask, r as registerInstance, c as createEvent, a as Host } from './index-6cc72cd9.js';
|
5
|
-
import { h as h$1 } from './renderer-4bc3e2dc.js';
|
6
|
-
import { a as cyrb53 } from './math-d160f8a6.js';
|
7
|
-
import { d as debounce } from './throttle-df960210.js';
|
8
|
-
import { f as findScrollParent } from './scroll-parent-be39fbd0.js';
|
9
|
-
import { c as createStore } from './index-f5f7b950.js';
|
10
|
-
|
11
|
-
const CSSNAMESPACE = 'nano-tbl';
|
12
|
-
|
13
|
-
const isInstanceOf = (value, className) => {
|
14
|
-
const C = globalThis[className];
|
15
|
-
return C != null && value instanceof C;
|
16
|
-
};
|
17
|
-
const getTransferables = (value) => {
|
18
|
-
if (value != null) {
|
19
|
-
if (
|
20
|
-
isInstanceOf(value, "ArrayBuffer") ||
|
21
|
-
isInstanceOf(value, "MessagePort") ||
|
22
|
-
isInstanceOf(value, "ImageBitmap") ||
|
23
|
-
isInstanceOf(value, "OffscreenCanvas")
|
24
|
-
) {
|
25
|
-
return [value];
|
26
|
-
}
|
27
|
-
if (typeof value === "object") {
|
28
|
-
if (value.constructor === Object) {
|
29
|
-
value = Object.values(value);
|
30
|
-
}
|
31
|
-
if (Array.isArray(value)) {
|
32
|
-
return value.flatMap(getTransferables);
|
33
|
-
}
|
34
|
-
return getTransferables(value.buffer);
|
35
|
-
}
|
36
|
-
}
|
37
|
-
return [];
|
38
|
-
};
|
39
|
-
|
40
|
-
let pendingIds = 0;
|
41
|
-
let callbackIds = 0;
|
42
|
-
const pending = new Map();
|
43
|
-
const callbacks = new Map();
|
44
|
-
|
45
|
-
const createWorker = (workerPath, workerName, workerMsgId) => {
|
46
|
-
const worker = new Worker(workerPath, {name:workerName});
|
47
|
-
|
48
|
-
worker.addEventListener('message', ({data}) => {
|
49
|
-
if (data) {
|
50
|
-
const workerMsg = data[0];
|
51
|
-
const id = data[1];
|
52
|
-
const value = data[2];
|
53
|
-
|
54
|
-
if (workerMsg === workerMsgId) {
|
55
|
-
const err = data[3];
|
56
|
-
const [resolve, reject, callbackIds] = pending.get(id);
|
57
|
-
pending.delete(id);
|
58
|
-
|
59
|
-
if (err) {
|
60
|
-
const errObj = (err.isError)
|
61
|
-
? Object.assign(new Error(err.value.message), err.value)
|
62
|
-
: err.value;
|
63
|
-
|
64
|
-
consoleError(errObj);
|
65
|
-
reject(errObj);
|
66
|
-
} else {
|
67
|
-
if (callbackIds) {
|
68
|
-
callbackIds.forEach(id => callbacks.delete(id));
|
69
|
-
}
|
70
|
-
resolve(value);
|
71
|
-
}
|
72
|
-
} else if (workerMsg === workerMsgId + '.cb') {
|
73
|
-
try {
|
74
|
-
callbacks.get(id)(...value);
|
75
|
-
} catch (e) {
|
76
|
-
consoleError(e);
|
77
|
-
}
|
78
|
-
}
|
79
|
-
}
|
80
|
-
});
|
81
|
-
|
82
|
-
return worker;
|
83
|
-
};
|
84
|
-
|
85
|
-
const createWorkerProxy = (worker, workerMsgId, exportedMethod) => (
|
86
|
-
(...args) => new Promise((resolve, reject) => {
|
87
|
-
let pendingId = pendingIds++;
|
88
|
-
let i = 0;
|
89
|
-
let argLen = args.length;
|
90
|
-
let mainData = [resolve, reject];
|
91
|
-
pending.set(pendingId, mainData);
|
92
|
-
|
93
|
-
for (; i < argLen; i++) {
|
94
|
-
if (typeof args[i] === 'function') {
|
95
|
-
const callbackId = callbackIds++;
|
96
|
-
callbacks.set(callbackId, args[i]);
|
97
|
-
args[i] = [workerMsgId + '.cb', callbackId];
|
98
|
-
(mainData[2] = mainData[2] || []).push(callbackId);
|
99
|
-
}
|
100
|
-
}
|
101
|
-
const postMessage = (w) => (
|
102
|
-
w.postMessage(
|
103
|
-
[workerMsgId, pendingId, exportedMethod, args],
|
104
|
-
getTransferables(args)
|
105
|
-
)
|
106
|
-
);
|
107
|
-
if (worker.then) {
|
108
|
-
worker.then(postMessage);
|
109
|
-
} else {
|
110
|
-
postMessage(worker);
|
111
|
-
}
|
112
|
-
})
|
113
|
-
);
|
114
|
-
|
115
|
-
const workerPromise = import('./table.worker-8e04f768.js').then(m => m.worker);
|
116
|
-
const createWorkerStore = /*@__PURE__*/createWorkerProxy(workerPromise, 'stencil.table.worker', 'createWorkerStore');
|
117
|
-
const syncConfigToWorker = /*@__PURE__*/createWorkerProxy(workerPromise, 'stencil.table.worker', 'syncConfigToWorker');
|
118
|
-
const syncDataToWorker = /*@__PURE__*/createWorkerProxy(workerPromise, 'stencil.table.worker', 'syncDataToWorker');
|
119
|
-
const workerFilter = /*@__PURE__*/createWorkerProxy(workerPromise, 'stencil.table.worker', 'workerFilter');
|
120
|
-
const workerSearch = /*@__PURE__*/createWorkerProxy(workerPromise, 'stencil.table.worker', 'workerSearch');
|
121
|
-
const workerSort = /*@__PURE__*/createWorkerProxy(workerPromise, 'stencil.table.worker', 'workerSort');
|
122
|
-
|
123
|
-
function colsToWorker(columns) {
|
124
|
-
const safeColumns = JSON.parse(JSON.stringify(columns));
|
125
|
-
columns.forEach((c) => {
|
126
|
-
if (c?.sortCompareFn) {
|
127
|
-
const safeCol = safeColumns.find((sc) => sc.prop === c.prop);
|
128
|
-
safeCol.sortCompareFn = c.sortCompareFn.toString();
|
129
|
-
}
|
130
|
-
});
|
131
|
-
return safeColumns;
|
132
|
-
}
|
133
|
-
const stores = new WeakMap();
|
134
|
-
async function generateStore(host, columns, scrollParent, isReady) {
|
135
|
-
const store = {
|
136
|
-
data: createStore({ rows: [] }),
|
137
|
-
config: createStore({ columns }),
|
138
|
-
general: createStore({ workerId: null, scrollParent, host, isReady }),
|
139
|
-
};
|
140
|
-
const id = await createWorkerStore(store.data.state.rows, colsToWorker(store.config.state.columns));
|
141
|
-
store.general.state.workerId = id;
|
142
|
-
stores.set(host, store);
|
143
|
-
// sync data from our store to our worker
|
144
|
-
store.data.use({
|
145
|
-
reset: () => {
|
146
|
-
if (store.general.state.workerId)
|
147
|
-
syncDataToWorker(store.general.state.workerId, null);
|
148
|
-
},
|
149
|
-
dispose: () => {
|
150
|
-
if (store.general.state.workerId)
|
151
|
-
syncDataToWorker(store.general.state.workerId, null);
|
152
|
-
},
|
153
|
-
});
|
154
|
-
store.config.use({
|
155
|
-
reset: () => {
|
156
|
-
if (store.general.state.workerId)
|
157
|
-
syncConfigToWorker(store.general.state.workerId, null);
|
158
|
-
},
|
159
|
-
dispose: () => {
|
160
|
-
if (store.general.state.workerId)
|
161
|
-
syncConfigToWorker(store.general.state.workerId, null);
|
162
|
-
},
|
163
|
-
});
|
164
|
-
return store;
|
165
|
-
}
|
166
|
-
function getStore(host) {
|
167
|
-
return stores.get(host);
|
168
|
-
}
|
169
|
-
function getDataType(value) {
|
170
|
-
if (value instanceof Date) {
|
171
|
-
return 'date';
|
172
|
-
}
|
173
|
-
if (['number', 'string', 'boolean'].includes(typeof value)) {
|
174
|
-
return typeof value;
|
175
|
-
}
|
176
|
-
return 'unknown';
|
177
|
-
}
|
178
|
-
function storeSetData(host, rows) {
|
179
|
-
const store = stores.get(host);
|
180
|
-
if (!store)
|
181
|
-
return;
|
182
|
-
const cols = store.config.state.columns;
|
183
|
-
const dateCols = cols
|
184
|
-
.filter((col) => col.type === 'date')
|
185
|
-
.reduce((prev, curr) => {
|
186
|
-
return [...prev, curr.prop];
|
187
|
-
}, []);
|
188
|
-
const unknownCols = cols.filter((col) => !col.type);
|
189
|
-
// augments data with some internal props.
|
190
|
-
// discern unknown column types
|
191
|
-
// convert dates to numbers for worker
|
192
|
-
rows = rows.map((row, i) => {
|
193
|
-
// try our best to discern the column type (from first row) if unset
|
194
|
-
if (unknownCols.length && i === 0) {
|
195
|
-
store.config.state.columns = cols.map((col) => {
|
196
|
-
if (unknownCols.includes(col) && row[col.prop] && !col.type) {
|
197
|
-
col.type = getDataType(row[col.prop]);
|
198
|
-
if (col.type === 'date')
|
199
|
-
dateCols.push(col.prop);
|
200
|
-
}
|
201
|
-
return col;
|
202
|
-
});
|
203
|
-
}
|
204
|
-
// convert date columns into numbers to send to our worker
|
205
|
-
dateCols.forEach((colName) => {
|
206
|
-
// coerce any date type;
|
207
|
-
// Date(), timestamp, valid date string
|
208
|
-
const coerceDate = new Date(row[colName]);
|
209
|
-
if (!!coerceDate && Number(coerceDate))
|
210
|
-
row[colName] = Number(coerceDate);
|
211
|
-
});
|
212
|
-
row['__index'] = i;
|
213
|
-
row['__uuid'] = cyrb53(cols.map((c) => row[c.prop]).join());
|
214
|
-
return row;
|
215
|
-
});
|
216
|
-
store.data.state.rows = rows;
|
217
|
-
if (store.general.state.workerId)
|
218
|
-
return syncDataToWorker(store.general.state.workerId, rows);
|
219
|
-
}
|
220
|
-
function storeSetConfig(host, columns) {
|
221
|
-
const store = stores.get(host);
|
222
|
-
if (!store)
|
223
|
-
return;
|
224
|
-
store.config.state.columns = columns;
|
225
|
-
if (store.general.state.workerId)
|
226
|
-
return syncConfigToWorker(store.general.state.workerId, colsToWorker(columns));
|
227
|
-
}
|
228
|
-
async function storeSearch(host, term) {
|
229
|
-
const store = stores.get(host);
|
230
|
-
if (!store || !store.general.state.workerId)
|
231
|
-
return;
|
232
|
-
try {
|
233
|
-
store.data.state.rows = await workerSearch(store.general.state.workerId, term);
|
234
|
-
}
|
235
|
-
catch (e) {
|
236
|
-
console.warn(e);
|
237
|
-
}
|
238
|
-
}
|
239
|
-
async function storeFilter(host, filters) {
|
240
|
-
const store = stores.get(host);
|
241
|
-
if (!store || !store.general.state.workerId)
|
242
|
-
return;
|
243
|
-
try {
|
244
|
-
store.data.state.rows = await workerFilter(store.general.state.workerId, filters);
|
245
|
-
}
|
246
|
-
catch (e) {
|
247
|
-
console.warn(e);
|
248
|
-
}
|
249
|
-
}
|
250
|
-
async function storeSort(host, prop, order) {
|
251
|
-
const store = stores.get(host);
|
252
|
-
if (!store || !store.general.state.workerId)
|
253
|
-
return;
|
254
|
-
try {
|
255
|
-
store.data.state.rows = await workerSort(store.general.state.workerId, prop, order);
|
256
|
-
}
|
257
|
-
catch (e) {
|
258
|
-
console.warn(e);
|
259
|
-
}
|
260
|
-
}
|
261
|
-
|
262
|
-
/**
|
263
|
-
* Get a model object for custom cell / property renderers.
|
264
|
-
* @param rowIndex - the current row index being rendered
|
265
|
-
* @param colIndex - the current column index being rendered
|
266
|
-
* @returns a model object which will be passed to custom renderers
|
267
|
-
*/
|
268
|
-
function colDataModel(rowIndex, colIndex) {
|
269
|
-
const store = fetchStores();
|
270
|
-
const columns = store.config.state.columns;
|
271
|
-
const rows = store.data.state.rows;
|
272
|
-
const column = columns[colIndex];
|
273
|
-
const prop = column?.prop;
|
274
|
-
const rowModel = rows[rowIndex];
|
275
|
-
const cellModel = rowModel ? rowModel[columns[colIndex].prop] : '';
|
276
|
-
return {
|
277
|
-
prop,
|
278
|
-
cellModel,
|
279
|
-
column,
|
280
|
-
rowIndex,
|
281
|
-
rowModel,
|
282
|
-
};
|
283
|
-
}
|
284
|
-
/**
|
285
|
-
* Get a model object for custom row renderers.
|
286
|
-
* @param rowIndex
|
287
|
-
* @returns a model object passed to custom row renderers
|
288
|
-
*/
|
289
|
-
function rowDataModel(rowIndex) {
|
290
|
-
const store = fetchStores();
|
291
|
-
const rows = store.data.state.rows;
|
292
|
-
const rowModel = rows[rowIndex];
|
293
|
-
return {
|
294
|
-
rowModel,
|
295
|
-
rowIndex,
|
296
|
-
};
|
297
|
-
}
|
298
|
-
/**
|
299
|
-
* Merges 2 objects of properties together
|
300
|
-
* @param current - property object
|
301
|
-
* @param extra - additional object property
|
302
|
-
* @returns - merged properties that can be applied to a node
|
303
|
-
*/
|
304
|
-
function mergeProperties(current, extra) {
|
305
|
-
if (!extra)
|
306
|
-
return current;
|
307
|
-
// top level merge
|
308
|
-
const props = { ...extra, ...current };
|
309
|
-
// deeper merge
|
310
|
-
// merge classes maps or strings
|
311
|
-
if (extra.class) {
|
312
|
-
if (typeof extra.class === 'object' && typeof props.class === 'object') {
|
313
|
-
props.class = { ...extra.class, ...props.class };
|
314
|
-
}
|
315
|
-
else if (typeof extra.class === 'string' &&
|
316
|
-
typeof props.class === 'object') {
|
317
|
-
props.class[extra.class] = true;
|
318
|
-
}
|
319
|
-
else if (typeof props.class === 'string' &&
|
320
|
-
typeof extra.class === 'string') {
|
321
|
-
props.class += ' ' + extra.class;
|
322
|
-
}
|
323
|
-
}
|
324
|
-
// merge style
|
325
|
-
if (extra.style) {
|
326
|
-
props.style = { ...extra.style, ...props.style };
|
327
|
-
}
|
328
|
-
return props;
|
329
|
-
}
|
330
|
-
/**
|
331
|
-
* Returns the current nano-table's stores.
|
332
|
-
* @returns the current nano-table stores
|
333
|
-
*/
|
334
|
-
function fetchStores() {
|
335
|
-
return getStore(getElement(getRenderingRef()));
|
336
|
-
}
|
337
|
-
/**
|
338
|
-
* Merges any defined cell properties with properties
|
339
|
-
* required by `nano-table` functionality
|
340
|
-
* @param rowIndex - the current row index being rendered
|
341
|
-
* @param colIndex = the current column index being rendered
|
342
|
-
* @param defaultProps - default properties required by `nano-table`
|
343
|
-
* @returns - the merged properties that will be applied to a node
|
344
|
-
*/
|
345
|
-
function mergeCellProperties(rowIndex, colIndex, defaultProps) {
|
346
|
-
const props = { ...defaultProps };
|
347
|
-
const extraPropsFunc = fetchStores().config.state.columns[colIndex]?.cellProperties;
|
348
|
-
if (!extraPropsFunc)
|
349
|
-
return props;
|
350
|
-
const data = colDataModel(rowIndex, colIndex);
|
351
|
-
const extra = extraPropsFunc(data);
|
352
|
-
if (!extra)
|
353
|
-
return props;
|
354
|
-
return mergeProperties(props, extra);
|
355
|
-
}
|
356
|
-
/**
|
357
|
-
* Renders a table header (within a thead) using a custom template if set.
|
358
|
-
* @param col - the current column config object
|
359
|
-
* @returns - a JSX node
|
360
|
-
*/
|
361
|
-
function colheadFootRender(col) {
|
362
|
-
const tpl = col?.columnTemplate;
|
363
|
-
return tpl ? (tpl(h, col)) : (h(Fragment, null, col.title));
|
364
|
-
}
|
365
|
-
function headerPinClasses(type, vPinned, toString = false) {
|
366
|
-
const classes = {
|
367
|
-
[`${CSSNAMESPACE}__${type}`]: true,
|
368
|
-
[`${CSSNAMESPACE}__pin`]: !!vPinned,
|
369
|
-
[`${CSSNAMESPACE}__pin--top`]: vPinned === 'top',
|
370
|
-
[`${CSSNAMESPACE}__pin--bottom`]: vPinned === 'bottom',
|
371
|
-
};
|
372
|
-
if (toString)
|
373
|
-
return classListToStr(classes);
|
374
|
-
return classes;
|
375
|
-
}
|
376
|
-
/**
|
377
|
-
* Turns a class map {'string': boolean} to class string
|
378
|
-
* @param classes - the class map to convert
|
379
|
-
* @returns a class string
|
380
|
-
*/
|
381
|
-
function classListToStr(classes) {
|
382
|
-
let classString = '';
|
383
|
-
Object.entries(classes).forEach(([className, on]) => {
|
384
|
-
if (on)
|
385
|
-
classString += className + ' ';
|
386
|
-
});
|
387
|
-
return classString;
|
388
|
-
}
|
389
|
-
/**
|
390
|
-
* Checks whether an element is currently viewable within the viewport
|
391
|
-
* @param el - element to check
|
392
|
-
* @param percentVisible - the percentage of the element that should be within the viewport
|
393
|
-
* @returns true if the element's area percentage is visible
|
394
|
-
*/
|
395
|
-
function isInViewport(el, percentVisible = 100) {
|
396
|
-
const r = el.getBoundingClientRect();
|
397
|
-
const windowHeight = window.innerHeight || document.documentElement.clientHeight;
|
398
|
-
if (!r.bottom &&
|
399
|
-
!r.top &&
|
400
|
-
!r.left &&
|
401
|
-
!r.right &&
|
402
|
-
!r.height &&
|
403
|
-
!r.width &&
|
404
|
-
!r.x &&
|
405
|
-
!r.y)
|
406
|
-
return false;
|
407
|
-
return !(Math.floor(100 - ((r.top >= 0 ? 0 : r.top) / +-r.height) * 100) <
|
408
|
-
percentVisible ||
|
409
|
-
Math.floor(100 - ((r.bottom - windowHeight) / r.height) * 100) <
|
410
|
-
percentVisible);
|
411
|
-
}
|
412
|
-
|
413
|
-
const TableColHead = ({ column, onColumnSortClick, defaults, }) => {
|
414
|
-
// Sort handling
|
415
|
-
function handleColumnSortClick(e) {
|
416
|
-
let order;
|
417
|
-
switch (column.order) {
|
418
|
-
case 'asc':
|
419
|
-
order = 'desc';
|
420
|
-
break;
|
421
|
-
case 'desc':
|
422
|
-
order = null;
|
423
|
-
break;
|
424
|
-
default:
|
425
|
-
order = 'asc';
|
426
|
-
}
|
427
|
-
onColumnSortClick(order, column.prop, e.target.closest('th'));
|
428
|
-
}
|
429
|
-
function isSortable() {
|
430
|
-
return ((!!defaults.sortable && column.sortable !== false) ||
|
431
|
-
(!defaults.sortable && column.sortable === true));
|
432
|
-
}
|
433
|
-
let extraProps = {};
|
434
|
-
if (column.columnProperties) {
|
435
|
-
extraProps = column.columnProperties(column) || extraProps;
|
436
|
-
}
|
437
|
-
const baseProps = {
|
438
|
-
class: {
|
439
|
-
...headerPinClasses('th', column.pinned),
|
440
|
-
[`${CSSNAMESPACE}__pin--start`]: column.pinned === 'start',
|
441
|
-
[`${CSSNAMESPACE}__pin--end`]: column.pinned === 'end',
|
442
|
-
[`${CSSNAMESPACE}__ordered`]: !!column.order,
|
443
|
-
[`${CSSNAMESPACE}__filtered`]: column.filter !== undefined && column.filter !== null,
|
444
|
-
},
|
445
|
-
};
|
446
|
-
let props = extraProps ? mergeProperties(baseProps, extraProps) : baseProps;
|
447
|
-
const content = colheadFootRender(column);
|
448
|
-
if (!content)
|
449
|
-
return h$1(Fragment, null);
|
450
|
-
props =
|
451
|
-
Number(props.colSpan) > 1
|
452
|
-
? { ...props, scope: 'colgroup' }
|
453
|
-
: { ...props, scope: 'col' };
|
454
|
-
if (isSortable()) {
|
455
|
-
const sort = column.order
|
456
|
-
? column.order === 'asc'
|
457
|
-
? 'ascending'
|
458
|
-
: 'descending'
|
459
|
-
: 'none';
|
460
|
-
props = { ...props, 'aria-sort': sort };
|
461
|
-
}
|
462
|
-
return (h$1("th", { ...props, key: column.prop }, isSortable() ? (h$1("button", { class: {
|
463
|
-
[`${CSSNAMESPACE}__order-btn`]: true,
|
464
|
-
[`${CSSNAMESPACE}__cell-content`]: true,
|
465
|
-
}, onClick: handleColumnSortClick },
|
466
|
-
colheadFootRender(column),
|
467
|
-
column.filter !== undefined && column.filter !== null && (h$1("nano-icon", { name: "light/filter" })),
|
468
|
-
!!column.order &&
|
469
|
-
(column.order === 'desc' ? (h$1("nano-icon", { name: "solid/arrow-down-long" })) : (h$1("nano-icon", { name: "solid/arrow-up-long" }))),
|
470
|
-
h$1("div", { class: `${CSSNAMESPACE}__status-icons` },
|
471
|
-
h$1("nano-icon", { name: "light/chevron-down" })))) : (h$1("div", { class: `${CSSNAMESPACE}__cell-content` },
|
472
|
-
colheadFootRender(column),
|
473
|
-
column.filter !== undefined && column.filter !== null && (h$1("nano-icon", { name: "light/bars-filter" }))))));
|
474
|
-
};
|
475
|
-
|
476
|
-
// TABLE CELL
|
477
|
-
// (tbody > tr > td, tbody > tr > th)
|
478
|
-
/**
|
479
|
-
* Renders a cell using a custom renderer if set.
|
480
|
-
* @param rowIndex - the current row index being rendered
|
481
|
-
* @param colIndex - the current column index being rendered
|
482
|
-
* @returns - a JSX node
|
483
|
-
*/
|
484
|
-
function cellRender(rowIndex, colIndex) {
|
485
|
-
const store = fetchStores();
|
486
|
-
const columns = store.config.state.columns;
|
487
|
-
const tpl = columns[colIndex]?.cellTemplate;
|
488
|
-
const model = colDataModel(rowIndex, colIndex);
|
489
|
-
const tableInstance = getRenderingRef();
|
490
|
-
if (!!model.cellModel && columns[colIndex].type === 'date') {
|
491
|
-
const d = new Date(model.cellModel);
|
492
|
-
if (d instanceof Date && !isNaN(d)) {
|
493
|
-
model.cellModel = !tpl
|
494
|
-
? `${new Date(model.cellModel).toLocaleDateString()} ${new Date(model.cellModel).toLocaleTimeString()}`
|
495
|
-
: d;
|
496
|
-
}
|
497
|
-
}
|
498
|
-
// Wrap the h pragma, then we can know if we're using Stencil's
|
499
|
-
// jsx renderer or a different one
|
500
|
-
let hCalled = false;
|
501
|
-
const hWrap = (...args) => {
|
502
|
-
hCalled = true;
|
503
|
-
// @ts-expect-error - h mismatch
|
504
|
-
return h$1(...args);
|
505
|
-
};
|
506
|
-
let tplResult = tpl ? tpl(hWrap, model) : undefined;
|
507
|
-
if (tplResult &&
|
508
|
-
tableInstance.customRenderer &&
|
509
|
-
tplResult['$attrs$'] === undefined &&
|
510
|
-
!(tplResult instanceof Element) &&
|
511
|
-
typeof tplResult !== 'string' &&
|
512
|
-
!hCalled) {
|
513
|
-
// template result is jsx *not* from Stencil.
|
514
|
-
// Render it now and output it later.
|
515
|
-
const templateEle = document.createElement('template');
|
516
|
-
const result = tableInstance.customRenderer(tplResult, templateEle.content);
|
517
|
-
// custom rendering can render to the templateEle OR return a promise<string>
|
518
|
-
tplResult = result && result['then'] ? result : templateEle;
|
519
|
-
}
|
520
|
-
return tplResult ? (tplResult) : model.cellModel !== undefined && model.cellModel !== null ? (h$1(Fragment, null, model.cellModel?.toString())) : ('');
|
521
|
-
}
|
522
|
-
const baseCellClasses = (colIndex, toString = false) => {
|
523
|
-
const store = fetchStores();
|
524
|
-
const column = store.config.state.columns[colIndex];
|
525
|
-
const classes = {
|
526
|
-
[`${CSSNAMESPACE}__td`]: true,
|
527
|
-
[`${CSSNAMESPACE}__ordered`]: !!column.order,
|
528
|
-
[`${CSSNAMESPACE}__pin`]: !!column.pinned,
|
529
|
-
[`${CSSNAMESPACE}__pin--start`]: column.pinned === 'start',
|
530
|
-
[`${CSSNAMESPACE}__pin--end`]: column.pinned === 'end',
|
531
|
-
};
|
532
|
-
if (toString)
|
533
|
-
return classListToStr(classes);
|
534
|
-
return classes;
|
535
|
-
};
|
536
|
-
const TableCell = ({ rowIndex, colIndex, nestedContent, }) => {
|
537
|
-
const Content = () => nestedContent
|
538
|
-
? nestedContent()
|
539
|
-
: cellRender(rowIndex, colIndex) || (h$1("span", { class: "placeholder" }, "\u00A0"));
|
540
|
-
let CellType = 'td';
|
541
|
-
const tableInstance = getRenderingRef();
|
542
|
-
const store = fetchStores();
|
543
|
-
const column = store.config.state.columns[colIndex];
|
544
|
-
let props = mergeCellProperties(rowIndex, colIndex, {
|
545
|
-
class: baseCellClasses(colIndex),
|
546
|
-
});
|
547
|
-
if (column.rowHeader) {
|
548
|
-
props =
|
549
|
-
Number(props.rowSpan) > 1
|
550
|
-
? { ...props, scope: 'rowgroup' }
|
551
|
-
: { ...props, scope: 'row' };
|
552
|
-
CellType = 'th';
|
553
|
-
}
|
554
|
-
const ContentWrap = (props) => {
|
555
|
-
const content = Content();
|
556
|
-
return (h$1("div", { ref: (d) => {
|
557
|
-
if (!d)
|
558
|
-
return;
|
559
|
-
if (content instanceof Element) {
|
560
|
-
// custom rendered an element
|
561
|
-
d.replaceChildren();
|
562
|
-
d.append(content['content'] || content);
|
563
|
-
}
|
564
|
-
else if (content['then']) {
|
565
|
-
// custom rendered a promise. Most likely within SSR.
|
566
|
-
content.then((res) => (d.innerHTML = res));
|
567
|
-
}
|
568
|
-
}, ...props, class: {
|
569
|
-
[`${CSSNAMESPACE}__cell-content`]: true,
|
570
|
-
[`${CSSNAMESPACE}__cell-content--wrap`]: !!column.wrap,
|
571
|
-
}, innerHTML: typeof content === 'string' && content.includes('<')
|
572
|
-
? content
|
573
|
-
: undefined }, (typeof content !== 'string' || !content.includes('<')) &&
|
574
|
-
!content['then'] &&
|
575
|
-
!(content instanceof Element) &&
|
576
|
-
content));
|
577
|
-
};
|
578
|
-
return (h$1(CellType, { role: tableInstance.type === 'grid' ? 'gridcell' : undefined, ...props }, column.autoTooltip && !column.wrap ? (h$1("nano-resize-observe", { notifyContentFit: "x", onNanoResizeContentFitChange: (e) => (e.target.firstElementChild.disabled =
|
579
|
-
e.detail.x) },
|
580
|
-
h$1("nano-tooltip", { disabled: true, placement: "top", onNanoShow: (e) => (e.target.closest(CellType).style.zIndex = '100'), onNanoHide: (e) => (e.target.closest(CellType).style.zIndex = '') },
|
581
|
-
h$1(ContentWrap, null),
|
582
|
-
h$1("span", { slot: "content" },
|
583
|
-
h$1(Content, null))))) : (h$1(ContentWrap, null))));
|
584
|
-
};
|
585
|
-
|
586
|
-
const tableCellContent = (props, children, ctx) => {
|
587
|
-
const cell = (h$1("div", { ...props.wrapperProps, class: {
|
588
|
-
[`${CSSNAMESPACE}__cell-content`]: true,
|
589
|
-
[`${CSSNAMESPACE}__cell-content--wrap`]: props.wrap,
|
590
|
-
} }, children));
|
591
|
-
return props.header ? (h$1("th", { scope: ctx, ...props.cellProps }, cell)) : (h$1("td", { ...props.cellProps }, cell));
|
592
|
-
};
|
593
|
-
const TableRow = ({ rowRenderer, rowIndex, rowModel }, children, utils) => {
|
594
|
-
// helper, generates <td> or <th>
|
595
|
-
const TableCell = ({ header, wrap, cellProps, wrapperProps }, children) => {
|
596
|
-
return tableCellContent({ header, wrap, cellProps, wrapperProps }, children, 'row');
|
597
|
-
};
|
598
|
-
let extraProps = {};
|
599
|
-
if (!rowModel) {
|
600
|
-
const model = rowDataModel(rowIndex);
|
601
|
-
rowModel = model.rowModel;
|
602
|
-
}
|
603
|
-
if (rowRenderer?.rowProperties) {
|
604
|
-
extraProps =
|
605
|
-
rowRenderer.rowProperties({ rowModel, rowIndex }) || extraProps;
|
606
|
-
}
|
607
|
-
let rowPinned;
|
608
|
-
if (rowRenderer?.pinned && typeof rowRenderer.pinned === 'function') {
|
609
|
-
rowPinned = rowRenderer.pinned({ rowModel, rowIndex });
|
610
|
-
}
|
611
|
-
const props = mergeProperties({ class: headerPinClasses('tr', rowPinned, true) }, extraProps);
|
612
|
-
const tpl = rowRenderer?.template;
|
613
|
-
/**
|
614
|
-
* Applies appropriate classes to td / th VNodes;
|
615
|
-
* which can be supplied by user defined templates
|
616
|
-
* @param children virtual / jsx node array
|
617
|
-
* @returns virtual / jsx node array
|
618
|
-
*/
|
619
|
-
const applyCellClasses = (children) => {
|
620
|
-
return utils.map(children, (cNode, i) => {
|
621
|
-
if (['td', 'th'].includes(cNode.vtag.toString())) {
|
622
|
-
cNode.vattrs = mergeProperties({
|
623
|
-
class: baseCellClasses(i, true),
|
624
|
-
}, cNode.vattrs);
|
625
|
-
}
|
626
|
-
return cNode;
|
627
|
-
});
|
628
|
-
};
|
629
|
-
if (tpl) {
|
630
|
-
let toRender = tpl(h$1, {
|
631
|
-
renderedRow: (h$1("tr", { ...props, key: rowModel.__uuid }, children)),
|
632
|
-
rowModel,
|
633
|
-
rowIndex,
|
634
|
-
}, TableCell);
|
635
|
-
if (Array.isArray(toRender)) {
|
636
|
-
toRender = utils.map(toRender, (node, i) => {
|
637
|
-
if (node.vtag === 'tr') {
|
638
|
-
if (!node.vkey)
|
639
|
-
node.vkey = `${rowModel.__uuid}_${i}`;
|
640
|
-
node.vattrs = mergeProperties({ class: headerPinClasses('tr', rowPinned, true) }, node.vattrs);
|
641
|
-
if (node.vchildren) {
|
642
|
-
node.vchildren = applyCellClasses(node.vchildren);
|
643
|
-
}
|
644
|
-
}
|
645
|
-
return node;
|
646
|
-
});
|
647
|
-
}
|
648
|
-
return toRender;
|
649
|
-
}
|
650
|
-
return (h$1("tr", { ...props, key: rowModel.__uuid }, applyCellClasses(children)));
|
651
|
-
};
|
652
|
-
const TableHeadFootRow = ({ rowRenderer }, // onRowPinned, onColPinned
|
653
|
-
children, utils) => {
|
654
|
-
let extraProps = {};
|
655
|
-
if (rowRenderer.rowProperties) {
|
656
|
-
extraProps = rowRenderer.rowProperties() || {};
|
657
|
-
}
|
658
|
-
const TableHeadFootCell = ({ header, wrap, cellProps, wrapperProps }, children) => {
|
659
|
-
return tableCellContent({ header, wrap, cellProps, wrapperProps }, children, 'col');
|
660
|
-
};
|
661
|
-
const pinned = rowRenderer.pinned || null;
|
662
|
-
const baseProps = { class: headerPinClasses('tr', pinned) };
|
663
|
-
const props = extraProps ? mergeProperties(baseProps, extraProps) : baseProps;
|
664
|
-
const tpl = rowRenderer?.template;
|
665
|
-
if (tpl) {
|
666
|
-
let toRender = tpl(h$1, {
|
667
|
-
renderedRow: h$1("tr", { ...props }, children),
|
668
|
-
}, TableHeadFootCell);
|
669
|
-
if (Array.isArray(toRender)) {
|
670
|
-
toRender = utils.map(toRender, (node) => {
|
671
|
-
if (node.vtag === 'tr') {
|
672
|
-
node.vattrs = mergeProperties({ class: headerPinClasses('tr', pinned, true) }, node.vattrs);
|
673
|
-
if (node.vchildren) {
|
674
|
-
node.vchildren = utils.map(node.vchildren, (cNode) => {
|
675
|
-
if (['td', 'th'].includes(cNode.vtag.toString())) {
|
676
|
-
cNode.vattrs = mergeProperties({
|
677
|
-
class: headerPinClasses(cNode.vtag.toString(), pinned, true),
|
678
|
-
}, cNode.vattrs);
|
679
|
-
}
|
680
|
-
return cNode;
|
681
|
-
});
|
682
|
-
}
|
683
|
-
}
|
684
|
-
return node;
|
685
|
-
});
|
686
|
-
}
|
687
|
-
return toRender;
|
688
|
-
}
|
689
|
-
return h$1("tr", { ...props }, children);
|
690
|
-
};
|
691
|
-
|
692
|
-
function addStyleSheet(id, css) {
|
693
|
-
const styleSheet = document.getElementById(id) ||
|
694
|
-
document.createElement('style');
|
695
|
-
styleSheet.id = id;
|
696
|
-
styleSheet.innerHTML = css;
|
697
|
-
if (!styleSheet.isConnected)
|
698
|
-
document.head.append(styleSheet);
|
699
|
-
}
|
700
|
-
/**
|
701
|
-
* Manages the complex business of table 'pinning'; sticking columns and rows to the scrolling parent element.
|
702
|
-
*
|
703
|
-
* *knowing* when an element is pinned is tricky.
|
704
|
-
* Managing the display of multiple, side-by-side pinned elements is trickier still.
|
705
|
-
*
|
706
|
-
* Pinning table columns are very different from pinning table rows:
|
707
|
-
* - Rows are actual elements we can select, measure and apply styles to.
|
708
|
-
* - Columns are disparate collections of elements that are much harder to select, measure and apply styles to.
|
709
|
-
*
|
710
|
-
* With this in mind, how columns and rows are pinned is different:
|
711
|
-
* Rows can have changes applied directly, Columns have changes applied via dynamic stylesheets.
|
712
|
-
*
|
713
|
-
* The service is slightly opinionated on how it pins rows and columns (with some room for override):
|
714
|
-
* - Pinned columns are stuck consecutively, without overlapping.
|
715
|
-
* e.g. If column 'name' and 'surname' are both `pin: 'start'`; 'surname' will display **next** to name.
|
716
|
-
* Both columns are important for context
|
717
|
-
*
|
718
|
-
* - Pinned rows are set to overlap *when* they have the same ancestor,
|
719
|
-
* and stuck consecutively when they have a different ancestor.
|
720
|
-
* e.g. `tbody > tr.pin ~ tr.pin` the second row will **overlap** the first; it's unlikely both rows will be important for context.
|
721
|
-
* `thead > tr.pin`, `tbody > tr.pin`. Both rows are required for context so will require next to each other.
|
722
|
-
*
|
723
|
-
* Devs can override this behaviour by setting `--pin-start`, `--pin-end`, `--pin-top`, `--pin-bottom` custom vars.
|
724
|
-
*/
|
725
|
-
class TablePinService {
|
726
|
-
// Private state
|
727
|
-
cachedColMeta = new WeakMap();
|
728
|
-
tableId;
|
729
|
-
tableEle;
|
730
|
-
scrollElement;
|
731
|
-
startColumns;
|
732
|
-
endColumns;
|
733
|
-
topRows;
|
734
|
-
bottomRows;
|
735
|
-
tableDims;
|
736
|
-
constructor(table, scrollElement) {
|
737
|
-
this.tableEle = table;
|
738
|
-
this.tableId = this.tableEle.id;
|
739
|
-
this.scrollElement = scrollElement;
|
740
|
-
// Secret sauce - `getElementsByClassName` is a live collection.
|
741
|
-
// An HTMLCollection will keep itself up-to-date as elements come and go
|
742
|
-
// So we can keep assessing on scroll
|
743
|
-
this.startColumns = table
|
744
|
-
.querySelector('thead')
|
745
|
-
.getElementsByClassName(`${CSSNAMESPACE}__pin--start`);
|
746
|
-
this.endColumns = table
|
747
|
-
.querySelector('thead')
|
748
|
-
.getElementsByClassName(`${CSSNAMESPACE}__pin--end`);
|
749
|
-
this.topRows = table.getElementsByClassName(`${CSSNAMESPACE}__pin--top`);
|
750
|
-
this.bottomRows = table.getElementsByClassName(`${CSSNAMESPACE}__pin--bottom`);
|
751
|
-
this.onResize();
|
752
|
-
}
|
753
|
-
// Pinned cols & change detection
|
754
|
-
get pinnedStart() {
|
755
|
-
return this._pinnedStart;
|
756
|
-
}
|
757
|
-
set pinnedStart(cols) {
|
758
|
-
this._pinnedStart = cols;
|
759
|
-
this.handlePinnedStartChange();
|
760
|
-
}
|
761
|
-
_pinnedStart = [];
|
762
|
-
/**
|
763
|
-
* Called when columns are either pinned or unpinned.
|
764
|
-
* Attaches a tiny stylesheet to target the 'last' start column.
|
765
|
-
* (e.g. We only want to apply drop shadow on last pinned start column - not all pinned columns)
|
766
|
-
*/
|
767
|
-
handlePinnedStartChange() {
|
768
|
-
writeTask(() => {
|
769
|
-
if (this.pinnedStart.length) {
|
770
|
-
this.tableEle.classList.add(`${CSSNAMESPACE}__pinned--start`);
|
771
|
-
const lastActiveCol = this.cachedColMeta.get(this.pinnedStart[this.pinnedStart.length - 1]);
|
772
|
-
addStyleSheet(`${this.tableId}-col-start-active-style`,
|
773
|
-
/* css */ `
|
774
|
-
#${this.tableId} tr > :nth-child(${lastActiveCol.idx + 1}) {
|
775
|
-
--pin-start-active: 1;
|
776
|
-
}
|
777
|
-
`);
|
778
|
-
}
|
779
|
-
else {
|
780
|
-
this.tableEle.classList.remove(`${CSSNAMESPACE}__pinned--start`);
|
781
|
-
addStyleSheet(`${this.tableId}-col-start-active-style`, ``);
|
782
|
-
}
|
783
|
-
});
|
784
|
-
}
|
785
|
-
get pinnedEnd() {
|
786
|
-
return this._pinnedEnd;
|
787
|
-
}
|
788
|
-
set pinnedEnd(cols) {
|
789
|
-
this._pinnedEnd = cols;
|
790
|
-
this.handlePinnedEndChange();
|
791
|
-
}
|
792
|
-
_pinnedEnd = [];
|
793
|
-
/**
|
794
|
-
* Called when columns are either pinned or unpinned.
|
795
|
-
* Attaches a tiny stylesheet to target the 'first' end column.
|
796
|
-
* (e.g. We only want to apply drop shadow on first pinned end column - not all pinned columns)
|
797
|
-
*/
|
798
|
-
handlePinnedEndChange() {
|
799
|
-
writeTask(() => {
|
800
|
-
if (this.pinnedEnd.length) {
|
801
|
-
this.tableEle.classList.add(`${CSSNAMESPACE}__pinned--end`);
|
802
|
-
const firstActiveCol = this.cachedColMeta.get(this.pinnedEnd[0]);
|
803
|
-
addStyleSheet(`${this.tableId}-col-end-active-style`,
|
804
|
-
/* css */ `
|
805
|
-
#${this.tableId} tr > :nth-child(${firstActiveCol.idx + 1}) { --pin-end-active: 1; }
|
806
|
-
`);
|
807
|
-
}
|
808
|
-
else {
|
809
|
-
this.tableEle.classList.remove(`${CSSNAMESPACE}__pinned--end`);
|
810
|
-
addStyleSheet(`${this.tableId}-col-end-active-style`, ``);
|
811
|
-
}
|
812
|
-
});
|
813
|
-
}
|
814
|
-
get cssColDimensionCacheKey() {
|
815
|
-
return this._cssColDimensionCacheKey;
|
816
|
-
}
|
817
|
-
set cssColDimensionCacheKey(key) {
|
818
|
-
if (key === this._cssColDimensionCacheKey)
|
819
|
-
return;
|
820
|
-
this._cssColDimensionCacheKey = key;
|
821
|
-
this.createPinnedColDimensionStyles();
|
822
|
-
}
|
823
|
-
_cssColDimensionCacheKey = '';
|
824
|
-
/**
|
825
|
-
* To only generate column dimension styles when necessary we
|
826
|
-
* maintain a cache key string via serialised column meta.
|
827
|
-
* Only when this key changes do we generate a new stylesheet
|
828
|
-
*/
|
829
|
-
generateCssCacheKey() {
|
830
|
-
let key = '';
|
831
|
-
for (const col of this.startColumns) {
|
832
|
-
const colMeta = this.cachedColMeta.get(col);
|
833
|
-
key += `${colMeta.idx}-start-${colMeta.width}`;
|
834
|
-
}
|
835
|
-
for (const col of this.endColumns) {
|
836
|
-
const colMeta = this.cachedColMeta.get(col);
|
837
|
-
key += `${colMeta.idx}-start-${colMeta.width}`;
|
838
|
-
}
|
839
|
-
this.cssColDimensionCacheKey = key;
|
840
|
-
}
|
841
|
-
/**
|
842
|
-
* Generates pinned column width offset styles
|
843
|
-
* so pinned columns can appear stuck together,
|
844
|
-
* then attaches a stylesheet.
|
845
|
-
*/
|
846
|
-
createPinnedColDimensionStyles() {
|
847
|
-
let widthS = 0;
|
848
|
-
let widthE = 0;
|
849
|
-
const startCols = Array.from(this.startColumns);
|
850
|
-
const endCols = Array.from(this.endColumns).reverse();
|
851
|
-
const css = /* css */ `
|
852
|
-
${startCols
|
853
|
-
.map((col) => {
|
854
|
-
const colMeta = this.cachedColMeta.get(col);
|
855
|
-
widthS += colMeta.width - 1 || -1;
|
856
|
-
return /* css */ `
|
857
|
-
#${this.tableId} tr > :nth-child(${colMeta.idx + 1}) ~ td,
|
858
|
-
#${this.tableId} tr > :nth-child(${colMeta.idx + 1}) ~ th {
|
859
|
-
--pin-start: ${widthS - 1}px;
|
860
|
-
}
|
861
|
-
`;
|
862
|
-
})
|
863
|
-
.join('')}
|
864
|
-
${endCols
|
865
|
-
.map((col) => {
|
866
|
-
const colMeta = this.cachedColMeta.get(col);
|
867
|
-
widthE += colMeta.width - 1 || -1;
|
868
|
-
return /* css */ `
|
869
|
-
#${this.tableId} tr > td:has(~ :nth-child(${colMeta.idx + 1})),
|
870
|
-
#${this.tableId} tr > th:has(~ :nth-child(${colMeta.idx + 1})) {
|
871
|
-
--pin-end: ${widthE - 1}px;
|
872
|
-
}
|
873
|
-
`;
|
874
|
-
})
|
875
|
-
.join('')}
|
876
|
-
`;
|
877
|
-
addStyleSheet(`${this.tableId}-dimension-style`, css);
|
878
|
-
}
|
879
|
-
getParentOffsets() {
|
880
|
-
const { x, y } = this.scrollElement.getBoundingClientRect();
|
881
|
-
let offsetX = x;
|
882
|
-
let offsetY = y;
|
883
|
-
if (this.scrollElement === document.documentElement) {
|
884
|
-
offsetX = this.scrollElement.offsetLeft;
|
885
|
-
offsetY = this.scrollElement.offsetTop;
|
886
|
-
}
|
887
|
-
return { offsetX, offsetY };
|
888
|
-
}
|
889
|
-
/**
|
890
|
-
* Loops through all 'top' & 'bottom' rows (on scroll or resize)
|
891
|
-
* Manages their visual state by applying classes on stuck / unstuck
|
892
|
-
* And their pinned offset / distance
|
893
|
-
*/
|
894
|
-
assessRows() {
|
895
|
-
if (!this.topRows.length && !this.bottomRows.length)
|
896
|
-
return;
|
897
|
-
// top rows
|
898
|
-
if (this.topRows.length) {
|
899
|
-
readTask(async () => {
|
900
|
-
let heightAggregate = 0;
|
901
|
-
let cacheParent;
|
902
|
-
const { offsetY } = this.getParentOffsets();
|
903
|
-
for (const topRow of this.topRows) {
|
904
|
-
const { y, height } = topRow.getBoundingClientRect();
|
905
|
-
const currParent = topRow.parentElement;
|
906
|
-
// we'll use the applied `--pin-top` css var to decide row offset.
|
907
|
-
// This allows devs to override this behaviour through selector specificity
|
908
|
-
const pinTop = getComputedStyle(topRow).getPropertyValue('--pin-top');
|
909
|
-
const offset = pinTop !== '' ? parseFloat(pinTop) : heightAggregate;
|
910
|
-
// we need to wait for the row to finish sticking
|
911
|
-
// and generating it's offset (`--pin-top`) so we can see, on
|
912
|
-
// subsequent rows *if* the offset was applied
|
913
|
-
writeTask(() => {
|
914
|
-
if (y - offsetY <= offset) {
|
915
|
-
topRow.classList.add(`${CSSNAMESPACE}__pinned`, `${CSSNAMESPACE}__pinned--top`);
|
916
|
-
}
|
917
|
-
else {
|
918
|
-
topRow.classList.remove(`${CSSNAMESPACE}__pinned`, `${CSSNAMESPACE}__pinned--top`);
|
919
|
-
}
|
920
|
-
// by default, we only want to stick one row from each parental block (thead, tbody, tfoot)
|
921
|
-
// so only aggregate height / offset when cacheParent is different from current parent.
|
922
|
-
// Devs can override this behaviour by manually setting `--pin-bottom` on the table row
|
923
|
-
if (cacheParent !== currParent) {
|
924
|
-
currParent.style.setProperty('--pin-top', `${heightAggregate - 1}px`);
|
925
|
-
heightAggregate += height - 1;
|
926
|
-
cacheParent = currParent;
|
927
|
-
}
|
928
|
-
});
|
929
|
-
}
|
930
|
-
});
|
931
|
-
}
|
932
|
-
// bottom rows
|
933
|
-
if (this.bottomRows.length) {
|
934
|
-
const bottomRows = Array.from(this.bottomRows).reverse();
|
935
|
-
readTask(async () => {
|
936
|
-
let cacheParent;
|
937
|
-
let heightAggregate = 0;
|
938
|
-
const { offsetY } = this.getParentOffsets();
|
939
|
-
for (const bottomRow of bottomRows) {
|
940
|
-
if (!bottomRow.isConnected)
|
941
|
-
continue;
|
942
|
-
const { y, height } = bottomRow.getBoundingClientRect();
|
943
|
-
const currParent = bottomRow.parentElement;
|
944
|
-
// we'll use the applied `--pin-bottom` css var to decide row offset.
|
945
|
-
// This allows devs to override this behaviour through selector specificity
|
946
|
-
const pinBottom = getComputedStyle(bottomRow).getPropertyValue('--pin-bottom');
|
947
|
-
const offset = pinBottom !== '' ? parseFloat(pinBottom) : heightAggregate;
|
948
|
-
// we need to wait for the row to finish sticking
|
949
|
-
// and generating it's offset (`--pin-bottom`) to we can see, on
|
950
|
-
// subsequent rows *if* the offset was applied
|
951
|
-
await new Promise((resolve) => writeTask(() => {
|
952
|
-
if (this.tableDims.height + offsetY - (y + height) <= offset) {
|
953
|
-
bottomRow.classList.add(`${CSSNAMESPACE}__pinned`, `${CSSNAMESPACE}__pinned--bottom`);
|
954
|
-
}
|
955
|
-
else {
|
956
|
-
bottomRow.classList.remove(`${CSSNAMESPACE}__pinned`, `${CSSNAMESPACE}__pinned--bottom`);
|
957
|
-
}
|
958
|
-
// by default, we only want to stick one row from each parental block (thead, tbody, tfoot)
|
959
|
-
// so only aggregate height / offset when cacheParent is different from current parent.
|
960
|
-
// Devs can override this behaviour by manually setting `--pin-bottom` on the table row
|
961
|
-
if (cacheParent !== currParent) {
|
962
|
-
currParent.style.setProperty('--pin-bottom', `${heightAggregate - 1}px`);
|
963
|
-
heightAggregate += height - 1;
|
964
|
-
cacheParent = currParent;
|
965
|
-
}
|
966
|
-
resolve();
|
967
|
-
}));
|
968
|
-
}
|
969
|
-
});
|
970
|
-
}
|
971
|
-
}
|
972
|
-
/**
|
973
|
-
* Loops through all 'start' & 'end' columns (on scroll or resize)
|
974
|
-
* Caches meta about each column (e.g. size, position-index)
|
975
|
-
* and decides which columns are pinned
|
976
|
-
*/
|
977
|
-
async assessCols() {
|
978
|
-
if (!this.startColumns.length && !this.endColumns.length)
|
979
|
-
return;
|
980
|
-
let boundBox;
|
981
|
-
let currPinned;
|
982
|
-
let parentEles;
|
983
|
-
const done = new Promise((resolve) => {
|
984
|
-
// start cols
|
985
|
-
if (this.startColumns.length) {
|
986
|
-
readTask(() => {
|
987
|
-
const { offsetX } = this.getParentOffsets();
|
988
|
-
// cumulatively add widths of columns together
|
989
|
-
// 'cos columns stick together
|
990
|
-
let widthAggregate = offsetX;
|
991
|
-
parentEles = Array.from(this.startColumns[0].parentElement.children);
|
992
|
-
for (const startCol of this.startColumns) {
|
993
|
-
boundBox = startCol.getBoundingClientRect();
|
994
|
-
// cache meta for later
|
995
|
-
this.cachedColMeta.set(startCol, {
|
996
|
-
width: boundBox.width,
|
997
|
-
idx: parentEles.indexOf(startCol),
|
998
|
-
});
|
999
|
-
currPinned = this.pinnedStart.find((c) => c === startCol);
|
1000
|
-
if (boundBox.x < widthAggregate) {
|
1001
|
-
// this column is pinned
|
1002
|
-
if (!currPinned)
|
1003
|
-
this.pinnedStart = [
|
1004
|
-
...this.pinnedStart,
|
1005
|
-
startCol,
|
1006
|
-
];
|
1007
|
-
}
|
1008
|
-
else if (currPinned) {
|
1009
|
-
// this column is unpinned
|
1010
|
-
this.pinnedStart = this.pinnedStart.filter((c) => c !== startCol);
|
1011
|
-
}
|
1012
|
-
widthAggregate += boundBox.width;
|
1013
|
-
}
|
1014
|
-
if (!this.endColumns.length)
|
1015
|
-
resolve();
|
1016
|
-
});
|
1017
|
-
}
|
1018
|
-
// end cols
|
1019
|
-
if (this.endColumns.length) {
|
1020
|
-
readTask(() => {
|
1021
|
-
const endCols = Array.from(this.endColumns).reverse();
|
1022
|
-
parentEles = Array.from(this.endColumns[0].parentElement.children);
|
1023
|
-
const { offsetX } = this.getParentOffsets();
|
1024
|
-
// cumulatively add widths of columns together
|
1025
|
-
// 'cos columns stick together
|
1026
|
-
let widthAggregate = 0;
|
1027
|
-
for (const endCol of endCols) {
|
1028
|
-
boundBox = endCol.getBoundingClientRect();
|
1029
|
-
// cache meta for later
|
1030
|
-
this.cachedColMeta.set(endCol, {
|
1031
|
-
width: boundBox.width,
|
1032
|
-
idx: parentEles.indexOf(endCol),
|
1033
|
-
});
|
1034
|
-
currPinned = this.pinnedEnd.find((c) => c === endCol);
|
1035
|
-
if (this.tableDims.width + offsetX - boundBox.right <=
|
1036
|
-
widthAggregate) {
|
1037
|
-
// this column is pinned
|
1038
|
-
if (!currPinned)
|
1039
|
-
this.pinnedEnd = [endCol, ...this.pinnedEnd];
|
1040
|
-
}
|
1041
|
-
else if (currPinned) {
|
1042
|
-
// this column is unpinned
|
1043
|
-
this.pinnedEnd = this.pinnedEnd.filter((c) => c !== endCol);
|
1044
|
-
}
|
1045
|
-
widthAggregate += boundBox.width;
|
1046
|
-
}
|
1047
|
-
resolve();
|
1048
|
-
});
|
1049
|
-
}
|
1050
|
-
});
|
1051
|
-
await done;
|
1052
|
-
// potentially generate a new css stylesheet if anything changed
|
1053
|
-
this.generateCssCacheKey();
|
1054
|
-
}
|
1055
|
-
cacheX = 0;
|
1056
|
-
cacheY = 0;
|
1057
|
-
onScroll(pos) {
|
1058
|
-
if (this.cacheX !== pos.x) {
|
1059
|
-
this.cacheX = pos.x;
|
1060
|
-
this.assessCols();
|
1061
|
-
}
|
1062
|
-
if (this.cacheY !== pos.y) {
|
1063
|
-
this.cacheY = pos.y;
|
1064
|
-
this.assessRows();
|
1065
|
-
}
|
1066
|
-
}
|
1067
|
-
onResize() {
|
1068
|
-
const width = this.scrollElement.clientWidth;
|
1069
|
-
const height = this.scrollElement.clientHeight;
|
1070
|
-
this.tableDims = { width, height };
|
1071
|
-
this.assessCols();
|
1072
|
-
this.assessRows();
|
1073
|
-
}
|
1074
|
-
}
|
1075
|
-
|
1076
|
-
const tableCss = ":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}:host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}.nano-table{display:block;inline-size:100%;--max-col-width:clamp(200px, 500px, 50vw);--color:var(--nano-color-mediumgrey, #68767e);--font-size:0.87rem;--cell-line-height:1.5;--thead-font-size:0.95rem;--thead-color:#455560;--tfoot-color:#455560;--border-color:#dddbda;--border-style:thin solid var(--border-color);--border-tint-color:#0084a9;--border-tint-style:3px solid var(--border-tint-color);--cell-bg-rgb:var(--nano-color-white-rgb, 255 255 255);--head-bg-rgb:250 250 249;--foot-bg-rgb:var(--head-bg-rgb);--th-row-bg-rgb:var(--cell-bg-rgb);--ordered-bg-rgb:var(--nano-color-offwhite-rgb, 249 249 251);--td-padding-start:0.625rem;--td-padding-end:0.625rem;--td-padding-top:0.6rem;--td-padding-bottom:0.6125rem;--th-padding-start:0.725rem;--th-padding-end:0.625rem;--th-padding-top:0.875rem;--th-padding-bottom:0.6875rem;--td-padding-v:var(--td-padding-top) var(--td-padding-bottom);--td-padding-h:var(--td-padding-start) var(--td-padding-end);--th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--th-padding-h:var(--th-padding-start) var(--th-padding-end);--foot-th-padding-v:var(--td-padding-top) var(--td-padding-bottom);--foot-th-padding-h:var(--td-padding-start) var(--td-padding-end);--head-th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--head-th-padding-h:var(--th-padding-start) var(--th-padding-end);--bookend-col-padding:2rem}.nano-tbl{color:var(--color);text-align:start;inline-size:100%;font-size:var(--font-size);border-spacing:0 0;border-collapse:separate;background:rgb(var(--cell-bg-rgb));border-inline-end:1px solid transparent;border-block-start:1px solid transparent;position:relative;z-index:1}.nano-tbl__wrap{display:table;min-inline-size:100%}.nano-tbl__top-anchor{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;position:relative}.nano-tbl__ordered{background-color:var(--ordered-bg);border-inline-start:var(--border-style);border-inline-end:var(--border-style)}.nano-tbl__order-btn{padding:0;border:none;outline:none;font:inherit;background:none;appearance:none;color:inherit;display:flex;gap:10px;align-items:center;inline-size:100%}.nano-tbl__order-btn:focus-visible{outline:none;box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))) inset}.nano-tbl__status-icons{margin-inline:auto 10px;display:flex;gap:10px}.nano-tbl__progress-bar{font-size:0.2rem;position:sticky;inset-block-start:0;inset-inline:0;z-index:10;transition:scale 0.25s;transform:scale(0);inline-size:100%;block-size:0}.nano-tbl__progress-bar--show{transform:scale(1);block-size:auto}.nano-tbl__caption--hide{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nano-tbl__td,.nano-tbl__th{line-height:var(--cell-line-height);text-align:start;border-block-start:var(--border-style);max-inline-size:var(--max-col-width);background-color:rgb(var(--cell-bg-rgb))}tbody:first-of-type tr:first-child .nano-tbl__td,tbody:first-of-type tr:first-child .nano-tbl__th{border-block-start:none}tbody:last-of-type tr:last-child .nano-tbl__td,tbody:last-of-type tr:last-child .nano-tbl__th{border-block-end:var(--border-style)}.md .nano-tbl__td:first-child .nano-tbl__cell-content,.md .nano-tbl__th:first-child .nano-tbl__cell-content{padding-inline-start:var(--bookend-col-padding)}.md .nano-tbl__td:last-child .nano-tbl__cell-content,.md .nano-tbl__th:last-child .nano-tbl__cell-content{padding-inline-end:var(--bookend-col-padding)}@media (max-width: 768px){.nano-tbl__td:first-child .nano-tbl__cell-content,.nano-tbl__th:first-child .nano-tbl__cell-content{padding-inline-start:var(--td-padding-start) !important}.nano-tbl__td:last-child .nano-tbl__cell-content,.nano-tbl__th:last-child .nano-tbl__cell-content{padding-inline-end:var(--td-padding-end) !important}}thead .nano-tbl__td,thead .nano-tbl__th{color:var(--thead-color);font-weight:800;background:rgb(var(--head-bg-rgb)/100%);font-size:var(--thead-font-size);border-block-start:none !important}thead .nano-tbl__td .nano-tbl__cell-content,thead .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--head-th-padding-v);padding-inline:var(--head-th-padding-h)}thead .nano-tbl__td .nano-sortable__keyboard-handle,thead .nano-tbl__th .nano-sortable__keyboard-handle{position:absolute;inset-inline-end:5px;inset-block-start:50%;transform:translateY(-50%);background:white;z-index:10}tfoot .nano-tbl__td,tfoot .nano-tbl__th{color:var(--tfoot-color);font-weight:800;border-block-start:none;background:rgb(var(--foot-bg-rgb)/100%);font-size:var(--thead-font-size)}tfoot .nano-tbl__td .nano-tbl__cell-content,tfoot .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--foot-th-padding-v);padding-inline:var(--foot-th-padding-h)}.nano-tbl__td.nano-tbl__ordered,.nano-tbl__th.nano-tbl__ordered{background-color:rgb(var(--ordered-bg-rgb)/80%) !important}.nano-tbl__cell-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-block:var(--td-padding-v);padding-inline:var(--td-padding-h)}.nano-tbl__cell-content--no-result{padding-block:2rem}.nano-tbl__cell-content--wrap{white-space:normal;overflow:visible}.nano-tbl tbody{will-change:scroll-position;opacity:1;transition:0.1s ease opacity}.nano-tbl tbody.nano-tbl__loading{z-index:-1;position:relative}.nano-tbl tbody.nano-tbl__inactive{opacity:0}.nano-tbl tbody .nano-tbl__tr:has(~.nano-tbl__tr--placeholder){display:none}.nano-tbl tbody .nano-tbl__tr--placeholder~.nano-tbl__tr{display:none}.nano-tbl th[scope=row]{font-weight:800;margin:0}.nano-tbl__tr{--base-z:0}.nano-tbl__pin{z-index:var(--z, var(--base-z, 0))}.nano-tbl__pin .nano-tbl__th,.nano-tbl__pin .nano-tbl__td{z-index:var(--z, var(--base-z, 0))}.nano-tbl__pin--start{position:sticky;inset-inline-start:var(--pin-start, -1px)}.nano-tbl__pin--start::after{content:\"\";position:absolute;inset:0;box-shadow:5px 0 4px -1px rgba(0, 0, 0, 0.2);opacity:var(--pin-start-active, 0);z-index:-1}.nano-tbl__pinned--start .nano-tbl__pin--start{--z:calc(var(--base-z) + 3) !important}.nano-tbl__pin--end{position:sticky}.nano-tbl__pin--start+.nano-tbl__pin--end{inset-inline-end:auto !important}.nano-tbl__pin--start+.nano-tbl__pin--end::after{display:none}.sm .nano-tbl__pin--end{inset-inline-end:var(--pin-end, -1px);max-inline-size:min(50vw, 200px)}.sm .nano-tbl__pin--end::after{display:block !important;content:\"\";position:absolute;inset:0;box-shadow:-5px 1px 4px -1px rgba(0, 0, 0, 0.2);opacity:var(--pin-end-active, 0);z-index:-1}.sm .nano-tbl__pinned--end .nano-tbl__pin--end{--z:calc(var(--base-z) + 2) !important}.nano-tbl__pin--top .nano-tbl__th,.nano-tbl__pin--top .nano-tbl__td{position:sticky;inset-block-start:var(--pin-top, -1px)}.nano-tbl__pin--top .nano-tbl__pin--end,.nano-tbl__pin--top .nano-tbl__pin--start{--z:calc(var(--base-z) + 1)}.nano-tbl__pin--top.nano-tbl__pinned--top{--base-z:4}tbody .nano-tbl__pin--top.nano-tbl__pinned--top .nano-tbl__th,tbody .nano-tbl__pin--top.nano-tbl__pinned--top .nano-tbl__td{box-shadow:1px 3px 4px -1px rgba(0, 0, 0, 0.1)}.nano-tbl__pin--bottom .nano-tbl__th,.nano-tbl__pin--bottom .nano-tbl__td{position:sticky;inset-block-end:var(--pin-bottom, -1px)}.nano-tbl__pin--bottom .nano-tbl__pin--end,.nano-tbl__pin--bottom .nano-tbl__pin--start{--z:calc(var(--base-z) + 1)}.nano-tbl__pin--bottom.nano-tbl__pinned--bottom{--base-z:5}.nano-tbl__pin--bottom.nano-tbl__pinned--bottom:has(.nano-tbl__pin--bottom.nano-tbl__pinned--bottom) .nano-tbl__pin{--base-z:6}tbody .nano-tbl__pin--bottom.nano-tbl__pinned--bottom .nano-tbl__th,tbody .nano-tbl__pin--bottom.nano-tbl__pinned--bottom .nano-tbl__td{box-shadow:1px -3px 4px -1px rgba(0, 0, 0, 0.07)}.nano-tbl thead tr:last-of-type td,.nano-tbl thead tr:last-of-type th{border-block-end:var(--border-tint-style)}.nano-tbl tfoot tr:first-of-type td,.nano-tbl tfoot tr:first-of-type th{border-block-start:none}.nano-tbl tfoot tr:last-of-type td,.nano-tbl tfoot tr:last-of-type th{border-block-start:var(--border-style);border-block-end:var(--border-tint-style)}.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:first-of-type td,.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:first-of-type th{border-block-start:var(--border-tint-style) !important}.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:last-of-type td,.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:last-of-type th{border-block-end:none !important}.nano-tbl .unlimited-width{max-inline-size:none}.nano-tbl__spinner{font-size:1.5rem;transition:scale 0.25s;scale:0;padding:0.5rem;position:absolute;inset-block-end:0;inset-inline-start:calc(50% - 0.75rem);z-index:0}.nano-tbl__spinner--show{scale:1;position:sticky}.nano-tbl .nano-skeleton{line-height:var(--cell-line-height)}";
|
1077
|
-
const NanoTableStyle0 = tableCss;
|
1078
|
-
|
1079
|
-
const measurePerf = false;
|
1080
|
-
function perMark(name, end = false) {
|
1081
|
-
if (!performance || !measurePerf)
|
1082
|
-
return;
|
1083
|
-
if (end) {
|
1084
|
-
performance?.mark('end' + name);
|
1085
|
-
performance?.measure(name, 'start' + name, 'end' + name);
|
1086
|
-
const entries = performance?.getEntriesByName(name);
|
1087
|
-
console.info(entries[entries.length ? entries.length - 1 : 0]);
|
1088
|
-
}
|
1089
|
-
else {
|
1090
|
-
performance?.mark('start' + name);
|
1091
|
-
}
|
1092
|
-
}
|
1093
|
-
let id = 0;
|
1094
|
-
const Table = class {
|
1095
|
-
constructor(hostRef) {
|
1096
|
-
registerInstance(this, hostRef);
|
1097
|
-
this.nanoTblReady = createEvent(this, "nanoTblReady", 7);
|
1098
|
-
this.nanoTblBlockRendered = createEvent(this, "nanoTblBlockRendered", 7);
|
1099
|
-
this.nanoTblBeforeSort = createEvent(this, "nanoTblBeforeSort", 7);
|
1100
|
-
this.nanoTblAfterSort = createEvent(this, "nanoTblAfterSort", 7);
|
1101
|
-
this.nanoTblBeforeFilter = createEvent(this, "nanoTblBeforeFilter", 7);
|
1102
|
-
this.nanoTblAfterFilter = createEvent(this, "nanoTblAfterFilter", 7);
|
1103
|
-
this.nanoTblBeforeSearch = createEvent(this, "nanoTblBeforeSearch", 7);
|
1104
|
-
this.nanoTblAfterSearch = createEvent(this, "nanoTblAfterSearch", 7);
|
1105
|
-
this.nanoTblBeforeEdit = createEvent(this, "nanoTblBeforeEdit", 7);
|
1106
|
-
this.debounceSetLoading = debounce(this.debounceSetLoading.bind(this), 50);
|
1107
|
-
}
|
1108
|
-
// Public API
|
1109
|
-
// Props
|
1110
|
-
/** Function called whenever `col.cellTemplate` renders an unknown object.
|
1111
|
-
* The function should render a valid HTMLElement to the cell arg.
|
1112
|
-
* Example usage - render JSX from a 3rd party lib and append the result to the cell element. */
|
1113
|
-
customRenderer;
|
1114
|
-
/** The type of table. Grid type will make cells navigable by keyboard */
|
1115
|
-
type = 'table';
|
1116
|
-
/** A descriptive title of the table.
|
1117
|
-
* You must use this or the `slot="caption"` for accessibility */
|
1118
|
-
caption;
|
1119
|
-
/** Show the caption on-screen */
|
1120
|
-
showCaption = false;
|
1121
|
-
/** Will show a loading state when set to true.
|
1122
|
-
* By default, will be shown automatically if `rows` is a promise waiting to resolve / or falsy
|
1123
|
-
* *or* when performing custom filtering or sorting.
|
1124
|
-
* *Note* when set manually, will overwrite any internal loading state.
|
1125
|
-
* Set to 'undefined' to revert to default behaviour. */
|
1126
|
-
loading = undefined;
|
1127
|
-
get _loading() {
|
1128
|
-
return this.loading !== undefined ? this.loading : this.internalLoading;
|
1129
|
-
}
|
1130
|
-
set _loading(l) {
|
1131
|
-
if (this.loading !== undefined)
|
1132
|
-
return;
|
1133
|
-
this.debounceSetLoading(l);
|
1134
|
-
}
|
1135
|
-
debounceSetLoading(l) {
|
1136
|
-
this.internalLoading = l;
|
1137
|
-
}
|
1138
|
-
internalLoading = true;
|
1139
|
-
/** When loading rows asynchronously, this will render this number of placeholder rows */
|
1140
|
-
placeholderSize = 5;
|
1141
|
-
/** The data to place in the table */
|
1142
|
-
rows;
|
1143
|
-
handleRowsChange() {
|
1144
|
-
if (!this.rows) {
|
1145
|
-
this._loading = true;
|
1146
|
-
return;
|
1147
|
-
}
|
1148
|
-
this._loading = true;
|
1149
|
-
Promise.resolve(this.rows).then(async (rows) => {
|
1150
|
-
await storeSetData(this.host, rows);
|
1151
|
-
// reset everything
|
1152
|
-
this.currentFilters = '';
|
1153
|
-
this.currentSort = '';
|
1154
|
-
await this.columnInit();
|
1155
|
-
if (!this.isReady)
|
1156
|
-
requestAnimationFrame(() => this.setInitialBlockDimension());
|
1157
|
-
this._loading = false;
|
1158
|
-
if (this.tablePinnedService)
|
1159
|
-
this.tablePinnedService.assessRows();
|
1160
|
-
});
|
1161
|
-
}
|
1162
|
-
/** The column config used to present the rows of data */
|
1163
|
-
columns = [];
|
1164
|
-
async handleColsChange() {
|
1165
|
-
await storeSetConfig(this.host, this.columns);
|
1166
|
-
if (this.isReady)
|
1167
|
-
this.columnInit();
|
1168
|
-
}
|
1169
|
-
/** Used for custom thead row rendering */
|
1170
|
-
headRender = { pinned: 'top' };
|
1171
|
-
/** Used for custom row rendering */
|
1172
|
-
rowRender;
|
1173
|
-
/** Used for custom tfoot row rendering */
|
1174
|
-
footRender = { pinned: 'bottom' };
|
1175
|
-
/** Whether to show a `<tfoot>` component */
|
1176
|
-
showFooter = false;
|
1177
|
-
/** To improve performance, data is split into blocks
|
1178
|
-
* which are shown / hidden and rendered as they become visible.
|
1179
|
-
* Use this to control the number of hits within a block -
|
1180
|
-
* A block should fill a scrolling viewport.
|
1181
|
-
* The less perBlock the better for performance */
|
1182
|
-
perBlock = 50;
|
1183
|
-
/** The number of total blocks currently rendered in the table. @readonly */
|
1184
|
-
get blocksLength() {
|
1185
|
-
return this.blocks.length;
|
1186
|
-
}
|
1187
|
-
/** Term to search for in the data */
|
1188
|
-
searchTerm;
|
1189
|
-
/** A custom filtering function. Should return a promise.
|
1190
|
-
* If the promise resolves as `true` the column UI will be updated.
|
1191
|
-
* If the promise resolves as falsy, the sort will be performed by the component.
|
1192
|
-
* A good use-case would be performing the filter on a server / via fetch.
|
1193
|
-
* Then on success, updating the table's data via the `rows` property */
|
1194
|
-
customFilterFn;
|
1195
|
-
/** A custom sorting function. Should return a promise.
|
1196
|
-
* If the promise resolves as `true` the column UI will be updated.
|
1197
|
-
* If the promise resolves as falsey, the sort will be performed by the component.
|
1198
|
-
* A good use-case would be performing the sort on a server / via fetch.
|
1199
|
-
* Then on success, updating the table's data via the `rows` property */
|
1200
|
-
customSortFn;
|
1201
|
-
/**
|
1202
|
-
* The default sortable option for all columns.
|
1203
|
-
* `true` will enable column sorting unless you set `sortable: false` on a column
|
1204
|
-
* `false` will disable column sorting unless you set `sortable: true` on a column
|
1205
|
-
*/
|
1206
|
-
defaultSort = true;
|
1207
|
-
handleSearchTermChange() {
|
1208
|
-
this.searchStart();
|
1209
|
-
}
|
1210
|
-
/** Use this to render the table with roughly the correct dimensions.
|
1211
|
-
* a use-case might be; fetch a small initial dataset to minimise load-time,
|
1212
|
-
* render the table with the correct dimensions, the table becomes interactive,
|
1213
|
-
* load the rest of the data
|
1214
|
-
*/
|
1215
|
-
virtualTotalItems = 0;
|
1216
|
-
virtualTotalItemsChangeHandler() {
|
1217
|
-
this.setBlocks();
|
1218
|
-
}
|
1219
|
-
/** @readonly - shows the currently applied filters */
|
1220
|
-
get appliedFilters() {
|
1221
|
-
return this.filters;
|
1222
|
-
}
|
1223
|
-
/** Fired when the table has done it's first complete render */
|
1224
|
-
nanoTblReady;
|
1225
|
-
/** Fired whenever a block is activated by scrolling into view / becoming visible
|
1226
|
-
* This could be leveraged for infinite scrolling / to fetch more data.
|
1227
|
-
*/
|
1228
|
-
nanoTblBlockRendered;
|
1229
|
-
/** Fired before a column is sorted.
|
1230
|
-
* `event.preventDefault()` to stop sorting. */
|
1231
|
-
nanoTblBeforeSort;
|
1232
|
-
/** Fired after a column is sorted */
|
1233
|
-
nanoTblAfterSort;
|
1234
|
-
/** Fired before a column is filtered.
|
1235
|
-
* `event.preventDefault()` to stop filtering. */
|
1236
|
-
nanoTblBeforeFilter;
|
1237
|
-
/** Fired after a column is sorted */
|
1238
|
-
nanoTblAfterFilter;
|
1239
|
-
/** Fired before a general search.
|
1240
|
-
* `event.preventDefault()` to stop searching. */
|
1241
|
-
nanoTblBeforeSearch;
|
1242
|
-
/** Fired after a general / cross column search */
|
1243
|
-
nanoTblAfterSearch;
|
1244
|
-
/** Fired before a general search.
|
1245
|
-
* `event.preventDefault()` to stop searching. */
|
1246
|
-
nanoTblBeforeEdit;
|
1247
|
-
/** Remove any column sorts currently applied
|
1248
|
-
* @returns a promise which resolves when complete */
|
1249
|
-
async resetSorting() {
|
1250
|
-
const col = this.columns.find((c) => !!c.order);
|
1251
|
-
if (!col)
|
1252
|
-
return;
|
1253
|
-
return this.sortStart(null, col.prop);
|
1254
|
-
}
|
1255
|
-
/** Apply a sort on a column
|
1256
|
-
* @returns a promise which resolves when complete */
|
1257
|
-
async addSort(column, order) {
|
1258
|
-
const col = this.columns.find((c) => c.prop === column);
|
1259
|
-
if (!col)
|
1260
|
-
throw new Error('Cannot find column with ' + column);
|
1261
|
-
return this.sortStart(order, col.prop);
|
1262
|
-
}
|
1263
|
-
/** Remove any column filters currently applied
|
1264
|
-
* @returns a promise which resolves when complete */
|
1265
|
-
async resetFilters() {
|
1266
|
-
this.filters = [];
|
1267
|
-
return this.filterStart();
|
1268
|
-
}
|
1269
|
-
/** Apply a filter on a column
|
1270
|
-
* @param filters - the filters to apply
|
1271
|
-
* @param additive - if true, will add the filters to any currently applied
|
1272
|
-
* @returns a promise which resolves when complete
|
1273
|
-
*/
|
1274
|
-
async addFilters(filters, additive = true) {
|
1275
|
-
if (!additive)
|
1276
|
-
this.filters = [];
|
1277
|
-
return this.filterStart(filters, additive);
|
1278
|
-
}
|
1279
|
-
/** Remove filters from a column
|
1280
|
-
* @param columnNames - the filters to apply
|
1281
|
-
* @returns a promise which resolves when complete
|
1282
|
-
*/
|
1283
|
-
async removeFilters(columnNames) {
|
1284
|
-
this.filters = this.filters.filter((f) => !columnNames.includes(f.prop));
|
1285
|
-
return this.filterStart();
|
1286
|
-
}
|
1287
|
-
/** Updates a row model at a given index
|
1288
|
-
* @param row - the row to update.
|
1289
|
-
* @param rowIndex - the row index to insert this row
|
1290
|
-
*/
|
1291
|
-
async updateRow(row, rowIndex) {
|
1292
|
-
this.rows.splice(rowIndex, 1, row);
|
1293
|
-
this.handleRowsChange();
|
1294
|
-
}
|
1295
|
-
get host() { return getElement(this); }
|
1296
|
-
renderId = 'tbl-' + id++;
|
1297
|
-
store;
|
1298
|
-
filters = [];
|
1299
|
-
currentFilters = '[]';
|
1300
|
-
currentSort = '';
|
1301
|
-
tableEle;
|
1302
|
-
topAnchorEle;
|
1303
|
-
tableWrapperEle;
|
1304
|
-
activeWatcherIo;
|
1305
|
-
tablePinnedService;
|
1306
|
-
// Block view management
|
1307
|
-
/** `tr` elements split into units - defined by `perBlock`
|
1308
|
-
These are show / hidden for perf */
|
1309
|
-
blocks = [];
|
1310
|
-
activeBlocks = [0, 1];
|
1311
|
-
measureHeight = 0;
|
1312
|
-
blockElements;
|
1313
|
-
blockHeights = [];
|
1314
|
-
// uses the first 'tr' of an active block as our yard stick
|
1315
|
-
set measureEle(el) {
|
1316
|
-
if (!el)
|
1317
|
-
return;
|
1318
|
-
const potentialHeight = el.getBoundingClientRect().height;
|
1319
|
-
this.measureHeight =
|
1320
|
-
Math.abs(this.measureHeight - potentialHeight) < 5
|
1321
|
-
? this.measureHeight
|
1322
|
-
: potentialHeight;
|
1323
|
-
this.unitHeight =
|
1324
|
-
el.querySelector('tr')?.getBoundingClientRect().height || this.unitHeight;
|
1325
|
-
}
|
1326
|
-
unitHeight = 0;
|
1327
|
-
get scrollParent() {
|
1328
|
-
return this._scrollParent;
|
1329
|
-
}
|
1330
|
-
set scrollParent(ele) {
|
1331
|
-
if (ele === this._scrollParent)
|
1332
|
-
return;
|
1333
|
-
if (this._scrollParent) {
|
1334
|
-
(this._scrollParent === document.documentElement
|
1335
|
-
? document
|
1336
|
-
: this._scrollParent).removeEventListener('scroll', this.scrollHandler);
|
1337
|
-
}
|
1338
|
-
(ele === document.documentElement ? document : ele).addEventListener('scroll', this.scrollHandler);
|
1339
|
-
this._scrollParent = ele;
|
1340
|
-
}
|
1341
|
-
_scrollParent;
|
1342
|
-
// used to fire `nanoTblBlockRendered` on block render change
|
1343
|
-
get primaryBlockIndex() {
|
1344
|
-
return this._primaryBlockIndex;
|
1345
|
-
}
|
1346
|
-
set primaryBlockIndex(blockIndex) {
|
1347
|
-
if (this._primaryBlockIndex === blockIndex)
|
1348
|
-
return;
|
1349
|
-
this._primaryBlockIndex = blockIndex;
|
1350
|
-
// fire block change event
|
1351
|
-
this.nanoTblBlockRendered.emit({
|
1352
|
-
block: blockIndex,
|
1353
|
-
totalBlocks: this.blockElements.length,
|
1354
|
-
});
|
1355
|
-
}
|
1356
|
-
_primaryBlockIndex;
|
1357
|
-
// Misc.
|
1358
|
-
get isReady() {
|
1359
|
-
return this._isReady;
|
1360
|
-
}
|
1361
|
-
set isReady(ready) {
|
1362
|
-
if (ready === this._isReady)
|
1363
|
-
return;
|
1364
|
-
this._isReady = ready;
|
1365
|
-
if (this.isReady)
|
1366
|
-
requestAnimationFrame(() => this.handleReady());
|
1367
|
-
}
|
1368
|
-
_isReady = false;
|
1369
|
-
// Private Logic
|
1370
|
-
// Listeners
|
1371
|
-
handleReady() {
|
1372
|
-
const hash = window.location.hash;
|
1373
|
-
if (hash.length > 1) {
|
1374
|
-
try {
|
1375
|
-
const idRow = document.querySelector(hash);
|
1376
|
-
if (idRow)
|
1377
|
-
idRow.scrollIntoView();
|
1378
|
-
// eslint-disable-next-line no-empty
|
1379
|
-
}
|
1380
|
-
catch (_e) { }
|
1381
|
-
}
|
1382
|
-
this.nanoTblReady.emit();
|
1383
|
-
}
|
1384
|
-
/**
|
1385
|
-
* Start a sort - can be cancelled by `preventDefault`
|
1386
|
-
* @param order - column order
|
1387
|
-
* @param column - column config object
|
1388
|
-
* @returns A promise
|
1389
|
-
*/
|
1390
|
-
sortStart = async (order, column, element) => {
|
1391
|
-
// did order change?
|
1392
|
-
if (this.currentSort === order + ':' + column)
|
1393
|
-
return;
|
1394
|
-
this._loading = true;
|
1395
|
-
const sortEvent = this.nanoTblBeforeSort.emit({ column: column, order });
|
1396
|
-
if (sortEvent.defaultPrevented)
|
1397
|
-
return;
|
1398
|
-
perMark('sort');
|
1399
|
-
this.currentSort = order + ':' + column;
|
1400
|
-
// doesn't make sense to leave user in place for a sort
|
1401
|
-
this.scrollToTop(element);
|
1402
|
-
if (this.customSortFn) {
|
1403
|
-
try {
|
1404
|
-
const res = await this.customSortFn(column, order);
|
1405
|
-
// if the response is 'true', the custom sort did it's thing
|
1406
|
-
// handover to finish and stop loading state.
|
1407
|
-
// if response is falsey, carry on to do a FE sort
|
1408
|
-
if (res === true) {
|
1409
|
-
this.sortComplete(order, column);
|
1410
|
-
this._loading = false;
|
1411
|
-
return;
|
1412
|
-
}
|
1413
|
-
}
|
1414
|
-
catch (e) {
|
1415
|
-
// if response errored, stop loading state
|
1416
|
-
// clear current sort cache
|
1417
|
-
console.warn('custom sort failed', e);
|
1418
|
-
this.currentSort = '';
|
1419
|
-
this._loading = false;
|
1420
|
-
return;
|
1421
|
-
}
|
1422
|
-
}
|
1423
|
-
try {
|
1424
|
-
await storeSort(this.host, column, order);
|
1425
|
-
this.sortComplete(order, column);
|
1426
|
-
}
|
1427
|
-
catch (e) {
|
1428
|
-
console.warn('sort failed', e);
|
1429
|
-
this.currentSort = '';
|
1430
|
-
}
|
1431
|
-
finally {
|
1432
|
-
if (this.blocks.length)
|
1433
|
-
this._loading = false;
|
1434
|
-
}
|
1435
|
-
};
|
1436
|
-
/**
|
1437
|
-
* Complete a sort. Reflects the order to ui.
|
1438
|
-
* @param order - column order
|
1439
|
-
* @param column - column config object
|
1440
|
-
*/
|
1441
|
-
sortComplete(order, column) {
|
1442
|
-
this.columns = this.columns.map((c) => {
|
1443
|
-
if (c.prop === column)
|
1444
|
-
return { ...c, order };
|
1445
|
-
return { ...c, order: null };
|
1446
|
-
});
|
1447
|
-
this.nanoTblAfterSort.emit({ column: column, order });
|
1448
|
-
perMark('sort', true);
|
1449
|
-
}
|
1450
|
-
async searchStart() {
|
1451
|
-
this._loading = true;
|
1452
|
-
const sortEvent = this.nanoTblBeforeSearch.emit({ term: this.searchTerm });
|
1453
|
-
if (sortEvent.defaultPrevented)
|
1454
|
-
return;
|
1455
|
-
perMark('search');
|
1456
|
-
// doesn't make sense to leave user in place for a search
|
1457
|
-
this.scrollToTop();
|
1458
|
-
try {
|
1459
|
-
await storeSearch(this.host, this.searchTerm);
|
1460
|
-
this.nanoTblAfterSearch.emit({ term: this.searchTerm });
|
1461
|
-
perMark('search', true);
|
1462
|
-
}
|
1463
|
-
catch (e) {
|
1464
|
-
console.warn('search failed', e);
|
1465
|
-
}
|
1466
|
-
finally {
|
1467
|
-
this._loading = false;
|
1468
|
-
}
|
1469
|
-
}
|
1470
|
-
async filterStart(filters, additive = true) {
|
1471
|
-
if (filters) {
|
1472
|
-
if (additive) {
|
1473
|
-
this.filters = [
|
1474
|
-
...this.filters.filter((f) => !filters.find((ff) => ff.prop === f.prop)),
|
1475
|
-
...filters,
|
1476
|
-
];
|
1477
|
-
}
|
1478
|
-
else {
|
1479
|
-
this.filters = filters;
|
1480
|
-
}
|
1481
|
-
}
|
1482
|
-
if (this.currentFilters === JSON.stringify(this.filters))
|
1483
|
-
return;
|
1484
|
-
this._loading = true;
|
1485
|
-
const sortEvent = this.nanoTblBeforeFilter.emit({ filters: this.filters });
|
1486
|
-
if (sortEvent.defaultPrevented)
|
1487
|
-
return;
|
1488
|
-
perMark('filter');
|
1489
|
-
this.currentFilters = JSON.stringify(this.filters);
|
1490
|
-
// doesn't make sense to leave user in place for a search
|
1491
|
-
this.scrollToTop();
|
1492
|
-
if (this.customFilterFn) {
|
1493
|
-
try {
|
1494
|
-
const res = await this.customFilterFn(this.filters);
|
1495
|
-
// if the response is 'true', the custom filter did it's thing
|
1496
|
-
// handover to finish and stop loading state.
|
1497
|
-
// if response is falsy, carry on to do a FE filter
|
1498
|
-
if (res === true) {
|
1499
|
-
await this.filterComplete();
|
1500
|
-
this._loading = false;
|
1501
|
-
return;
|
1502
|
-
}
|
1503
|
-
}
|
1504
|
-
catch (e) {
|
1505
|
-
// if response errored, stop loading state
|
1506
|
-
// clear current sort cache
|
1507
|
-
console.warn('custom filter failed', e);
|
1508
|
-
this.currentFilters = '';
|
1509
|
-
this._loading = false;
|
1510
|
-
return;
|
1511
|
-
}
|
1512
|
-
}
|
1513
|
-
try {
|
1514
|
-
await this.filterComplete();
|
1515
|
-
}
|
1516
|
-
catch (e) {
|
1517
|
-
console.warn('filter failed', e);
|
1518
|
-
}
|
1519
|
-
finally {
|
1520
|
-
this._loading = false;
|
1521
|
-
}
|
1522
|
-
}
|
1523
|
-
async filterComplete() {
|
1524
|
-
this.columns = this.columns.map((c) => {
|
1525
|
-
const cFilter = this.filters.find((f) => f.prop === c.prop);
|
1526
|
-
// if we found a filter AND
|
1527
|
-
// it isn't true / false and has a length OR
|
1528
|
-
// it is true or false
|
1529
|
-
if (cFilter &&
|
1530
|
-
((typeof cFilter.filter !== 'boolean' && cFilter.filter.length) ||
|
1531
|
-
typeof cFilter.filter === 'boolean'))
|
1532
|
-
c.filter = cFilter.filter;
|
1533
|
-
// if a filter value is not set OR
|
1534
|
-
// it isn't true / false and has no length
|
1535
|
-
else if ((c.filter !== null && c.filter !== undefined) ||
|
1536
|
-
(!!c.filter && typeof c.filter !== 'boolean' && !c.filter.length))
|
1537
|
-
c.filter = undefined;
|
1538
|
-
return c;
|
1539
|
-
});
|
1540
|
-
await storeFilter(this.host, this.filters);
|
1541
|
-
this.nanoTblAfterFilter.emit({ filters: this.filters });
|
1542
|
-
perMark('filter', true);
|
1543
|
-
}
|
1544
|
-
/** Scrolls to the top immediately - used whilst sorting / filtering */
|
1545
|
-
scrollToTop(element) {
|
1546
|
-
const scrollBehaviour = this.scrollParent.style?.scrollBehavior;
|
1547
|
-
const scrollX = this.scrollParent.scrollLeft;
|
1548
|
-
this.scrollParent.style.scrollBehavior = 'auto';
|
1549
|
-
if (this.topAnchorEle && !isInViewport(this.topAnchorEle, 0.1)) {
|
1550
|
-
this.host.scrollIntoView();
|
1551
|
-
}
|
1552
|
-
if (element && !isInViewport(element, 1))
|
1553
|
-
setTimeout(() => element.scrollIntoView({ block: 'start' }), 500);
|
1554
|
-
if (scrollX)
|
1555
|
-
this.scrollParent.scrollLeft = scrollX;
|
1556
|
-
if (scrollBehaviour)
|
1557
|
-
this.scrollParent.style.scrollBehavior = scrollBehaviour;
|
1558
|
-
this.scrollHandler();
|
1559
|
-
}
|
1560
|
-
setMeasureElement() {
|
1561
|
-
return new Promise((resolve) => {
|
1562
|
-
readTask(() => {
|
1563
|
-
this.measureEle = this.blockElements.find((b) => !b?.classList?.contains(`${CSSNAMESPACE}__inactive`));
|
1564
|
-
resolve();
|
1565
|
-
});
|
1566
|
-
});
|
1567
|
-
}
|
1568
|
-
/**
|
1569
|
-
* Makes sure we have dimensions on at least one, active tbody element.
|
1570
|
-
* We'll use this is a yard stick for inactive tbody elements in future.
|
1571
|
-
* These elements have no natural height (on account of all their rows being hidden)
|
1572
|
-
*/
|
1573
|
-
setInitialBlockDimension() {
|
1574
|
-
if (!this.blockElements?.length)
|
1575
|
-
return;
|
1576
|
-
perMark('blockDims');
|
1577
|
-
const testForDimensions = async () => {
|
1578
|
-
await this.setMeasureElement();
|
1579
|
-
if (this.unitHeight)
|
1580
|
-
return true;
|
1581
|
-
return false;
|
1582
|
-
};
|
1583
|
-
const dimensionsReady = new Promise((resolve) => {
|
1584
|
-
testForDimensions().then(async (ready) => {
|
1585
|
-
if (ready)
|
1586
|
-
resolve();
|
1587
|
-
else {
|
1588
|
-
// it's likely this table is hidden in the dom.
|
1589
|
-
// we need to wait until it's visible
|
1590
|
-
const observer = new IntersectionObserver(async () => {
|
1591
|
-
if (await testForDimensions()) {
|
1592
|
-
resolve();
|
1593
|
-
observer.disconnect();
|
1594
|
-
}
|
1595
|
-
}, { root: this.scrollParent });
|
1596
|
-
observer.observe(this.tableEle);
|
1597
|
-
}
|
1598
|
-
});
|
1599
|
-
});
|
1600
|
-
// we're all finished.
|
1601
|
-
dimensionsReady.then(() => {
|
1602
|
-
perMark('blockDims', true);
|
1603
|
-
perMark('init', true);
|
1604
|
-
requestAnimationFrame(() => (this.isReady = true));
|
1605
|
-
});
|
1606
|
-
}
|
1607
|
-
/** Apply initial columns settings */
|
1608
|
-
async columnInit() {
|
1609
|
-
this.filters = this.columns
|
1610
|
-
.filter((c) => c.filter !== undefined && c.filter !== null)
|
1611
|
-
.map((c) => {
|
1612
|
-
const { filter, prop } = c;
|
1613
|
-
return { prop, filter };
|
1614
|
-
});
|
1615
|
-
if (this.searchTerm) {
|
1616
|
-
await this.searchStart();
|
1617
|
-
}
|
1618
|
-
if (this.filters.length) {
|
1619
|
-
await this.filterStart();
|
1620
|
-
}
|
1621
|
-
// apply sort
|
1622
|
-
const col = this.columns.find((c) => !!c.order);
|
1623
|
-
if (col) {
|
1624
|
-
await this.sortStart(col.order, col.prop);
|
1625
|
-
}
|
1626
|
-
if (this.tablePinnedService)
|
1627
|
-
this.tablePinnedService.assessCols();
|
1628
|
-
}
|
1629
|
-
/** Split up all incoming rows into 'blocks' split amongst tbody elements.
|
1630
|
-
* These can then be hidden / shown to improve performance.
|
1631
|
-
*/
|
1632
|
-
setBlocks() {
|
1633
|
-
const dRows = this.store.data.state.rows;
|
1634
|
-
if (!dRows.length) {
|
1635
|
-
this.blocks = [];
|
1636
|
-
return;
|
1637
|
-
}
|
1638
|
-
perMark('setBlocks');
|
1639
|
-
// this.ignoreIO = true;
|
1640
|
-
let i = 1;
|
1641
|
-
const l = this.virtualTotalItems > dRows.length
|
1642
|
-
? this.virtualTotalItems
|
1643
|
-
: dRows.length;
|
1644
|
-
let rows = [];
|
1645
|
-
const blocks = [];
|
1646
|
-
// old skool loop for perf
|
1647
|
-
for (i; i <= l; i++) {
|
1648
|
-
rows.push(this.store.data.state.rows[i - 1] || { __uuid: '' });
|
1649
|
-
if (i % this.perBlock === 0) {
|
1650
|
-
// assign a UUID for the whole block
|
1651
|
-
// for block diffing
|
1652
|
-
blocks.push({ rows, __uuid: cyrb53(rows.map((b) => b.__uuid).join()) });
|
1653
|
-
rows = [];
|
1654
|
-
}
|
1655
|
-
}
|
1656
|
-
// any leftover rows
|
1657
|
-
if (rows.length) {
|
1658
|
-
blocks.push({ rows, __uuid: cyrb53(rows.map((b) => b.__uuid).join()) });
|
1659
|
-
}
|
1660
|
-
this.blocks = blocks;
|
1661
|
-
perMark('setBlocks', true);
|
1662
|
-
}
|
1663
|
-
/**
|
1664
|
-
* Returns a block render height.
|
1665
|
-
* If it's currently active - let auto do it's thing
|
1666
|
-
* If we've rendered it before - return that
|
1667
|
-
* If all else fails, let's guess it
|
1668
|
-
* @param blockIndex
|
1669
|
-
* @returns a height string (incl px)
|
1670
|
-
*/
|
1671
|
-
getBlockHeight(blockIndex) {
|
1672
|
-
if (this.blockHeights.length) {
|
1673
|
-
const cachedBlockHeight = this.blockHeights.find((bh) => bh.blockIndex === blockIndex);
|
1674
|
-
if (cachedBlockHeight && cachedBlockHeight.height)
|
1675
|
-
return cachedBlockHeight.height;
|
1676
|
-
}
|
1677
|
-
const blockLength = this.blocks[blockIndex].rows.length;
|
1678
|
-
if (blockLength === this.perBlock && this.measureHeight) {
|
1679
|
-
return this.measureHeight;
|
1680
|
-
}
|
1681
|
-
return this.unitHeight ? this.unitHeight * blockLength : 100;
|
1682
|
-
}
|
1683
|
-
/** cache the height for all active blocks for later renders */
|
1684
|
-
setBlockHeight() {
|
1685
|
-
this.activeBlocks.forEach((blockIndex) => {
|
1686
|
-
const el = this.blockElements[blockIndex];
|
1687
|
-
if (!el)
|
1688
|
-
return;
|
1689
|
-
readTask(() => {
|
1690
|
-
if (el.classList.contains(`${CSSNAMESPACE}__inactive`))
|
1691
|
-
return;
|
1692
|
-
const height = el.getBoundingClientRect().height;
|
1693
|
-
// cache height to our block heights array
|
1694
|
-
// for subsequent renders
|
1695
|
-
const fBhIdx = this.blockHeights.findIndex((bh) => bh.blockIndex === blockIndex);
|
1696
|
-
if (fBhIdx > -1) {
|
1697
|
-
this.blockHeights[fBhIdx] = { height, blockIndex };
|
1698
|
-
}
|
1699
|
-
else
|
1700
|
-
this.blockHeights.push({ height, blockIndex });
|
1701
|
-
});
|
1702
|
-
});
|
1703
|
-
}
|
1704
|
-
/**
|
1705
|
-
* On scroll, loop through all blocks' heights and cumulatively, add them together.
|
1706
|
-
* When we find that the scroll position is less than this cumulative block height -
|
1707
|
-
* stop loop - it's on the current active block.
|
1708
|
-
*/
|
1709
|
-
scrollHandler = () => {
|
1710
|
-
let scrollPos = 0;
|
1711
|
-
perMark('scrollHandler');
|
1712
|
-
// don't listen if this table isn't in the viewport
|
1713
|
-
if (!this.store?.general.state.isActive || !this.rows)
|
1714
|
-
return;
|
1715
|
-
if (this.primaryBlockIndex === undefined)
|
1716
|
-
this.primaryBlockIndex = 0;
|
1717
|
-
readTask(() => {
|
1718
|
-
scrollPos =
|
1719
|
-
typeof this.scrollParent.scrollTop !== 'undefined'
|
1720
|
-
? this.scrollParent.scrollTop
|
1721
|
-
: window.scrollY;
|
1722
|
-
scrollPos += this.host.offsetTop;
|
1723
|
-
if (this.tablePinnedService) {
|
1724
|
-
this.tablePinnedService.onScroll({
|
1725
|
-
x: typeof this.scrollParent.scrollLeft !== 'undefined'
|
1726
|
-
? this.scrollParent.scrollLeft
|
1727
|
-
: window.scrollX,
|
1728
|
-
y: scrollPos,
|
1729
|
-
});
|
1730
|
-
}
|
1731
|
-
let cumulativeHeight = this.host.offsetTop;
|
1732
|
-
let blockIndex = 0;
|
1733
|
-
const blockLen = this.blocks.length;
|
1734
|
-
while (blockIndex < blockLen && scrollPos >= cumulativeHeight) {
|
1735
|
-
cumulativeHeight += this.getBlockHeight(blockIndex);
|
1736
|
-
if (scrollPos < cumulativeHeight) {
|
1737
|
-
const potentialBlocks = [
|
1738
|
-
blockIndex,
|
1739
|
-
blockIndex + 1,
|
1740
|
-
// Math.max(0, blockIndex - 1),
|
1741
|
-
];
|
1742
|
-
if (potentialBlocks.toString() !== this.activeBlocks.toString()) {
|
1743
|
-
this.activeBlocks = potentialBlocks;
|
1744
|
-
}
|
1745
|
-
this.primaryBlockIndex = blockIndex;
|
1746
|
-
}
|
1747
|
-
blockIndex++;
|
1748
|
-
}
|
1749
|
-
perMark('scrollHandler', true);
|
1750
|
-
});
|
1751
|
-
};
|
1752
|
-
/** Process slotted content */
|
1753
|
-
processSlots() {
|
1754
|
-
// see if we have slot content
|
1755
|
-
if (!this.caption && !this.host.querySelector('[slot="caption"]')) {
|
1756
|
-
console.error('For accessibility you must set a `caption` prop or use the `caption` slot');
|
1757
|
-
}
|
1758
|
-
}
|
1759
|
-
handleResizeChange = (e) => {
|
1760
|
-
this.tableWrapperEle.className = '';
|
1761
|
-
let classes = [`${CSSNAMESPACE}__wrap`];
|
1762
|
-
if (e.target?.className)
|
1763
|
-
classes = [...e.target.className.split(' '), ...classes];
|
1764
|
-
this.tableWrapperEle.classList.add(...classes.filter((cl) => !!cl));
|
1765
|
-
};
|
1766
|
-
/** Adds an IO. Makes sure our scroll listener is only active when
|
1767
|
-
* the table is in viewport */
|
1768
|
-
setupActiveWatcher() {
|
1769
|
-
if (!this.host || !this.scrollParent || !this.store)
|
1770
|
-
return;
|
1771
|
-
if (this.activeWatcherIo) {
|
1772
|
-
this.activeWatcherIo.disconnect();
|
1773
|
-
this.activeWatcherIo = undefined;
|
1774
|
-
}
|
1775
|
-
const io = (this.activeWatcherIo = new IntersectionObserver(([e]) => {
|
1776
|
-
if (e.isIntersecting)
|
1777
|
-
this.store.general.state.isActive = true;
|
1778
|
-
else
|
1779
|
-
this.store.general.state.isActive = false;
|
1780
|
-
}, { root: this.scrollParent, threshold: 0 }));
|
1781
|
-
io.observe(this.host);
|
1782
|
-
}
|
1783
|
-
// Component lifecycle
|
1784
|
-
async componentWillLoad() {
|
1785
|
-
perMark('init');
|
1786
|
-
// setup stores
|
1787
|
-
this.store = await generateStore(this.host, this.columns, this.scrollParent, this.isReady);
|
1788
|
-
this.handleRowsChange();
|
1789
|
-
this.store.general.onChange('isActive', () => {
|
1790
|
-
this.scrollHandler();
|
1791
|
-
});
|
1792
|
-
this.store.data.onChange('rows', () => this.setBlocks());
|
1793
|
-
// setup dom and attach listeners
|
1794
|
-
this.processSlots();
|
1795
|
-
this.setBlocks();
|
1796
|
-
this.scrollParent = findScrollParent(this.host);
|
1797
|
-
this.setupActiveWatcher();
|
1798
|
-
}
|
1799
|
-
connectedCallback() {
|
1800
|
-
this.scrollParent = findScrollParent(this.host);
|
1801
|
-
this.setupActiveWatcher();
|
1802
|
-
}
|
1803
|
-
componentDidLoad() {
|
1804
|
-
this.setInitialBlockDimension();
|
1805
|
-
if (!this.tablePinnedService) {
|
1806
|
-
this.tablePinnedService = new TablePinService(this.tableEle, this.scrollParent);
|
1807
|
-
}
|
1808
|
-
}
|
1809
|
-
componentShouldUpdate(_newVal, _oldVal, stateName) {
|
1810
|
-
// stop double rendering - we use the store for rendering internally
|
1811
|
-
// the public facing props are kept in-sync with the store
|
1812
|
-
// but we don't want it to cause renders
|
1813
|
-
if (['rows', 'columns'].includes(stateName))
|
1814
|
-
return false;
|
1815
|
-
}
|
1816
|
-
componentWillRender() {
|
1817
|
-
perMark('render');
|
1818
|
-
}
|
1819
|
-
componentDidRender() {
|
1820
|
-
this.setMeasureElement().then(() => this.setBlockHeight());
|
1821
|
-
perMark('render', true);
|
1822
|
-
}
|
1823
|
-
disconnectedCallback() {
|
1824
|
-
if (!this.activeWatcherIo)
|
1825
|
-
return;
|
1826
|
-
this.activeWatcherIo.disconnect();
|
1827
|
-
this.activeWatcherIo = undefined;
|
1828
|
-
(this.scrollParent === document.documentElement
|
1829
|
-
? document
|
1830
|
-
: this.scrollParent).removeEventListener('scroll', this.scrollHandler);
|
1831
|
-
}
|
1832
|
-
render() {
|
1833
|
-
this.blockElements = [];
|
1834
|
-
return (h$1(Host, { key: '7d6193dc4b48fa4085ac1029a0c70dcf2f07a6fa', class: "nano-table" }, h$1("div", { key: 'acbfb0c4642cbce4dc1b8c9e22be90cbcbec84a9', class: `${CSSNAMESPACE}__top-anchor`, ref: (a) => (this.topAnchorEle = a) }, "\u00A0"), h$1("nano-resize-observe", { key: '9a38da33f0cfb64329331510f196ef7c42e51ca3', states: "576w sm, 768w md", class: "sm md", onNanoResizeStateChange: this.handleResizeChange, onNanoResize: () => {
|
1835
|
-
if (this.tablePinnedService)
|
1836
|
-
this.tablePinnedService.onResize();
|
1837
|
-
} }), h$1("div", { key: '25aad643f108a5e48319a20a70a36066eb099d5d', class: `${CSSNAMESPACE}__wrap sm md`, ref: (div) => (this.tableWrapperEle = div), "aria-labelledby": 'nano-table-caption-' + this.renderId, tabindex: this.type === 'grid' ? '0' : undefined }, h$1("nano-progress-bar", { key: '519fc388c4926af6bd9dfaba2112fa2db1dbc3cd', indeterminate: true, class: {
|
1838
|
-
[`${CSSNAMESPACE}__progress-bar`]: true,
|
1839
|
-
[`${CSSNAMESPACE}__progress-bar--show`]: this._loading,
|
1840
|
-
} }), h$1("table", { key: 'b58a665666893b4b15aad6ab7e7a08bd20527cb2', role: this.type === 'grid' ? 'grid' : undefined, "aria-rowcount": this.store.data.state.rows.length, "aria-colcount": this.store.config.state.columns.length, class: `${CSSNAMESPACE}`, ref: (tbl) => (this.tableEle = tbl), id: 'nano-table-' + this.renderId }, h$1("caption", { key: '5bc653ff3a487546e652cd787996dfde662fdf67', class: {
|
1841
|
-
[`${CSSNAMESPACE}__caption`]: true,
|
1842
|
-
[`${CSSNAMESPACE}__caption--hide`]: !this.showCaption,
|
1843
|
-
}, id: 'nano-table-caption-' + this.renderId }, h$1("slot", { key: 'a6c855db5a74c123d08ad4e65954f17573c9ea3a', name: "caption" }, this.caption)), h$1("thead", { key: '743820b2abc85adac1fe4babf918be10a8e62a26' }, h$1(TableHeadFootRow, { key: 'e7a9a7c27033c2ed69bdeb8bfa68af3a3d721036', rowRenderer: this.headRender }, this.store.config.state.columns.map((colModel) => [
|
1844
|
-
h$1(TableColHead, { column: colModel, headRenderer: this.headRender, onColumnSortClick: this.sortStart, defaults: {
|
1845
|
-
sortable: this.defaultSort,
|
1846
|
-
} }),
|
1847
|
-
]))), this._loading && !this.blocks.length && (h$1("tbody", { key: '6c7d553988620e1f3ee9cbf0d2c6bade44c5eefa', class: `${CSSNAMESPACE}__active ${CSSNAMESPACE}__loading` }, [...Array(10).keys()].map((rowIndex) => (h$1("tr", null, this.store.config.state.columns.map((_colModel, colIndex) => (h$1(TableCell, { rowIndex: rowIndex, colIndex: colIndex, nestedContent: () => h$1("nano-skeleton", null) })))))))), h$1("tr", { key: '092f27f8726f12b7fa10d166b560d6df6593bbc1', hidden: !!this._loading || !!this.blocks.length }, h$1("th", { key: 'edfbca925f99550897c3b460a6efcb326863a591', class: `${CSSNAMESPACE}__th`, colSpan: this.store.config.state.columns.length }, h$1("div", { key: '5d4b996c3141b6583317a2b28357fe7af3a873bc', class: "nano-tbl__cell-content nano-tbl__cell-content--no-result" }, h$1("slot", { key: '00db3e5649ccdc97062881ff7b3801fb1847c2db', name: "no-results" }, "No results found")))), this.blocks.map((block, blockIndex) => (h$1("tbody", { key: block.__uuid, id: `tbody-${this.renderId}-${blockIndex}`, ref: (tb) => {
|
1848
|
-
this.blockElements.push(tb);
|
1849
|
-
}, class: {
|
1850
|
-
[`${CSSNAMESPACE}__inactive`]: !this.activeBlocks.includes(blockIndex),
|
1851
|
-
[`${CSSNAMESPACE}__active`]: this.activeBlocks.includes(blockIndex),
|
1852
|
-
} }, this.activeBlocks.includes(blockIndex) ? (block.rows.map((row, i) => {
|
1853
|
-
const rowIndex = blockIndex > 0 ? blockIndex * this.perBlock + i : i;
|
1854
|
-
return (h$1(TableRow, { rowRenderer: this.rowRender, rowModel: row, rowIndex: rowIndex }, this.store.config.state.columns.map((_colModel, colIndex) => (h$1(TableCell, { rowIndex: rowIndex, colIndex: colIndex })))));
|
1855
|
-
})) : (h$1("tr", { class: `${CSSNAMESPACE}__tr--placeholder` }, h$1("td", { colSpan: this.store.config.state.columns.length, style: {
|
1856
|
-
height: this.getBlockHeight(blockIndex) + 'px',
|
1857
|
-
} })))))), this.showFooter && (h$1("tfoot", { key: '15a1a79049ad87f63c87e2d905bc401a7d4bbb60' }, h$1(TableHeadFootRow, { key: 'ee06dea32599c6dae3fcdcabc5a5bd0ea6536aea', rowRenderer: this.footRender }, this.store.config.state.columns.map((colModel) => [
|
1858
|
-
h$1(TableColHead, { column: colModel, headRenderer: this.footRender, onColumnSortClick: this.sortStart, defaults: {
|
1859
|
-
sortable: this.defaultSort,
|
1860
|
-
} }),
|
1861
|
-
]))))), !!this.blocks.length && (h$1("nano-spinner", { key: 'dd0041a5232a79a9f1882d2b9e5beebd79587a5d', type: "circle", class: {
|
1862
|
-
[`${CSSNAMESPACE}__spinner`]: true,
|
1863
|
-
[`${CSSNAMESPACE}__spinner--show`]: this._loading,
|
1864
|
-
} })))));
|
1865
|
-
}
|
1866
|
-
static get watchers() { return {
|
1867
|
-
"rows": ["handleRowsChange"],
|
1868
|
-
"columns": ["handleColsChange"],
|
1869
|
-
"searchTerm": ["handleSearchTermChange"],
|
1870
|
-
"virtualTotalItems": ["virtualTotalItemsChangeHandler"]
|
1871
|
-
}; }
|
1872
|
-
};
|
1873
|
-
Table.style = NanoTableStyle0;
|
1874
|
-
|
1875
|
-
export { Table as T, createWorker as c };
|
1876
|
-
|
1877
|
-
//# sourceMappingURL=nano-table-3965ddd0.js.map
|