@ukic/web-components 2.2.0 → 2.3.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/{close-icon-8ccb0163.js → close-icon-04be4880.js} +2 -2
- package/dist/cjs/close-icon-04be4880.js.map +1 -0
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-eb53c416.js → helpers-3811d14b.js} +17 -12
- package/dist/cjs/helpers-3811d14b.js.map +1 -0
- package/dist/cjs/ic-alert.cjs.entry.js +3 -3
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +128 -38
- 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-checkbox-group.cjs.entry.js +3 -2
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +9 -3
- 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-row.cjs.entry.js +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +3 -3
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +37 -0
- package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +5 -2
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +2 -2
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -3
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +30 -12
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +4 -5
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
- package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-pagination.cjs.entry.js +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +65 -13
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +4 -3
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +15 -6
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +2 -2
- 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.cjs.entry.js +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +3 -3
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +11 -3
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/index-2a0c6769.js +4 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/types-3eb02246.js.map +1 -1
- package/dist/collection/assets/close-icon.svg +1 -1
- package/dist/collection/assets/error-icon.svg +3 -2
- package/dist/collection/assets/hamburger-menu-icon.svg +1 -1
- package/dist/collection/assets/info-icon.svg +3 -2
- package/dist/collection/assets/neutral-icon.svg +4 -3
- package/dist/collection/assets/success-icon.svg +3 -2
- package/dist/collection/assets/warning-icon.svg +3 -2
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/ic-alert/ic-alert.css +9 -9
- package/dist/collection/components/ic-alert/ic-alert.js +1 -1
- package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.css +19 -3
- package/dist/collection/components/ic-button/ic-button.js +25 -8
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.types.js.map +1 -1
- package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +17 -2
- package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
- package/dist/collection/components/ic-checkbox/ic-checkbox.css +34 -0
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +34 -3
- package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +30 -3
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +28 -0
- package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
- package/dist/collection/components/ic-chip/ic-chip.js +3 -3
- package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
- package/dist/collection/components/ic-chip/ic-chip.types.js.map +1 -1
- package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
- package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
- package/dist/collection/components/ic-empty-state/ic-empty-state.css +49 -0
- package/dist/collection/components/ic-empty-state/ic-empty-state.js +158 -0
- package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -0
- package/dist/collection/components/ic-empty-state/ic-empty-state.types.js +2 -0
- package/dist/collection/components/ic-empty-state/ic-empty-state.types.js.map +1 -0
- package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js +38 -0
- package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +86 -0
- package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +1 -0
- package/dist/collection/components/ic-footer/ic-footer.js +4 -1
- package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
- package/dist/collection/components/ic-input-validation/ic-input-validation.css +1 -1
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +1 -0
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +1 -1
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
- package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +1 -1
- package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +6 -2
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +28 -10
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
- package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +3 -3
- package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +4 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +2 -3
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +12 -0
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +63 -11
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
- package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +14 -0
- package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +1 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +3 -2
- 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 +19 -0
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +4 -0
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +30 -3
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +20 -0
- 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-switch/ic-switch.css +1 -1
- package/dist/collection/components/ic-toast/ic-toast.css +2 -2
- package/dist/collection/components/ic-tooltip/ic-tooltip.css +9 -0
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +108 -33
- package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +2 -0
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +1 -1
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +160 -1
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +1 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
- package/dist/collection/components/ic-typography/ic-typography.css +21 -1
- package/dist/collection/components/ic-typography/ic-typography.js +81 -1
- package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +28 -0
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/close-icon.js +1 -1
- package/dist/components/helpers.js +16 -11
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-alert2.js +1 -1
- package/dist/components/ic-alert2.js.map +1 -1
- package/dist/components/ic-button2.js +20 -5
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +3 -1
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +9 -2
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-dialog.js +1 -1
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-empty-state.d.ts +11 -0
- package/dist/components/ic-empty-state.js +63 -0
- package/dist/components/ic-empty-state.js.map +1 -0
- package/dist/components/ic-footer.js +4 -1
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-input-validation2.js +1 -1
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-navigation-button.js +2 -2
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +29 -11
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +3 -4
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-popover-menu.js +64 -12
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-search-bar.js +3 -2
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-side-navigation.js +15 -5
- package/dist/components/ic-side-navigation.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-switch.js +1 -1
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-toast.js +1 -1
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-tooltip2.js +109 -34
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +1 -1
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-typography2.js +14 -2
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/components/types.js.map +1 -1
- package/dist/core/core.css +26 -26
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-b698b8ad.entry.js → p-07601b81.entry.js} +2 -2
- package/dist/core/{p-5c9c940f.entry.js → p-07877eb8.entry.js} +2 -2
- package/dist/core/p-103c761f.entry.js +2 -0
- package/dist/core/p-103c761f.entry.js.map +1 -0
- package/dist/core/{p-f923d11b.entry.js → p-14bea6c0.entry.js} +2 -2
- package/dist/core/p-14bea6c0.entry.js.map +1 -0
- package/dist/core/{p-f7695299.entry.js → p-1ac44a4e.entry.js} +2 -2
- package/dist/core/{p-ca6d834e.entry.js → p-1b1dbb53.entry.js} +2 -2
- package/dist/core/{p-1b9b8355.entry.js → p-20fafec4.entry.js} +2 -2
- package/dist/core/{p-5c846d0a.entry.js → p-24b88371.entry.js} +2 -2
- package/dist/core/{p-ce791694.entry.js → p-2f5a9d91.entry.js} +2 -2
- package/dist/core/{p-ce791694.entry.js.map → p-2f5a9d91.entry.js.map} +1 -1
- package/dist/core/{p-8991f656.entry.js → p-389c3913.entry.js} +2 -2
- package/dist/core/{p-9e551fe9.entry.js → p-43b529a5.entry.js} +2 -2
- package/dist/core/{p-9e551fe9.entry.js.map → p-43b529a5.entry.js.map} +1 -1
- package/dist/core/p-4dc6a83d.entry.js +2 -0
- package/dist/core/p-4dc6a83d.entry.js.map +1 -0
- package/dist/core/{p-adceb0cf.entry.js → p-4fa9c6eb.entry.js} +2 -2
- package/dist/core/p-4fa9c6eb.entry.js.map +1 -0
- package/dist/core/{p-a8b94619.entry.js → p-50019c47.entry.js} +2 -2
- package/dist/core/{p-d2215b72.entry.js → p-516fd246.entry.js} +2 -2
- package/dist/core/p-5e3a09d7.entry.js +2 -0
- package/dist/core/p-5e3a09d7.entry.js.map +1 -0
- package/dist/core/{p-cef93d12.entry.js → p-5e685037.entry.js} +2 -2
- package/dist/core/{p-0330cb21.entry.js → p-69c1f172.entry.js} +2 -2
- package/dist/core/p-6f57b13c.js.map +1 -1
- package/dist/core/{p-e0ee714a.entry.js → p-736489c6.entry.js} +2 -2
- package/dist/core/p-736489c6.entry.js.map +1 -0
- package/dist/core/{p-8c45ab61.entry.js → p-75ac2fbf.entry.js} +2 -2
- package/dist/core/{p-f665242d.entry.js → p-8acd7207.entry.js} +2 -2
- package/dist/core/{p-429e4d24.entry.js → p-919059e8.entry.js} +2 -2
- package/dist/core/{p-332690f0.entry.js → p-92868735.entry.js} +2 -2
- package/dist/core/{p-ee11e185.entry.js → p-93ee130d.entry.js} +2 -2
- package/dist/core/{p-ee11e185.entry.js.map → p-93ee130d.entry.js.map} +1 -1
- package/dist/core/{p-a588886f.entry.js → p-98d488aa.entry.js} +2 -2
- package/dist/core/{p-5144e840.entry.js → p-9bde930d.entry.js} +2 -2
- package/dist/core/{p-c5716cbc.entry.js → p-9e896463.entry.js} +2 -2
- package/dist/core/{p-7536dd31.entry.js → p-ab4919d6.entry.js} +2 -2
- package/dist/core/{p-83d5bcae.entry.js → p-adf65f4a.entry.js} +2 -2
- package/dist/core/p-adf65f4a.entry.js.map +1 -0
- package/dist/core/p-b5d084c2.entry.js +2 -0
- package/dist/core/p-b5d084c2.entry.js.map +1 -0
- package/dist/core/{p-26d5fd0f.entry.js → p-bbdd9770.entry.js} +2 -2
- package/dist/core/p-bbdd9770.entry.js.map +1 -0
- package/dist/core/p-c2fc2b77.entry.js +2 -0
- package/dist/core/p-c2fc2b77.entry.js.map +1 -0
- package/dist/core/{p-65750560.entry.js → p-c3da58eb.entry.js} +2 -2
- package/dist/core/p-c3da58eb.entry.js.map +1 -0
- package/dist/core/p-c4b81d32.entry.js +2 -0
- package/dist/core/p-c4b81d32.entry.js.map +1 -0
- package/dist/core/p-cfb87422.entry.js +2 -0
- package/dist/core/p-cfb87422.entry.js.map +1 -0
- package/dist/core/{p-cbbf4b05.entry.js → p-d2994a71.entry.js} +2 -2
- package/dist/core/p-d592006b.entry.js +2 -0
- package/dist/core/p-d592006b.entry.js.map +1 -0
- package/dist/core/{p-90d3a41b.entry.js → p-da3bd896.entry.js} +2 -2
- package/dist/core/{p-892d9d9f.entry.js → p-da5fc036.entry.js} +2 -2
- package/dist/core/p-da5fc036.entry.js.map +1 -0
- package/dist/core/p-dd980be4.js +2 -0
- package/dist/core/{p-5dd0b02e.js.map → p-dd980be4.js.map} +1 -1
- package/dist/core/{p-27d42378.entry.js → p-e14bc195.entry.js} +2 -2
- package/dist/core/p-e2fdb944.entry.js +2 -0
- package/dist/core/p-e2fdb944.entry.js.map +1 -0
- package/dist/core/{p-1959ec8d.entry.js → p-e328bd2d.entry.js} +2 -2
- package/dist/core/{p-c012b867.entry.js → p-e9c864ac.entry.js} +2 -2
- package/dist/core/p-f2c6a143.js +2 -0
- package/dist/core/{p-6840589f.entry.js → p-fb86da80.entry.js} +2 -2
- package/dist/core/{p-7ae091ef.entry.js → p-fbd3c432.entry.js} +2 -2
- package/dist/core/p-fbd3c432.entry.js.map +1 -0
- package/dist/esm/{close-icon-2f02b42a.js → close-icon-2ce5d375.js} +2 -2
- package/dist/esm/close-icon-2ce5d375.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-85903813.js → helpers-d7d5bd08.js} +18 -13
- package/dist/esm/helpers-d7d5bd08.js.map +1 -0
- package/dist/esm/ic-alert.entry.js +3 -3
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +128 -38
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +3 -2
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +9 -3
- 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-row.entry.js +1 -1
- package/dist/esm/ic-dialog.entry.js +3 -3
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-empty-state.entry.js +33 -0
- package/dist/esm/ic-empty-state.entry.js.map +1 -0
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js +1 -1
- package/dist/esm/ic-footer.entry.js +5 -2
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +1 -1
- package/dist/esm/ic-input-label_2.entry.js +2 -2
- package/dist/esm/ic-input-label_2.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-navigation-button.entry.js +3 -3
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +30 -12
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +4 -5
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +1 -1
- package/dist/esm/ic-page-header.entry.js +1 -1
- package/dist/esm/ic-pagination-item.entry.js +1 -1
- package/dist/esm/ic-pagination.entry.js +1 -1
- package/dist/esm/ic-popover-menu.entry.js +65 -13
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +1 -1
- package/dist/esm/ic-radio-option.entry.js +1 -1
- package/dist/esm/ic-search-bar.entry.js +4 -3
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +1 -1
- package/dist/esm/ic-side-navigation.entry.js +15 -6
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +2 -2
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +1 -1
- package/dist/esm/ic-switch.entry.js +2 -2
- 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.entry.js +1 -1
- package/dist/esm/ic-text-field.entry.js +1 -1
- package/dist/esm/ic-theme.entry.js +1 -1
- package/dist/esm/ic-toast.entry.js +3 -3
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +2 -2
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +11 -3
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/index-fd30b77e.js +4 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/types-dd515332.js.map +1 -1
- package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
- package/dist/types/components/ic-button/ic-button.d.ts +8 -4
- package/dist/types/components/ic-button/ic-button.types.d.ts +0 -1
- package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +6 -2
- package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +6 -2
- package/dist/types/components/ic-chip/ic-chip.d.ts +3 -2
- package/dist/types/components/ic-chip/ic-chip.types.d.ts +0 -1
- package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +35 -0
- package/dist/types/components/ic-empty-state/ic-empty-state.types.d.ts +1 -0
- package/dist/types/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.d.ts +1 -0
- package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +4 -0
- package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +3 -0
- package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +5 -0
- package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +5 -0
- package/dist/types/components/ic-typography/ic-typography.d.ts +17 -0
- package/dist/types/components.d.ts +135 -16
- package/dist/types/utils/types.d.ts +1 -0
- package/hydrate/index.js +346 -99
- package/package.json +4 -5
- package/dist/cjs/close-icon-8ccb0163.js.map +0 -1
- package/dist/cjs/helpers-eb53c416.js.map +0 -1
- package/dist/core/p-03d1a4a1.entry.js +0 -2
- package/dist/core/p-03d1a4a1.entry.js.map +0 -1
- package/dist/core/p-26d5fd0f.entry.js.map +0 -1
- package/dist/core/p-39adc795.entry.js +0 -2
- package/dist/core/p-39adc795.entry.js.map +0 -1
- package/dist/core/p-44512ebe.js +0 -2
- package/dist/core/p-48301eff.entry.js +0 -2
- package/dist/core/p-48301eff.entry.js.map +0 -1
- package/dist/core/p-5dd0b02e.js +0 -2
- package/dist/core/p-65750560.entry.js.map +0 -1
- package/dist/core/p-7ae091ef.entry.js.map +0 -1
- package/dist/core/p-7c46caf2.entry.js +0 -2
- package/dist/core/p-7c46caf2.entry.js.map +0 -1
- package/dist/core/p-83d5bcae.entry.js.map +0 -1
- package/dist/core/p-892d9d9f.entry.js.map +0 -1
- package/dist/core/p-96b71172.entry.js +0 -2
- package/dist/core/p-96b71172.entry.js.map +0 -1
- package/dist/core/p-adceb0cf.entry.js.map +0 -1
- package/dist/core/p-b6c538ea.entry.js +0 -2
- package/dist/core/p-b6c538ea.entry.js.map +0 -1
- package/dist/core/p-e0ee714a.entry.js.map +0 -1
- package/dist/core/p-e6370b7e.entry.js +0 -2
- package/dist/core/p-e6370b7e.entry.js.map +0 -1
- package/dist/core/p-f24814b8.entry.js +0 -2
- package/dist/core/p-f24814b8.entry.js.map +0 -1
- package/dist/core/p-f923d11b.entry.js.map +0 -1
- package/dist/esm/close-icon-2f02b42a.js.map +0 -1
- package/dist/esm/helpers-85903813.js.map +0 -1
- /package/dist/core/{p-b698b8ad.entry.js.map → p-07601b81.entry.js.map} +0 -0
- /package/dist/core/{p-5c9c940f.entry.js.map → p-07877eb8.entry.js.map} +0 -0
- /package/dist/core/{p-f7695299.entry.js.map → p-1ac44a4e.entry.js.map} +0 -0
- /package/dist/core/{p-ca6d834e.entry.js.map → p-1b1dbb53.entry.js.map} +0 -0
- /package/dist/core/{p-1b9b8355.entry.js.map → p-20fafec4.entry.js.map} +0 -0
- /package/dist/core/{p-5c846d0a.entry.js.map → p-24b88371.entry.js.map} +0 -0
- /package/dist/core/{p-8991f656.entry.js.map → p-389c3913.entry.js.map} +0 -0
- /package/dist/core/{p-a8b94619.entry.js.map → p-50019c47.entry.js.map} +0 -0
- /package/dist/core/{p-d2215b72.entry.js.map → p-516fd246.entry.js.map} +0 -0
- /package/dist/core/{p-cef93d12.entry.js.map → p-5e685037.entry.js.map} +0 -0
- /package/dist/core/{p-0330cb21.entry.js.map → p-69c1f172.entry.js.map} +0 -0
- /package/dist/core/{p-8c45ab61.entry.js.map → p-75ac2fbf.entry.js.map} +0 -0
- /package/dist/core/{p-f665242d.entry.js.map → p-8acd7207.entry.js.map} +0 -0
- /package/dist/core/{p-429e4d24.entry.js.map → p-919059e8.entry.js.map} +0 -0
- /package/dist/core/{p-332690f0.entry.js.map → p-92868735.entry.js.map} +0 -0
- /package/dist/core/{p-a588886f.entry.js.map → p-98d488aa.entry.js.map} +0 -0
- /package/dist/core/{p-5144e840.entry.js.map → p-9bde930d.entry.js.map} +0 -0
- /package/dist/core/{p-c5716cbc.entry.js.map → p-9e896463.entry.js.map} +0 -0
- /package/dist/core/{p-7536dd31.entry.js.map → p-ab4919d6.entry.js.map} +0 -0
- /package/dist/core/{p-cbbf4b05.entry.js.map → p-d2994a71.entry.js.map} +0 -0
- /package/dist/core/{p-90d3a41b.entry.js.map → p-da3bd896.entry.js.map} +0 -0
- /package/dist/core/{p-27d42378.entry.js.map → p-e14bc195.entry.js.map} +0 -0
- /package/dist/core/{p-1959ec8d.entry.js.map → p-e328bd2d.entry.js.map} +0 -0
- /package/dist/core/{p-c012b867.entry.js.map → p-e9c864ac.entry.js.map} +0 -0
- /package/dist/core/{p-44512ebe.js.map → p-f2c6a143.js.map} +0 -0
- /package/dist/core/{p-6840589f.entry.js.map → p-fb86da80.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ic-side-navigation.js","sourceRoot":"","sources":["../../../src/components/ic-side-navigation/ic-side-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Listen,\n} from \"@stencil/core\";\n\nimport menuIcon from \"../../assets/hamburger-menu-icon.svg\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport {\n getCurrentDeviceSize,\n DEVICE_SIZES,\n checkResizeObserver,\n isSlotUsed,\n getThemeForegroundColor,\n getCssProperty,\n hasClassificationBanner,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { IcTopBar } from \"./ic-side-navigation.types\";\n\n/**\n * @slot app-icon - Content will be rendered adjacent to the app title at the very top of the side navigation.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot primary-navigation - Content will be rendered at the top of the side navigation.\n * @slot secondary-navigation - Content will be rendered at the bottom of the side navigation.\n */\n\n@Component({\n tag: \"ic-side-navigation\",\n styleUrl: \"ic-side-navigation.css\",\n shadow: true,\n})\nexport class SideNavigation {\n private ANIMATION_DURATION =\n parseInt(getCssProperty(\"--ic-transition-duration-slow\")) || 0;\n private IC_NAVIGATION_ITEM: string = \"ic-navigation-item\";\n private resizeObserver: ResizeObserver = null;\n private COLLAPSED_ICON_LABELS_END = \"collapsed-icon-labels-end\";\n private COLLAPSED_ICON_LABELS_START = \"collapsed-icon-labels-start\";\n\n @Element() el: HTMLIcSideNavigationElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() deviceSizeAppTitle = DEVICE_SIZES.S;\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n @State() hasSecondaryNavigation: boolean = false;\n @State() menuExpanded: boolean = false;\n @State() menuOpen: boolean = false;\n\n /**\n * The app title to be displayed. This is required, unless a slotted app title link is used.\n */\n @Prop() appTitle: string;\n\n /**\n * If `true`, the icon and label will appear when side navigation is collapsed.\n */\n @Prop() collapsedIconLabels: boolean = false;\n\n /**\n * If `true`, automatic parent wrapper styling will be disabled.\n */\n @Prop() disableAutoParentStyling: boolean = false;\n\n /**\n * If `true`, the side navigation will load in an expanded state.\n */\n @Prop() expanded: boolean = false;\n\n /**\n * The URL that the app title link points to.\n */\n @Prop() href: string = \"/\";\n\n /**\n * @internal If `true`, side navigation will be contained by its parent element.\n */\n @Prop() inline: boolean = false;\n\n /**\n * If `true`, the menu expand button will be removed (PLEASE NOTE: This takes effect on screen sizes 992px and above).\n */\n @Prop() static: boolean = false;\n\n /**\n * The status of the app to be displayed.\n */\n @Prop() status: string;\n\n /**\n * The version of the app to be displayed.\n */\n @Prop() version: string;\n\n componentWillLoad(): void {\n if (this.expanded) {\n this.setMenuExpanded(true);\n } else {\n this.setMenuExpanded(false);\n }\n\n if (this.collapsedIconLabels) {\n this.setCollapsedIconLabels();\n }\n\n this.hasSecondaryNavigation = isSlotUsed(this.el, \"secondary-navigation\");\n }\n\n componentDidLoad(): void {\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile: this.deviceSize === DEVICE_SIZES.S,\n });\n\n checkResizeObserver(this.runResizeObserver);\n this.styleSlottedCollapsedIconLabel();\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n this.setExpandedButtonHeight();\n\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.appTitle, propName: \"app-title\" }],\n \"Side Navigation\"\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n\n this.el.removeEventListener(\"transitionend\", this.transitionEndHandler);\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n private emitSideNavigationExpanded = (objDetails: {\n sideNavExpanded: boolean;\n sideNavMobile?: boolean;\n }): void => {\n const event = new CustomEvent(\"sideNavExpanded\", {\n detail: {\n sideNavExpanded: objDetails.sideNavExpanded,\n sideNavMobile: objDetails.sideNavMobile,\n },\n });\n this.el.dispatchEvent(event);\n };\n\n private toggleMenu = (): void => {\n this.menuOpen = !this.menuOpen;\n this.setMobileMenuAriaAttributes(this.menuOpen);\n\n this.arrangeSlottedNavigationItem(this.menuOpen);\n\n this.setToggleMenuFlyoutMenuVisibility(this.menuOpen);\n\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuOpen,\n sideNavMobile: true,\n });\n };\n\n private setToggleMenuFlyoutMenuVisibility = (menuOpen: boolean) => {\n const sideNav = this.el.shadowRoot.querySelector(\n \"#side-navigation\"\n ) as HTMLDivElement;\n const sideNavInner = sideNav.querySelector(\n \".side-navigation-inner\"\n ) as HTMLElement;\n const bottomWrapper = sideNav.querySelector(\n \".bottom-wrapper\"\n ) as HTMLElement;\n\n const menuVisibilityVisible = \"menu-visibility-visible\";\n\n if (menuOpen) {\n bottomWrapper.classList.add(menuVisibilityVisible);\n sideNavInner.classList.add(menuVisibilityVisible);\n } else {\n setTimeout(() => {\n sideNavInner.classList.remove(menuVisibilityVisible);\n bottomWrapper.classList.remove(menuVisibilityVisible);\n }, this.ANIMATION_DURATION);\n }\n };\n\n private setMobileMenuAriaAttributes = (menuOpen: boolean) => {\n const nativeButton = this.el.shadowRoot\n .querySelector(\"#menu-button\")\n .shadowRoot.querySelector(\"button\");\n\n if (menuOpen) {\n nativeButton.setAttribute(\"aria-expanded\", \"true\");\n nativeButton.setAttribute(\"aria-label\", \"Close navigation menu\");\n } else {\n nativeButton.setAttribute(\"aria-expanded\", \"false\");\n nativeButton.setAttribute(\"aria-label\", \"Open navigation menu\");\n }\n };\n\n private setAndRemoveNoWrapAfterMenuExpanded = () => {\n const appTitle = this.el.shadowRoot.querySelector(\n \".title-link ic-typography\"\n );\n\n appTitle.classList.add(\"ic-typography-no-wrap\");\n\n setTimeout(() => {\n appTitle.classList.remove(\"ic-typography-no-wrap\");\n }, this.ANIMATION_DURATION);\n };\n\n private toggleMenuExpanded = (): void => {\n this.menuExpanded = !this.menuExpanded;\n\n if (this.menuExpanded) {\n this.setAndRemoveNoWrapAfterMenuExpanded();\n }\n\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n if (this.collapsedIconLabels) {\n this.animateCollapsedIconLabels();\n }\n\n this.setExpandedButtonHeight();\n this.emitSideNavigationExpanded({ sideNavExpanded: this.menuExpanded });\n };\n\n /**\n * In order to style nested slotted elements (e.g. using React Router components), this method\n * rearranges the a tag and labels and adds inline styling expand/collaped animations as external CSS classes are not\n * do not take affect.\n * @param menuExpanded boolean - true or false depending on side navigation state\n */\n private arrangeSlottedNavigationItem = (menuExpanded?: boolean) => {\n const navItems = this.el.querySelectorAll(\"ic-navigation-item\");\n\n navItems.forEach((navItem) => {\n const hasUsedSlot = isSlotUsed(navItem, \"navigation-item\");\n\n if (hasUsedSlot) {\n const navItemSlot = navItem.querySelector(\"[slot='navigation-item']\");\n const iconWrapper = document.createElement(\"div\");\n const icon = navItemSlot.querySelector(\"svg\");\n const label = navItem.textContent.trim();\n const icTypography = document.createElement(\"ic-typography\");\n icTypography.classList.add(\n \"ic-typography-label\",\n \"hydrated\",\n \"navigation-item-side-nav-slotted-text\"\n );\n\n iconWrapper.style.height = \"var(--ic-space-lg)\";\n iconWrapper.append(icon);\n\n navItemSlot.textContent = \"\";\n\n icTypography.textContent = label;\n\n navItemSlot.append(iconWrapper);\n navItemSlot.append(icTypography);\n\n if (this.collapsedIconLabels) {\n this.styleSlottedCollapsedIconLabels(menuExpanded, icTypography);\n } else {\n this.styleSlottedIconLabels(menuExpanded, icTypography);\n }\n }\n });\n };\n\n private styleSlottedCollapsedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLIcTypographyElement\n ) => {\n if (menuExpanded) {\n icTypography.style.marginTop = \"0\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n } else {\n icTypography.style.marginTop = \"10px\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n }\n };\n\n private setExpandedButtonHeight = () => {\n const appStatusWrapper = this.el.shadowRoot.querySelector(\n \"#side-navigation > .bottom-wrapper > .bottom-side-nav > .app-status-wrapper\"\n ) as HTMLDivElement;\n\n if (appStatusWrapper.offsetHeight !== 0) {\n this.el.style.setProperty(\n \"--sm-side-navigation-bottom-bar-height\",\n `${appStatusWrapper.offsetHeight}px`\n );\n }\n };\n\n private styleSlottedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLSpanElement\n ) => {\n if (menuExpanded) {\n icTypography.style.opacity = \"1\";\n icTypography.style.visibility = \"visible\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n } else {\n icTypography.style.opacity = \"0\";\n icTypography.style.visibility = \"hidden\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n }\n };\n\n private transitionHandler = (type: string) => {\n const primaryNavigationWrapper = this.el.shadowRoot.querySelector(\n \".primary-navigation\"\n );\n\n const secondaryNavigationWrapper = this.el.shadowRoot.querySelector(\n \".bottom-wrapper > .secondary-navigation\"\n );\n\n const classToRemove =\n type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_END\n : this.COLLAPSED_ICON_LABELS_START;\n\n const classToAdd =\n type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_START\n : this.COLLAPSED_ICON_LABELS_END;\n\n if (primaryNavigationWrapper) {\n primaryNavigationWrapper.classList.remove(classToRemove);\n primaryNavigationWrapper.classList.add(classToAdd);\n }\n\n if (secondaryNavigationWrapper) {\n secondaryNavigationWrapper.classList.remove(classToRemove);\n secondaryNavigationWrapper.classList.add(classToAdd);\n }\n };\n\n private transitionEndHandler = () => {\n this.transitionHandler(\"end\");\n };\n\n private animateCollapsedIconLabels = () => {\n this.transitionHandler(\"start\");\n this.transitionEndHandler();\n\n this.el.addEventListener(\"transitionend\", this.transitionEndHandler);\n };\n\n private paddingIconWidth = (\n navItems: HTMLIcNavigationItemElement[]\n ): number => {\n const navItemLink =\n (navItems[0].shadowRoot &&\n (navItems[0].shadowRoot.querySelector(\"ic-tooltip a\") ||\n navItems[0].shadowRoot.querySelector(\"ic-tooltip div\"))) ||\n navItems[0].querySelector(\"a\") ||\n navItems[0].querySelector(\"div\");\n const navItemSVG = navItems[0].querySelector(\"svg\");\n\n const navStyles = {\n gap: window.getComputedStyle(navItemLink).gap,\n iconWidth: window.getComputedStyle(navItemSVG).width,\n paddingLeft: window.getComputedStyle(navItemLink).paddingLeft,\n };\n\n return Object.values(navStyles).reduce((prev, curr) => {\n return (prev += parseInt(curr));\n }, 0);\n };\n\n private displayTooltipWithExpandedLongLabel = (menuExpanded: boolean) => {\n let timer;\n\n if (menuExpanded) {\n timer = setTimeout(() => {\n const sideNavWidth = this.el.clientWidth;\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n\n const paddingIconDelta = navigationItems.length\n ? this.paddingIconWidth(navigationItems)\n : 0;\n\n navigationItems.forEach(\n (navigationItem: HTMLIcNavigationItemElement) => {\n const icTypographyScrollWidth =\n (\n navigationItem.shadowRoot &&\n navigationItem.shadowRoot.querySelector(\n \"ic-tooltip .link ic-typography.ic-typography-label\"\n )\n )?.scrollWidth ||\n navigationItem.querySelector(\"ic-typography.ic-typography-label\")\n ?.scrollWidth;\n\n if (icTypographyScrollWidth > sideNavWidth - paddingIconDelta) {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"true\");\n }\n }\n );\n }, this.ANIMATION_DURATION);\n } else {\n clearTimeout(timer);\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"false\");\n });\n }\n };\n\n private setMenuExpanded = (expanded: boolean): void => {\n this.menuExpanded = expanded;\n };\n\n /**\n * As the mobile top bar is fixed, a padding top is required\n * to push main content down the height of the mobile top bar\n * @param value - padding-top css value\n */\n private setParentPaddingTop = (value: string) => {\n this.el.parentElement.style.setProperty(\"padding-top\", value);\n };\n\n private setParentPaddingLeft = (value: string) => {\n this.el.parentElement.style.setProperty(\"padding-left\", value);\n };\n\n private resizeObserverCallback = (currSize: number) => {\n this.deviceSize = currSize;\n\n if (currSize === DEVICE_SIZES.S) {\n if (!this.disableAutoParentStyling) {\n const topBarHeight =\n this.el.shadowRoot.querySelector(\".top-bar\").scrollHeight;\n this.setParentPaddingTop(`${topBarHeight}px`);\n this.setParentPaddingLeft(\"0\");\n\n if (this.inline) {\n this.el.parentElement.style.setProperty(\n \"height\",\n `calc(100% - ${topBarHeight}px)`\n );\n }\n }\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile: true,\n });\n } else {\n if (!this.disableAutoParentStyling) {\n this.setParentPaddingTop(\"0\");\n this.el.parentElement.style.setProperty(\"height\", \"100%\");\n }\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile: false,\n });\n }\n\n let paddingLeft;\n\n if (this.collapsedIconLabels) {\n paddingLeft = \"calc(var(--ic-space-xxl) * 2)\";\n } else {\n paddingLeft = \"calc(var(--ic-space-xxl) + var(--ic-space-xs))\";\n }\n\n if (currSize > DEVICE_SIZES.L) {\n if (!this.disableAutoParentStyling) {\n this.setParentPaddingTop(\"0\");\n this.setParentPaddingLeft(\"0\");\n }\n } else if (\n currSize > DEVICE_SIZES.S &&\n currSize <= DEVICE_SIZES.M &&\n this.static &&\n !this.disableAutoParentStyling\n ) {\n this.setParentPaddingLeft(paddingLeft);\n } else if (\n currSize > DEVICE_SIZES.S &&\n currSize <= DEVICE_SIZES.L &&\n !this.disableAutoParentStyling\n ) {\n if (this.static && this.menuExpanded) {\n this.setParentPaddingLeft(\"calc(var(--ic-space-xl) * 10)\");\n } else {\n this.setParentPaddingLeft(paddingLeft);\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.deviceSizeAppTitle = currSize;\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(document.body, { box: \"content-box\" });\n };\n\n private setCollapsedIconLabels = () => {\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"collapsed-icon-label\", \"true\");\n });\n };\n\n private styleSlottedCollapsedIconLabel = () => {\n const dynamicSlottedIcTypographyComps: HTMLIcTypographyElement[] =\n Array.from(\n this.el.querySelectorAll(\".navigation-item-side-nav-slotted-text\")\n );\n\n dynamicSlottedIcTypographyComps.forEach((icTypography) => {\n if (\n icTypography?.parentElement?.parentElement?.classList.contains(\n \"navigation-item-side-nav-collapsed-with-label\"\n )\n ) {\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n icTypography.style.marginTop = \"10px\";\n }\n });\n };\n\n private renderTopBar = ({\n isSDevice,\n foregroundColor,\n menuOpen,\n href,\n isAppNameSubtitleVariant,\n appTitle,\n }: IcTopBar) => {\n const hasTitle = this.appTitle !== \"\" && this.appTitle !== undefined;\n\n const Component = isSlotUsed(this.el, \"app-title\") ? \"div\" : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n };\n\n return (\n <div\n class={{\n \"top-bar\": true,\n [this.foregroundColor]: true,\n }}\n >\n {isSDevice && (\n <nav\n aria-labelledby=\"menu-navigation-toggle-button-landmark\"\n aria-hidden=\"false\"\n >\n <ic-button\n aria-label=\"Open navigation menu\"\n class=\"menu-button\"\n id=\"menu-button\"\n variant=\"secondary\"\n size=\"small\"\n full-width=\"true\"\n appearance={foregroundColor}\n onClick={this.toggleMenu}\n aria-owns=\"side-navigation\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <span\n class=\"mobile-top-bar-menu-icon\"\n slot=\"icon\"\n innerHTML={menuOpen ? closeIcon : menuIcon}\n ></span>\n {menuOpen ? \"Close\" : \"Menu\"}\n </ic-button>\n <span\n id=\"menu-navigation-toggle-button-landmark\"\n class=\"navigation-landmark-title\"\n aria-hidden=\"true\"\n >\n Navigation menu toggle button\n </span>\n </nav>\n )}\n <div class=\"app-title-wrapper\">\n {(hasTitle || isSlotUsed(this.el, \"app-title\")) && (\n <Component {...attrs} class=\"title-link\">\n <div class=\"app-icon-container\" aria-hidden=\"true\">\n <slot name=\"app-icon\"></slot>\n </div>\n <ic-typography\n variant={isAppNameSubtitleVariant ? \"subtitle-small\" : \"h3\"}\n >\n {isSlotUsed(this.el, \"app-title\") ? (\n <slot name=\"app-title\"></slot>\n ) : (\n appTitle\n )}\n </ic-typography>\n </Component>\n )}\n </div>\n </div>\n );\n };\n\n render() {\n const {\n appTitle,\n menuOpen,\n foregroundColor,\n menuExpanded,\n href,\n status,\n version,\n collapsedIconLabels,\n inline,\n } = this;\n\n const isSDevice = this.deviceSize === DEVICE_SIZES.S;\n const isMdDevice = this.deviceSize === DEVICE_SIZES.M;\n const isLgDevice = this.deviceSize >= DEVICE_SIZES.L;\n const isAppNameSubtitleVariant = this.deviceSizeAppTitle === DEVICE_SIZES.S;\n const displayExpandBtn = isMdDevice || (isLgDevice && !this.static);\n\n const topBarProps: IcTopBar = {\n isSDevice,\n foregroundColor,\n menuOpen,\n href,\n isAppNameSubtitleVariant,\n appTitle,\n };\n\n return (\n <Host\n class={{\n \"xs-menu-open\": menuOpen && isSDevice,\n \"xs-menu-close\": !menuOpen && isSDevice,\n \"sm-collapsed\": !isSDevice && !menuExpanded,\n \"sm-expanded\": !isSDevice && menuExpanded,\n [IcThemeForegroundEnum.Dark]:\n foregroundColor === IcThemeForegroundEnum.Dark,\n [\"collapsed-labels\"]:\n !isSDevice && !menuExpanded && collapsedIconLabels,\n [\"inline\"]: inline,\n }}\n >\n {isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation\" id=\"side-navigation\">\n {!isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation-inner\">\n {isSlotUsed(this.el, \"primary-navigation\") && (\n <nav\n class=\"primary-navigation\"\n aria-labelledby=\"primary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"primary-navigation-landmark\"\n >\n Primary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"primary-navigation\"></slot>\n </ul>\n </nav>\n )}\n </div>\n <div\n class={{\n [\"bottom-wrapper\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n }}\n >\n {isSlotUsed(this.el, \"secondary-navigation\") && (\n <nav\n class=\"secondary-navigation\"\n aria-labelledby=\"secondary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"secondary-navigation-landmark\"\n >\n Secondary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"secondary-navigation\"></slot>\n </ul>\n </nav>\n )}\n <div class=\"bottom-side-nav\">\n {this.hasSecondaryNavigation && <ic-divider></ic-divider>}\n {displayExpandBtn && (\n <button\n class=\"menu-expand-button\"\n innerHTML={chevronIcon}\n onClick={this.toggleMenuExpanded}\n aria-label={`${\n menuExpanded ? \"Collapse\" : \"Expand\"\n } side navigation`}\n ></button>\n )}\n <div class=\"app-status-wrapper\">\n {status !== \"\" && (\n <div\n class={{\n [\"app-status\"]: true,\n }}\n >\n <ic-typography\n aria-label=\"app tag\"\n variant=\"label-uppercase\"\n class=\"app-status-text\"\n >\n {status}\n </ic-typography>\n </div>\n )}\n {version !== \"\" && (\n <ic-typography\n variant=\"label\"\n class=\"app-version\"\n aria-label=\"app version\"\n >\n {version}\n </ic-typography>\n )}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ic-side-navigation.js","sourceRoot":"","sources":["../../../src/components/ic-side-navigation/ic-side-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Listen,\n} from \"@stencil/core\";\n\nimport menuIcon from \"../../assets/hamburger-menu-icon.svg\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport {\n getCurrentDeviceSize,\n DEVICE_SIZES,\n checkResizeObserver,\n isSlotUsed,\n getThemeForegroundColor,\n getCssProperty,\n hasClassificationBanner,\n onComponentRequiredPropUndefined,\n isEmptyString,\n} from \"../../utils/helpers\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { IcTopBar } from \"./ic-side-navigation.types\";\n\n/**\n * @slot app-icon - Content will be rendered adjacent to the app title at the very top of the side navigation.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot primary-navigation - Content will be rendered at the top of the side navigation.\n * @slot secondary-navigation - Content will be rendered at the bottom of the side navigation.\n */\n\n@Component({\n tag: \"ic-side-navigation\",\n styleUrl: \"ic-side-navigation.css\",\n shadow: true,\n})\nexport class SideNavigation {\n private ANIMATION_DURATION =\n parseInt(getCssProperty(\"--ic-transition-duration-slow\")) || 0;\n private IC_NAVIGATION_ITEM: string = \"ic-navigation-item\";\n private resizeObserver: ResizeObserver = null;\n private COLLAPSED_ICON_LABELS_END = \"collapsed-icon-labels-end\";\n private COLLAPSED_ICON_LABELS_START = \"collapsed-icon-labels-start\";\n\n @Element() el: HTMLIcSideNavigationElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() deviceSizeAppTitle = DEVICE_SIZES.S;\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n @State() hasSecondaryNavigation: boolean = false;\n @State() menuExpanded: boolean = false;\n @State() menuOpen: boolean = false;\n\n /**\n * The app title to be displayed. This is required, unless a slotted app title link is used.\n */\n @Prop() appTitle: string;\n\n /**\n * If `true`, the icon and label will appear when side navigation is collapsed.\n */\n @Prop() collapsedIconLabels: boolean = false;\n\n /**\n * If `true`, automatic parent wrapper styling will be disabled.\n */\n @Prop() disableAutoParentStyling: boolean = false;\n\n /**\n * If `true`, the side navigation will load in an expanded state.\n */\n @Prop() expanded: boolean = false;\n\n /**\n * The URL that the app title link points to.\n */\n @Prop() href: string = \"/\";\n\n /**\n * @internal If `true`, side navigation will be contained by its parent element.\n */\n @Prop() inline: boolean = false;\n\n /**\n * The short title of the app to be displayed at small screen sizes in place of the app title.\n */\n @Prop() shortAppTitle: string = \"\";\n\n /**\n * If `true`, the menu expand button will be removed (PLEASE NOTE: This takes effect on screen sizes 992px and above).\n */\n @Prop() static: boolean = false;\n\n /**\n * The status of the app to be displayed.\n */\n @Prop() status: string;\n\n /**\n * The version of the app to be displayed.\n */\n @Prop() version: string;\n\n componentWillLoad(): void {\n if (this.expanded) {\n this.setMenuExpanded(true);\n } else {\n this.setMenuExpanded(false);\n }\n\n if (this.collapsedIconLabels) {\n this.setCollapsedIconLabels();\n }\n\n this.hasSecondaryNavigation = isSlotUsed(this.el, \"secondary-navigation\");\n }\n\n componentDidLoad(): void {\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile: this.deviceSize === DEVICE_SIZES.S,\n });\n\n checkResizeObserver(this.runResizeObserver);\n this.styleSlottedCollapsedIconLabel();\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n this.setExpandedButtonHeight();\n\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.appTitle, propName: \"app-title\" }],\n \"Side Navigation\"\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n\n this.el.removeEventListener(\"transitionend\", this.transitionEndHandler);\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n private emitSideNavigationExpanded = (objDetails: {\n sideNavExpanded: boolean;\n sideNavMobile?: boolean;\n }): void => {\n const event = new CustomEvent(\"sideNavExpanded\", {\n detail: {\n sideNavExpanded: objDetails.sideNavExpanded,\n sideNavMobile: objDetails.sideNavMobile,\n },\n });\n this.el.dispatchEvent(event);\n };\n\n private toggleMenu = (): void => {\n this.menuOpen = !this.menuOpen;\n this.setMobileMenuAriaAttributes(this.menuOpen);\n\n this.arrangeSlottedNavigationItem(this.menuOpen);\n\n this.setToggleMenuFlyoutMenuVisibility(this.menuOpen);\n\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuOpen,\n sideNavMobile: true,\n });\n };\n\n private setToggleMenuFlyoutMenuVisibility = (menuOpen: boolean) => {\n const sideNav = this.el.shadowRoot.querySelector(\n \"#side-navigation\"\n ) as HTMLDivElement;\n const sideNavInner = sideNav.querySelector(\n \".side-navigation-inner\"\n ) as HTMLElement;\n const bottomWrapper = sideNav.querySelector(\n \".bottom-wrapper\"\n ) as HTMLElement;\n\n const menuVisibilityVisible = \"menu-visibility-visible\";\n\n if (menuOpen) {\n bottomWrapper.classList.add(menuVisibilityVisible);\n sideNavInner.classList.add(menuVisibilityVisible);\n } else {\n setTimeout(() => {\n sideNavInner.classList.remove(menuVisibilityVisible);\n bottomWrapper.classList.remove(menuVisibilityVisible);\n }, this.ANIMATION_DURATION);\n }\n };\n\n private setMobileMenuAriaAttributes = (menuOpen: boolean) => {\n const nativeButton = this.el.shadowRoot\n .querySelector(\"#menu-button\")\n .shadowRoot.querySelector(\"button\");\n\n if (menuOpen) {\n nativeButton.setAttribute(\"aria-expanded\", \"true\");\n nativeButton.setAttribute(\"aria-label\", \"Close navigation menu\");\n } else {\n nativeButton.setAttribute(\"aria-expanded\", \"false\");\n nativeButton.setAttribute(\"aria-label\", \"Open navigation menu\");\n }\n };\n\n private setAndRemoveNoWrapAfterMenuExpanded = () => {\n const appTitle = this.el.shadowRoot.querySelector(\n \".title-link ic-typography\"\n );\n\n appTitle.classList.add(\"ic-typography-no-wrap\");\n\n setTimeout(() => {\n appTitle.classList.remove(\"ic-typography-no-wrap\");\n }, this.ANIMATION_DURATION);\n };\n\n private toggleMenuExpanded = (): void => {\n this.menuExpanded = !this.menuExpanded;\n\n if (this.menuExpanded) {\n this.setAndRemoveNoWrapAfterMenuExpanded();\n }\n\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n if (this.collapsedIconLabels) {\n this.animateCollapsedIconLabels();\n }\n\n this.setExpandedButtonHeight();\n this.emitSideNavigationExpanded({ sideNavExpanded: this.menuExpanded });\n };\n\n /**\n * In order to style nested slotted elements (e.g. using React Router components), this method\n * rearranges the a tag and labels and adds inline styling expand/collaped animations as external CSS classes are not\n * do not take affect.\n * @param menuExpanded boolean - true or false depending on side navigation state\n */\n private arrangeSlottedNavigationItem = (menuExpanded?: boolean) => {\n const navItems = this.el.querySelectorAll(\"ic-navigation-item\");\n\n navItems.forEach((navItem) => {\n const hasUsedSlot = isSlotUsed(navItem, \"navigation-item\");\n\n if (hasUsedSlot) {\n const navItemSlot = navItem.querySelector(\"[slot='navigation-item']\");\n const iconWrapper = document.createElement(\"div\");\n const icon = navItemSlot.querySelector(\"svg\");\n const label = navItem.textContent.trim();\n const icTypography = document.createElement(\"ic-typography\");\n icTypography.classList.add(\n \"ic-typography-label\",\n \"hydrated\",\n \"navigation-item-side-nav-slotted-text\"\n );\n\n iconWrapper.style.height = \"var(--ic-space-lg)\";\n iconWrapper.append(icon);\n\n navItemSlot.textContent = \"\";\n\n icTypography.textContent = label;\n\n navItemSlot.append(iconWrapper);\n navItemSlot.append(icTypography);\n\n if (this.collapsedIconLabels) {\n this.styleSlottedCollapsedIconLabels(menuExpanded, icTypography);\n } else {\n this.styleSlottedIconLabels(menuExpanded, icTypography);\n }\n }\n });\n };\n\n private styleSlottedCollapsedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLIcTypographyElement\n ) => {\n if (menuExpanded) {\n icTypography.style.marginTop = \"0\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n } else {\n icTypography.style.marginTop = \"10px\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n }\n };\n\n private setExpandedButtonHeight = () => {\n const appStatusWrapper = this.el.shadowRoot.querySelector(\n \"#side-navigation > .bottom-wrapper > .bottom-side-nav > .app-status-wrapper\"\n ) as HTMLDivElement;\n\n if (appStatusWrapper.offsetHeight !== 0) {\n this.el.style.setProperty(\n \"--sm-side-navigation-bottom-bar-height\",\n `${appStatusWrapper.offsetHeight}px`\n );\n }\n };\n\n private styleSlottedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLSpanElement\n ) => {\n if (menuExpanded) {\n icTypography.style.opacity = \"1\";\n icTypography.style.visibility = \"visible\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n } else {\n icTypography.style.opacity = \"0\";\n icTypography.style.visibility = \"hidden\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n }\n };\n\n private transitionHandler = (type: string) => {\n const primaryNavigationWrapper = this.el.shadowRoot.querySelector(\n \".primary-navigation\"\n );\n\n const secondaryNavigationWrapper = this.el.shadowRoot.querySelector(\n \".bottom-wrapper > .secondary-navigation\"\n );\n\n const classToRemove =\n type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_END\n : this.COLLAPSED_ICON_LABELS_START;\n\n const classToAdd =\n type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_START\n : this.COLLAPSED_ICON_LABELS_END;\n\n if (primaryNavigationWrapper) {\n primaryNavigationWrapper.classList.remove(classToRemove);\n primaryNavigationWrapper.classList.add(classToAdd);\n }\n\n if (secondaryNavigationWrapper) {\n secondaryNavigationWrapper.classList.remove(classToRemove);\n secondaryNavigationWrapper.classList.add(classToAdd);\n }\n };\n\n private transitionEndHandler = () => {\n this.transitionHandler(\"end\");\n };\n\n private animateCollapsedIconLabels = () => {\n this.transitionHandler(\"start\");\n this.transitionEndHandler();\n\n this.el.addEventListener(\"transitionend\", this.transitionEndHandler);\n };\n\n private paddingIconWidth = (\n navItems: HTMLIcNavigationItemElement[]\n ): number => {\n const navItemLink =\n (navItems[0].shadowRoot &&\n (navItems[0].shadowRoot.querySelector(\"ic-tooltip a\") ||\n navItems[0].shadowRoot.querySelector(\"ic-tooltip div\"))) ||\n navItems[0].querySelector(\"a\") ||\n navItems[0].querySelector(\"div\");\n const navItemSVG = navItems[0].querySelector(\"svg\");\n\n const navStyles = {\n gap: window.getComputedStyle(navItemLink).gap,\n iconWidth: window.getComputedStyle(navItemSVG).width,\n paddingLeft: window.getComputedStyle(navItemLink).paddingLeft,\n };\n\n return Object.values(navStyles).reduce((prev, curr) => {\n return (prev += parseInt(curr));\n }, 0);\n };\n\n private displayTooltipWithExpandedLongLabel = (menuExpanded: boolean) => {\n let timer;\n\n if (menuExpanded) {\n timer = setTimeout(() => {\n const sideNavWidth = this.el.clientWidth;\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n\n const paddingIconDelta = navigationItems.length\n ? this.paddingIconWidth(navigationItems)\n : 0;\n\n navigationItems.forEach(\n (navigationItem: HTMLIcNavigationItemElement) => {\n const icTypographyScrollWidth =\n (\n navigationItem.shadowRoot &&\n navigationItem.shadowRoot.querySelector(\n \"ic-tooltip .link ic-typography.ic-typography-label\"\n )\n )?.scrollWidth ||\n navigationItem.querySelector(\"ic-typography.ic-typography-label\")\n ?.scrollWidth;\n\n if (icTypographyScrollWidth > sideNavWidth - paddingIconDelta) {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"true\");\n }\n }\n );\n }, this.ANIMATION_DURATION);\n } else {\n clearTimeout(timer);\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"false\");\n });\n }\n };\n\n private setMenuExpanded = (expanded: boolean): void => {\n this.menuExpanded = expanded;\n };\n\n /**\n * As the mobile top bar is fixed, a padding top is required\n * to push main content down the height of the mobile top bar\n * @param value - padding-top css value\n */\n private setParentPaddingTop = (value: string) => {\n this.el.parentElement.style.setProperty(\"padding-top\", value);\n };\n\n private setParentPaddingLeft = (value: string) => {\n this.el.parentElement.style.setProperty(\"padding-left\", value);\n };\n\n private renderAppTitle = (isAppNameSubtitleVariant: boolean) => {\n const displayShortAppTitle =\n this.deviceSize <= DEVICE_SIZES.S && !isEmptyString(this.shortAppTitle);\n return (\n <ic-typography\n variant={\n displayShortAppTitle || isAppNameSubtitleVariant\n ? \"subtitle-small\"\n : \"h3\"\n }\n aria-label={\n displayShortAppTitle\n ? `${this.appTitle} (${this.shortAppTitle})`\n : undefined\n }\n >\n <h1>{displayShortAppTitle ? this.shortAppTitle : this.appTitle}</h1>\n </ic-typography>\n );\n };\n\n private resizeObserverCallback = (currSize: number) => {\n this.deviceSize = currSize;\n\n if (currSize === DEVICE_SIZES.S) {\n if (!this.disableAutoParentStyling) {\n const topBarHeight =\n this.el.shadowRoot.querySelector(\".top-bar\").scrollHeight;\n this.setParentPaddingTop(`${topBarHeight}px`);\n this.setParentPaddingLeft(\"0\");\n\n if (this.inline) {\n this.el.parentElement.style.setProperty(\n \"height\",\n `calc(100% - ${topBarHeight}px)`\n );\n }\n }\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile: true,\n });\n } else {\n if (!this.disableAutoParentStyling) {\n this.setParentPaddingTop(\"0\");\n this.el.parentElement.style.setProperty(\"height\", \"100%\");\n }\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile: false,\n });\n }\n\n let paddingLeft;\n\n if (this.collapsedIconLabels) {\n paddingLeft = \"calc(var(--ic-space-xxl) * 2)\";\n } else {\n paddingLeft = \"calc(var(--ic-space-xxl) + var(--ic-space-xs))\";\n }\n\n if (currSize > DEVICE_SIZES.L) {\n if (!this.disableAutoParentStyling) {\n this.setParentPaddingTop(\"0\");\n this.setParentPaddingLeft(\"0\");\n }\n } else if (\n currSize > DEVICE_SIZES.S &&\n currSize <= DEVICE_SIZES.M &&\n this.static &&\n !this.disableAutoParentStyling\n ) {\n this.setParentPaddingLeft(paddingLeft);\n } else if (\n currSize > DEVICE_SIZES.S &&\n currSize <= DEVICE_SIZES.L &&\n !this.disableAutoParentStyling\n ) {\n if (this.static && this.menuExpanded) {\n this.setParentPaddingLeft(\"calc(var(--ic-space-xl) * 10)\");\n } else {\n this.setParentPaddingLeft(paddingLeft);\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.deviceSizeAppTitle = currSize;\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(document.body, { box: \"content-box\" });\n };\n\n private setCollapsedIconLabels = () => {\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"collapsed-icon-label\", \"true\");\n });\n };\n\n private styleSlottedCollapsedIconLabel = () => {\n const dynamicSlottedIcTypographyComps: HTMLIcTypographyElement[] =\n Array.from(\n this.el.querySelectorAll(\".navigation-item-side-nav-slotted-text\")\n );\n\n dynamicSlottedIcTypographyComps.forEach((icTypography) => {\n if (\n icTypography?.parentElement?.parentElement?.classList.contains(\n \"navigation-item-side-nav-collapsed-with-label\"\n )\n ) {\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n icTypography.style.marginTop = \"10px\";\n }\n });\n };\n\n private renderTopBar = ({\n isSDevice,\n foregroundColor,\n menuOpen,\n href,\n isAppNameSubtitleVariant,\n }: IcTopBar) => {\n const hasTitle = this.appTitle !== \"\" && this.appTitle !== undefined;\n\n const Component = isSlotUsed(this.el, \"app-title\") ? \"div\" : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n };\n\n return (\n <div\n class={{\n \"top-bar\": true,\n [this.foregroundColor]: true,\n }}\n >\n {isSDevice && (\n <nav\n aria-labelledby=\"menu-navigation-toggle-button-landmark\"\n aria-hidden=\"false\"\n >\n <ic-button\n aria-label=\"Open navigation menu\"\n class=\"menu-button\"\n id=\"menu-button\"\n variant=\"secondary\"\n size=\"small\"\n full-width=\"true\"\n appearance={foregroundColor}\n onClick={this.toggleMenu}\n aria-owns=\"side-navigation\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <span\n class=\"mobile-top-bar-menu-icon\"\n slot=\"icon\"\n innerHTML={menuOpen ? closeIcon : menuIcon}\n ></span>\n {menuOpen ? \"Close\" : \"Menu\"}\n </ic-button>\n <span\n id=\"menu-navigation-toggle-button-landmark\"\n class=\"navigation-landmark-title\"\n aria-hidden=\"true\"\n >\n Navigation menu toggle button\n </span>\n </nav>\n )}\n <div class=\"app-title-wrapper\">\n {(hasTitle || isSlotUsed(this.el, \"app-title\")) && (\n <Component {...attrs} class=\"title-link\">\n <div class=\"app-icon-container\" aria-hidden=\"true\">\n <slot name=\"app-icon\"></slot>\n </div>\n {isSlotUsed(this.el, \"app-title\") ? (\n <slot name=\"app-title\"></slot>\n ) : (\n this.renderAppTitle(isAppNameSubtitleVariant)\n )}\n </Component>\n )}\n </div>\n </div>\n );\n };\n\n render() {\n const {\n appTitle,\n menuOpen,\n foregroundColor,\n menuExpanded,\n href,\n status,\n version,\n collapsedIconLabels,\n inline,\n } = this;\n\n const isSDevice = this.deviceSize === DEVICE_SIZES.S;\n const isMdDevice = this.deviceSize === DEVICE_SIZES.M;\n const isLgDevice = this.deviceSize >= DEVICE_SIZES.L;\n const isAppNameSubtitleVariant = this.deviceSizeAppTitle === DEVICE_SIZES.S;\n const displayExpandBtn = isMdDevice || (isLgDevice && !this.static);\n\n const topBarProps: IcTopBar = {\n isSDevice,\n foregroundColor,\n menuOpen,\n href,\n isAppNameSubtitleVariant,\n appTitle,\n };\n\n return (\n <Host\n class={{\n \"xs-menu-open\": menuOpen && isSDevice,\n \"xs-menu-close\": !menuOpen && isSDevice,\n \"sm-collapsed\": !isSDevice && !menuExpanded,\n \"sm-expanded\": !isSDevice && menuExpanded,\n [IcThemeForegroundEnum.Dark]:\n foregroundColor === IcThemeForegroundEnum.Dark,\n [\"collapsed-labels\"]:\n !isSDevice && !menuExpanded && collapsedIconLabels,\n [\"inline\"]: inline,\n }}\n >\n {isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation\" id=\"side-navigation\">\n {!isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation-inner\">\n {isSlotUsed(this.el, \"primary-navigation\") && (\n <nav\n class=\"primary-navigation\"\n aria-labelledby=\"primary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"primary-navigation-landmark\"\n >\n Primary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"primary-navigation\"></slot>\n </ul>\n </nav>\n )}\n </div>\n <div\n class={{\n [\"bottom-wrapper\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n }}\n >\n {isSlotUsed(this.el, \"secondary-navigation\") && (\n <nav\n class=\"secondary-navigation\"\n aria-labelledby=\"secondary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"secondary-navigation-landmark\"\n >\n Secondary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"secondary-navigation\"></slot>\n </ul>\n </nav>\n )}\n <div class=\"bottom-side-nav\">\n {this.hasSecondaryNavigation && <ic-divider></ic-divider>}\n {displayExpandBtn && (\n <button\n class=\"menu-expand-button\"\n innerHTML={chevronIcon}\n onClick={this.toggleMenuExpanded}\n aria-label={`${\n menuExpanded ? \"Collapse\" : \"Expand\"\n } side navigation`}\n ></button>\n )}\n <div class=\"app-status-wrapper\">\n {status !== \"\" && (\n <div\n class={{\n [\"app-status\"]: true,\n }}\n >\n <ic-typography\n aria-label=\"app tag\"\n variant=\"label-uppercase\"\n class=\"app-status-text\"\n >\n {status}\n </ic-typography>\n </div>\n )}\n {version !== \"\" && (\n <ic-typography\n variant=\"label\"\n class=\"app-version\"\n aria-label=\"app version\"\n >\n {version}\n </ic-typography>\n )}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -4,6 +4,7 @@ const MOBILE_VIEWPORT = {
|
|
|
4
4
|
width: 375,
|
|
5
5
|
height: 667,
|
|
6
6
|
};
|
|
7
|
+
const pageHeight = 600;
|
|
7
8
|
const ANIMATION_MS_THRESHOLD = 300;
|
|
8
9
|
describe("ic-side-navigation", () => {
|
|
9
10
|
describe("mobile", () => {
|
|
@@ -249,6 +250,25 @@ describe("ic-side-navigation", () => {
|
|
|
249
250
|
});
|
|
250
251
|
expect(applicationNameOpacity).toBe("1");
|
|
251
252
|
});
|
|
253
|
+
it("should toggle to short title at small screen sizes", async () => {
|
|
254
|
+
const page = await newE2EPage();
|
|
255
|
+
await page.setContent(`<ic-side-navigation app-title="ApplicationName" short-app-title="AppName">
|
|
256
|
+
</ic-side-navigation>`);
|
|
257
|
+
await page.setViewport({
|
|
258
|
+
width: 576,
|
|
259
|
+
height: pageHeight,
|
|
260
|
+
});
|
|
261
|
+
await page.waitForChanges();
|
|
262
|
+
let appTitle = await page.find("ic-side-navigation >>> .title-link ic-typography");
|
|
263
|
+
expect(appTitle.textContent).toBe("AppName");
|
|
264
|
+
await page.setViewport({
|
|
265
|
+
width: 1200,
|
|
266
|
+
height: pageHeight,
|
|
267
|
+
});
|
|
268
|
+
await page.waitForChanges();
|
|
269
|
+
appTitle = await page.find("ic-side-navigation >>> .title-link ic-typography");
|
|
270
|
+
expect(appTitle.textContent).toBe("ApplicationName");
|
|
271
|
+
});
|
|
252
272
|
it("collapse group nav items in collapsed side menu", async () => {
|
|
253
273
|
const page = await newE2EPage();
|
|
254
274
|
await page.setContent(icSideNavigationGroupedNav);
|
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} from \"./ic-side-navigation-test-examples\";\n\nconst MOBILE_VIEWPORT = {\n width: 375,\n height: 667,\n};\n\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) =>\n i.shadowRoot.querySelector(\".ic-tooltip\").textContent.slice(2)\n );\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(\"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});\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} 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) =>\n i.shadowRoot.querySelector(\".ic-tooltip\").textContent.slice(2)\n );\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});\n"]}
|
|
@@ -467,7 +467,7 @@ video {
|
|
|
467
467
|
}
|
|
468
468
|
|
|
469
469
|
.filled-warning {
|
|
470
|
-
background-color: var(--ic-status-warning);
|
|
470
|
+
background-color: var(--ic-status-warning-contrast);
|
|
471
471
|
}
|
|
472
472
|
|
|
473
473
|
.filled-danger {
|
|
@@ -481,17 +481,17 @@ video {
|
|
|
481
481
|
}
|
|
482
482
|
|
|
483
483
|
.outlined-success {
|
|
484
|
-
background-color: var(--ic-status-success-
|
|
484
|
+
background-color: var(--ic-status-success-light);
|
|
485
485
|
border: var(--ic-space-1px) solid var(--ic-status-success);
|
|
486
486
|
}
|
|
487
487
|
|
|
488
488
|
.outlined-warning {
|
|
489
|
-
background-color: var(--ic-status-warning-
|
|
489
|
+
background-color: var(--ic-status-warning-light);
|
|
490
490
|
border: var(--ic-space-1px) solid var(--ic-status-warning-dark);
|
|
491
491
|
}
|
|
492
492
|
|
|
493
493
|
.outlined-danger {
|
|
494
|
-
background-color: var(--ic-status-error-
|
|
494
|
+
background-color: var(--ic-status-error-light);
|
|
495
495
|
border: var(--ic-space-1px) solid var(--ic-status-error);
|
|
496
496
|
}
|
|
497
497
|
|
|
@@ -488,7 +488,7 @@ video {
|
|
|
488
488
|
}
|
|
489
489
|
|
|
490
490
|
.divider-neutral {
|
|
491
|
-
background-color: var(--ic-
|
|
491
|
+
background-color: var(--ic-status-unknown);
|
|
492
492
|
}
|
|
493
493
|
|
|
494
494
|
.divider-info {
|
|
@@ -516,7 +516,7 @@ video {
|
|
|
516
516
|
|
|
517
517
|
:host([variant="neutral"]) .toast-icon svg,
|
|
518
518
|
::slotted(svg) {
|
|
519
|
-
fill: var(--ic-
|
|
519
|
+
fill: var(--ic-status-unknown);
|
|
520
520
|
}
|
|
521
521
|
|
|
522
522
|
:host([variant="info"]) .toast-icon svg {
|
|
@@ -507,6 +507,7 @@ video {
|
|
|
507
507
|
left: 0;
|
|
508
508
|
top: var(--ic-space-xxxs);
|
|
509
509
|
border-top: 0;
|
|
510
|
+
transform: translateX(var(--tooltip-arrow-translate));
|
|
510
511
|
}
|
|
511
512
|
|
|
512
513
|
:host(.ic-tooltip)
|
|
@@ -523,6 +524,7 @@ video {
|
|
|
523
524
|
left: 0;
|
|
524
525
|
top: var(--ic-space-1px);
|
|
525
526
|
border-bottom: 0;
|
|
527
|
+
transform: translateX(var(--tooltip-arrow-translate));
|
|
526
528
|
}
|
|
527
529
|
|
|
528
530
|
:host(.ic-tooltip)
|
|
@@ -555,6 +557,13 @@ video {
|
|
|
555
557
|
top: calc(-1 * var(--ic-space-1px));
|
|
556
558
|
}
|
|
557
559
|
|
|
560
|
+
:host(.on-dialog) .ic-tooltip-container {
|
|
561
|
+
transform: translate(
|
|
562
|
+
var(--tooltip-translate-x),
|
|
563
|
+
var(--tooltip-translate-y)
|
|
564
|
+
) !important;
|
|
565
|
+
}
|
|
566
|
+
|
|
558
567
|
@media (forced-colors: active) {
|
|
559
568
|
:host(.ic-tooltip) .ic-tooltip-container,
|
|
560
569
|
:host(.ic-tooltip) .ic-tooltip-arrow::before {
|