@ukic/web-components 2.10.0 → 2.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core.cjs.js +3 -3
- package/dist/cjs/core.cjs.js.map +1 -1
- package/dist/cjs/{helpers-3f91f63a.js → helpers-56e80cc9.js} +6 -6
- package/dist/cjs/{helpers-3f91f63a.js.map → helpers-56e80cc9.js.map} +1 -1
- package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
- package/dist/cjs/ic-alert.cjs.entry.js +3 -3
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +5 -9
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +2 -2
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/ic-button_3.cjs.entry.js +62 -33
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +2 -2
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/ic-chip.cjs.entry.js +2 -2
- package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
- package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
- package/dist/cjs/ic-divider.cjs.entry.js +2 -2
- package/dist/cjs/ic-empty-state.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +2 -2
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +2 -2
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +2 -2
- package/dist/cjs/ic-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-item.cjs.entry.js +3 -3
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
- package/dist/cjs/ic-navigation-group.cjs.entry.js +6 -9
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +2 -2
- package/dist/cjs/ic-page-header.cjs.entry.js +3 -3
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-pagination.cjs.entry.js +2 -2
- package/dist/cjs/ic-popover-menu.cjs.entry.js +11 -5
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-radio-option.cjs.entry.js +2 -2
- package/dist/cjs/ic-search-bar.cjs.entry.js +2 -2
- package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +2 -2
- package/dist/cjs/ic-side-navigation.cjs.entry.js +39 -62
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +4 -3
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +2 -2
- package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
- package/dist/cjs/ic-switch.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab.cjs.entry.js +2 -2
- package/dist/cjs/ic-text-field.cjs.entry.js +49 -12
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +2 -2
- package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +13 -16
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +69 -0
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-top-navigation.cjs.entry.js +4 -3
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +2 -2
- package/dist/cjs/{index-152d1fe5.js → index-f982899d.js} +6 -12
- package/dist/cjs/index-f982899d.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
- package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
- package/dist/collection/components/ic-alert/ic-alert.css +0 -1
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +3 -7
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
- package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.css +11 -1
- package/dist/collection/components/ic-button/ic-button.js +28 -3
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-card/ic-card.js.map +1 -1
- package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
- package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
- package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
- package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
- package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
- package/dist/collection/components/ic-footer/ic-footer.js +1 -1
- package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
- package/dist/collection/components/ic-footer-link/ic-footer-link.css +2 -3
- package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
- package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
- package/dist/collection/components/ic-link/ic-link.js.map +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-menu-item/ic-menu-item.css +16 -16
- package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +4 -7
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +28 -7
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
- package/dist/collection/components/ic-page-header/ic-page-header.css +1 -1
- package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
- package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
- package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js +8 -1
- package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +9 -3
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
- package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +3 -0
- package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +1 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
- package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js +8 -1
- package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -1
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +41 -61
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
- package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.css +9 -0
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +1 -0
- package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
- package/dist/collection/components/ic-step/ic-step.js.map +1 -1
- package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
- package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
- package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.js +87 -11
- package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +20 -0
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
- package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
- package/dist/collection/components/ic-toast/ic-toast.js +11 -14
- package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
- package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +555 -0
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +291 -0
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -0
- package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +116 -0
- package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +1 -0
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +32 -27
- package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +11 -0
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +2 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
- package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
- package/dist/collection/utils/helpers.js +5 -5
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/components/helpers.js +5 -5
- package/dist/components/ic-alert2.js +1 -1
- package/dist/components/ic-alert2.js.map +1 -1
- package/dist/components/ic-back-to-top.js +3 -7
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-button2.js +28 -4
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-footer-link.js +1 -1
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-footer.js +1 -1
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-menu-item2.js +1 -1
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-group.js +4 -7
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-page-header.js +1 -1
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-popover-menu.js +9 -3
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-side-navigation.js +40 -61
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-status-tag.js +2 -1
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-text-field2.js +52 -10
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-toast.js +11 -14
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-toggle-button.d.ts +11 -0
- package/dist/components/ic-toggle-button.js +117 -0
- package/dist/components/ic-toggle-button.js.map +1 -0
- package/dist/components/ic-tooltip2.js +32 -27
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +2 -1
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-daebb58a.entry.js → p-003c44bd.entry.js} +2 -2
- package/dist/core/{p-b6a575c3.entry.js → p-049bf5e3.entry.js} +2 -2
- package/dist/core/p-0713230f.entry.js +2 -0
- package/dist/core/p-0713230f.entry.js.map +1 -0
- package/dist/core/{p-ea17e371.entry.js → p-0a0b748c.entry.js} +2 -2
- package/dist/core/{p-d18450f9.entry.js → p-0d2eb765.entry.js} +2 -2
- package/dist/core/{p-6d3f9501.entry.js → p-0ee13da0.entry.js} +2 -2
- package/dist/core/{p-15466b42.entry.js → p-1145e33c.entry.js} +2 -2
- package/dist/core/{p-056f8a67.entry.js → p-171e25c9.entry.js} +2 -2
- package/dist/core/{p-c2452388.entry.js → p-19c28c65.entry.js} +2 -2
- package/dist/core/p-19c28c65.entry.js.map +1 -0
- package/dist/core/{p-51f9f329.entry.js → p-1e809ecd.entry.js} +2 -2
- package/dist/core/p-1e809ecd.entry.js.map +1 -0
- package/dist/core/{p-85026377.entry.js → p-23980b58.entry.js} +2 -2
- package/dist/core/p-23980b58.entry.js.map +1 -0
- package/dist/core/{p-ad36a704.entry.js → p-26334b3a.entry.js} +2 -2
- package/dist/core/{p-dbb5b008.entry.js → p-29b812c0.entry.js} +2 -2
- package/dist/core/{p-b9736cf4.entry.js → p-2e7f22af.entry.js} +2 -2
- package/dist/core/{p-5f9d69ef.entry.js → p-32a480d5.entry.js} +2 -2
- package/dist/core/p-32a480d5.entry.js.map +1 -0
- package/dist/core/{p-94e88827.entry.js → p-330e1439.entry.js} +2 -2
- package/dist/core/p-330e1439.entry.js.map +1 -0
- package/dist/core/{p-aa0a9870.entry.js → p-357eaebe.entry.js} +2 -2
- package/dist/core/{p-9639e33f.entry.js → p-38bf02aa.entry.js} +2 -2
- package/dist/core/{p-b99f9e89.entry.js → p-3c752bca.entry.js} +2 -2
- package/dist/core/{p-3a0ef91e.entry.js → p-3cc52cbc.entry.js} +2 -2
- package/dist/core/{p-592c783e.entry.js → p-3ebe5fa3.entry.js} +2 -2
- package/dist/core/p-3ebe5fa3.entry.js.map +1 -0
- package/dist/core/{p-5c7e339f.entry.js → p-3f07c471.entry.js} +2 -2
- package/dist/core/p-3f07c471.entry.js.map +1 -0
- package/dist/core/{p-c770e7a2.entry.js → p-42c0e318.entry.js} +2 -2
- package/dist/core/{p-2b24b4bf.entry.js → p-4421203e.entry.js} +2 -2
- package/dist/core/{p-11736fbe.entry.js → p-4f1792a6.entry.js} +2 -2
- package/dist/core/{p-b39ecae2.entry.js → p-4f8b7aa3.entry.js} +2 -2
- package/dist/core/{p-8a83f391.entry.js → p-525323ab.entry.js} +2 -2
- package/dist/core/{p-e9738c74.entry.js → p-59c4bc0a.entry.js} +2 -2
- package/dist/core/{p-60c4604f.entry.js → p-5e6ad4a5.entry.js} +2 -2
- package/dist/core/{p-60c4604f.entry.js.map → p-5e6ad4a5.entry.js.map} +1 -1
- package/dist/core/{p-95a864bf.js → p-671b7cac.js} +1 -1
- package/dist/core/p-6b5e91e2.js +3 -0
- package/dist/core/p-6b5e91e2.js.map +1 -0
- package/dist/core/p-6bbe0550.entry.js +2 -0
- package/dist/core/p-6bbe0550.entry.js.map +1 -0
- package/dist/core/{p-fdb4b48f.entry.js → p-783c2ced.entry.js} +2 -2
- package/dist/core/{p-f2e6b9ef.entry.js → p-7b720034.entry.js} +2 -2
- package/dist/core/{p-22c024ee.entry.js → p-7c724f2c.entry.js} +2 -2
- package/dist/core/{p-335fc5e4.entry.js → p-8146336b.entry.js} +2 -2
- package/dist/core/{p-cd8de4c5.entry.js → p-8931210a.entry.js} +2 -2
- package/dist/core/{p-529d8955.entry.js → p-8a66cab4.entry.js} +2 -2
- package/dist/core/{p-ca48e97a.entry.js → p-8be3ec3d.entry.js} +2 -2
- package/dist/core/{p-180e36b1.entry.js → p-8c2322a9.entry.js} +2 -2
- package/dist/core/{p-31969be6.entry.js → p-8f97463f.entry.js} +2 -2
- package/dist/core/p-8f97463f.entry.js.map +1 -0
- package/dist/core/{p-edd29edc.entry.js → p-9184e385.entry.js} +2 -2
- package/dist/core/p-9808f7c9.entry.js +2 -0
- package/dist/core/p-9808f7c9.entry.js.map +1 -0
- package/dist/core/p-9e4c8a09.entry.js +2 -0
- package/dist/core/p-9e4c8a09.entry.js.map +1 -0
- package/dist/core/{p-366bcb17.entry.js → p-9ee138e7.entry.js} +2 -2
- package/dist/core/{p-15ef0674.entry.js → p-b74f92b6.entry.js} +2 -2
- package/dist/core/p-b74f92b6.entry.js.map +1 -0
- package/dist/core/{p-e5abfadd.entry.js → p-b7a2e604.entry.js} +2 -2
- package/dist/core/p-bb1a0018.entry.js +2 -0
- package/dist/core/p-bb1a0018.entry.js.map +1 -0
- package/dist/core/{p-b0088956.entry.js → p-bb41b637.entry.js} +2 -2
- package/dist/core/{p-a46130c8.entry.js → p-bf93455b.entry.js} +2 -2
- package/dist/core/{p-a46130c8.entry.js.map → p-bf93455b.entry.js.map} +1 -1
- package/dist/core/p-c1109ec7.entry.js +2 -0
- package/dist/core/p-c1109ec7.entry.js.map +1 -0
- package/dist/core/{p-cfc930f6.entry.js → p-c75d6022.entry.js} +2 -2
- package/dist/core/{p-f0809037.entry.js → p-c786d62f.entry.js} +2 -2
- package/dist/core/{p-edec0936.entry.js → p-c7a08024.entry.js} +2 -2
- package/dist/core/{p-6eb0421d.entry.js → p-cf798ea7.entry.js} +2 -2
- package/dist/core/{p-a908e7a9.entry.js → p-d3e54a29.entry.js} +2 -2
- package/dist/core/{p-287ab47c.entry.js → p-de87d585.entry.js} +2 -2
- package/dist/core/{p-15624e08.entry.js → p-e4d827d4.entry.js} +2 -2
- package/dist/core/{p-765bdd98.entry.js → p-e9723eaa.entry.js} +2 -2
- package/dist/core/{p-498eb7ad.entry.js → p-eb2d06c1.entry.js} +2 -2
- package/dist/esm/core.js +4 -4
- package/dist/esm/core.js.map +1 -1
- package/dist/esm/{helpers-c597f246.js → helpers-821dcdf2.js} +6 -6
- package/dist/esm/{helpers-c597f246.js.map → helpers-821dcdf2.js.map} +1 -1
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js +2 -2
- package/dist/esm/ic-alert.entry.js +3 -3
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +5 -9
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-badge.entry.js +2 -2
- package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
- package/dist/esm/ic-breadcrumb.entry.js +2 -2
- package/dist/esm/ic-button_3.entry.js +62 -33
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +2 -2
- package/dist/esm/ic-checkbox-group.entry.js +2 -2
- package/dist/esm/ic-checkbox.entry.js +2 -2
- package/dist/esm/ic-chip.entry.js +2 -2
- package/dist/esm/ic-classification-banner.entry.js +1 -1
- package/dist/esm/ic-data-entity.entry.js +1 -1
- package/dist/esm/ic-data-row.entry.js +2 -2
- package/dist/esm/ic-dialog.entry.js +2 -2
- package/dist/esm/ic-divider.entry.js +2 -2
- package/dist/esm/ic-empty-state.entry.js +2 -2
- package/dist/esm/ic-footer-link-group.entry.js +2 -2
- package/dist/esm/ic-footer-link.entry.js +3 -3
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +3 -3
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +2 -2
- package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
- package/dist/esm/ic-input-component-container_3.entry.js +2 -2
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +2 -2
- package/dist/esm/ic-link.entry.js +2 -2
- package/dist/esm/ic-menu-group.entry.js +2 -2
- package/dist/esm/ic-menu-item.entry.js +3 -3
- package/dist/esm/ic-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +2 -2
- package/dist/esm/ic-navigation-group.entry.js +6 -9
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +2 -2
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +2 -2
- package/dist/esm/ic-page-header.entry.js +3 -3
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-pagination-item.entry.js +2 -2
- package/dist/esm/ic-pagination.entry.js +2 -2
- package/dist/esm/ic-popover-menu.entry.js +11 -5
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +2 -2
- package/dist/esm/ic-radio-option.entry.js +2 -2
- package/dist/esm/ic-search-bar.entry.js +2 -2
- package/dist/esm/ic-section-container.entry.js +1 -1
- package/dist/esm/ic-select.entry.js +2 -2
- package/dist/esm/ic-side-navigation.entry.js +39 -62
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +1 -1
- package/dist/esm/ic-status-tag.entry.js +4 -3
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +2 -2
- package/dist/esm/ic-stepper.entry.js +2 -2
- package/dist/esm/ic-switch.entry.js +2 -2
- package/dist/esm/ic-tab-context.entry.js +1 -1
- package/dist/esm/ic-tab-group.entry.js +2 -2
- package/dist/esm/ic-tab-panel.entry.js +2 -2
- package/dist/esm/ic-tab.entry.js +2 -2
- package/dist/esm/ic-text-field.entry.js +49 -12
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +2 -2
- package/dist/esm/ic-toast-region.entry.js +1 -1
- package/dist/esm/ic-toast.entry.js +13 -16
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +65 -0
- package/dist/esm/ic-toggle-button.entry.js.map +1 -0
- package/dist/esm/ic-top-navigation.entry.js +4 -3
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +2 -2
- package/dist/esm/{index-05003e1c.js → index-d1d2c456.js} +6 -12
- package/dist/esm/index-d1d2c456.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/ic-button/ic-button.d.ts +3 -0
- package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -0
- package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +3 -2
- package/dist/types/components/ic-text-field/ic-text-field.d.ts +13 -0
- package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +60 -0
- package/dist/types/components.d.ts +134 -2
- package/hydrate/index.d.ts +1 -1
- package/hydrate/index.js +311 -183
- package/package.json +23 -16
- package/vscode-data.json +100 -2
- package/dist/cjs/index-152d1fe5.js.map +0 -1
- package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js +0 -21
- package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group-test-examples.js +0 -35
- package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group-test-examples.js.map +0 -1
- package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js +0 -41
- package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js.map +0 -1
- package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js +0 -11
- package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js +0 -198
- package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js.map +0 -1
- package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js +0 -21
- package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js +0 -23
- package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js.map +0 -1
- package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js +0 -16
- package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js +0 -201
- package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js.map +0 -1
- package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js +0 -11
- package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js +0 -11
- package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js +0 -28
- package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js +0 -288
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +0 -1
- package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js +0 -38
- package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +0 -86
- package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +0 -1
- package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js +0 -23
- package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js +0 -50
- package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js.map +0 -1
- package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js +0 -21
- package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js +0 -21
- package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js +0 -11
- package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js +0 -28
- package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +0 -1825
- package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +0 -1
- package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js +0 -14
- package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation-test-examples.js +0 -582
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation-test-examples.js.map +0 -1
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +0 -475
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +0 -1
- package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js +0 -32
- package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js +0 -61
- package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js.map +0 -1
- package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js +0 -244
- package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js.map +0 -1
- package/dist/core/p-1338c9df.entry.js +0 -2
- package/dist/core/p-1338c9df.entry.js.map +0 -1
- package/dist/core/p-15ef0674.entry.js.map +0 -1
- package/dist/core/p-31969be6.entry.js.map +0 -1
- package/dist/core/p-4d413a72.entry.js +0 -2
- package/dist/core/p-4d413a72.entry.js.map +0 -1
- package/dist/core/p-51f9f329.entry.js.map +0 -1
- package/dist/core/p-52e063d3.js +0 -3
- package/dist/core/p-52e063d3.js.map +0 -1
- package/dist/core/p-592c783e.entry.js.map +0 -1
- package/dist/core/p-5c7e339f.entry.js.map +0 -1
- package/dist/core/p-5f9d69ef.entry.js.map +0 -1
- package/dist/core/p-776232f4.entry.js +0 -2
- package/dist/core/p-776232f4.entry.js.map +0 -1
- package/dist/core/p-85026377.entry.js.map +0 -1
- package/dist/core/p-94e88827.entry.js.map +0 -1
- package/dist/core/p-96da1e85.entry.js +0 -2
- package/dist/core/p-96da1e85.entry.js.map +0 -1
- package/dist/core/p-9c30720d.entry.js +0 -2
- package/dist/core/p-9c30720d.entry.js.map +0 -1
- package/dist/core/p-c2452388.entry.js.map +0 -1
- package/dist/esm/index-05003e1c.js.map +0 -1
- package/dist/types/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group-test-examples.d.ts +0 -2
- package/dist/types/components/ic-button/test/a11y/ic-button.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-card/test/a11y/ic-card.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-chip/test/a11y/ic-chip.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-dialog/test/a11y/ic-dialog.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-footer/test/a11y/ic-footer.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-link/test/a11y/ic-link.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-select/test/a11y/ic-select.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-side-navigation/test/basic/ic-side-navigation-test-examples.d.ts +0 -8
- package/dist/types/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.d.ts +0 -1
- /package/dist/core/{p-daebb58a.entry.js.map → p-003c44bd.entry.js.map} +0 -0
- /package/dist/core/{p-b6a575c3.entry.js.map → p-049bf5e3.entry.js.map} +0 -0
- /package/dist/core/{p-ea17e371.entry.js.map → p-0a0b748c.entry.js.map} +0 -0
- /package/dist/core/{p-d18450f9.entry.js.map → p-0d2eb765.entry.js.map} +0 -0
- /package/dist/core/{p-6d3f9501.entry.js.map → p-0ee13da0.entry.js.map} +0 -0
- /package/dist/core/{p-15466b42.entry.js.map → p-1145e33c.entry.js.map} +0 -0
- /package/dist/core/{p-056f8a67.entry.js.map → p-171e25c9.entry.js.map} +0 -0
- /package/dist/core/{p-ad36a704.entry.js.map → p-26334b3a.entry.js.map} +0 -0
- /package/dist/core/{p-dbb5b008.entry.js.map → p-29b812c0.entry.js.map} +0 -0
- /package/dist/core/{p-b9736cf4.entry.js.map → p-2e7f22af.entry.js.map} +0 -0
- /package/dist/core/{p-aa0a9870.entry.js.map → p-357eaebe.entry.js.map} +0 -0
- /package/dist/core/{p-9639e33f.entry.js.map → p-38bf02aa.entry.js.map} +0 -0
- /package/dist/core/{p-b99f9e89.entry.js.map → p-3c752bca.entry.js.map} +0 -0
- /package/dist/core/{p-3a0ef91e.entry.js.map → p-3cc52cbc.entry.js.map} +0 -0
- /package/dist/core/{p-c770e7a2.entry.js.map → p-42c0e318.entry.js.map} +0 -0
- /package/dist/core/{p-2b24b4bf.entry.js.map → p-4421203e.entry.js.map} +0 -0
- /package/dist/core/{p-11736fbe.entry.js.map → p-4f1792a6.entry.js.map} +0 -0
- /package/dist/core/{p-b39ecae2.entry.js.map → p-4f8b7aa3.entry.js.map} +0 -0
- /package/dist/core/{p-8a83f391.entry.js.map → p-525323ab.entry.js.map} +0 -0
- /package/dist/core/{p-e9738c74.entry.js.map → p-59c4bc0a.entry.js.map} +0 -0
- /package/dist/core/{p-95a864bf.js.map → p-671b7cac.js.map} +0 -0
- /package/dist/core/{p-fdb4b48f.entry.js.map → p-783c2ced.entry.js.map} +0 -0
- /package/dist/core/{p-f2e6b9ef.entry.js.map → p-7b720034.entry.js.map} +0 -0
- /package/dist/core/{p-22c024ee.entry.js.map → p-7c724f2c.entry.js.map} +0 -0
- /package/dist/core/{p-335fc5e4.entry.js.map → p-8146336b.entry.js.map} +0 -0
- /package/dist/core/{p-cd8de4c5.entry.js.map → p-8931210a.entry.js.map} +0 -0
- /package/dist/core/{p-529d8955.entry.js.map → p-8a66cab4.entry.js.map} +0 -0
- /package/dist/core/{p-ca48e97a.entry.js.map → p-8be3ec3d.entry.js.map} +0 -0
- /package/dist/core/{p-180e36b1.entry.js.map → p-8c2322a9.entry.js.map} +0 -0
- /package/dist/core/{p-edd29edc.entry.js.map → p-9184e385.entry.js.map} +0 -0
- /package/dist/core/{p-366bcb17.entry.js.map → p-9ee138e7.entry.js.map} +0 -0
- /package/dist/core/{p-e5abfadd.entry.js.map → p-b7a2e604.entry.js.map} +0 -0
- /package/dist/core/{p-b0088956.entry.js.map → p-bb41b637.entry.js.map} +0 -0
- /package/dist/core/{p-cfc930f6.entry.js.map → p-c75d6022.entry.js.map} +0 -0
- /package/dist/core/{p-f0809037.entry.js.map → p-c786d62f.entry.js.map} +0 -0
- /package/dist/core/{p-edec0936.entry.js.map → p-c7a08024.entry.js.map} +0 -0
- /package/dist/core/{p-6eb0421d.entry.js.map → p-cf798ea7.entry.js.map} +0 -0
- /package/dist/core/{p-a908e7a9.entry.js.map → p-d3e54a29.entry.js.map} +0 -0
- /package/dist/core/{p-287ab47c.entry.js.map → p-de87d585.entry.js.map} +0 -0
- /package/dist/core/{p-15624e08.entry.js.map → p-e4d827d4.entry.js.map} +0 -0
- /package/dist/core/{p-765bdd98.entry.js.map → p-e9723eaa.entry.js.map} +0 -0
- /package/dist/core/{p-498eb7ad.entry.js.map → p-eb2d06c1.entry.js.map} +0 -0
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import { newE2EPage } from "@stencil/core/testing";
|
|
2
|
-
describe("ic-checkbox-group component", () => {
|
|
3
|
-
it("Should not be interactable when disabled", async () => {
|
|
4
|
-
const page = await newE2EPage();
|
|
5
|
-
await page.setContent(`<ic-checkbox-group label="test label" name="test">
|
|
6
|
-
<ic-checkbox value="test1" label="checkbox label 1" disabled></ic-checkbox>
|
|
7
|
-
<ic-checkbox value="test2" label="checkbox label 2" disabled></ic-checkbox>
|
|
8
|
-
</ic-checkbox-group>
|
|
9
|
-
`);
|
|
10
|
-
const checkbox = await page.find("ic-checkbox[value='test2']");
|
|
11
|
-
await checkbox.click();
|
|
12
|
-
await page.waitForChanges();
|
|
13
|
-
expect(await checkbox.getProperty("checked")).toBe(false);
|
|
14
|
-
await checkbox.press(" ");
|
|
15
|
-
await page.waitForChanges();
|
|
16
|
-
expect(await checkbox.getProperty("checked")).toBe(false);
|
|
17
|
-
});
|
|
18
|
-
it("Should set checkbox to checked when clicked", async () => {
|
|
19
|
-
const page = await newE2EPage();
|
|
20
|
-
await page.setContent(`<ic-checkbox-group label="test label" name="test">
|
|
21
|
-
<ic-checkbox value="test1" label="checkbox label 1"></ic-checkbox>
|
|
22
|
-
<ic-checkbox value="test2" label="checkbox label 2"></ic-checkbox>
|
|
23
|
-
</ic-checkbox-group>
|
|
24
|
-
`);
|
|
25
|
-
let checkbox = await page.find("ic-checkbox[value='test2']");
|
|
26
|
-
let input = checkbox.shadowRoot.querySelector("input");
|
|
27
|
-
expect(input.className).toBe("checkbox");
|
|
28
|
-
await checkbox.click();
|
|
29
|
-
await page.waitForChanges();
|
|
30
|
-
checkbox = await page.find("ic-checkbox[value='test2']");
|
|
31
|
-
input = checkbox.shadowRoot.querySelector("input");
|
|
32
|
-
expect(checkbox.getAttribute("value")).toBe("test2");
|
|
33
|
-
expect(input.className).toBe("checkbox checked");
|
|
34
|
-
expect(await checkbox.getProperty("checked")).toBe(true);
|
|
35
|
-
await checkbox.click();
|
|
36
|
-
await page.waitForChanges();
|
|
37
|
-
checkbox = await page.find("ic-checkbox[value='test2']");
|
|
38
|
-
expect(checkbox.getAttribute("value")).toBe("test2");
|
|
39
|
-
});
|
|
40
|
-
it("Should enable statictextfield when associated checkbox is checked", async () => {
|
|
41
|
-
const page = await newE2EPage();
|
|
42
|
-
await page.setContent(`<ic-checkbox-group label="test label" name="test">
|
|
43
|
-
<ic-checkbox value="test1" label="checkbox label 1"></ic-checkbox>
|
|
44
|
-
<ic-checkbox value="test2" label="checkbox label 2" checked>
|
|
45
|
-
<ic-text-field
|
|
46
|
-
slot="additional-field"
|
|
47
|
-
label="Test label"
|
|
48
|
-
></ic-text-field>
|
|
49
|
-
</ic-checkbox>
|
|
50
|
-
</ic-checkbox-group>
|
|
51
|
-
`);
|
|
52
|
-
const checkbox = await page.find("ic-checkbox[value='test2']");
|
|
53
|
-
const textfield = await page.find("ic-text-field");
|
|
54
|
-
expect(textfield).not.toHaveAttribute("disabled");
|
|
55
|
-
await checkbox.click();
|
|
56
|
-
await page.waitForChanges();
|
|
57
|
-
expect(textfield).toHaveAttribute("disabled");
|
|
58
|
-
});
|
|
59
|
-
it("Should display dynamic textfield when associated checkbox is checked", async () => {
|
|
60
|
-
const page = await newE2EPage();
|
|
61
|
-
await page.setContent(`<ic-checkbox-group label="test label" name="test">
|
|
62
|
-
<ic-checkbox value="test1" label="checkbox label 1"></ic-checkbox>
|
|
63
|
-
<ic-checkbox value="test2" label="checkbox label 2" additional-field-display="dynamic">
|
|
64
|
-
<ic-text-field
|
|
65
|
-
slot="additional-field"
|
|
66
|
-
label="Test label"
|
|
67
|
-
></ic-text-field>
|
|
68
|
-
</ic-checkbox>
|
|
69
|
-
</ic-checkbox-group>
|
|
70
|
-
`);
|
|
71
|
-
const checkbox = await page.find("ic-checkbox[value='test2']");
|
|
72
|
-
let additionalFieldDisplay = await page.evaluate(() => {
|
|
73
|
-
const additionalField = document
|
|
74
|
-
.querySelector("ic-checkbox[value='test2']")
|
|
75
|
-
.shadowRoot.querySelector(".dynamic-container");
|
|
76
|
-
return window.getComputedStyle(additionalField).display;
|
|
77
|
-
});
|
|
78
|
-
expect(additionalFieldDisplay).toBe("none");
|
|
79
|
-
await checkbox.click();
|
|
80
|
-
await page.waitForChanges();
|
|
81
|
-
additionalFieldDisplay = await page.evaluate(() => {
|
|
82
|
-
const additionalField = document
|
|
83
|
-
.querySelector("ic-checkbox[value='test2']")
|
|
84
|
-
.shadowRoot.querySelector(".dynamic-container");
|
|
85
|
-
return window.getComputedStyle(additionalField).display;
|
|
86
|
-
});
|
|
87
|
-
expect(additionalFieldDisplay).not.toBe("none");
|
|
88
|
-
});
|
|
89
|
-
it("Should emit icChange event when checkbox is checked", async () => {
|
|
90
|
-
const page = await newE2EPage();
|
|
91
|
-
await page.setContent(`<ic-checkbox-group label="test label" name="test">
|
|
92
|
-
<ic-checkbox value="test1" label="checkbox label 1"></ic-checkbox>
|
|
93
|
-
<ic-checkbox value="test2" label="checkbox label 2">
|
|
94
|
-
</ic-checkbox>
|
|
95
|
-
</ic-checkbox-group>
|
|
96
|
-
`);
|
|
97
|
-
const checkbox = await page.find("ic-checkbox[value='test2']");
|
|
98
|
-
const icChange = await page.spyOnEvent("icChange");
|
|
99
|
-
await checkbox.click();
|
|
100
|
-
await page.waitForChanges();
|
|
101
|
-
const checkboxElement = await page.evaluate(() => document.querySelector("ic-checkbox[value='test2']"));
|
|
102
|
-
expect(icChange).toHaveReceivedEventDetail({
|
|
103
|
-
value: ["test2"],
|
|
104
|
-
checkedOptions: [{ checkbox: checkboxElement }],
|
|
105
|
-
selectedOption: checkboxElement,
|
|
106
|
-
});
|
|
107
|
-
await checkbox.click();
|
|
108
|
-
await page.waitForChanges();
|
|
109
|
-
expect(icChange).toHaveReceivedEventDetail({
|
|
110
|
-
value: [],
|
|
111
|
-
checkedOptions: [],
|
|
112
|
-
selectedOption: checkboxElement,
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
it("Should set checkbox to checked when space is pressed", async () => {
|
|
116
|
-
const page = await newE2EPage();
|
|
117
|
-
await page.setContent(`<ic-checkbox-group label="test label" name="test">
|
|
118
|
-
<ic-checkbox value="test1" label="checkbox label 1"></ic-checkbox>
|
|
119
|
-
<ic-checkbox value="test2" label="checkbox label 2"></ic-checkbox>
|
|
120
|
-
</ic-checkbox-group>
|
|
121
|
-
`);
|
|
122
|
-
const checkbox = await page.find("ic-checkbox[value='test1']");
|
|
123
|
-
expect(await checkbox.getProperty("checked")).toBe(false);
|
|
124
|
-
await page.keyboard.press("Tab");
|
|
125
|
-
await checkbox.press(" ");
|
|
126
|
-
await page.waitForChanges();
|
|
127
|
-
expect(checkbox.getAttribute("value")).toBe("test1");
|
|
128
|
-
expect(await checkbox.getProperty("checked")).toBe(true);
|
|
129
|
-
await checkbox.press(" ");
|
|
130
|
-
await page.waitForChanges();
|
|
131
|
-
expect(checkbox.getAttribute("value")).toBe("test1");
|
|
132
|
-
});
|
|
133
|
-
it("Works on a form", async () => {
|
|
134
|
-
const page = await newE2EPage();
|
|
135
|
-
await page.setContent(` <form>
|
|
136
|
-
<ic-checkbox-group label="this is a label" name="1">
|
|
137
|
-
<ic-checkbox
|
|
138
|
-
value="valueName1"
|
|
139
|
-
label="Unselected / Default"
|
|
140
|
-
></ic-checkbox>
|
|
141
|
-
<ic-checkbox
|
|
142
|
-
value="valueName2"
|
|
143
|
-
label="Selected / Default"
|
|
144
|
-
selected
|
|
145
|
-
></ic-checkbox>
|
|
146
|
-
<ic-checkbox
|
|
147
|
-
value="valueName3"
|
|
148
|
-
label="Unselected / Disabled"
|
|
149
|
-
disabled
|
|
150
|
-
></ic-checkbox>
|
|
151
|
-
</ic-checkbox-group>
|
|
152
|
-
<input type="submit" value="Submit">
|
|
153
|
-
</form>
|
|
154
|
-
<script>document.querySelector('form').addEventListener('submit', (ev) => {
|
|
155
|
-
ev.preventDefault();
|
|
156
|
-
})
|
|
157
|
-
</script>
|
|
158
|
-
`);
|
|
159
|
-
await page.waitForChanges();
|
|
160
|
-
const checkbox = await page.find("ic-checkbox[value='valueName1']");
|
|
161
|
-
await checkbox.click();
|
|
162
|
-
await page.waitForChanges();
|
|
163
|
-
const value = await (await page.find('ic-checkbox[value="valueName1"] >>> input[name="1"]')).getProperty("value");
|
|
164
|
-
expect(value).toBe("valueName1");
|
|
165
|
-
});
|
|
166
|
-
it("Passes the value of checkboxes correctly when already selected", async () => {
|
|
167
|
-
const page = await newE2EPage();
|
|
168
|
-
await page.setContent(`<ic-checkbox-group label="test label" name="test">
|
|
169
|
-
<ic-checkbox name="test1" value="test1" label="checkbox label 1"></ic-checkbox>
|
|
170
|
-
<ic-checkbox name="test2" value="test2" label="checkbox label 2" checked></ic-checkbox>
|
|
171
|
-
</ic-checkbox-group>
|
|
172
|
-
`);
|
|
173
|
-
await page.waitForChanges();
|
|
174
|
-
const value = await await (await page.find('ic-checkbox[name="test2"]')).getAttribute("checked");
|
|
175
|
-
expect(value).toBe("");
|
|
176
|
-
});
|
|
177
|
-
it("resets checked state on form reset", async () => {
|
|
178
|
-
const page = await newE2EPage();
|
|
179
|
-
await page.setContent(` <form>
|
|
180
|
-
<ic-checkbox-group label="this is a label" name="1">
|
|
181
|
-
<ic-checkbox
|
|
182
|
-
value="valueName1"
|
|
183
|
-
label="Unselected / Default"
|
|
184
|
-
></ic-checkbox>
|
|
185
|
-
</ic-checkbox-group>
|
|
186
|
-
<button type="reset" id="resetButton">Reset</button>
|
|
187
|
-
</form>
|
|
188
|
-
`);
|
|
189
|
-
await page.waitForChanges();
|
|
190
|
-
let checkbox = await page.find("ic-checkbox[value='valueName1']");
|
|
191
|
-
await checkbox.click();
|
|
192
|
-
await page.waitForChanges();
|
|
193
|
-
expect(await checkbox.getProperty("checked")).toBe(true);
|
|
194
|
-
const resetButton = await page.find("#resetButton");
|
|
195
|
-
await resetButton.click();
|
|
196
|
-
await page.waitForChanges();
|
|
197
|
-
checkbox = await page.find("ic-checkbox[value='valueName1']");
|
|
198
|
-
expect(await checkbox.getProperty("checked")).toBe(false);
|
|
199
|
-
});
|
|
200
|
-
});
|
|
201
|
-
//# sourceMappingURL=ic-checkbox-group.e2e.js.map
|
package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ic-checkbox-group.e2e.js","sourceRoot":"","sources":["../../../../../src/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\n\ndescribe(\"ic-checkbox-group component\", () => {\n it(\"Should not be interactable when disabled\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-checkbox-group label=\"test label\" name=\"test\">\n <ic-checkbox value=\"test1\" label=\"checkbox label 1\" disabled></ic-checkbox> \n <ic-checkbox value=\"test2\" label=\"checkbox label 2\" disabled></ic-checkbox> \n </ic-checkbox-group>\n `);\n\n const checkbox = await page.find(\"ic-checkbox[value='test2']\");\n await checkbox.click();\n await page.waitForChanges();\n expect(await checkbox.getProperty(\"checked\")).toBe(false);\n\n await checkbox.press(\" \");\n await page.waitForChanges();\n expect(await checkbox.getProperty(\"checked\")).toBe(false);\n });\n it(\"Should set checkbox to checked when clicked\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-checkbox-group label=\"test label\" name=\"test\">\n <ic-checkbox value=\"test1\" label=\"checkbox label 1\"></ic-checkbox> \n <ic-checkbox value=\"test2\" label=\"checkbox label 2\"></ic-checkbox> \n </ic-checkbox-group>\n `);\n let checkbox = await page.find(\"ic-checkbox[value='test2']\");\n let input = checkbox.shadowRoot.querySelector(\"input\");\n\n expect(input.className).toBe(\"checkbox\");\n\n await checkbox.click();\n await page.waitForChanges();\n\n checkbox = await page.find(\"ic-checkbox[value='test2']\");\n input = checkbox.shadowRoot.querySelector(\"input\");\n\n expect(checkbox.getAttribute(\"value\")).toBe(\"test2\");\n\n expect(input.className).toBe(\"checkbox checked\");\n\n expect(await checkbox.getProperty(\"checked\")).toBe(true);\n\n await checkbox.click();\n await page.waitForChanges();\n\n checkbox = await page.find(\"ic-checkbox[value='test2']\");\n\n expect(checkbox.getAttribute(\"value\")).toBe(\"test2\");\n });\n it(\"Should enable statictextfield when associated checkbox is checked\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-checkbox-group label=\"test label\" name=\"test\">\n <ic-checkbox value=\"test1\" label=\"checkbox label 1\"></ic-checkbox> \n <ic-checkbox value=\"test2\" label=\"checkbox label 2\" checked>\n <ic-text-field\n slot=\"additional-field\"\n label=\"Test label\"\n ></ic-text-field>\n </ic-checkbox> \n </ic-checkbox-group>\n `);\n const checkbox = await page.find(\"ic-checkbox[value='test2']\");\n const textfield = await page.find(\"ic-text-field\");\n\n expect(textfield).not.toHaveAttribute(\"disabled\");\n\n await checkbox.click();\n await page.waitForChanges();\n\n expect(textfield).toHaveAttribute(\"disabled\");\n });\n it(\"Should display dynamic textfield when associated checkbox is checked\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-checkbox-group label=\"test label\" name=\"test\">\n <ic-checkbox value=\"test1\" label=\"checkbox label 1\"></ic-checkbox> \n <ic-checkbox value=\"test2\" label=\"checkbox label 2\" additional-field-display=\"dynamic\">\n <ic-text-field\n slot=\"additional-field\"\n label=\"Test label\"\n ></ic-text-field>\n </ic-checkbox> \n </ic-checkbox-group>\n `);\n const checkbox = await page.find(\"ic-checkbox[value='test2']\");\n let additionalFieldDisplay = await page.evaluate(() => {\n const additionalField = document\n .querySelector(\"ic-checkbox[value='test2']\")\n .shadowRoot.querySelector(\".dynamic-container\");\n\n return window.getComputedStyle(additionalField).display;\n });\n expect(additionalFieldDisplay).toBe(\"none\");\n\n await checkbox.click();\n await page.waitForChanges();\n\n additionalFieldDisplay = await page.evaluate(() => {\n const additionalField = document\n .querySelector(\"ic-checkbox[value='test2']\")\n .shadowRoot.querySelector(\".dynamic-container\");\n\n return window.getComputedStyle(additionalField).display;\n });\n expect(additionalFieldDisplay).not.toBe(\"none\");\n });\n it(\"Should emit icChange event when checkbox is checked\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-checkbox-group label=\"test label\" name=\"test\">\n <ic-checkbox value=\"test1\" label=\"checkbox label 1\"></ic-checkbox> \n <ic-checkbox value=\"test2\" label=\"checkbox label 2\">\n </ic-checkbox> \n </ic-checkbox-group>\n `);\n const checkbox = await page.find(\"ic-checkbox[value='test2']\");\n const icChange = await page.spyOnEvent(\"icChange\");\n\n await checkbox.click();\n await page.waitForChanges();\n\n const checkboxElement = await page.evaluate(\n () =>\n document.querySelector(\n \"ic-checkbox[value='test2']\"\n ) as HTMLIcCheckboxElement\n );\n expect(icChange).toHaveReceivedEventDetail({\n value: [\"test2\"],\n checkedOptions: [{ checkbox: checkboxElement }],\n selectedOption: checkboxElement,\n });\n\n await checkbox.click();\n await page.waitForChanges();\n\n expect(icChange).toHaveReceivedEventDetail({\n value: [],\n checkedOptions: [],\n selectedOption: checkboxElement,\n });\n });\n it(\"Should set checkbox to checked when space is pressed\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-checkbox-group label=\"test label\" name=\"test\">\n <ic-checkbox value=\"test1\" label=\"checkbox label 1\"></ic-checkbox> \n <ic-checkbox value=\"test2\" label=\"checkbox label 2\"></ic-checkbox> \n </ic-checkbox-group>\n `);\n const checkbox = await page.find(\"ic-checkbox[value='test1']\");\n expect(await checkbox.getProperty(\"checked\")).toBe(false);\n\n await page.keyboard.press(\"Tab\");\n await checkbox.press(\" \");\n await page.waitForChanges();\n\n expect(checkbox.getAttribute(\"value\")).toBe(\"test1\");\n expect(await checkbox.getProperty(\"checked\")).toBe(true);\n\n await checkbox.press(\" \");\n await page.waitForChanges();\n\n expect(checkbox.getAttribute(\"value\")).toBe(\"test1\");\n });\n it(\"Works on a form\", async () => {\n const page = await newE2EPage();\n\n await page.setContent(` <form>\n <ic-checkbox-group label=\"this is a label\" name=\"1\">\n <ic-checkbox\n value=\"valueName1\"\n label=\"Unselected / Default\"\n ></ic-checkbox>\n <ic-checkbox\n value=\"valueName2\"\n label=\"Selected / Default\"\n selected\n ></ic-checkbox>\n <ic-checkbox\n value=\"valueName3\"\n label=\"Unselected / Disabled\"\n disabled\n ></ic-checkbox>\n </ic-checkbox-group>\n <input type=\"submit\" value=\"Submit\">\n </form>\n <script>document.querySelector('form').addEventListener('submit', (ev) => {\n ev.preventDefault();\n })\n </script>\n `);\n await page.waitForChanges();\n\n const checkbox = await page.find(\"ic-checkbox[value='valueName1']\");\n\n await checkbox.click();\n await page.waitForChanges();\n const value = await (\n await page.find('ic-checkbox[value=\"valueName1\"] >>> input[name=\"1\"]')\n ).getProperty(\"value\");\n\n expect(value).toBe(\"valueName1\");\n });\n it(\"Passes the value of checkboxes correctly when already selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-checkbox-group label=\"test label\" name=\"test\">\n <ic-checkbox name=\"test1\" value=\"test1\" label=\"checkbox label 1\"></ic-checkbox> \n <ic-checkbox name=\"test2\" value=\"test2\" label=\"checkbox label 2\" checked></ic-checkbox> \n </ic-checkbox-group>\n `);\n\n await page.waitForChanges();\n\n const value = await await (\n await page.find('ic-checkbox[name=\"test2\"]')\n ).getAttribute(\"checked\");\n\n expect(value).toBe(\"\");\n });\n\n it(\"resets checked state on form reset\", async () => {\n const page = await newE2EPage();\n\n await page.setContent(` <form>\n <ic-checkbox-group label=\"this is a label\" name=\"1\">\n <ic-checkbox\n value=\"valueName1\"\n label=\"Unselected / Default\"\n ></ic-checkbox>\n </ic-checkbox-group>\n <button type=\"reset\" id=\"resetButton\">Reset</button>\n </form>\n `);\n await page.waitForChanges();\n\n let checkbox = await page.find(\"ic-checkbox[value='valueName1']\");\n await checkbox.click();\n await page.waitForChanges();\n expect(await checkbox.getProperty(\"checked\")).toBe(true);\n\n const resetButton = await page.find(\"#resetButton\");\n await resetButton.click();\n await page.waitForChanges();\n\n checkbox = await page.find(\"ic-checkbox[value='valueName1']\");\n expect(await checkbox.getProperty(\"checked\")).toBe(false);\n });\n});\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { fixture } from "@open-wc/testing-helpers";
|
|
2
|
-
import { axe } from "jest-axe";
|
|
3
|
-
import { checkShadowElementRendersCorrectly } from "../../../../utils/testa11y.helpers";
|
|
4
|
-
describe("chip component", () => {
|
|
5
|
-
it("passes accessibility", async () => {
|
|
6
|
-
const el = await fixture("<ic-chip label='label' href='/' dismissible='true'/>");
|
|
7
|
-
checkShadowElementRendersCorrectly(el);
|
|
8
|
-
expect(await axe(el)).toHaveNoViolations();
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
|
-
//# sourceMappingURL=ic-chip.test.a11y.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ic-chip.test.a11y.js","sourceRoot":"","sources":["../../../../../src/components/ic-chip/test/a11y/ic-chip.test.a11y.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAExF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,sDAAsD,CACvD,CAAC;QACF,kCAAkC,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { fixture } from \"@open-wc/testing-helpers\";\nimport { axe } from \"jest-axe\";\nimport { checkShadowElementRendersCorrectly } from \"../../../../utils/testa11y.helpers\";\n\ndescribe(\"chip component\", () => {\n it(\"passes accessibility\", async () => {\n const el = await fixture(\n \"<ic-chip label='label' href='/' dismissible='true'/>\"\n );\n checkShadowElementRendersCorrectly(el);\n expect(await axe(el)).toHaveNoViolations();\n });\n});\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { fixture } from "@open-wc/testing-helpers";
|
|
2
|
-
import { axe } from "jest-axe";
|
|
3
|
-
import { checkShadowElementRendersCorrectly } from "../../../../utils/testa11y.helpers";
|
|
4
|
-
describe("data entity component", () => {
|
|
5
|
-
it("passes accessibility", async () => {
|
|
6
|
-
const el = await fixture("<ic-data-entity />");
|
|
7
|
-
checkShadowElementRendersCorrectly(el);
|
|
8
|
-
expect(await axe(el)).toHaveNoViolations();
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
|
-
//# sourceMappingURL=ic-data-entity.test.a11y.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ic-data-entity.test.a11y.js","sourceRoot":"","sources":["../../../../../src/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAExF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC/C,kCAAkC,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { fixture } from \"@open-wc/testing-helpers\";\nimport { axe } from \"jest-axe\";\nimport { checkShadowElementRendersCorrectly } from \"../../../../utils/testa11y.helpers\";\n\ndescribe(\"data entity component\", () => {\n it(\"passes accessibility\", async () => {\n const el = await fixture(\"<ic-data-entity />\");\n checkShadowElementRendersCorrectly(el);\n expect(await axe(el)).toHaveNoViolations();\n });\n});\n"]}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { fixture } from "@open-wc/testing-helpers";
|
|
2
|
-
import { axe } from "jest-axe";
|
|
3
|
-
import { checkShadowElementRendersCorrectly } from "../../../../utils/testa11y.helpers";
|
|
4
|
-
describe("dialog component", () => {
|
|
5
|
-
it("passes accessibility", async () => {
|
|
6
|
-
const el = await fixture(`
|
|
7
|
-
<ic-dialog
|
|
8
|
-
label="Success"
|
|
9
|
-
heading="Action was a success!"
|
|
10
|
-
size="small"
|
|
11
|
-
status="success"
|
|
12
|
-
alert-heading="Success!"
|
|
13
|
-
alert-message="Action was a success"
|
|
14
|
-
buttons="two"
|
|
15
|
-
>
|
|
16
|
-
Lorem ipsum dolor sit amet,
|
|
17
|
-
consectetur adipiscing elit,
|
|
18
|
-
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
|
19
|
-
</ic-dialog>
|
|
20
|
-
<script>
|
|
21
|
-
dialog = document.querySelector('ic-dialog');
|
|
22
|
-
dialog.buttonProps = [{label: "Click me!", onclick: "alert('clicked')"},{label: "Close", onclick: "this.hideDialog()"},{}];
|
|
23
|
-
</script>`);
|
|
24
|
-
checkShadowElementRendersCorrectly(el);
|
|
25
|
-
expect(await axe(el)).toHaveNoViolations();
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
//# sourceMappingURL=ic-dialog.test.a11y.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ic-dialog.test.a11y.js","sourceRoot":"","sources":["../../../../../src/components/ic-dialog/test/a11y/ic-dialog.test.a11y.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAExF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC;;;;;;;;;;;;;;;;;cAiBf,CAAC,CAAC;QACZ,kCAAkC,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { fixture } from \"@open-wc/testing-helpers\";\nimport { axe } from \"jest-axe\";\nimport { checkShadowElementRendersCorrectly } from \"../../../../utils/testa11y.helpers\";\n\ndescribe(\"dialog component\", () => {\n it(\"passes accessibility\", async () => {\n const el = await fixture(`\n <ic-dialog\n label=\"Success\"\n heading=\"Action was a success!\" \n size=\"small\" \n status=\"success\"\n alert-heading=\"Success!\"\n alert-message=\"Action was a success\"\n buttons=\"two\"\n >\n Lorem ipsum dolor sit amet, \n consectetur adipiscing elit, \n sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n </ic-dialog>\n <script>\n dialog = document.querySelector('ic-dialog');\n dialog.buttonProps = [{label: \"Click me!\", onclick: \"alert('clicked')\"},{label: \"Close\", onclick: \"this.hideDialog()\"},{}];\n </script>`);\n checkShadowElementRendersCorrectly(el);\n expect(await axe(el)).toHaveNoViolations();\n });\n});\n"]}
|
|
@@ -1,288 +0,0 @@
|
|
|
1
|
-
import { newE2EPage } from "@stencil/core/testing";
|
|
2
|
-
beforeAll(() => {
|
|
3
|
-
jest.spyOn(console, "warn").mockImplementation(jest.fn());
|
|
4
|
-
});
|
|
5
|
-
const DIALOG_DELAY_MS = 300;
|
|
6
|
-
describe("ic-dialog", () => {
|
|
7
|
-
it("should test focus and tab key press", async () => {
|
|
8
|
-
const page = await newE2EPage();
|
|
9
|
-
await page.setContent(`
|
|
10
|
-
<script>
|
|
11
|
-
function showDialog() {
|
|
12
|
-
dialog = document.querySelector("ic-dialog");
|
|
13
|
-
dialog.open = true;
|
|
14
|
-
}
|
|
15
|
-
</script>
|
|
16
|
-
<ic-button id="showBtn" variant="primary" onclick="showDialog()"
|
|
17
|
-
>Launch dialog</ic-button
|
|
18
|
-
>
|
|
19
|
-
<ic-dialog
|
|
20
|
-
heading="This dialog has slotted interactive content"
|
|
21
|
-
label="slotted"
|
|
22
|
-
dismiss-label="Close"
|
|
23
|
-
size="medium"
|
|
24
|
-
>
|
|
25
|
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
|
26
|
-
tempor incididunt ut labore et dolore magna aliqua.
|
|
27
|
-
<ic-text-field id="text-field" label="What is your favourite coffee?">
|
|
28
|
-
</ic-text-field>
|
|
29
|
-
<ic-select
|
|
30
|
-
id="sel1"
|
|
31
|
-
label="What is your favourite coffee?"
|
|
32
|
-
placeholder="Placeholder goes here"
|
|
33
|
-
></ic-select>
|
|
34
|
-
<ic-checkbox-group
|
|
35
|
-
style="margin: 8px 0"
|
|
36
|
-
hide-label
|
|
37
|
-
label="confirm"
|
|
38
|
-
name="confirm-checkbox"
|
|
39
|
-
>
|
|
40
|
-
<ic-checkbox label="Option" value="confirm" id="checkbox1"></ic-checkbox>
|
|
41
|
-
</ic-checkbox-group>
|
|
42
|
-
</ic-dialog>
|
|
43
|
-
`);
|
|
44
|
-
const btn = await page.find("#showBtn");
|
|
45
|
-
btn.click();
|
|
46
|
-
await page.waitForChanges();
|
|
47
|
-
await page.waitForTimeout(DIALOG_DELAY_MS);
|
|
48
|
-
let activeElement = await page.evaluate(() => document.activeElement.id);
|
|
49
|
-
expect(activeElement).toEqual("text-field");
|
|
50
|
-
await page.keyboard.press("Tab");
|
|
51
|
-
await page.waitForChanges();
|
|
52
|
-
activeElement = await page.evaluate(() => document.activeElement.id);
|
|
53
|
-
expect(activeElement).toEqual("sel1");
|
|
54
|
-
await page.keyboard.press("Tab");
|
|
55
|
-
await page.waitForChanges();
|
|
56
|
-
activeElement = await page.evaluate(() => document.activeElement.id);
|
|
57
|
-
expect(activeElement).toEqual("checkbox1");
|
|
58
|
-
await page.keyboard.press("Tab");
|
|
59
|
-
await page.waitForChanges();
|
|
60
|
-
activeElement = await page.evaluate(() => document.activeElement.id);
|
|
61
|
-
expect(activeElement).toEqual("");
|
|
62
|
-
await page.keyboard.press("Tab");
|
|
63
|
-
await page.waitForChanges();
|
|
64
|
-
activeElement = await page.evaluate(() => document.activeElement.id);
|
|
65
|
-
expect(activeElement).toEqual("");
|
|
66
|
-
await page.keyboard.press("Tab");
|
|
67
|
-
await page.waitForChanges();
|
|
68
|
-
activeElement = await page.evaluate(() => document.activeElement.id);
|
|
69
|
-
expect(activeElement).toEqual("");
|
|
70
|
-
await page.keyboard.press("Tab");
|
|
71
|
-
await page.waitForChanges();
|
|
72
|
-
activeElement = await page.evaluate(() => document.activeElement.id);
|
|
73
|
-
expect(activeElement).toEqual("text-field");
|
|
74
|
-
});
|
|
75
|
-
it("should hide dialog when background clicked", async () => {
|
|
76
|
-
const page = await newE2EPage();
|
|
77
|
-
await page.setContent(`
|
|
78
|
-
<script>
|
|
79
|
-
function showDialog() {
|
|
80
|
-
dialog = document.querySelector("ic-dialog");
|
|
81
|
-
dialog.open = true;
|
|
82
|
-
}
|
|
83
|
-
</script>
|
|
84
|
-
<ic-button id="showBtn" variant="primary" onclick="showDialog()"
|
|
85
|
-
>Launch dialog</ic-button
|
|
86
|
-
>
|
|
87
|
-
<ic-dialog
|
|
88
|
-
heading="This dialog has slotted interactive content"
|
|
89
|
-
label="slotted"
|
|
90
|
-
size="medium"
|
|
91
|
-
>
|
|
92
|
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
|
93
|
-
tempor incididunt ut labore et dolore magna aliqua.
|
|
94
|
-
</ic-dialog>
|
|
95
|
-
`);
|
|
96
|
-
const dialog = await page.find("ic-dialog");
|
|
97
|
-
let dialogDisplay = (await dialog.getComputedStyle()).display;
|
|
98
|
-
expect(dialogDisplay).toBe("none");
|
|
99
|
-
const btn = await page.find("#showBtn");
|
|
100
|
-
btn.click();
|
|
101
|
-
await page.waitForChanges();
|
|
102
|
-
await page.waitForTimeout(DIALOG_DELAY_MS);
|
|
103
|
-
dialogDisplay = (await dialog.getComputedStyle()).display;
|
|
104
|
-
expect(dialogDisplay).toBe("flex");
|
|
105
|
-
await page.mouse.click(10, 10);
|
|
106
|
-
await page.waitForChanges();
|
|
107
|
-
await page.waitForTimeout(DIALOG_DELAY_MS);
|
|
108
|
-
dialogDisplay = (await dialog.getComputedStyle()).display;
|
|
109
|
-
expect(dialogDisplay).toBe("none");
|
|
110
|
-
});
|
|
111
|
-
it("should not hide dialog when background clicked", async () => {
|
|
112
|
-
const page = await newE2EPage();
|
|
113
|
-
await page.setContent(`
|
|
114
|
-
<script>
|
|
115
|
-
function showDialog() {
|
|
116
|
-
dialog = document.querySelector("ic-dialog");
|
|
117
|
-
dialog.open = true;
|
|
118
|
-
}
|
|
119
|
-
</script>
|
|
120
|
-
<ic-button id="showBtn" variant="primary" onclick="showDialog()"
|
|
121
|
-
>Launch dialog</ic-button
|
|
122
|
-
>
|
|
123
|
-
<ic-dialog
|
|
124
|
-
heading="This dialog has slotted interactive content"
|
|
125
|
-
label="slotted"
|
|
126
|
-
size="medium"
|
|
127
|
-
close-on-backdrop-click="false"
|
|
128
|
-
>
|
|
129
|
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
|
|
130
|
-
tempor incididunt ut labore et dolore magna aliqua.
|
|
131
|
-
</ic-dialog>
|
|
132
|
-
`);
|
|
133
|
-
const dialog = await page.find("ic-dialog");
|
|
134
|
-
let dialogDisplay = (await dialog.getComputedStyle()).display;
|
|
135
|
-
expect(dialogDisplay).toBe("none");
|
|
136
|
-
const btn = await page.find("#showBtn");
|
|
137
|
-
btn.click();
|
|
138
|
-
await page.waitForChanges();
|
|
139
|
-
await page.waitForTimeout(DIALOG_DELAY_MS);
|
|
140
|
-
dialogDisplay = (await dialog.getComputedStyle()).display;
|
|
141
|
-
expect(dialogDisplay).toBe("flex");
|
|
142
|
-
await page.mouse.click(10, 10);
|
|
143
|
-
await page.waitForChanges();
|
|
144
|
-
await page.waitForTimeout(DIALOG_DELAY_MS);
|
|
145
|
-
dialogDisplay = (await dialog.getComputedStyle()).display;
|
|
146
|
-
expect(dialogDisplay).toBe("flex");
|
|
147
|
-
});
|
|
148
|
-
it("should be able to tab to dynamically added interactive element", async () => {
|
|
149
|
-
const page = await newE2EPage();
|
|
150
|
-
await page.setContent(`<script>
|
|
151
|
-
function showSmallDialog() {
|
|
152
|
-
dialog = document.querySelector("#small-dialog");
|
|
153
|
-
dialog.showDialog();
|
|
154
|
-
}
|
|
155
|
-
function showNewBtn() {
|
|
156
|
-
var el = document.createElement("ic-button");
|
|
157
|
-
el.innerText = "foo";
|
|
158
|
-
var base = document.querySelector("#base");
|
|
159
|
-
base.after(el);
|
|
160
|
-
}
|
|
161
|
-
</script>
|
|
162
|
-
<ic-button variant="primary" id='showBtn' onclick="showSmallDialog()">
|
|
163
|
-
Launch small dialog
|
|
164
|
-
</ic-button>
|
|
165
|
-
<ic-dialog
|
|
166
|
-
heading="This is a small dialog"
|
|
167
|
-
label="Small"
|
|
168
|
-
id="small-dialog"
|
|
169
|
-
>
|
|
170
|
-
<ic-typography>
|
|
171
|
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
|
|
172
|
-
eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
|
173
|
-
</ic-typography>
|
|
174
|
-
<ic-button class="show" onclick="showNewBtn();">Show</ic-button>
|
|
175
|
-
<div id="base"></div>
|
|
176
|
-
</ic-dialog>
|
|
177
|
-
`);
|
|
178
|
-
const btn = await page.find("#showBtn");
|
|
179
|
-
btn.click();
|
|
180
|
-
await page.waitForChanges();
|
|
181
|
-
await page.waitForTimeout(DIALOG_DELAY_MS);
|
|
182
|
-
let focusedEl = await page.evaluate(() => {
|
|
183
|
-
const el = document.activeElement;
|
|
184
|
-
return {
|
|
185
|
-
tagName: el.tagName,
|
|
186
|
-
textContent: el.textContent,
|
|
187
|
-
};
|
|
188
|
-
});
|
|
189
|
-
expect(focusedEl.tagName).toBe("IC-BUTTON");
|
|
190
|
-
expect(focusedEl.textContent).toBe("Show");
|
|
191
|
-
await page.keyboard.press("Tab");
|
|
192
|
-
await page.waitForChanges();
|
|
193
|
-
focusedEl = await page.evaluate(() => {
|
|
194
|
-
const dialog = document.querySelector("ic-dialog");
|
|
195
|
-
const el = dialog.shadowRoot.activeElement;
|
|
196
|
-
return {
|
|
197
|
-
tagName: el.tagName,
|
|
198
|
-
textContent: el.textContent,
|
|
199
|
-
};
|
|
200
|
-
});
|
|
201
|
-
expect(focusedEl.tagName).toBe("IC-BUTTON");
|
|
202
|
-
expect(focusedEl.textContent).toBe("Cancel");
|
|
203
|
-
const showBtn = await page.find(".show");
|
|
204
|
-
await showBtn.click();
|
|
205
|
-
await page.waitForChanges();
|
|
206
|
-
await page.keyboard.press("Tab");
|
|
207
|
-
await page.waitForChanges();
|
|
208
|
-
focusedEl = await page.evaluate(() => {
|
|
209
|
-
const el = document.activeElement;
|
|
210
|
-
return {
|
|
211
|
-
tagName: el.tagName,
|
|
212
|
-
textContent: el.textContent,
|
|
213
|
-
};
|
|
214
|
-
});
|
|
215
|
-
expect(focusedEl.tagName).toBe("IC-BUTTON");
|
|
216
|
-
expect(focusedEl.textContent).toBe("foo");
|
|
217
|
-
});
|
|
218
|
-
it("should not tab to interactive button when hidden and tab to cancel button", async () => {
|
|
219
|
-
const page = await newE2EPage();
|
|
220
|
-
await page.setContent(`<script>
|
|
221
|
-
function showSmallDialog() {
|
|
222
|
-
dialog = document.querySelector("#small-dialog");
|
|
223
|
-
dialog.showDialog();
|
|
224
|
-
}
|
|
225
|
-
function hideNewBtn() {
|
|
226
|
-
var btn = document.querySelector("#hide-btn");
|
|
227
|
-
btn.remove();
|
|
228
|
-
}
|
|
229
|
-
</script>
|
|
230
|
-
<ic-button variant="primary" id='showBtn' onclick="showSmallDialog()">
|
|
231
|
-
Launch small dialog
|
|
232
|
-
</ic-button>
|
|
233
|
-
<ic-dialog
|
|
234
|
-
heading="This is a small dialog"
|
|
235
|
-
label="Small"
|
|
236
|
-
id="small-dialog"
|
|
237
|
-
>
|
|
238
|
-
<ic-typography>
|
|
239
|
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
|
|
240
|
-
eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
|
241
|
-
</ic-typography>
|
|
242
|
-
<ic-button class="hide" onclick="hideNewBtn();">Hide</ic-button>
|
|
243
|
-
<ic-button id='hide-btn'>foo</ic-button>
|
|
244
|
-
<div id="base"></div>
|
|
245
|
-
</ic-dialog>
|
|
246
|
-
`);
|
|
247
|
-
const btn = await page.find("#showBtn");
|
|
248
|
-
await btn.click();
|
|
249
|
-
await page.waitForChanges();
|
|
250
|
-
await page.waitForTimeout(DIALOG_DELAY_MS);
|
|
251
|
-
let focusedEl = await page.evaluate(() => {
|
|
252
|
-
const el = document.activeElement;
|
|
253
|
-
return {
|
|
254
|
-
tagName: el.tagName,
|
|
255
|
-
textContent: el.textContent,
|
|
256
|
-
};
|
|
257
|
-
});
|
|
258
|
-
expect(focusedEl.tagName).toBe("IC-BUTTON");
|
|
259
|
-
expect(focusedEl.textContent).toBe("Hide");
|
|
260
|
-
await page.keyboard.press("Tab");
|
|
261
|
-
await page.waitForChanges();
|
|
262
|
-
focusedEl = await page.evaluate(() => {
|
|
263
|
-
const el = document.activeElement;
|
|
264
|
-
return {
|
|
265
|
-
tagName: el.tagName,
|
|
266
|
-
textContent: el.textContent,
|
|
267
|
-
};
|
|
268
|
-
});
|
|
269
|
-
expect(focusedEl.tagName).toBe("IC-BUTTON");
|
|
270
|
-
expect(focusedEl.textContent).toBe("foo");
|
|
271
|
-
const hideBtn = await page.find(".hide");
|
|
272
|
-
await hideBtn.click();
|
|
273
|
-
await page.waitForChanges();
|
|
274
|
-
await page.keyboard.press("Tab");
|
|
275
|
-
await page.waitForChanges();
|
|
276
|
-
focusedEl = await page.evaluate(() => {
|
|
277
|
-
const dialog = document.querySelector("ic-dialog");
|
|
278
|
-
const el = dialog.shadowRoot.activeElement;
|
|
279
|
-
return {
|
|
280
|
-
tagName: el.tagName,
|
|
281
|
-
textContent: el.textContent,
|
|
282
|
-
};
|
|
283
|
-
});
|
|
284
|
-
expect(focusedEl.tagName).toBe("IC-BUTTON");
|
|
285
|
-
expect(focusedEl.textContent).toBe("Cancel");
|
|
286
|
-
});
|
|
287
|
-
});
|
|
288
|
-
//# sourceMappingURL=ic-dialog.e2e.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ic-dialog.e2e.js","sourceRoot":"","sources":["../../../../../src/components/ic-dialog/test/basic/ic-dialog.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\nconst DIALOG_DELAY_MS = 300;\n\ndescribe(\"ic-dialog\", () => {\n it(\"should test focus and tab key press\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <script>\n function showDialog() {\n dialog = document.querySelector(\"ic-dialog\");\n dialog.open = true;\n }\n </script>\n <ic-button id=\"showBtn\" variant=\"primary\" onclick=\"showDialog()\"\n >Launch dialog</ic-button\n >\n <ic-dialog\n heading=\"This dialog has slotted interactive content\"\n label=\"slotted\"\n dismiss-label=\"Close\"\n size=\"medium\"\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua.\n <ic-text-field id=\"text-field\" label=\"What is your favourite coffee?\">\n </ic-text-field>\n <ic-select\n id=\"sel1\"\n label=\"What is your favourite coffee?\"\n placeholder=\"Placeholder goes here\"\n ></ic-select>\n <ic-checkbox-group\n style=\"margin: 8px 0\"\n hide-label\n label=\"confirm\"\n name=\"confirm-checkbox\"\n >\n <ic-checkbox label=\"Option\" value=\"confirm\" id=\"checkbox1\"></ic-checkbox>\n </ic-checkbox-group>\n </ic-dialog>\n `\n );\n\n const btn = await page.find(\"#showBtn\");\n btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n let activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"text-field\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"sel1\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"checkbox1\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"text-field\");\n });\n\n it(\"should hide dialog when background clicked\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <script>\n function showDialog() {\n dialog = document.querySelector(\"ic-dialog\");\n dialog.open = true;\n }\n </script>\n <ic-button id=\"showBtn\" variant=\"primary\" onclick=\"showDialog()\"\n >Launch dialog</ic-button\n >\n <ic-dialog\n heading=\"This dialog has slotted interactive content\"\n label=\"slotted\"\n size=\"medium\"\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. \n </ic-dialog>\n `\n );\n\n const dialog = await page.find(\"ic-dialog\");\n\n let dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"none\");\n\n const btn = await page.find(\"#showBtn\");\n btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"flex\");\n\n await page.mouse.click(10, 10);\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"none\");\n });\n\n it(\"should not hide dialog when background clicked\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <script>\n function showDialog() {\n dialog = document.querySelector(\"ic-dialog\");\n dialog.open = true;\n }\n </script>\n <ic-button id=\"showBtn\" variant=\"primary\" onclick=\"showDialog()\"\n >Launch dialog</ic-button\n >\n <ic-dialog\n heading=\"This dialog has slotted interactive content\"\n label=\"slotted\"\n size=\"medium\"\n close-on-backdrop-click=\"false\"\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. \n </ic-dialog>\n `\n );\n\n const dialog = await page.find(\"ic-dialog\");\n\n let dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"none\");\n\n const btn = await page.find(\"#showBtn\");\n btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"flex\");\n\n await page.mouse.click(10, 10);\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"flex\");\n });\n\n it(\"should be able to tab to dynamically added interactive element\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<script>\n function showSmallDialog() {\n dialog = document.querySelector(\"#small-dialog\");\n dialog.showDialog();\n }\n function showNewBtn() {\n var el = document.createElement(\"ic-button\");\n el.innerText = \"foo\";\n var base = document.querySelector(\"#base\");\n base.after(el);\n }\n </script>\n <ic-button variant=\"primary\" id='showBtn' onclick=\"showSmallDialog()\">\n Launch small dialog\n </ic-button>\n <ic-dialog\n heading=\"This is a small dialog\"\n label=\"Small\"\n id=\"small-dialog\"\n >\n <ic-typography>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua.\n </ic-typography>\n <ic-button class=\"show\" onclick=\"showNewBtn();\">Show</ic-button>\n <div id=\"base\"></div>\n </ic-dialog>\n `);\n\n const btn = await page.find(\"#showBtn\");\n btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n let focusedEl = await page.evaluate(() => {\n const el = document.activeElement;\n return {\n tagName: el.tagName,\n textContent: el.textContent,\n };\n });\n\n expect(focusedEl.tagName).toBe(\"IC-BUTTON\");\n expect(focusedEl.textContent).toBe(\"Show\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n focusedEl = await page.evaluate(() => {\n const dialog = document.querySelector(\"ic-dialog\");\n const el = dialog.shadowRoot.activeElement;\n return {\n tagName: el.tagName,\n textContent: el.textContent,\n };\n });\n\n expect(focusedEl.tagName).toBe(\"IC-BUTTON\");\n expect(focusedEl.textContent).toBe(\"Cancel\");\n\n const showBtn = await page.find(\".show\");\n await showBtn.click();\n await page.waitForChanges();\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n focusedEl = await page.evaluate(() => {\n const el = document.activeElement;\n return {\n tagName: el.tagName,\n textContent: el.textContent,\n };\n });\n\n expect(focusedEl.tagName).toBe(\"IC-BUTTON\");\n expect(focusedEl.textContent).toBe(\"foo\");\n });\n\n it(\"should not tab to interactive button when hidden and tab to cancel button\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<script>\n function showSmallDialog() {\n dialog = document.querySelector(\"#small-dialog\");\n dialog.showDialog();\n }\n function hideNewBtn() {\n var btn = document.querySelector(\"#hide-btn\");\n btn.remove();\n }\n </script>\n <ic-button variant=\"primary\" id='showBtn' onclick=\"showSmallDialog()\">\n Launch small dialog\n </ic-button>\n <ic-dialog\n heading=\"This is a small dialog\"\n label=\"Small\"\n id=\"small-dialog\"\n >\n <ic-typography>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua.\n </ic-typography>\n <ic-button class=\"hide\" onclick=\"hideNewBtn();\">Hide</ic-button>\n <ic-button id='hide-btn'>foo</ic-button>\n <div id=\"base\"></div>\n </ic-dialog>\n `);\n\n const btn = await page.find(\"#showBtn\");\n await btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n let focusedEl = await page.evaluate(() => {\n const el = document.activeElement;\n return {\n tagName: el.tagName,\n textContent: el.textContent,\n };\n });\n\n expect(focusedEl.tagName).toBe(\"IC-BUTTON\");\n expect(focusedEl.textContent).toBe(\"Hide\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n focusedEl = await page.evaluate(() => {\n const el = document.activeElement;\n return {\n tagName: el.tagName,\n textContent: el.textContent,\n };\n });\n\n expect(focusedEl.tagName).toBe(\"IC-BUTTON\");\n expect(focusedEl.textContent).toBe(\"foo\");\n\n const hideBtn = await page.find(\".hide\");\n await hideBtn.click();\n await page.waitForChanges();\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n focusedEl = await page.evaluate(() => {\n const dialog = document.querySelector(\"ic-dialog\");\n const el = dialog.shadowRoot.activeElement;\n return {\n tagName: el.tagName,\n textContent: el.textContent,\n };\n });\n\n expect(focusedEl.tagName).toBe(\"IC-BUTTON\");\n expect(focusedEl.textContent).toBe(\"Cancel\");\n });\n});\n"]}
|