@ukic/web-components 2.7.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +2 -2
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +1 -1
- package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +86 -65
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +76 -67
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -2
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +28 -59
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +2 -2
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +3 -2
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +1 -1
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +16 -24
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +8 -4
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +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 +1 -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-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 -22
- package/dist/collection/components/ic-dialog/ic-dialog.js +103 -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 +38 -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/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 +1 -1
- package/dist/collection/components/ic-select/ic-select.js +20 -1
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +1 -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 +2 -2
- 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-tab-group/ic-tab-group.css +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-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/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.js +1 -1
- 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 +88 -66
- package/dist/components/ic-dialog.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 +4 -2
- 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 +1 -1
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-group.js +1 -1
- 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-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-24da56e7.entry.js +2 -0
- package/dist/core/p-24da56e7.entry.js.map +1 -0
- package/dist/core/p-43af3cf6.entry.js +2 -0
- package/dist/core/p-43af3cf6.entry.js.map +1 -0
- package/dist/core/p-4bc35224.entry.js +2 -0
- package/dist/core/p-4bc35224.entry.js.map +1 -0
- package/dist/core/p-5a3ca50a.entry.js +2 -0
- package/dist/core/p-5a3ca50a.entry.js.map +1 -0
- package/dist/core/{p-eb063498.entry.js → p-5ccbb042.entry.js} +2 -2
- package/dist/core/p-5ccbb042.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-7ce86152.entry.js +2 -0
- package/dist/core/p-7ce86152.entry.js.map +1 -0
- package/dist/core/p-8b18346a.entry.js.map +1 -1
- 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-a76912b0.entry.js +2 -0
- package/dist/core/p-a76912b0.entry.js.map +1 -0
- package/dist/core/p-b879fa3e.entry.js +2 -0
- package/dist/core/p-b879fa3e.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-ec82fa24.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-d80f99e0.entry.js +2 -0
- package/dist/core/p-d80f99e0.entry.js.map +1 -0
- 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/esm/core.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +2 -2
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +1 -1
- package/dist/esm/ic-card.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +1 -1
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +1 -1
- 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 +1 -1
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +87 -66
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +76 -67
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +1 -1
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +5 -2
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +28 -59
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +1 -1
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +2 -2
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +3 -2
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +1 -1
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +1 -1
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +1 -1
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +1 -1
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +16 -24
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +8 -4
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-dialog/ic-dialog.d.ts +13 -2
- 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-text-field/ic-text-field.d.ts +1 -0
- package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +1 -0
- package/dist/types/components.d.ts +18 -0
- package/hydrate/index.js +246 -242
- package/package.json +2 -2
- package/dist/core/p-0dc4f225.entry.js +0 -2
- package/dist/core/p-0dc4f225.entry.js.map +0 -1
- package/dist/core/p-12124e24.entry.js +0 -2
- package/dist/core/p-12124e24.entry.js.map +0 -1
- package/dist/core/p-1cf2a6aa.entry.js +0 -2
- package/dist/core/p-1cf2a6aa.entry.js.map +0 -1
- package/dist/core/p-3fd897c9.entry.js +0 -2
- package/dist/core/p-3fd897c9.entry.js.map +0 -1
- package/dist/core/p-432f8ff0.entry.js +0 -2
- package/dist/core/p-432f8ff0.entry.js.map +0 -1
- package/dist/core/p-4559600a.entry.js +0 -2
- package/dist/core/p-4559600a.entry.js.map +0 -1
- package/dist/core/p-5b487daa.entry.js +0 -2
- package/dist/core/p-5b487daa.entry.js.map +0 -1
- package/dist/core/p-5ca39ed5.entry.js +0 -2
- package/dist/core/p-5ca39ed5.entry.js.map +0 -1
- package/dist/core/p-763d0822.entry.js +0 -2
- package/dist/core/p-763d0822.entry.js.map +0 -1
- package/dist/core/p-7bb3c340.entry.js +0 -2
- package/dist/core/p-7bb3c340.entry.js.map +0 -1
- package/dist/core/p-9ccfb863.entry.js +0 -2
- package/dist/core/p-9ccfb863.entry.js.map +0 -1
- package/dist/core/p-a448d873.entry.js +0 -2
- package/dist/core/p-a448d873.entry.js.map +0 -1
- package/dist/core/p-af9f1caa.entry.js.map +0 -1
- package/dist/core/p-b77ab20a.entry.js +0 -2
- package/dist/core/p-b77ab20a.entry.js.map +0 -1
- package/dist/core/p-c36cbd8a.entry.js +0 -2
- package/dist/core/p-c36cbd8a.entry.js.map +0 -1
- package/dist/core/p-e2903ce9.entry.js +0 -2
- package/dist/core/p-e2903ce9.entry.js.map +0 -1
- package/dist/core/p-ea6ad791.entry.js +0 -2
- package/dist/core/p-ea6ad791.entry.js.map +0 -1
- package/dist/core/p-eb063498.entry.js.map +0 -1
- package/dist/core/p-ec82fa24.entry.js.map +0 -1
- package/dist/core/p-f00e510b.entry.js +0 -2
- package/dist/core/p-f00e510b.entry.js.map +0 -1
- package/dist/core/p-f69fb26b.entry.js +0 -2
- package/dist/core/p-f69fb26b.entry.js.map +0 -1
- package/dist/core/p-fe6e0c0e.entry.js +0 -2
- package/dist/core/p-fe6e0c0e.entry.js.map +0 -1
package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ic-side-navigation.e2e.js","sourceRoot":"","sources":["../../../../../src/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\nimport {\n icSideNavigation,\n icSideNavigationExpanded,\n icSideNavigationGroupedNav,\n icSideNavigationTheme,\n icSideNavigationStatic,\n icSideNavigationSlottedExpanded,\n icSideNavigationAppTitle,\n icSideNavigationSlotted,\n} from \"./ic-side-navigation-test-examples\";\n\nconst MOBILE_VIEWPORT = {\n width: 375,\n height: 667,\n};\n\nconst pageHeight = 600;\nconst ANIMATION_MS_THRESHOLD = 300;\n\ndescribe(\"ic-side-navigation\", () => {\n describe(\"mobile\", () => {\n it(\"it renders\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n const mobileMenuBtn = await page.find(\n \"ic-side-navigation >>> #menu-button\"\n );\n\n expect(mobileMenuBtn).not.toBeNull();\n });\n\n it(\"displays flyout menu when menu button clicked with correct aria-expanded values\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n const mobileMenuBtn = await page.find(\n \"ic-side-navigation >>> #menu-button\"\n );\n\n let mobileBtnLabel = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\"#menu-button\")\n .textContent.trim()\n );\n\n expect(mobileBtnLabel).toContain(\"Menu\");\n\n await mobileMenuBtn.click();\n\n await page.waitForChanges();\n\n const flyoutMenu = await page.find(\n \"ic-side-navigation >>> .side-navigation-inner\"\n );\n\n expect(flyoutMenu).not.toBeNull();\n\n mobileBtnLabel = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\"#menu-button\")\n .textContent.trim()\n );\n\n expect(mobileBtnLabel).toContain(\"Close\");\n });\n\n it(\"dyanmically updated native button aria-label and aria-expanded\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n const mobileMenuBtn = await page.find(\n \"ic-side-navigation >>> #menu-button\"\n );\n\n let mobileAriaExpanded = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\"#menu-button\")\n .shadowRoot.querySelector(\"button\")\n .getAttribute(\"aria-expanded\")\n );\n\n let mobileAriaLabel = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\"#menu-button\")\n .shadowRoot.querySelector(\"button\")\n .getAttribute(\"aria-label\")\n );\n\n expect(mobileAriaExpanded).toBe(\"false\");\n expect(mobileAriaLabel).toBe(\"Open navigation menu\");\n\n await mobileMenuBtn.click();\n\n await page.waitForChanges();\n\n const flyoutMenu = await page.find(\n \"ic-side-navigation >>> .side-navigation-inner\"\n );\n\n expect(flyoutMenu).not.toBeNull();\n\n mobileAriaExpanded = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\"#menu-button\")\n .shadowRoot.querySelector(\"button\")\n .getAttribute(\"aria-expanded\")\n );\n\n mobileAriaLabel = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\"#menu-button\")\n .shadowRoot.querySelector(\"button\")\n .getAttribute(\"aria-label\")\n );\n\n expect(mobileAriaExpanded).toBe(\"true\");\n expect(mobileAriaLabel).toBe(\"Close navigation menu\");\n });\n\n it(\"renders the correct number of navigation-items\", async () => {\n const labels = [\"Home\", \"a11y\"];\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n const mobileMenuBtn = await page.find(\n \"ic-side-navigation >>> #menu-button\"\n );\n\n await mobileMenuBtn.click();\n\n await page.waitForChanges();\n\n const navigationItems = await page.evaluate(() => {\n return Array.from(\n document.querySelectorAll(\"ic-side-navigation ic-navigation-item\")\n ).map((i) => i.shadowRoot.querySelector(\"ic-tooltip\").textContent);\n });\n\n expect(navigationItems.length).toBe(2);\n\n navigationItems.forEach((navItem, i) => {\n expect(navItem).toBe(labels[i]);\n });\n });\n\n it(\"renders application name\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n const applicationName = await (\n await page.find(\"ic-side-navigation >>> .top-bar ic-typography\")\n ).innerText;\n\n expect(applicationName).toBe(\"ACME\");\n });\n\n it(\"renders app status and version\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n const mobileMenuBtn = await page.find(\n \"ic-side-navigation >>> #menu-button\"\n );\n\n await mobileMenuBtn.click();\n\n await page.waitForChanges();\n\n const applicationStatus = await (\n await page.find(\n \"ic-side-navigation >>> .app-status-wrapper .app-status-text\"\n )\n ).innerText;\n const applicationVersion = await (\n await page.find(\n \"ic-side-navigation >>> .app-status-wrapper .app-version\"\n )\n ).innerText;\n\n expect(applicationStatus).toBe(\"BETA\");\n expect(applicationVersion).toBe(\"v0.0.0\");\n });\n\n it(\"does not render menu expand button\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n const mobileMenuBtn = await page.find(\n \"ic-side-navigation >>> #menu-button\"\n );\n\n await mobileMenuBtn.click();\n\n await page.waitForChanges();\n\n const flyoutMenu = await page.find(\n \"ic-side-navigation >>> .side-navigation-inner\"\n );\n\n expect(flyoutMenu).not.toBeNull();\n\n const menuExpandBtn = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".side-navigation .menu-expand-button\")\n );\n\n expect(menuExpandBtn).toBeNull();\n });\n\n it(\"does not render tooltips on mobile when menu is closed\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n await page.keyboard.press(\"Tab\");\n await page.keyboard.press(\"Tab\");\n await page.keyboard.press(\"Tab\");\n\n await page.waitForChanges();\n\n let sideNavInnerVisibility = await page.evaluate(() => {\n const sideNavInner = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".side-navigation-inner\");\n\n return window.getComputedStyle(sideNavInner).visibility;\n });\n\n expect(sideNavInnerVisibility).toBe(\"hidden\");\n\n const toolTipDisplay = await page.evaluate(() => {\n const tooltip = document\n .querySelectorAll(\"ic-side-navigation ic-navigation-item\")[0]\n .shadowRoot.querySelector(\"ic-tooltip\")\n .shadowRoot.querySelector(\".ic-tooltip-container\");\n\n return window.getComputedStyle(tooltip).display;\n });\n\n expect(toolTipDisplay).toBe(\"none\");\n\n let mobileMenuBtn = await page.find(\n \"ic-side-navigation >>> #menu-button\"\n );\n\n await mobileMenuBtn.click();\n\n await page.waitForChanges();\n\n sideNavInnerVisibility = await page.evaluate(() => {\n const sideNavInner = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".side-navigation-inner\");\n\n return window.getComputedStyle(sideNavInner).visibility;\n });\n\n expect(sideNavInnerVisibility).toBe(\"visible\");\n\n await page.waitForChanges();\n\n mobileMenuBtn = await page.find(\"ic-side-navigation >>> #menu-button\");\n\n await mobileMenuBtn.click();\n\n await page.waitForTimeout(300); // Wait for flyout menu to disappear (50ms longer than animation)\n\n sideNavInnerVisibility = await page.evaluate(() => {\n const sideNavInner = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".side-navigation-inner\");\n\n return window.getComputedStyle(sideNavInner).visibility;\n });\n\n expect(sideNavInnerVisibility).toBe(\"hidden\");\n });\n });\n\n describe(\"tablet/desktop\", () => {\n it(\"renders correctly\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n const sideNavigation = await page.find(\"ic-side-navigation\");\n\n expect(sideNavigation).not.toBeNull();\n });\n\n it(\"renders collapsed side nav on initial load\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n const sideNavigationWidth = await page.evaluate(() => {\n const sideNav = document.querySelector(\"ic-side-navigation\");\n return window.getComputedStyle(sideNav).width;\n });\n\n expect(parseInt(sideNavigationWidth)).toBe(56);\n });\n\n it(\"renders expanded side nav on initial load\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationExpanded);\n\n const sideNavigationWidth = await page.evaluate(() => {\n const sideNav = document.querySelector(\"ic-side-navigation\");\n return window.getComputedStyle(sideNav).width;\n });\n\n expect(parseInt(sideNavigationWidth)).toBe(320);\n });\n\n it(\"renders collapsed and expanded on menu toggle\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.waitForChanges();\n\n const menuExpandBtn = await page.find(\n \"ic-side-navigation >>> .side-navigation button.menu-expand-button\"\n );\n\n await menuExpandBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n let sideNavigationWidth = await page.evaluate(() => {\n const sideNav = document.querySelector(\"ic-side-navigation\");\n return window.getComputedStyle(sideNav).width;\n });\n\n expect(parseInt(sideNavigationWidth)).toBe(320);\n\n await menuExpandBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n sideNavigationWidth = await page.evaluate(() => {\n const sideNav = document.querySelector(\"ic-side-navigation\");\n return window.getComputedStyle(sideNav).width;\n });\n\n expect(parseInt(sideNavigationWidth)).toBe(56);\n });\n\n it(\"updates aria-label of menu expand button\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.waitForChanges();\n\n const menuExpandBtn = await page.find(\n \"ic-side-navigation >>> .side-navigation button.menu-expand-button\"\n );\n\n await menuExpandBtn.click();\n\n await page.waitForChanges();\n\n expect(menuExpandBtn.getAttribute(\"aria-label\")).toBe(\n \"Collapse side navigation\"\n );\n\n await menuExpandBtn.click();\n\n expect(menuExpandBtn.getAttribute(\"aria-label\")).toBe(\n \"Expand side navigation\"\n );\n });\n\n it(\"displays application name on expanded side navigation\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.waitForChanges();\n\n let applicationNameOpacity = await page.evaluate(() => {\n const applicationName = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".title-link ic-typography\");\n\n return window.getComputedStyle(applicationName).opacity;\n });\n\n expect(applicationNameOpacity).toBe(\"0\");\n\n const menuExpandBtn = await page.find(\n \"ic-side-navigation >>> .side-navigation button.menu-expand-button\"\n );\n\n await menuExpandBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n applicationNameOpacity = await page.evaluate(() => {\n const applicationName = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".title-link ic-typography\");\n\n return window.getComputedStyle(applicationName).opacity;\n });\n\n expect(applicationNameOpacity).toBe(\"1\");\n });\n\n it(\"should toggle to short title at small screen sizes\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-side-navigation app-title=\"ApplicationName\" short-app-title=\"AppName\">\n </ic-side-navigation>`);\n\n await page.setViewport({\n width: 576,\n height: pageHeight,\n });\n\n await page.waitForChanges();\n\n let appTitle = await page.find(\n \"ic-side-navigation >>> .title-link ic-typography\"\n );\n\n expect(appTitle.textContent).toBe(\"AppName\");\n\n await page.setViewport({\n width: 1200,\n height: pageHeight,\n });\n\n await page.waitForChanges();\n\n appTitle = await page.find(\n \"ic-side-navigation >>> .title-link ic-typography\"\n );\n\n expect(appTitle.textContent).toBe(\"ApplicationName\");\n });\n\n it(\"collapse group nav items in collapsed side menu\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationGroupedNav);\n\n await page.waitForChanges();\n\n const navigtionGroupToggleBtn = await page.find(\n \"ic-side-navigation ic-navigation-group >>> .navigation-group\"\n );\n\n let navigationGroupWrapperHeight = await page.evaluate(() => {\n const navigationGroupWrapper = document\n .querySelector(\"ic-side-navigation ic-navigation-group\")\n .shadowRoot.querySelector(\".grouped-links-wrapper\");\n\n return window.getComputedStyle(navigationGroupWrapper).height;\n });\n\n expect(parseInt(navigationGroupWrapperHeight)).toBe(56);\n\n await navigtionGroupToggleBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n navigationGroupWrapperHeight = await page.evaluate(() => {\n const navigationGroupWrapper = document\n .querySelector(\"ic-side-navigation ic-navigation-group\")\n .shadowRoot.querySelector(\".grouped-links-wrapper\");\n\n return window.getComputedStyle(navigationGroupWrapper).height;\n });\n\n expect(parseInt(navigationGroupWrapperHeight)).toBe(0);\n\n await navigtionGroupToggleBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n navigationGroupWrapperHeight = await page.evaluate(() => {\n const navigationGroupWrapper = document\n .querySelector(\"ic-side-navigation ic-navigation-group\")\n .shadowRoot.querySelector(\".grouped-links-wrapper\");\n\n return window.getComputedStyle(navigationGroupWrapper).height;\n });\n\n expect(parseInt(navigationGroupWrapperHeight)).toBe(56);\n });\n\n it(\"aria-landmarks added to side navigation nav sections\", async () => {\n const PRIMARY_LANDMARK_ID = \"primary-navigation-landmark\";\n const SECONDARY_LANDMARK_ID = \"secondary-navigation-landmark\";\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.waitForChanges();\n\n const primaryNavigationLandmarkValue = await (\n await page.find(\"ic-side-navigation >>> nav.primary-navigation\")\n ).getAttribute(\"aria-labelledby\");\n const primaryNavigationLandmarkText = await (\n await page.find(\n `ic-side-navigation >>> nav.primary-navigation #${PRIMARY_LANDMARK_ID}`\n )\n ).textContent;\n\n expect(primaryNavigationLandmarkValue).toBe(PRIMARY_LANDMARK_ID);\n expect(primaryNavigationLandmarkText).toBe(\"Primary\");\n\n const secondaryNavigationLandmarkValue = await (\n await page.find(\"ic-side-navigation >>> nav.secondary-navigation\")\n ).getAttribute(\"aria-labelledby\");\n const secondaryNavigationLandmarkText = await (\n await page.find(\n `ic-side-navigation >>> nav.secondary-navigation #${SECONDARY_LANDMARK_ID}`\n )\n ).textContent;\n\n expect(secondaryNavigationLandmarkValue).toBe(SECONDARY_LANDMARK_ID);\n expect(secondaryNavigationLandmarkText).toBe(\"Secondary\");\n });\n\n it(\"renders app status and version\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n const menuExpandBtn = await page.find(\n \"ic-side-navigation >>> .side-navigation button.menu-expand-button\"\n );\n\n await menuExpandBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n const applicationStatus = await (\n await page.find(\n \"ic-side-navigation >>> .app-status-wrapper .app-status-text\"\n )\n ).innerText;\n const applicationVersion = await (\n await page.find(\n \"ic-side-navigation >>> .app-status-wrapper .app-version\"\n )\n ).innerText;\n\n expect(applicationStatus).toBe(\"BETA\");\n expect(applicationVersion).toBe(\"v0.0.0\");\n });\n\n it(\"renders tooltip on collapsed side navigation\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n const navigationItems = await page.findAll(\n \"ic-side-navigation ic-navigation-item\"\n );\n\n await navigationItems[0].hover();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n const toolTipDisplay = await page.evaluate(() => {\n const tooltip = document\n .querySelectorAll(\"ic-side-navigation ic-navigation-item\")[0]\n .shadowRoot.querySelector(\"ic-tooltip\")\n .shadowRoot.querySelector(\".ic-tooltip-container\");\n\n return window.getComputedStyle(tooltip).display;\n });\n\n expect(toolTipDisplay).toBe(\"block\");\n });\n\n it(\"hides tooltip on expanded side navigation\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationExpanded);\n\n const navigationItems = await page.findAll(\n \"ic-side-navigation ic-navigation-item\"\n );\n\n await navigationItems[0].hover();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n const toolTipDisplay = await page.evaluate(() => {\n const tooltip = document\n .querySelectorAll(\"ic-side-navigation ic-navigation-item\")[0]\n .shadowRoot.querySelector(\"ic-tooltip\")\n .shadowRoot.querySelector(\".ic-tooltip-container\");\n\n return window.getComputedStyle(tooltip).display;\n });\n\n expect(toolTipDisplay).toBe(\"none\");\n });\n\n it(\"hides menu expand if static prop is set to true\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationStatic);\n\n const menuExpandBtn = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".side-navigation .menu-expand-button\")\n );\n\n expect(menuExpandBtn).toBeNull();\n });\n\n it(\"renders ic-side-navigation with theme colours\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationTheme);\n\n const sideNavigation = await page.evaluate(() => {\n const sideNavMain = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".side-navigation-inner\");\n\n const sideNavText = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".ic-typography-h3\");\n\n return {\n bgColor: window.getComputedStyle(sideNavMain).backgroundColor,\n textColor: window.getComputedStyle(sideNavText).color,\n };\n });\n\n expect(sideNavigation.bgColor).toBe(\"rgb(131, 166, 195)\");\n expect(sideNavigation.textColor).toBe(\"rgb(11, 12, 12)\");\n });\n\n it(\"should render tooltip if very long label in expanded menu overflows\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationExpanded);\n\n await page.waitForChanges();\n\n const sideNavInner = await page.find(\n \"ic-side-navigation >>> .side-navigation-inner\"\n );\n\n await page.waitForChanges();\n\n await sideNavInner.press(\"Tab\");\n\n await page.waitForChanges();\n\n await sideNavInner.press(\"Tab\");\n\n await page.waitForChanges();\n\n await sideNavInner.press(\"Tab\");\n\n await page.waitForChanges();\n\n const shortLabelTooltipDisplay = await page.evaluate(() => {\n const LABEL = \"Home\";\n const navItems = Array.from(\n document.querySelectorAll(\"ic-side-navigation ic-navigation-item\")\n );\n\n const shortLabelNavItem = navItems.filter((navItem) => {\n return (\n navItem.shadowRoot.querySelector(\n \"ic-tooltip > a > .ic-typography-label\"\n ).textContent === LABEL\n );\n })[0];\n\n return window.getComputedStyle(\n shortLabelNavItem.shadowRoot\n .querySelector(\"ic-tooltip\")\n .shadowRoot.querySelector(\".ic-tooltip-container\")\n ).display;\n });\n\n expect(shortLabelTooltipDisplay).toBe(\"none\");\n\n const longLabelTooltipDisplay = await page.evaluate(() => {\n const LABEL = \"This is a very very very very very long label\";\n const navItems = Array.from(\n document.querySelectorAll(\"ic-side-navigation ic-navigation-item\")\n );\n\n const longLabelNavItem = navItems.filter((navItem) => {\n return (\n navItem.shadowRoot.querySelector(\n \"ic-tooltip > a > .ic-typography-label\"\n ).textContent === LABEL\n );\n })[0];\n\n return window.getComputedStyle(\n longLabelNavItem.shadowRoot\n .querySelector(\"ic-tooltip\")\n .shadowRoot.querySelector(\".ic-tooltip-container\")\n ).display;\n });\n\n expect(longLabelTooltipDisplay).toBe(\"block\");\n });\n\n it(\"renders visible labels when slotted menu items and expanded\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationSlottedExpanded);\n\n await page.waitForChanges();\n\n const labelVisibility = await page.$eval(\"ic-side-navigation\", (el) => {\n const navItem = el.querySelector(\"ic-navigation-item ic-typography\");\n\n return window.getComputedStyle(navItem).visibility;\n });\n\n expect(labelVisibility).toBe(\"visible\");\n });\n\n it(\"renders navigation item labels when using slotted app-title and side nav is expanded\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationAppTitle);\n\n let visibleLabel = await page.evaluate(() => {\n const label = document\n .querySelector(\"ic-side-navigation ic-navigation-item\")\n .querySelector(\"ic-typography\");\n\n return window.getComputedStyle(label).visibility;\n });\n\n expect(visibleLabel).toBe(\"hidden\");\n\n const menuExpandBtn = await page.find(\n \"ic-side-navigation >>> .side-navigation button.menu-expand-button\"\n );\n\n await menuExpandBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n visibleLabel = await page.evaluate(() => {\n const label = document\n .querySelector(\"ic-side-navigation ic-navigation-item\")\n .querySelector(\"ic-typography\");\n\n return window.getComputedStyle(label).visibility;\n });\n\n expect(visibleLabel).toBe(\"visible\");\n });\n\n it(\"renders visible labels when slotted menu items and side nav is expanded\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationSlotted);\n\n const menuBtn = await page.find(\n \"ic-side-navigation >>> .menu-expand-button\"\n );\n\n await menuBtn.click();\n await page.waitForChanges();\n\n let visibleLabel = await page.evaluate(() => {\n const label = document\n .querySelector(\"ic-side-navigation ic-navigation-item\")\n .querySelector(\"ic-typography\");\n\n return window.getComputedStyle(label).visibility;\n });\n\n expect(visibleLabel).toBe(\"visible\");\n\n await menuBtn.click();\n await page.waitForChanges();\n\n visibleLabel = await page.evaluate(() => {\n const label = document\n .querySelector(\"ic-side-navigation ic-navigation-item\")\n .querySelector(\"ic-typography\");\n\n return window.getComputedStyle(label).visibility;\n });\n\n expect(visibleLabel).toBe(\"hidden\");\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"ic-side-navigation.e2e.js","sourceRoot":"","sources":["../../../../../src/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\nimport {\n icSideNavigation,\n icSideNavigationExpanded,\n icSideNavigationGroupedNav,\n icSideNavigationTheme,\n icSideNavigationStatic,\n icSideNavigationSlottedExpanded,\n icSideNavigationAppTitle,\n icSideNavigationSlotted,\n} from \"./ic-side-navigation-test-examples\";\n\nconst MOBILE_VIEWPORT = {\n width: 375,\n height: 667,\n};\n\nconst pageHeight = 600;\nconst ANIMATION_MS_THRESHOLD = 300;\n\ndescribe(\"ic-side-navigation\", () => {\n describe(\"mobile\", () => {\n it(\"it renders\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n const mobileMenuBtn = await page.find(\n \"ic-side-navigation >>> #menu-button\"\n );\n\n expect(mobileMenuBtn).not.toBeNull();\n });\n\n it(\"displays flyout menu when menu button clicked with correct aria-expanded values\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n const mobileMenuBtn = await page.find(\n \"ic-side-navigation >>> #menu-button\"\n );\n\n let mobileBtnLabel = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\"#menu-button\")\n .textContent.trim()\n );\n\n expect(mobileBtnLabel).toContain(\"Menu\");\n\n await mobileMenuBtn.click();\n\n await page.waitForChanges();\n\n const flyoutMenu = await page.find(\n \"ic-side-navigation >>> .side-navigation-inner\"\n );\n\n expect(flyoutMenu).not.toBeNull();\n\n mobileBtnLabel = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\"#menu-button\")\n .textContent.trim()\n );\n\n expect(mobileBtnLabel).toContain(\"Close\");\n });\n\n it(\"dyanmically updated native button aria-label and aria-expanded\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n const mobileMenuBtn = await page.find(\n \"ic-side-navigation >>> #menu-button\"\n );\n\n let mobileAriaExpanded = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\"#menu-button\")\n .shadowRoot.querySelector(\"button\")\n .getAttribute(\"aria-expanded\")\n );\n\n let mobileAriaLabel = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\"#menu-button\")\n .shadowRoot.querySelector(\"button\")\n .getAttribute(\"aria-label\")\n );\n\n expect(mobileAriaExpanded).toBe(\"false\");\n expect(mobileAriaLabel).toBe(\"Open navigation menu\");\n\n await mobileMenuBtn.click();\n\n await page.waitForChanges();\n\n const flyoutMenu = await page.find(\n \"ic-side-navigation >>> .side-navigation-inner\"\n );\n\n expect(flyoutMenu).not.toBeNull();\n\n mobileAriaExpanded = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\"#menu-button\")\n .shadowRoot.querySelector(\"button\")\n .getAttribute(\"aria-expanded\")\n );\n\n mobileAriaLabel = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\"#menu-button\")\n .shadowRoot.querySelector(\"button\")\n .getAttribute(\"aria-label\")\n );\n\n expect(mobileAriaExpanded).toBe(\"true\");\n expect(mobileAriaLabel).toBe(\"Close navigation menu\");\n });\n\n it(\"renders the correct number of navigation-items\", async () => {\n const labels = [\"Home\", \"a11y\"];\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n const mobileMenuBtn = await page.find(\n \"ic-side-navigation >>> #menu-button\"\n );\n\n await mobileMenuBtn.click();\n\n await page.waitForChanges();\n\n const navigationItems = await page.evaluate(() => {\n return Array.from(\n document.querySelectorAll(\"ic-side-navigation ic-navigation-item\")\n ).map((i) => i.shadowRoot.querySelector(\"ic-tooltip\").textContent);\n });\n\n expect(navigationItems.length).toBe(2);\n\n navigationItems.forEach((navItem, i) => {\n expect(navItem).toBe(labels[i]);\n });\n });\n\n it(\"renders application name\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n const applicationName = await (\n await page.find(\"ic-side-navigation >>> .top-bar ic-typography\")\n ).innerText;\n\n expect(applicationName).toBe(\"ACME\");\n });\n\n it(\"renders app status and version\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n (await page.find(\"ic-side-navigation >>> #menu-button\")).click();\n\n await page.waitForChanges();\n\n const applicationStatus = await (\n await page.find(\n \"ic-side-navigation >>> .app-status-wrapper .app-status-text\"\n )\n ).innerText;\n const applicationVersion = await (\n await page.find(\n \"ic-side-navigation >>> .app-status-wrapper .app-version\"\n )\n ).innerText;\n\n expect(applicationStatus).toBe(\"BETA\");\n expect(applicationVersion).toBe(\"v0.0.0\");\n });\n\n it(\"does not render menu expand button\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n const mobileMenuBtn = await page.find(\n \"ic-side-navigation >>> #menu-button\"\n );\n\n await mobileMenuBtn.click();\n\n await page.waitForChanges();\n\n const flyoutMenu = await page.find(\n \"ic-side-navigation >>> .side-navigation-inner\"\n );\n\n expect(flyoutMenu).not.toBeNull();\n\n const menuExpandBtn = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".side-navigation .menu-expand-button\")\n );\n\n expect(menuExpandBtn).toBeNull();\n });\n\n it(\"does not render tooltips on mobile when menu is closed\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.setViewport({\n ...MOBILE_VIEWPORT,\n });\n\n await page.waitForChanges();\n\n await page.keyboard.press(\"Tab\");\n await page.keyboard.press(\"Tab\");\n await page.keyboard.press(\"Tab\");\n\n await page.waitForChanges();\n\n let sideNavInnerVisibility = await page.evaluate(() => {\n const sideNavInner = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".side-navigation-inner\");\n\n return window.getComputedStyle(sideNavInner).visibility;\n });\n\n expect(sideNavInnerVisibility).toBe(\"hidden\");\n\n const toolTipDisplay = await page.evaluate(() => {\n const tooltip = document\n .querySelectorAll(\"ic-side-navigation ic-navigation-item\")[0]\n .shadowRoot.querySelector(\"ic-tooltip\")\n .shadowRoot.querySelector(\".ic-tooltip-container\");\n\n return window.getComputedStyle(tooltip).display;\n });\n\n expect(toolTipDisplay).toBe(\"none\");\n\n let mobileMenuBtn = await page.find(\n \"ic-side-navigation >>> #menu-button\"\n );\n\n await mobileMenuBtn.click();\n\n await page.waitForChanges();\n\n sideNavInnerVisibility = await page.evaluate(() => {\n const sideNavInner = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".side-navigation-inner\");\n\n return window.getComputedStyle(sideNavInner).visibility;\n });\n\n expect(sideNavInnerVisibility).toBe(\"visible\");\n\n await page.waitForChanges();\n\n mobileMenuBtn = await page.find(\"ic-side-navigation >>> #menu-button\");\n\n await mobileMenuBtn.click();\n\n await page.waitForTimeout(300); // Wait for flyout menu to disappear (50ms longer than animation)\n\n sideNavInnerVisibility = await page.evaluate(() => {\n const sideNavInner = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".side-navigation-inner\");\n\n return window.getComputedStyle(sideNavInner).visibility;\n });\n\n expect(sideNavInnerVisibility).toBe(\"hidden\");\n });\n });\n\n describe(\"tablet/desktop\", () => {\n it(\"renders correctly\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n const sideNavigation = await page.find(\"ic-side-navigation\");\n\n expect(sideNavigation).not.toBeNull();\n });\n\n it(\"renders collapsed side nav on initial load\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n const sideNavigationWidth = await page.evaluate(() => {\n const sideNav = document.querySelector(\"ic-side-navigation\");\n return window.getComputedStyle(sideNav).width;\n });\n\n expect(parseInt(sideNavigationWidth)).toBe(56);\n });\n\n it(\"renders expanded side nav on initial load\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationExpanded);\n\n const sideNavigationWidth = await page.evaluate(() => {\n const sideNav = document.querySelector(\"ic-side-navigation\");\n return window.getComputedStyle(sideNav).width;\n });\n\n expect(parseInt(sideNavigationWidth)).toBe(320);\n });\n\n it(\"renders collapsed and expanded on menu toggle\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.waitForChanges();\n\n const menuExpandBtn = await page.find(\n \"ic-side-navigation >>> .side-navigation button.menu-expand-button\"\n );\n\n await menuExpandBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n let sideNavigationWidth = await page.evaluate(() => {\n const sideNav = document.querySelector(\"ic-side-navigation\");\n return window.getComputedStyle(sideNav).width;\n });\n\n expect(parseInt(sideNavigationWidth)).toBe(320);\n\n await menuExpandBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n sideNavigationWidth = await page.evaluate(() => {\n const sideNav = document.querySelector(\"ic-side-navigation\");\n return window.getComputedStyle(sideNav).width;\n });\n\n expect(parseInt(sideNavigationWidth)).toBe(56);\n });\n\n it(\"updates aria-label of menu expand button\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.waitForChanges();\n\n const menuExpandBtn = await page.find(\n \"ic-side-navigation >>> .side-navigation button.menu-expand-button\"\n );\n\n await menuExpandBtn.click();\n\n await page.waitForChanges();\n\n expect(menuExpandBtn.getAttribute(\"aria-label\")).toBe(\n \"Collapse side navigation\"\n );\n\n await menuExpandBtn.click();\n\n expect(menuExpandBtn.getAttribute(\"aria-label\")).toBe(\n \"Expand side navigation\"\n );\n });\n\n it(\"displays application name on expanded side navigation\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.waitForChanges();\n\n let applicationNameOpacity = await page.evaluate(() => {\n const applicationName = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".title-link ic-typography\");\n\n return window.getComputedStyle(applicationName).opacity;\n });\n\n expect(applicationNameOpacity).toBe(\"0\");\n\n const menuExpandBtn = await page.find(\n \"ic-side-navigation >>> .side-navigation button.menu-expand-button\"\n );\n\n await menuExpandBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n applicationNameOpacity = await page.evaluate(() => {\n const applicationName = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".title-link ic-typography\");\n\n return window.getComputedStyle(applicationName).opacity;\n });\n\n expect(applicationNameOpacity).toBe(\"1\");\n });\n\n it(\"should toggle to short title at small screen sizes\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-side-navigation app-title=\"ApplicationName\" short-app-title=\"AppName\">\n </ic-side-navigation>`);\n\n await page.setViewport({\n width: 576,\n height: pageHeight,\n });\n\n await page.waitForChanges();\n\n let appTitle = await page.find(\n \"ic-side-navigation >>> .title-link ic-typography\"\n );\n\n expect(appTitle.textContent).toBe(\"AppName\");\n\n await page.setViewport({\n width: 1200,\n height: pageHeight,\n });\n\n await page.waitForChanges();\n\n appTitle = await page.find(\n \"ic-side-navigation >>> .title-link ic-typography\"\n );\n\n expect(appTitle.textContent).toBe(\"ApplicationName\");\n });\n\n it(\"collapse group nav items in collapsed side menu\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationGroupedNav);\n\n await page.waitForChanges();\n\n const navigtionGroupToggleBtn = await page.find(\n \"ic-side-navigation ic-navigation-group >>> .navigation-group\"\n );\n\n let navigationGroupWrapperHeight = await page.evaluate(() => {\n const navigationGroupWrapper = document\n .querySelector(\"ic-side-navigation ic-navigation-group\")\n .shadowRoot.querySelector(\".grouped-links-wrapper\");\n\n return window.getComputedStyle(navigationGroupWrapper).height;\n });\n\n expect(parseInt(navigationGroupWrapperHeight)).toBe(56);\n\n await navigtionGroupToggleBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n navigationGroupWrapperHeight = await page.evaluate(() => {\n const navigationGroupWrapper = document\n .querySelector(\"ic-side-navigation ic-navigation-group\")\n .shadowRoot.querySelector(\".grouped-links-wrapper\");\n\n return window.getComputedStyle(navigationGroupWrapper).height;\n });\n\n expect(parseInt(navigationGroupWrapperHeight)).toBe(0);\n\n await navigtionGroupToggleBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n navigationGroupWrapperHeight = await page.evaluate(() => {\n const navigationGroupWrapper = document\n .querySelector(\"ic-side-navigation ic-navigation-group\")\n .shadowRoot.querySelector(\".grouped-links-wrapper\");\n\n return window.getComputedStyle(navigationGroupWrapper).height;\n });\n\n expect(parseInt(navigationGroupWrapperHeight)).toBe(56);\n });\n\n it(\"aria-landmarks added to side navigation nav sections\", async () => {\n const PRIMARY_LANDMARK_ID = \"primary-navigation-landmark\";\n const SECONDARY_LANDMARK_ID = \"secondary-navigation-landmark\";\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n await page.waitForChanges();\n\n const primaryNavigationLandmarkValue = await (\n await page.find(\"ic-side-navigation >>> nav.primary-navigation\")\n ).getAttribute(\"aria-labelledby\");\n const primaryNavigationLandmarkText = await (\n await page.find(\n `ic-side-navigation >>> nav.primary-navigation #${PRIMARY_LANDMARK_ID}`\n )\n ).textContent;\n\n expect(primaryNavigationLandmarkValue).toBe(PRIMARY_LANDMARK_ID);\n expect(primaryNavigationLandmarkText).toBe(\"Primary\");\n\n const secondaryNavigationLandmarkValue = await (\n await page.find(\"ic-side-navigation >>> nav.secondary-navigation\")\n ).getAttribute(\"aria-labelledby\");\n const secondaryNavigationLandmarkText = await (\n await page.find(\n `ic-side-navigation >>> nav.secondary-navigation #${SECONDARY_LANDMARK_ID}`\n )\n ).textContent;\n\n expect(secondaryNavigationLandmarkValue).toBe(SECONDARY_LANDMARK_ID);\n expect(secondaryNavigationLandmarkText).toBe(\"Secondary\");\n });\n\n it(\"renders app status and version\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n const menuExpandBtn = await page.find(\n \"ic-side-navigation >>> .side-navigation button.menu-expand-button\"\n );\n\n await menuExpandBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n const applicationStatus = await (\n await page.find(\n \"ic-side-navigation >>> .app-status-wrapper .app-status-text\"\n )\n ).innerText;\n const applicationVersion = await (\n await page.find(\n \"ic-side-navigation >>> .app-status-wrapper .app-version\"\n )\n ).innerText;\n\n expect(applicationStatus).toBe(\"BETA\");\n expect(applicationVersion).toBe(\"v0.0.0\");\n });\n\n it(\"renders tooltip on collapsed side navigation\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigation);\n\n const navigationItems = await page.findAll(\n \"ic-side-navigation ic-navigation-item\"\n );\n\n await navigationItems[0].hover();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n const toolTipDisplay = await page.evaluate(() => {\n const tooltip = document\n .querySelectorAll(\"ic-side-navigation ic-navigation-item\")[0]\n .shadowRoot.querySelector(\"ic-tooltip\")\n .shadowRoot.querySelector(\".ic-tooltip-container\");\n\n return window.getComputedStyle(tooltip).display;\n });\n\n expect(toolTipDisplay).toBe(\"block\");\n });\n\n it(\"hides tooltip on expanded side navigation\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationExpanded);\n\n const navigationItems = await page.findAll(\n \"ic-side-navigation ic-navigation-item\"\n );\n\n await navigationItems[0].hover();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n const toolTipDisplay = await page.evaluate(() => {\n const tooltip = document\n .querySelectorAll(\"ic-side-navigation ic-navigation-item\")[0]\n .shadowRoot.querySelector(\"ic-tooltip\")\n .shadowRoot.querySelector(\".ic-tooltip-container\");\n\n return window.getComputedStyle(tooltip).display;\n });\n\n expect(toolTipDisplay).toBe(\"none\");\n });\n\n it(\"hides menu expand if static prop is set to true\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationStatic);\n\n const menuExpandBtn = await page.evaluate(() =>\n document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".side-navigation .menu-expand-button\")\n );\n\n expect(menuExpandBtn).toBeNull();\n });\n\n it(\"renders ic-side-navigation with theme colours\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationTheme);\n\n const sideNavigation = await page.evaluate(() => {\n const sideNavMain = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".side-navigation-inner\");\n\n const sideNavText = document\n .querySelector(\"ic-side-navigation\")\n .shadowRoot.querySelector(\".ic-typography-h3\");\n\n return {\n bgColor: window.getComputedStyle(sideNavMain).backgroundColor,\n textColor: window.getComputedStyle(sideNavText).color,\n };\n });\n\n expect(sideNavigation.bgColor).toBe(\"rgb(131, 166, 195)\");\n expect(sideNavigation.textColor).toBe(\"rgb(11, 12, 12)\");\n });\n\n it(\"should render tooltip if very long label in expanded menu overflows\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationExpanded);\n\n await page.waitForChanges();\n\n const sideNavInner = await page.find(\n \"ic-side-navigation >>> .side-navigation-inner\"\n );\n\n await page.waitForChanges();\n\n await sideNavInner.press(\"Tab\");\n\n await page.waitForChanges();\n\n await sideNavInner.press(\"Tab\");\n\n await page.waitForChanges();\n\n await sideNavInner.press(\"Tab\");\n\n await page.waitForChanges();\n\n const shortLabelTooltipDisplay = await page.evaluate(() => {\n const LABEL = \"Home\";\n const navItems = Array.from(\n document.querySelectorAll(\"ic-side-navigation ic-navigation-item\")\n );\n\n const shortLabelNavItem = navItems.filter((navItem) => {\n return (\n navItem.shadowRoot.querySelector(\n \"ic-tooltip > a > .ic-typography-label\"\n ).textContent === LABEL\n );\n })[0];\n\n return window.getComputedStyle(\n shortLabelNavItem.shadowRoot\n .querySelector(\"ic-tooltip\")\n .shadowRoot.querySelector(\".ic-tooltip-container\")\n ).display;\n });\n\n expect(shortLabelTooltipDisplay).toBe(\"none\");\n\n const longLabelTooltipDisplay = await page.evaluate(() => {\n const LABEL = \"This is a very very very very very long label\";\n const navItems = Array.from(\n document.querySelectorAll(\"ic-side-navigation ic-navigation-item\")\n );\n\n const longLabelNavItem = navItems.filter((navItem) => {\n return (\n navItem.shadowRoot.querySelector(\n \"ic-tooltip > a > .ic-typography-label\"\n ).textContent === LABEL\n );\n })[0];\n\n return window.getComputedStyle(\n longLabelNavItem.shadowRoot\n .querySelector(\"ic-tooltip\")\n .shadowRoot.querySelector(\".ic-tooltip-container\")\n ).display;\n });\n\n expect(longLabelTooltipDisplay).toBe(\"block\");\n });\n\n it(\"renders visible labels when slotted menu items and expanded\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationSlottedExpanded);\n\n await page.waitForChanges();\n\n const labelVisibility = await page.$eval(\"ic-side-navigation\", (el) => {\n const navItem = el.querySelector(\"ic-navigation-item ic-typography\");\n\n return window.getComputedStyle(navItem).visibility;\n });\n\n expect(labelVisibility).toBe(\"visible\");\n });\n\n it(\"renders navigation item labels when using slotted app-title and side nav is expanded\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationAppTitle);\n\n let visibleLabel = await page.evaluate(() => {\n const label = document\n .querySelector(\"ic-side-navigation ic-navigation-item\")\n .querySelector(\"ic-typography\");\n\n return window.getComputedStyle(label).visibility;\n });\n\n expect(visibleLabel).toBe(\"hidden\");\n\n const menuExpandBtn = await page.find(\n \"ic-side-navigation >>> .side-navigation button.menu-expand-button\"\n );\n\n await menuExpandBtn.click();\n\n await page.waitForTimeout(ANIMATION_MS_THRESHOLD);\n\n visibleLabel = await page.evaluate(() => {\n const label = document\n .querySelector(\"ic-side-navigation ic-navigation-item\")\n .querySelector(\"ic-typography\");\n\n return window.getComputedStyle(label).visibility;\n });\n\n expect(visibleLabel).toBe(\"visible\");\n });\n\n it(\"renders visible labels when slotted menu items and side nav is expanded\", async () => {\n const page = await newE2EPage();\n await page.setContent(icSideNavigationSlotted);\n\n const menuBtn = await page.find(\n \"ic-side-navigation >>> .menu-expand-button\"\n );\n\n await menuBtn.click();\n await page.waitForChanges();\n\n let visibleLabel = await page.evaluate(() => {\n const label = document\n .querySelector(\"ic-side-navigation ic-navigation-item\")\n .querySelector(\"ic-typography\");\n\n return window.getComputedStyle(label).visibility;\n });\n\n expect(visibleLabel).toBe(\"visible\");\n\n await menuBtn.click();\n await page.waitForChanges();\n\n visibleLabel = await page.evaluate(() => {\n const label = document\n .querySelector(\"ic-side-navigation ic-navigation-item\")\n .querySelector(\"ic-typography\");\n\n return window.getComputedStyle(label).visibility;\n });\n\n expect(visibleLabel).toBe(\"hidden\");\n });\n });\n});\n"]}
|
|
@@ -477,22 +477,22 @@ video {
|
|
|
477
477
|
|
|
478
478
|
.outlined-neutral {
|
|
479
479
|
background-color: var(--ic-architectural-200);
|
|
480
|
-
border: var(--ic-
|
|
480
|
+
border: var(--ic-border-width) solid var(--ic-architectural-400);
|
|
481
481
|
}
|
|
482
482
|
|
|
483
483
|
.outlined-success {
|
|
484
484
|
background-color: var(--ic-status-success-light);
|
|
485
|
-
border: var(--ic-
|
|
485
|
+
border: var(--ic-border-width) solid var(--ic-status-success);
|
|
486
486
|
}
|
|
487
487
|
|
|
488
488
|
.outlined-warning {
|
|
489
489
|
background-color: var(--ic-status-warning-light);
|
|
490
|
-
border: var(--ic-
|
|
490
|
+
border: var(--ic-border-width) solid var(--ic-status-warning-dark);
|
|
491
491
|
}
|
|
492
492
|
|
|
493
493
|
.outlined-danger {
|
|
494
494
|
background-color: var(--ic-status-error-light);
|
|
495
|
-
border: var(--ic-
|
|
495
|
+
border: var(--ic-border-width) solid var(--ic-status-error);
|
|
496
496
|
}
|
|
497
497
|
|
|
498
498
|
@media (forced-colors: active) {
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
.disabled .step-icon-inner {
|
|
170
|
-
border: var(--ic-
|
|
170
|
+
border: var(--ic-border-width) dashed var(--ic-architectural-200);
|
|
171
171
|
width: calc(var(--ic-space-xl) - var(--ic-space-xxxs));
|
|
172
172
|
height: calc(var(--ic-space-xl) - var(--ic-space-xxxs));
|
|
173
173
|
}
|
|
@@ -478,7 +478,7 @@ input {
|
|
|
478
478
|
position: relative;
|
|
479
479
|
border-radius: 100vw;
|
|
480
480
|
background-color: var(--ic-architectural-200);
|
|
481
|
-
border: var(--ic-
|
|
481
|
+
border: var(--ic-border-width) solid var(--ic-architectural-700);
|
|
482
482
|
box-sizing: border-box;
|
|
483
483
|
transition: var(--ic-transition-duration-fast);
|
|
484
484
|
}
|
|
@@ -489,6 +489,7 @@ input {
|
|
|
489
489
|
|
|
490
490
|
.ic-switch-checked-status {
|
|
491
491
|
padding-left: var(--ic-space-xxs);
|
|
492
|
+
width: var(--ic-space-lg);
|
|
492
493
|
}
|
|
493
494
|
|
|
494
495
|
.ic-switch-toggle::before {
|
|
@@ -591,7 +592,7 @@ input {
|
|
|
591
592
|
|
|
592
593
|
.ic-switch-input:disabled:checked + .ic-switch-toggle {
|
|
593
594
|
background-color: var(--ic-status-info-light);
|
|
594
|
-
border: var(--ic-
|
|
595
|
+
border: var(--ic-border-width) dashed #98c9f5;
|
|
595
596
|
}
|
|
596
597
|
|
|
597
598
|
.ic-switch-input:disabled:checked + .ic-switch-toggle::before {
|
|
@@ -10,6 +10,17 @@ export class TextField {
|
|
|
10
10
|
constructor() {
|
|
11
11
|
this.inheritedAttributes = {};
|
|
12
12
|
this.showLeftIcon = this.hasLeftIconSlot();
|
|
13
|
+
this.getMaxLengthExceeded = (value) => {
|
|
14
|
+
this.numChars = value.length;
|
|
15
|
+
if (this.type === "number") {
|
|
16
|
+
this.minValueUnattained =
|
|
17
|
+
value && Number(value) < Number(this.min) ? true : false;
|
|
18
|
+
this.maxValueExceeded = Number(value) > Number(this.max) ? true : false;
|
|
19
|
+
}
|
|
20
|
+
if (this.maxLength > 0) {
|
|
21
|
+
this.maxLengthExceeded = value.length > this.maxLength ? true : false;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
13
24
|
this.onInput = (ev) => {
|
|
14
25
|
this.value = ev.target.value;
|
|
15
26
|
this.icInput.emit({ value: this.value });
|
|
@@ -89,29 +100,7 @@ export class TextField {
|
|
|
89
100
|
if (this.inputEl && this.inputEl.value !== newValue) {
|
|
90
101
|
this.inputEl.value = newValue;
|
|
91
102
|
}
|
|
92
|
-
this.
|
|
93
|
-
if (this.type === "number") {
|
|
94
|
-
if (newValue && Number(newValue) < Number(this.min)) {
|
|
95
|
-
this.minValueUnattained = true;
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
this.minValueUnattained = false;
|
|
99
|
-
}
|
|
100
|
-
if (Number(newValue) > Number(this.max)) {
|
|
101
|
-
this.maxValueExceeded = true;
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
this.maxValueExceeded = false;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
if (this.maxLength > 0) {
|
|
108
|
-
if (newValue.length > this.maxLength) {
|
|
109
|
-
this.maxLengthExceeded = true;
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
this.maxLengthExceeded = false;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
103
|
+
this.getMaxLengthExceeded(newValue);
|
|
115
104
|
this.icChange.emit({ value: newValue });
|
|
116
105
|
}
|
|
117
106
|
connectedCallback() {
|
|
@@ -121,7 +110,10 @@ export class TextField {
|
|
|
121
110
|
removeFormResetListener(this.el, this.handleFormReset);
|
|
122
111
|
}
|
|
123
112
|
componentWillLoad() {
|
|
124
|
-
this.
|
|
113
|
+
if (this.value !== this.initialValue) {
|
|
114
|
+
this.watchValueHandler(this.value);
|
|
115
|
+
}
|
|
116
|
+
this.getMaxLengthExceeded(this.value);
|
|
125
117
|
this.inheritedAttributes = inheritAttributes(this.el, [
|
|
126
118
|
...IC_INHERITED_ARIA,
|
|
127
119
|
"title",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ic-text-field.js","sourceRoot":"","sources":["../../../src/components/ic-text-field/ic-text-field.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n IcSizesNoLarge,\n} from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n isSlotUsed,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot icon - Content will be placed to the left of the text input.\n */\n@Component({\n tag: \"ic-text-field\",\n styleUrl: \"ic-text-field.css\",\n shadow: true,\n})\nexport class TextField {\n private inheritedAttributes: { [k: string]: unknown } = {};\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private showLeftIcon: boolean = this.hasLeftIconSlot();\n\n @Element() el: HTMLIcTextFieldElement;\n\n @State() numChars: number = 0;\n @State() maxLengthExceeded: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n\n /**\n * @slot clear-button - an ic-button clear component will render as an end adornment to the input.\n * @slot search-submit-button - an ic-button search submit component will render as an end adornment to the input.\n * @slot menu - an ic-menu component will appear below the input.\n */\n\n /**\n * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete: IcAriaAutocompleteTypes = undefined;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns: string;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autoFocus = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Specify whether the text field fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput: boolean = true;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId?: string = `ic-text-field-input-${inputIds++}`;\n\n /**\n * A hint to the browser for which keyboard to display.\n * Possible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n * `\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`.\n */\n @Prop() inputmode: IcTextFieldInputModes = \"text\";\n\n /**\n * The label for the input.\n */\n @Prop() label!: string;\n\n /**\n * The maximum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of max value in `helperText` or `label`)\n */\n @Prop() max: string | number = undefined;\n\n /**\n * The maximum number of characters that can be entered in the field.\n */\n @Prop() maxLength: number = 0;\n\n /**\n * The minimum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of min value in `helperText` or `label`)\n */\n @Prop() min: string | number = undefined;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder: string = \"\";\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize: boolean = false;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string;\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows: number = 1;\n\n /**\n * The size of the text field component.\n */\n @Prop() size?: IcSizesNoLarge = \"default\";\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\n */\n @Prop() small?: boolean = false;\n\n /**\n * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck: boolean = false;\n /**\n * @internal If `true`, an ellipsis will be displayed at the end of the value if the value is longer than the container.\n */\n @Prop() truncateValue?: boolean;\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: IcTextFieldTypes = \"text\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline: boolean = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal: boolean = false;\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce: number = 0;\n\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\n @State() initialValue = this.value;\n\n @Watch(\"value\")\n private watchValueHandler(newValue: string): void {\n if (this.inputEl && this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n\n this.numChars = newValue.length;\n\n if (this.type === \"number\") {\n if (newValue && Number(newValue) < Number(this.min)) {\n this.minValueUnattained = true;\n } else {\n this.minValueUnattained = false;\n }\n if (Number(newValue) > Number(this.max)) {\n this.maxValueExceeded = true;\n } else {\n this.maxValueExceeded = false;\n }\n }\n\n if (this.maxLength > 0) {\n if (newValue.length > this.maxLength) {\n this.maxLengthExceeded = true;\n } else {\n this.maxLengthExceeded = false;\n }\n }\n this.icChange.emit({ value: newValue });\n }\n\n /**\n * @internal Emitted when the validationInlineInternal is `true`\n */\n @Event() getValidationText: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n this.watchValueHandler(this.value);\n\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"title\",\n ]);\n\n if (this.readonly) {\n this.maxLengthExceeded = false;\n this.maxValueExceeded = false;\n this.minValueUnattained = false;\n }\n\n addFormResetListener(this.el, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n if (this.validationInlineInternal) {\n this.getInlineValidationText();\n }\n }\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({ event: ev });\n }\n\n /**\n * Sets focus on the native `input`.\n */\n\n @Method()\n async setFocus(): Promise<void> {\n if (this.inputEl) {\n this.inputEl.focus();\n }\n }\n\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n private onBlur = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icBlur.emit({ value: value });\n };\n\n private onFocus = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icFocus.emit({ value: value });\n };\n\n private isTextArea = (): boolean => {\n return this.rows > 1;\n };\n\n private getInlineValidationText = () => {\n this.getValidationText.emit({ value: this.validationText });\n };\n\n private hasLeftIconSlot(): boolean {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n return iconEl !== null;\n }\n\n private hasStatus = (status: IcInformationStatusOrEmpty): boolean => {\n return status !== \"\" && !this.disabled;\n };\n\n private showStatusText = (status: IcInformationStatusOrEmpty): boolean => {\n return (\n this.hasStatus(status) &&\n !(status == IcInformationStatus.Success && this.validationInline) &&\n !this.validationInlineInternal\n );\n };\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n size,\n placeholder,\n helperText,\n rows,\n resize,\n disabled,\n value,\n min,\n max,\n maxLength,\n numChars,\n readonly,\n maxLengthExceeded,\n minValueUnattained,\n maxValueExceeded,\n validationStatus,\n validationText,\n validationInline,\n validationInlineInternal,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n } = this;\n\n const disabledMode = readonly ? true : disabled;\n\n const placeholderText = disabled ? \"\" : placeholder;\n\n const currentStatus =\n maxLengthExceeded || maxValueExceeded || minValueUnattained\n ? IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxLengthExceeded\n ? \"Maximum length exceeded\"\n : maxValueExceeded\n ? `Maximum value of ${max} exceeded`\n : minValueUnattained\n ? `Minimum value of ${min} not met`\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxLength;\n\n const messageAriaLive =\n maxLengthExceeded ||\n maxValueExceeded ||\n minValueUnattained ||\n (maxLength === 0 && currentStatus === IcInformationStatus.Error)\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText = this.showStatusText(currentStatus);\n const multiline = this.isTextArea();\n const hiddenCharCountDescId =\n maxLength > 0 ? inputId + \"-charcount-desc\" : \"\";\n const describedBy = (\n hiddenCharCountDescId +\n \" \" +\n getInputDescribedByText(inputId, helperText !== \"\", showStatusText)\n ).trim();\n\n if (this.showLeftIcon && !readonly && disabledMode) {\n this.showLeftIcon = false;\n }\n\n const invalid =\n currentStatus === IcInformationStatus.Error ? \"true\" : \"false\";\n const disabledText = disabledMode && !readonly;\n\n if (hiddenInput) {\n renderHiddenInput(true, this.el, name, value, disabledMode);\n }\n return (\n <Host class={{ [\"fullwidth\"]: fullWidth }}>\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!this.hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n ></ic-input-label>\n )}\n\n <ic-input-component-container\n size={size}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {this.showLeftIcon && (\n <span\n class={{\n [\"readonly\"]: readonly,\n [\"has-value\"]: value.length > 0,\n }}\n slot=\"left-icon\"\n >\n <slot name=\"icon\" />\n </span>\n )}\n\n {!multiline && (\n <input\n id={inputId}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\n type={this.type}\n min={min}\n max={max}\n value={value}\n class={{\n [\"no-left-pad\"]: !this.showLeftIcon && readonly,\n [\"readonly\"]: readonly,\n [\"truncate-value\"]: truncateValue,\n }}\n placeholder={placeholderText}\n required={required}\n disabled={disabledMode}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-expanded={this.ariaExpanded}\n aria-owns={this.ariaOwns}\n autocomplete={this.autocomplete}\n autocapitalize={this.autocapitalize}\n autoFocus={this.autoFocus}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={this.role}\n {...this.inheritedAttributes}\n ></input>\n )}\n {multiline && (\n <textarea\n id={inputId}\n class={{\n [\"no-resize\"]: resize === false || readonly,\n [\"no-left-pad\"]: !this.showLeftIcon && readonly,\n [\"readonly\"]: readonly,\n }}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLTextAreaElement)}\n value={value}\n rows={rows}\n required={required}\n disabled={disabledMode}\n placeholder={placeholderText}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocapitalize={this.autocapitalize}\n autoFocus={this.autoFocus}\n spellcheck={spellcheck}\n inputmode={inputmode}\n {...this.inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(this.el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(this.el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(this.el, \"menu\") && <slot name=\"menu\"></slot>}\n {(!isEmptyString(validationStatus) ||\n !isEmptyString(validationText) ||\n maxNumChars > 0 ||\n maxValueExceeded ||\n minValueUnattained) &&\n !validationInlineInternal && (\n <ic-input-validation\n status={\n this.hasStatus(currentStatus) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline) ||\n validationInlineInternal\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {!readonly && maxNumChars > 0 && (\n <div slot=\"validation-message-adornment\">\n <ic-typography\n variant=\"caption\"\n class={{\n [\"maxlengthtext\"]: true,\n [\"error\"]: maxLengthExceeded,\n [\"disabled\"]: disabledText,\n }}\n >\n <span\n aria-live=\"polite\"\n id={`${inputId}-charcount`}\n class=\"charcount\"\n >\n {numChars}/{maxNumChars}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </ic-typography>\n </div>\n )}\n </ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ic-text-field.js","sourceRoot":"","sources":["../../../src/components/ic-text-field/ic-text-field.tsx"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n IcSizesNoLarge,\n} from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n isSlotUsed,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot icon - Content will be placed to the left of the text input.\n */\n@Component({\n tag: \"ic-text-field\",\n styleUrl: \"ic-text-field.css\",\n shadow: true,\n})\nexport class TextField {\n private inheritedAttributes: { [k: string]: unknown } = {};\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private showLeftIcon: boolean = this.hasLeftIconSlot();\n\n @Element() el: HTMLIcTextFieldElement;\n\n @State() numChars: number = 0;\n @State() maxLengthExceeded: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n\n /**\n * @slot clear-button - an ic-button clear component will render as an end adornment to the input.\n * @slot search-submit-button - an ic-button search submit component will render as an end adornment to the input.\n * @slot menu - an ic-menu component will appear below the input.\n */\n\n /**\n * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete: IcAriaAutocompleteTypes = undefined;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns: string;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autoFocus = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Specify whether the text field fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput: boolean = true;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId?: string = `ic-text-field-input-${inputIds++}`;\n\n /**\n * A hint to the browser for which keyboard to display.\n * Possible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n * `\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`.\n */\n @Prop() inputmode: IcTextFieldInputModes = \"text\";\n\n /**\n * The label for the input.\n */\n @Prop() label!: string;\n\n /**\n * The maximum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of max value in `helperText` or `label`)\n */\n @Prop() max: string | number = undefined;\n\n /**\n * The maximum number of characters that can be entered in the field.\n */\n @Prop() maxLength: number = 0;\n\n /**\n * The minimum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of min value in `helperText` or `label`)\n */\n @Prop() min: string | number = undefined;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder: string = \"\";\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize: boolean = false;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string;\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows: number = 1;\n\n /**\n * The size of the text field component.\n */\n @Prop() size?: IcSizesNoLarge = \"default\";\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\n */\n @Prop() small?: boolean = false;\n\n /**\n * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck: boolean = false;\n /**\n * @internal If `true`, an ellipsis will be displayed at the end of the value if the value is longer than the container.\n */\n @Prop() truncateValue?: boolean;\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: IcTextFieldTypes = \"text\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline: boolean = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal: boolean = false;\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce: number = 0;\n\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\n @State() initialValue = this.value;\n\n @Watch(\"value\")\n private watchValueHandler(newValue: string): void {\n if (this.inputEl && this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n\n this.getMaxLengthExceeded(newValue);\n\n this.icChange.emit({ value: newValue });\n }\n\n /**\n * @internal Emitted when the validationInlineInternal is `true`\n */\n @Event() getValidationText: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n if (this.value !== this.initialValue) {\n this.watchValueHandler(this.value);\n }\n\n this.getMaxLengthExceeded(this.value);\n\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"title\",\n ]);\n\n if (this.readonly) {\n this.maxLengthExceeded = false;\n this.maxValueExceeded = false;\n this.minValueUnattained = false;\n }\n\n addFormResetListener(this.el, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n if (this.validationInlineInternal) {\n this.getInlineValidationText();\n }\n }\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({ event: ev });\n }\n\n /**\n * Sets focus on the native `input`.\n */\n\n @Method()\n async setFocus(): Promise<void> {\n if (this.inputEl) {\n this.inputEl.focus();\n }\n }\n\n private getMaxLengthExceeded = (value: string) => {\n this.numChars = value.length;\n\n if (this.type === \"number\") {\n this.minValueUnattained =\n value && Number(value) < Number(this.min) ? true : false;\n this.maxValueExceeded = Number(value) > Number(this.max) ? true : false;\n }\n\n if (this.maxLength > 0) {\n this.maxLengthExceeded = value.length > this.maxLength ? true : false;\n }\n };\n\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n private onBlur = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icBlur.emit({ value: value });\n };\n\n private onFocus = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icFocus.emit({ value: value });\n };\n\n private isTextArea = (): boolean => {\n return this.rows > 1;\n };\n\n private getInlineValidationText = () => {\n this.getValidationText.emit({ value: this.validationText });\n };\n\n private hasLeftIconSlot(): boolean {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n return iconEl !== null;\n }\n\n private hasStatus = (status: IcInformationStatusOrEmpty): boolean => {\n return status !== \"\" && !this.disabled;\n };\n\n private showStatusText = (status: IcInformationStatusOrEmpty): boolean => {\n return (\n this.hasStatus(status) &&\n !(status == IcInformationStatus.Success && this.validationInline) &&\n !this.validationInlineInternal\n );\n };\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n size,\n placeholder,\n helperText,\n rows,\n resize,\n disabled,\n value,\n min,\n max,\n maxLength,\n numChars,\n readonly,\n maxLengthExceeded,\n minValueUnattained,\n maxValueExceeded,\n validationStatus,\n validationText,\n validationInline,\n validationInlineInternal,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n } = this;\n\n const disabledMode = readonly ? true : disabled;\n\n const placeholderText = disabled ? \"\" : placeholder;\n\n const currentStatus =\n maxLengthExceeded || maxValueExceeded || minValueUnattained\n ? IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxLengthExceeded\n ? \"Maximum length exceeded\"\n : maxValueExceeded\n ? `Maximum value of ${max} exceeded`\n : minValueUnattained\n ? `Minimum value of ${min} not met`\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxLength;\n\n const messageAriaLive =\n maxLengthExceeded ||\n maxValueExceeded ||\n minValueUnattained ||\n (maxLength === 0 && currentStatus === IcInformationStatus.Error)\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText = this.showStatusText(currentStatus);\n const multiline = this.isTextArea();\n const hiddenCharCountDescId =\n maxLength > 0 ? inputId + \"-charcount-desc\" : \"\";\n const describedBy = (\n hiddenCharCountDescId +\n \" \" +\n getInputDescribedByText(inputId, helperText !== \"\", showStatusText)\n ).trim();\n\n if (this.showLeftIcon && !readonly && disabledMode) {\n this.showLeftIcon = false;\n }\n\n const invalid =\n currentStatus === IcInformationStatus.Error ? \"true\" : \"false\";\n const disabledText = disabledMode && !readonly;\n\n if (hiddenInput) {\n renderHiddenInput(true, this.el, name, value, disabledMode);\n }\n return (\n <Host class={{ [\"fullwidth\"]: fullWidth }}>\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!this.hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n ></ic-input-label>\n )}\n\n <ic-input-component-container\n size={size}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {this.showLeftIcon && (\n <span\n class={{\n [\"readonly\"]: readonly,\n [\"has-value\"]: value.length > 0,\n }}\n slot=\"left-icon\"\n >\n <slot name=\"icon\" />\n </span>\n )}\n\n {!multiline && (\n <input\n id={inputId}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\n type={this.type}\n min={min}\n max={max}\n value={value}\n class={{\n [\"no-left-pad\"]: !this.showLeftIcon && readonly,\n [\"readonly\"]: readonly,\n [\"truncate-value\"]: truncateValue,\n }}\n placeholder={placeholderText}\n required={required}\n disabled={disabledMode}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-expanded={this.ariaExpanded}\n aria-owns={this.ariaOwns}\n autocomplete={this.autocomplete}\n autocapitalize={this.autocapitalize}\n autoFocus={this.autoFocus}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={this.role}\n {...this.inheritedAttributes}\n ></input>\n )}\n {multiline && (\n <textarea\n id={inputId}\n class={{\n [\"no-resize\"]: resize === false || readonly,\n [\"no-left-pad\"]: !this.showLeftIcon && readonly,\n [\"readonly\"]: readonly,\n }}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLTextAreaElement)}\n value={value}\n rows={rows}\n required={required}\n disabled={disabledMode}\n placeholder={placeholderText}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocapitalize={this.autocapitalize}\n autoFocus={this.autoFocus}\n spellcheck={spellcheck}\n inputmode={inputmode}\n {...this.inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(this.el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(this.el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(this.el, \"menu\") && <slot name=\"menu\"></slot>}\n {(!isEmptyString(validationStatus) ||\n !isEmptyString(validationText) ||\n maxNumChars > 0 ||\n maxValueExceeded ||\n minValueUnattained) &&\n !validationInlineInternal && (\n <ic-input-validation\n status={\n this.hasStatus(currentStatus) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline) ||\n validationInlineInternal\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {!readonly && maxNumChars > 0 && (\n <div slot=\"validation-message-adornment\">\n <ic-typography\n variant=\"caption\"\n class={{\n [\"maxlengthtext\"]: true,\n [\"error\"]: maxLengthExceeded,\n [\"disabled\"]: disabledText,\n }}\n >\n <span\n aria-live=\"polite\"\n id={`${inputId}-charcount`}\n class=\"charcount\"\n >\n {numChars}/{maxNumChars}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </ic-typography>\n </div>\n )}\n </ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -451,7 +451,7 @@ video {
|
|
|
451
451
|
text-align: center;
|
|
452
452
|
padding: var(--ic-space-xxxs) var(--ic-space-xs);
|
|
453
453
|
border-radius: var(--ic-border-radius);
|
|
454
|
-
border: var(--ic-
|
|
454
|
+
border: var(--ic-border-width) solid var(--ic-architectural-40);
|
|
455
455
|
position: absolute;
|
|
456
456
|
max-width: 20rem;
|
|
457
457
|
display: none;
|
|
@@ -485,7 +485,7 @@ video {
|
|
|
485
485
|
:host(.ic-tooltip) .ic-tooltip-arrow::before {
|
|
486
486
|
visibility: visible;
|
|
487
487
|
content: "";
|
|
488
|
-
border: var(--ic-
|
|
488
|
+
border: var(--ic-border-width) solid var(--ic-architectural-40);
|
|
489
489
|
width: 100%;
|
|
490
490
|
height: 100%;
|
|
491
491
|
}
|
|
@@ -578,7 +578,7 @@ video {
|
|
|
578
578
|
max-width: fit-content;
|
|
579
579
|
}
|
|
580
580
|
|
|
581
|
-
slot[name="app-icon"]::slotted(
|
|
581
|
+
slot[name="app-icon"]::slotted(*) {
|
|
582
582
|
fill: var(--ic-theme-text);
|
|
583
583
|
width: 2em;
|
|
584
584
|
height: 2em;
|
|
@@ -710,7 +710,7 @@ slot[name="toggle-icon"] svg {
|
|
|
710
710
|
margin-left: var(--ic-space-sm);
|
|
711
711
|
}
|
|
712
712
|
|
|
713
|
-
slot[name="app-icon"]::slotted(
|
|
713
|
+
slot[name="app-icon"]::slotted(*) {
|
|
714
714
|
width: 1.5em;
|
|
715
715
|
height: 1.5em;
|
|
716
716
|
}
|
|
@@ -731,7 +731,7 @@ slot[name="toggle-icon"] svg {
|
|
|
731
731
|
border: var(--ic-hc-border);
|
|
732
732
|
}
|
|
733
733
|
|
|
734
|
-
slot[name="app-icon"]::slotted(
|
|
734
|
+
slot[name="app-icon"]::slotted(*) {
|
|
735
735
|
fill: currentcolor;
|
|
736
736
|
}
|
|
737
737
|
}
|
|
@@ -4,6 +4,7 @@ import { checkResizeObserver, DEVICE_SIZES, getCurrentDeviceSize, getThemeForegr
|
|
|
4
4
|
/**
|
|
5
5
|
* @slot app-icon - Content will be rendered to left of app title.
|
|
6
6
|
* @slot app-title - Handle routing by nesting a route in the app title.
|
|
7
|
+
* @slot short-app-title - Handle routing by nesting a route in the short app title (to be displayed in place of app title on small screen sizes).
|
|
7
8
|
* @slot search - Content will be rendered in search area to left of buttons.
|
|
8
9
|
* @slot toggle-icon - Icon to be displayed on the button to toggle search slot content on smaller devices
|
|
9
10
|
* @slot navigation - Content will be rendered in navigation panel.
|
|
@@ -194,14 +195,18 @@ export class TopNavigation {
|
|
|
194
195
|
const attrs = Component == "a" && {
|
|
195
196
|
href: this.href,
|
|
196
197
|
};
|
|
198
|
+
const shortAppTitleSlot = isSlotUsed(this.el, "short-app-title");
|
|
197
199
|
return (h(Host, { class: {
|
|
198
200
|
["fullwidth-searchbar"]: this.hasFullWidthSearchBar,
|
|
199
201
|
[IcThemeForegroundEnum.Dark]: this.foregroundColor === IcThemeForegroundEnum.Dark,
|
|
200
|
-
} }, h("div", { class: "top-navigation" }, h("ic-section-container", { aligned: this.contentAligned, "full-height": true }, h("header", { role: "banner" }, h("div", { class: "top-panel-container" }, h("div", { class: "app-details-container" }, (hasTitle || isSlotUsed(this.el, "app-title")) && (h(Component, Object.assign({ class: "title-link" }, attrs), this.hasAppIcon && (h("div", { class: "app-icon-container"
|
|
201
|
-
!isEmptyString(this.shortAppTitle)
|
|
202
|
+
} }, h("div", { class: "top-navigation" }, h("ic-section-container", { aligned: this.contentAligned, "full-height": true }, h("header", { role: "banner" }, h("div", { class: "top-panel-container" }, h("div", { class: "app-details-container" }, (hasTitle || isSlotUsed(this.el, "app-title")) && (h(Component, Object.assign({ class: "title-link" }, attrs), this.hasAppIcon && (h("div", { class: "app-icon-container" }, h("slot", { name: "app-icon" }))), this.deviceSize <= DEVICE_SIZES.S &&
|
|
203
|
+
(!isEmptyString(this.shortAppTitle) ||
|
|
204
|
+
shortAppTitleSlot) ? (h("ic-typography", { variant: "subtitle-small", "aria-label": (!isSlotUsed(this.el, "app-title") ||
|
|
205
|
+
!shortAppTitleSlot) &&
|
|
206
|
+
`${this.appTitle} (${this.shortAppTitle})` }, h("h1", null, shortAppTitleSlot ? (h("slot", { name: "short-app-title" })) : (this.shortAppTitle)))) : (h("ic-typography", { variant: appTitleVariant }, h("h1", { class: "title-wrap" }, isSlotUsed(this.el, "app-title") ? (h("slot", { name: "app-title" })) : (this.appTitle)))))), this.status !== "" && (h("div", { class: "app-status" }, h("ic-typography", { "aria-label": "app tag", variant: "label-uppercase", class: "app-status-text" }, this.status))), this.version !== "" && (h("div", { class: "app-version" }, h("ic-typography", { variant: "label", class: "app-version-text", "aria-label": "app version" }, this.version)))), (this.hasSearchSlotContent || hasMenuContent) && (h("div", { class: "search-menu-container" }, h("div", { class: "search-actions-container" }, this.deviceSize > DEVICE_SIZES.L && (h("slot", { name: "search" })), this.hasSearchSlotContent &&
|
|
202
207
|
this.deviceSize <= DEVICE_SIZES.L && (h("ic-button", { id: "search-toggle-button", ref: (el) => (this.mobileSearchButtonEl = el), onMouseDown: this.searchButtonMouseDownHandler, variant: "icon", size: searchButtonSize, "aria-label": mobileSearchButtonTitle, appearance: this.foregroundColor, onClick: this.searchButtonClickHandler }, h("slot", { name: "toggle-icon" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#ffffff" }, h("path", { d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" }))))), this.hasIconButtons && this.deviceSize > DEVICE_SIZES.L && (h("div", { class: "icon-buttons-container" }, h("slot", { name: "buttons" }))), hasMenuContent && this.deviceSize <= DEVICE_SIZES.L && (h("div", { class: "menu-button-container" }, h("span", { id: "navigation-landmark-button-text", class: "navigation-landmark-button-text", "aria-hidden": "true" }, "Main navigation button"), h("nav", { "aria-labelledby": "navigation-landmark-button-text", "aria-hidden": this.navMenuVisible ? "true" : "false" }, h("ic-button", { id: "menu-button", appearance: this.foregroundColor, variant: "secondary", "aria-expanded": this.menuOpen ? "true" : "false", "aria-haspopup": "true", "aria-label": `Open ${this.hasNavigation ? "navigation" : "app"} menu`, size: menuSize, onClick: this.menuButtonClick }, "Menu", h("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#ffffff", slot: "icon" }, h("path", { d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { d: "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" })))))))))), this.mobileSearchBarVisible && (h("div", { class: "search-bar-container" }, h("slot", { name: "search" }))), this.hasNavigation && this.deviceSize > DEVICE_SIZES.L && (h("div", { class: "navigation-tabs" }, h("span", { id: "navigation-landmark-text", class: "navigation-landmark-text", "aria-hidden": "true" }, "Main navigation"), h("nav", { "aria-labelledby": "navigation-landmark-text", class: "nav-panel-container" }, h("ic-horizontal-scroll", { appearance: this.foregroundColor }, h("ul", { class: "navigation-item-list", tabindex: "-1" }, h("slot", { name: "navigation" }))))))))), this.navMenuVisible && (h("ic-navigation-menu", { version: this.version, status: this.status, class: {
|
|
203
208
|
["inline"]: this.inline,
|
|
204
|
-
} }, h("div", { class: "menu-buttons-slot", slot: "buttons" }, h("slot", { name: "buttons" })), h("ul", { slot: "navigation" }, h("slot", { name: "navigation" }))))));
|
|
209
|
+
} }, this.hasIconButtons && (h("div", { class: "menu-buttons-slot", slot: "buttons" }, h("slot", { name: "buttons" }))), h("ul", { slot: "navigation" }, h("slot", { name: "navigation" }))))));
|
|
205
210
|
}
|
|
206
211
|
static get is() { return "ic-top-navigation"; }
|
|
207
212
|
static get encapsulation() { return "shadow"; }
|