@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 +0,0 @@
|
|
1
|
-
{"file":"nano-table-54523fe5.js","mappings":"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","names":["consoleError","createStore","cyrb53","getElement","getRenderingRef","h","Fragment","writeTask","readTask","debounce","findScrollParent","Host"],"sources":["src/components/table/table.constants.ts","@worker-helper","src/components/table/table.store.ts","src/components/table/table.utils.tsx","src/components/table/table.header.tsx","src/components/table/table.cell.tsx","src/components/table/table.row.tsx","src/components/table/table.pin-service.ts","src/components/table/table.scss?tag=nano-table","src/components/table/table.tsx"],"sourcesContent":["export const CSSNAMESPACE = 'nano-tbl';\n","\nimport { consoleError } from '@stencil/core/internal';\n\n\nconst isInstanceOf = (value, className) => {\n const C = globalThis[className];\n return C != null && value instanceof C;\n}\nconst getTransferables = (value) => {\n if (value != null) {\n if (\n isInstanceOf(value, \"ArrayBuffer\") ||\n isInstanceOf(value, \"MessagePort\") ||\n isInstanceOf(value, \"ImageBitmap\") ||\n isInstanceOf(value, \"OffscreenCanvas\")\n ) {\n return [value];\n }\n if (typeof value === \"object\") {\n if (value.constructor === Object) {\n value = Object.values(value);\n }\n if (Array.isArray(value)) {\n return value.flatMap(getTransferables);\n }\n return getTransferables(value.buffer);\n }\n }\n return [];\n};\n\nlet pendingIds = 0;\nlet callbackIds = 0;\nconst pending = new Map();\nconst callbacks = new Map();\n\nexport const createWorker = (workerPath, workerName, workerMsgId) => {\n const worker = new Worker(workerPath, {name:workerName});\n\n worker.addEventListener('message', ({data}) => {\n if (data) {\n const workerMsg = data[0];\n const id = data[1];\n const value = data[2];\n\n if (workerMsg === workerMsgId) {\n const err = data[3];\n const [resolve, reject, callbackIds] = pending.get(id);\n pending.delete(id);\n\n if (err) {\n const errObj = (err.isError)\n ? Object.assign(new Error(err.value.message), err.value)\n : err.value;\n\n consoleError(errObj);\n reject(errObj);\n } else {\n if (callbackIds) {\n callbackIds.forEach(id => callbacks.delete(id));\n }\n resolve(value);\n }\n } else if (workerMsg === workerMsgId + '.cb') {\n try {\n callbacks.get(id)(...value);\n } catch (e) {\n consoleError(e);\n }\n }\n }\n });\n\n return worker;\n};\n\nexport const createWorkerProxy = (worker, workerMsgId, exportedMethod) => (\n (...args) => new Promise((resolve, reject) => {\n let pendingId = pendingIds++;\n let i = 0;\n let argLen = args.length;\n let mainData = [resolve, reject];\n pending.set(pendingId, mainData);\n\n for (; i < argLen; i++) {\n if (typeof args[i] === 'function') {\n const callbackId = callbackIds++;\n callbacks.set(callbackId, args[i]);\n args[i] = [workerMsgId + '.cb', callbackId];\n (mainData[2] = mainData[2] || []).push(callbackId);\n }\n }\n const postMessage = (w) => (\n w.postMessage(\n [workerMsgId, pendingId, exportedMethod, args],\n getTransferables(args)\n )\n );\n if (worker.then) {\n worker.then(postMessage);\n } else {\n postMessage(worker);\n }\n })\n);\n","import { createStore, ObservableMap } from '@stencil/store';\nimport { cyrb53 } from '../../utils/math';\nimport {\n createWorkerStore,\n syncConfigToWorker,\n syncDataToWorker,\n workerFilter,\n workerSearch,\n workerSort,\n} from './table.worker';\nimport type { TableTypes } from './table-interface';\n\nexport interface TableStores {\n data: ObservableMap<{ rows: TableTypes.NanoTable['rows'] }>;\n config: ObservableMap<{ columns: TableTypes.NanoTable['columns'] }>;\n general: ObservableMap<{\n workerId: string;\n scrollParent: HTMLElement;\n host: HTMLNanoTableElement;\n isReady: boolean;\n isActive?: boolean;\n }>;\n}\n\nfunction colsToWorker(columns: TableTypes.NanoTable['columns']) {\n const safeColumns: Partial<TableTypes.ColumnConfig>[] = JSON.parse(\n JSON.stringify(columns)\n );\n columns.forEach((c) => {\n if (c?.sortCompareFn) {\n const safeCol = safeColumns.find((sc) => sc.prop === c.prop);\n safeCol.sortCompareFn = c.sortCompareFn.toString();\n }\n });\n return safeColumns;\n}\n\nconst stores: WeakMap<HTMLElement, TableStores> = new WeakMap();\n\nexport async function generateStore(\n host: HTMLNanoTableElement,\n columns: TableTypes.NanoTable['columns'],\n scrollParent: HTMLElement,\n isReady: boolean\n) {\n const store: TableStores = {\n data: createStore({ rows: [] }),\n config: createStore({ columns }),\n general: createStore({ workerId: null, scrollParent, host, isReady }),\n };\n\n const id = await createWorkerStore(\n store.data.state.rows,\n colsToWorker(store.config.state.columns)\n );\n store.general.state.workerId = id;\n stores.set(host, store);\n\n // sync data from our store to our worker\n\n store.data.use({\n reset: () => {\n if (store.general.state.workerId)\n syncDataToWorker(store.general.state.workerId, null);\n },\n dispose: () => {\n if (store.general.state.workerId)\n syncDataToWorker(store.general.state.workerId, null);\n },\n });\n store.config.use({\n reset: () => {\n if (store.general.state.workerId)\n syncConfigToWorker(store.general.state.workerId, null);\n },\n dispose: () => {\n if (store.general.state.workerId)\n syncConfigToWorker(store.general.state.workerId, null);\n },\n });\n return store;\n}\n\nexport function getStore(host: HTMLElement) {\n return stores.get(host);\n}\n\nfunction getDataType(value: any): TableTypes.ColumnType {\n if (value instanceof Date) {\n return 'date';\n }\n if (['number', 'string', 'boolean'].includes(typeof value)) {\n return typeof value as 'string' | 'number' | 'boolean';\n }\n return 'unknown';\n}\n\nexport function storeSetData(host: HTMLElement, rows: TableTypes.RowData[]) {\n const store = stores.get(host);\n if (!store) return;\n\n const cols = store.config.state.columns;\n const dateCols: (keyof TableTypes.RowData)[] = cols\n .filter((col) => col.type === 'date')\n .reduce((prev, curr) => {\n return [...prev, curr.prop];\n }, []);\n const unknownCols: TableTypes.RowData[] = cols.filter((col) => !col.type);\n\n // augments data with some internal props.\n // discern unknown column types\n // convert dates to numbers for worker\n rows = rows.map((row, i) => {\n // try our best to discern the column type (from first row) if unset\n if (unknownCols.length && i === 0) {\n store.config.state.columns = cols.map((col) => {\n if (unknownCols.includes(col) && row[col.prop] && !col.type) {\n col.type = getDataType(row[col.prop]);\n if (col.type === 'date') dateCols.push(col.prop);\n }\n return col;\n });\n }\n\n // convert date columns into numbers to send to our worker\n dateCols.forEach((colName) => {\n // coerce any date type;\n // Date(), timestamp, valid date string\n const coerceDate = new Date(row[colName]);\n if (!!coerceDate && Number(coerceDate)) row[colName] = Number(coerceDate);\n });\n\n row['__index'] = i;\n row['__uuid'] = cyrb53(cols.map((c) => row[c.prop]).join());\n\n return row;\n });\n store.data.state.rows = rows;\n\n if (store.general.state.workerId)\n return syncDataToWorker(store.general.state.workerId, rows);\n}\n\nexport function storeSetConfig(\n host: HTMLElement,\n columns: TableTypes.ColumnConfig[]\n) {\n const store = stores.get(host);\n if (!store) return;\n\n store.config.state.columns = columns;\n\n if (store.general.state.workerId)\n return syncConfigToWorker(\n store.general.state.workerId,\n colsToWorker(columns)\n );\n}\n\nexport async function storeSearch(host: HTMLElement, term: string) {\n const store = stores.get(host);\n if (!store || !store.general.state.workerId) return;\n\n try {\n store.data.state.rows = await workerSearch(\n store.general.state.workerId,\n term\n );\n } catch (e) {\n console.warn(e);\n }\n}\n\nexport async function storeFilter(\n host: HTMLElement,\n filters: TableTypes.Filter[]\n) {\n const store = stores.get(host);\n if (!store || !store.general.state.workerId) return;\n\n try {\n store.data.state.rows = await workerFilter(\n store.general.state.workerId,\n filters\n );\n } catch (e) {\n console.warn(e);\n }\n}\n\nexport async function storeSort(\n host: HTMLNanoTableElement,\n prop: TableTypes.Prop,\n order: TableTypes.Order\n) {\n const store = stores.get(host);\n if (!store || !store.general.state.workerId) return;\n\n try {\n store.data.state.rows = await workerSort(\n store.general.state.workerId,\n prop,\n order\n );\n } catch (e) {\n console.warn(e);\n }\n}\n","import { getRenderingRef, getElement, VNode, h, Fragment } from '@stencil/core';\nimport { getStore } from './table.store';\nimport { CSSNAMESPACE } from './table.constants';\nimport type { TableTypes } from './table-interface';\n\ntype ValidRenderTypes = 'tr' | 'th' | 'td';\n\n/**\n * Get a model object for custom cell / property renderers.\n * @param rowIndex - the current row index being rendered\n * @param colIndex - the current column index being rendered\n * @returns a model object which will be passed to custom renderers\n */\nexport function colDataModel(\n rowIndex: number,\n colIndex: number\n): TableTypes.RenderModel {\n const store = fetchStores();\n const columns = store.config.state.columns;\n const rows = store.data.state.rows;\n\n const column = columns[colIndex];\n const prop: TableTypes.ColumnProp | undefined = column?.prop;\n const rowModel = rows[rowIndex];\n const cellModel = rowModel ? rowModel[columns[colIndex].prop] : '';\n\n return {\n prop,\n cellModel,\n column,\n rowIndex,\n rowModel,\n };\n}\n\n/**\n * Get a model object for custom row renderers.\n * @param rowIndex\n * @returns a model object passed to custom row renderers\n */\nexport function rowDataModel(rowIndex: number): TableTypes.RowDataSchemaModel {\n const store = fetchStores();\n const rows = store.data.state.rows;\n const rowModel = rows[rowIndex];\n\n return {\n rowModel,\n rowIndex,\n };\n}\n\n/**\n * Merges 2 objects of properties together\n * @param current - property object\n * @param extra - additional object property\n * @returns - merged properties that can be applied to a node\n */\nexport function mergeProperties<T extends TableTypes.CellProps>(\n current: T,\n extra: T\n) {\n if (!extra) return current;\n\n // top level merge\n const props: T = { ...extra, ...current };\n\n // deeper merge\n // merge classes maps or strings\n if (extra.class) {\n if (typeof extra.class === 'object' && typeof props.class === 'object') {\n props.class = { ...extra.class, ...props.class };\n } else if (\n typeof extra.class === 'string' &&\n typeof props.class === 'object'\n ) {\n props.class[extra.class] = true;\n } else if (\n typeof props.class === 'string' &&\n typeof extra.class === 'string'\n ) {\n props.class += ' ' + extra.class;\n }\n }\n // merge style\n if (extra.style) {\n props.style = { ...extra.style, ...props.style };\n }\n return props;\n}\n\n/**\n * Returns the current nano-table's stores.\n * @returns the current nano-table stores\n */\nexport function fetchStores() {\n return getStore(getElement(getRenderingRef()));\n}\n\n/**\n * Merges any defined cell properties with properties\n * required by `nano-table` functionality\n * @param rowIndex - the current row index being rendered\n * @param colIndex = the current column index being rendered\n * @param defaultProps - default properties required by `nano-table`\n * @returns - the merged properties that will be applied to a node\n */\nexport function mergeCellProperties(\n rowIndex: number,\n colIndex: number,\n defaultProps: TableTypes.CellProps\n): TableTypes.CellProps {\n const props: TableTypes.CellProps = { ...defaultProps };\n const extraPropsFunc =\n fetchStores().config.state.columns[colIndex]?.cellProperties;\n if (!extraPropsFunc) return props;\n\n const data = colDataModel(rowIndex, colIndex);\n const extra = extraPropsFunc(data);\n if (!extra) return props;\n\n return mergeProperties(props, extra);\n}\n\n/**\n * Renders a table header (within a thead) using a custom template if set.\n * @param col - the current column config object\n * @returns - a JSX node\n */\nexport function colheadFootRender(col: TableTypes.ColumnConfig): VNode {\n const tpl = col?.columnTemplate;\n return tpl ? (\n tpl(h as TableTypes.HFunc<VNode>, col)\n ) : (\n <Fragment>{col.title}</Fragment>\n );\n}\n\n/**\n * Renders a class string or map for pinned classes on the v axis.\n * @param type - element tagName\n * @param vPinned - whether element is currently pinned vertically to top or bottom\n * @param toString - render as a string (defaults to class map)\n * @returns a class string or class map\n */\nexport function headerPinClasses(\n type: ValidRenderTypes,\n vPinned?: TableTypes.Position,\n toString?: false\n): { [key: string]: boolean };\nexport function headerPinClasses(\n type: ValidRenderTypes,\n vPinned?: TableTypes.Position,\n toString?: true\n): string;\nexport function headerPinClasses(\n type: ValidRenderTypes,\n vPinned?: TableTypes.Position,\n toString = false\n): { [key: string]: boolean } | string {\n const classes = {\n [`${CSSNAMESPACE}__${type}`]: true,\n [`${CSSNAMESPACE}__pin`]: !!vPinned,\n [`${CSSNAMESPACE}__pin--top`]: vPinned === 'top',\n [`${CSSNAMESPACE}__pin--bottom`]: vPinned === 'bottom',\n };\n\n if (toString) return classListToStr(classes);\n return classes;\n}\n\n/**\n * Turns a class map {'string': boolean} to class string\n * @param classes - the class map to convert\n * @returns a class string\n */\nexport function classListToStr(classes: { [key: string]: boolean }): string {\n let classString = '';\n Object.entries(classes).forEach(([className, on]) => {\n if (on) classString += className + ' ';\n });\n return classString;\n}\n\n/**\n * Checks whether an element is currently viewable within the viewport\n * @param el - element to check\n * @param percentVisible - the percentage of the element that should be within the viewport\n * @returns true if the element's area percentage is visible\n */\nexport function isInViewport(el: Element, percentVisible = 100) {\n const r = el.getBoundingClientRect();\n const windowHeight =\n window.innerHeight || document.documentElement.clientHeight;\n\n if (\n !r.bottom &&\n !r.top &&\n !r.left &&\n !r.right &&\n !r.height &&\n !r.width &&\n !r.x &&\n !r.y\n )\n return false;\n\n return !(\n Math.floor(100 - ((r.top >= 0 ? 0 : r.top) / +-r.height) * 100) <\n percentVisible ||\n Math.floor(100 - ((r.bottom - windowHeight) / r.height) * 100) <\n percentVisible\n );\n}\n","import { Fragment, FunctionalComponent } from '@stencil/core';\nimport { h } from '../../utils/renderer';\nimport { CSSNAMESPACE } from './table.constants';\nimport {\n colheadFootRender,\n headerPinClasses,\n mergeProperties,\n} from './table.utils';\nimport type { TableTypes } from './table-interface';\n\n// TABLE HEADERS\n// (thead > tr > th, tfoot > tr > th)\n\ntype TableColHeadProps = {\n column: TableTypes.ColumnConfig;\n headRenderer: TableTypes.HeadFootRenderer;\n onColumnSortClick?: (\n order: TableTypes.Order,\n column: TableTypes.Prop,\n el: HTMLTableCellElement\n ) => any;\n defaults: { sortable?: boolean };\n};\n\nexport const TableColHead: FunctionalComponent<TableColHeadProps> = ({\n column,\n onColumnSortClick,\n defaults,\n}) => {\n // Sort handling\n\n function handleColumnSortClick(e: MouseEvent & { target: HTMLElement }) {\n let order;\n switch (column.order) {\n case 'asc':\n order = 'desc';\n break;\n case 'desc':\n order = null;\n break;\n default:\n order = 'asc';\n }\n onColumnSortClick(order, column.prop, e.target.closest('th'));\n }\n\n function isSortable() {\n return (\n (!!defaults.sortable && column.sortable !== false) ||\n (!defaults.sortable && column.sortable === true)\n );\n }\n\n let extraProps = {};\n if (column.columnProperties) {\n extraProps = column.columnProperties(column) || extraProps;\n }\n\n const baseProps = {\n class: {\n ...headerPinClasses('th', column.pinned),\n [`${CSSNAMESPACE}__pin--start`]: column.pinned === 'start',\n [`${CSSNAMESPACE}__pin--end`]: column.pinned === 'end',\n [`${CSSNAMESPACE}__ordered`]: !!column.order,\n [`${CSSNAMESPACE}__filtered`]:\n column.filter !== undefined && column.filter !== null,\n },\n };\n let props = extraProps ? mergeProperties(baseProps, extraProps) : baseProps;\n const content = colheadFootRender(column);\n\n if (!content) return <Fragment></Fragment>;\n\n props =\n Number((props as TableTypes.CellProps).colSpan) > 1\n ? { ...props, scope: 'colgroup' }\n : { ...props, scope: 'col' };\n\n if (isSortable()) {\n const sort = column.order\n ? column.order === 'asc'\n ? 'ascending'\n : 'descending'\n : 'none';\n\n props = { ...props, 'aria-sort': sort };\n }\n\n return (\n <th {...props} key={column.prop}>\n {isSortable() ? (\n <button\n class={{\n [`${CSSNAMESPACE}__order-btn`]: true,\n [`${CSSNAMESPACE}__cell-content`]: true,\n }}\n onClick={handleColumnSortClick}\n >\n {colheadFootRender(column)}\n {column.filter !== undefined && column.filter !== null && (\n <nano-icon name=\"light/filter\" />\n )}\n {!!column.order &&\n (column.order === 'desc' ? (\n <nano-icon name=\"solid/arrow-down-long\" />\n ) : (\n <nano-icon name=\"solid/arrow-up-long\" />\n ))}\n <div class={`${CSSNAMESPACE}__status-icons`}>\n <nano-icon name=\"light/chevron-down\" />\n </div>\n </button>\n ) : (\n <div class={`${CSSNAMESPACE}__cell-content`}>\n {colheadFootRender(column)}\n {column.filter !== undefined && column.filter !== null && (\n <nano-icon name=\"light/bars-filter\" />\n )}\n </div>\n )}\n </th>\n );\n};\n","import {\n Fragment,\n FunctionalComponent,\n VNode,\n getRenderingRef,\n} from '@stencil/core';\nimport { h } from '../../utils/renderer';\nimport { CSSNAMESPACE } from './table.constants';\nimport {\n classListToStr,\n colDataModel,\n fetchStores,\n mergeCellProperties,\n} from './table.utils';\nimport type { TableTypes } from './table-interface';\nimport type { Table } from './table';\nimport type { NanoResizeObserveCustomEvent } from '../../components';\n\n// TABLE CELL\n// (tbody > tr > td, tbody > tr > th)\n\n/**\n * Renders a cell using a custom renderer if set.\n * @param rowIndex - the current row index being rendered\n * @param colIndex - the current column index being rendered\n * @returns - a JSX node\n */\nfunction cellRender(\n rowIndex: number,\n colIndex: number\n): VNode | string | Element {\n const store = fetchStores();\n const columns = store.config.state.columns;\n const tpl = columns[colIndex]?.cellTemplate;\n const model = colDataModel(rowIndex, colIndex);\n const tableInstance = getRenderingRef() as Table;\n\n if (!!model.cellModel && columns[colIndex].type === 'date') {\n const d = new Date(model.cellModel);\n if (d instanceof Date && !isNaN(d as any)) {\n model.cellModel = !tpl\n ? `${new Date(model.cellModel).toLocaleDateString()} ${new Date(\n model.cellModel\n ).toLocaleTimeString()}`\n : d;\n }\n }\n\n // Wrap the h pragma, then we can know if we're using Stencil's\n // jsx renderer or a different one\n let hCalled = false;\n const hWrap = (...args: [any[]]) => {\n hCalled = true;\n // @ts-expect-error - h mismatch\n return h(...args);\n };\n let tplResult = tpl ? tpl(hWrap, model) : undefined;\n\n if (\n tplResult &&\n tableInstance.customRenderer &&\n tplResult['$attrs$'] === undefined &&\n !(tplResult instanceof Element) &&\n typeof tplResult !== 'string' &&\n !hCalled\n ) {\n // template result is jsx *not* from Stencil.\n // Render it now and output it later.\n const templateEle = document.createElement('template');\n const result = tableInstance.customRenderer(tplResult, templateEle.content);\n // custom rendering can render to the templateEle OR return a promise<string>\n tplResult = result && result['then'] ? result : templateEle;\n }\n\n return tplResult ? (\n tplResult\n ) : model.cellModel !== undefined && model.cellModel !== null ? (\n <Fragment>{model.cellModel?.toString()}</Fragment>\n ) : (\n ''\n );\n}\n\nexport const baseCellClasses = (\n colIndex: number,\n toString: boolean = false\n) => {\n const store = fetchStores();\n const column = store.config.state.columns[colIndex];\n\n const classes = {\n [`${CSSNAMESPACE}__td`]: true,\n [`${CSSNAMESPACE}__ordered`]: !!column.order,\n [`${CSSNAMESPACE}__pin`]: !!column.pinned,\n [`${CSSNAMESPACE}__pin--start`]: column.pinned === 'start',\n [`${CSSNAMESPACE}__pin--end`]: column.pinned === 'end',\n };\n\n if (toString) return classListToStr(classes);\n return classes;\n};\n\ntype TableCellProps = {\n rowIndex: number;\n colIndex: number;\n nestedContent?: () => VNode;\n};\n\nexport const TableCell: FunctionalComponent<TableCellProps> = ({\n rowIndex,\n colIndex,\n nestedContent,\n}) => {\n const Content = (): TableTypes.TplResult =>\n nestedContent\n ? nestedContent()\n : cellRender(rowIndex, colIndex) || (\n <span class=\"placeholder\"> </span>\n );\n\n let CellType: 'td' | 'th' = 'td';\n const tableInstance = getRenderingRef() as Table;\n const store = fetchStores();\n const column = store.config.state.columns[colIndex];\n let props = mergeCellProperties(rowIndex, colIndex, {\n class: baseCellClasses(colIndex),\n });\n\n if (column.rowHeader) {\n props =\n Number(props.rowSpan) > 1\n ? { ...props, scope: 'rowgroup' }\n : { ...props, scope: 'row' };\n CellType = 'th';\n }\n\n const ContentWrap = (props) => {\n const content = Content();\n\n return (\n <div\n ref={(d) => {\n if (!d) return;\n\n if (content instanceof Element) {\n // custom rendered an element\n d.replaceChildren();\n d.append(content['content'] || content);\n } else if (content['then']) {\n // custom rendered a promise. Most likely within SSR.\n (content as Promise<string>).then((res) => (d.innerHTML = res));\n }\n }}\n {...props}\n class={{\n [`${CSSNAMESPACE}__cell-content`]: true,\n [`${CSSNAMESPACE}__cell-content--wrap`]: !!column.wrap,\n }}\n innerHTML={\n typeof content === 'string' && content.includes('<')\n ? content\n : undefined\n }\n >\n {(typeof content !== 'string' || !content.includes('<')) &&\n !content['then'] &&\n !(content instanceof Element) &&\n content}\n </div>\n );\n };\n\n return (\n <CellType\n role={tableInstance.type === 'grid' ? 'gridcell' : undefined}\n {...props}\n >\n {column.autoTooltip && !column.wrap ? (\n <nano-resize-observe\n notifyContentFit=\"x\"\n onNanoResizeContentFitChange={(\n e: NanoResizeObserveCustomEvent<{ x: boolean }>\n ) =>\n ((e.target.firstElementChild as HTMLNanoTooltipElement).disabled =\n e.detail.x)\n }\n >\n <nano-tooltip\n disabled\n placement=\"top\"\n onNanoShow={(e) =>\n (e.target.closest(CellType).style.zIndex = '100')\n }\n onNanoHide={(e) => (e.target.closest(CellType).style.zIndex = '')}\n >\n <ContentWrap />\n <span slot=\"content\">\n <Content />\n </span>\n </nano-tooltip>\n </nano-resize-observe>\n ) : (\n <ContentWrap />\n )}\n </CellType>\n );\n};\n","import { FunctionalComponent, VNode } from '@stencil/core';\nimport { h } from '../../utils/renderer';\nimport { headerPinClasses, mergeProperties, rowDataModel } from './table.utils';\nimport { baseCellClasses } from './table.cell';\nimport { CSSNAMESPACE } from './table.constants';\nimport type { TableTypes } from './table-interface';\n\n// TABLE ROWS\n// (thead > tr, tfoot > tr, tr)\n\ntype TableRowProps = {\n rowRenderer: TableTypes.RowRenderer;\n rowIndex: number;\n rowModel: TableTypes.RowData;\n onRowPinned?: TableTypes.PinnedCb;\n};\n\nconst tableCellContent = (\n props: TableTypes.TableRowCellHelperProps,\n children: VNode[],\n ctx: 'col' | 'row'\n): VNode => {\n const cell = (\n <div\n {...props.wrapperProps}\n class={{\n [`${CSSNAMESPACE}__cell-content`]: true,\n [`${CSSNAMESPACE}__cell-content--wrap`]: props.wrap,\n }}\n >\n {children}\n </div>\n );\n return props.header ? (\n <th scope={ctx} {...props.cellProps}>\n {cell}\n </th>\n ) : (\n <td {...props.cellProps}>{cell}</td>\n );\n};\n\nexport const TableRow: FunctionalComponent<TableRowProps> = (\n { rowRenderer, rowIndex, rowModel },\n children,\n utils\n) => {\n // helper, generates <td> or <th>\n const TableCell: FunctionalComponent<TableTypes.TableRowCellHelperProps> = (\n { header, wrap, cellProps, wrapperProps },\n children\n ): VNode => {\n return tableCellContent(\n { header, wrap, cellProps, wrapperProps },\n children,\n 'row'\n );\n };\n\n let extraProps = {};\n\n if (!rowModel) {\n const model = rowDataModel(rowIndex);\n rowModel = model.rowModel;\n }\n\n if (rowRenderer?.rowProperties) {\n extraProps =\n rowRenderer.rowProperties({ rowModel, rowIndex }) || extraProps;\n }\n\n let rowPinned: TableTypes.Position;\n if (rowRenderer?.pinned && typeof rowRenderer.pinned === 'function') {\n rowPinned = rowRenderer.pinned({ rowModel, rowIndex });\n }\n\n const props = mergeProperties(\n { class: headerPinClasses('tr', rowPinned, true) },\n extraProps\n );\n const tpl = rowRenderer?.template;\n\n /**\n * Applies appropriate classes to td / th VNodes;\n * which can be supplied by user defined templates\n * @param children virtual / jsx node array\n * @returns virtual / jsx node array\n */\n const applyCellClasses = (children: VNode[]) => {\n return utils.map(children, (cNode, i) => {\n if (['td', 'th'].includes(cNode.vtag.toString())) {\n cNode.vattrs = mergeProperties(\n {\n class: baseCellClasses(i, true),\n },\n cNode.vattrs\n );\n }\n return cNode;\n });\n };\n\n if (tpl) {\n let toRender = tpl(\n h as TableTypes.HFunc<VNode>,\n {\n renderedRow: (\n <tr {...props} key={rowModel.__uuid}>\n {children}\n </tr>\n ),\n rowModel,\n rowIndex,\n },\n TableCell\n );\n\n if (Array.isArray(toRender)) {\n toRender = utils.map(toRender, (node, i) => {\n if (node.vtag === 'tr') {\n if (!node.vkey) node.vkey = `${rowModel.__uuid}_${i}`;\n\n node.vattrs = mergeProperties(\n { class: headerPinClasses('tr', rowPinned, true) },\n node.vattrs\n );\n\n if (node.vchildren) {\n node.vchildren = applyCellClasses(node.vchildren);\n }\n }\n return node;\n });\n }\n return toRender;\n }\n\n return (\n <tr {...props} key={rowModel.__uuid}>\n {applyCellClasses(children)}\n </tr>\n );\n};\n\ntype TableHeadFootProps = {\n rowRenderer: TableTypes.HeadFootRenderer;\n onRowPinned?: TableTypes.PinnedCb;\n onColPinned?: TableTypes.PinnedCb;\n};\n\nexport const TableHeadFootRow: FunctionalComponent<TableHeadFootProps> = (\n { rowRenderer }, // onRowPinned, onColPinned\n children,\n utils\n) => {\n let extraProps = {};\n if (rowRenderer.rowProperties) {\n extraProps = rowRenderer.rowProperties() || {};\n }\n\n const TableHeadFootCell: FunctionalComponent<\n TableTypes.TableRowCellHelperProps\n > = ({ header, wrap, cellProps, wrapperProps }, children): VNode => {\n return tableCellContent(\n { header, wrap, cellProps, wrapperProps },\n children,\n 'col'\n );\n };\n\n const pinned = rowRenderer.pinned || null;\n const baseProps = { class: headerPinClasses('tr', pinned) };\n const props = extraProps ? mergeProperties(baseProps, extraProps) : baseProps;\n const tpl = rowRenderer?.template;\n\n if (tpl) {\n let toRender = tpl(\n h as TableTypes.HFunc<VNode>,\n {\n renderedRow: <tr {...props}>{children}</tr>,\n },\n TableHeadFootCell\n );\n\n if (Array.isArray(toRender)) {\n toRender = utils.map(toRender, (node) => {\n if (node.vtag === 'tr') {\n node.vattrs = mergeProperties(\n { class: headerPinClasses('tr', pinned, true) },\n node.vattrs\n );\n\n if (node.vchildren) {\n node.vchildren = utils.map(node.vchildren, (cNode) => {\n if (['td', 'th'].includes(cNode.vtag.toString())) {\n cNode.vattrs = mergeProperties(\n {\n class: headerPinClasses(\n cNode.vtag.toString() as 'th' | 'td',\n pinned,\n true\n ),\n },\n cNode.vattrs\n );\n }\n return cNode;\n });\n }\n }\n return node;\n });\n }\n return toRender;\n }\n\n return <tr {...props}>{children}</tr>;\n};\n","import { readTask, writeTask } from '@stencil/core';\nimport { CSSNAMESPACE } from './table.constants';\n\nfunction addStyleSheet(id, css) {\n const styleSheet =\n (document.getElementById(id) as HTMLStyleElement) ||\n document.createElement('style');\n styleSheet.id = id;\n styleSheet.innerHTML = css;\n if (!styleSheet.isConnected) document.head.append(styleSheet);\n}\n\n/**\n * Manages the complex business of table 'pinning'; sticking columns and rows to the scrolling parent element.\n *\n * *knowing* when an element is pinned is tricky.\n * Managing the display of multiple, side-by-side pinned elements is trickier still.\n *\n * Pinning table columns are very different from pinning table rows:\n * - Rows are actual elements we can select, measure and apply styles to.\n * - Columns are disparate collections of elements that are much harder to select, measure and apply styles to.\n *\n * With this in mind, how columns and rows are pinned is different:\n * Rows can have changes applied directly, Columns have changes applied via dynamic stylesheets.\n *\n * The service is slightly opinionated on how it pins rows and columns (with some room for override):\n * - Pinned columns are stuck consecutively, without overlapping.\n * e.g. If column 'name' and 'surname' are both `pin: 'start'`; 'surname' will display **next** to name.\n * Both columns are important for context\n *\n * - Pinned rows are set to overlap *when* they have the same ancestor,\n * and stuck consecutively when they have a different ancestor.\n * e.g. `tbody > tr.pin ~ tr.pin` the second row will **overlap** the first; it's unlikely both rows will be important for context.\n * `thead > tr.pin`, `tbody > tr.pin`. Both rows are required for context so will require next to each other.\n *\n * Devs can override this behaviour by setting `--pin-start`, `--pin-end`, `--pin-top`, `--pin-bottom` custom vars.\n */\nexport class TablePinService {\n // Private state\n\n private cachedColMeta: WeakMap<HTMLElement, { width: number; idx: number }> =\n new WeakMap();\n private tableId: string;\n private tableEle: HTMLTableElement;\n private scrollElement: HTMLElement;\n private startColumns: HTMLCollection;\n private endColumns: HTMLCollection;\n private topRows: HTMLCollection;\n private bottomRows: HTMLCollection;\n private tableDims: { height: number; width: number };\n\n constructor(table: HTMLTableElement, scrollElement: HTMLElement) {\n this.tableEle = table;\n this.tableId = this.tableEle.id;\n this.scrollElement = scrollElement;\n\n // Secret sauce - `getElementsByClassName` is a live collection.\n // An HTMLCollection will keep itself up-to-date as elements come and go\n // So we can keep assessing on scroll\n\n this.startColumns = table\n .querySelector('thead')\n .getElementsByClassName(`${CSSNAMESPACE}__pin--start`);\n this.endColumns = table\n .querySelector('thead')\n .getElementsByClassName(`${CSSNAMESPACE}__pin--end`);\n this.topRows = table.getElementsByClassName(`${CSSNAMESPACE}__pin--top`);\n this.bottomRows = table.getElementsByClassName(\n `${CSSNAMESPACE}__pin--bottom`\n );\n this.onResize();\n }\n\n // Pinned cols & change detection\n private get pinnedStart() {\n return this._pinnedStart;\n }\n private set pinnedStart(cols: HTMLElement[]) {\n this._pinnedStart = cols;\n this.handlePinnedStartChange();\n }\n private _pinnedStart: HTMLElement[] = [];\n\n /**\n * Called when columns are either pinned or unpinned.\n * Attaches a tiny stylesheet to target the 'last' start column.\n * (e.g. We only want to apply drop shadow on last pinned start column - not all pinned columns)\n */\n private handlePinnedStartChange() {\n writeTask(() => {\n if (this.pinnedStart.length) {\n this.tableEle.classList.add(`${CSSNAMESPACE}__pinned--start`);\n const lastActiveCol = this.cachedColMeta.get(\n this.pinnedStart[this.pinnedStart.length - 1]\n );\n\n addStyleSheet(\n `${this.tableId}-col-start-active-style`,\n /* css */ `\n #${this.tableId} tr > :nth-child(${lastActiveCol.idx + 1}) {\n --pin-start-active: 1;\n }\n `\n );\n } else {\n this.tableEle.classList.remove(`${CSSNAMESPACE}__pinned--start`);\n addStyleSheet(`${this.tableId}-col-start-active-style`, ``);\n }\n });\n }\n\n private get pinnedEnd() {\n return this._pinnedEnd;\n }\n private set pinnedEnd(cols: HTMLElement[]) {\n this._pinnedEnd = cols;\n this.handlePinnedEndChange();\n }\n private _pinnedEnd: HTMLElement[] = [];\n\n /**\n * Called when columns are either pinned or unpinned.\n * Attaches a tiny stylesheet to target the 'first' end column.\n * (e.g. We only want to apply drop shadow on first pinned end column - not all pinned columns)\n */\n private handlePinnedEndChange() {\n writeTask(() => {\n if (this.pinnedEnd.length) {\n this.tableEle.classList.add(`${CSSNAMESPACE}__pinned--end`);\n const firstActiveCol = this.cachedColMeta.get(this.pinnedEnd[0]);\n\n addStyleSheet(\n `${this.tableId}-col-end-active-style`,\n /* css */ `\n #${this.tableId} tr > :nth-child(${\n firstActiveCol.idx + 1\n }) { --pin-end-active: 1; }\n `\n );\n } else {\n this.tableEle.classList.remove(`${CSSNAMESPACE}__pinned--end`);\n addStyleSheet(`${this.tableId}-col-end-active-style`, ``);\n }\n });\n }\n\n private get cssColDimensionCacheKey() {\n return this._cssColDimensionCacheKey;\n }\n private set cssColDimensionCacheKey(key: string) {\n if (key === this._cssColDimensionCacheKey) return;\n this._cssColDimensionCacheKey = key;\n this.createPinnedColDimensionStyles();\n }\n private _cssColDimensionCacheKey: string = '';\n\n /**\n * To only generate column dimension styles when necessary we\n * maintain a cache key string via serialised column meta.\n * Only when this key changes do we generate a new stylesheet\n */\n private generateCssCacheKey() {\n let key = '';\n for (const col of this.startColumns) {\n const colMeta = this.cachedColMeta.get(col as HTMLElement);\n key += `${colMeta.idx}-start-${colMeta.width}`;\n }\n for (const col of this.endColumns) {\n const colMeta = this.cachedColMeta.get(col as HTMLElement);\n key += `${colMeta.idx}-start-${colMeta.width}`;\n }\n this.cssColDimensionCacheKey = key;\n }\n\n /**\n * Generates pinned column width offset styles\n * so pinned columns can appear stuck together,\n * then attaches a stylesheet.\n */\n private createPinnedColDimensionStyles() {\n let widthS = 0;\n let widthE = 0;\n const startCols = Array.from(this.startColumns);\n const endCols = Array.from(this.endColumns).reverse();\n\n const css = /* css */ `\n ${startCols\n .map((col) => {\n const colMeta = this.cachedColMeta.get(col as HTMLElement);\n widthS += colMeta.width - 1 || -1;\n return /* css */ `\n #${this.tableId} tr > :nth-child(${colMeta.idx + 1}) ~ td,\n #${this.tableId} tr > :nth-child(${colMeta.idx + 1}) ~ th {\n --pin-start: ${widthS - 1}px;\n }\n `;\n })\n .join('')}\n ${endCols\n .map((col) => {\n const colMeta = this.cachedColMeta.get(col as HTMLElement);\n widthE += colMeta.width - 1 || -1;\n return /* css */ `\n #${this.tableId} tr > td:has(~ :nth-child(${colMeta.idx + 1})),\n #${this.tableId} tr > th:has(~ :nth-child(${colMeta.idx + 1})) {\n --pin-end: ${widthE - 1}px;\n }\n `;\n })\n .join('')}\n `;\n addStyleSheet(`${this.tableId}-dimension-style`, css);\n }\n\n private getParentOffsets() {\n const { x, y } = this.scrollElement.getBoundingClientRect();\n\n let offsetX = x;\n let offsetY = y;\n\n if (this.scrollElement === document.documentElement) {\n offsetX = this.scrollElement.offsetLeft;\n offsetY = this.scrollElement.offsetTop;\n }\n return { offsetX, offsetY };\n }\n\n /**\n * Loops through all 'top' & 'bottom' rows (on scroll or resize)\n * Manages their visual state by applying classes on stuck / unstuck\n * And their pinned offset / distance\n */\n public assessRows() {\n if (!this.topRows.length && !this.bottomRows.length) return;\n\n // top rows\n if (this.topRows.length) {\n readTask(async () => {\n let heightAggregate = 0;\n let cacheParent: HTMLElement;\n const { offsetY } = this.getParentOffsets();\n\n for (const topRow of this.topRows) {\n const { y, height } = topRow.getBoundingClientRect();\n const currParent = topRow.parentElement;\n // we'll use the applied `--pin-top` css var to decide row offset.\n // This allows devs to override this behaviour through selector specificity\n const pinTop = getComputedStyle(topRow).getPropertyValue('--pin-top');\n const offset = pinTop !== '' ? parseFloat(pinTop) : heightAggregate;\n\n // we need to wait for the row to finish sticking\n // and generating it's offset (`--pin-top`) so we can see, on\n // subsequent rows *if* the offset was applied\n writeTask(() => {\n if (y - offsetY <= offset) {\n topRow.classList.add(\n `${CSSNAMESPACE}__pinned`,\n `${CSSNAMESPACE}__pinned--top`\n );\n } else {\n topRow.classList.remove(\n `${CSSNAMESPACE}__pinned`,\n `${CSSNAMESPACE}__pinned--top`\n );\n }\n\n // by default, we only want to stick one row from each parental block (thead, tbody, tfoot)\n // so only aggregate height / offset when cacheParent is different from current parent.\n // Devs can override this behaviour by manually setting `--pin-bottom` on the table row\n if (cacheParent !== currParent) {\n currParent.style.setProperty(\n '--pin-top',\n `${heightAggregate - 1}px`\n );\n heightAggregate += height - 1;\n cacheParent = currParent;\n }\n });\n }\n });\n }\n\n // bottom rows\n if (this.bottomRows.length) {\n const bottomRows = Array.from(this.bottomRows).reverse();\n readTask(async () => {\n let cacheParent: HTMLElement;\n let heightAggregate = 0;\n const { offsetY } = this.getParentOffsets();\n\n for (const bottomRow of bottomRows) {\n if (!bottomRow.isConnected) continue;\n\n const { y, height } = bottomRow.getBoundingClientRect();\n const currParent = bottomRow.parentElement;\n // we'll use the applied `--pin-bottom` css var to decide row offset.\n // This allows devs to override this behaviour through selector specificity\n const pinBottom =\n getComputedStyle(bottomRow).getPropertyValue('--pin-bottom');\n const offset =\n pinBottom !== '' ? parseFloat(pinBottom) : heightAggregate;\n\n // we need to wait for the row to finish sticking\n // and generating it's offset (`--pin-bottom`) to we can see, on\n // subsequent rows *if* the offset was applied\n await new Promise<void>((resolve) =>\n writeTask(() => {\n if (this.tableDims.height + offsetY - (y + height) <= offset) {\n bottomRow.classList.add(\n `${CSSNAMESPACE}__pinned`,\n `${CSSNAMESPACE}__pinned--bottom`\n );\n } else {\n bottomRow.classList.remove(\n `${CSSNAMESPACE}__pinned`,\n `${CSSNAMESPACE}__pinned--bottom`\n );\n }\n\n // by default, we only want to stick one row from each parental block (thead, tbody, tfoot)\n // so only aggregate height / offset when cacheParent is different from current parent.\n // Devs can override this behaviour by manually setting `--pin-bottom` on the table row\n if (cacheParent !== currParent) {\n currParent.style.setProperty(\n '--pin-bottom',\n `${heightAggregate - 1}px`\n );\n heightAggregate += height - 1;\n cacheParent = currParent;\n }\n resolve();\n })\n );\n }\n });\n }\n }\n\n /**\n * Loops through all 'start' & 'end' columns (on scroll or resize)\n * Caches meta about each column (e.g. size, position-index)\n * and decides which columns are pinned\n */\n public async assessCols() {\n if (!this.startColumns.length && !this.endColumns.length) return;\n\n let boundBox: DOMRect;\n let currPinned: HTMLElement;\n let parentEles: Element[];\n\n const done = new Promise<void>((resolve) => {\n // start cols\n if (this.startColumns.length) {\n readTask(() => {\n const { offsetX } = this.getParentOffsets();\n // cumulatively add widths of columns together\n // 'cos columns stick together\n let widthAggregate = offsetX;\n parentEles = Array.from(this.startColumns[0].parentElement.children);\n\n for (const startCol of this.startColumns) {\n boundBox = startCol.getBoundingClientRect();\n // cache meta for later\n this.cachedColMeta.set(startCol as HTMLElement, {\n width: boundBox.width,\n idx: parentEles.indexOf(startCol),\n });\n\n currPinned = this.pinnedStart.find((c) => c === startCol);\n if (boundBox.x < widthAggregate) {\n // this column is pinned\n if (!currPinned)\n this.pinnedStart = [\n ...this.pinnedStart,\n startCol as HTMLElement,\n ];\n } else if (currPinned) {\n // this column is unpinned\n this.pinnedStart = this.pinnedStart.filter((c) => c !== startCol);\n }\n widthAggregate += boundBox.width;\n }\n if (!this.endColumns.length) resolve();\n });\n }\n\n // end cols\n if (this.endColumns.length) {\n readTask(() => {\n const endCols = Array.from(this.endColumns).reverse();\n parentEles = Array.from(this.endColumns[0].parentElement.children);\n const { offsetX } = this.getParentOffsets();\n // cumulatively add widths of columns together\n // 'cos columns stick together\n let widthAggregate = 0;\n\n for (const endCol of endCols) {\n boundBox = endCol.getBoundingClientRect();\n // cache meta for later\n this.cachedColMeta.set(endCol as HTMLElement, {\n width: boundBox.width,\n idx: parentEles.indexOf(endCol),\n });\n\n currPinned = this.pinnedEnd.find((c) => c === endCol);\n if (\n this.tableDims.width + offsetX - boundBox.right <=\n widthAggregate\n ) {\n // this column is pinned\n if (!currPinned)\n this.pinnedEnd = [endCol as HTMLElement, ...this.pinnedEnd];\n } else if (currPinned) {\n // this column is unpinned\n this.pinnedEnd = this.pinnedEnd.filter((c) => c !== endCol);\n }\n widthAggregate += boundBox.width;\n }\n resolve();\n });\n }\n });\n\n await done;\n // potentially generate a new css stylesheet if anything changed\n this.generateCssCacheKey();\n }\n\n private cacheX = 0;\n private cacheY = 0;\n\n public onScroll(pos: { x: number; y: number }) {\n if (this.cacheX !== pos.x) {\n this.cacheX = pos.x;\n this.assessCols();\n }\n if (this.cacheY !== pos.y) {\n this.cacheY = pos.y;\n this.assessRows();\n }\n }\n\n public onResize() {\n const width = this.scrollElement.clientWidth;\n const height = this.scrollElement.clientHeight;\n\n this.tableDims = { width, height };\n this.assessCols();\n this.assessRows();\n }\n}\n","@use '../../global/style/utilities/mixins' as mx;\n@use '../../global/style/nano-theme/tokens/form' as f;\n\n.nano-table {\n /**\n * @prop --max-col-width: Default 200px;\n\n * @prop --color: Deafults to var(--nano-color-mediumgrey, #68767e);\n * @prop --font-size: Deafults to 0.87rem;\n * @prop --cell-line-height: Deafults to 1.5;\n\n * @prop --border-color: Deafults to var(--nano-color-palegrey, #b5aea7);\n * @prop --border-style: Deafults to thin solid var(--border-color);\n * @prop --border-tint-color: Deafults to var(--nano-color-blue, #90c6e7);\n * @prop --border-tint-style: Deafults to 2px solid var(--border-tint-color);\n\n * @prop --cell-bg-rgb: Deafults to var(--nano-color-white-rgb, 255 255 255);\n * @prop --head-bg-rgb: Deafults to var(--cell-bg-rgb);\n * @prop --foot-bg-rgb: Deafults to var(--cell-bg-rgb);\n * @prop --th-row-bg-rgb: Deafults to var(--cell-bg-rgb);\n * @prop --ordered-bg-rgb: Deafults to var(--nano-color-offwhite-rgb, 249 249 251);\n\n * @prop --td-padding-start: Deafults to 0.625rem;\n * @prop --td-padding-end: Deafults to 0.625rem;\n * @prop --td-padding-top: Deafults to 0.5rem;\n * @prop --td-padding-bottom: Deafults to 0.4125rem;\n\n * @prop --th-padding-start: Deafults to 0.625rem;\n * @prop --th-padding-end: Deafults to 0.625rem;\n * @prop --th-padding-top: Deafults to 0.875rem;\n * @prop --th-padding-bottom: Deafults to 0.6875rem;\n\n * @prop --td-padding-v: Deafults to var(--td-padding-top) var(--td-padding-bottom);\n * @prop --td-padding-h: Deafults to var(--td-padding-start) var(--td-padding-end);\n\n * @prop --th-padding-v: Deafults to var(--th-padding-top) var(--th-padding-bottom);\n * @prop --th-padding-h: Deafults to var(--th-padding-start) var(--th-padding-end);\n\n * @prop --foot-th-padding-v: Deafults to var(--td-padding-top) var(--td-padding-bottom);\n * @prop --foot-th-padding-h: Deafults to var(--td-padding-start) var(--td-padding-end);\n\n * @prop --head-th-padding-v: Deafults to var(--th-padding-top) var(--th-padding-bottom);\n * @prop --head-th-padding-h: Deafults to var(--th-padding-start) var(--th-padding-end);\n\n * @prop --bookend-col-padding: Deafults to 2rem;\n */\n\n display: block;\n inline-size: 100%;\n\n // general\n --max-col-width: clamp(200px, 500px, 50vw);\n\n // text\n --color: var(--nano-color-mediumgrey, #68767e);\n --font-size: 0.87rem;\n --cell-line-height: 1.5;\n --thead-font-size: 0.95rem;\n --thead-color: #455560;\n --tfoot-color: #455560;\n\n // borders\n --border-color: #dddbda;\n --border-style: thin solid var(--border-color);\n --border-tint-color: #0084a9;\n --border-tint-style: 3px solid var(--border-tint-color);\n\n // backgrounds\n --cell-bg-rgb: var(--nano-color-white-rgb, 255 255 255);\n --head-bg-rgb: 250 250 249;\n --foot-bg-rgb: var(--head-bg-rgb);\n --th-row-bg-rgb: var(--cell-bg-rgb);\n --ordered-bg-rgb: var(--nano-color-offwhite-rgb, 249 249 251);\n\n // spacing\n --td-padding-start: 0.625rem;\n --td-padding-end: 0.625rem;\n --td-padding-top: 0.6rem;\n --td-padding-bottom: 0.6125rem;\n --th-padding-start: 0.725rem;\n --th-padding-end: 0.625rem;\n --th-padding-top: 0.875rem;\n --th-padding-bottom: 0.6875rem;\n --td-padding-v: var(--td-padding-top) var(--td-padding-bottom);\n --td-padding-h: var(--td-padding-start) var(--td-padding-end);\n --th-padding-v: var(--th-padding-top) var(--th-padding-bottom);\n --th-padding-h: var(--th-padding-start) var(--th-padding-end);\n --foot-th-padding-v: var(--td-padding-top) var(--td-padding-bottom);\n --foot-th-padding-h: var(--td-padding-start) var(--td-padding-end);\n --head-th-padding-v: var(--th-padding-top) var(--th-padding-bottom);\n --head-th-padding-h: var(--th-padding-start) var(--th-padding-end);\n --bookend-col-padding: 2rem;\n}\n\n.nano-tbl {\n $base: &;\n\n color: var(--color);\n text-align: start;\n inline-size: 100%;\n font-size: var(--font-size);\n border-spacing: 0 0;\n border-collapse: separate;\n background: rgb(var(--cell-bg-rgb));\n border-inline-end: 1px solid transparent;\n border-block-start: 1px solid transparent;\n position: relative;\n z-index: 1;\n\n &__wrap {\n display: table;\n min-inline-size: 100%;\n // container-type: inline-size;\n }\n\n &__top-anchor {\n @include mx.visually-hide;\n\n position: relative;\n }\n\n &__ordered {\n background-color: var(--ordered-bg);\n border-inline-start: var(--border-style);\n border-inline-end: var(--border-style);\n }\n\n &__order-btn {\n padding: 0;\n border: none;\n outline: none;\n font: inherit;\n background: none;\n appearance: none;\n color: inherit;\n display: flex;\n gap: 10px;\n align-items: center;\n inline-size: 100%;\n\n &:focus-visible {\n outline: none;\n box-shadow: #{f.$control-focus-style} inset;\n }\n }\n\n &__status-icons {\n margin-inline: auto 10px;\n display: flex;\n gap: 10px;\n }\n\n &__progress-bar {\n font-size: 0.2rem;\n position: sticky;\n inset-block-start: 0;\n inset-inline: 0;\n z-index: 10;\n transition: scale 0.25s;\n transform: scale(0);\n inline-size: 100%;\n block-size: 0;\n\n &--show {\n transform: scale(1);\n block-size: auto;\n }\n }\n\n &__caption {\n &--hide {\n @include mx.visually-hide;\n }\n }\n\n // Shared styles in th, td across thead / tbody / tfoot\n\n &__td,\n &__th {\n line-height: var(--cell-line-height);\n text-align: start;\n border-block-start: var(--border-style);\n max-inline-size: var(--max-col-width);\n background-color: rgb(var(--cell-bg-rgb));\n\n // @container (min-width: 700px) {\n // color: red !important;\n // }\n\n tbody:first-of-type tr:first-child & {\n border-block-start: none;\n }\n\n tbody:last-of-type tr:last-child & {\n border-block-end: var(--border-style);\n }\n\n // 'bookend' (larger) padding on larger screens\n .md & {\n &:first-child #{$base}__cell-content {\n padding-inline-start: var(--bookend-col-padding);\n }\n\n &:last-child #{$base}__cell-content {\n padding-inline-end: var(--bookend-col-padding);\n }\n }\n\n // force override of bookend on small screens css media\n // queries are faster than the breakpoints from `nano-resize-observer`\n @include mx.media-breakpoint-down('md') {\n &:first-child #{$base}__cell-content {\n padding-inline-start: var(--td-padding-start) !important;\n }\n\n &:last-child #{$base}__cell-content {\n padding-inline-end: var(--td-padding-end) !important;\n }\n }\n\n thead & {\n color: var(--thead-color);\n font-weight: 800;\n background: rgb(var(--head-bg-rgb) / 100%);\n font-size: var(--thead-font-size);\n border-block-start: none !important;\n\n #{$base}__cell-content {\n padding-block: var(--head-th-padding-v);\n padding-inline: var(--head-th-padding-h);\n }\n\n .nano-sortable__keyboard-handle {\n position: absolute;\n inset-inline-end: 5px;\n inset-block-start: 50%;\n transform: translateY(-50%);\n background: white;\n z-index: 10;\n }\n }\n\n tfoot & {\n color: var(--tfoot-color);\n font-weight: 800;\n border-block-start: none;\n background: rgb(var(--foot-bg-rgb) / 100%);\n font-size: var(--thead-font-size);\n\n #{$base}__cell-content {\n padding-block: var(--foot-th-padding-v);\n padding-inline: var(--foot-th-padding-h);\n }\n }\n\n &.nano-tbl__ordered {\n background-color: rgb(var(--ordered-bg-rgb) / 80%) !important;\n }\n }\n\n &__cell-content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n padding-block: var(--td-padding-v);\n padding-inline: var(--td-padding-h);\n\n &--no-result {\n padding-block: 2rem;\n }\n\n &--wrap {\n white-space: normal;\n overflow: visible;\n }\n }\n\n tbody {\n will-change: scroll-position;\n opacity: 1;\n transition: 0.1s ease opacity;\n\n &#{$base}__loading {\n z-index: -1;\n position: relative;\n }\n\n &#{$base}__inactive {\n opacity: 0;\n }\n #{$base}__tr:has(~ #{$base}__tr--placeholder) {\n display: none;\n }\n #{$base}__tr--placeholder ~ #{$base}__tr {\n display: none;\n }\n }\n\n // tbody th\n\n th[scope='row'] {\n font-weight: 800;\n margin: 0;\n }\n\n // pinned styles\n\n &__tr {\n --base-z: 0;\n }\n\n &__pin {\n $pin: &;\n\n z-index: var(--z, var(--base-z, 0));\n\n #{$base}__th, #{$base}__td {\n z-index: var(--z, var(--base-z, 0));\n }\n\n // Pinned start columns\n // Base: table ... tr > th.__pin--start, td.__pin--start\n // Pinned: table.__pinned--start ... tr > th.__pin--end, td.__pin--start\n\n &--start {\n // base styles\n position: sticky;\n inset-inline-start: var(--pin-start, -1px);\n // transition: max-width 0.25s ease;\n\n &::after {\n // Perf: Box shadow applied on pseudo element\n // and hidden / shown > than applying new box shadow on the fly\n\n content: '';\n position: absolute;\n inset: 0;\n box-shadow: 5px 0 4px -1px rgb(0 0 0 / 20%);\n opacity: var(--pin-start-active, 0);\n z-index: -1;\n }\n\n // pinned styles\n #{$base}__pinned--start & {\n // max-width: 125px !important;\n --z: calc(var(--base-z) + 3) !important;\n\n // .sm & {\n // max-width: var(--max-col-width) !important;\n // }\n }\n }\n\n // Pinned end columns\n // Base: table ... tr > th.__pin--end, td.__pin--end\n // Pinned: table.__pinned--end ... tr > th.__pin--end, td.__pin--end\n\n &--end {\n // base styles\n position: sticky;\n\n // Pinned end columns are deactivated on smaller screens\n #{$base}__pin--start + & {\n inset-inline-end: auto !important;\n\n &::after {\n display: none;\n }\n }\n\n // Breakpoint for larger screens\n .sm & {\n // base styles\n inset-inline-end: var(--pin-end, -1px);\n max-inline-size: min(50vw, 200px);\n\n &::after {\n // Perf: Box shadow applied on pseudo element\n // and hidden / shown > than applying new box shadow on the fly\n\n display: block !important;\n content: '';\n position: absolute;\n inset: 0;\n box-shadow: -5px 1px 4px -1px rgb(0 0 0 / 20%);\n opacity: var(--pin-end-active, 0);\n z-index: -1;\n }\n }\n\n // pinned styles\n #{$base}__pinned--end & {\n .sm & {\n --z: calc(var(--base-z) + 2) !important;\n }\n }\n }\n\n // Pinned top rows\n // Base: table ... tr.__pin--top\n // Pinned: table ... tr.__pin--top.__pinned--top\n\n &--top {\n // base styles\n #{$base}__th, #{$base}__td {\n position: sticky;\n inset-block-start: var(--pin-top, -1px);\n }\n\n #{$base}__pin--end, #{$base}__pin--start {\n --z: calc(var(--base-z) + 1);\n }\n\n // pinned styles\n &#{$base}__pinned--top {\n --base-z: 4;\n }\n\n // tbody pinned styles\n tbody & {\n &#{$base}__pinned--top {\n #{$base}__th, #{$base}__td {\n box-shadow: 1px 3px 4px -1px rgb(0 0 0 / 10%);\n }\n }\n }\n }\n\n // Pinned bottom rows\n // Base: table ... tr.__pin--bottom\n // Pinned: table ... tr.__pin--bottom.__pinned--bottom\n\n &--bottom {\n // base styles\n #{$base}__th, #{$base}__td {\n position: sticky;\n inset-block-end: var(--pin-bottom, -1px);\n }\n\n #{$base}__pin--end, #{$base}__pin--start {\n --z: calc(var(--base-z) + 1);\n }\n\n // pinned styles\n &#{$base}__pinned--bottom {\n --base-z: 5;\n\n // for pinned bottom rows, we want the first to be overlaid on-top of later rows\n &:has(~ &) {\n #{$base}__pin {\n --base-z: 6;\n }\n }\n }\n\n // tbody pinned styles\n tbody & {\n &#{$base}__pinned--bottom {\n #{$base}__th, #{$base}__td {\n box-shadow: 1px -3px 4px -1px rgb(0 0 0 / 7%);\n }\n }\n }\n }\n }\n // end pinned styles\n\n thead tr:last-of-type {\n td,\n th {\n border-block-end: var(--border-tint-style);\n }\n }\n\n tfoot tr:first-of-type {\n td,\n th {\n border-block-start: none;\n }\n }\n\n tfoot tr:last-of-type {\n td,\n th {\n border-block-start: var(--border-style);\n border-block-end: var(--border-tint-style);\n }\n }\n\n tfoot tr.nano-tbl__pin--bottom {\n &:first-of-type {\n .nano-tbl__pinned--bottom & {\n td,\n th {\n border-block-start: var(--border-tint-style) !important;\n }\n }\n }\n\n &:last-of-type {\n .nano-tbl__pinned--bottom & {\n td,\n th {\n border-block-end: none !important;\n }\n }\n }\n }\n\n .unlimited-width {\n max-inline-size: none;\n }\n\n &__spinner {\n font-size: 1.5rem;\n transition: scale 0.25s;\n scale: 0;\n padding: 0.5rem;\n position: absolute;\n inset-block-end: 0;\n inset-inline-start: calc(50% - 0.75rem);\n z-index: 0;\n\n &--show {\n scale: 1;\n position: sticky;\n }\n }\n\n .nano-skeleton {\n line-height: var(--cell-line-height);\n }\n}\n","import {\n Component,\n Prop,\n ComponentInterface,\n Element,\n Host,\n Watch,\n State,\n readTask,\n Event,\n EventEmitter,\n Method,\n} from '@stencil/core';\nimport { h } from '../../utils/renderer';\nimport { cyrb53 } from '../../utils/math';\nimport { debounce } from '../../utils/throttle';\nimport { findScrollParent } from '../../utils/scroll-parent';\nimport { TableColHead } from './table.header';\nimport { TableRow, TableHeadFootRow } from './table.row';\nimport { TableCell } from './table.cell';\nimport { CSSNAMESPACE } from './table.constants';\nimport {\n generateStore,\n storeSearch,\n storeSetConfig,\n storeSetData,\n storeSort,\n storeFilter,\n TableStores,\n} from './table.store';\nimport { isInViewport } from './table.utils';\nimport { TablePinService } from './table.pin-service';\nimport type { TableTypes } from './table-interface';\nimport type { ResizeStateChangeEventDetail } from '../resize-observe/resize-observe-interface';\nimport type { NanoResizeObserveCustomEvent } from '../../components';\n\nconst measurePerf = false;\n\nfunction perMark(name: string, end: boolean = false) {\n if (!performance || !measurePerf) return;\n if (end) {\n performance?.mark('end' + name);\n performance?.measure(name, 'start' + name, 'end' + name);\n const entries = performance?.getEntriesByName(name);\n console.info(entries[entries.length ? entries.length - 1 : 0]);\n } else {\n performance?.mark('start' + name);\n }\n}\n\nlet id = 0;\n/**\n * A performant, accessible and semantic (uses real html `<table />`, `<tr />` etc) table and data-grid solution.\n *\n *- Built-in search\n *- Built-in column filter\n *- Built-in column sort\n *- Easily swap in API / async based search / filter & sort\n *- Pin headers, footers, rows, columns\n *- Add custom rendering at every level\n *- Add custom properties at every level\n *\n * @slot caption - The table's caption. You must either use this or the `caption` attribute.\n * @slot no-results - text to display when search or filtering yields no results\n */\n@Component({\n tag: 'nano-table',\n styleUrl: 'table.scss',\n})\nexport class Table implements ComponentInterface {\n constructor() {\n this.debounceSetLoading = debounce(this.debounceSetLoading.bind(this), 50);\n }\n // Public API\n\n // Props\n\n /** Function called whenever `col.cellTemplate` renders an unknown object.\n * The function should render a valid HTMLElement to the cell arg.\n * Example usage - render JSX from a 3rd party lib and append the result to the cell element. */\n @Prop() customRenderer: (\n node: any,\n cell: HTMLElement | DocumentFragment\n ) => void | Promise<string>;\n\n /** The type of table. Grid type will make cells navigable by keyboard */\n @Prop() type: 'grid' | 'table' = 'table';\n\n /** A descriptive title of the table.\n * You must use this or the `slot=\"caption\"` for accessibility */\n @Prop() caption: string;\n\n /** Show the caption on-screen */\n @Prop() showCaption: boolean = false;\n\n /** Will show a loading state when set to true.\n * By default, will be shown automatically if `rows` is a promise waiting to resolve / or falsy\n * *or* when performing custom filtering or sorting.\n * *Note* when set manually, will overwrite any internal loading state.\n * Set to 'undefined' to revert to default behaviour. */\n @Prop() loading: boolean = undefined;\n\n get _loading() {\n return this.loading !== undefined ? this.loading : this.internalLoading;\n }\n set _loading(l: boolean) {\n if (this.loading !== undefined) return;\n this.debounceSetLoading(l);\n }\n private debounceSetLoading(l: boolean) {\n this.internalLoading = l;\n }\n @State() internalLoading = true;\n\n /** When loading rows asynchronously, this will render this number of placeholder rows */\n @Prop() placeholderSize = 5;\n\n /** The data to place in the table */\n @Prop() rows:\n | TableTypes.NanoTable['rows']\n | Promise<TableTypes.NanoTable['rows']>;\n\n @Watch('rows')\n handleRowsChange() {\n if (!this.rows) {\n this._loading = true;\n return;\n }\n\n this._loading = true;\n Promise.resolve(this.rows).then(async (rows) => {\n await storeSetData(this.host, rows);\n\n // reset everything\n this.currentFilters = '';\n this.currentSort = '';\n await this.columnInit();\n\n if (!this.isReady)\n requestAnimationFrame(() => this.setInitialBlockDimension());\n this._loading = false;\n if (this.tablePinnedService) this.tablePinnedService.assessRows();\n });\n }\n\n /** The column config used to present the rows of data */\n @Prop({ mutable: true }) columns: TableTypes.NanoTable<any>['columns'] = [];\n\n @Watch('columns')\n async handleColsChange() {\n await storeSetConfig(this.host, this.columns);\n if (this.isReady) this.columnInit();\n }\n\n /** Used for custom thead row rendering */\n @Prop() headRender: TableTypes.HeadFootRenderer = { pinned: 'top' };\n\n /** Used for custom row rendering */\n @Prop() rowRender: TableTypes.RowRenderer;\n\n /** Used for custom tfoot row rendering */\n @Prop() footRender: TableTypes.HeadFootRenderer = { pinned: 'bottom' };\n\n /** Whether to show a `<tfoot>` component */\n @Prop() showFooter = false;\n\n /** To improve performance, data is split into blocks\n * which are shown / hidden and rendered as they become visible.\n * Use this to control the number of hits within a block -\n * A block should fill a scrolling viewport.\n * The less perBlock the better for performance */\n @Prop() perBlock = 50;\n\n /** The number of total blocks currently rendered in the table. @readonly */\n @Prop()\n get blocksLength() {\n return this.blocks.length;\n }\n\n /** Term to search for in the data */\n @Prop() searchTerm: string;\n\n /** A custom filtering function. Should return a promise.\n * If the promise resolves as `true` the column UI will be updated.\n * If the promise resolves as falsy, the sort will be performed by the component.\n * A good use-case would be performing the filter on a server / via fetch.\n * Then on success, updating the table's data via the `rows` property */\n @Prop() customFilterFn?: (\n filters: TableTypes.Filter[]\n ) => Promise<true | TableTypes.Falsy>;\n\n /** A custom sorting function. Should return a promise.\n * If the promise resolves as `true` the column UI will be updated.\n * If the promise resolves as falsey, the sort will be performed by the component.\n * A good use-case would be performing the sort on a server / via fetch.\n * Then on success, updating the table's data via the `rows` property */\n @Prop() customSortFn?: (\n property: TableTypes.Prop,\n order: TableTypes.Order\n ) => Promise<true | TableTypes.Falsy>;\n\n /**\n * The default sortable option for all columns.\n * `true` will enable column sorting unless you set `sortable: false` on a column\n * `false` will disable column sorting unless you set `sortable: true` on a column\n */\n @Prop() defaultSort = true;\n\n @Watch('searchTerm')\n handleSearchTermChange() {\n this.searchStart();\n }\n\n /** Use this to render the table with roughly the correct dimensions.\n * a use-case might be; fetch a small initial dataset to minimise load-time,\n * render the table with the correct dimensions, the table becomes interactive,\n * load the rest of the data\n */\n @Prop() virtualTotalItems: number = 0;\n\n @Watch('virtualTotalItems')\n virtualTotalItemsChangeHandler() {\n this.setBlocks();\n }\n\n /** @readonly - shows the currently applied filters */\n @Prop()\n get appliedFilters() {\n return this.filters;\n }\n\n /** Fired when the table has done it's first complete render */\n @Event() nanoTblReady: EventEmitter;\n\n /** Fired whenever a block is activated by scrolling into view / becoming visible\n * This could be leveraged for infinite scrolling / to fetch more data.\n */\n @Event() nanoTblBlockRendered: EventEmitter<{\n block: number;\n totalBlocks: number;\n }>;\n\n /** Fired before a column is sorted.\n * `event.preventDefault()` to stop sorting. */\n @Event() nanoTblBeforeSort: EventEmitter<{\n column: TableTypes.Prop;\n order: TableTypes.Order;\n }>;\n\n /** Fired after a column is sorted */\n @Event() nanoTblAfterSort: EventEmitter<{\n column: TableTypes.Prop;\n order: TableTypes.Order;\n }>;\n\n /** Fired before a column is filtered.\n * `event.preventDefault()` to stop filtering. */\n @Event() nanoTblBeforeFilter: EventEmitter<{ filters: TableTypes.Filter[] }>;\n\n /** Fired after a column is sorted */\n @Event() nanoTblAfterFilter: EventEmitter<{ filters: TableTypes.Filter[] }>;\n\n /** Fired before a general search.\n * `event.preventDefault()` to stop searching. */\n @Event() nanoTblBeforeSearch: EventEmitter<{ term: string }>;\n\n /** Fired after a general / cross column search */\n @Event() nanoTblAfterSearch: EventEmitter<{ term: string }>;\n\n /** Fired before a general search.\n * `event.preventDefault()` to stop searching. */\n @Event() nanoTblBeforeEdit: EventEmitter<{ term: string }>;\n\n /** Remove any column sorts currently applied\n * @returns a promise which resolves when complete */\n @Method()\n async resetSorting() {\n const col = (this.columns as TableTypes.NanoTable['columns']).find(\n (c) => !!c.order\n );\n if (!col) return;\n return this.sortStart(null, col.prop);\n }\n\n /** Apply a sort on a column\n * @returns a promise which resolves when complete */\n @Method()\n async addSort(column: TableTypes.Prop, order: TableTypes.Order) {\n const col = (this.columns as TableTypes.NanoTable['columns']).find(\n (c) => c.prop === column\n );\n if (!col) throw new Error('Cannot find column with ' + column);\n return this.sortStart(order, col.prop);\n }\n\n /** Remove any column filters currently applied\n * @returns a promise which resolves when complete */\n @Method()\n async resetFilters() {\n this.filters = [];\n return this.filterStart();\n }\n\n /** Apply a filter on a column\n * @param filters - the filters to apply\n * @param additive - if true, will add the filters to any currently applied\n * @returns a promise which resolves when complete\n */\n @Method()\n async addFilters(filters: TableTypes.Filter[], additive: boolean = true) {\n if (!additive) this.filters = [];\n return this.filterStart(filters, additive);\n }\n\n /** Remove filters from a column\n * @param columnNames - the filters to apply\n * @returns a promise which resolves when complete\n */\n @Method()\n async removeFilters(columnNames: TableTypes.Prop[]) {\n this.filters = this.filters.filter((f) => !columnNames.includes(f.prop));\n return this.filterStart();\n }\n\n /** Updates a row model at a given index\n * @param row - the row to update.\n * @param rowIndex - the row index to insert this row\n */\n @Method()\n async updateRow(row: TableTypes.RowData, rowIndex: number) {\n (this.rows as TableTypes.NanoTable['rows']).splice(rowIndex, 1, row);\n this.handleRowsChange();\n }\n\n // TODO.\n // change this.rows to be a Map instead?\n // this will allow 'padding' < inserting row data at a non-adjacent index\n\n // /**\n // * During pagination or infinite scroll\n // * you may not always want to load data in serial order.\n // * This method allows you to insert a block of results at a particular index.\n // * Use in-conjunction with `virtualTotalItems`\n // * @param blockIndex - where to insert\n // * @param rows - what to insert\n // */\n // @Method()\n // async insertBlock(blockIndex: number, rows: TableTypes.NanoTable['rows']) {\n // this.pauseAutoBlockAssign = true;\n // const cRows = (this.rows as TableTypes.NanoTable['rows']);\n\n // if (cRows.length < (blockIndex * this.perBlock)) {\n // (this.rows as TableTypes.NanoTable['rows'])\n // }\n\n // (this.rows as TableTypes.NanoTable['rows']).splice((blockIndex * this.perBlock)-1, 0, ...rows);\n\n // console.log(this.rows)\n // debugger;\n\n // await this.handleRowsChange(this.rows);\n // this.blocks[blockIndex] = {rows, __uuid: cyrb53(rows.map((b) => b.__uuid).join())};\n // this.blocks = this.blocks;\n // this.pauseAutoBlockAssign = true;\n\n // console.log(this.rows, this.blocks)\n // }\n\n // Private State\n\n @Element() host: HTMLNanoTableElement;\n private renderId = 'tbl-' + id++;\n private store: TableStores;\n private filters: TableTypes.Filter[] = [];\n private currentFilters = '[]';\n private currentSort = '';\n private tableEle: HTMLTableElement;\n private topAnchorEle: HTMLElement;\n private tableWrapperEle: HTMLElement;\n private activeWatcherIo: IntersectionObserver;\n private tablePinnedService: TablePinService;\n\n // Block view management\n\n /** `tr` elements split into units - defined by `perBlock`\n These are show / hidden for perf */\n @State() blocks: TableTypes.TBody[] = [];\n @State() activeBlocks: number[] = [0, 1];\n\n private measureHeight = 0;\n private blockElements: HTMLTableSectionElement[];\n private blockHeights: { blockIndex: number; height: number }[] = [];\n\n // uses the first 'tr' of an active block as our yard stick\n private set measureEle(el: HTMLTableSectionElement) {\n if (!el) return;\n const potentialHeight = el.getBoundingClientRect().height;\n this.measureHeight =\n Math.abs(this.measureHeight - potentialHeight) < 5\n ? this.measureHeight\n : potentialHeight;\n this.unitHeight =\n el.querySelector('tr')?.getBoundingClientRect().height || this.unitHeight;\n }\n\n private unitHeight = 0;\n\n private get scrollParent() {\n return this._scrollParent;\n }\n\n private set scrollParent(ele: HTMLElement) {\n if (ele === this._scrollParent) return;\n\n if (this._scrollParent) {\n (this._scrollParent === document.documentElement\n ? document\n : this._scrollParent\n ).removeEventListener('scroll', this.scrollHandler);\n }\n (ele === document.documentElement ? document : ele).addEventListener(\n 'scroll',\n this.scrollHandler\n );\n this._scrollParent = ele;\n }\n\n private _scrollParent: HTMLElement;\n\n // used to fire `nanoTblBlockRendered` on block render change\n private get primaryBlockIndex() {\n return this._primaryBlockIndex;\n }\n\n private set primaryBlockIndex(blockIndex) {\n if (this._primaryBlockIndex === blockIndex) return;\n\n this._primaryBlockIndex = blockIndex;\n\n // fire block change event\n this.nanoTblBlockRendered.emit({\n block: blockIndex,\n totalBlocks: this.blockElements.length,\n });\n }\n\n private _primaryBlockIndex;\n\n // Misc.\n\n private get isReady() {\n return this._isReady;\n }\n private set isReady(ready: boolean) {\n if (ready === this._isReady) return;\n this._isReady = ready;\n if (this.isReady) requestAnimationFrame(() => this.handleReady());\n }\n private _isReady = false;\n\n // Private Logic\n\n // Listeners\n\n private handleReady() {\n const hash = window.location.hash;\n if (hash.length > 1) {\n try {\n const idRow = document.querySelector(hash);\n if (idRow) idRow.scrollIntoView();\n // eslint-disable-next-line no-empty\n } catch (_e) {}\n }\n this.nanoTblReady.emit();\n }\n\n /**\n * Start a sort - can be cancelled by `preventDefault`\n * @param order - column order\n * @param column - column config object\n * @returns A promise\n */\n private sortStart = async (\n order: TableTypes.Order,\n column: TableTypes.Prop,\n element?: HTMLElement\n ) => {\n // did order change?\n if (this.currentSort === order + ':' + column) return;\n\n this._loading = true;\n const sortEvent = this.nanoTblBeforeSort.emit({ column: column, order });\n if (sortEvent.defaultPrevented) return;\n perMark('sort');\n this.currentSort = order + ':' + column;\n\n // doesn't make sense to leave user in place for a sort\n this.scrollToTop(element);\n\n if (this.customSortFn) {\n try {\n const res = await this.customSortFn(column, order);\n\n // if the response is 'true', the custom sort did it's thing\n // handover to finish and stop loading state.\n // if response is falsey, carry on to do a FE sort\n if (res === true) {\n this.sortComplete(order, column);\n this._loading = false;\n return;\n }\n } catch (e) {\n // if response errored, stop loading state\n // clear current sort cache\n console.warn('custom sort failed', e);\n this.currentSort = '';\n this._loading = false;\n return;\n }\n }\n\n try {\n await storeSort(this.host, column, order);\n this.sortComplete(order, column);\n } catch (e) {\n console.warn('sort failed', e);\n this.currentSort = '';\n } finally {\n if (this.blocks.length) this._loading = false;\n }\n };\n\n /**\n * Complete a sort. Reflects the order to ui.\n * @param order - column order\n * @param column - column config object\n */\n private sortComplete(order: TableTypes.Order, column: TableTypes.Prop) {\n this.columns = this.columns.map((c) => {\n if (c.prop === column) return { ...c, order };\n return { ...c, order: null };\n });\n this.nanoTblAfterSort.emit({ column: column, order });\n perMark('sort', true);\n }\n\n private async searchStart() {\n this._loading = true;\n const sortEvent = this.nanoTblBeforeSearch.emit({ term: this.searchTerm });\n if (sortEvent.defaultPrevented) return;\n perMark('search');\n\n // doesn't make sense to leave user in place for a search\n this.scrollToTop();\n\n try {\n await storeSearch(this.host, this.searchTerm);\n this.nanoTblAfterSearch.emit({ term: this.searchTerm });\n perMark('search', true);\n } catch (e) {\n console.warn('search failed', e);\n } finally {\n this._loading = false;\n }\n }\n\n private async filterStart(\n filters?: TableTypes.Filter[],\n additive: boolean = true\n ) {\n if (filters) {\n if (additive) {\n this.filters = [\n ...this.filters.filter(\n (f) => !filters.find((ff) => ff.prop === f.prop)\n ),\n ...filters,\n ];\n } else {\n this.filters = filters;\n }\n }\n\n if (this.currentFilters === JSON.stringify(this.filters)) return;\n\n this._loading = true;\n const sortEvent = this.nanoTblBeforeFilter.emit({ filters: this.filters });\n if (sortEvent.defaultPrevented) return;\n perMark('filter');\n this.currentFilters = JSON.stringify(this.filters);\n\n // doesn't make sense to leave user in place for a search\n this.scrollToTop();\n\n if (this.customFilterFn) {\n try {\n const res = await this.customFilterFn(this.filters);\n\n // if the response is 'true', the custom filter did it's thing\n // handover to finish and stop loading state.\n // if response is falsy, carry on to do a FE filter\n if (res === true) {\n await this.filterComplete();\n this._loading = false;\n return;\n }\n } catch (e) {\n // if response errored, stop loading state\n // clear current sort cache\n console.warn('custom filter failed', e);\n this.currentFilters = '';\n this._loading = false;\n return;\n }\n }\n\n try {\n await this.filterComplete();\n } catch (e) {\n console.warn('filter failed', e);\n } finally {\n this._loading = false;\n }\n }\n\n private async filterComplete() {\n this.columns = this.columns.map((c) => {\n const cFilter = this.filters.find((f) => f.prop === c.prop);\n // if we found a filter AND\n // it isn't true / false and has a length OR\n // it is true or false\n if (\n cFilter &&\n ((typeof cFilter.filter !== 'boolean' && cFilter.filter.length) ||\n typeof cFilter.filter === 'boolean')\n )\n c.filter = cFilter.filter;\n // if a filter value is not set OR\n // it isn't true / false and has no length\n else if (\n (c.filter !== null && c.filter !== undefined) ||\n (!!c.filter && typeof c.filter !== 'boolean' && !c.filter.length)\n )\n c.filter = undefined;\n\n return c;\n });\n await storeFilter(this.host, this.filters);\n this.nanoTblAfterFilter.emit({ filters: this.filters });\n perMark('filter', true);\n }\n\n /** Scrolls to the top immediately - used whilst sorting / filtering */\n private scrollToTop(element?: HTMLElement) {\n const scrollBehaviour = this.scrollParent.style?.scrollBehavior;\n const scrollX = this.scrollParent.scrollLeft;\n this.scrollParent.style.scrollBehavior = 'auto';\n\n if (this.topAnchorEle && !isInViewport(this.topAnchorEle, 0.1)) {\n this.host.scrollIntoView();\n }\n if (element && !isInViewport(element, 1))\n setTimeout(() => element.scrollIntoView({ block: 'start' }), 500);\n\n if (scrollX) this.scrollParent.scrollLeft = scrollX;\n\n if (scrollBehaviour)\n this.scrollParent.style.scrollBehavior = scrollBehaviour;\n\n this.scrollHandler();\n }\n\n private setMeasureElement(): Promise<void> {\n return new Promise((resolve) => {\n readTask(() => {\n this.measureEle = this.blockElements.find(\n (b) => !b?.classList?.contains(`${CSSNAMESPACE}__inactive`)\n );\n resolve();\n });\n });\n }\n\n /**\n * Makes sure we have dimensions on at least one, active tbody element.\n * We'll use this is a yard stick for inactive tbody elements in future.\n * These elements have no natural height (on account of all their rows being hidden)\n */\n private setInitialBlockDimension() {\n if (!this.blockElements?.length) return;\n perMark('blockDims');\n\n const testForDimensions = async () => {\n await this.setMeasureElement();\n if (this.unitHeight) return true;\n return false;\n };\n\n const dimensionsReady: Promise<void> = new Promise((resolve) => {\n testForDimensions().then(async (ready) => {\n if (ready) resolve();\n else {\n // it's likely this table is hidden in the dom.\n // we need to wait until it's visible\n const observer = new IntersectionObserver(\n async () => {\n if (await testForDimensions()) {\n resolve();\n observer.disconnect();\n }\n },\n { root: this.scrollParent }\n );\n observer.observe(this.tableEle);\n }\n });\n });\n\n // we're all finished.\n dimensionsReady.then(() => {\n perMark('blockDims', true);\n perMark('init', true);\n requestAnimationFrame(() => (this.isReady = true));\n });\n }\n\n /** Apply initial columns settings */\n private async columnInit() {\n this.filters = (this.columns as TableTypes.NanoTable['columns'])\n .filter((c) => c.filter !== undefined && c.filter !== null)\n .map((c) => {\n const { filter, prop } = c;\n return { prop, filter };\n });\n\n if (this.searchTerm) {\n await this.searchStart();\n }\n\n if (this.filters.length) {\n await this.filterStart();\n }\n // apply sort\n const col = (this.columns as TableTypes.NanoTable['columns']).find(\n (c) => !!c.order\n );\n if (col) {\n await this.sortStart(col.order, col.prop);\n }\n if (this.tablePinnedService) this.tablePinnedService.assessCols();\n }\n\n /** Split up all incoming rows into 'blocks' split amongst tbody elements.\n * These can then be hidden / shown to improve performance.\n */\n private setBlocks() {\n const dRows = this.store.data.state.rows;\n if (!dRows.length) {\n this.blocks = [];\n return;\n }\n\n perMark('setBlocks');\n // this.ignoreIO = true;\n let i = 1;\n const l =\n this.virtualTotalItems > dRows.length\n ? this.virtualTotalItems\n : dRows.length;\n let rows: TableTypes.RowData[] = [];\n const blocks: TableTypes.TBody[] = [];\n\n // old skool loop for perf\n for (i; i <= l; i++) {\n rows.push(this.store.data.state.rows[i - 1] || { __uuid: '' });\n\n if (i % this.perBlock === 0) {\n // assign a UUID for the whole block\n // for block diffing\n blocks.push({ rows, __uuid: cyrb53(rows.map((b) => b.__uuid).join()) });\n rows = [];\n }\n }\n\n // any leftover rows\n if (rows.length) {\n blocks.push({ rows, __uuid: cyrb53(rows.map((b) => b.__uuid).join()) });\n }\n\n this.blocks = blocks;\n perMark('setBlocks', true);\n }\n\n /**\n * Returns a block render height.\n * If it's currently active - let auto do it's thing\n * If we've rendered it before - return that\n * If all else fails, let's guess it\n * @param blockIndex\n * @returns a height string (incl px)\n */\n private getBlockHeight(blockIndex: number): number {\n if (this.blockHeights.length) {\n const cachedBlockHeight = this.blockHeights.find(\n (bh) => bh.blockIndex === blockIndex\n );\n if (cachedBlockHeight && cachedBlockHeight.height)\n return cachedBlockHeight.height;\n }\n const blockLength = this.blocks[blockIndex].rows.length;\n if (blockLength === this.perBlock && this.measureHeight) {\n return this.measureHeight;\n }\n return this.unitHeight ? this.unitHeight * blockLength : 100;\n }\n\n /** cache the height for all active blocks for later renders */\n private setBlockHeight() {\n this.activeBlocks.forEach((blockIndex) => {\n const el = this.blockElements[blockIndex];\n if (!el) return;\n\n readTask(() => {\n if (el.classList.contains(`${CSSNAMESPACE}__inactive`)) return;\n\n const height = el.getBoundingClientRect().height;\n // cache height to our block heights array\n // for subsequent renders\n const fBhIdx = this.blockHeights.findIndex(\n (bh) => bh.blockIndex === blockIndex\n );\n if (fBhIdx > -1) {\n this.blockHeights[fBhIdx] = { height, blockIndex };\n } else this.blockHeights.push({ height, blockIndex });\n });\n });\n }\n\n /**\n * On scroll, loop through all blocks' heights and cumulatively, add them together.\n * When we find that the scroll position is less than this cumulative block height -\n * stop loop - it's on the current active block.\n */\n private scrollHandler = () => {\n let scrollPos: number = 0;\n\n perMark('scrollHandler');\n // don't listen if this table isn't in the viewport\n if (!this.store?.general.state.isActive || !this.rows) return;\n if (this.primaryBlockIndex === undefined) this.primaryBlockIndex = 0;\n\n readTask(() => {\n scrollPos =\n typeof this.scrollParent.scrollTop !== 'undefined'\n ? this.scrollParent.scrollTop\n : window.scrollY;\n scrollPos += this.host.offsetTop;\n\n if (this.tablePinnedService) {\n this.tablePinnedService.onScroll({\n x:\n typeof this.scrollParent.scrollLeft !== 'undefined'\n ? this.scrollParent.scrollLeft\n : window.scrollX,\n y: scrollPos,\n });\n }\n\n let cumulativeHeight = this.host.offsetTop;\n let blockIndex = 0;\n const blockLen = this.blocks.length;\n\n while (blockIndex < blockLen && scrollPos >= cumulativeHeight) {\n cumulativeHeight += this.getBlockHeight(blockIndex);\n\n if (scrollPos < cumulativeHeight) {\n const potentialBlocks = [\n blockIndex,\n blockIndex + 1,\n // Math.max(0, blockIndex - 1),\n ];\n if (potentialBlocks.toString() !== this.activeBlocks.toString()) {\n this.activeBlocks = potentialBlocks;\n }\n this.primaryBlockIndex = blockIndex;\n }\n blockIndex++;\n }\n perMark('scrollHandler', true);\n });\n };\n\n /** Process slotted content */\n private processSlots() {\n // see if we have slot content\n if (!this.caption && !this.host.querySelector('[slot=\"caption\"]')) {\n console.error(\n 'For accessibility you must set a `caption` prop or use the `caption` slot'\n );\n }\n }\n\n private handleResizeChange = (\n e: NanoResizeObserveCustomEvent<ResizeStateChangeEventDetail>\n ) => {\n this.tableWrapperEle.className = '';\n\n let classes: string[] = [`${CSSNAMESPACE}__wrap`];\n if (e.target?.className)\n classes = [...e.target.className.split(' '), ...classes];\n\n this.tableWrapperEle.classList.add(...classes.filter((cl) => !!cl));\n };\n\n /** Adds an IO. Makes sure our scroll listener is only active when\n * the table is in viewport */\n private setupActiveWatcher() {\n if (!this.host || !this.scrollParent || !this.store) return;\n\n if (this.activeWatcherIo) {\n this.activeWatcherIo.disconnect();\n this.activeWatcherIo = undefined;\n }\n const io = (this.activeWatcherIo = new IntersectionObserver(\n ([e]) => {\n if (e.isIntersecting) this.store.general.state.isActive = true;\n else this.store.general.state.isActive = false;\n },\n { root: this.scrollParent, threshold: 0 }\n ));\n io.observe(this.host);\n }\n\n // Component lifecycle\n\n async componentWillLoad() {\n perMark('init');\n // setup stores\n this.store = await generateStore(\n this.host,\n this.columns,\n this.scrollParent,\n this.isReady\n );\n this.handleRowsChange();\n this.store.general.onChange('isActive', () => {\n this.scrollHandler();\n });\n this.store.data.onChange('rows', () => this.setBlocks());\n\n // setup dom and attach listeners\n this.processSlots();\n this.setBlocks();\n this.scrollParent = findScrollParent(this.host);\n this.setupActiveWatcher();\n }\n\n connectedCallback(): void {\n this.scrollParent = findScrollParent(this.host);\n this.setupActiveWatcher();\n }\n\n componentDidLoad(): void {\n this.setInitialBlockDimension();\n if (!this.tablePinnedService) {\n this.tablePinnedService = new TablePinService(\n this.tableEle,\n this.scrollParent\n );\n }\n }\n\n componentShouldUpdate(_newVal, _oldVal, stateName: keyof Table) {\n // stop double rendering - we use the store for rendering internally\n // the public facing props are kept in-sync with the store\n // but we don't want it to cause renders\n if (['rows', 'columns'].includes(stateName)) return false;\n\n if (measurePerf) console.info(stateName, _newVal, _oldVal);\n }\n\n componentWillRender(): void | Promise<void> {\n perMark('render');\n }\n\n componentDidRender(): void {\n this.setMeasureElement().then(() => this.setBlockHeight());\n perMark('render', true);\n }\n\n disconnectedCallback(): void {\n if (!this.activeWatcherIo) return;\n this.activeWatcherIo.disconnect();\n this.activeWatcherIo = undefined;\n\n (this.scrollParent === document.documentElement\n ? document\n : this.scrollParent\n ).removeEventListener('scroll', this.scrollHandler);\n }\n\n render() {\n this.blockElements = [];\n\n return (\n <Host class=\"nano-table\">\n <div\n class={`${CSSNAMESPACE}__top-anchor`}\n ref={(a) => (this.topAnchorEle = a)}\n >\n \n </div>\n\n <nano-resize-observe\n states=\"576w sm, 768w md\"\n class=\"sm md\"\n onNanoResizeStateChange={this.handleResizeChange}\n onNanoResize={() => {\n if (this.tablePinnedService) this.tablePinnedService.onResize();\n }}\n ></nano-resize-observe>\n\n <div\n class={`${CSSNAMESPACE}__wrap sm md`}\n ref={(div) => (this.tableWrapperEle = div)}\n aria-labelledby={'nano-table-caption-' + this.renderId}\n tabindex={this.type === 'grid' ? '0' : undefined}\n >\n <nano-progress-bar\n indeterminate\n class={{\n [`${CSSNAMESPACE}__progress-bar`]: true,\n [`${CSSNAMESPACE}__progress-bar--show`]: this._loading,\n }}\n />\n <table\n role={this.type === 'grid' ? 'grid' : undefined}\n aria-rowcount={this.store.data.state.rows.length}\n aria-colcount={this.store.config.state.columns.length}\n class={`${CSSNAMESPACE}`}\n ref={(tbl) => (this.tableEle = tbl)}\n id={'nano-table-' + this.renderId}\n >\n <caption\n class={{\n [`${CSSNAMESPACE}__caption`]: true,\n [`${CSSNAMESPACE}__caption--hide`]: !this.showCaption,\n }}\n id={'nano-table-caption-' + this.renderId}\n >\n <slot name=\"caption\">{this.caption}</slot>\n </caption>\n\n {/* Header */}\n <thead>\n <TableHeadFootRow rowRenderer={this.headRender}>\n {this.store.config.state.columns.map((colModel) => [\n <TableColHead\n column={colModel}\n headRenderer={this.headRender}\n onColumnSortClick={this.sortStart}\n defaults={{\n sortable: this.defaultSort,\n }}\n />,\n ])}\n </TableHeadFootRow>\n </thead>\n\n {this._loading && !this.blocks.length && (\n <tbody class={`${CSSNAMESPACE}__active ${CSSNAMESPACE}__loading`}>\n {[...Array(10).keys()].map((rowIndex) => (\n <tr>\n {this.store.config.state.columns.map(\n (_colModel, colIndex) => (\n <TableCell\n rowIndex={rowIndex}\n colIndex={colIndex}\n nestedContent={() => <nano-skeleton />}\n />\n )\n )}\n </tr>\n ))}\n </tbody>\n )}\n\n <tr hidden={!!this._loading || !!this.blocks.length}>\n <th\n class={`${CSSNAMESPACE}__th`}\n colSpan={this.store.config.state.columns.length}\n >\n <div class=\"nano-tbl__cell-content nano-tbl__cell-content--no-result\">\n <slot name=\"no-results\">No results found</slot>\n </div>\n </th>\n </tr>\n\n {/* Body */}\n {this.blocks.map((block, blockIndex) => (\n <tbody\n key={block.__uuid}\n id={`tbody-${this.renderId}-${blockIndex}`}\n ref={(tb) => {\n this.blockElements.push(tb);\n }}\n class={{\n [`${CSSNAMESPACE}__inactive`]:\n !this.activeBlocks.includes(blockIndex),\n [`${CSSNAMESPACE}__active`]:\n this.activeBlocks.includes(blockIndex),\n }}\n >\n {this.activeBlocks.includes(blockIndex) ? (\n block.rows.map((row, i) => {\n const rowIndex =\n blockIndex > 0 ? blockIndex * this.perBlock + i : i;\n return (\n <TableRow\n rowRenderer={this.rowRender}\n rowModel={row}\n rowIndex={rowIndex}\n >\n {this.store.config.state.columns.map(\n (_colModel, colIndex) => (\n <TableCell\n rowIndex={rowIndex}\n colIndex={colIndex}\n />\n )\n )}\n </TableRow>\n );\n })\n ) : (\n <tr class={`${CSSNAMESPACE}__tr--placeholder`}>\n <td\n colSpan={this.store.config.state.columns.length}\n style={{\n height: this.getBlockHeight(blockIndex) + 'px',\n }}\n />\n </tr>\n )}\n </tbody>\n ))}\n\n {/* Footer */}\n {this.showFooter && (\n <tfoot>\n <TableHeadFootRow rowRenderer={this.footRender}>\n {this.store.config.state.columns.map((colModel) => [\n <TableColHead\n column={colModel}\n headRenderer={this.footRender}\n onColumnSortClick={this.sortStart}\n defaults={{\n sortable: this.defaultSort,\n }}\n />,\n ])}\n </TableHeadFootRow>\n </tfoot>\n )}\n </table>\n\n {!!this.blocks.length && (\n <nano-spinner\n type=\"circle\"\n class={{\n [`${CSSNAMESPACE}__spinner`]: true,\n [`${CSSNAMESPACE}__spinner--show`]: this._loading,\n }}\n />\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"file":"nano-table.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
@@ -1,141 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Web Components for Nanopore digital Web Apps
|
3
|
-
*/
|
4
|
-
'use strict';
|
5
|
-
|
6
|
-
const nanoSlides_entry = require('./nano-slides-0a60315d.js');
|
7
|
-
require('./index-615cdb64.js');
|
8
|
-
require('./renderer-cd8b6098.js');
|
9
|
-
|
10
|
-
// -------------------------- PageDots -------------------------- //
|
11
|
-
function PageDots(parent) {
|
12
|
-
this.parent = parent;
|
13
|
-
this.parentElement = this.parent.element.shadowRoot || this.parent.element;
|
14
|
-
this._create();
|
15
|
-
}
|
16
|
-
PageDots.prototype = Object.create(nanoSlides_entry.Unipointer.prototype);
|
17
|
-
PageDots.prototype._create = function () {
|
18
|
-
// create holder element
|
19
|
-
this.holder = document.createElement('ol');
|
20
|
-
this.holder.className = 'flickity-page-dots';
|
21
|
-
this.holder.part.add('pagination');
|
22
|
-
// create dots, array of elements
|
23
|
-
this.dots = [];
|
24
|
-
// events
|
25
|
-
this.handleClick = this.onClick.bind(this);
|
26
|
-
this.on('pointerDown', this.parent.childUIPointerDown.bind(this.parent));
|
27
|
-
};
|
28
|
-
PageDots.prototype.activate = function () {
|
29
|
-
this.setDots();
|
30
|
-
this.holder.addEventListener('click', this.handleClick);
|
31
|
-
this.bindStartEvent(this.holder);
|
32
|
-
// add to DOM
|
33
|
-
this.parentElement.appendChild(this.holder);
|
34
|
-
};
|
35
|
-
PageDots.prototype.deactivate = function () {
|
36
|
-
this.holder.removeEventListener('click', this.handleClick);
|
37
|
-
this.unbindStartEvent(this.holder);
|
38
|
-
// remove from DOM
|
39
|
-
this.parentElement.removeChild(this.holder);
|
40
|
-
};
|
41
|
-
PageDots.prototype.setDots = function () {
|
42
|
-
// get difference between number of slides and number of dots
|
43
|
-
const delta = this.parent.slides.length - this.dots.length;
|
44
|
-
if (delta > 0) {
|
45
|
-
this.addDots(delta);
|
46
|
-
}
|
47
|
-
else if (delta < 0) {
|
48
|
-
this.removeDots(-delta);
|
49
|
-
}
|
50
|
-
};
|
51
|
-
PageDots.prototype.addDots = function (count) {
|
52
|
-
const fragment = document.createDocumentFragment();
|
53
|
-
const newDots = [];
|
54
|
-
const length = this.dots.length;
|
55
|
-
const max = length + count;
|
56
|
-
for (let i = length; i < max; i++) {
|
57
|
-
const dot = document.createElement('li');
|
58
|
-
dot.classList.add('dot');
|
59
|
-
dot.part.add('pagination-item');
|
60
|
-
dot.setAttribute('aria-label', 'Page dot ' + (i + 1));
|
61
|
-
fragment.appendChild(dot);
|
62
|
-
newDots.push(dot);
|
63
|
-
}
|
64
|
-
this.holder.appendChild(fragment);
|
65
|
-
this.dots = this.dots.concat(newDots);
|
66
|
-
};
|
67
|
-
PageDots.prototype.removeDots = function (count) {
|
68
|
-
// remove from this.dots collection
|
69
|
-
const removeDots = this.dots.splice(this.dots.length - count, count);
|
70
|
-
// remove from DOM
|
71
|
-
removeDots.forEach(function (dot) {
|
72
|
-
this.holder.removeChild(dot);
|
73
|
-
}, this);
|
74
|
-
};
|
75
|
-
PageDots.prototype.updateSelected = function () {
|
76
|
-
// remove selected class on previous
|
77
|
-
if (this.selectedDot) {
|
78
|
-
this.selectedDot.classList.remove('is-selected');
|
79
|
-
this.selectedDot.part.remove('pagination-item--active');
|
80
|
-
this.selectedDot.removeAttribute('aria-current');
|
81
|
-
}
|
82
|
-
// don't proceed if no dots
|
83
|
-
if (!this.dots.length) {
|
84
|
-
return;
|
85
|
-
}
|
86
|
-
this.selectedDot = this.dots[this.parent.selectedIndex];
|
87
|
-
this.selectedDot.classList.add('is-selected');
|
88
|
-
this.selectedDot.part.add('pagination-item--active');
|
89
|
-
this.selectedDot.setAttribute('aria-current', 'step');
|
90
|
-
};
|
91
|
-
PageDots.prototype.onTap = PageDots.prototype.onClick = function (event) {
|
92
|
-
// old method name, backwards-compatible
|
93
|
-
const target = event.target;
|
94
|
-
// only care about dot clicks
|
95
|
-
if (target.nodeName != 'LI') {
|
96
|
-
return;
|
97
|
-
}
|
98
|
-
this.parent.uiChange();
|
99
|
-
const index = this.dots.indexOf(target);
|
100
|
-
this.parent.select(index);
|
101
|
-
};
|
102
|
-
PageDots.prototype.destroy = function () {
|
103
|
-
this.deactivate();
|
104
|
-
this.allOff();
|
105
|
-
};
|
106
|
-
// @ts-ignore
|
107
|
-
nanoSlides_entry.Flickity.PageDots = PageDots;
|
108
|
-
// -------------------------- Flickity -------------------------- //
|
109
|
-
nanoSlides_entry.utils.extend(nanoSlides_entry.Flickity.defaults, {
|
110
|
-
pageDots: true,
|
111
|
-
});
|
112
|
-
nanoSlides_entry.Flickity.createMethods.push('_createPageDots');
|
113
|
-
const proto = nanoSlides_entry.Flickity.prototype;
|
114
|
-
proto._createPageDots = function () {
|
115
|
-
if (!this.options.pageDots) {
|
116
|
-
return;
|
117
|
-
}
|
118
|
-
this.pageDots = new PageDots(this);
|
119
|
-
// events
|
120
|
-
this.on('activate', this.activatePageDots);
|
121
|
-
this.on('select', this.updateSelectedPageDots);
|
122
|
-
this.on('cellChange', this.updatePageDots);
|
123
|
-
this.on('resize', this.updatePageDots);
|
124
|
-
this.on('deactivate', this.deactivatePageDots);
|
125
|
-
};
|
126
|
-
proto.activatePageDots = function () {
|
127
|
-
this.pageDots.activate();
|
128
|
-
};
|
129
|
-
proto.updateSelectedPageDots = function () {
|
130
|
-
this.pageDots.updateSelected();
|
131
|
-
};
|
132
|
-
proto.updatePageDots = function () {
|
133
|
-
this.pageDots.setDots();
|
134
|
-
};
|
135
|
-
proto.deactivatePageDots = function () {
|
136
|
-
this.pageDots.deactivate();
|
137
|
-
};
|
138
|
-
// @ts-ignore
|
139
|
-
nanoSlides_entry.Flickity.PageDots = PageDots;
|
140
|
-
|
141
|
-
//# sourceMappingURL=page-dots-ecdd64d1.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"file":"page-dots-ecdd64d1.js","mappings":"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","names":["Unipointer","Flickity","utils"],"sources":["src/components/slides/lib/js/page-dots.ts"],"sourcesContent":["import Flickity from './flickity';\nimport { Unipointer } from './utils/gestures';\nimport { utils } from './utils/utils';\n\n// -------------------------- PageDots -------------------------- //\n\nfunction PageDots(parent) {\n this.parent = parent;\n this.parentElement = this.parent.element.shadowRoot || this.parent.element;\n this._create();\n}\n\nPageDots.prototype = Object.create(Unipointer.prototype);\n\nPageDots.prototype._create = function () {\n // create holder element\n this.holder = document.createElement('ol');\n this.holder.className = 'flickity-page-dots';\n this.holder.part.add('pagination');\n\n // create dots, array of elements\n this.dots = [];\n // events\n this.handleClick = this.onClick.bind(this);\n this.on('pointerDown', this.parent.childUIPointerDown.bind(this.parent));\n};\n\nPageDots.prototype.activate = function () {\n this.setDots();\n this.holder.addEventListener('click', this.handleClick);\n this.bindStartEvent(this.holder);\n // add to DOM\n this.parentElement.appendChild(this.holder);\n};\n\nPageDots.prototype.deactivate = function () {\n this.holder.removeEventListener('click', this.handleClick);\n this.unbindStartEvent(this.holder);\n // remove from DOM\n this.parentElement.removeChild(this.holder);\n};\n\nPageDots.prototype.setDots = function () {\n // get difference between number of slides and number of dots\n const delta = this.parent.slides.length - this.dots.length;\n if (delta > 0) {\n this.addDots(delta);\n } else if (delta < 0) {\n this.removeDots(-delta);\n }\n};\n\nPageDots.prototype.addDots = function (count) {\n const fragment = document.createDocumentFragment();\n const newDots = [];\n const length = this.dots.length;\n const max = length + count;\n\n for (let i = length; i < max; i++) {\n const dot = document.createElement('li');\n dot.classList.add('dot');\n dot.part.add('pagination-item');\n dot.setAttribute('aria-label', 'Page dot ' + (i + 1));\n fragment.appendChild(dot);\n newDots.push(dot);\n }\n\n this.holder.appendChild(fragment);\n this.dots = this.dots.concat(newDots);\n};\n\nPageDots.prototype.removeDots = function (count) {\n // remove from this.dots collection\n const removeDots = this.dots.splice(this.dots.length - count, count);\n // remove from DOM\n removeDots.forEach(function (dot) {\n this.holder.removeChild(dot);\n }, this);\n};\n\nPageDots.prototype.updateSelected = function () {\n // remove selected class on previous\n if (this.selectedDot) {\n this.selectedDot.classList.remove('is-selected');\n this.selectedDot.part.remove('pagination-item--active');\n this.selectedDot.removeAttribute('aria-current');\n }\n // don't proceed if no dots\n if (!this.dots.length) {\n return;\n }\n this.selectedDot = this.dots[this.parent.selectedIndex];\n this.selectedDot.classList.add('is-selected');\n this.selectedDot.part.add('pagination-item--active');\n this.selectedDot.setAttribute('aria-current', 'step');\n};\n\nPageDots.prototype.onTap = PageDots.prototype.onClick = function (event) {\n // old method name, backwards-compatible\n const target = event.target;\n // only care about dot clicks\n if (target.nodeName != 'LI') {\n return;\n }\n\n this.parent.uiChange();\n const index = this.dots.indexOf(target);\n this.parent.select(index);\n};\n\nPageDots.prototype.destroy = function () {\n this.deactivate();\n this.allOff();\n};\n\n// @ts-ignore\nFlickity.PageDots = PageDots;\n\n// -------------------------- Flickity -------------------------- //\n\nutils.extend(Flickity.defaults, {\n pageDots: true,\n});\n\nFlickity.createMethods.push('_createPageDots');\n\nconst proto = Flickity.prototype;\n\nproto._createPageDots = function () {\n if (!this.options.pageDots) {\n return;\n }\n this.pageDots = new PageDots(this);\n // events\n this.on('activate', this.activatePageDots);\n this.on('select', this.updateSelectedPageDots);\n this.on('cellChange', this.updatePageDots);\n this.on('resize', this.updatePageDots);\n this.on('deactivate', this.deactivatePageDots);\n};\n\nproto.activatePageDots = function () {\n this.pageDots.activate();\n};\n\nproto.updateSelectedPageDots = function () {\n this.pageDots.updateSelected();\n};\n\nproto.updatePageDots = function () {\n this.pageDots.setDots();\n};\n\nproto.deactivatePageDots = function () {\n this.pageDots.deactivate();\n};\n\n// @ts-ignore\nFlickity.PageDots = PageDots;\n"],"version":3}
|