@ukic/web-components 2.6.0 → 2.8.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-498eb0e2.js → helpers-0d63359f.js} +36 -105
- package/dist/cjs/helpers-0d63359f.js.map +1 -0
- package/dist/cjs/ic-accordion.cjs.entry.js +5 -3
- package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +3 -3
- 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-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +8 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +2 -11
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +2 -2
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +88 -66
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +4 -3
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +77 -68
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
- 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 +6 -3
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
- package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-pagination.cjs.entry.js +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +29 -60
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +2 -2
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +3 -3
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +20 -16
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
- 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-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +8 -2
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +17 -25
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js +20 -8
- package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +6 -5
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +9 -5
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-accordion/ic-accordion.js +4 -2
- package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
- package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.e2e.js +3 -0
- package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.e2e.js.map +1 -1
- package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +3 -0
- package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +3 -3
- package/dist/collection/components/ic-badge/ic-badge.js +4 -1
- package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.css +3 -1
- package/dist/collection/components/ic-card/ic-card.css +1 -1
- package/dist/collection/components/ic-checkbox/ic-checkbox.css +5 -5
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +0 -9
- package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +13 -0
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
- package/dist/collection/components/ic-chip/ic-chip.css +1 -1
- package/dist/collection/components/ic-data-entity/ic-data-entity.css +1 -1
- package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
- package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js +3 -1
- package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-dialog/ic-dialog.css +56 -21
- package/dist/collection/components/ic-dialog/ic-dialog.js +122 -64
- package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js +129 -48
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +1 -1
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +54 -39
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
- package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js +2 -0
- package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +24 -2
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
- package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js +2 -0
- package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +4 -4
- package/dist/collection/components/ic-menu/ic-menu.css +1 -5
- package/dist/collection/components/ic-menu/ic-menu.js +124 -65
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +17 -0
- package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +1 -1
- package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js +2 -0
- package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +11 -5
- package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js +2 -0
- package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +7 -3
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
- package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js +1 -1
- package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +37 -36
- package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +28 -59
- 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.e2e.js +3 -0
- package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js.map +1 -1
- package/dist/collection/components/ic-radio-option/ic-radio-option.css +3 -3
- package/dist/collection/components/ic-search-bar/ic-search-bar.css +1 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +1 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +14 -30
- 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.css +2 -1
- package/dist/collection/components/ic-select/ic-select.js +36 -14
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +25 -0
- package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -1
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +12 -4
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +1 -2
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +1 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.css +4 -4
- package/dist/collection/components/ic-step/ic-step.css +1 -1
- package/dist/collection/components/ic-switch/ic-switch.css +3 -2
- package/dist/collection/components/ic-switch/ic-switch.js +9 -0
- package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js +35 -0
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js.map +1 -1
- package/dist/collection/components/ic-tab-group/ic-tab-group.css +1 -1
- package/dist/collection/components/ic-tab-group/ic-tab-group.js +1 -1
- package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.js +16 -24
- package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
- package/dist/collection/components/ic-toast/ic-toast.js +9 -5
- package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
- package/dist/collection/components/ic-toast-region/ic-toast-region.js +53 -17
- package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
- package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +23 -1
- package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.css +2 -2
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +3 -3
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +8 -3
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js +2 -0
- package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +15 -0
- package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
- package/dist/collection/utils/helpers.js +35 -104
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/components/helpers.js +35 -104
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-accordion.js +4 -2
- package/dist/components/ic-accordion.js.map +1 -1
- package/dist/components/ic-back-to-top.js +1 -1
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-badge.js +1 -1
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-button2.js +1 -1
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card.js +1 -1
- package/dist/components/ic-card.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +8 -1
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +1 -10
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +1 -1
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-data-entity.js +1 -1
- package/dist/components/ic-data-entity.js.map +1 -1
- package/dist/components/ic-data-row.js +1 -1
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-dialog.js +90 -66
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-horizontal-scroll2.js +4 -2
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +1 -1
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-menu2.js +79 -67
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-group.js +1 -1
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +1 -1
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +5 -2
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-popover-menu.js +28 -59
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-option.js +1 -1
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +2 -2
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-select.js +20 -15
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-status-tag.js +1 -1
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +1 -1
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-switch.js +9 -1
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-group.js +2 -2
- package/dist/components/ic-tab-group.js.map +1 -1
- package/dist/components/ic-text-field2.js +16 -24
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-toast-region.js +24 -9
- package/dist/components/ic-toast-region.js.map +1 -1
- package/dist/components/ic-toast.js +6 -5
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-tooltip2.js +1 -1
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +8 -4
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/core/core.css +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-e71ec1fe.entry.js → p-025f9d2a.entry.js} +2 -2
- package/dist/core/p-025f9d2a.entry.js.map +1 -0
- package/dist/core/{p-65715458.entry.js → p-03329fd0.entry.js} +2 -2
- package/dist/core/{p-667711a8.entry.js → p-08b59078.entry.js} +2 -2
- package/dist/core/{p-f5d1a0d7.entry.js → p-0c82048e.entry.js} +2 -2
- package/dist/core/{p-7bc6eb83.entry.js → p-2265e418.entry.js} +2 -2
- package/dist/core/p-2265e418.entry.js.map +1 -0
- package/dist/core/p-24da56e7.entry.js +2 -0
- package/dist/core/p-24da56e7.entry.js.map +1 -0
- package/dist/core/{p-09022de8.entry.js → p-2c30b583.entry.js} +2 -2
- package/dist/core/{p-7c913098.entry.js → p-345fe84a.entry.js} +2 -2
- package/dist/core/{p-8fc9b82b.entry.js → p-39c8111d.entry.js} +2 -2
- package/dist/core/{p-a69c8001.entry.js → p-3a15202f.entry.js} +2 -2
- package/dist/core/{p-bb3e7ce5.entry.js → p-3a814fc4.entry.js} +2 -2
- package/dist/core/{p-1a5353ed.entry.js → p-41c6eaa1.entry.js} +2 -2
- package/dist/core/p-43af3cf6.entry.js +2 -0
- package/dist/core/p-43af3cf6.entry.js.map +1 -0
- package/dist/core/{p-5c722379.entry.js → p-475b7bd2.entry.js} +2 -2
- package/dist/core/p-4bc35224.entry.js +2 -0
- package/dist/core/p-4bc35224.entry.js.map +1 -0
- package/dist/core/{p-f2f8e4aa.entry.js → p-59bdafff.entry.js} +2 -2
- package/dist/core/p-5a3ca50a.entry.js +2 -0
- package/dist/core/p-5a3ca50a.entry.js.map +1 -0
- package/dist/core/{p-522947f5.entry.js → p-5ccbb042.entry.js} +2 -2
- package/dist/core/p-5ccbb042.entry.js.map +1 -0
- package/dist/core/{p-0dd70d92.entry.js → p-5fcd202e.entry.js} +2 -2
- package/dist/core/p-5fcd202e.entry.js.map +1 -0
- package/dist/core/p-657513b5.entry.js +2 -0
- package/dist/core/p-657513b5.entry.js.map +1 -0
- package/dist/core/p-69d15528.entry.js +2 -0
- package/dist/core/p-69d15528.entry.js.map +1 -0
- package/dist/core/p-6c376756.entry.js +2 -0
- package/dist/core/p-6c376756.entry.js.map +1 -0
- package/dist/core/p-717907de.entry.js +2 -0
- package/dist/core/p-717907de.entry.js.map +1 -0
- package/dist/core/p-748159fe.entry.js +2 -0
- package/dist/core/p-748159fe.entry.js.map +1 -0
- package/dist/core/{p-c08b5a9a.entry.js → p-752f0f9a.entry.js} +2 -2
- package/dist/core/{p-f62c902b.entry.js → p-76563540.entry.js} +2 -2
- package/dist/core/p-7ce86152.entry.js +2 -0
- package/dist/core/p-7ce86152.entry.js.map +1 -0
- package/dist/core/{p-027ea4ff.entry.js → p-88ea1e49.entry.js} +2 -2
- package/dist/core/{p-c5b6d645.entry.js → p-8b18346a.entry.js} +2 -2
- package/dist/core/p-8b18346a.entry.js.map +1 -0
- package/dist/core/p-8fb4f0c0.js +2 -0
- package/dist/core/p-8fb4f0c0.js.map +1 -0
- package/dist/core/{p-72d6619c.entry.js → p-932fb4b7.entry.js} +2 -2
- package/dist/core/p-99fad66b.entry.js +2 -0
- package/dist/core/p-99fad66b.entry.js.map +1 -0
- package/dist/core/p-9f6ffced.entry.js +2 -0
- package/dist/core/p-9f6ffced.entry.js.map +1 -0
- package/dist/core/{p-af9f1caa.entry.js → p-9ff57f09.entry.js} +2 -2
- package/dist/core/p-9ff57f09.entry.js.map +1 -0
- package/dist/core/{p-4164e7d5.entry.js → p-a4397df4.entry.js} +2 -2
- package/dist/core/p-a76912b0.entry.js +2 -0
- package/dist/core/p-a76912b0.entry.js.map +1 -0
- package/dist/core/{p-3758c2b5.entry.js → p-b0ce60a0.entry.js} +2 -2
- package/dist/core/p-b879fa3e.entry.js +2 -0
- package/dist/core/p-b879fa3e.entry.js.map +1 -0
- package/dist/core/p-ba495175.entry.js +2 -0
- package/dist/core/p-ba495175.entry.js.map +1 -0
- package/dist/core/p-c0719bf4.entry.js +2 -0
- package/dist/core/p-c0719bf4.entry.js.map +1 -0
- package/dist/core/{p-134b407d.entry.js → p-c0c62df4.entry.js} +2 -2
- package/dist/core/{p-d8022cec.entry.js → p-c9ef9f5c.entry.js} +2 -2
- package/dist/core/{p-c01d43cf.entry.js → p-ca6073be.entry.js} +2 -2
- package/dist/core/p-ca6073be.entry.js.map +1 -0
- package/dist/core/p-cb5f19ea.entry.js +2 -0
- package/dist/core/p-cb5f19ea.entry.js.map +1 -0
- package/dist/core/{p-e465a208.entry.js → p-ccac1730.entry.js} +2 -2
- package/dist/core/{p-bb085716.entry.js → p-cf4bacee.entry.js} +2 -2
- package/dist/core/p-d80f99e0.entry.js +2 -0
- package/dist/core/p-d80f99e0.entry.js.map +1 -0
- package/dist/core/{p-53533992.entry.js → p-e2fd542e.entry.js} +2 -2
- package/dist/core/p-e2fd542e.entry.js.map +1 -0
- package/dist/core/{p-09eb825d.entry.js → p-e3bffcae.entry.js} +2 -2
- package/dist/core/p-e9ddb8cd.entry.js +2 -0
- package/dist/core/p-e9ddb8cd.entry.js.map +1 -0
- package/dist/core/p-eb4641a9.entry.js +2 -0
- package/dist/core/p-eb4641a9.entry.js.map +1 -0
- package/dist/core/{p-b80520e9.entry.js → p-f019219c.entry.js} +2 -2
- package/dist/core/{p-27b46a68.entry.js → p-fbc8a739.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-c325e537.js → helpers-24f6e762.js} +36 -105
- package/dist/esm/helpers-24f6e762.js.map +1 -0
- package/dist/esm/ic-accordion.entry.js +5 -3
- package/dist/esm/ic-accordion.entry.js.map +1 -1
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js +2 -2
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-badge.entry.js +1 -1
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +3 -3
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +2 -2
- package/dist/esm/ic-card.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +8 -1
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +2 -11
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +2 -2
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-data-entity.entry.js +1 -1
- package/dist/esm/ic-data-entity.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +2 -2
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +88 -66
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-empty-state.entry.js +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js +1 -1
- package/dist/esm/ic-footer.entry.js +1 -1
- package/dist/esm/ic-hero.entry.js +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +4 -3
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +77 -68
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +1 -1
- package/dist/esm/ic-link.entry.js +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-navigation-button.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js +2 -2
- 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 +6 -3
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +1 -1
- package/dist/esm/ic-pagination-item.entry.js +1 -1
- package/dist/esm/ic-pagination.entry.js +1 -1
- package/dist/esm/ic-popover-menu.entry.js +29 -60
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +1 -1
- package/dist/esm/ic-radio-option.entry.js +2 -2
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +3 -3
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +20 -16
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +1 -1
- package/dist/esm/ic-status-tag.entry.js +2 -2
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +2 -2
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +1 -1
- package/dist/esm/ic-switch.entry.js +8 -2
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +3 -3
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +1 -1
- package/dist/esm/ic-tab.entry.js +1 -1
- package/dist/esm/ic-text-field.entry.js +17 -25
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +1 -1
- package/dist/esm/ic-toast-region.entry.js +20 -8
- package/dist/esm/ic-toast-region.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +6 -5
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +9 -5
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-accordion/ic-accordion.d.ts +1 -0
- package/dist/types/components/ic-badge/ic-badge.d.ts +3 -0
- package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +0 -1
- package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -0
- package/dist/types/components/ic-dialog/ic-dialog.d.ts +17 -2
- package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +4 -0
- package/dist/types/components/ic-menu/ic-menu.d.ts +12 -2
- package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +1 -1
- package/dist/types/components/ic-select/ic-select.d.ts +4 -0
- package/dist/types/components/ic-switch/ic-switch.d.ts +1 -0
- package/dist/types/components/ic-text-field/ic-text-field.d.ts +1 -0
- package/dist/types/components/ic-toast/ic-toast.d.ts +1 -1
- package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +7 -2
- package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +1 -0
- package/dist/types/components.d.ts +36 -3
- package/dist/types/utils/helpers.d.ts +2 -2
- package/hydrate/index.js +351 -386
- package/package.json +2 -2
- package/dist/cjs/helpers-498eb0e2.js.map +0 -1
- package/dist/core/p-0baa2141.entry.js +0 -2
- package/dist/core/p-0baa2141.entry.js.map +0 -1
- package/dist/core/p-0dd70d92.entry.js.map +0 -1
- package/dist/core/p-30f9fabc.entry.js +0 -2
- package/dist/core/p-30f9fabc.entry.js.map +0 -1
- package/dist/core/p-31236329.entry.js +0 -2
- package/dist/core/p-31236329.entry.js.map +0 -1
- package/dist/core/p-39db6642.entry.js +0 -2
- package/dist/core/p-39db6642.entry.js.map +0 -1
- package/dist/core/p-409e437f.js +0 -2
- package/dist/core/p-409e437f.js.map +0 -1
- package/dist/core/p-46053a32.entry.js +0 -2
- package/dist/core/p-46053a32.entry.js.map +0 -1
- package/dist/core/p-4af7cb4c.entry.js +0 -2
- package/dist/core/p-4af7cb4c.entry.js.map +0 -1
- package/dist/core/p-500e8584.entry.js +0 -2
- package/dist/core/p-500e8584.entry.js.map +0 -1
- package/dist/core/p-522947f5.entry.js.map +0 -1
- package/dist/core/p-53533992.entry.js.map +0 -1
- package/dist/core/p-5c9457e2.entry.js +0 -2
- package/dist/core/p-5c9457e2.entry.js.map +0 -1
- package/dist/core/p-6286ad7b.entry.js +0 -2
- package/dist/core/p-6286ad7b.entry.js.map +0 -1
- package/dist/core/p-6991655b.entry.js +0 -2
- package/dist/core/p-6991655b.entry.js.map +0 -1
- package/dist/core/p-6ce0a089.entry.js +0 -2
- package/dist/core/p-6ce0a089.entry.js.map +0 -1
- package/dist/core/p-700559ee.entry.js +0 -2
- package/dist/core/p-700559ee.entry.js.map +0 -1
- package/dist/core/p-78f0118c.entry.js +0 -2
- package/dist/core/p-78f0118c.entry.js.map +0 -1
- package/dist/core/p-7bc6eb83.entry.js.map +0 -1
- package/dist/core/p-8ae11ca6.entry.js +0 -2
- package/dist/core/p-8ae11ca6.entry.js.map +0 -1
- package/dist/core/p-9ea62161.entry.js +0 -2
- package/dist/core/p-9ea62161.entry.js.map +0 -1
- package/dist/core/p-ae1ed418.entry.js +0 -2
- package/dist/core/p-ae1ed418.entry.js.map +0 -1
- package/dist/core/p-af9f1caa.entry.js.map +0 -1
- package/dist/core/p-ba25f08a.entry.js +0 -2
- package/dist/core/p-ba25f08a.entry.js.map +0 -1
- package/dist/core/p-c01d43cf.entry.js.map +0 -1
- package/dist/core/p-c5b6d645.entry.js.map +0 -1
- package/dist/core/p-d4522596.entry.js +0 -2
- package/dist/core/p-d4522596.entry.js.map +0 -1
- package/dist/core/p-e71ec1fe.entry.js.map +0 -1
- package/dist/core/p-f5947c60.entry.js +0 -2
- package/dist/core/p-f5947c60.entry.js.map +0 -1
- package/dist/core/p-fee7caf1.entry.js +0 -2
- package/dist/core/p-fee7caf1.entry.js.map +0 -1
- package/dist/esm/helpers-c325e537.js.map +0 -1
- /package/dist/core/{p-65715458.entry.js.map → p-03329fd0.entry.js.map} +0 -0
- /package/dist/core/{p-667711a8.entry.js.map → p-08b59078.entry.js.map} +0 -0
- /package/dist/core/{p-f5d1a0d7.entry.js.map → p-0c82048e.entry.js.map} +0 -0
- /package/dist/core/{p-09022de8.entry.js.map → p-2c30b583.entry.js.map} +0 -0
- /package/dist/core/{p-7c913098.entry.js.map → p-345fe84a.entry.js.map} +0 -0
- /package/dist/core/{p-8fc9b82b.entry.js.map → p-39c8111d.entry.js.map} +0 -0
- /package/dist/core/{p-a69c8001.entry.js.map → p-3a15202f.entry.js.map} +0 -0
- /package/dist/core/{p-bb3e7ce5.entry.js.map → p-3a814fc4.entry.js.map} +0 -0
- /package/dist/core/{p-1a5353ed.entry.js.map → p-41c6eaa1.entry.js.map} +0 -0
- /package/dist/core/{p-5c722379.entry.js.map → p-475b7bd2.entry.js.map} +0 -0
- /package/dist/core/{p-f2f8e4aa.entry.js.map → p-59bdafff.entry.js.map} +0 -0
- /package/dist/core/{p-c08b5a9a.entry.js.map → p-752f0f9a.entry.js.map} +0 -0
- /package/dist/core/{p-f62c902b.entry.js.map → p-76563540.entry.js.map} +0 -0
- /package/dist/core/{p-027ea4ff.entry.js.map → p-88ea1e49.entry.js.map} +0 -0
- /package/dist/core/{p-72d6619c.entry.js.map → p-932fb4b7.entry.js.map} +0 -0
- /package/dist/core/{p-4164e7d5.entry.js.map → p-a4397df4.entry.js.map} +0 -0
- /package/dist/core/{p-3758c2b5.entry.js.map → p-b0ce60a0.entry.js.map} +0 -0
- /package/dist/core/{p-134b407d.entry.js.map → p-c0c62df4.entry.js.map} +0 -0
- /package/dist/core/{p-d8022cec.entry.js.map → p-c9ef9f5c.entry.js.map} +0 -0
- /package/dist/core/{p-e465a208.entry.js.map → p-ccac1730.entry.js.map} +0 -0
- /package/dist/core/{p-bb085716.entry.js.map → p-cf4bacee.entry.js.map} +0 -0
- /package/dist/core/{p-09eb825d.entry.js.map → p-e3bffcae.entry.js.map} +0 -0
- /package/dist/core/{p-b80520e9.entry.js.map → p-f019219c.entry.js.map} +0 -0
- /package/dist/core/{p-27b46a68.entry.js.map → p-fbc8a739.entry.js.map} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-dialog.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-dialog/test/basic/ic-dialog.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { SpecPage, newSpecPage } from \"@stencil/core/testing\";\nimport { Dialog } from \"../../ic-dialog\";\nimport {\n waitForTimeout,\n testKeyboardEvent as keyboardEvent,\n} from \"../../../../testspec.setup\";\nimport { Button } from \"../../../ic-button/ic-button\";\nimport { TextField } from \"../../../ic-text-field/ic-text-field\";\n\nconst DIALOG_DELAY_MS = 100;\n\nconst setupDialogMethods = (page: SpecPage) => {\n page.rootInstance.dialogEl.showModal = jest.fn(function mock(\n this: HTMLDialogElement\n ) {\n this.open = true;\n });\n\n page.rootInstance.dialogEl.close = jest.fn(function mock(\n this: HTMLDialogElement\n ) {\n this.open = false;\n });\n};\n\ndescribe(\"ic-dialog component\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\" buttons=\"false\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with a label\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\" label=\"Dialog label\" buttons=\"false\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with no buttons\", async () => {\n const page = await newSpecPage({\n components: [Dialog],\n html: `<ic-dialog heading=\"Dialog heading\" buttons=\"false\">Dialog content</ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with slotted content\", async () => {\n const page = await newSpecPage({\n components: [Dialog, TextField, Button],\n html: `<ic-dialog heading=\"Dialog heading\">\n <ic-text-field label=\"What is your favourite coffee?\">\n </ic-text-field>\n <ic-button>Click Me</ic-button>\n </ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render as medium size\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\" size=\"medium\" buttons=\"false\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render as large size\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\" size=\"large\" buttons=\"false\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with a single default button\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [\n { label: \"Confirm\", onclick: \"this.icDialogConfirm()\" },\n ];\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with two default buttons\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with three default buttons\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [\n { label: \"Cancel\", onclick: \"this.hideDialog()\" },\n { label: \"Options\", onclick: \"alert('Options...')\" },\n { label: \"Confirm\", onclick: \"this.icDialogConfirm()\" },\n ];\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with no more than three default buttons\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [\n { label: \"Cancel\", onclick: \"this.hideDialog()\" },\n { label: \"Options\", onclick: \"alert('Options...')\" },\n { label: \"Confirm\", onclick: \"this.icDialogConfirm()\" },\n { label: \"Extra\", onclick: \"alert('Extra button')\" },\n ];\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with a destructive default button\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading test\" destructive=\"true\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [\n { label: \"Confirm\", onclick: \"this.icDialogConfirm()\" },\n ];\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with an alert\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\" status=\"neutral\" alert-heading=\"Alert heading\" alert-message=\"Alert message\" buttons=\"false\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should display with the open prop\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogOpened\", eventSpy);\n\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n });\n\n it(\"should hide with the open prop\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogClosed\", eventSpy);\n\n dialog.open = false;\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should display with the showDialog method\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogOpened\", eventSpy);\n\n await dialog.showDialog();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n });\n\n it(\"should hide with the hideDialog method\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogClosed\", eventSpy);\n\n await dialog.hideDialog();\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should test icDialogCancelled event emitted\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogCancelled\", eventSpy);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[1].click();\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n });\n\n it(\"should test icDialogConfirmed event emitted\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogConfirmed\", eventSpy);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[2].click();\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n });\n\n it(\"should test cancelDialog method\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogCancelled\", eventSpy);\n\n await dialog.cancelDialog();\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should test confirmDialog method\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogConfirmed\", eventSpy);\n\n await dialog.confirmDialog();\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n });\n\n it(\"should render with slotted controls\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"><ic-button variant=\"primary\" onclick=\"alert('Confirmed!')\" slot=\"dialog-controls\">Confirm</ic-button></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should hide when the escape key is pressed\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.win.document.dispatchEvent(\n new KeyboardEvent(\"keydown\", keyboardEvent(\"Escape\"))\n );\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should hide when something besides the dialog is clicked\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.dispatchEvent(\n new window.window.MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n clientX: 10,\n clientY: 10,\n })\n );\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should not hide when close-on-backdrop-click false\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\" close-on-backdrop-click=\"false\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.dispatchEvent(\n new window.window.MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n clientX: 10,\n clientY: 10,\n })\n );\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n });\n\n it(\"should hide when the close button is clicked\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelector(\"ic-button\").click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should correctly pass onclick functions to a single default button\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [{ label: \"Confirm\", onclick: \"this.hideDialog()\" }];\n\n await page.waitForChanges();\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[1].click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should trigger private focusNextInteractiveElement method when tab pressed\", async () => {\n const page = await newSpecPage({\n components: [Dialog, TextField, Button],\n html: `<ic-dialog heading=\"Dialog heading\">\n <ic-text-field label=\"What is your favourite coffee?\">\n </ic-text-field>\n <ic-button>Click Me</ic-button>\n </ic-dialog>`,\n });\n\n setupDialogMethods(page);\n const dialog = document.querySelector(\"ic-dialog\");\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n page.win.document.dispatchEvent(\n new KeyboardEvent(\"keydown\", keyboardEvent(\"Tab\"))\n );\n await page.waitForChanges();\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n });\n\n it(\"should set appropriate data-overflow attribute\", async () => {\n const page = await newSpecPage({\n components: [Dialog, TextField, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n const dialog = document.querySelector(\"ic-dialog\");\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n page.rootInstance.dialogEl.clientHeight = 100;\n page.rootInstance.dialogEl.scrollHeight = 100;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n page.rootInstance.resizeObserverCallback();\n\n expect(page.rootInstance.el.getAttribute(\"data-overflow\")).toBe(\"false\");\n\n await dialog.hideDialog();\n dialog.open = false;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n page.rootInstance.dialogEl.clientHeight = 50;\n page.rootInstance.dialogEl.scrollHeight = 100;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n page.rootInstance.resizeObserverCallback();\n\n expect(page.rootInstance.el.getAttribute(\"data-overflow\")).toBe(\"true\");\n });\n\n it(\"should correctly pass onclick functions to two default buttons\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [\n { label: \"Close\", onclick: \"this.hideDialog()\" },\n { label: \"Confirm\", onclick: \"this.hideDialog()\" },\n ];\n\n await page.waitForChanges();\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[1].click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[2].click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should correctly pass onclick functions to three default buttons\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [\n { label: \"Cancel\", onclick: \"this.hideDialog()\" },\n { label: \"Options\", onclick: \"this.hideDialog()\" },\n { label: \"Confirm\", onclick: \"this.hideDialog()\" },\n ];\n\n await page.waitForChanges();\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[1].click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[2].click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[3].click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n});\n"]}
|
1
|
+
{"version":3,"file":"ic-dialog.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-dialog/test/basic/ic-dialog.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { SpecPage, newSpecPage } from \"@stencil/core/testing\";\nimport { Dialog } from \"../../ic-dialog\";\nimport {\n waitForTimeout,\n testKeyboardEvent as keyboardEvent,\n} from \"../../../../testspec.setup\";\nimport { Button } from \"../../../ic-button/ic-button\";\nimport { TextField } from \"../../../ic-text-field/ic-text-field\";\n\nconst DIALOG_DELAY_MS = 100;\n\nconst setupDialogMethods = (page: SpecPage) => {\n page.rootInstance.dialogEl.showModal = jest.fn(function mock(\n this: HTMLDialogElement\n ) {\n this.open = true;\n });\n\n page.rootInstance.dialogEl.show = jest.fn(function mock(\n this: HTMLDialogElement\n ) {\n this.open = true;\n });\n\n page.rootInstance.dialogEl.close = jest.fn(function mock(\n this: HTMLDialogElement\n ) {\n this.open = false;\n });\n};\n\ndescribe(\"ic-dialog component\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\" buttons=\"false\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with a label\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\" label=\"Dialog label\" buttons=\"false\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with no buttons\", async () => {\n const page = await newSpecPage({\n components: [Dialog],\n html: `<ic-dialog heading=\"Dialog heading\" buttons=\"false\">Dialog content</ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with slotted content\", async () => {\n const page = await newSpecPage({\n components: [Dialog, TextField, Button],\n html: `<ic-dialog heading=\"Dialog heading\">\n <ic-text-field label=\"What is your favourite coffee?\">\n </ic-text-field>\n <ic-button>Click Me</ic-button>\n </ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render as medium size\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\" size=\"medium\" buttons=\"false\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render as large size\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\" size=\"large\" buttons=\"false\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with a single default button\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [\n { label: \"Confirm\", onclick: \"this.icDialogConfirm()\" },\n ];\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with two default buttons\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with three default buttons\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [\n { label: \"Cancel\", onclick: \"this.hideDialog()\" },\n { label: \"Options\", onclick: \"alert('Options...')\" },\n { label: \"Confirm\", onclick: \"this.icDialogConfirm()\" },\n ];\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with no more than three default buttons\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [\n { label: \"Cancel\", onclick: \"this.hideDialog()\" },\n { label: \"Options\", onclick: \"alert('Options...')\" },\n { label: \"Confirm\", onclick: \"this.icDialogConfirm()\" },\n { label: \"Extra\", onclick: \"alert('Extra button')\" },\n ];\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with a destructive default button\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading test\" destructive=\"true\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [\n { label: \"Confirm\", onclick: \"this.icDialogConfirm()\" },\n ];\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with an alert\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\" status=\"neutral\" alert-heading=\"Alert heading\" alert-message=\"Alert message\" buttons=\"false\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should display with the open prop\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogOpened\", eventSpy);\n\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n });\n\n it(\"should hide with the open prop\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogClosed\", eventSpy);\n\n dialog.open = false;\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should display with the showDialog method\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogOpened\", eventSpy);\n\n await dialog.showDialog();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n });\n\n it(\"should hide with the hideDialog method\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogClosed\", eventSpy);\n\n await dialog.hideDialog();\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should test icDialogCancelled event emitted\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogCancelled\", eventSpy);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[1].click();\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n });\n\n it(\"should test icDialogConfirmed event emitted\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogConfirmed\", eventSpy);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[2].click();\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n });\n\n it(\"should test cancelDialog method\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogCancelled\", eventSpy);\n\n await dialog.cancelDialog();\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should test confirmDialog method\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icDialogConfirmed\", eventSpy);\n\n await dialog.confirmDialog();\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(eventSpy).toHaveBeenCalled();\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n });\n\n it(\"should render with slotted controls\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"><ic-button variant=\"primary\" onclick=\"alert('Confirmed!')\" slot=\"dialog-controls\">Confirm</ic-button></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should hide when the escape key is pressed\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.win.document.dispatchEvent(\n new KeyboardEvent(\"keydown\", keyboardEvent(\"Escape\"))\n );\n\n await page.waitForChanges();\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should hide when something besides the dialog is clicked\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.dispatchEvent(\n new window.window.MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n clientX: 10,\n clientY: 10,\n })\n );\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should not hide when close-on-backdrop-click false\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\" close-on-backdrop-click=\"false\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.dispatchEvent(\n new window.window.MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n clientX: 10,\n clientY: 10,\n })\n );\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n });\n\n it(\"should hide when the close button is clicked\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: `<ic-dialog heading=\"Dialog heading\"></ic-dialog>`,\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelector(\"ic-button\").click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should correctly pass onclick functions to a single default button\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [{ label: \"Confirm\", onclick: \"this.hideDialog()\" }];\n\n await page.waitForChanges();\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[1].click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should trigger private focusNextInteractiveElement method when tab pressed\", async () => {\n const page = await newSpecPage({\n components: [Dialog, TextField, Button],\n html: `<ic-dialog heading=\"Dialog heading\">\n <ic-text-field label=\"What is your favourite coffee?\">\n </ic-text-field>\n <ic-button>Click Me</ic-button>\n </ic-dialog>`,\n });\n\n setupDialogMethods(page);\n const dialog = document.querySelector(\"ic-dialog\");\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n page.win.document.dispatchEvent(\n new KeyboardEvent(\"keydown\", keyboardEvent(\"Tab\"))\n );\n await page.waitForChanges();\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n });\n\n it(\"should correctly pass onclick functions to two default buttons\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [\n { label: \"Close\", onclick: \"this.hideDialog()\" },\n { label: \"Confirm\", onclick: \"this.hideDialog()\" },\n ];\n\n await page.waitForChanges();\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[1].click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[2].click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should correctly pass onclick functions to three default buttons\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [\n { label: \"Cancel\", onclick: \"this.hideDialog()\" },\n { label: \"Options\", onclick: \"this.hideDialog()\" },\n { label: \"Confirm\", onclick: \"this.hideDialog()\" },\n ];\n\n await page.waitForChanges();\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[1].click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[2].click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n dialog.open = true;\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(true);\n\n page.root.shadowRoot.querySelectorAll(\"ic-button\")[3].click();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n });\n\n it(\"should render with the close button\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog with close button test\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render without the close button\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog hide close button test\" hide-close-button=\"true\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should call this.getInteractiveElements() when slot content changes\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\" disable-height-constraint=\"true\"></ic-dialog>',\n });\n\n const contentAreaSlot = document\n .querySelector(\"ic-dialog\")\n .shadowRoot.querySelector(\".content-area slot\");\n\n jest\n .spyOn(page.rootInstance, \"getInteractiveElements\")\n .mockImplementation();\n\n await page.rootInstance.refreshInteractiveElementsOnSlotChange();\n\n contentAreaSlot.dispatchEvent(new Event(\"slotchange\"));\n\n expect(page.rootInstance.getInteractiveElements).toBeCalledTimes(1);\n });\n\n it(\"should call dialog.show() disableHeightConstraint is set and showDialog is called\", async () => {\n const page = await newSpecPage({\n components: [Dialog, Button],\n html: '<ic-dialog heading=\"Dialog heading\" disable-height-constraint=\"true\"></ic-dialog>',\n });\n\n setupDialogMethods(page);\n\n const dialog = document.querySelector(\"ic-dialog\");\n\n dialog.buttonProps = [\n { label: \"Cancel\", onclick: \"this.hideDialog()\" },\n { label: \"Options\", onclick: \"this.hideDialog()\" },\n { label: \"Confirm\", onclick: \"this.hideDialog()\" },\n ];\n\n await page.waitForChanges();\n\n expect(page.rootInstance.dialogRendered).toBe(false);\n\n await dialog.showDialog();\n\n await page.waitForChanges();\n\n //delay for setTimeout in code\n await waitForTimeout(DIALOG_DELAY_MS);\n\n expect(page.rootInstance.dialogEl.show).toBeCalled();\n });\n});\n"]}
|
@@ -10,6 +10,8 @@ beforeEach(() => {
|
|
10
10
|
disconnect: jest.fn().mockReturnValue(null),
|
11
11
|
});
|
12
12
|
window.ResizeObserver = mockResizeObserver;
|
13
|
+
const matchMedia = jest.fn().mockReturnValue(true);
|
14
|
+
window.matchMedia = matchMedia;
|
13
15
|
});
|
14
16
|
describe("ic-footer", () => {
|
15
17
|
it("passes accessibility", async () => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-footer.test.a11y.js","sourceRoot":"","sources":["../../../../../src/components/ic-footer/test/a11y/ic-footer.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,UAAU,CAAC,GAAG,EAAE;EACd,2DAA2D;EAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;EACrC,kBAAkB,CAAC,eAAe,CAAC;IACjC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IACxC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC1C,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;GAC5C,CAAC,CAAC;EACH,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"ic-footer.test.a11y.js","sourceRoot":"","sources":["../../../../../src/components/ic-footer/test/a11y/ic-footer.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,UAAU,CAAC,GAAG,EAAE;EACd,2DAA2D;EAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;EACrC,kBAAkB,CAAC,eAAe,CAAC;IACjC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IACxC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC1C,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;GAC5C,CAAC,CAAC;EACH,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC;EAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;EACnD,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;EACzB,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACpD,kCAAkC,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;EAC7C,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\nbeforeEach(() => {\n // IntersectionObserver isn't available in test environment\n const mockResizeObserver = jest.fn();\n mockResizeObserver.mockReturnValue({\n observe: jest.fn().mockReturnValue(null),\n unobserve: jest.fn().mockReturnValue(null),\n disconnect: jest.fn().mockReturnValue(null),\n });\n window.ResizeObserver = mockResizeObserver;\n const matchMedia = jest.fn().mockReturnValue(true);\n window.matchMedia = matchMedia;\n});\n\ndescribe(\"ic-footer\", () => {\n it(\"passes accessibility\", async () => {\n const el = await fixture(`<ic-footer></ic-footer>`);\n checkShadowElementRendersCorrectly(el);\n expect(await axe(el)).toHaveNoViolations();\n });\n});\n"]}
|
@@ -80,6 +80,7 @@ export class HorizontalScroll {
|
|
80
80
|
this.itemOverflow = false;
|
81
81
|
this.lastItemVisible = false;
|
82
82
|
this.appearance = "default";
|
83
|
+
this.focusTrigger = "focus";
|
83
84
|
}
|
84
85
|
componentWillLoad() {
|
85
86
|
this.itemsContainerEl = this.el.children[0];
|
@@ -88,7 +89,7 @@ export class HorizontalScroll {
|
|
88
89
|
Array.from(this.itemsContainerEl.children));
|
89
90
|
this.items.forEach((item) => {
|
90
91
|
if (item.addEventListener) {
|
91
|
-
item.addEventListener(
|
92
|
+
item.addEventListener(this.focusTrigger, this.focusHandler);
|
92
93
|
}
|
93
94
|
});
|
94
95
|
}
|
@@ -117,7 +118,7 @@ export class HorizontalScroll {
|
|
117
118
|
});
|
118
119
|
this.items.forEach((item) => {
|
119
120
|
if (item.removeEventListener) {
|
120
|
-
item.removeEventListener(
|
121
|
+
item.removeEventListener(this.focusTrigger, this.focusHandler);
|
121
122
|
}
|
122
123
|
});
|
123
124
|
this.itemsContainerEl.removeEventListener("scroll", this.scrollHandler);
|
@@ -192,6 +193,27 @@ export class HorizontalScroll {
|
|
192
193
|
"attribute": "appearance",
|
193
194
|
"reflect": false,
|
194
195
|
"defaultValue": "\"default\""
|
196
|
+
},
|
197
|
+
"focusTrigger": {
|
198
|
+
"type": "string",
|
199
|
+
"mutable": false,
|
200
|
+
"complexType": {
|
201
|
+
"original": "string",
|
202
|
+
"resolved": "string",
|
203
|
+
"references": {}
|
204
|
+
},
|
205
|
+
"required": false,
|
206
|
+
"optional": true,
|
207
|
+
"docs": {
|
208
|
+
"tags": [{
|
209
|
+
"name": "internal",
|
210
|
+
"text": "The name of the event that triggers focus handler logic."
|
211
|
+
}],
|
212
|
+
"text": ""
|
213
|
+
},
|
214
|
+
"attribute": "focus-trigger",
|
215
|
+
"reflect": false,
|
216
|
+
"defaultValue": "\"focus\""
|
195
217
|
}
|
196
218
|
};
|
197
219
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-horizontal-scroll.js","sourceRoot":"","sources":["../../../src/components/ic-horizontal-scroll/ic-horizontal-scroll.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n h,\n Host,\n State,\n Method,\n Prop,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\n\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport { IcThemeForeground, IcThemeForegroundEnum } from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-horizontal-scroll\",\n styleUrl: \"./ic-horizontal-scroll.css\",\n shadow: true,\n})\nexport class HorizontalScroll {\n private buttonStateSet: boolean = false;\n private isScrolling: number;\n private itemOffsets: number[];\n private items: HTMLElement[];\n private itemsContainerEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private scrollDelay: number;\n\n @Element() el: HTMLIcHorizontalScrollElement;\n\n @State() firstItemVisible: boolean = true;\n @State() itemOverflow: boolean = false;\n @State() lastItemVisible: boolean = false;\n\n /**\n * The appearance of the horizontal scroll, e.g. dark, light or the default.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\n\n componentWillLoad(): void {\n this.itemsContainerEl = this.el.children[0] as HTMLElement;\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n\n this.items = (getSlotElements(this.itemsContainerEl) ||\n Array.from(this.itemsContainerEl.children)) as HTMLElement[];\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(\"focus\", this.focusHandler);\n }\n });\n }\n\n componentDidLoad(): void {\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n\n checkResizeObserver(this.runResizeObserver);\n\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.addEventListener(event, this.arrowMouseUpHandler)\n );\n });\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.removeEventListener(event, this.arrowMouseUpHandler)\n );\n });\n\n this.items.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(\"focus\", this.focusHandler);\n }\n });\n\n this.itemsContainerEl.removeEventListener(\"scroll\", this.scrollHandler);\n }\n\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n @Method()\n async scrollItemIntoView(itemPosition: number): Promise<void> {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos =\n itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n\n private focusHandler = (event: FocusEvent) => {\n this.itemFocusHandler(\n Array.from(this.items).indexOf(event.target as HTMLElement)\n );\n };\n\n private itemFocusHandler(itemPosition: number): void {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n } else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n\n private scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n\n private scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n\n private longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private leftArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftItem = (): number => {\n const index = this.itemOffsets.findIndex(\n (el) => el > Math.round(this.itemsContainerEl.scrollLeft)\n );\n return index < 0 ? 0 : index;\n };\n\n private scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n\n private scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n render() {\n const { appearance, firstItemVisible, lastItemVisible, itemOverflow } =\n this;\n\n return (\n <Host\n class={{\n [\"visible\"]: itemOverflow,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"light\"]: this.appearance === IcThemeForegroundEnum.Light,\n }}\n >\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }}\n role=\"tab\"\n >\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon\"\n aria-label=\"Scroll left\"\n appearance={appearance}\n innerHTML={LeftArrow}\n disabled={firstItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n ></ic-button>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n <slot></slot>\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }}\n role=\"tab\"\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon\"\n aria-label=\"Scroll right\"\n appearance={appearance}\n innerHTML={RightArrow}\n disabled={lastItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n ></ic-button>\n </div>\n </Host>\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"ic-horizontal-scroll.js","sourceRoot":"","sources":["../../../src/components/ic-horizontal-scroll/ic-horizontal-scroll.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n h,\n Host,\n State,\n Method,\n Prop,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\n\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport { IcThemeForeground, IcThemeForegroundEnum } from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-horizontal-scroll\",\n styleUrl: \"./ic-horizontal-scroll.css\",\n shadow: true,\n})\nexport class HorizontalScroll {\n private buttonStateSet: boolean = false;\n private isScrolling: number;\n private itemOffsets: number[];\n private items: HTMLElement[];\n private itemsContainerEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private scrollDelay: number;\n\n @Element() el: HTMLIcHorizontalScrollElement;\n\n @State() firstItemVisible: boolean = true;\n @State() itemOverflow: boolean = false;\n @State() lastItemVisible: boolean = false;\n\n /**\n * The appearance of the horizontal scroll, e.g. dark, light or the default.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\n\n /**\n * @internal The name of the event that triggers focus handler logic.\n */\n @Prop() focusTrigger?: string = \"focus\";\n\n componentWillLoad(): void {\n this.itemsContainerEl = this.el.children[0] as HTMLElement;\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n\n this.items = (getSlotElements(this.itemsContainerEl) ||\n Array.from(this.itemsContainerEl.children)) as HTMLElement[];\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n }\n\n componentDidLoad(): void {\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n\n checkResizeObserver(this.runResizeObserver);\n\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.addEventListener(event, this.arrowMouseUpHandler)\n );\n });\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.removeEventListener(event, this.arrowMouseUpHandler)\n );\n });\n\n this.items.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n\n this.itemsContainerEl.removeEventListener(\"scroll\", this.scrollHandler);\n }\n\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n @Method()\n async scrollItemIntoView(itemPosition: number): Promise<void> {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos =\n itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n\n private focusHandler = (event: FocusEvent) => {\n this.itemFocusHandler(\n Array.from(this.items).indexOf(event.target as HTMLElement)\n );\n };\n\n private itemFocusHandler(itemPosition: number): void {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n } else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n\n private scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n\n private scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n\n private longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private leftArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftItem = (): number => {\n const index = this.itemOffsets.findIndex(\n (el) => el > Math.round(this.itemsContainerEl.scrollLeft)\n );\n return index < 0 ? 0 : index;\n };\n\n private scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n\n private scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n render() {\n const { appearance, firstItemVisible, lastItemVisible, itemOverflow } =\n this;\n\n return (\n <Host\n class={{\n [\"visible\"]: itemOverflow,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"light\"]: this.appearance === IcThemeForegroundEnum.Light,\n }}\n >\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }}\n role=\"tab\"\n >\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon\"\n aria-label=\"Scroll left\"\n appearance={appearance}\n innerHTML={LeftArrow}\n disabled={firstItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n ></ic-button>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n <slot></slot>\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }}\n role=\"tab\"\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon\"\n aria-label=\"Scroll right\"\n appearance={appearance}\n innerHTML={RightArrow}\n disabled={lastItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n ></ic-button>\n </div>\n </Host>\n );\n }\n}\n"]}
|
package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js
CHANGED
@@ -10,6 +10,8 @@ beforeEach(() => {
|
|
10
10
|
disconnect: jest.fn().mockReturnValue(null),
|
11
11
|
});
|
12
12
|
window.ResizeObserver = mockResizeObserver;
|
13
|
+
const matchMedia = jest.fn().mockReturnValue(true);
|
14
|
+
window.matchMedia = matchMedia;
|
13
15
|
});
|
14
16
|
describe("ic-horizontal-scroll", () => {
|
15
17
|
it("passes accessibility", async () => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-horizontal-scroll.test.a11y.js","sourceRoot":"","sources":["../../../../../src/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.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,UAAU,CAAC,GAAG,EAAE;EACd,2DAA2D;EAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;EACrC,kBAAkB,CAAC,eAAe,CAAC;IACjC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IACxC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC1C,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;GAC5C,CAAC,CAAC;EACH,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"ic-horizontal-scroll.test.a11y.js","sourceRoot":"","sources":["../../../../../src/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.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,UAAU,CAAC,GAAG,EAAE;EACd,2DAA2D;EAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;EACrC,kBAAkB,CAAC,eAAe,CAAC;IACjC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IACxC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC1C,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;GAC5C,CAAC,CAAC;EACH,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC;EAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;EACnD,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;EACpC,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB;;;;;;;;;;;KAWD,EACC,EAAE,UAAU,EAAE,GAAG,EAAE,CACpB,CAAC;IACF,kCAAkC,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;EAC7C,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\nbeforeEach(() => {\n // IntersectionObserver isn't available in test environment\n const mockResizeObserver = jest.fn();\n mockResizeObserver.mockReturnValue({\n observe: jest.fn().mockReturnValue(null),\n unobserve: jest.fn().mockReturnValue(null),\n disconnect: jest.fn().mockReturnValue(null),\n });\n window.ResizeObserver = mockResizeObserver;\n const matchMedia = jest.fn().mockReturnValue(true);\n window.matchMedia = matchMedia;\n});\n\ndescribe(\"ic-horizontal-scroll\", () => {\n it(\"passes accessibility\", async () => {\n const div = document.createElement(\"div\");\n div.setAttribute(\"style\", \"width: 320px;\");\n const el = await fixture(\n `\n <ic-horizontal-scroll>\n <ul>\n <ic-navigation-item label=\"Test nav item 1\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 2\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 3\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 4\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 5\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 6\"></ic-navigation-item>\n </ul>\n </ic-horizontal-scroll>\n `,\n { parentNode: div }\n );\n checkShadowElementRendersCorrectly(el);\n expect(await axe(el)).toHaveNoViolations();\n });\n});\n"]}
|
package/dist/collection/components/ic-input-component-container/ic-input-component-container.css
CHANGED
@@ -4,7 +4,7 @@ ic-input-component-container {
|
|
4
4
|
*/
|
5
5
|
|
6
6
|
display: flex;
|
7
|
-
border: var(--ic-
|
7
|
+
border: var(--ic-border-width) solid
|
8
8
|
var(--border-color, var(--ic-architectural-400));
|
9
9
|
border-radius: var(--ic-border-radius);
|
10
10
|
transition: var(--ic-easing-transition-slow);
|
@@ -23,7 +23,7 @@ ic-input-component-container.fullwidth {
|
|
23
23
|
|
24
24
|
ic-input-component-container.disabled,
|
25
25
|
ic-input-component-container.disabled:hover {
|
26
|
-
border: var(--ic-
|
26
|
+
border: var(--ic-border-width) dashed var(--ic-architectural-200);
|
27
27
|
}
|
28
28
|
|
29
29
|
ic-input-component-container.readonly,
|
@@ -155,12 +155,12 @@ ic-input-component-container:focus {
|
|
155
155
|
}
|
156
156
|
|
157
157
|
ic-input-component-container:focus-within {
|
158
|
-
border: var(--ic-
|
158
|
+
border: var(--ic-border-width) solid Highlight;
|
159
159
|
outline: 0.125rem solid Highlight;
|
160
160
|
}
|
161
161
|
|
162
162
|
ic-input-component-container.disabled,
|
163
163
|
ic-input-component-container.disabled:hover {
|
164
|
-
border: var(--ic-
|
164
|
+
border: var(--ic-border-width) dashed GrayText;
|
165
165
|
}
|
166
166
|
}
|
@@ -479,14 +479,10 @@ video {
|
|
479
479
|
inset: auto !important;
|
480
480
|
}
|
481
481
|
|
482
|
-
:host(.on-dialog-fix-translate) {
|
483
|
-
transform: translate(0, 80px) !important;
|
484
|
-
}
|
485
|
-
|
486
482
|
.menu {
|
487
483
|
text-decoration: none;
|
488
484
|
list-style-type: none;
|
489
|
-
border: var(--ic-
|
485
|
+
border: var(--ic-border-width) solid var(--ic-architectural-400);
|
490
486
|
border-radius: var(--ic-border-radius);
|
491
487
|
background-color: var(--ic-architectural-white);
|
492
488
|
visibility: hidden;
|