@nanoporetech-digital/components 1.13.22 → 1.15.1
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 +654 -15
- package/README.md +3 -2
- package/dist/cjs/{algolia-data-771a61ea.js → algolia-data-a98ccf4f.js} +2 -2
- package/dist/cjs/algolia-data-a98ccf4f.js.map +1 -0
- package/dist/cjs/algoliasearch.umd-5dc661c5.js +12 -0
- package/dist/cjs/algoliasearch.umd-5dc661c5.js.map +1 -0
- package/dist/cjs/{component-store-c8440fd7.js → component-store-8d99743e.js} +2 -2
- package/dist/cjs/{component-store-c8440fd7.js.map → component-store-8d99743e.js.map} +1 -1
- package/dist/cjs/{css-shim-208c6c2d.js → css-shim-8983f2ba.js} +2 -2
- package/dist/cjs/{css-shim-208c6c2d.js.map → css-shim-8983f2ba.js.map} +1 -1
- package/dist/cjs/{dom-1b5e30a5.js → dom-28d4395c.js} +2 -2
- package/dist/cjs/{dom-1b5e30a5.js.map → dom-28d4395c.js.map} +1 -1
- package/dist/cjs/{global-befb7a64.js → global-aa92d50f.js} +5 -3
- package/dist/cjs/global-aa92d50f.js.map +1 -0
- package/dist/cjs/{utils-e9e37c80.js → index-e517a673.js} +1 -1
- package/dist/cjs/{utils-e9e37c80.js.map → index-e517a673.js.map} +1 -1
- package/dist/cjs/{index-43791691.js → index-f12395b8.js} +10 -3
- package/dist/cjs/index-f12395b8.js.map +1 -0
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +5 -5
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/nano-accordion.cjs.entry.js +1 -1
- package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-alert.cjs.entry.js +7 -7
- package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +3 -3
- package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-input.cjs.entry.js +5 -5
- 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 +5 -5
- package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-aspect-ratio.cjs.entry.js +12 -4
- package/dist/cjs/nano-aspect-ratio.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox-group.cjs.entry.js +31 -16
- package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-checkbox.cjs.entry.js +33 -15
- package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-components.cjs.js +5 -5
- package/dist/cjs/nano-components.cjs.js.map +1 -1
- package/dist/cjs/nano-date-input.cjs.entry.js +45 -13
- package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-date-picker_2.cjs.entry.js +117 -72
- package/dist/cjs/nano-date-picker_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-details.cjs.entry.js +16 -10
- package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dialog.cjs.entry.js +5 -9
- package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-drawer.cjs.entry.js +1 -1
- package/dist/cjs/nano-file-upload.cjs.entry.js +7 -14
- package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +6 -6
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-search-results.cjs.entry.js +2 -2
- package/dist/cjs/nano-grid_3.cjs.entry.js +1 -1
- package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-hero.cjs.entry.js +3 -3
- 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.cjs.entry.js +1 -1
- package/dist/cjs/nano-input.cjs.entry.js +12 -2
- package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-menu.cjs.entry.js +2 -2
- package/dist/cjs/nano-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-nav-item_2.cjs.entry.js +6 -6
- package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-range.cjs.entry.js +11 -11
- package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-rating.cjs.entry.js +3 -3
- package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -1
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-select-option.cjs.entry.js +1 -1
- package/dist/cjs/nano-slide.cjs.entry.js +1 -1
- package/dist/cjs/nano-slides.cjs.entry.js +2 -2
- package/dist/cjs/nano-spinner.cjs.entry.js +2 -2
- package/dist/cjs/nano-sticker.cjs.entry.js +9 -9
- package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-content.cjs.entry.js +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +6 -6
- 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-tooltip.cjs.entry.js +49 -35
- package/dist/cjs/nano-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{popover-eccc07bd.js → popover-9289f217.js} +32 -32
- package/dist/cjs/popover-9289f217.js.map +1 -0
- package/dist/cjs/{shadow-css-c5dce0c8.js → shadow-css-a482ec93.js} +2 -2
- package/dist/cjs/shadow-css-a482ec93.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/accordion/accordion.js +2 -2
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/alert/alert.css +3 -3
- package/dist/collection/components/alert/alert.helpers.js +1 -1
- package/dist/collection/components/alert/alert.helpers.js.map +1 -1
- package/dist/collection/components/alert/alert.js +2 -2
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/algolia/algolia-data.js.map +1 -1
- package/dist/collection/components/algolia/algolia-filter.js +3 -3
- package/dist/collection/components/algolia/algolia-filter.js.map +1 -1
- package/dist/collection/components/algolia/algolia-input.js +7 -7
- package/dist/collection/components/algolia/algolia-input.js.map +1 -1
- package/dist/collection/components/algolia/algolia-results.js +1 -1
- package/dist/collection/components/algolia/algolia.js +8 -8
- package/dist/collection/components/algolia/algolia.js.map +1 -1
- package/dist/collection/components/aspect-ratio/aspect-ratio.js +9 -1
- package/dist/collection/components/aspect-ratio/aspect-ratio.js.map +1 -1
- package/dist/collection/components/checkbox/__tests__/__fixtures__/checkbox-templates.js +117 -0
- package/dist/collection/components/checkbox/__tests__/__fixtures__/checkbox-templates.js.map +1 -0
- package/dist/collection/components/checkbox/checkbox-group.css +3 -3
- package/dist/collection/components/checkbox/checkbox-group.js +39 -26
- package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.css +13 -2
- package/dist/collection/components/checkbox/checkbox.js +63 -28
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/date-input/date-input.css +2 -4
- package/dist/collection/components/date-input/date-input.js +81 -29
- package/dist/collection/components/date-input/date-input.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.css +15 -4
- package/dist/collection/components/date-picker/date-picker.js +45 -17
- package/dist/collection/components/date-picker/date-picker.js.map +1 -1
- package/dist/collection/components/details/details.css +3 -3
- package/dist/collection/components/details/details.js +14 -8
- package/dist/collection/components/details/details.js.map +1 -1
- package/dist/collection/components/dialog/dialog.css +2 -3
- package/dist/collection/components/dialog/dialog.js +6 -10
- package/dist/collection/components/dialog/dialog.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +134 -85
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload-interface.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload.css +9 -17
- package/dist/collection/components/file-upload/file-upload.js +17 -20
- package/dist/collection/components/file-upload/file-upload.js.map +1 -1
- package/dist/collection/components/global-nav/global-nav.css +2 -2
- package/dist/collection/components/global-nav/global-nav.js +5 -5
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/global-search-results/global-search-results.css +3 -3
- package/dist/collection/components/grid/grid-item.js +1 -1
- package/dist/collection/components/grid/grid.js +1 -1
- package/dist/collection/components/grid/grid.js.map +1 -1
- package/dist/collection/components/hero/hero.js +1 -1
- package/dist/collection/components/hero/hero.js.map +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/icon-button/icon-button.css +2 -2
- package/dist/collection/components/input/input.css +9 -11
- package/dist/collection/components/input/input.js +26 -7
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/menu/menu.css +7 -7
- package/dist/collection/components/menu/menu.js +1 -1
- package/dist/collection/components/menu/menu.js.map +1 -1
- 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.js +5 -5
- package/dist/collection/components/nav-item/nav-item.js.map +1 -1
- package/dist/collection/components/range/range.css +4 -4
- package/dist/collection/components/range/range.js +5 -5
- package/dist/collection/components/range/range.js.map +1 -1
- package/dist/collection/components/rating/rating.js +1 -1
- package/dist/collection/components/rating/rating.js.map +1 -1
- package/dist/collection/components/resize-observe/resize-observe.js +2 -2
- package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
- package/dist/collection/components/select/select.css +4 -4
- package/dist/collection/components/select/select.js +6 -6
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/slides/slides.css +2 -2
- package/dist/collection/components/slides/slides.js +7 -7
- package/dist/collection/components/spinner/spinner.css +2 -2
- package/dist/collection/components/sticky/sticker.js +1 -1
- package/dist/collection/components/sticky/sticker.js.map +1 -1
- package/dist/collection/components/tabs/tab-group.css +6 -6
- package/dist/collection/components/tabs/tab-group.js +3 -3
- package/dist/collection/components/tabs/tab-group.js.map +1 -1
- package/dist/collection/components/tabs/tab.css +2 -2
- package/dist/collection/components/tooltip/tooltip.css +15 -13
- package/dist/collection/components/tooltip/tooltip.js +50 -34
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/global/script/global.js +4 -2
- package/dist/collection/global/script/global.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/gesture/swipe-back.js +1 -1
- package/dist/collection/utils/gesture/swipe-back.js.map +1 -1
- package/dist/collection/utils/{utils.js → index.js} +1 -1
- package/dist/collection/utils/{utils.js.map → index.js.map} +1 -1
- package/dist/collection/utils/store/component-store.js +1 -1
- package/dist/collection/utils/store/component-store.js.map +1 -1
- package/dist/collection/utils/testing/index.js +242 -0
- package/dist/collection/utils/testing/index.js.map +1 -0
- package/dist/custom-elements/index.js +374 -228
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/{algolia-data-a84aeef1.js → algolia-data-b31a9800.js} +2 -2
- package/dist/esm/algolia-data-b31a9800.js.map +1 -0
- package/dist/esm/algoliasearch.umd-7ecbe0e9.js +10 -0
- package/dist/esm/algoliasearch.umd-7ecbe0e9.js.map +1 -0
- package/dist/esm/{component-store-182d1931.js → component-store-93172454.js} +2 -2
- package/dist/esm/{component-store-182d1931.js.map → component-store-93172454.js.map} +1 -1
- package/dist/esm/{css-shim-f12af614.js → css-shim-4e602522.js} +2 -2
- package/dist/esm/{css-shim-f12af614.js.map → css-shim-4e602522.js.map} +1 -1
- package/dist/esm/{dom-2f25dd5a.js → dom-acc01cc2.js} +2 -2
- package/dist/esm/{dom-2f25dd5a.js.map → dom-acc01cc2.js.map} +1 -1
- package/dist/esm/{global-c85d24a2.js → global-118ae701.js} +5 -3
- package/dist/esm/global-118ae701.js.map +1 -0
- package/dist/esm/{utils-fd1ada22.js → index-269c88a9.js} +1 -1
- package/dist/esm/{utils-fd1ada22.js.map → index-269c88a9.js.map} +1 -1
- package/dist/esm/{index-20becda2.js → index-912ef959.js} +10 -3
- package/dist/esm/index-912ef959.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +5 -5
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/nano-accordion.entry.js +1 -1
- package/dist/esm/nano-accordion.entry.js.map +1 -1
- package/dist/esm/nano-alert.entry.js +3 -3
- package/dist/esm/nano-alert.entry.js.map +1 -1
- package/dist/esm/nano-algolia-filter.entry.js +3 -3
- package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
- package/dist/esm/nano-algolia-input.entry.js +5 -5
- 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 +5 -5
- package/dist/esm/nano-algolia.entry.js.map +1 -1
- package/dist/esm/nano-aspect-ratio.entry.js +12 -4
- package/dist/esm/nano-aspect-ratio.entry.js.map +1 -1
- package/dist/esm/nano-checkbox-group.entry.js +31 -16
- package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
- package/dist/esm/nano-checkbox.entry.js +33 -15
- package/dist/esm/nano-checkbox.entry.js.map +1 -1
- package/dist/esm/nano-components.js +5 -5
- package/dist/esm/nano-components.js.map +1 -1
- package/dist/esm/nano-date-input.entry.js +45 -13
- package/dist/esm/nano-date-input.entry.js.map +1 -1
- package/dist/esm/nano-date-picker_2.entry.js +116 -71
- package/dist/esm/nano-date-picker_2.entry.js.map +1 -1
- package/dist/esm/nano-details.entry.js +15 -9
- package/dist/esm/nano-details.entry.js.map +1 -1
- package/dist/esm/nano-dialog.entry.js +5 -9
- package/dist/esm/nano-dialog.entry.js.map +1 -1
- package/dist/esm/nano-drawer.entry.js +1 -1
- package/dist/esm/nano-file-upload.entry.js +7 -14
- package/dist/esm/nano-file-upload.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +5 -5
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/nano-global-search-results.entry.js +2 -2
- package/dist/esm/nano-grid_3.entry.js +1 -1
- package/dist/esm/nano-grid_3.entry.js.map +1 -1
- package/dist/esm/nano-hero.entry.js +2 -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.entry.js +1 -1
- package/dist/esm/nano-input.entry.js +12 -2
- package/dist/esm/nano-input.entry.js.map +1 -1
- package/dist/esm/nano-menu-drawer.entry.js +1 -1
- package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
- package/dist/esm/nano-menu.entry.js +2 -2
- package/dist/esm/nano-menu.entry.js.map +1 -1
- package/dist/esm/nano-nav-item_2.entry.js +4 -4
- package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
- package/dist/esm/nano-range.entry.js +3 -3
- 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 +1 -1
- package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/esm/nano-select-option.entry.js +1 -1
- package/dist/esm/nano-slide.entry.js +1 -1
- package/dist/esm/nano-slides.entry.js +2 -2
- package/dist/esm/nano-spinner.entry.js +2 -2
- package/dist/esm/nano-sticker.entry.js +2 -2
- package/dist/esm/nano-sticker.entry.js.map +1 -1
- package/dist/esm/nano-tab-content.entry.js +1 -1
- package/dist/esm/nano-tab-group.entry.js +4 -4
- package/dist/esm/nano-tab-group.entry.js.map +1 -1
- package/dist/esm/nano-tab.entry.js +2 -2
- package/dist/esm/nano-tooltip.entry.js +49 -35
- package/dist/esm/nano-tooltip.entry.js.map +1 -1
- package/dist/esm/{popover-05f61b5f.js → popover-a57d8413.js} +32 -32
- package/dist/esm/popover-a57d8413.js.map +1 -0
- package/dist/esm/{shadow-css-70953e54.js → shadow-css-460f0f5c.js} +2 -2
- package/dist/esm/shadow-css-460f0f5c.js.map +1 -0
- package/dist/esm-es5/{algolia-data-a84aeef1.js → algolia-data-b31a9800.js} +2 -2
- package/dist/esm-es5/algolia-data-b31a9800.js.map +1 -0
- package/dist/esm-es5/algoliasearch.umd-7ecbe0e9.js +4 -0
- package/dist/esm-es5/algoliasearch.umd-7ecbe0e9.js.map +1 -0
- package/dist/esm-es5/{component-store-182d1931.js → component-store-93172454.js} +2 -2
- package/dist/esm-es5/{component-store-182d1931.js.map → component-store-93172454.js.map} +1 -1
- package/dist/esm-es5/{css-shim-f12af614.js → css-shim-4e602522.js} +1 -1
- package/dist/esm-es5/{css-shim-f12af614.js.map → css-shim-4e602522.js.map} +1 -1
- package/dist/esm-es5/{dom-2f25dd5a.js → dom-acc01cc2.js} +1 -1
- package/dist/esm-es5/{dom-2f25dd5a.js.map → dom-acc01cc2.js.map} +1 -1
- package/dist/esm-es5/{global-c85d24a2.js → global-118ae701.js} +2 -2
- package/dist/esm-es5/global-118ae701.js.map +1 -0
- package/dist/esm-es5/{utils-fd1ada22.js → index-269c88a9.js} +1 -1
- package/dist/esm-es5/{utils-fd1ada22.js.map → index-269c88a9.js.map} +1 -1
- package/dist/esm-es5/index-912ef959.js +2 -0
- package/dist/esm-es5/index-912ef959.js.map +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/index.js.map +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/nano-accordion.entry.js +1 -1
- package/dist/esm-es5/nano-accordion.entry.js.map +1 -1
- package/dist/esm-es5/nano-alert.entry.js +1 -1
- package/dist/esm-es5/nano-alert.entry.js.map +1 -1
- package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
- package/dist/esm-es5/nano-algolia-filter.entry.js.map +1 -1
- package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
- package/dist/esm-es5/nano-algolia-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-algolia-pagination.entry.js +1 -1
- package/dist/esm-es5/nano-algolia-results.entry.js +1 -1
- package/dist/esm-es5/nano-algolia.entry.js +1 -1
- package/dist/esm-es5/nano-algolia.entry.js.map +1 -1
- package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
- package/dist/esm-es5/nano-aspect-ratio.entry.js.map +1 -1
- package/dist/esm-es5/nano-checkbox-group.entry.js +1 -1
- package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
- package/dist/esm-es5/nano-checkbox.entry.js +1 -1
- package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
- package/dist/esm-es5/nano-components.js +1 -1
- package/dist/esm-es5/nano-components.js.map +1 -1
- package/dist/esm-es5/nano-date-input.entry.js +1 -1
- package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-date-picker_2.entry.js +1 -1
- package/dist/esm-es5/nano-date-picker_2.entry.js.map +1 -1
- package/dist/esm-es5/nano-details.entry.js +1 -1
- package/dist/esm-es5/nano-details.entry.js.map +1 -1
- package/dist/esm-es5/nano-dialog.entry.js +1 -1
- package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
- package/dist/esm-es5/nano-drawer.entry.js +1 -1
- package/dist/esm-es5/nano-file-upload.entry.js +1 -1
- package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
- package/dist/esm-es5/nano-global-nav.entry.js +1 -1
- package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
- package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
- package/dist/esm-es5/nano-grid_3.entry.js +1 -1
- package/dist/esm-es5/nano-grid_3.entry.js.map +1 -1
- package/dist/esm-es5/nano-hero.entry.js +1 -1
- package/dist/esm-es5/nano-hero.entry.js.map +1 -1
- package/dist/esm-es5/nano-icon-button.entry.js +1 -1
- package/dist/esm-es5/nano-icon.entry.js +1 -1
- package/dist/esm-es5/nano-input.entry.js +1 -1
- package/dist/esm-es5/nano-input.entry.js.map +1 -1
- package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
- package/dist/esm-es5/nano-menu-drawer.entry.js.map +1 -1
- package/dist/esm-es5/nano-menu.entry.js +1 -1
- package/dist/esm-es5/nano-menu.entry.js.map +1 -1
- package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
- package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
- package/dist/esm-es5/nano-range.entry.js +1 -1
- package/dist/esm-es5/nano-range.entry.js.map +1 -1
- package/dist/esm-es5/nano-rating.entry.js +1 -1
- package/dist/esm-es5/nano-rating.entry.js.map +1 -1
- package/dist/esm-es5/nano-resize-observe_2.entry.js +1 -1
- package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/esm-es5/nano-select-option.entry.js +1 -1
- package/dist/esm-es5/nano-slide.entry.js +1 -1
- package/dist/esm-es5/nano-slides.entry.js +2 -2
- package/dist/esm-es5/nano-spinner.entry.js +1 -1
- package/dist/esm-es5/nano-sticker.entry.js +1 -1
- package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
- package/dist/esm-es5/nano-tab-content.entry.js +1 -1
- package/dist/esm-es5/nano-tab-group.entry.js +1 -1
- package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
- package/dist/esm-es5/nano-tab.entry.js +1 -1
- package/dist/esm-es5/nano-tooltip.entry.js +1 -1
- package/dist/esm-es5/nano-tooltip.entry.js.map +1 -1
- package/dist/esm-es5/popover-a57d8413.js +2 -0
- package/dist/{esm/popover-05f61b5f.js.map → esm-es5/popover-a57d8413.js.map} +1 -1
- package/dist/esm-es5/{shadow-css-70953e54.js → shadow-css-460f0f5c.js} +1 -1
- package/dist/esm-es5/shadow-css-460f0f5c.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/nano-components.js +1 -1
- package/dist/nano-components/{p-c8ff45ab.system.entry.js → p-007c6041.system.entry.js} +2 -2
- package/dist/nano-components/{p-c8ff45ab.system.entry.js.map → p-007c6041.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-1ce90ea4.entry.js → p-02177814.entry.js} +2 -2
- package/dist/nano-components/p-02177814.entry.js.map +1 -0
- package/dist/nano-components/{p-9b9ca075.system.entry.js → p-046af455.system.entry.js} +2 -2
- package/dist/nano-components/p-046af455.system.entry.js.map +1 -0
- package/dist/nano-components/p-05c062ae.js +4 -0
- package/dist/nano-components/p-05c062ae.js.map +1 -0
- package/dist/nano-components/{p-4365edc6.js → p-0c9eb057.js} +1 -1
- package/dist/nano-components/{p-4365edc6.js.map → p-0c9eb057.js.map} +1 -1
- package/dist/nano-components/{p-dce1f547.entry.js → p-104a9d64.entry.js} +2 -2
- package/dist/nano-components/p-104a9d64.entry.js.map +1 -0
- package/dist/nano-components/{p-8611e764.system.entry.js → p-10f24f67.system.entry.js} +2 -2
- package/dist/nano-components/{p-8611e764.system.entry.js.map → p-10f24f67.system.entry.js.map} +0 -0
- package/dist/nano-components/p-1477b91d.system.js +2 -0
- package/dist/nano-components/p-1477b91d.system.js.map +1 -0
- package/dist/nano-components/{p-461c539f.system.entry.js → p-1c7614c4.system.entry.js} +2 -2
- package/dist/nano-components/p-1c7614c4.system.entry.js.map +1 -0
- package/dist/nano-components/{p-8a41ccd9.system.entry.js → p-1d16e897.system.entry.js} +2 -2
- package/dist/nano-components/{p-8a41ccd9.system.entry.js.map → p-1d16e897.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-4042379b.system.entry.js → p-21a6f295.system.entry.js} +2 -2
- package/dist/nano-components/p-21a6f295.system.entry.js.map +1 -0
- package/dist/nano-components/{p-9a456956.system.js → p-2671d998.system.js} +2 -2
- package/dist/nano-components/p-2671d998.system.js.map +1 -0
- package/dist/nano-components/{p-7367dfd5.system.entry.js → p-273b19b0.system.entry.js} +2 -2
- package/dist/nano-components/{p-7367dfd5.system.entry.js.map → p-273b19b0.system.entry.js.map} +0 -0
- package/dist/nano-components/p-28123e6e.entry.js +2 -0
- package/dist/nano-components/p-28123e6e.entry.js.map +1 -0
- package/dist/nano-components/{p-7b3de191.entry.js → p-2ae39fa1.entry.js} +2 -2
- package/dist/nano-components/p-2ae39fa1.entry.js.map +1 -0
- package/dist/nano-components/{p-47d2a49e.system.js → p-2d0b8da6.system.js} +1 -1
- package/dist/nano-components/{p-47d2a49e.system.js.map → p-2d0b8da6.system.js.map} +1 -1
- package/dist/nano-components/{p-6a9fe61f.system.entry.js → p-2edaf0eb.system.entry.js} +3 -3
- package/dist/nano-components/{p-6a9fe61f.system.entry.js.map → p-2edaf0eb.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-be430309.system.entry.js → p-2f876f68.system.entry.js} +2 -2
- package/dist/nano-components/{p-be430309.system.entry.js.map → p-2f876f68.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-e1429ff0.system.entry.js → p-305ba54b.system.entry.js} +2 -2
- package/dist/nano-components/p-305ba54b.system.entry.js.map +1 -0
- package/dist/nano-components/{p-e142f6b6.system.entry.js → p-30a22cd0.system.entry.js} +2 -2
- package/dist/nano-components/p-30a22cd0.system.entry.js.map +1 -0
- package/dist/nano-components/{p-a897cfae.system.entry.js → p-31c52d0a.system.entry.js} +2 -2
- package/dist/nano-components/p-31c52d0a.system.entry.js.map +1 -0
- package/dist/nano-components/{p-f578998d.system.entry.js → p-325f32b3.system.entry.js} +2 -2
- package/dist/nano-components/p-325f32b3.system.entry.js.map +1 -0
- package/dist/nano-components/{p-bc09eba8.entry.js → p-3b2ea5fd.entry.js} +2 -2
- package/dist/nano-components/p-3b2ea5fd.entry.js.map +1 -0
- package/dist/nano-components/{p-0283a2ec.js → p-4370f8ae.js} +2 -2
- package/dist/nano-components/p-4370f8ae.js.map +1 -0
- package/dist/nano-components/{p-d7eb8c22.system.js → p-4647a31f.system.js} +2 -2
- package/dist/nano-components/{p-d7eb8c22.system.js.map → p-4647a31f.system.js.map} +1 -1
- package/dist/nano-components/{p-79e11525.system.entry.js → p-491096f0.system.entry.js} +2 -2
- package/dist/nano-components/p-491096f0.system.entry.js.map +1 -0
- package/dist/nano-components/{p-fb8aa0a7.system.entry.js → p-4e21bfe1.system.entry.js} +2 -2
- package/dist/nano-components/{p-fb8aa0a7.system.entry.js.map → p-4e21bfe1.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-847ce50c.entry.js → p-4fa0b560.entry.js} +2 -2
- package/dist/nano-components/{p-847ce50c.entry.js.map → p-4fa0b560.entry.js.map} +0 -0
- package/dist/nano-components/{p-1bd92497.system.entry.js → p-4fbc3c8b.system.entry.js} +2 -2
- package/dist/nano-components/{p-1bd92497.system.entry.js.map → p-4fbc3c8b.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-5198e4c6.system.js → p-508484f8.system.js} +2 -2
- package/dist/nano-components/p-508484f8.system.js.map +1 -0
- package/dist/nano-components/p-5672ebbb.system.entry.js +2 -0
- package/dist/nano-components/p-5672ebbb.system.entry.js.map +1 -0
- package/dist/nano-components/{p-405d92a0.entry.js → p-574143b5.entry.js} +2 -2
- package/dist/nano-components/{p-405d92a0.entry.js.map → p-574143b5.entry.js.map} +0 -0
- package/dist/nano-components/{p-346f0d8c.system.entry.js → p-57434dc5.system.entry.js} +2 -2
- package/dist/nano-components/{p-346f0d8c.system.entry.js.map → p-57434dc5.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-7b94cd1c.entry.js → p-574f1393.entry.js} +2 -2
- package/dist/nano-components/p-574f1393.entry.js.map +1 -0
- package/dist/nano-components/{p-6b22f5db.entry.js → p-580eac05.entry.js} +2 -2
- package/dist/nano-components/p-580eac05.entry.js.map +1 -0
- package/dist/nano-components/{p-fa884269.entry.js → p-59aba360.entry.js} +2 -2
- package/dist/nano-components/{p-fa884269.entry.js.map → p-59aba360.entry.js.map} +0 -0
- package/dist/nano-components/{p-e886b71e.system.js → p-698a8ab3.system.js} +2 -2
- package/dist/nano-components/p-698a8ab3.system.js.map +1 -0
- package/dist/nano-components/{p-6ba91d36.entry.js → p-6a3eee01.entry.js} +2 -2
- package/dist/nano-components/p-6a3eee01.entry.js.map +1 -0
- package/dist/nano-components/{p-1ed74370.entry.js → p-6aab52a0.entry.js} +2 -2
- package/dist/nano-components/p-6aab52a0.entry.js.map +1 -0
- package/dist/nano-components/{p-e5a19e7f.entry.js → p-6dc59ae8.entry.js} +2 -2
- package/dist/nano-components/{p-e5a19e7f.entry.js.map → p-6dc59ae8.entry.js.map} +0 -0
- package/dist/nano-components/{p-c171b273.entry.js → p-6eba639a.entry.js} +3 -3
- package/dist/nano-components/{p-c171b273.entry.js.map → p-6eba639a.entry.js.map} +0 -0
- package/dist/nano-components/{p-4739c706.system.entry.js → p-73d969d0.system.entry.js} +2 -2
- package/dist/nano-components/{p-4739c706.system.entry.js.map → p-73d969d0.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-a50ca06f.system.entry.js → p-7dc79f13.system.entry.js} +2 -2
- package/dist/nano-components/{p-a50ca06f.system.entry.js.map → p-7dc79f13.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-ba59977d.entry.js → p-7df31b1c.entry.js} +2 -2
- package/dist/nano-components/{p-ba59977d.entry.js.map → p-7df31b1c.entry.js.map} +0 -0
- package/dist/nano-components/{p-60b2ba81.system.entry.js → p-7e208086.system.entry.js} +2 -2
- package/dist/nano-components/p-7e208086.system.entry.js.map +1 -0
- package/dist/nano-components/{p-63cc5e0d.system.entry.js → p-7e4129b4.system.entry.js} +2 -2
- package/dist/nano-components/{p-63cc5e0d.system.entry.js.map → p-7e4129b4.system.entry.js.map} +0 -0
- package/dist/nano-components/{p-7fdff708.entry.js → p-7e68796f.entry.js} +2 -2
- package/dist/nano-components/p-7e68796f.entry.js.map +1 -0
- package/dist/nano-components/{p-027c5ed7.entry.js → p-81d7fd45.entry.js} +2 -2
- package/dist/nano-components/{p-027c5ed7.entry.js.map → p-81d7fd45.entry.js.map} +0 -0
- package/dist/nano-components/{p-d795cbd4.entry.js → p-82571543.entry.js} +2 -2
- package/dist/nano-components/p-82571543.entry.js.map +1 -0
- package/dist/nano-components/{p-7a0e9c6f.system.entry.js → p-844a1134.system.entry.js} +2 -2
- package/dist/nano-components/{p-7a0e9c6f.system.entry.js.map → p-844a1134.system.entry.js.map} +0 -0
- package/dist/nano-components/p-8535a942.entry.js +2 -0
- package/dist/nano-components/p-8535a942.entry.js.map +1 -0
- package/dist/nano-components/{p-c6796f75.entry.js → p-8c1d85ae.entry.js} +2 -2
- package/dist/nano-components/p-8c1d85ae.entry.js.map +1 -0
- package/dist/nano-components/{p-b6f5e5ef.system.js → p-8d24287e.system.js} +1 -1
- package/dist/nano-components/{p-b6f5e5ef.system.js.map → p-8d24287e.system.js.map} +1 -1
- package/dist/nano-components/{p-20ad4e90.system.entry.js → p-8ed6acea.system.entry.js} +2 -2
- package/dist/nano-components/{p-20ad4e90.system.entry.js.map → p-8ed6acea.system.entry.js.map} +0 -0
- package/dist/nano-components/p-9164e5e2.system.entry.js +2 -0
- package/dist/nano-components/p-9164e5e2.system.entry.js.map +1 -0
- package/dist/nano-components/{p-9920e725.system.js → p-9348c301.system.js} +1 -1
- package/dist/nano-components/p-9348c301.system.js.map +1 -0
- package/dist/nano-components/p-9371d81b.system.entry.js +2 -0
- package/dist/nano-components/p-9371d81b.system.entry.js.map +1 -0
- package/dist/nano-components/{p-89a5c54a.system.js → p-94f03788.system.js} +1 -1
- package/dist/nano-components/{p-89a5c54a.system.js.map → p-94f03788.system.js.map} +1 -1
- package/dist/nano-components/{p-fa926d02.system.entry.js → p-95a4c3f2.system.entry.js} +2 -2
- package/dist/nano-components/p-95a4c3f2.system.entry.js.map +1 -0
- package/dist/nano-components/p-96ba0d00.entry.js +2 -0
- package/dist/nano-components/p-96ba0d00.entry.js.map +1 -0
- package/dist/nano-components/p-99637978.entry.js +2 -0
- package/dist/nano-components/p-99637978.entry.js.map +1 -0
- package/dist/nano-components/{p-f5f76780.entry.js → p-9ccd832b.entry.js} +2 -2
- package/dist/nano-components/p-9ccd832b.entry.js.map +1 -0
- package/dist/nano-components/{p-e1fd68eb.js → p-a1680208.js} +2 -2
- package/dist/nano-components/{p-e1fd68eb.js.map → p-a1680208.js.map} +1 -1
- package/dist/nano-components/{p-fb7ae92c.entry.js → p-a53a193c.entry.js} +2 -2
- package/dist/nano-components/p-a53a193c.entry.js.map +1 -0
- package/dist/nano-components/p-a7ac7964.system.entry.js +2 -0
- package/dist/nano-components/p-a7ac7964.system.entry.js.map +1 -0
- package/dist/nano-components/{p-ec01a0ad.system.entry.js → p-aadd8c31.system.entry.js} +2 -2
- package/dist/nano-components/p-aadd8c31.system.entry.js.map +1 -0
- package/dist/nano-components/p-ab666582.entry.js +2 -0
- package/dist/nano-components/p-ab666582.entry.js.map +1 -0
- package/dist/nano-components/p-acd5d0f0.system.entry.js +2 -0
- package/dist/nano-components/p-acd5d0f0.system.entry.js.map +1 -0
- package/dist/nano-components/p-af9f6453.system.js +2 -0
- package/dist/nano-components/p-af9f6453.system.js.map +1 -0
- package/dist/nano-components/p-b1d3ab54.system.entry.js +2 -0
- package/dist/nano-components/p-b1d3ab54.system.entry.js.map +1 -0
- package/dist/nano-components/{p-27520572.entry.js → p-b3131821.entry.js} +2 -2
- package/dist/nano-components/{p-27520572.entry.js.map → p-b3131821.entry.js.map} +0 -0
- package/dist/nano-components/{p-e24d3e8a.entry.js → p-b7a58722.entry.js} +2 -2
- package/dist/nano-components/p-b7a58722.entry.js.map +1 -0
- package/dist/nano-components/p-bb0619e6.js +2 -0
- package/dist/nano-components/p-bb0619e6.js.map +1 -0
- package/dist/nano-components/{p-d0c501a0.entry.js → p-c3f861c5.entry.js} +2 -2
- package/dist/nano-components/{p-d0c501a0.entry.js.map → p-c3f861c5.entry.js.map} +1 -1
- package/dist/nano-components/{p-21f484a3.system.entry.js → p-c655e010.system.entry.js} +2 -2
- package/dist/nano-components/{p-21f484a3.system.entry.js.map → p-c655e010.system.entry.js.map} +1 -1
- package/dist/nano-components/p-c72b22be.entry.js +2 -0
- package/dist/nano-components/p-c72b22be.entry.js.map +1 -0
- package/dist/nano-components/p-d112948c.js +2 -0
- package/dist/nano-components/p-d112948c.js.map +1 -0
- package/dist/nano-components/{p-09b702fb.entry.js → p-d250987a.entry.js} +2 -2
- package/dist/nano-components/{p-09b702fb.entry.js.map → p-d250987a.entry.js.map} +0 -0
- package/dist/nano-components/p-d393d10a.system.entry.js +2 -0
- package/dist/nano-components/p-d393d10a.system.entry.js.map +1 -0
- package/dist/nano-components/p-db271541.entry.js +2 -0
- package/dist/nano-components/p-db271541.entry.js.map +1 -0
- package/dist/nano-components/p-dccd86ec.system.js +4 -0
- package/dist/nano-components/p-dccd86ec.system.js.map +1 -0
- package/dist/nano-components/p-e0cc37fb.entry.js +2 -0
- package/dist/nano-components/{p-2e1f6c4a.entry.js.map → p-e0cc37fb.entry.js.map} +1 -1
- package/dist/nano-components/{p-76bf0452.system.entry.js → p-e28536b4.system.entry.js} +2 -2
- package/dist/nano-components/p-e28536b4.system.entry.js.map +1 -0
- package/dist/nano-components/{p-acfe1b68.entry.js → p-ebf34764.entry.js} +2 -2
- package/dist/nano-components/{p-acfe1b68.entry.js.map → p-ebf34764.entry.js.map} +0 -0
- package/dist/nano-components/{p-e33dd8b9.js → p-ed174626.js} +1 -1
- package/dist/nano-components/p-ed174626.js.map +1 -0
- package/dist/nano-components/{p-c930d4f5.js → p-ed2efbeb.js} +1 -1
- package/dist/nano-components/{p-c930d4f5.js.map → p-ed2efbeb.js.map} +1 -1
- package/dist/nano-components/p-edddeaae.system.js +2 -0
- package/dist/nano-components/p-edddeaae.system.js.map +1 -0
- package/dist/nano-components/p-ef5d9308.entry.js +2 -0
- package/dist/nano-components/p-ef5d9308.entry.js.map +1 -0
- package/dist/nano-components/p-f234e064.system.entry.js +2 -0
- package/dist/nano-components/p-f234e064.system.entry.js.map +1 -0
- package/dist/nano-components/{p-507490fc.system.entry.js → p-f27c9429.system.entry.js} +2 -2
- package/dist/nano-components/{p-507490fc.system.entry.js.map → p-f27c9429.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-372ce425.entry.js → p-f3688bce.entry.js} +2 -2
- package/dist/nano-components/{p-372ce425.entry.js.map → p-f3688bce.entry.js.map} +0 -0
- package/dist/nano-components/{p-35eb8352.system.entry.js → p-f86db7c0.system.entry.js} +2 -2
- package/dist/nano-components/{p-35eb8352.system.entry.js.map → p-f86db7c0.system.entry.js.map} +1 -1
- package/dist/nano-components/{p-6747f517.system.entry.js → p-fa86645d.system.entry.js} +2 -2
- package/dist/nano-components/p-fa86645d.system.entry.js.map +1 -0
- package/dist/nano-components/{p-9c26b459.js → p-fd0fca23.js} +1 -1
- package/dist/nano-components/{p-9c26b459.js.map → p-fd0fca23.js.map} +1 -1
- package/dist/nano-components/p-fdfa03d7.entry.js +2 -0
- package/dist/nano-components/p-fdfa03d7.entry.js.map +1 -0
- package/dist/nano-components/p-ff2ff5b0.js +2 -0
- package/dist/nano-components/p-ff2ff5b0.js.map +1 -0
- package/dist/nano-components/p-ff5890b4.entry.js +2 -0
- package/dist/nano-components/p-ff5890b4.entry.js.map +1 -0
- package/dist/nano-components/{p-23e9f09e.entry.js → p-ffab923c.entry.js} +2 -2
- package/dist/nano-components/p-ffab923c.entry.js.map +1 -0
- package/dist/themes/nanopore.css +1 -1
- package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +1 -1
- package/dist/types/components/checkbox/__tests__/__fixtures__/checkbox-templates.d.ts +8 -0
- package/dist/types/components/checkbox/checkbox-group.d.ts +4 -2
- package/dist/types/components/checkbox/checkbox.d.ts +9 -5
- package/dist/types/components/date-input/date-input.d.ts +9 -0
- package/dist/types/components/date-picker/date-picker.d.ts +9 -4
- package/dist/types/components/details/details.d.ts +1 -0
- package/dist/types/components/dropdown/dropdown.d.ts +21 -14
- package/dist/types/components/file-upload/file-upload-interface.d.ts +4 -3
- package/dist/types/components/file-upload/file-upload.d.ts +2 -12
- package/dist/types/components/input/input.d.ts +2 -1
- package/dist/types/components/tooltip/tooltip.d.ts +10 -7
- package/dist/types/components.d.ts +40 -14
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +1 -1
- package/dist/types/utils/{utils.d.ts → index.d.ts} +0 -0
- package/dist/types/utils/testing/index.d.ts +49 -0
- package/docs-json.json +125 -47
- package/docs-vscode.json +9 -1
- package/package.json +13 -11
- package/dist/cjs/algolia-data-771a61ea.js.map +0 -1
- package/dist/cjs/algoliasearch.umd-51f0001d.js +0 -12
- package/dist/cjs/algoliasearch.umd-51f0001d.js.map +0 -1
- package/dist/cjs/global-befb7a64.js.map +0 -1
- package/dist/cjs/index-43791691.js.map +0 -1
- package/dist/cjs/popover-eccc07bd.js.map +0 -1
- package/dist/cjs/shadow-css-c5dce0c8.js.map +0 -1
- package/dist/collection/utils/testing-utils.js +0 -156
- package/dist/collection/utils/testing-utils.js.map +0 -1
- package/dist/esm/algolia-data-a84aeef1.js.map +0 -1
- package/dist/esm/algoliasearch.umd-2c129faa.js +0 -10
- package/dist/esm/algoliasearch.umd-2c129faa.js.map +0 -1
- package/dist/esm/global-c85d24a2.js.map +0 -1
- package/dist/esm/index-20becda2.js.map +0 -1
- package/dist/esm/shadow-css-70953e54.js.map +0 -1
- package/dist/esm-es5/algolia-data-a84aeef1.js.map +0 -1
- package/dist/esm-es5/algoliasearch.umd-2c129faa.js +0 -4
- package/dist/esm-es5/algoliasearch.umd-2c129faa.js.map +0 -1
- package/dist/esm-es5/global-c85d24a2.js.map +0 -1
- package/dist/esm-es5/index-20becda2.js +0 -2
- package/dist/esm-es5/index-20becda2.js.map +0 -1
- package/dist/esm-es5/popover-05f61b5f.js +0 -2
- package/dist/esm-es5/popover-05f61b5f.js.map +0 -1
- package/dist/esm-es5/shadow-css-70953e54.js.map +0 -1
- package/dist/nano-components/p-0283a2ec.js.map +0 -1
- package/dist/nano-components/p-1ce90ea4.entry.js.map +0 -1
- package/dist/nano-components/p-1ed74370.entry.js.map +0 -1
- package/dist/nano-components/p-1f7502fa.js +0 -2
- package/dist/nano-components/p-1f7502fa.js.map +0 -1
- package/dist/nano-components/p-1fd60eec.system.js +0 -2
- package/dist/nano-components/p-1fd60eec.system.js.map +0 -1
- package/dist/nano-components/p-201b5f5b.entry.js +0 -2
- package/dist/nano-components/p-201b5f5b.entry.js.map +0 -1
- package/dist/nano-components/p-214ad382.entry.js +0 -2
- package/dist/nano-components/p-214ad382.entry.js.map +0 -1
- package/dist/nano-components/p-23da4de5.js +0 -4
- package/dist/nano-components/p-23da4de5.js.map +0 -1
- package/dist/nano-components/p-23e9f09e.entry.js.map +0 -1
- package/dist/nano-components/p-2d59dda3.system.js +0 -2
- package/dist/nano-components/p-2d59dda3.system.js.map +0 -1
- package/dist/nano-components/p-2e1f6c4a.entry.js +0 -2
- package/dist/nano-components/p-4042379b.system.entry.js.map +0 -1
- package/dist/nano-components/p-45e06083.system.entry.js +0 -2
- package/dist/nano-components/p-45e06083.system.entry.js.map +0 -1
- package/dist/nano-components/p-461c539f.system.entry.js.map +0 -1
- package/dist/nano-components/p-4bca8761.entry.js +0 -2
- package/dist/nano-components/p-4bca8761.entry.js.map +0 -1
- package/dist/nano-components/p-4ee095f3.js +0 -2
- package/dist/nano-components/p-4ee095f3.js.map +0 -1
- package/dist/nano-components/p-5198e4c6.system.js.map +0 -1
- package/dist/nano-components/p-568be88a.entry.js +0 -2
- package/dist/nano-components/p-568be88a.entry.js.map +0 -1
- package/dist/nano-components/p-5918ac51.entry.js +0 -2
- package/dist/nano-components/p-5918ac51.entry.js.map +0 -1
- package/dist/nano-components/p-5f716719.system.entry.js +0 -2
- package/dist/nano-components/p-5f716719.system.entry.js.map +0 -1
- package/dist/nano-components/p-60b2ba81.system.entry.js.map +0 -1
- package/dist/nano-components/p-6747f517.system.entry.js.map +0 -1
- package/dist/nano-components/p-6b22f5db.entry.js.map +0 -1
- package/dist/nano-components/p-6ba91d36.entry.js.map +0 -1
- package/dist/nano-components/p-76bf0452.system.entry.js.map +0 -1
- package/dist/nano-components/p-79e11525.system.entry.js.map +0 -1
- package/dist/nano-components/p-7b3de191.entry.js.map +0 -1
- package/dist/nano-components/p-7b94cd1c.entry.js.map +0 -1
- package/dist/nano-components/p-7f3b4f80.entry.js +0 -2
- package/dist/nano-components/p-7f3b4f80.entry.js.map +0 -1
- package/dist/nano-components/p-7fdff708.entry.js.map +0 -1
- package/dist/nano-components/p-8fe04c5c.system.entry.js +0 -2
- package/dist/nano-components/p-8fe04c5c.system.entry.js.map +0 -1
- package/dist/nano-components/p-93b1eeea.system.js +0 -2
- package/dist/nano-components/p-93b1eeea.system.js.map +0 -1
- package/dist/nano-components/p-9920e725.system.js.map +0 -1
- package/dist/nano-components/p-9a456956.system.js.map +0 -1
- package/dist/nano-components/p-9b9ca075.system.entry.js.map +0 -1
- package/dist/nano-components/p-a897cfae.system.entry.js.map +0 -1
- package/dist/nano-components/p-bc09eba8.entry.js.map +0 -1
- package/dist/nano-components/p-c3401b82.entry.js +0 -2
- package/dist/nano-components/p-c3401b82.entry.js.map +0 -1
- package/dist/nano-components/p-c4edcfc5.system.entry.js +0 -2
- package/dist/nano-components/p-c4edcfc5.system.entry.js.map +0 -1
- package/dist/nano-components/p-c6796f75.entry.js.map +0 -1
- package/dist/nano-components/p-c8792b54.system.entry.js +0 -2
- package/dist/nano-components/p-c8792b54.system.entry.js.map +0 -1
- package/dist/nano-components/p-cb750e49.system.js +0 -4
- package/dist/nano-components/p-cb750e49.system.js.map +0 -1
- package/dist/nano-components/p-cc5080df.entry.js +0 -2
- package/dist/nano-components/p-cc5080df.entry.js.map +0 -1
- package/dist/nano-components/p-d2ae5ac1.entry.js +0 -2
- package/dist/nano-components/p-d2ae5ac1.entry.js.map +0 -1
- package/dist/nano-components/p-d795cbd4.entry.js.map +0 -1
- package/dist/nano-components/p-da9f75d2.system.entry.js +0 -2
- package/dist/nano-components/p-da9f75d2.system.entry.js.map +0 -1
- package/dist/nano-components/p-dce1f547.entry.js.map +0 -1
- package/dist/nano-components/p-dd66cc74.entry.js +0 -2
- package/dist/nano-components/p-dd66cc74.entry.js.map +0 -1
- package/dist/nano-components/p-e1429ff0.system.entry.js.map +0 -1
- package/dist/nano-components/p-e142f6b6.system.entry.js.map +0 -1
- package/dist/nano-components/p-e24d3e8a.entry.js.map +0 -1
- package/dist/nano-components/p-e2848c8a.system.entry.js +0 -2
- package/dist/nano-components/p-e2848c8a.system.entry.js.map +0 -1
- package/dist/nano-components/p-e33dd8b9.js.map +0 -1
- package/dist/nano-components/p-e886b71e.system.js.map +0 -1
- package/dist/nano-components/p-e8a97250.system.entry.js +0 -2
- package/dist/nano-components/p-e8a97250.system.entry.js.map +0 -1
- package/dist/nano-components/p-ec01a0ad.system.entry.js.map +0 -1
- package/dist/nano-components/p-f55560d3.js +0 -2
- package/dist/nano-components/p-f55560d3.js.map +0 -1
- package/dist/nano-components/p-f578998d.system.entry.js.map +0 -1
- package/dist/nano-components/p-f5f76780.entry.js.map +0 -1
- package/dist/nano-components/p-fa926d02.system.entry.js.map +0 -1
- package/dist/nano-components/p-fb7ae92c.entry.js.map +0 -1
- package/dist/types/utils/testing-utils.d.ts +0 -41
@@ -0,0 +1,242 @@
|
|
1
|
+
import { newE2EPage } from '@stencil/core/testing';
|
2
|
+
import axe from 'axe-core';
|
3
|
+
export class E2EPlayGround {
|
4
|
+
constructor(setup) {
|
5
|
+
this.viewportWidth = 600;
|
6
|
+
setup =
|
7
|
+
typeof setup === 'string'
|
8
|
+
? { template: `<${setup} {{ attrs }}></${setup}>`, tag: setup }
|
9
|
+
: setup;
|
10
|
+
this.template = setup.template;
|
11
|
+
this.tag = setup.tag;
|
12
|
+
}
|
13
|
+
get attrs() {
|
14
|
+
if (!this.props)
|
15
|
+
return '';
|
16
|
+
return Object.entries(this.props)
|
17
|
+
.map(([attr, value]) => `${kebabize(attr)}="${value}"`)
|
18
|
+
.join(' ');
|
19
|
+
}
|
20
|
+
get css() {
|
21
|
+
if (!this.cssVars)
|
22
|
+
return '';
|
23
|
+
return Object.entries(this.cssVars)
|
24
|
+
.map(([attr, value]) => `${attr}: ${value}`)
|
25
|
+
.join('\n');
|
26
|
+
}
|
27
|
+
async newPage(props, docOpts) {
|
28
|
+
if (!this.template || !this.tag) {
|
29
|
+
console.warn('no template set');
|
30
|
+
return;
|
31
|
+
}
|
32
|
+
this.props = props;
|
33
|
+
this.page = await createPage({
|
34
|
+
html: `
|
35
|
+
<style>
|
36
|
+
:root {
|
37
|
+
${this.css}
|
38
|
+
}
|
39
|
+
</style>
|
40
|
+
${this.template.replace(/(\{\{ attrs \}\})/g, this.attrs)}
|
41
|
+
`,
|
42
|
+
viewportWidth: this.viewportWidth,
|
43
|
+
viewportHeight: this.viewportHeight,
|
44
|
+
dir: docOpts ? docOpts.dir : 'ltr',
|
45
|
+
});
|
46
|
+
return this.page;
|
47
|
+
}
|
48
|
+
reportA11y() {
|
49
|
+
if (!this.page) {
|
50
|
+
console.warn('no page rendered');
|
51
|
+
return;
|
52
|
+
}
|
53
|
+
return this.page.reportA11y(this.tag);
|
54
|
+
}
|
55
|
+
component() {
|
56
|
+
if (!this.page) {
|
57
|
+
console.warn('no page rendered');
|
58
|
+
return;
|
59
|
+
}
|
60
|
+
return this.page.find(this.tag);
|
61
|
+
}
|
62
|
+
async componentQuery(selectorStr, shadow = true) {
|
63
|
+
if (!this.page) {
|
64
|
+
console.warn('no page rendered');
|
65
|
+
return;
|
66
|
+
}
|
67
|
+
if (!selectorStr) {
|
68
|
+
console.warn('selectorStr not set');
|
69
|
+
return;
|
70
|
+
}
|
71
|
+
if (shadow) {
|
72
|
+
return (await this.page.waitForFunction((args) => {
|
73
|
+
const [tag, selectorStr] = args;
|
74
|
+
return document
|
75
|
+
.querySelector(tag)
|
76
|
+
.shadowRoot.querySelector(selectorStr);
|
77
|
+
}, {}, [this.tag, selectorStr])).asElement();
|
78
|
+
}
|
79
|
+
else {
|
80
|
+
return (await this.page.waitForFunction((args) => {
|
81
|
+
const [tag, selectorStr] = args;
|
82
|
+
return document.querySelector(tag + ' ' + selectorStr);
|
83
|
+
}, {}, [this.tag, selectorStr])).asElement();
|
84
|
+
}
|
85
|
+
}
|
86
|
+
}
|
87
|
+
export async function getFocusedElement(page, shadowEleSelector = null) {
|
88
|
+
if (!shadowEleSelector)
|
89
|
+
return page.evaluateHandle(() => document.activeElement);
|
90
|
+
else {
|
91
|
+
return page.evaluateHandle((shadowEleSelector) => document.querySelector(shadowEleSelector).shadowRoot.activeElement, shadowEleSelector);
|
92
|
+
}
|
93
|
+
}
|
94
|
+
export async function createPage(optionsOrHtml) {
|
95
|
+
const options = typeof optionsOrHtml === 'string'
|
96
|
+
? { html: optionsOrHtml, viewportWidth: 600, dir: 'ltr' }
|
97
|
+
: optionsOrHtml;
|
98
|
+
const page = (await newE2EPage());
|
99
|
+
// setup navigator langs for consistent localization
|
100
|
+
await page.evaluate(() => {
|
101
|
+
Object.defineProperty(navigator, 'language', {
|
102
|
+
get: function () {
|
103
|
+
return 'en-GB';
|
104
|
+
},
|
105
|
+
});
|
106
|
+
Object.defineProperty(navigator, 'languages', {
|
107
|
+
get: function () {
|
108
|
+
return ['en-GB'];
|
109
|
+
},
|
110
|
+
});
|
111
|
+
});
|
112
|
+
const viewport = Object.assign({ height: options.viewportHeight || page.viewport().height }, { width: options.viewportWidth });
|
113
|
+
// set viewport size
|
114
|
+
await page.setViewport(viewport);
|
115
|
+
// add content
|
116
|
+
await page.setContent(`<link rel="stylesheet" href="/themes/nanopore.css">
|
117
|
+
<div class="screenshot" style="padding: 1rem;">${options.html}</div>`, { waitUntil: 'networkidle2' });
|
118
|
+
// set the direction - need to set here as stencil removes it on setContent
|
119
|
+
await page.evaluate((dir) => {
|
120
|
+
document.documentElement.setAttribute('dir', dir);
|
121
|
+
document.dir = dir;
|
122
|
+
}, options.dir);
|
123
|
+
// monkey patch screenshot function to add some extra features
|
124
|
+
const screenshot = page.screenshot;
|
125
|
+
page.screenshot = async function () {
|
126
|
+
// get the element's height, and set viewport to that height
|
127
|
+
// this enables us to get full page, clipped screenshots
|
128
|
+
const htmlElement = await page.$('.screenshot');
|
129
|
+
let { width, height } = await htmlElement.boundingBox();
|
130
|
+
await page.setViewport({
|
131
|
+
width: page.viewport().width,
|
132
|
+
height: options.viewportHeight || Math.round(height),
|
133
|
+
});
|
134
|
+
return screenshot.call(page, {
|
135
|
+
clip: {
|
136
|
+
x: 0,
|
137
|
+
y: 0,
|
138
|
+
width: Math.round(width),
|
139
|
+
height: options.viewportHeight || Math.round(height),
|
140
|
+
},
|
141
|
+
captureBeyondViewport: false,
|
142
|
+
});
|
143
|
+
};
|
144
|
+
await page.evaluate(async (source) => await window.eval(source), axe.source);
|
145
|
+
page.reportA11y = async (contextQuery) => {
|
146
|
+
const result = await page.evaluate(async (contextQuery) => {
|
147
|
+
const context = {
|
148
|
+
include: contextQuery ? [[contextQuery]] : undefined,
|
149
|
+
exclude: [[contextQuery + ' .button--primary']],
|
150
|
+
};
|
151
|
+
const opts = {};
|
152
|
+
return await window.axe.run(context, opts);
|
153
|
+
}, contextQuery);
|
154
|
+
// we only want serious issues and we want to ignore nanopore buttons. We know though they're bad.
|
155
|
+
const violations = result.violations
|
156
|
+
.filter((violation) => [`serious`, `critical`].includes(violation.impact))
|
157
|
+
.filter((violation) => {
|
158
|
+
violation.nodes = violation.nodes.filter((node) => !node.target.join().match('.button--'));
|
159
|
+
return !!violation.nodes.length;
|
160
|
+
});
|
161
|
+
const outout = violations
|
162
|
+
.map((violations, index) => `(${index}) [Type: ${violations.id}]: ${violations.description} (${violations.help}).
|
163
|
+
Elements: ${violations.nodes
|
164
|
+
.map((node, index) => `[${index}]'${node.target}'`)
|
165
|
+
.join(`, `)}.`)
|
166
|
+
.join(`\n\n`);
|
167
|
+
return outout;
|
168
|
+
};
|
169
|
+
return page;
|
170
|
+
}
|
171
|
+
export const kebabize = (str) => {
|
172
|
+
return str
|
173
|
+
.split('')
|
174
|
+
.map((letter, idx) => {
|
175
|
+
return letter.toUpperCase() === letter
|
176
|
+
? `${idx !== 0 ? '-' : ''}${letter.toLowerCase()}`
|
177
|
+
: letter;
|
178
|
+
})
|
179
|
+
.join('');
|
180
|
+
};
|
181
|
+
export const screenshotSettings = (dirname) => {
|
182
|
+
return {
|
183
|
+
failureThreshold: 0.002,
|
184
|
+
failureThresholdType: 'percent',
|
185
|
+
customSnapshotsDir: `${dirname}/__screenshots__/${process.platform}`,
|
186
|
+
};
|
187
|
+
};
|
188
|
+
export const waitForVisibleSnippet = (selector) => {
|
189
|
+
return `
|
190
|
+
(function () {
|
191
|
+
function isVisible(elem) {
|
192
|
+
if (!(elem instanceof Element)) throw Error('DomUtil: elem is not an element.');
|
193
|
+
const style = getComputedStyle(elem);
|
194
|
+
if (style.display === 'none') return false;
|
195
|
+
if (style.visibility !== 'visible') return false;
|
196
|
+
if (style.opacity < 0.1) return false;
|
197
|
+
if (elem.offsetWidth + elem.offsetHeight + elem.getBoundingClientRect().height +
|
198
|
+
elem.getBoundingClientRect().width === 0) {
|
199
|
+
return false;
|
200
|
+
}
|
201
|
+
const elemCenter = {
|
202
|
+
x: elem.getBoundingClientRect().left + elem.offsetWidth / 2,
|
203
|
+
y: elem.getBoundingClientRect().top + elem.offsetHeight / 2
|
204
|
+
};
|
205
|
+
if (elemCenter.x < 0) return false;
|
206
|
+
if (elemCenter.x > (document.documentElement.clientWidth || window.innerWidth)) return false;
|
207
|
+
if (elemCenter.y < 0) return false;
|
208
|
+
if (elemCenter.y > (document.documentElement.clientHeight || window.innerHeight)) return false;
|
209
|
+
let pointContainer = document.elementFromPoint(elemCenter.x, elemCenter.y);
|
210
|
+
do {
|
211
|
+
if (pointContainer === elem) return true;
|
212
|
+
} while (pointContainer = pointContainer.parentNode);
|
213
|
+
return false;
|
214
|
+
}
|
215
|
+
return isVisible(document.querySelector("${selector}"));
|
216
|
+
})()
|
217
|
+
`;
|
218
|
+
};
|
219
|
+
export const stringifyFormSnippet = `
|
220
|
+
<div id="form-result"></div>
|
221
|
+
<script>
|
222
|
+
var form = document.querySelector('form');
|
223
|
+
var result = document.querySelector('#form-result');
|
224
|
+
form.addEventListener('submit', (e) => {
|
225
|
+
e.preventDefault();
|
226
|
+
var data = new FormData(event.target);
|
227
|
+
var object = {};
|
228
|
+
data.forEach((value, key) => {
|
229
|
+
// Reflect.has in favor of: object.hasOwnProperty(key)
|
230
|
+
if(!Reflect.has(object, key)){
|
231
|
+
object[key] = value;
|
232
|
+
return;
|
233
|
+
}
|
234
|
+
if(!Array.isArray(object[key])){
|
235
|
+
object[key] = [object[key]];
|
236
|
+
}
|
237
|
+
object[key].push(value);
|
238
|
+
});
|
239
|
+
result.innerHTML = JSON.stringify(object);
|
240
|
+
})
|
241
|
+
</script>`;
|
242
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +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 { Page as PuppeteerPage } from 'puppeteer';\nimport axe, { RunOptions, ContextObject } from 'axe-core';\nimport { MatchImageSnapshotOptions } from 'jest-image-snapshot';\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};\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(props?: Partial<T>, docOpts?: { dir: 'rtl' | 'ltr' }) {\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 });\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 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 createPage(optionsOrHtml?: string | NanoE2EPageOptions) {\n const options: NanoE2EPageOptions =\n typeof optionsOrHtml === 'string'\n ? { html: optionsOrHtml, viewportWidth: 600, dir: 'ltr' }\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: 1rem;\">${options.html}</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 let { 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: ContextObject = {\n include: contextQuery ? [[contextQuery]] : undefined,\n exclude: [[contextQuery + ' .button--primary']],\n };\n const opts: 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 outout = violations\n .map(\n (violations, index) => `(${index}) [Type: ${violations.id}]: ${\n violations.description\n } (${violations.help}).\n Elements: ${violations.nodes\n .map((node, index) => `[${index}]'${node.target}'`)\n .join(`, `)}.`\n )\n .join(`\\n\\n`);\n return outout;\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"]}
|