@nanoporetech-digital/components 3.7.0 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/dist/cjs/{algolia-data-9152d0ef.js → algolia-data-f495daf4.js} +2 -2
- package/dist/cjs/{algolia-data-9152d0ef.js.map → algolia-data-f495daf4.js.map} +1 -1
- package/dist/cjs/{algoliasearch.umd-7ee60729.js → algoliasearch.umd-689c1560.js} +3 -3
- package/dist/cjs/{algoliasearch.umd-7ee60729.js.map → algoliasearch.umd-689c1560.js.map} +1 -1
- package/dist/cjs/{component-store-d7c8c326.js → component-store-d2fdaecf.js} +25 -12
- package/dist/cjs/component-store-d2fdaecf.js.map +1 -0
- package/dist/cjs/{dom-d7c33f11.js → dom-7acf7afd.js} +15 -15
- package/dist/cjs/dom-7acf7afd.js.map +1 -0
- package/dist/cjs/{form-control-57c71246.js → form-control-c24fbff3.js} +4 -4
- package/dist/cjs/form-control-c24fbff3.js.map +1 -0
- package/dist/{esm/global-8047b4ff.js → cjs/global-3a6a7873.js} +5 -14
- package/dist/cjs/global-3a6a7873.js.map +1 -0
- package/dist/cjs/{index-bb2a6ab8.js → index-361e5114.js} +2 -2
- package/dist/cjs/{index-bb2a6ab8.js.map → index-361e5114.js.map} +1 -1
- package/dist/cjs/{index-41582c2a.js → index-5c437a69.js} +1436 -516
- package/dist/cjs/index-5c437a69.js.map +1 -0
- package/dist/cjs/{index-ece1cb9e.js → index-72ee0363.js} +2 -10
- package/dist/cjs/index-72ee0363.js.map +1 -0
- package/dist/cjs/index.cjs.js +18 -35
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +5 -4
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/{modal-e4defcc3.js → modal-5884a6de.js} +3 -2
- package/dist/cjs/modal-5884a6de.js.map +1 -0
- package/dist/cjs/nano-accordion.cjs.entry.js +4 -7
- package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-alert.cjs.entry.js +25 -19
- package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +5 -5
- package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-input.cjs.entry.js +4 -4
- package/dist/cjs/nano-algolia-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-pagination.cjs.entry.js +2 -2
- package/dist/cjs/nano-algolia-results.cjs.entry.js +2 -2
- package/dist/cjs/nano-algolia.cjs.entry.js +8 -8
- package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-aspect-ratio.cjs.entry.js +1 -1
- package/dist/cjs/nano-checkbox-group.cjs.entry.js +52 -9
- package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox.cjs.entry.js +8 -8
- package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-components.cjs.js +8 -4
- package/dist/cjs/nano-components.cjs.js.map +1 -1
- package/dist/cjs/nano-datalist_3.cjs.entry.js +46 -36
- package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-date-input.cjs.entry.js +6 -6
- package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-date-picker.cjs.entry.js +4 -4
- package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-demo.cjs.entry.js +13 -9
- package/dist/cjs/nano-demo.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-details.cjs.entry.js +4 -4
- package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dialog.cjs.entry.js +6 -6
- package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-drawer.cjs.entry.js +5 -5
- package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dropdown.cjs.entry.js +9 -4
- package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-field-validator.cjs.entry.js +4 -3
- package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-file-upload.cjs.entry.js +5 -5
- package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +54 -67
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +55 -42
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-search-results.cjs.entry.js +6 -4
- package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-grid_3.cjs.entry.js +8 -7
- package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-hero.cjs.entry.js +4 -2
- package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-icon-button.cjs.entry.js +2 -2
- package/dist/cjs/nano-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-icon.cjs.entry.js +7 -14
- package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-input.cjs.entry.js +19 -33
- package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js +3 -3
- package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-progress-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/nano-progress-bar_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-range.cjs.entry.js +4 -4
- package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-rating.cjs.entry.js +2 -2
- package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js +18 -10
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-slide.cjs.entry.js +1 -1
- package/dist/cjs/nano-slides.cjs.entry.js +11 -21
- package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-spinner.cjs.entry.js +3 -3
- package/dist/cjs/nano-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-split-pane.cjs.entry.js +15 -13
- package/dist/cjs/nano-split-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-sticker.cjs.entry.js +6 -4
- package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-content.cjs.entry.js +9 -3
- package/dist/cjs/nano-tab-content.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +18 -12
- package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab.cjs.entry.js +2 -2
- package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/{nano-table-56eb29c1.js → nano-table-860b9714.js} +115 -150
- package/dist/cjs/nano-table-860b9714.js.map +1 -0
- package/dist/cjs/nano-table.cjs.entry.js +3 -3
- package/dist/cjs/{popover-508bcedb.js → popover-088646b2.js} +61 -50
- package/dist/cjs/popover-088646b2.js.map +1 -0
- package/dist/cjs/{scroll-9bb5e060.js → scroll-a197d9c4.js} +2 -2
- package/dist/cjs/{scroll-9bb5e060.js.map → scroll-a197d9c4.js.map} +1 -1
- package/dist/cjs/{table.worker-b1c53001.js → table.worker-88f2cb15.js} +4 -4
- package/dist/cjs/table.worker-88f2cb15.js.map +1 -0
- package/dist/cjs/{theme-50275e1a.js → theme-9cbe28c5.js} +2 -7
- package/dist/cjs/theme-9cbe28c5.js.map +1 -0
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/accordion/accordion.js +1 -4
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/alert/alert.css +4 -3
- package/dist/collection/components/alert/alert.helpers.js +6 -24
- package/dist/collection/components/alert/alert.helpers.js.map +1 -1
- package/dist/collection/components/alert/alert.js +19 -13
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/algolia/algolia-filter.js +2 -2
- package/dist/collection/components/algolia/algolia-filter.js.map +1 -1
- package/dist/collection/components/algolia/algolia-input.js.map +1 -1
- package/dist/collection/components/algolia/algolia.css +2 -1
- package/dist/collection/components/algolia/algolia.js +3 -3
- package/dist/collection/components/algolia/algolia.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox-group.css +16 -10
- package/dist/collection/components/checkbox/checkbox-group.js +91 -7
- package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.css +14 -12
- package/dist/collection/components/checkbox/checkbox.js +5 -5
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/datalist/datalist.js +39 -31
- package/dist/collection/components/datalist/datalist.js.map +1 -1
- package/dist/collection/components/date-input/date-input.css +3 -3
- package/dist/collection/components/date-input/date-input.js +3 -3
- package/dist/collection/components/date-input/date-input.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.css +15 -11
- package/dist/collection/components/date-picker/date-picker.js +1 -1
- package/dist/collection/components/date-picker/date-picker.js.map +1 -1
- package/dist/collection/components/demo/demo.js +12 -8
- package/dist/collection/components/demo/demo.js.map +1 -1
- package/dist/collection/components/details/details.css +2 -1
- package/dist/collection/components/details/details.js +1 -1
- package/dist/collection/components/details/details.js.map +1 -1
- package/dist/collection/components/dialog/dialog.css +8 -5
- package/dist/collection/components/dialog/dialog.helpers.js +3 -11
- package/dist/collection/components/dialog/dialog.helpers.js.map +1 -1
- package/dist/collection/components/drawer/drawer.css +2 -2
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/dropdown/dropdown.js +6 -1
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/field-validator/field-validator.js +2 -1
- package/dist/collection/components/field-validator/field-validator.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload.css +35 -25
- package/dist/collection/components/file-upload/file-upload.js +4 -4
- package/dist/collection/components/file-upload/file-upload.js.map +1 -1
- package/dist/collection/components/form-control/form-control.js +2 -2
- package/dist/collection/components/form-control/form-control.js.map +1 -1
- package/dist/collection/components/global-nav/global-nav-user-profile.js +6 -7
- package/dist/collection/components/global-nav/global-nav-user-profile.js.map +1 -1
- package/dist/collection/components/global-nav/global-nav.js +62 -27
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/global-nav/style/global-nav.css +92 -48
- package/dist/collection/components/global-search-results/global-search-results.css +83 -44
- package/dist/collection/components/global-search-results/global-search-results.js +4 -2
- package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
- package/dist/collection/components/grid/grid-item.css +1 -1
- package/dist/collection/components/grid/grid.css +1 -0
- package/dist/collection/components/grid/grid.js +2 -0
- package/dist/collection/components/grid/grid.js.map +1 -1
- package/dist/collection/components/hero/hero.css +110 -18
- package/dist/collection/components/hero/hero.js +2 -0
- package/dist/collection/components/hero/hero.js.map +1 -1
- package/dist/collection/components/icon/icon.css +2 -2
- package/dist/collection/components/icon/icon.js +3 -10
- package/dist/collection/components/icon/icon.js.map +1 -1
- package/dist/collection/components/icon-button/icon-button.css +1 -1
- package/dist/collection/components/img/img.css +0 -1
- package/dist/collection/components/img/img.js +3 -4
- package/dist/collection/components/img/img.js.map +1 -1
- package/dist/collection/components/input/input.css +54 -32
- package/dist/collection/components/input/input.js +14 -28
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/menu/menu.js +4 -2
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/menu-drawer/menu-drawer.css +20 -13
- package/dist/collection/components/menu-drawer/menu-drawer.js +1 -1
- package/dist/collection/components/menu-drawer/menu-drawer.js.map +1 -1
- package/dist/collection/components/nav-item/nav-item.css +31 -16
- package/dist/collection/components/nav-item/nav-item.js +4 -4
- package/dist/collection/components/nav-item/nav-item.js.map +1 -1
- package/dist/collection/components/option/option.css +4 -2
- package/dist/collection/components/progress-bar/progress-bar.css +4 -4
- package/dist/collection/components/range/range.css +11 -9
- package/dist/collection/components/rating/rating.css +9 -5
- package/dist/collection/components/resize-observe/resize-observe.js +17 -6
- package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
- package/dist/collection/components/select/select.css +59 -34
- package/dist/collection/components/select/select.js +42 -55
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/skeleton/skeleton.css +5 -5
- package/dist/collection/components/slides/slides.css +4 -2
- package/dist/collection/components/slides/slides.js +9 -19
- package/dist/collection/components/slides/slides.js.map +1 -1
- package/dist/collection/components/spinner/spinner.css +13 -8
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/spinner/spinner.js.map +1 -1
- package/dist/collection/components/split-pane/split-pane.css +1 -1
- package/dist/collection/components/split-pane/split-pane.js +13 -11
- package/dist/collection/components/split-pane/split-pane.js.map +1 -1
- package/dist/collection/components/sticker/sticker.js +4 -2
- package/dist/collection/components/sticker/sticker.js.map +1 -1
- package/dist/collection/components/table/table.cell.js +8 -8
- package/dist/collection/components/table/table.cell.js.map +1 -1
- package/dist/collection/components/table/table.css +46 -25
- package/dist/collection/components/table/table.header.js +6 -19
- package/dist/collection/components/table/table.header.js.map +1 -1
- package/dist/collection/components/table/table.js +85 -93
- package/dist/collection/components/table/table.js.map +1 -1
- package/dist/collection/components/table/table.row.js +8 -8
- package/dist/collection/components/table/table.row.js.map +1 -1
- package/dist/collection/components/table/table.store.js +2 -1
- package/dist/collection/components/table/table.store.js.map +1 -1
- package/dist/collection/components/table/table.utils.js +8 -7
- package/dist/collection/components/table/table.utils.js.map +1 -1
- package/dist/collection/components/tabs/tab-content.css +7 -2
- package/dist/collection/components/tabs/tab-content.js +12 -1
- package/dist/collection/components/tabs/tab-content.js.map +1 -1
- package/dist/collection/components/tabs/tab-group.css +13 -10
- package/dist/collection/components/tabs/tab-group.js +17 -7
- package/dist/collection/components/tabs/tab-group.js.map +1 -1
- package/dist/collection/components/tabs/tab.css +21 -12
- package/dist/collection/components/tooltip/tooltip.css +25 -16
- package/dist/collection/global/script/global.js +2 -13
- package/dist/collection/global/script/global.js.map +1 -1
- package/dist/collection/index.js +17 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/dom.js +16 -15
- package/dist/collection/utils/dom.js.map +1 -1
- package/dist/collection/utils/fetch.js +15 -12
- package/dist/collection/utils/fetch.js.map +1 -1
- package/dist/collection/utils/gesture/index.js +1 -9
- package/dist/collection/utils/gesture/index.js.map +1 -1
- package/dist/collection/utils/modal.js +2 -1
- package/dist/collection/utils/modal.js.map +1 -1
- package/dist/collection/utils/store/get-set.js +1 -1
- package/dist/collection/utils/store/get-set.js.map +1 -1
- package/dist/collection/utils/testing/index.js +1 -0
- package/dist/collection/utils/testing/index.js.map +1 -1
- package/dist/collection/utils/theme.js +1 -6
- package/dist/collection/utils/theme.js.map +1 -1
- package/dist/components/algolia.js +3 -3
- package/dist/components/algolia.js.map +1 -1
- package/dist/components/algoliasearch.umd.js +2 -2
- package/dist/components/algoliasearch.umd.js.map +1 -1
- package/dist/components/component-store.js +23 -10
- package/dist/components/component-store.js.map +1 -1
- package/dist/components/datalist.js +39 -31
- package/dist/components/datalist.js.map +1 -1
- package/dist/components/date-picker.js +2 -2
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/dom.js +17 -15
- package/dist/components/dom.js.map +1 -1
- package/dist/components/dropdown.js +7 -2
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/form-control.js +2 -2
- package/dist/components/form-control.js.map +1 -1
- package/dist/components/global-nav-user-profile.js +4 -3
- package/dist/components/global-nav-user-profile.js.map +1 -1
- package/dist/components/grid-item.js +1 -1
- package/dist/components/grid-item.js.map +1 -1
- package/dist/components/grid.js +3 -1
- package/dist/components/grid.js.map +1 -1
- package/dist/components/icon-button.js +1 -1
- package/dist/components/icon-button.js.map +1 -1
- package/dist/components/icon.js +4 -11
- package/dist/components/icon.js.map +1 -1
- package/dist/components/img.js +4 -5
- package/dist/components/img.js.map +1 -1
- package/dist/components/index.d.ts +9 -0
- package/dist/components/index.js +23 -52
- package/dist/components/index.js.map +1 -1
- package/dist/components/index3.js +635 -1069
- package/dist/components/index3.js.map +1 -1
- package/dist/components/input.js +15 -29
- package/dist/components/input.js.map +1 -1
- package/dist/components/menu.js +4 -2
- package/dist/components/menu.js.map +1 -1
- package/dist/components/modal.js +2 -1
- package/dist/components/modal.js.map +1 -1
- package/dist/components/nano-accordion.js +1 -4
- package/dist/components/nano-accordion.js.map +1 -1
- package/dist/components/nano-alert.js +20 -14
- package/dist/components/nano-alert.js.map +1 -1
- package/dist/components/nano-algolia-filter.js +2 -2
- package/dist/components/nano-algolia-filter.js.map +1 -1
- package/dist/components/nano-algolia-input.js.map +1 -1
- package/dist/components/nano-checkbox-group.js +53 -9
- package/dist/components/nano-checkbox-group.js.map +1 -1
- package/dist/components/nano-checkbox.js +6 -6
- package/dist/components/nano-checkbox.js.map +1 -1
- package/dist/components/nano-date-input.js +4 -4
- package/dist/components/nano-date-input.js.map +1 -1
- package/dist/components/nano-demo.js +12 -8
- package/dist/components/nano-demo.js.map +1 -1
- package/dist/components/nano-details.js +2 -2
- package/dist/components/nano-details.js.map +1 -1
- package/dist/components/nano-dialog.js +1 -1
- package/dist/components/nano-dialog.js.map +1 -1
- package/dist/components/nano-drawer.js +1 -1
- package/dist/components/nano-drawer.js.map +1 -1
- package/dist/components/nano-field-validator.js +2 -1
- package/dist/components/nano-field-validator.js.map +1 -1
- package/dist/components/nano-file-upload.js +4 -4
- package/dist/components/nano-file-upload.js.map +1 -1
- package/dist/components/nano-global-nav.js +52 -38
- package/dist/components/nano-global-nav.js.map +1 -1
- package/dist/components/nano-global-search-results.js +5 -3
- package/dist/components/nano-global-search-results.js.map +1 -1
- package/dist/components/nano-hero.js +3 -1
- package/dist/components/nano-hero.js.map +1 -1
- package/dist/components/nano-menu-drawer.js +2 -2
- package/dist/components/nano-menu-drawer.js.map +1 -1
- package/dist/components/nano-range.js +2 -2
- package/dist/components/nano-range.js.map +1 -1
- package/dist/components/nano-rating.js +1 -1
- package/dist/components/nano-rating.js.map +1 -1
- package/dist/components/nano-slides.js +10 -20
- package/dist/components/nano-slides.js.map +1 -1
- package/dist/components/nano-split-pane.js +14 -12
- package/dist/components/nano-split-pane.js.map +1 -1
- package/dist/components/nano-tab-content.js +10 -3
- package/dist/components/nano-tab-content.js.map +1 -1
- package/dist/components/nano-tab-group.js +18 -8
- package/dist/components/nano-tab-group.js.map +1 -1
- package/dist/components/nano-tab.js +1 -1
- package/dist/components/nano-tab.js.map +1 -1
- package/dist/components/nav-item.js +5 -5
- package/dist/components/nav-item.js.map +1 -1
- package/dist/components/option.js +1 -1
- package/dist/components/option.js.map +1 -1
- package/dist/components/popover.js +60 -49
- package/dist/components/popover.js.map +1 -1
- package/dist/components/progress-bar.js +1 -1
- package/dist/components/progress-bar.js.map +1 -1
- package/dist/components/resize-observe.js +16 -8
- package/dist/components/resize-observe.js.map +1 -1
- package/dist/components/select.js +43 -56
- package/dist/components/select.js.map +1 -1
- package/dist/components/skeleton.js +1 -1
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/spinner.js +2 -2
- package/dist/components/spinner.js.map +1 -1
- package/dist/components/sticker.js +4 -2
- package/dist/components/sticker.js.map +1 -1
- package/dist/components/table.js +117 -152
- package/dist/components/table.js.map +1 -1
- package/dist/components/theme.js +1 -6
- package/dist/components/theme.js.map +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/components/tooltip.js.map +1 -1
- package/dist/esm/{algolia-data-b5cd0c58.js → algolia-data-213ed40c.js} +2 -2
- package/dist/esm/{algolia-data-b5cd0c58.js.map → algolia-data-213ed40c.js.map} +1 -1
- package/dist/esm/{algoliasearch.umd-86359963.js → algoliasearch.umd-4f7efa84.js} +3 -3
- package/dist/esm/{algoliasearch.umd-86359963.js.map → algoliasearch.umd-4f7efa84.js.map} +1 -1
- package/dist/esm/{component-store-ec512820.js → component-store-df8af0e6.js} +25 -12
- package/dist/esm/component-store-df8af0e6.js.map +1 -0
- package/dist/esm/{dom-d3ad49e2.js → dom-311c9e1e.js} +15 -15
- package/dist/esm/dom-311c9e1e.js.map +1 -0
- package/dist/esm/{form-control-84bac7a2.js → form-control-445de741.js} +4 -4
- package/dist/esm/form-control-445de741.js.map +1 -0
- package/dist/{cjs/global-989678ec.js → esm/global-f6e05656.js} +3 -16
- package/dist/esm/global-f6e05656.js.map +1 -0
- package/dist/esm/{index-3c280603.js → index-44c85cc8.js} +1436 -517
- package/dist/esm/index-44c85cc8.js.map +1 -0
- package/dist/esm/{index-c752dae1.js → index-d1b02919.js} +2 -2
- package/dist/esm/{index-c752dae1.js.map → index-d1b02919.js.map} +1 -1
- package/dist/{components/index4.js → esm/index-f626f476.js} +2 -10
- package/dist/esm/index-f626f476.js.map +1 -0
- package/dist/esm/index.js +18 -36
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +5 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/{modal-5c9ce466.js → modal-1f3223cd.js} +3 -2
- package/dist/esm/modal-1f3223cd.js.map +1 -0
- package/dist/esm/nano-accordion.entry.js +4 -7
- package/dist/esm/nano-accordion.entry.js.map +1 -1
- package/dist/esm/nano-alert.entry.js +25 -19
- package/dist/esm/nano-alert.entry.js.map +1 -1
- package/dist/esm/nano-algolia-filter.entry.js +5 -5
- package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
- package/dist/esm/nano-algolia-input.entry.js +4 -4
- package/dist/esm/nano-algolia-input.entry.js.map +1 -1
- package/dist/esm/nano-algolia-pagination.entry.js +2 -2
- package/dist/esm/nano-algolia-results.entry.js +2 -2
- package/dist/esm/nano-algolia.entry.js +8 -8
- package/dist/esm/nano-algolia.entry.js.map +1 -1
- package/dist/esm/nano-aspect-ratio.entry.js +1 -1
- package/dist/esm/nano-checkbox-group.entry.js +52 -9
- package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
- package/dist/esm/nano-checkbox.entry.js +8 -8
- package/dist/esm/nano-checkbox.entry.js.map +1 -1
- package/dist/esm/nano-components.js +5 -4
- package/dist/esm/nano-components.js.map +1 -1
- package/dist/esm/nano-datalist_3.entry.js +46 -36
- package/dist/esm/nano-datalist_3.entry.js.map +1 -1
- package/dist/esm/nano-date-input.entry.js +6 -6
- package/dist/esm/nano-date-input.entry.js.map +1 -1
- package/dist/esm/nano-date-picker.entry.js +4 -4
- package/dist/esm/nano-date-picker.entry.js.map +1 -1
- package/dist/esm/nano-demo.entry.js +13 -9
- package/dist/esm/nano-demo.entry.js.map +1 -1
- package/dist/esm/nano-details.entry.js +4 -4
- package/dist/esm/nano-details.entry.js.map +1 -1
- package/dist/esm/nano-dialog.entry.js +6 -6
- package/dist/esm/nano-dialog.entry.js.map +1 -1
- package/dist/esm/nano-drawer.entry.js +5 -5
- package/dist/esm/nano-drawer.entry.js.map +1 -1
- package/dist/esm/nano-dropdown.entry.js +9 -4
- package/dist/esm/nano-dropdown.entry.js.map +1 -1
- package/dist/esm/nano-field-validator.entry.js +4 -3
- package/dist/esm/nano-field-validator.entry.js.map +1 -1
- package/dist/esm/nano-file-upload.entry.js +5 -5
- package/dist/esm/nano-file-upload.entry.js.map +1 -1
- package/dist/esm/nano-global-nav-user-profile_3.entry.js +54 -67
- package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +55 -42
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/nano-global-search-results.entry.js +6 -4
- package/dist/esm/nano-global-search-results.entry.js.map +1 -1
- package/dist/esm/nano-grid_3.entry.js +8 -7
- package/dist/esm/nano-grid_3.entry.js.map +1 -1
- package/dist/esm/nano-hero.entry.js +4 -2
- package/dist/esm/nano-hero.entry.js.map +1 -1
- package/dist/esm/nano-icon-button.entry.js +2 -2
- package/dist/esm/nano-icon-button.entry.js.map +1 -1
- package/dist/esm/nano-icon.entry.js +7 -14
- package/dist/esm/nano-icon.entry.js.map +1 -1
- package/dist/esm/nano-input.entry.js +19 -33
- package/dist/esm/nano-input.entry.js.map +1 -1
- package/dist/esm/nano-menu-drawer.entry.js +3 -3
- package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
- package/dist/esm/nano-progress-bar_2.entry.js +4 -4
- package/dist/esm/nano-progress-bar_2.entry.js.map +1 -1
- package/dist/esm/nano-range.entry.js +4 -4
- package/dist/esm/nano-range.entry.js.map +1 -1
- package/dist/esm/nano-rating.entry.js +2 -2
- package/dist/esm/nano-rating.entry.js.map +1 -1
- package/dist/esm/nano-resize-observe_2.entry.js +18 -10
- package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/esm/nano-slide.entry.js +1 -1
- package/dist/esm/nano-slides.entry.js +11 -21
- package/dist/esm/nano-slides.entry.js.map +1 -1
- package/dist/esm/nano-spinner.entry.js +3 -3
- package/dist/esm/nano-spinner.entry.js.map +1 -1
- package/dist/esm/nano-split-pane.entry.js +15 -13
- package/dist/esm/nano-split-pane.entry.js.map +1 -1
- package/dist/esm/nano-sticker.entry.js +6 -4
- package/dist/esm/nano-sticker.entry.js.map +1 -1
- package/dist/esm/nano-tab-content.entry.js +9 -3
- package/dist/esm/nano-tab-content.entry.js.map +1 -1
- package/dist/esm/nano-tab-group.entry.js +18 -12
- package/dist/esm/nano-tab-group.entry.js.map +1 -1
- package/dist/esm/nano-tab.entry.js +2 -2
- package/dist/esm/nano-tab.entry.js.map +1 -1
- package/dist/esm/{nano-table-38f3c797.js → nano-table-331a0cad.js} +115 -150
- package/dist/esm/nano-table-331a0cad.js.map +1 -0
- package/dist/esm/nano-table.entry.js +3 -3
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/{popover-e748bb61.js → popover-02e6714d.js} +61 -50
- package/dist/esm/popover-02e6714d.js.map +1 -0
- package/dist/esm/{scroll-a1e59d8c.js → scroll-e5825d8d.js} +2 -2
- package/dist/esm/{scroll-a1e59d8c.js.map → scroll-e5825d8d.js.map} +1 -1
- package/dist/esm/{table.worker-e57fffd8.js → table.worker-682e581f.js} +4 -4
- package/dist/esm/table.worker-682e581f.js.map +1 -0
- package/dist/esm/{theme-931bd452.js → theme-82feb8cf.js} +2 -7
- package/dist/esm/theme-82feb8cf.js.map +1 -0
- package/dist/nano-components/index.esm.js +1 -1
- package/dist/nano-components/index.esm.js.map +1 -1
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/nano-components.esm.js.map +1 -1
- package/dist/nano-components/p-014872f7.entry.js +5 -0
- package/dist/nano-components/p-014872f7.entry.js.map +1 -0
- package/dist/nano-components/{p-bd05b3aa.entry.js → p-01c1f47a.entry.js} +2 -2
- package/dist/nano-components/{p-bd05b3aa.entry.js.map → p-01c1f47a.entry.js.map} +1 -1
- package/dist/nano-components/{p-69e5a37d.entry.js → p-08c3ffaf.entry.js} +2 -2
- package/dist/nano-components/p-08c3ffaf.entry.js.map +1 -0
- package/dist/nano-components/p-0c3a5c44.entry.js +5 -0
- package/dist/nano-components/p-0c3a5c44.entry.js.map +1 -0
- package/dist/nano-components/p-0eaa9a08.entry.js +5 -0
- package/dist/nano-components/p-0eaa9a08.entry.js.map +1 -0
- package/dist/nano-components/p-0f7c19fc.entry.js +5 -0
- package/dist/nano-components/p-0f7c19fc.entry.js.map +1 -0
- package/dist/nano-components/p-12beee2b.entry.js +5 -0
- package/dist/nano-components/p-12beee2b.entry.js.map +1 -0
- package/dist/nano-components/p-1416c06b.entry.js +5 -0
- package/dist/nano-components/p-1416c06b.entry.js.map +1 -0
- package/dist/nano-components/p-14b7f2c7.entry.js +5 -0
- package/dist/nano-components/p-14b7f2c7.entry.js.map +1 -0
- package/dist/nano-components/p-167b9165.js.map +1 -1
- package/dist/nano-components/p-1d0194af.entry.js +5 -0
- package/dist/nano-components/p-1d0194af.entry.js.map +1 -0
- package/dist/nano-components/{p-1e709f87.entry.js → p-2113cc09.entry.js} +2 -2
- package/dist/nano-components/p-2113cc09.entry.js.map +1 -0
- package/dist/nano-components/p-2155fc2c.js.map +1 -1
- package/dist/nano-components/p-257432ff.js +5 -0
- package/dist/nano-components/p-257432ff.js.map +1 -0
- package/dist/nano-components/p-28874fdc.entry.js +5 -0
- package/dist/nano-components/p-28874fdc.entry.js.map +1 -0
- package/dist/nano-components/{p-b40eedcb.entry.js → p-34df2f17.entry.js} +2 -2
- package/dist/nano-components/p-34df2f17.entry.js.map +1 -0
- package/dist/nano-components/{p-1a8e60c4.entry.js → p-362d6a04.entry.js} +2 -2
- package/dist/nano-components/p-362d6a04.entry.js.map +1 -0
- package/dist/nano-components/p-38268f3c.entry.js +5 -0
- package/dist/nano-components/p-38268f3c.entry.js.map +1 -0
- package/dist/nano-components/p-411bb8f1.js +5 -0
- package/dist/nano-components/p-411bb8f1.js.map +1 -0
- package/dist/nano-components/p-41f33a56.entry.js +5 -0
- package/dist/nano-components/p-41f33a56.entry.js.map +1 -0
- package/dist/nano-components/p-45abbbdd.js.map +1 -1
- package/dist/nano-components/{p-885b6950.js → p-45b7682a.js} +2 -2
- package/dist/nano-components/p-45b7682a.js.map +1 -0
- package/dist/nano-components/{p-a2d0d7b9.entry.js → p-4971a1f1.entry.js} +2 -2
- package/dist/nano-components/p-4971a1f1.entry.js.map +1 -0
- package/dist/nano-components/p-4b12ba50.entry.js +5 -0
- package/dist/nano-components/p-4b12ba50.entry.js.map +1 -0
- package/dist/nano-components/p-4db34382.entry.js +5 -0
- package/dist/nano-components/p-4db34382.entry.js.map +1 -0
- package/dist/nano-components/p-51bc8b59.js +5 -0
- package/dist/nano-components/p-51bc8b59.js.map +1 -0
- package/dist/nano-components/p-533db8ad.entry.js +5 -0
- package/dist/nano-components/p-533db8ad.entry.js.map +1 -0
- package/dist/nano-components/p-578cc92e.entry.js +5 -0
- package/dist/nano-components/p-578cc92e.entry.js.map +1 -0
- package/dist/nano-components/p-5ec7263c.js +5 -0
- package/dist/nano-components/p-5ec7263c.js.map +1 -0
- package/dist/nano-components/p-61e22cad.entry.js +5 -0
- package/dist/nano-components/p-61e22cad.entry.js.map +1 -0
- package/dist/nano-components/{p-447a5910.entry.js → p-63811de1.entry.js} +2 -2
- package/dist/nano-components/p-63811de1.entry.js.map +1 -0
- package/dist/nano-components/p-67195231.js +5 -0
- package/dist/nano-components/p-67195231.js.map +1 -0
- package/dist/nano-components/p-69a3e911.js.map +1 -1
- package/dist/nano-components/p-6a2c2a7c.entry.js +5 -0
- package/dist/nano-components/p-6a2c2a7c.entry.js.map +1 -0
- package/dist/nano-components/p-70e718fe.entry.js +5 -0
- package/dist/nano-components/p-70e718fe.entry.js.map +1 -0
- package/dist/nano-components/{p-dba8a88d.entry.js → p-71e545fe.entry.js} +2 -2
- package/dist/nano-components/p-71e545fe.entry.js.map +1 -0
- package/dist/nano-components/p-73fc0adc.entry.js +5 -0
- package/dist/nano-components/p-73fc0adc.entry.js.map +1 -0
- package/dist/nano-components/p-74a7fc4f.js.map +1 -1
- package/dist/nano-components/p-7c23e950.js +5 -0
- package/dist/nano-components/p-7c23e950.js.map +1 -0
- package/dist/nano-components/p-80e42c89.entry.js +5 -0
- package/dist/nano-components/p-80e42c89.entry.js.map +1 -0
- package/dist/nano-components/p-8a4f6a46.js +5 -0
- package/dist/nano-components/p-8a4f6a46.js.map +1 -0
- package/dist/nano-components/{p-651b3264.js → p-8e39d4ee.js} +2 -2
- package/dist/nano-components/p-8e39d4ee.js.map +1 -0
- package/dist/nano-components/p-91f23170.entry.js +5 -0
- package/dist/nano-components/p-91f23170.entry.js.map +1 -0
- package/dist/nano-components/p-9746b0a5.js.map +1 -1
- package/dist/nano-components/p-9c57b61b.entry.js +5 -0
- package/dist/nano-components/p-9c57b61b.entry.js.map +1 -0
- package/dist/nano-components/p-a8db13db.entry.js +5 -0
- package/dist/nano-components/p-a8db13db.entry.js.map +1 -0
- package/dist/nano-components/p-ae2ce39b.entry.js +5 -0
- package/dist/nano-components/p-ae2ce39b.entry.js.map +1 -0
- package/dist/nano-components/p-b11c89f6.entry.js +5 -0
- package/dist/nano-components/p-b11c89f6.entry.js.map +1 -0
- package/dist/nano-components/p-b8abd6a1.js +5 -0
- package/dist/nano-components/p-b8abd6a1.js.map +1 -0
- package/dist/nano-components/p-b933f3c8.js.map +1 -1
- package/dist/nano-components/{p-2828788c.js → p-bb07c3d0.js} +2 -2
- package/dist/nano-components/p-bb07c3d0.js.map +1 -0
- package/dist/nano-components/{p-3f25fc76.entry.js → p-bd1ff3a4.entry.js} +2 -2
- package/dist/nano-components/p-bd1ff3a4.entry.js.map +1 -0
- package/dist/nano-components/{p-151aad1e.entry.js → p-c12042c7.entry.js} +4 -4
- package/dist/nano-components/p-c12042c7.entry.js.map +1 -0
- package/dist/nano-components/p-cecb9af1.js.map +1 -1
- package/dist/nano-components/p-cf0ce679.entry.js +5 -0
- package/dist/nano-components/p-cf0ce679.entry.js.map +1 -0
- package/dist/nano-components/p-d49c5b2b.entry.js +5 -0
- package/dist/nano-components/p-d49c5b2b.entry.js.map +1 -0
- package/dist/nano-components/p-d4f6ec9f.js +5 -0
- package/dist/nano-components/p-d4f6ec9f.js.map +1 -0
- package/dist/nano-components/p-dc785fb7.entry.js +5 -0
- package/dist/nano-components/p-dc785fb7.entry.js.map +1 -0
- package/dist/nano-components/p-de72a35c.entry.js +5 -0
- package/dist/nano-components/p-de72a35c.entry.js.map +1 -0
- package/dist/nano-components/{p-c9a7c7ea.js → p-e04f2333.js} +2 -2
- package/dist/nano-components/p-e04f2333.js.map +1 -0
- package/dist/nano-components/p-e460753c.entry.js +5 -0
- package/dist/nano-components/{p-41addb3a.entry.js.map → p-e460753c.entry.js.map} +1 -1
- package/dist/nano-components/{p-a0b93616.js → p-ed6adde2.js} +3 -3
- package/dist/nano-components/p-ed6adde2.js.map +1 -0
- package/dist/nano-components/p-ee045579.js.map +1 -1
- package/dist/nano-components/p-f6d105c2.entry.js +5 -0
- package/dist/nano-components/p-f6d105c2.entry.js.map +1 -0
- package/dist/nano-components/p-f84612d4.js +6 -0
- package/dist/nano-components/p-f84612d4.js.map +1 -0
- package/dist/nano-components/p-f8f89998.js.map +1 -1
- package/dist/nano-components/p-f9d45db1.entry.js +5 -0
- package/dist/nano-components/p-f9d45db1.entry.js.map +1 -0
- package/dist/themes/london-calling.css +1 -1
- package/dist/themes/london-calling.css.map +1 -1
- package/dist/themes/nanopore.css +1 -1
- package/dist/themes/nanopore.css.map +1 -1
- package/dist/types/components/alert/alert-interface.d.ts +1 -1
- package/dist/types/components/algolia/algolia-input.d.ts +1 -1
- package/dist/types/components/algolia/algolia.d.ts +2 -2
- package/dist/types/components/checkbox/checkbox-group.d.ts +11 -0
- package/dist/types/components/date-picker/date-picker-interface.d.ts +2 -2
- package/dist/types/components/date-picker/duet-date-picker/date-adapter.d.ts +3 -3
- package/dist/types/components/date-picker/duet-date-picker/date-localization.d.ts +3 -3
- package/dist/types/components/date-picker/duet-date-picker/date-picker-day.d.ts +1 -1
- package/dist/types/components/date-picker/duet-date-picker/date-picker-month.d.ts +1 -1
- package/dist/types/components/field-validator/field-validator-interface.d.ts +4 -4
- package/dist/types/components/file-upload/file-upload.d.ts +1 -1
- package/dist/types/components/global-nav/global-nav.d.ts +12 -6
- package/dist/types/components/icon/icon.d.ts +3 -3
- package/dist/types/components/menu/menu.d.ts +1 -1
- package/dist/types/components/nav-item/nav-item.d.ts +1 -1
- package/dist/types/components/range/range-interface.d.ts +2 -2
- package/dist/types/components/resize-observe/resize-observe.d.ts +1 -0
- package/dist/types/components/slides/slides-interface.d.ts +2 -2
- package/dist/types/components/slides/slides.d.ts +0 -2
- package/dist/types/components/table/table.cell.d.ts +1 -1
- package/dist/types/components/table/table.d.ts +9 -14
- package/dist/types/components/table/table.header.d.ts +1 -1
- package/dist/types/components/table/table.row.d.ts +2 -2
- package/dist/types/components/table/table.utils.d.ts +2 -1
- package/dist/types/components/tabs/tab-content.d.ts +2 -0
- package/dist/types/components.d.ts +829 -9
- package/dist/types/index.d.ts +5 -0
- package/dist/types/stencil-public-runtime.d.ts +48 -3
- package/dist/types/utils/dom.d.ts +9 -0
- package/dist/types/utils/gesture/index.d.ts +1 -1
- package/dist/types/utils/popover.d.ts +1 -1
- package/dist/types/utils/store/component-store.d.ts +2 -2
- package/dist/types/utils/testing/index.d.ts +1 -1
- package/docs-json.json +89 -50
- package/docs-vscode.json +8 -4
- package/hydrate/index.d.ts +853 -0
- package/{dist/custom-elements → hydrate}/index.js +11477 -7967
- package/hydrate/package.json +6 -0
- package/loader/index.d.ts +9 -0
- package/package.json +23 -15
- package/dist/cjs/component-store-d7c8c326.js.map +0 -1
- package/dist/cjs/dom-d7c33f11.js.map +0 -1
- package/dist/cjs/form-control-57c71246.js.map +0 -1
- package/dist/cjs/global-989678ec.js.map +0 -1
- package/dist/cjs/index-41582c2a.js.map +0 -1
- package/dist/cjs/index-75b61776.js +0 -1077
- package/dist/cjs/index-75b61776.js.map +0 -1
- package/dist/cjs/index-ece1cb9e.js.map +0 -1
- package/dist/cjs/modal-e4defcc3.js.map +0 -1
- package/dist/cjs/nano-table-56eb29c1.js.map +0 -1
- package/dist/cjs/popover-508bcedb.js.map +0 -1
- package/dist/cjs/table.worker-b1c53001.js.map +0 -1
- package/dist/cjs/theme-50275e1a.js.map +0 -1
- package/dist/components/index4.js.map +0 -1
- package/dist/custom-elements/index.d.ts +0 -339
- package/dist/custom-elements/index.js.map +0 -1
- package/dist/esm/component-store-ec512820.js.map +0 -1
- package/dist/esm/dom-d3ad49e2.js.map +0 -1
- package/dist/esm/form-control-84bac7a2.js.map +0 -1
- package/dist/esm/global-8047b4ff.js.map +0 -1
- package/dist/esm/index-3bbaffe4.js +0 -1075
- package/dist/esm/index-3bbaffe4.js.map +0 -1
- package/dist/esm/index-3c280603.js.map +0 -1
- package/dist/esm/index-dc076ea6.js +0 -649
- package/dist/esm/index-dc076ea6.js.map +0 -1
- package/dist/esm/modal-5c9ce466.js.map +0 -1
- package/dist/esm/nano-table-38f3c797.js.map +0 -1
- package/dist/esm/popover-e748bb61.js.map +0 -1
- package/dist/esm/table.worker-e57fffd8.js.map +0 -1
- package/dist/esm/theme-931bd452.js.map +0 -1
- package/dist/nano-components/p-0b29b22c.js +0 -5
- package/dist/nano-components/p-0b29b22c.js.map +0 -1
- package/dist/nano-components/p-135fed16.entry.js +0 -5
- package/dist/nano-components/p-135fed16.entry.js.map +0 -1
- package/dist/nano-components/p-151aad1e.entry.js.map +0 -1
- package/dist/nano-components/p-15543295.entry.js +0 -5
- package/dist/nano-components/p-15543295.entry.js.map +0 -1
- package/dist/nano-components/p-1a8e60c4.entry.js.map +0 -1
- package/dist/nano-components/p-1e709f87.entry.js.map +0 -1
- package/dist/nano-components/p-1f347342.entry.js +0 -5
- package/dist/nano-components/p-1f347342.entry.js.map +0 -1
- package/dist/nano-components/p-1fe12320.js +0 -6
- package/dist/nano-components/p-1fe12320.js.map +0 -1
- package/dist/nano-components/p-23575705.entry.js +0 -5
- package/dist/nano-components/p-23575705.entry.js.map +0 -1
- package/dist/nano-components/p-2828788c.js.map +0 -1
- package/dist/nano-components/p-284dd9a2.entry.js +0 -5
- package/dist/nano-components/p-284dd9a2.entry.js.map +0 -1
- package/dist/nano-components/p-2a97ef51.entry.js +0 -5
- package/dist/nano-components/p-2a97ef51.entry.js.map +0 -1
- package/dist/nano-components/p-36842a50.entry.js +0 -5
- package/dist/nano-components/p-36842a50.entry.js.map +0 -1
- package/dist/nano-components/p-3a1026d1.entry.js +0 -5
- package/dist/nano-components/p-3a1026d1.entry.js.map +0 -1
- package/dist/nano-components/p-3f25fc76.entry.js.map +0 -1
- package/dist/nano-components/p-41addb3a.entry.js +0 -5
- package/dist/nano-components/p-447a5910.entry.js.map +0 -1
- package/dist/nano-components/p-4b69178e.entry.js +0 -5
- package/dist/nano-components/p-4b69178e.entry.js.map +0 -1
- package/dist/nano-components/p-559a6492.entry.js +0 -5
- package/dist/nano-components/p-559a6492.entry.js.map +0 -1
- package/dist/nano-components/p-5d149792.entry.js +0 -5
- package/dist/nano-components/p-5d149792.entry.js.map +0 -1
- package/dist/nano-components/p-63834d50.js +0 -5
- package/dist/nano-components/p-63834d50.js.map +0 -1
- package/dist/nano-components/p-651b3264.js.map +0 -1
- package/dist/nano-components/p-69e5a37d.entry.js.map +0 -1
- package/dist/nano-components/p-6ad194e4.entry.js +0 -5
- package/dist/nano-components/p-6ad194e4.entry.js.map +0 -1
- package/dist/nano-components/p-6cb77d5c.entry.js +0 -5
- package/dist/nano-components/p-6cb77d5c.entry.js.map +0 -1
- package/dist/nano-components/p-77cad8d1.js +0 -5
- package/dist/nano-components/p-77cad8d1.js.map +0 -1
- package/dist/nano-components/p-793588d1.js +0 -5
- package/dist/nano-components/p-793588d1.js.map +0 -1
- package/dist/nano-components/p-7b3638b7.js +0 -5
- package/dist/nano-components/p-7b3638b7.js.map +0 -1
- package/dist/nano-components/p-807c2e92.entry.js +0 -5
- package/dist/nano-components/p-807c2e92.entry.js.map +0 -1
- package/dist/nano-components/p-845ae77e.js +0 -5
- package/dist/nano-components/p-845ae77e.js.map +0 -1
- package/dist/nano-components/p-885b6950.js.map +0 -1
- package/dist/nano-components/p-8d747891.js +0 -5
- package/dist/nano-components/p-8d747891.js.map +0 -1
- package/dist/nano-components/p-9059c8c1.entry.js +0 -5
- package/dist/nano-components/p-9059c8c1.entry.js.map +0 -1
- package/dist/nano-components/p-92504f7f.entry.js +0 -5
- package/dist/nano-components/p-92504f7f.entry.js.map +0 -1
- package/dist/nano-components/p-99fbae74.entry.js +0 -5
- package/dist/nano-components/p-99fbae74.entry.js.map +0 -1
- package/dist/nano-components/p-9a4297e1.entry.js +0 -5
- package/dist/nano-components/p-9a4297e1.entry.js.map +0 -1
- package/dist/nano-components/p-9eeed8f5.entry.js +0 -5
- package/dist/nano-components/p-9eeed8f5.entry.js.map +0 -1
- package/dist/nano-components/p-a0b93616.js.map +0 -1
- package/dist/nano-components/p-a183e3c7.entry.js +0 -5
- package/dist/nano-components/p-a183e3c7.entry.js.map +0 -1
- package/dist/nano-components/p-a2d0d7b9.entry.js.map +0 -1
- package/dist/nano-components/p-b25e79b8.entry.js +0 -5
- package/dist/nano-components/p-b25e79b8.entry.js.map +0 -1
- package/dist/nano-components/p-b40eedcb.entry.js.map +0 -1
- package/dist/nano-components/p-b55ffa92.entry.js +0 -5
- package/dist/nano-components/p-b55ffa92.entry.js.map +0 -1
- package/dist/nano-components/p-b87539f0.entry.js +0 -5
- package/dist/nano-components/p-b87539f0.entry.js.map +0 -1
- package/dist/nano-components/p-ba9cd047.entry.js +0 -5
- package/dist/nano-components/p-ba9cd047.entry.js.map +0 -1
- package/dist/nano-components/p-c9a7c7ea.js.map +0 -1
- package/dist/nano-components/p-cc5e7acb.entry.js +0 -5
- package/dist/nano-components/p-cc5e7acb.entry.js.map +0 -1
- package/dist/nano-components/p-d26b97d1.js +0 -5
- package/dist/nano-components/p-d26b97d1.js.map +0 -1
- package/dist/nano-components/p-d5303933.entry.js +0 -5
- package/dist/nano-components/p-d5303933.entry.js.map +0 -1
- package/dist/nano-components/p-d565991d.entry.js +0 -5
- package/dist/nano-components/p-d565991d.entry.js.map +0 -1
- package/dist/nano-components/p-dba8a88d.entry.js.map +0 -1
- package/dist/nano-components/p-dc50b93c.entry.js +0 -5
- package/dist/nano-components/p-dc50b93c.entry.js.map +0 -1
- package/dist/nano-components/p-e3860f00.js +0 -5
- package/dist/nano-components/p-e3860f00.js.map +0 -1
- package/dist/nano-components/p-e5408bc8.entry.js +0 -5
- package/dist/nano-components/p-e5408bc8.entry.js.map +0 -1
- package/dist/nano-components/p-ea2de992.js +0 -19
- package/dist/nano-components/p-ea2de992.js.map +0 -1
- package/dist/nano-components/p-f7471cca.entry.js +0 -5
- package/dist/nano-components/p-f7471cca.entry.js.map +0 -1
- package/dist/nano-components/p-fe94eeff.entry.js +0 -5
- package/dist/nano-components/p-fe94eeff.entry.js.map +0 -1
@@ -42,10 +42,7 @@
|
|
42
42
|
padding: var(--nano-tooltip-padding, var(--nano-spacing-xsmall, 4px) var(--nano-spacing-small, 8px));
|
43
43
|
transform: translateY(10px) translateZ(0);
|
44
44
|
transform-origin: bottom;
|
45
|
-
transition
|
46
|
-
transition-delay: var(--hide-delay);
|
47
|
-
transition-duration: var(--hide-duration);
|
48
|
-
transition-timing-function: var(--hide-timing-function);
|
45
|
+
transition: opacity, transform var(--hide-duration) var(--hide-timing-function) var(--hide-delay);
|
49
46
|
white-space: normal;
|
50
47
|
}
|
51
48
|
.tooltip-arrow {
|
@@ -83,9 +80,12 @@
|
|
83
80
|
.tooltip-positioner[data-popper-placement^=bottom] .tooltip-arrow {
|
84
81
|
inset-block-end: 100%;
|
85
82
|
inset-inline-start: calc(50% - 5px);
|
86
|
-
border-
|
87
|
-
|
88
|
-
border-
|
83
|
+
-webkit-border-after: 5px solid;
|
84
|
+
border-block-end: 5px solid;
|
85
|
+
-webkit-border-start: 5px solid transparent;
|
86
|
+
border-inline-start: 5px solid transparent;
|
87
|
+
-webkit-border-end: 5px solid transparent;
|
88
|
+
border-inline-end: 5px solid transparent;
|
89
89
|
}
|
90
90
|
.tooltip-positioner[data-popper-placement=bottom-start] .tooltip-arrow {
|
91
91
|
inset-inline-start: 5px;
|
@@ -96,9 +96,12 @@
|
|
96
96
|
.tooltip-positioner[data-popper-placement^=top] .tooltip-arrow {
|
97
97
|
inset-block-start: 100%;
|
98
98
|
inset-inline-start: calc(50% - 5px);
|
99
|
-
border-
|
100
|
-
|
101
|
-
border-
|
99
|
+
-webkit-border-before: 5px solid;
|
100
|
+
border-block-start: 5px solid;
|
101
|
+
-webkit-border-start: 5px solid transparent;
|
102
|
+
border-inline-start: 5px solid transparent;
|
103
|
+
-webkit-border-end: 5px solid transparent;
|
104
|
+
border-inline-end: 5px solid transparent;
|
102
105
|
}
|
103
106
|
.tooltip-positioner[data-popper-placement=top-start] .tooltip-arrow {
|
104
107
|
inset-inline-start: 5px;
|
@@ -109,9 +112,12 @@
|
|
109
112
|
.tooltip-positioner[data-popper-placement^=left] .tooltip-arrow {
|
110
113
|
inset-block-start: calc(50% - 5px);
|
111
114
|
inset-inline-start: 100%;
|
112
|
-
border-
|
113
|
-
|
114
|
-
border-
|
115
|
+
-webkit-border-start: 5px solid;
|
116
|
+
border-inline-start: 5px solid;
|
117
|
+
-webkit-border-before: 5px solid transparent;
|
118
|
+
border-block-start: 5px solid transparent;
|
119
|
+
-webkit-border-after: 5px solid transparent;
|
120
|
+
border-block-end: 5px solid transparent;
|
115
121
|
}
|
116
122
|
.tooltip-positioner[data-popper-placement=left-start] .tooltip-arrow {
|
117
123
|
inset-block-start: 5px;
|
@@ -122,9 +128,12 @@
|
|
122
128
|
.tooltip-positioner[data-popper-placement^=right] .tooltip-arrow {
|
123
129
|
inset-block-start: calc(50% - 5px);
|
124
130
|
inset-inline-end: 100%;
|
125
|
-
border-
|
126
|
-
|
127
|
-
border-
|
131
|
+
-webkit-border-end: 5px solid;
|
132
|
+
border-inline-end: 5px solid;
|
133
|
+
-webkit-border-before: 5px solid transparent;
|
134
|
+
border-block-start: 5px solid transparent;
|
135
|
+
-webkit-border-after: 5px solid transparent;
|
136
|
+
border-block-end: 5px solid transparent;
|
128
137
|
}
|
129
138
|
.tooltip-positioner[data-popper-placement=right-start] .tooltip-arrow {
|
130
139
|
inset-block-start: 5px;
|
@@ -4,19 +4,8 @@
|
|
4
4
|
import { Build } from '@stencil/core';
|
5
5
|
// focus options
|
6
6
|
import 'focus-options-polyfill';
|
7
|
-
|
8
|
-
|
9
|
-
setTimeout((_) => {
|
10
|
-
import(
|
11
|
-
/* webpackChunkName: 'polyfills-scroll-behavior' */ 'scroll-behavior-polyfill').then((_) => {
|
12
|
-
document.documentElement.style.scrollBehavior = 'smooth';
|
13
|
-
});
|
14
|
-
}, 0);
|
15
|
-
}
|
16
|
-
else
|
17
|
-
document.documentElement.style.scrollBehavior = 'smooth';
|
18
|
-
// fire global 'ready' event when everything is hydrated
|
19
|
-
if (Build.isBrowser) {
|
7
|
+
if (Build.isBrowser && globalThis['document']) {
|
8
|
+
// fire global 'ready' event when everything is hydrated
|
20
9
|
const docEle = document.documentElement;
|
21
10
|
const docIsReady = () => {
|
22
11
|
if (!docEle.classList.contains('hydrated'))
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../../src/global/script/global.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,gBAAgB;
|
1
|
+
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../../src/global/script/global.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,gBAAgB;AAChB,OAAO,wBAAwB,CAAC;AAEhC,IAAI,KAAK,CAAC,SAAS,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE;EAC7C,wDAAwD;EAExD,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC;EACxC,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;MAAE,OAAO,KAAK,CAAC;IACzD,QAAQ,CAAC,eAAe,CAAC,aAAa,CACpC,IAAI,WAAW,CAAC,qBAAqB,CAAC,CACvC,CAAC;IACF,OAAO,IAAI,CAAC;EACd,CAAC,CAAC;EAEF,IAAI,CAAC,UAAU,EAAE,EAAE;IACjB,IAAI,SAAS,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE;MACzC,IAAI,UAAU,EAAE,EAAE;QAChB,SAAS,CAAC,UAAU,EAAE,CAAC;QACvB,SAAS,GAAG,IAAI,CAAC;OAClB;IACH,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE;MAC1C,SAAS,EAAE,KAAK;MAChB,OAAO,EAAE,KAAK;MACd,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;GACJ;CACF","sourcesContent":["import { Build } from '@stencil/core';\n\n// focus options\nimport 'focus-options-polyfill';\n\nif (Build.isBrowser && globalThis['document']) {\n // fire global 'ready' event when everything is hydrated\n\n const docEle = document.documentElement;\n const docIsReady = () => {\n if (!docEle.classList.contains('hydrated')) return false;\n document.documentElement.dispatchEvent(\n new CustomEvent('nanoComponentsReady')\n );\n return true;\n };\n\n if (!docIsReady()) {\n let mutationO = new MutationObserver((_) => {\n if (docIsReady()) {\n mutationO.disconnect();\n mutationO = null;\n }\n });\n\n mutationO.observe(document.documentElement, {\n childList: false,\n subtree: false,\n attributes: true,\n });\n }\n}\n"]}
|
package/dist/collection/index.js
CHANGED
@@ -1,8 +1,25 @@
|
|
1
1
|
/*!
|
2
2
|
* Web Components for Nanopore digital Web Apps
|
3
3
|
*/
|
4
|
+
// import { setPlatformHelpers } from '@stencil/core';
|
4
5
|
export * from './components/alert/alert.helpers';
|
5
6
|
export * from './components/dialog/dialog.helpers';
|
6
7
|
export { debounce as nanoDebounce, throttle as nanoThrottle, } from './utils/throttle';
|
7
8
|
export { getTabbableElements as nanoGetTabElements } from './utils/tabbable';
|
9
|
+
export const initialize = (helpers = {}) => {
|
10
|
+
if (typeof window === 'undefined') {
|
11
|
+
return;
|
12
|
+
}
|
13
|
+
const platformHelpers = {};
|
14
|
+
if (helpers._ael) {
|
15
|
+
platformHelpers.ael = helpers._ael;
|
16
|
+
}
|
17
|
+
if (helpers._rel) {
|
18
|
+
platformHelpers.rel = helpers._rel;
|
19
|
+
}
|
20
|
+
if (helpers._ce) {
|
21
|
+
platformHelpers.ce = helpers._ce;
|
22
|
+
}
|
23
|
+
// setPlatformHelpers(platformHelpers);
|
24
|
+
};
|
8
25
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EACL,QAAQ,IAAI,YAAY,EACxB,QAAQ,IAAI,YAAY,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC","sourcesContent":["
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EACL,QAAQ,IAAI,YAAY,EACxB,QAAQ,IAAI,YAAY,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,UAAiD,EAAE,EACnD,EAAE;EACF,IAAI,OAAQ,MAAc,KAAK,WAAW,EAAE;IAC1C,OAAO;GACR;EAED,MAAM,eAAe,GAAQ,EAAE,CAAC;EAChC,IAAI,OAAO,CAAC,IAAI,EAAE;IAChB,eAAe,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;GACpC;EACD,IAAI,OAAO,CAAC,IAAI,EAAE;IAChB,eAAe,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;GACpC;EACD,IAAI,OAAO,CAAC,GAAG,EAAE;IACf,eAAe,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;GAClC;EACD,uCAAuC;AACzC,CAAC,CAAC","sourcesContent":["// import { setPlatformHelpers } from '@stencil/core';\nexport * from './components/alert/alert.helpers';\nexport * from './components/dialog/dialog.helpers';\nexport {\n debounce as nanoDebounce,\n throttle as nanoThrottle,\n} from './utils/throttle';\nexport { getTabbableElements as nanoGetTabElements } from './utils/tabbable';\n\nexport const initialize = (\n helpers: { _ael?: any; _ce?: any; _rel?: any } = {}\n) => {\n if (typeof (window as any) === 'undefined') {\n return;\n }\n\n const platformHelpers: any = {};\n if (helpers._ael) {\n platformHelpers.ael = helpers._ael;\n }\n if (helpers._rel) {\n platformHelpers.rel = helpers._rel;\n }\n if (helpers._ce) {\n platformHelpers.ce = helpers._ce;\n }\n // setPlatformHelpers(platformHelpers);\n};\n"]}
|
@@ -1,6 +1,16 @@
|
|
1
1
|
/*!
|
2
2
|
* Web Components for Nanopore digital Web Apps
|
3
3
|
*/
|
4
|
+
import { Build } from '@stencil/core';
|
5
|
+
export var NODE_TYPE;
|
6
|
+
(function (NODE_TYPE) {
|
7
|
+
NODE_TYPE[NODE_TYPE["ElementNode"] = 1] = "ElementNode";
|
8
|
+
NODE_TYPE[NODE_TYPE["TextNode"] = 3] = "TextNode";
|
9
|
+
NODE_TYPE[NODE_TYPE["CommentNode"] = 8] = "CommentNode";
|
10
|
+
NODE_TYPE[NODE_TYPE["DocumentNode"] = 9] = "DocumentNode";
|
11
|
+
NODE_TYPE[NODE_TYPE["DocumentTypeNode"] = 10] = "DocumentTypeNode";
|
12
|
+
NODE_TYPE[NODE_TYPE["DocumentFragment"] = 11] = "DocumentFragment";
|
13
|
+
})(NODE_TYPE || (NODE_TYPE = {}));
|
4
14
|
export function closestElement(selector, base = this) {
|
5
15
|
function __closestFrom(el) {
|
6
16
|
if (!el || el === document || el === window)
|
@@ -15,29 +25,25 @@ export function closestElement(selector, base = this) {
|
|
15
25
|
return __closestFrom(base);
|
16
26
|
}
|
17
27
|
export function getDirectChildren(el, sel, elesOnly = true) {
|
18
|
-
if (elesOnly === true) {
|
28
|
+
if (!Build.isServer && elesOnly === true) {
|
19
29
|
try {
|
20
30
|
sel = ':scope > ' + sel.split(',').join(', :scope >');
|
21
31
|
return Array.from(el.querySelectorAll(sel));
|
22
32
|
}
|
23
33
|
catch (e) {
|
24
|
-
console.log('an error sad');
|
34
|
+
console.log(e, 'an error sad');
|
25
35
|
}
|
26
36
|
}
|
27
|
-
if (!Element.prototype.matches) {
|
28
|
-
Element.prototype.matches =
|
29
|
-
Element.prototype.msMatchesSelector ||
|
30
|
-
Element.prototype.webkitMatchesSelector;
|
31
|
-
}
|
32
37
|
const ret = [];
|
33
38
|
Array.from(el.childNodes).forEach((e) => {
|
34
39
|
if (!!e.matches && e.matches(sel))
|
35
40
|
ret.push(e);
|
36
41
|
else if (e.nodeName.toLowerCase() === 'slot') {
|
37
42
|
Array.from(e.assignedNodes()).forEach((slotEl) => {
|
38
|
-
if (slotEl
|
43
|
+
if (slotEl.nodeType === NODE_TYPE.ElementNode &&
|
44
|
+
slotEl.matches(sel))
|
39
45
|
ret.push(slotEl);
|
40
|
-
else if (slotEl
|
46
|
+
else if (slotEl.nodeType !== NODE_TYPE.ElementNode && !elesOnly)
|
41
47
|
ret.push(slotEl);
|
42
48
|
});
|
43
49
|
}
|
@@ -47,11 +53,6 @@ export function getDirectChildren(el, sel, elesOnly = true) {
|
|
47
53
|
return ret;
|
48
54
|
}
|
49
55
|
export const getSiblings = (el, sel) => {
|
50
|
-
if (!Element.prototype.matches) {
|
51
|
-
Element.prototype.matches =
|
52
|
-
Element.prototype.msMatchesSelector ||
|
53
|
-
Element.prototype.webkitMatchesSelector;
|
54
|
-
}
|
55
56
|
const siblings = [];
|
56
57
|
let firstChild = el.parentNode.firstElementChild;
|
57
58
|
do {
|
@@ -62,7 +63,7 @@ export const getSiblings = (el, sel) => {
|
|
62
63
|
};
|
63
64
|
export function getOffset(element, parent) {
|
64
65
|
if (!parent || !element)
|
65
|
-
return;
|
66
|
+
return { top: 0, left: 0 };
|
66
67
|
return {
|
67
68
|
top: element.getBoundingClientRect().top - parent.getBoundingClientRect().top,
|
68
69
|
left: element.getBoundingClientRect().left -
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/utils/dom.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAgB,IAAI;EACnE,SAAS,aAAa,CAAC,EAA+B;IACpD,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,MAAM;MAAE,OAAO,IAAI,CAAC;IACzD,IAAK,EAAsB,CAAC,YAAY;MACtC,EAAE,GAAI,EAAsB,CAAC,YAAY,CAAC;IAC5C,MAAM,KAAK,GAAI,EAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,KAAK;MACV,CAAC,CAAC,KAAK;MACP,CAAC,CAAC,aAAa,CAAG,EAAc,CAAC,WAAW,EAAiB,CAAC,IAAI,CAAC,CAAC;EACxE,CAAC;EACD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;
|
1
|
+
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/utils/dom.ts"],"names":[],"mappings":"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","sourcesContent":["import { Build } from '@stencil/core';\n\nexport enum NODE_TYPE {\n ElementNode = 1,\n TextNode = 3,\n CommentNode = 8,\n DocumentNode = 9,\n DocumentTypeNode = 10,\n DocumentFragment = 11,\n}\n\nexport function closestElement(selector: string, base: Element = this) {\n function __closestFrom(el: Element | Window | Document): Element {\n if (!el || el === document || el === window) return null;\n if ((el as HTMLSlotElement).assignedSlot)\n el = (el as HTMLSlotElement).assignedSlot;\n const found = (el as Element).closest(selector);\n return found\n ? found\n : __closestFrom(((el as Element).getRootNode() as ShadowRoot).host);\n }\n return __closestFrom(base);\n}\n\n/**\n * Get direct child elements / nodes from from any element (for when querySelectorAll(':scope > .selector') fails)\n * @param el - a root element to query from\n * @param sel - a query selector string\n * @param elesOnly - return only Elements (no Nodes)\n * @returns an array of direct child DOM nodes\n */\nexport function getDirectChildren<T = HTMLElement>(\n el: Element,\n sel: string,\n elesOnly?: true\n): Array<T>;\nexport function getDirectChildren<T = HTMLElement>(\n el: Element,\n sel: string,\n elesOnly?: 'slot'\n): Array<T>;\nexport function getDirectChildren<T = HTMLElement>(\n el: Element,\n sel: string,\n elesOnly?: false\n): Array<T | Node>;\nexport function getDirectChildren<T = HTMLElement>(\n el: Element,\n sel: string,\n elesOnly: boolean | 'slot' = true\n) {\n if (!Build.isServer && elesOnly === true) {\n try {\n sel = ':scope > ' + sel.split(',').join(', :scope >');\n return Array.from(el.querySelectorAll(sel)) as unknown as Array<T>;\n } catch (e) {\n console.log(e, 'an error sad');\n }\n }\n\n const ret: Array<Node | T> = [];\n Array.from(el.childNodes).forEach((e) => {\n if (!!(e as Element).matches && (e as Element).matches(sel)) ret.push(e);\n else if (e.nodeName.toLowerCase() === 'slot') {\n Array.from((e as HTMLSlotElement).assignedNodes()).forEach((slotEl) => {\n if (\n slotEl.nodeType === NODE_TYPE.ElementNode &&\n (slotEl as Element).matches(sel)\n )\n ret.push(slotEl);\n else if (slotEl.nodeType !== NODE_TYPE.ElementNode && !elesOnly)\n ret.push(slotEl as Node);\n });\n } else if (!elesOnly) ret.push(e as Node);\n });\n return ret;\n}\n\nexport const getSiblings = <T extends Element>(\n el: Element,\n sel?: string\n): Array<T> => {\n const siblings = [];\n let firstChild = el.parentNode.firstElementChild;\n do {\n if (!sel || (firstChild !== el && firstChild.matches(sel)))\n siblings.push(firstChild);\n } while ((firstChild = firstChild.nextElementSibling));\n return siblings;\n};\n\nexport function getOffset(element: HTMLElement, parent: HTMLElement) {\n if (!parent || !element) return { top: 0, left: 0 };\n return {\n top:\n element.getBoundingClientRect().top - parent.getBoundingClientRect().top,\n left:\n element.getBoundingClientRect().left -\n parent.getBoundingClientRect().left,\n };\n}\n"]}
|
@@ -1,24 +1,27 @@
|
|
1
1
|
/*!
|
2
2
|
* Web Components for Nanopore digital Web Apps
|
3
3
|
*/
|
4
|
-
|
4
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
5
|
+
var t = {};
|
6
|
+
for (var p in s)
|
7
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
8
|
+
t[p] = s[p];
|
9
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
10
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
11
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
12
|
+
t[p[i]] = s[p[i]];
|
13
|
+
}
|
14
|
+
return t;
|
15
|
+
};
|
16
|
+
export async function clientFetch(url, _a = {}) {
|
17
|
+
var { body } = _a, customConfig = __rest(_a, ["body"]);
|
5
18
|
const headers = {
|
6
19
|
Accept: 'application/json, text/plain, */*',
|
7
20
|
'Access-Control-Allow-Origin': '*',
|
8
21
|
'Content-Type': 'application/json',
|
9
22
|
Cache: 'no-cache',
|
10
23
|
};
|
11
|
-
const config = {
|
12
|
-
method: body ? 'POST' : 'GET',
|
13
|
-
credentials: 'include',
|
14
|
-
keepalive: true,
|
15
|
-
mode: 'cors',
|
16
|
-
...customConfig,
|
17
|
-
headers: {
|
18
|
-
...headers,
|
19
|
-
...customConfig.headers,
|
20
|
-
},
|
21
|
-
};
|
24
|
+
const config = Object.assign(Object.assign({ method: body ? 'POST' : 'GET', credentials: 'include', keepalive: true, mode: 'cors' }, customConfig), { headers: Object.assign(Object.assign({}, headers), customConfig.headers) });
|
22
25
|
if (body) {
|
23
26
|
config.body = JSON.stringify(body);
|
24
27
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAW,EACX,EAAE,IAAI,
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":";;;;;;;;;;;AAMA,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAW,EACX,KAA8C,EAAE;MAAhD,EAAE,IAAI,OAA0C,EAArC,YAAY,cAAvB,QAAyB,CAAF;EAEvB,MAAM,OAAO,GAA+B;IAC1C,MAAM,EAAE,mCAAmC;IAC3C,6BAA6B,EAAE,GAAG;IAClC,cAAc,EAAE,kBAAkB;IAClC,KAAK,EAAE,UAAU;GAClB,CAAC;EACF,MAAM,MAAM,iCACV,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAC7B,WAAW,EAAE,SAAS,EACtB,SAAS,EAAE,IAAI,EACf,IAAI,EAAE,MAAM,IACT,YAAY,KACf,OAAO,kCACF,OAAO,GACP,YAAY,CAAC,OAAO,IAE1B,CAAC;EACF,IAAI,IAAI,EAAE;IACR,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;GACpC;EAED,IAAI,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EACjC,IAAI,MAAM,CAAC,eAAe,EAAE;IAC1B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,EAAE,OAAO,GAAG,GAAG,EAAE,GAAG,YAAY,CAAC;IACvC,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;GACnC;EAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;EAC1C,YAAY,CAAC,EAAE,CAAC,CAAC;EAEjB,IAAI,QAAQ,CAAC,EAAE,EAAE;IACf,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;GAC9B;OAAM;IACL,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3C,OAAO,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;GAChC;AACH,CAAC","sourcesContent":["interface FetchInputConfig {\n body?: { [prop: string]: string };\n headers?: { [prop: string]: string };\n [prop: string]: any;\n}\n\nexport async function clientFetch(\n url: string,\n { body, ...customConfig }: FetchInputConfig = {}\n) {\n const headers: { [prop: string]: string } = {\n Accept: 'application/json, text/plain, */*',\n 'Access-Control-Allow-Origin': '*',\n 'Content-Type': 'application/json',\n Cache: 'no-cache',\n };\n const config: RequestInit = {\n method: body ? 'POST' : 'GET',\n credentials: 'include',\n keepalive: true,\n mode: 'cors',\n ...customConfig,\n headers: {\n ...headers,\n ...customConfig.headers,\n },\n };\n if (body) {\n config.body = JSON.stringify(body);\n }\n\n let id = setTimeout(() => {}, 0);\n if (window.AbortController) {\n const controller = new AbortController();\n const { timeout = 500 } = customConfig;\n id = setTimeout(() => controller.abort(), timeout);\n config.signal = controller.signal;\n }\n\n const response = await fetch(url, config);\n clearTimeout(id);\n\n if (response.ok) {\n return await response.json();\n } else {\n const errorMessage = await response.text();\n return new Error(errorMessage);\n }\n}\n"]}
|
@@ -9,15 +9,7 @@ export const createGesture = (config) => {
|
|
9
9
|
let hasStartedPan = false;
|
10
10
|
let hasFiredStart = true;
|
11
11
|
let isMoveQueued = false;
|
12
|
-
const finalConfig = {
|
13
|
-
disableScroll: false,
|
14
|
-
direction: 'x',
|
15
|
-
gesturePriority: 0,
|
16
|
-
passive: true,
|
17
|
-
maxAngle: 40,
|
18
|
-
threshold: 10,
|
19
|
-
...config,
|
20
|
-
};
|
12
|
+
const finalConfig = Object.assign({ disableScroll: false, direction: 'x', gesturePriority: 0, passive: true, maxAngle: 40, threshold: 10 }, config);
|
21
13
|
const canStart = finalConfig.canStart;
|
22
14
|
const onWillStart = finalConfig.onWillStart;
|
23
15
|
const onStart = finalConfig.onStart;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/gesture/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { GESTURE_CONTROLLER } from './gesture-controller';\nimport { createPointerEvents } from './pointer-events';\nimport { createPanRecognizer } from './recognizers';\n\nexport const createGesture = (config: GestureConfig): Gesture => {\n let hasCapturedPan = false;\n let hasStartedPan = false;\n let hasFiredStart = true;\n let isMoveQueued = false;\n\n const finalConfig = {\n disableScroll: false,\n direction: 'x',\n gesturePriority: 0,\n passive: true,\n maxAngle: 40,\n threshold: 10,\n\n ...config,\n };\n\n const canStart = finalConfig.canStart;\n const onWillStart = finalConfig.onWillStart;\n const onStart = finalConfig.onStart;\n const onEnd = finalConfig.onEnd;\n const notCaptured = finalConfig.notCaptured;\n const onMove = finalConfig.onMove;\n const threshold = finalConfig.threshold;\n const passive = finalConfig.passive;\n const blurOnStart = finalConfig.blurOnStart;\n\n const detail = {\n type: 'pan',\n startX: 0,\n startY: 0,\n startTime: 0,\n currentX: 0,\n currentY: 0,\n velocityX: 0,\n velocityY: 0,\n deltaX: 0,\n deltaY: 0,\n currentTime: 0,\n event: undefined as any,\n data: undefined,\n };\n\n const pan = createPanRecognizer(\n finalConfig.direction,\n finalConfig.threshold,\n finalConfig.maxAngle\n );\n const gesture = GESTURE_CONTROLLER.createGesture({\n name: config.gestureName,\n priority: config.gesturePriority,\n disableScroll: config.disableScroll,\n });\n\n const pointerDown = (ev: UIEvent): boolean => {\n const timeStamp = now(ev);\n if (hasStartedPan || !hasFiredStart) {\n return false;\n }\n\n updateDetail(ev, detail);\n detail.startX = detail.currentX;\n detail.startY = detail.currentY;\n detail.startTime = detail.currentTime = timeStamp;\n detail.velocityX = detail.velocityY = detail.deltaX = detail.deltaY = 0;\n detail.event = ev;\n\n // Check if gesture can start\n if (canStart && canStart(detail) === false) {\n return false;\n }\n // Release fallback\n gesture.release();\n\n // Start gesture\n if (!gesture.start()) {\n return false;\n }\n\n hasStartedPan = true;\n if (threshold === 0) {\n return tryToCapturePan();\n }\n pan.start(detail.startX, detail.startY);\n return true;\n };\n\n const pointerMove = (ev: UIEvent) => {\n // fast path, if gesture is currently captured\n // do minimum job to get user-land even dispatched\n if (hasCapturedPan) {\n if (!isMoveQueued && hasFiredStart) {\n isMoveQueued = true;\n calcGestureData(detail, ev);\n requestAnimationFrame(fireOnMove);\n }\n return;\n }\n\n // gesture is currently being detected\n calcGestureData(detail, ev);\n if (pan.detect(detail.currentX, detail.currentY)) {\n if (!pan.isGesture() || !tryToCapturePan()) {\n abortGesture();\n }\n }\n };\n\n const fireOnMove = () => {\n // Since fireOnMove is called inside a RAF, onEnd() might be called,\n // we must double check hasCapturedPan\n if (!hasCapturedPan) {\n return;\n }\n isMoveQueued = false;\n if (onMove) {\n onMove(detail);\n }\n };\n\n const tryToCapturePan = (): boolean => {\n if (gesture && !gesture.capture()) {\n return false;\n }\n hasCapturedPan = true;\n hasFiredStart = false;\n\n // reset start position since the real user-land event starts here\n // If the pan detector threshold is big, not resetting the start position\n // will cause a jump in the animation equal to the detector threshold.\n // the array of positions used to calculate the gesture velocity does not\n // need to be cleaned, more points in the positions array always results in a\n // more accurate value of the velocity.\n detail.startX = detail.currentX;\n detail.startY = detail.currentY;\n detail.startTime = detail.currentTime;\n\n if (onWillStart) {\n onWillStart(detail).then(fireOnStart);\n } else {\n fireOnStart();\n }\n return true;\n };\n\n const blurActiveElement = () => {\n /* tslint:disable-next-line */\n if (typeof document !== 'undefined') {\n const activeElement = document.activeElement as HTMLElement | null;\n if (activeElement !== null && activeElement.blur) {\n activeElement.blur();\n }\n }\n };\n\n const fireOnStart = () => {\n if (blurOnStart) {\n blurActiveElement();\n }\n if (onStart) {\n onStart(detail);\n }\n hasFiredStart = true;\n };\n\n const reset = () => {\n hasCapturedPan = false;\n hasStartedPan = false;\n isMoveQueued = false;\n hasFiredStart = true;\n\n gesture.release();\n };\n\n // END *************************\n\n const pointerUp = (ev: UIEvent | undefined) => {\n const tmpHasCaptured = hasCapturedPan;\n const tmpHasFiredStart = hasFiredStart;\n reset();\n\n if (!tmpHasFiredStart) {\n return;\n }\n calcGestureData(detail, ev);\n\n // Try to capture press\n if (tmpHasCaptured) {\n if (onEnd) {\n onEnd(detail);\n }\n return;\n }\n\n // Not captured any event\n if (notCaptured) {\n notCaptured(detail);\n }\n };\n\n const pointerEvents = createPointerEvents(\n finalConfig.el,\n pointerDown,\n pointerMove,\n pointerUp,\n {\n capture: false,\n passive,\n }\n );\n\n const abortGesture = () => {\n reset();\n pointerEvents.stop();\n if (notCaptured) {\n notCaptured(detail);\n }\n };\n\n return {\n enable(enable = true) {\n if (!enable) {\n if (hasCapturedPan) {\n pointerUp(undefined);\n }\n\n reset();\n }\n pointerEvents.enable(enable);\n },\n destroy() {\n gesture.destroy();\n pointerEvents.destroy();\n },\n };\n};\n\nconst calcGestureData = (detail: GestureDetail, ev: UIEvent | undefined) => {\n if (!ev) {\n return;\n }\n const prevX = detail.currentX;\n const prevY = detail.currentY;\n const prevT = detail.currentTime;\n\n updateDetail(ev, detail);\n\n const currentX = detail.currentX;\n const currentY = detail.currentY;\n const timestamp = (detail.currentTime = now(ev));\n const timeDelta = timestamp - prevT;\n if (timeDelta > 0 && timeDelta < 100) {\n const velocityX = (currentX - prevX) / timeDelta;\n const velocityY = (currentY - prevY) / timeDelta;\n detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;\n detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;\n }\n detail.deltaX = currentX - detail.startX;\n detail.deltaY = currentY - detail.startY;\n detail.event = ev;\n};\n\nconst updateDetail = (ev: any, detail: GestureDetail) => {\n // get X coordinates for either a mouse click\n // or a touch depending on the given event\n let x = 0;\n let y = 0;\n if (ev) {\n const changedTouches = ev.changedTouches;\n if (changedTouches && changedTouches.length > 0) {\n const touch = changedTouches[0];\n x = touch.clientX;\n y = touch.clientY;\n } else if (ev.pageX !== undefined) {\n x = ev.pageX;\n y = ev.pageY;\n }\n }\n detail.currentX = x;\n detail.currentY = y;\n};\n\nconst now = (ev: UIEvent) => {\n return ev.timeStamp || Date.now();\n};\n\nexport interface GestureDetail {\n type: string;\n startX: number;\n startY: number;\n startTime: number;\n currentX: number;\n currentY: number;\n velocityX: number;\n velocityY: number;\n deltaX: number;\n deltaY: number;\n currentTime: number;\n event: UIEvent;\n data?: any;\n}\n\nexport type GestureCallback = (detail: GestureDetail) => boolean | void;\n\nexport interface Gesture {\n enable(enable?: boolean): void;\n destroy(): void;\n}\n\nexport interface GestureConfig {\n el: Node;\n disableScroll?: boolean;\n\n direction?: 'x' | 'y';\n gestureName: string;\n gesturePriority?: number;\n passive?: boolean;\n maxAngle?: number;\n threshold?: number;\n blurOnStart?: boolean;\n\n canStart?: GestureCallback;\n onWillStart?: (_: GestureDetail) => Promise<void>;\n onStart?: GestureCallback;\n onMove?: GestureCallback;\n onEnd?: GestureCallback;\n notCaptured?: GestureCallback;\n}\n\nexport { GESTURE_CONTROLLER };\n"]}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/gesture/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { GESTURE_CONTROLLER } from './gesture-controller';\nimport { createPointerEvents } from './pointer-events';\nimport { createPanRecognizer } from './recognizers';\n\nexport const createGesture = (config: GestureConfig): Gesture => {\n let hasCapturedPan = false;\n let hasStartedPan = false;\n let hasFiredStart = true;\n let isMoveQueued = false;\n\n const finalConfig = {\n disableScroll: false,\n direction: 'x',\n gesturePriority: 0,\n passive: true,\n maxAngle: 40,\n threshold: 10,\n\n ...config,\n };\n\n const canStart = finalConfig.canStart;\n const onWillStart = finalConfig.onWillStart;\n const onStart = finalConfig.onStart;\n const onEnd = finalConfig.onEnd;\n const notCaptured = finalConfig.notCaptured;\n const onMove = finalConfig.onMove;\n const threshold = finalConfig.threshold;\n const passive = finalConfig.passive;\n const blurOnStart = finalConfig.blurOnStart;\n\n const detail = {\n type: 'pan',\n startX: 0,\n startY: 0,\n startTime: 0,\n currentX: 0,\n currentY: 0,\n velocityX: 0,\n velocityY: 0,\n deltaX: 0,\n deltaY: 0,\n currentTime: 0,\n event: undefined as any,\n data: undefined,\n };\n\n const pan = createPanRecognizer(\n finalConfig.direction,\n finalConfig.threshold,\n finalConfig.maxAngle\n );\n const gesture = GESTURE_CONTROLLER.createGesture({\n name: config.gestureName,\n priority: config.gesturePriority,\n disableScroll: config.disableScroll,\n });\n\n const pointerDown = (ev: UIEvent): boolean => {\n const timeStamp = now(ev);\n if (hasStartedPan || !hasFiredStart) {\n return false;\n }\n\n updateDetail(ev, detail);\n detail.startX = detail.currentX;\n detail.startY = detail.currentY;\n detail.startTime = detail.currentTime = timeStamp;\n detail.velocityX = detail.velocityY = detail.deltaX = detail.deltaY = 0;\n detail.event = ev;\n\n // Check if gesture can start\n if (canStart && canStart(detail) === false) {\n return false;\n }\n // Release fallback\n gesture.release();\n\n // Start gesture\n if (!gesture.start()) {\n return false;\n }\n\n hasStartedPan = true;\n if (threshold === 0) {\n return tryToCapturePan();\n }\n pan.start(detail.startX, detail.startY);\n return true;\n };\n\n const pointerMove = (ev: UIEvent) => {\n // fast path, if gesture is currently captured\n // do minimum job to get user-land even dispatched\n if (hasCapturedPan) {\n if (!isMoveQueued && hasFiredStart) {\n isMoveQueued = true;\n calcGestureData(detail, ev);\n requestAnimationFrame(fireOnMove);\n }\n return;\n }\n\n // gesture is currently being detected\n calcGestureData(detail, ev);\n if (pan.detect(detail.currentX, detail.currentY)) {\n if (!pan.isGesture() || !tryToCapturePan()) {\n abortGesture();\n }\n }\n };\n\n const fireOnMove = () => {\n // Since fireOnMove is called inside a RAF, onEnd() might be called,\n // we must double check hasCapturedPan\n if (!hasCapturedPan) {\n return;\n }\n isMoveQueued = false;\n if (onMove) {\n onMove(detail);\n }\n };\n\n const tryToCapturePan = (): boolean => {\n if (gesture && !gesture.capture()) {\n return false;\n }\n hasCapturedPan = true;\n hasFiredStart = false;\n\n // reset start position since the real user-land event starts here\n // If the pan detector threshold is big, not resetting the start position\n // will cause a jump in the animation equal to the detector threshold.\n // the array of positions used to calculate the gesture velocity does not\n // need to be cleaned, more points in the positions array always results in a\n // more accurate value of the velocity.\n detail.startX = detail.currentX;\n detail.startY = detail.currentY;\n detail.startTime = detail.currentTime;\n\n if (onWillStart) {\n onWillStart(detail).then(fireOnStart);\n } else {\n fireOnStart();\n }\n return true;\n };\n\n const blurActiveElement = () => {\n /* tslint:disable-next-line */\n if (typeof document !== 'undefined') {\n const activeElement = document.activeElement as HTMLElement | null;\n if (activeElement !== null && activeElement.blur) {\n activeElement.blur();\n }\n }\n };\n\n const fireOnStart = () => {\n if (blurOnStart) {\n blurActiveElement();\n }\n if (onStart) {\n onStart(detail);\n }\n hasFiredStart = true;\n };\n\n const reset = () => {\n hasCapturedPan = false;\n hasStartedPan = false;\n isMoveQueued = false;\n hasFiredStart = true;\n\n gesture.release();\n };\n\n // END *************************\n\n const pointerUp = (ev: UIEvent | undefined) => {\n const tmpHasCaptured = hasCapturedPan;\n const tmpHasFiredStart = hasFiredStart;\n reset();\n\n if (!tmpHasFiredStart) {\n return;\n }\n calcGestureData(detail, ev);\n\n // Try to capture press\n if (tmpHasCaptured) {\n if (onEnd) {\n onEnd(detail);\n }\n return;\n }\n\n // Not captured any event\n if (notCaptured) {\n notCaptured(detail);\n }\n };\n\n const pointerEvents = createPointerEvents(\n finalConfig.el,\n pointerDown,\n pointerMove,\n pointerUp,\n {\n capture: false,\n passive,\n }\n );\n\n const abortGesture = () => {\n reset();\n pointerEvents.stop();\n if (notCaptured) {\n notCaptured(detail);\n }\n };\n\n return {\n enable(enable = true) {\n if (!enable) {\n if (hasCapturedPan) {\n pointerUp(undefined);\n }\n\n reset();\n }\n pointerEvents.enable(enable);\n },\n destroy() {\n gesture.destroy();\n pointerEvents.destroy();\n },\n };\n};\n\nconst calcGestureData = (detail: GestureDetail, ev: UIEvent | undefined) => {\n if (!ev) {\n return;\n }\n const prevX = detail.currentX;\n const prevY = detail.currentY;\n const prevT = detail.currentTime;\n\n updateDetail(ev, detail);\n\n const currentX = detail.currentX;\n const currentY = detail.currentY;\n const timestamp = (detail.currentTime = now(ev));\n const timeDelta = timestamp - prevT;\n if (timeDelta > 0 && timeDelta < 100) {\n const velocityX = (currentX - prevX) / timeDelta;\n const velocityY = (currentY - prevY) / timeDelta;\n detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;\n detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;\n }\n detail.deltaX = currentX - detail.startX;\n detail.deltaY = currentY - detail.startY;\n detail.event = ev;\n};\n\nconst updateDetail = (ev: any, detail: GestureDetail) => {\n // get X coordinates for either a mouse click\n // or a touch depending on the given event\n let x = 0;\n let y = 0;\n if (ev) {\n const changedTouches = ev.changedTouches;\n if (changedTouches && changedTouches.length > 0) {\n const touch = changedTouches[0];\n x = touch.clientX;\n y = touch.clientY;\n } else if (ev.pageX !== undefined) {\n x = ev.pageX;\n y = ev.pageY;\n }\n }\n detail.currentX = x;\n detail.currentY = y;\n};\n\nconst now = (ev: UIEvent) => {\n return ev.timeStamp || Date.now();\n};\n\nexport interface GestureDetail {\n type: string;\n startX: number;\n startY: number;\n startTime: number;\n currentX: number;\n currentY: number;\n velocityX: number;\n velocityY: number;\n deltaX: number;\n deltaY: number;\n currentTime: number;\n event: UIEvent;\n data?: any;\n}\n\nexport type GestureCallback = (detail: GestureDetail) => boolean | void;\n\nexport interface Gesture {\n enable(enable?: boolean): void;\n destroy(): void;\n}\n\nexport interface GestureConfig {\n el: Node;\n disableScroll?: boolean;\n\n direction?: 'x' | 'y';\n gestureName: string;\n gesturePriority?: number;\n passive?: boolean;\n maxAngle?: number;\n threshold?: number;\n blurOnStart?: boolean;\n\n canStart?: GestureCallback;\n onWillStart?: (_: GestureDetail) => Promise<void>;\n onStart?: GestureCallback;\n onMove?: GestureCallback;\n onEnd?: GestureCallback;\n notCaptured?: GestureCallback;\n}\n\nexport { GESTURE_CONTROLLER };\n"]}
|
@@ -25,12 +25,13 @@ export default class Modal {
|
|
25
25
|
return activeModals[activeModals.length - 1] === this.element;
|
26
26
|
}
|
27
27
|
handleFocusIn(event) {
|
28
|
+
var _a;
|
28
29
|
const path = event.composedPath();
|
29
30
|
// Trap focus so it doesn't go out of the modal's boundary
|
30
31
|
if (this.isActive() && !path.includes(this.element)) {
|
31
32
|
const tabbableElements = getTabbableElements(this.element);
|
32
33
|
const index = this.tabDirection === 'backward' ? tabbableElements.length - 1 : 0;
|
33
|
-
tabbableElements[index]
|
34
|
+
(_a = tabbableElements[index]) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });
|
34
35
|
}
|
35
36
|
}
|
36
37
|
handleKeyDown(event) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/utils/modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,IAAI,YAAY,GAAkB,EAAE,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,KAAK;EAIxB,YAAY,OAAoB;IAFhC,iBAAY,GAA2B,SAAS,CAAC;IAG/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACrD,CAAC;EAED,QAAQ;IACN,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;EAC3D,CAAC;EAED,UAAU;IACR,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;IACtE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;EAC9D,CAAC;EAED,QAAQ;IACN,yDAAyD;IACzD,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC;EAChE,CAAC;EAED,aAAa,CAAC,KAAY
|
1
|
+
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/utils/modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,IAAI,YAAY,GAAkB,EAAE,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,KAAK;EAIxB,YAAY,OAAoB;IAFhC,iBAAY,GAA2B,SAAS,CAAC;IAG/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACrD,CAAC;EAED,QAAQ;IACN,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;EAC3D,CAAC;EAED,UAAU;IACR,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;IACtE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;EAC9D,CAAC;EAED,QAAQ;IACN,yDAAyD;IACzD,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC;EAChE,CAAC;EAED,aAAa,CAAC,KAAY;;IACxB,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IAElC,0DAA0D;IAC1D,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;MACnD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;MAC3D,MAAM,KAAK,GACT,IAAI,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACrE,MAAA,gBAAgB,CAAC,KAAK,CAAC,0CAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;KACzD;EACH,CAAC;EAED,aAAa,CAAC,KAAoB;IAChC,wCAAwC;IACxC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;MACzC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;MAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC;KACnD;EACH,CAAC;CACF","sourcesContent":["import { getTabbableElements } from './tabbable';\n\nlet activeModals: HTMLElement[] = [];\n\nexport default class Modal {\n element: HTMLElement;\n tabDirection: 'forward' | 'backward' = 'forward';\n\n constructor(element: HTMLElement) {\n this.element = element;\n this.handleFocusIn = this.handleFocusIn.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n }\n\n activate() {\n activeModals.push(this.element);\n document.addEventListener('focusin', this.handleFocusIn);\n document.addEventListener('keydown', this.handleKeyDown);\n }\n\n deactivate() {\n activeModals = activeModals.filter((modal) => modal !== this.element);\n document.removeEventListener('focusin', this.handleFocusIn);\n document.removeEventListener('keydown', this.handleKeyDown);\n }\n\n isActive() {\n // The \"active\" modal is always the most recent one shown\n return activeModals[activeModals.length - 1] === this.element;\n }\n\n handleFocusIn(event: Event) {\n const path = event.composedPath();\n\n // Trap focus so it doesn't go out of the modal's boundary\n if (this.isActive() && !path.includes(this.element)) {\n const tabbableElements = getTabbableElements(this.element);\n const index =\n this.tabDirection === 'backward' ? tabbableElements.length - 1 : 0;\n tabbableElements[index]?.focus({ preventScroll: true });\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n // Quick hack to determine tab direction\n if (event.key === 'Tab' && event.shiftKey) {\n this.tabDirection = 'backward';\n setTimeout(() => (this.tabDirection = 'forward'));\n }\n }\n}\n"]}
|
@@ -56,7 +56,7 @@ export const urlSet = (id, data, to = 'hash', win = window, method = 'replace')
|
|
56
56
|
const object = {};
|
57
57
|
object[id] = data;
|
58
58
|
let currentData = urlRead(to, win);
|
59
|
-
currentData = {
|
59
|
+
currentData = Object.assign(Object.assign({}, currentData), object);
|
60
60
|
urlSave(currentData, to, win, method);
|
61
61
|
};
|
62
62
|
export const urlGet = (key, to = 'hash', win = window) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"get-set.js","sourceRoot":"","sources":["../../../src/utils/store/get-set.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"get-set.js","sourceRoot":"","sources":["../../../src/utils/store/get-set.ts"],"names":[],"mappings":"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","sourcesContent":["import * as qs from 'qs';\n\nconst STORAGE_NAME_SPACE = 'nano-component-store:';\n\nconst urlRead = (\n from: 'hash' | 'query' = 'hash',\n win: Window = window\n): void | object => {\n if (!win || !win.location) return {};\n if (from === 'hash' && win.location.hash)\n return qs.parse(win.location.hash.replace(/^\\#/, ''), {\n strictNullHandling: true,\n });\n else if (from === 'query' && win.location.search)\n return qs.parse(win.location.search, { ignoreQueryPrefix: true });\n return {};\n};\n\nconst urlSave = (\n object: object,\n to: 'hash' | 'query' = 'hash',\n win: Window = window,\n method: 'replace' | 'push' = 'replace'\n) => {\n if (!win || !win.history) return;\n const oldQuery = to === 'query' ? win.location.search : win.location.hash;\n const basePath =\n to === 'query'\n ? win.location.pathname\n : win.location.pathname + win.location.search;\n let queryStr = qs.stringify(object, {\n strictNullHandling: true,\n addQueryPrefix: false,\n encodeValuesOnly: true,\n });\n\n if (!queryStr || !queryStr.length) {\n if (!oldQuery || !oldQuery.length) return;\n if (method === 'replace') win.history.replaceState(null, null, basePath);\n else win.history.pushState(null, null, basePath);\n return;\n }\n\n if (to === 'hash' && win.location.hash === '#' + queryStr) {\n try {\n (document.querySelector('#' + queryStr) as HTMLElement).focus();\n } catch (e) {}\n return;\n }\n queryStr = (to === 'hash' ? '#' : '?') + queryStr;\n if (queryStr === oldQuery) return;\n if (method === 'replace')\n win.history.replaceState(null, null, basePath + queryStr);\n else win.history.pushState(null, null, basePath + queryStr);\n};\n\nexport const urlSet = (\n id: string,\n data: object,\n to: 'hash' | 'query' = 'hash',\n win: Window = window,\n method: 'replace' | 'push' = 'replace'\n) => {\n // sanitize the incoming key\n id = Object.keys(qs.parse(id))[0];\n const object = {};\n object[id] = data;\n\n let currentData = urlRead(to, win);\n currentData = { ...currentData, ...object };\n urlSave(currentData, to, win, method);\n};\n\nexport const urlGet = (\n key: string,\n to: 'hash' | 'query' = 'hash',\n win: Window = window\n) => {\n // sanitize the incoming key\n key = Object.keys(qs.parse(key))[0];\n const currentData = urlRead(to, win);\n return currentData[key] || null;\n};\n\nexport const sessionSet = (\n key: string,\n object: object,\n win: Window = window\n) => {\n try {\n if (!object) {\n win.sessionStorage.removeItem(STORAGE_NAME_SPACE + key);\n return;\n }\n win.sessionStorage.setItem(\n STORAGE_NAME_SPACE + key,\n JSON.stringify(object)\n );\n } catch (e) {\n throw e;\n }\n};\n\nexport const sessionGet = (key: string, win: Window = window) => {\n try {\n const configStr = win.sessionStorage.getItem(STORAGE_NAME_SPACE + key);\n return configStr !== null ? JSON.parse(configStr) : null;\n } catch (e) {\n throw e;\n }\n};\n\nexport const storageSet = (\n key: string,\n object: object,\n win: Window = window\n) => {\n try {\n if (!object) {\n win.localStorage.removeItem(STORAGE_NAME_SPACE + key);\n return;\n }\n win.localStorage.setItem(STORAGE_NAME_SPACE + key, JSON.stringify(object));\n } catch (e) {\n throw e;\n }\n};\n\nexport const storageGet = (key: string, win: Window = window) => {\n try {\n const configStr = win.localStorage.getItem(STORAGE_NAME_SPACE + key);\n return configStr !== null ? JSON.parse(configStr) : null;\n } catch (e) {\n throw e;\n }\n};\n"]}
|
@@ -99,6 +99,7 @@ export async function clickOnElement(page, elem, x = null, y = null) {
|
|
99
99
|
const rect = await page.evaluate((el) => {
|
100
100
|
const { top, left, width, height } = el.getBoundingClientRect();
|
101
101
|
return { top, left, width, height };
|
102
|
+
// @ts-ignore
|
102
103
|
}, elem);
|
103
104
|
// Use given position or default to center
|
104
105
|
const _x = x !== null ? x : rect.width / 2;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/testing/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage, E2EPage } from '@stencil/core/testing';\nimport * as axe from 'axe-core';\nimport { MatchImageSnapshotOptions } from 'jest-image-snapshot';\nimport { ElementHandle, Page as PuppeteerPage } from 'puppeteer';\n\ndeclare global {\n interface Window {\n axe: typeof axe;\n }\n}\n\nexport interface NanoE2EPage\n extends E2EPage,\n Pick<PuppeteerPage, 'screenshot' | 'viewport'> {\n reportA11y: (contextQuery?: string) => Promise<string>;\n}\n\ntype NanoE2EPageOptions = {\n html: string;\n viewportWidth: number;\n viewportHeight?: number;\n dir: 'ltr' | 'rtl';\n padding?: string;\n};\n\nexport class E2EPlayGround<T> {\n public props: Partial<T>;\n public viewportHeight: number;\n /** element template string. Add `{{ attrs }}` to place the attributes */\n public template: string;\n public cssVars: { [key: string]: string };\n public viewportWidth = 600;\n public page: NanoE2EPage;\n public tag: string;\n\n constructor(setup: { template: string; tag: string } | string) {\n setup =\n typeof setup === 'string'\n ? { template: `<${setup} {{ attrs }}></${setup}>`, tag: setup }\n : setup;\n this.template = setup.template;\n this.tag = setup.tag;\n }\n\n private get attrs() {\n if (!this.props) return '';\n return Object.entries(this.props)\n .map(([attr, value]) => `${kebabize(attr)}=\"${value}\"`)\n .join(' ');\n }\n\n private get css() {\n if (!this.cssVars) return '';\n return Object.entries(this.cssVars)\n .map(([attr, value]) => `${attr}: ${value}`)\n .join('\\n');\n }\n\n public async newPage(\n props?: Partial<T>,\n docOpts?: { dir?: 'rtl' | 'ltr'; padding?: string }\n ) {\n if (!this.template || !this.tag) {\n console.warn('no template set');\n return;\n }\n\n this.props = props;\n this.page = await createPage({\n html: `\n <style>\n :root {\n ${this.css}\n }\n </style>\n ${this.template.replace(/(\\{\\{ attrs \\}\\})/g, this.attrs)}\n `,\n viewportWidth: this.viewportWidth,\n viewportHeight: this.viewportHeight,\n dir: docOpts ? docOpts.dir : 'ltr',\n padding: docOpts ? docOpts.padding : '1rem',\n });\n\n return this.page;\n }\n\n public reportA11y() {\n if (!this.page) {\n console.warn('no page rendered');\n return;\n }\n return this.page.reportA11y(this.tag);\n }\n\n public async component() {\n if (!this.page) {\n console.warn('no page rendered');\n return;\n }\n return this.page.find(this.tag);\n }\n\n public async componentQuery(selectorStr: string, shadow = true) {\n if (!this.page) {\n console.warn('no page rendered');\n return;\n }\n if (!selectorStr) {\n console.warn('selectorStr not set');\n return;\n }\n\n if (shadow) {\n return (\n await this.page.waitForFunction(\n (args) => {\n const [tag, selectorStr] = args;\n return document\n .querySelector(tag)\n .shadowRoot.querySelector(selectorStr);\n },\n {},\n [this.tag, selectorStr]\n )\n ).asElement();\n } else {\n return (\n await this.page.waitForFunction(\n (args) => {\n const [tag, selectorStr] = args;\n return document.querySelector(tag + ' ' + selectorStr);\n },\n {},\n [this.tag, selectorStr]\n )\n ).asElement();\n }\n }\n}\n\nexport async function getFocusedElement(\n page: E2EPage,\n shadowEleSelector: string = null\n) {\n if (!shadowEleSelector)\n return page.evaluateHandle(() => document.activeElement);\n else {\n return page.evaluateHandle(\n (shadowEleSelector) =>\n document.querySelector(shadowEleSelector).shadowRoot.activeElement,\n shadowEleSelector\n );\n }\n}\n\nexport async function clickOnElement(\n page: E2EPage,\n elem: ElementHandle<Element>,\n x: number = null,\n y: number = null\n) {\n const rect = await page.evaluate((el) => {\n const { top, left, width, height } = el.getBoundingClientRect();\n return { top, left, width, height };\n }, elem);\n\n // Use given position or default to center\n const _x = x !== null ? x : rect.width / 2;\n const _y = y !== null ? y : rect.height / 2;\n\n await page.mouse.click(rect.left + _x, rect.top + _y);\n}\n\nexport async function createPage(optionsOrHtml?: string | NanoE2EPageOptions) {\n const options: NanoE2EPageOptions =\n typeof optionsOrHtml === 'string'\n ? { html: optionsOrHtml, viewportWidth: 600, dir: 'ltr', padding: '1rem' }\n : optionsOrHtml;\n\n const page = (await newE2EPage()) as NanoE2EPage;\n\n // setup navigator langs for consistent localization\n await page.evaluate(() => {\n Object.defineProperty(navigator, 'language', {\n get: function () {\n return 'en-GB';\n },\n });\n Object.defineProperty(navigator, 'languages', {\n get: function () {\n return ['en-GB'];\n },\n });\n });\n const viewport = Object.assign(\n { height: options.viewportHeight || page.viewport().height },\n { width: options.viewportWidth }\n );\n // set viewport size\n await page.setViewport(viewport);\n\n // add content\n await page.setContent(\n `<link rel=\"stylesheet\" href=\"/themes/nanopore.css\">\n <div class=\"screenshot\" style=\"padding: ${options.padding || '1rem'};\">${\n options.html\n }</div>`,\n { waitUntil: 'networkidle2' }\n );\n\n // set the direction - need to set here as stencil removes it on setContent\n await page.evaluate((dir) => {\n document.documentElement.setAttribute('dir', dir);\n document.dir = dir;\n }, options.dir);\n\n // monkey patch screenshot function to add some extra features\n const screenshot = page.screenshot;\n page.screenshot = async function () {\n // get the element's height, and set viewport to that height\n // this enables us to get full page, clipped screenshots\n const htmlElement = await page.$('.screenshot');\n const { width, height } = await htmlElement.boundingBox();\n\n await page.setViewport({\n width: page.viewport().width,\n height: options.viewportHeight || Math.round(height),\n });\n\n return screenshot.call(page, {\n clip: {\n x: 0,\n y: 0,\n width: Math.round(width),\n height: options.viewportHeight || Math.round(height),\n },\n captureBeyondViewport: false,\n });\n };\n\n await page.evaluate(async (source) => await window.eval(source), axe.source);\n\n page.reportA11y = async (contextQuery?: string) => {\n const result = await page.evaluate(async (contextQuery) => {\n const context: axe.ContextObject = {\n include: contextQuery ? [[contextQuery]] : undefined,\n exclude: [[contextQuery + ' .button--primary', '#shadow-host']],\n };\n const opts: axe.RunOptions = {};\n return await window.axe.run(context, opts);\n }, contextQuery);\n\n // we only want serious issues and we want to ignore nanopore buttons. We know though they're bad.\n const violations = result.violations\n .filter((violation) => [`serious`, `critical`].includes(violation.impact))\n .filter((violation) => {\n violation.nodes = violation.nodes.filter(\n (node) => !node.target.join().match('.button--')\n );\n return !!violation.nodes.length;\n });\n\n // const output = violations\n // .map(\n // (violations, index) => `(${index}) [Type: ${violations.id}]: ${\n // violations.description\n // } (${violations.help}).\n // Elements: ${violations.nodes\n // .map(\n // (node, index) => `[${index}]'${node.target}'. HTML: ${node.html}`\n // )\n // .join(`, `)}.`\n // )\n // .join(`\\n\\n`);\n return violations.length ? JSON.stringify(violations, null, 2) : '';\n // return output;\n };\n\n return page;\n}\n\nexport const kebabize = (str) => {\n return str\n .split('')\n .map((letter, idx) => {\n return letter.toUpperCase() === letter\n ? `${idx !== 0 ? '-' : ''}${letter.toLowerCase()}`\n : letter;\n })\n .join('');\n};\n\nexport const screenshotSettings = (\n dirname: string\n): MatchImageSnapshotOptions => {\n return {\n failureThreshold: 0.002,\n failureThresholdType: 'percent',\n customSnapshotsDir: `${dirname}/__screenshots__/${process.platform}`,\n };\n};\n\nexport const waitForVisibleSnippet = (selector) => {\n return `\n (function () {\n function isVisible(elem) {\n if (!(elem instanceof Element)) throw Error('DomUtil: elem is not an element.');\n const style = getComputedStyle(elem);\n if (style.display === 'none') return false;\n if (style.visibility !== 'visible') return false;\n if (style.opacity < 0.1) return false;\n if (elem.offsetWidth + elem.offsetHeight + elem.getBoundingClientRect().height +\n elem.getBoundingClientRect().width === 0) {\n return false;\n }\n const elemCenter = {\n x: elem.getBoundingClientRect().left + elem.offsetWidth / 2,\n y: elem.getBoundingClientRect().top + elem.offsetHeight / 2\n };\n if (elemCenter.x < 0) return false;\n if (elemCenter.x > (document.documentElement.clientWidth || window.innerWidth)) return false;\n if (elemCenter.y < 0) return false;\n if (elemCenter.y > (document.documentElement.clientHeight || window.innerHeight)) return false;\n let pointContainer = document.elementFromPoint(elemCenter.x, elemCenter.y);\n do {\n if (pointContainer === elem) return true;\n } while (pointContainer = pointContainer.parentNode);\n return false;\n }\n return isVisible(document.querySelector(\"${selector}\"));\n })()\n`;\n};\n\nexport const stringifyFormSnippet = `\n<div id=\"form-result\"></div>\n<script>\n var form = document.querySelector('form');\n var result = document.querySelector('#form-result');\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n var data = new FormData(event.target);\n var object = {};\n data.forEach((value, key) => {\n // Reflect.has in favor of: object.hasOwnProperty(key)\n if(!Reflect.has(object, key)){\n object[key] = value;\n return;\n }\n if(!Array.isArray(object[key])){\n object[key] = [object[key]];\n }\n object[key].push(value);\n });\n result.innerHTML = JSON.stringify(object);\n })\n</script>`;\n"]}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/testing/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage, E2EPage } from '@stencil/core/testing';\nimport * as axe from 'axe-core';\nimport { MatchImageSnapshotOptions } from 'jest-image-snapshot';\nimport { ElementHandle, Page as PuppeteerPage } from 'puppeteer';\n\ndeclare global {\n interface Window {\n axe: typeof axe;\n }\n}\n\nexport interface NanoE2EPage\n extends E2EPage,\n Pick<PuppeteerPage, 'screenshot' | 'viewport'> {\n reportA11y: (contextQuery?: string) => Promise<string>;\n}\n\ntype NanoE2EPageOptions = {\n html: string;\n viewportWidth: number;\n viewportHeight?: number;\n dir: 'ltr' | 'rtl';\n padding?: string;\n};\n\nexport class E2EPlayGround<T> {\n public props: Partial<T>;\n public viewportHeight: number;\n /** element template string. Add `{{ attrs }}` to place the attributes */\n public template: string;\n public cssVars: { [key: string]: string };\n public viewportWidth = 600;\n public page: NanoE2EPage;\n public tag: string;\n\n constructor(setup: { template: string; tag: string } | string) {\n setup =\n typeof setup === 'string'\n ? { template: `<${setup} {{ attrs }}></${setup}>`, tag: setup }\n : setup;\n this.template = setup.template;\n this.tag = setup.tag;\n }\n\n private get attrs() {\n if (!this.props) return '';\n return Object.entries(this.props)\n .map(([attr, value]) => `${kebabize(attr)}=\"${value}\"`)\n .join(' ');\n }\n\n private get css() {\n if (!this.cssVars) return '';\n return Object.entries(this.cssVars)\n .map(([attr, value]) => `${attr}: ${value}`)\n .join('\\n');\n }\n\n public async newPage(\n props?: Partial<T>,\n docOpts?: { dir?: 'rtl' | 'ltr'; padding?: string }\n ) {\n if (!this.template || !this.tag) {\n console.warn('no template set');\n return;\n }\n\n this.props = props;\n this.page = await createPage({\n html: `\n <style>\n :root {\n ${this.css}\n }\n </style>\n ${this.template.replace(/(\\{\\{ attrs \\}\\})/g, this.attrs)}\n `,\n viewportWidth: this.viewportWidth,\n viewportHeight: this.viewportHeight,\n dir: docOpts ? docOpts.dir : 'ltr',\n padding: docOpts ? docOpts.padding : '1rem',\n });\n\n return this.page;\n }\n\n public reportA11y() {\n if (!this.page) {\n console.warn('no page rendered');\n return;\n }\n return this.page.reportA11y(this.tag);\n }\n\n public async component() {\n if (!this.page) {\n console.warn('no page rendered');\n return;\n }\n return this.page.find(this.tag);\n }\n\n public async componentQuery(selectorStr: string, shadow = true) {\n if (!this.page) {\n console.warn('no page rendered');\n return;\n }\n if (!selectorStr) {\n console.warn('selectorStr not set');\n return;\n }\n\n if (shadow) {\n return (\n await this.page.waitForFunction(\n (args) => {\n const [tag, selectorStr] = args;\n return document\n .querySelector(tag)\n .shadowRoot.querySelector(selectorStr);\n },\n {},\n [this.tag, selectorStr]\n )\n ).asElement();\n } else {\n return (\n await this.page.waitForFunction(\n (args) => {\n const [tag, selectorStr] = args;\n return document.querySelector(tag + ' ' + selectorStr);\n },\n {},\n [this.tag, selectorStr]\n )\n ).asElement();\n }\n }\n}\n\nexport async function getFocusedElement(\n page: E2EPage,\n shadowEleSelector: string = null\n) {\n if (!shadowEleSelector)\n return page.evaluateHandle(() => document.activeElement);\n else {\n return page.evaluateHandle(\n (shadowEleSelector) =>\n document.querySelector(shadowEleSelector).shadowRoot.activeElement,\n shadowEleSelector\n );\n }\n}\n\nexport async function clickOnElement(\n page: E2EPage,\n elem: ElementHandle<Element>,\n x: number = null,\n y: number = null\n) {\n const rect = await page.evaluate((el) => {\n const { top, left, width, height } = el.getBoundingClientRect();\n return { top, left, width, height };\n // @ts-ignore\n }, elem);\n\n // Use given position or default to center\n const _x = x !== null ? x : rect.width / 2;\n const _y = y !== null ? y : rect.height / 2;\n\n await page.mouse.click(rect.left + _x, rect.top + _y);\n}\n\nexport async function createPage(optionsOrHtml?: string | NanoE2EPageOptions) {\n const options: NanoE2EPageOptions =\n typeof optionsOrHtml === 'string'\n ? { html: optionsOrHtml, viewportWidth: 600, dir: 'ltr', padding: '1rem' }\n : optionsOrHtml;\n\n const page = (await newE2EPage()) as NanoE2EPage;\n\n // setup navigator langs for consistent localization\n await page.evaluate(() => {\n Object.defineProperty(navigator, 'language', {\n get: function () {\n return 'en-GB';\n },\n });\n Object.defineProperty(navigator, 'languages', {\n get: function () {\n return ['en-GB'];\n },\n });\n });\n const viewport = Object.assign(\n { height: options.viewportHeight || page.viewport().height },\n { width: options.viewportWidth }\n );\n // set viewport size\n await page.setViewport(viewport);\n\n // add content\n await page.setContent(\n `<link rel=\"stylesheet\" href=\"/themes/nanopore.css\">\n <div class=\"screenshot\" style=\"padding: ${options.padding || '1rem'};\">${\n options.html\n }</div>`,\n { waitUntil: 'networkidle2' }\n );\n\n // set the direction - need to set here as stencil removes it on setContent\n await page.evaluate((dir) => {\n document.documentElement.setAttribute('dir', dir);\n document.dir = dir;\n }, options.dir);\n\n // monkey patch screenshot function to add some extra features\n const screenshot = page.screenshot;\n page.screenshot = async function () {\n // get the element's height, and set viewport to that height\n // this enables us to get full page, clipped screenshots\n const htmlElement = await page.$('.screenshot');\n const { width, height } = await htmlElement.boundingBox();\n\n await page.setViewport({\n width: page.viewport().width,\n height: options.viewportHeight || Math.round(height),\n });\n\n return screenshot.call(page, {\n clip: {\n x: 0,\n y: 0,\n width: Math.round(width),\n height: options.viewportHeight || Math.round(height),\n },\n captureBeyondViewport: false,\n });\n };\n\n await page.evaluate(async (source) => await window.eval(source), axe.source);\n\n page.reportA11y = async (contextQuery?: string) => {\n const result = await page.evaluate(async (contextQuery) => {\n const context: axe.ContextObject = {\n include: contextQuery ? [[contextQuery]] : undefined,\n exclude: [[contextQuery + ' .button--primary', '#shadow-host']],\n };\n const opts: axe.RunOptions = {};\n return await window.axe.run(context, opts);\n }, contextQuery);\n\n // we only want serious issues and we want to ignore nanopore buttons. We know though they're bad.\n const violations = result.violations\n .filter((violation) => [`serious`, `critical`].includes(violation.impact))\n .filter((violation) => {\n violation.nodes = violation.nodes.filter(\n (node) => !node.target.join().match('.button--')\n );\n return !!violation.nodes.length;\n });\n\n // const output = violations\n // .map(\n // (violations, index) => `(${index}) [Type: ${violations.id}]: ${\n // violations.description\n // } (${violations.help}).\n // Elements: ${violations.nodes\n // .map(\n // (node, index) => `[${index}]'${node.target}'. HTML: ${node.html}`\n // )\n // .join(`, `)}.`\n // )\n // .join(`\\n\\n`);\n return violations.length ? JSON.stringify(violations, null, 2) : '';\n // return output;\n };\n\n return page;\n}\n\nexport const kebabize = (str) => {\n return str\n .split('')\n .map((letter, idx) => {\n return letter.toUpperCase() === letter\n ? `${idx !== 0 ? '-' : ''}${letter.toLowerCase()}`\n : letter;\n })\n .join('');\n};\n\nexport const screenshotSettings = (\n dirname: string\n): MatchImageSnapshotOptions => {\n return {\n failureThreshold: 0.002,\n failureThresholdType: 'percent',\n customSnapshotsDir: `${dirname}/__screenshots__/${process.platform}`,\n };\n};\n\nexport const waitForVisibleSnippet = (selector) => {\n return `\n (function () {\n function isVisible(elem) {\n if (!(elem instanceof Element)) throw Error('DomUtil: elem is not an element.');\n const style = getComputedStyle(elem);\n if (style.display === 'none') return false;\n if (style.visibility !== 'visible') return false;\n if (style.opacity < 0.1) return false;\n if (elem.offsetWidth + elem.offsetHeight + elem.getBoundingClientRect().height +\n elem.getBoundingClientRect().width === 0) {\n return false;\n }\n const elemCenter = {\n x: elem.getBoundingClientRect().left + elem.offsetWidth / 2,\n y: elem.getBoundingClientRect().top + elem.offsetHeight / 2\n };\n if (elemCenter.x < 0) return false;\n if (elemCenter.x > (document.documentElement.clientWidth || window.innerWidth)) return false;\n if (elemCenter.y < 0) return false;\n if (elemCenter.y > (document.documentElement.clientHeight || window.innerHeight)) return false;\n let pointContainer = document.elementFromPoint(elemCenter.x, elemCenter.y);\n do {\n if (pointContainer === elem) return true;\n } while (pointContainer = pointContainer.parentNode);\n return false;\n }\n return isVisible(document.querySelector(\"${selector}\"));\n })()\n`;\n};\n\nexport const stringifyFormSnippet = `\n<div id=\"form-result\"></div>\n<script>\n var form = document.querySelector('form');\n var result = document.querySelector('#form-result');\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n var data = new FormData(event.target);\n var object = {};\n data.forEach((value, key) => {\n // Reflect.has in favor of: object.hasOwnProperty(key)\n if(!Reflect.has(object, key)){\n object[key] = value;\n return;\n }\n if(!Array.isArray(object[key])){\n object[key] = [object[key]];\n }\n object[key].push(value);\n });\n result.innerHTML = JSON.stringify(object);\n })\n</script>`;\n"]}
|
@@ -12,12 +12,7 @@ export const hostContext = (selector, el) => {
|
|
12
12
|
*/
|
13
13
|
export const createColorClasses = (color, cssClassMap) => {
|
14
14
|
return typeof color === 'string' && color.length > 0
|
15
|
-
? {
|
16
|
-
'nano-color': true,
|
17
|
-
[`nano-color-${color}`]: true,
|
18
|
-
...cssClassMap,
|
19
|
-
}
|
20
|
-
: cssClassMap;
|
15
|
+
? Object.assign({ 'nano-color': true, [`nano-color-${color}`]: true }, cssClassMap) : cssClassMap;
|
21
16
|
};
|
22
17
|
/**
|
23
18
|
* @param classes
|