@ukic/web-components 2.10.0 → 2.12.0
Sign up to get free protection for your applications and to get access to all the features.
- 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"]}
|