@ukic/web-components 2.2.0 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/{OpenInNew-f9958725.js → OpenInNew-d5d30e77.js} +1 -1
- package/dist/cjs/OpenInNew-d5d30e77.js.map +1 -0
- package/dist/cjs/{check-icon-b2f60716.js → check-icon-7225d79b.js} +1 -1
- package/dist/cjs/check-icon-7225d79b.js.map +1 -0
- package/dist/cjs/{chevron-icon-2bb3a907.js → chevron-icon-3bf07531.js} +1 -1
- package/dist/cjs/chevron-icon-3bf07531.js.map +1 -0
- package/dist/cjs/{close-icon-8ccb0163.js → close-icon-7f6ef8e4.js} +2 -2
- package/dist/cjs/close-icon-7f6ef8e4.js.map +1 -0
- package/dist/cjs/core.cjs.js +3 -6
- package/dist/cjs/core.cjs.js.map +1 -1
- package/dist/cjs/{helpers-eb53c416.js → helpers-d166f875.js} +43 -21
- package/dist/cjs/helpers-d166f875.js.map +1 -0
- package/dist/cjs/ic-alert.cjs.entry.js +5 -5
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +3 -3
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +4 -4
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +131 -41
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +4 -4
- package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -4
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +11 -5
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +3 -3
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +5 -5
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +3 -3
- package/dist/cjs/ic-divider.cjs.entry.js.map +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 +3 -3
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +4 -4
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +7 -4
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +3 -3
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +3 -3
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +43 -37
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +4 -4
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +4 -4
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +5 -5
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +5 -5
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +33 -15
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +8 -9
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +3 -3
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +3 -3
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination-item.cjs.entry.js +3 -3
- package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination.cjs.entry.js +3 -3
- package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +68 -16
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +3 -3
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +38 -21
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
- package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +71 -17
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +18 -9
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +4 -4
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +2 -2
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +4 -4
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +3 -3
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +3 -3
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +3 -3
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +5 -5
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +4 -4
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +13 -5
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-2a0c6769.js → index-54d2bed9.js} +102 -26
- package/dist/cjs/index-54d2bed9.js.map +1 -0
- package/dist/cjs/loader.cjs.js +3 -12
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/{popper-d7adcfc6.js → popper-31badbf8.js} +1 -1
- package/dist/cjs/popper-31badbf8.js.map +1 -0
- package/dist/cjs/{types-3eb02246.js → types-7d67439f.js} +1 -1
- package/dist/cjs/types-7d67439f.js.map +1 -0
- 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 +61 -60
- package/dist/collection/components/ic-alert/ic-alert.css +9 -9
- package/dist/collection/components/ic-alert/ic-alert.js +3 -2
- package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +5 -1
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.css +19 -3
- package/dist/collection/components/ic-button/ic-button.js +40 -15
- 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-card/ic-card.js +4 -2
- package/dist/collection/components/ic-card/ic-card.js.map +1 -1
- package/dist/collection/components/ic-checkbox/ic-checkbox.css +34 -0
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +41 -6
- package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +35 -5
- 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 +8 -5
- 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-classification-banner/ic-classification-banner.js +2 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
- package/dist/collection/components/ic-dialog/ic-dialog.js +14 -5
- 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 +160 -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 +8 -3
- package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
- package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -1
- package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
- package/dist/collection/components/ic-hero/ic-hero.js +4 -2
- package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +4 -2
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +2 -1
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
- package/dist/collection/components/ic-input-validation/ic-input-validation.css +1 -1
- package/dist/collection/components/ic-input-validation/ic-input-validation.js +4 -2
- package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
- package/dist/collection/components/ic-link/ic-link.js +6 -3
- package/dist/collection/components/ic-link/ic-link.js.map +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +6 -3
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
- package/dist/collection/components/ic-menu/ic-menu.css +17 -0
- package/dist/collection/components/ic-menu/ic-menu.js +107 -48
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +13 -2
- package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
- package/dist/collection/components/ic-menu-item/ic-menu-item.js +4 -2
- package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +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 +5 -3
- 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 +30 -11
- 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 +6 -5
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
- package/dist/collection/components/ic-page-header/ic-page-header.js +2 -1
- package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
- package/dist/collection/components/ic-pagination/ic-pagination.js +8 -4
- package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
- package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +4 -2
- package/dist/collection/components/ic-pagination-item/ic-pagination-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 +69 -14
- 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-radio-group/ic-radio-group.js +6 -3
- package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +8 -4
- package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +103 -34
- 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-section-container/ic-section-container.js +2 -1
- package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
- package/dist/collection/components/ic-select/ic-select.js +85 -22
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +30 -0
- package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -1
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +51 -3
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.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-skeleton/ic-skeleton.js +2 -1
- package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.css +4 -4
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +4 -2
- package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
- package/dist/collection/components/ic-step/ic-step.js +8 -4
- package/dist/collection/components/ic-step/ic-step.js.map +1 -1
- package/dist/collection/components/ic-stepper/ic-stepper.js +4 -2
- package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
- package/dist/collection/components/ic-switch/ic-switch.css +1 -1
- package/dist/collection/components/ic-switch/ic-switch.js +4 -2
- package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
- package/dist/collection/components/ic-tab/ic-tab.js +10 -5
- package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +10 -5
- package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
- package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -1
- package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +4 -2
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.js +26 -13
- package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
- package/dist/collection/components/ic-theme/ic-theme.js +2 -1
- package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
- package/dist/collection/components/ic-toast/ic-toast.css +2 -2
- package/dist/collection/components/ic-toast/ic-toast.js +8 -4
- package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
- package/dist/collection/components/ic-toast-region/ic-toast-region.js +4 -2
- package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.css +9 -0
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +112 -35
- 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 +3 -2
- 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 +83 -2
- 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/helpers.js +25 -8
- package/dist/collection/utils/helpers.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 +41 -19
- 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-back-to-top.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js.map +1 -1
- package/dist/components/ic-breadcrumb2.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-card.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-classification-banner.js.map +1 -1
- package/dist/components/ic-data-entity.js.map +1 -1
- package/dist/components/ic-data-row.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-divider2.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-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-footer.js +4 -1
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-container2.js.map +1 -1
- package/dist/components/ic-input-label2.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-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js.map +1 -1
- package/dist/components/ic-menu-group.js.map +1 -1
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu2.js +40 -32
- package/dist/components/ic-menu2.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-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination.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-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +37 -18
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-section-container2.js.map +1 -1
- package/dist/components/ic-select.js +69 -14
- package/dist/components/ic-select.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-skeleton.js.map +1 -1
- package/dist/components/ic-status-tag.js +1 -1
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +1 -1
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-group.js.map +1 -1
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-toast-region.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/index.d.ts +6 -0
- package/dist/components/index.js +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-7ae091ef.entry.js → p-0dcc76b1.entry.js} +2 -2
- package/dist/core/p-0dcc76b1.entry.js.map +1 -0
- package/dist/core/p-101bce17.entry.js +2 -0
- package/dist/core/p-101bce17.entry.js.map +1 -0
- package/dist/core/p-16e8bb5a.entry.js +2 -0
- package/dist/core/p-16e8bb5a.entry.js.map +1 -0
- package/dist/core/p-18068237.js +3 -0
- package/dist/core/p-18068237.js.map +1 -0
- package/dist/core/p-1c54269e.entry.js +2 -0
- package/dist/core/p-1c54269e.entry.js.map +1 -0
- package/dist/core/{p-8991f656.entry.js → p-27897d29.entry.js} +2 -2
- package/dist/core/p-27897d29.entry.js.map +1 -0
- package/dist/core/{p-27d42378.entry.js → p-27bf4783.entry.js} +2 -2
- package/dist/core/p-27bf4783.entry.js.map +1 -0
- package/dist/core/{p-7536dd31.entry.js → p-3297713b.entry.js} +2 -2
- package/dist/core/p-3297713b.entry.js.map +1 -0
- package/dist/core/{p-06321d19.js → p-3b185c32.js} +1 -1
- package/dist/core/{p-429e4d24.entry.js → p-3fc638fc.entry.js} +2 -2
- package/dist/core/p-3fc638fc.entry.js.map +1 -0
- package/dist/core/p-414ff132.entry.js +2 -0
- package/dist/core/p-414ff132.entry.js.map +1 -0
- package/dist/core/{p-8d4f7027.js → p-426ec638.js} +1 -1
- package/dist/core/{p-1b9b8355.entry.js → p-433cfd47.entry.js} +2 -2
- package/dist/core/p-433cfd47.entry.js.map +1 -0
- package/dist/core/{p-90d3a41b.entry.js → p-455bfed1.entry.js} +2 -2
- package/dist/core/p-455bfed1.entry.js.map +1 -0
- package/dist/core/{p-5c9c940f.entry.js → p-4c4261e7.entry.js} +2 -2
- package/dist/core/p-4c4261e7.entry.js.map +1 -0
- package/dist/core/{p-8c45ab61.entry.js → p-4f7c20b3.entry.js} +2 -2
- package/dist/core/p-4f7c20b3.entry.js.map +1 -0
- package/dist/core/p-521c8f40.entry.js +2 -0
- package/dist/core/p-521c8f40.entry.js.map +1 -0
- package/dist/core/{p-041604fc.entry.js → p-5b8be53f.entry.js} +2 -2
- package/dist/core/p-5b8be53f.entry.js.map +1 -0
- package/dist/core/{p-f923d11b.entry.js → p-5fcbcc3f.entry.js} +2 -2
- package/dist/core/p-5fcbcc3f.entry.js.map +1 -0
- package/dist/core/{p-3adb1167.entry.js → p-607e7bf2.entry.js} +2 -2
- package/dist/core/p-607e7bf2.entry.js.map +1 -0
- package/dist/core/{p-6f57b13c.js → p-613aa265.js} +1 -1
- package/dist/core/p-613aa265.js.map +1 -0
- package/dist/core/p-62499150.entry.js +2 -0
- package/dist/core/p-62499150.entry.js.map +1 -0
- package/dist/core/{p-cef93d12.entry.js → p-630ae754.entry.js} +2 -2
- package/dist/core/p-630ae754.entry.js.map +1 -0
- package/dist/core/{p-5c846d0a.entry.js → p-65df7222.entry.js} +2 -2
- package/dist/core/p-65df7222.entry.js.map +1 -0
- package/dist/core/{p-8ca80000.entry.js → p-6781620e.entry.js} +2 -2
- package/dist/core/p-6781620e.entry.js.map +1 -0
- package/dist/core/p-67c18f72.entry.js +2 -0
- package/dist/core/p-67c18f72.entry.js.map +1 -0
- package/dist/core/{p-7c0dcd00.js → p-68a5aaff.js} +1 -1
- package/dist/core/p-68a5aaff.js.map +1 -0
- package/dist/core/{p-95992c98.entry.js → p-68fda79a.entry.js} +2 -2
- package/dist/core/p-68fda79a.entry.js.map +1 -0
- package/dist/core/{p-892d9d9f.entry.js → p-7194c255.entry.js} +2 -2
- package/dist/core/p-7194c255.entry.js.map +1 -0
- package/dist/core/p-77266738.entry.js +2 -0
- package/dist/core/p-77266738.entry.js.map +1 -0
- package/dist/core/{p-d2215b72.entry.js → p-7be2b1fd.entry.js} +2 -2
- package/dist/core/p-7be2b1fd.entry.js.map +1 -0
- package/dist/core/p-831b0f3f.entry.js +2 -0
- package/dist/core/p-831b0f3f.entry.js.map +1 -0
- package/dist/core/{p-2ae7687a.entry.js → p-83e535de.entry.js} +2 -2
- package/dist/core/p-83e535de.entry.js.map +1 -0
- package/dist/core/{p-441e7d98.entry.js → p-85dd5e5b.entry.js} +2 -2
- package/dist/core/p-85dd5e5b.entry.js.map +1 -0
- package/dist/core/{p-ce791694.entry.js → p-87149cbd.entry.js} +2 -2
- package/dist/core/p-87149cbd.entry.js.map +1 -0
- package/dist/core/{p-9e551fe9.entry.js → p-8e6169e0.entry.js} +2 -2
- package/dist/core/p-8e6169e0.entry.js.map +1 -0
- package/dist/core/{p-ca6d834e.entry.js → p-9248228e.entry.js} +2 -2
- package/dist/core/p-9248228e.entry.js.map +1 -0
- package/dist/core/{p-f665242d.entry.js → p-932a67ca.entry.js} +2 -2
- package/dist/core/p-932a67ca.entry.js.map +1 -0
- package/dist/core/p-937ecd5b.entry.js +2 -0
- package/dist/core/p-937ecd5b.entry.js.map +1 -0
- package/dist/core/{p-5144e840.entry.js → p-94903a21.entry.js} +2 -2
- package/dist/core/p-94903a21.entry.js.map +1 -0
- package/dist/core/p-96022913.entry.js +2 -0
- package/dist/core/p-96022913.entry.js.map +1 -0
- package/dist/core/{p-65750560.entry.js → p-9650e00e.entry.js} +2 -2
- package/dist/core/p-9650e00e.entry.js.map +1 -0
- package/dist/core/{p-a8b94619.entry.js → p-99741b0f.entry.js} +2 -2
- package/dist/core/p-99741b0f.entry.js.map +1 -0
- package/dist/core/{p-1959ec8d.entry.js → p-a0a02a13.entry.js} +2 -2
- package/dist/core/p-a0a02a13.entry.js.map +1 -0
- package/dist/core/{p-cbbf4b05.entry.js → p-a421d3a1.entry.js} +2 -2
- package/dist/core/p-a421d3a1.entry.js.map +1 -0
- package/dist/core/{p-c012b867.entry.js → p-b0b1de0e.entry.js} +2 -2
- package/dist/core/p-b0b1de0e.entry.js.map +1 -0
- package/dist/core/p-b82776d0.entry.js +2 -0
- package/dist/core/p-b82776d0.entry.js.map +1 -0
- package/dist/core/{p-6840589f.entry.js → p-c1859843.entry.js} +2 -2
- package/dist/core/p-c1859843.entry.js.map +1 -0
- package/dist/core/{p-8c7f4343.js → p-c2e091d7.js} +1 -1
- package/dist/core/{p-332690f0.entry.js → p-c31e6dbb.entry.js} +2 -2
- package/dist/core/p-c31e6dbb.entry.js.map +1 -0
- package/dist/core/{p-96bcd466.entry.js → p-c390fbad.entry.js} +2 -2
- package/dist/core/p-c390fbad.entry.js.map +1 -0
- package/dist/core/p-cb2c18de.entry.js +2 -0
- package/dist/core/p-cb2c18de.entry.js.map +1 -0
- package/dist/core/{p-6bad30aa.entry.js → p-d16100e8.entry.js} +2 -2
- package/dist/core/p-d16100e8.entry.js.map +1 -0
- package/dist/core/{p-b698b8ad.entry.js → p-d20917ae.entry.js} +2 -2
- package/dist/core/p-d20917ae.entry.js.map +1 -0
- package/dist/core/{p-a29fe0c6.entry.js → p-d65ace31.entry.js} +2 -2
- package/dist/core/p-d65ace31.entry.js.map +1 -0
- package/dist/core/p-d78c90fe.entry.js +2 -0
- package/dist/core/p-d78c90fe.entry.js.map +1 -0
- package/dist/core/{p-adceb0cf.entry.js → p-e2d0039d.entry.js} +2 -2
- package/dist/core/p-e2d0039d.entry.js.map +1 -0
- package/dist/core/{p-a588886f.entry.js → p-e3923b67.entry.js} +2 -2
- package/dist/core/p-e3923b67.entry.js.map +1 -0
- package/dist/core/{p-f7695299.entry.js → p-ebd60291.entry.js} +2 -2
- package/dist/core/p-ebd60291.entry.js.map +1 -0
- package/dist/core/p-ebe76390.js +2 -0
- package/dist/core/p-ebe76390.js.map +1 -0
- package/dist/core/p-f074ef5b.js +2 -0
- package/dist/core/{p-ee11e185.entry.js → p-fedcfea3.entry.js} +2 -2
- package/dist/core/p-fedcfea3.entry.js.map +1 -0
- package/dist/esm/{OpenInNew-67a881e0.js → OpenInNew-cdeed5ce.js} +1 -1
- package/dist/esm/OpenInNew-cdeed5ce.js.map +1 -0
- package/dist/esm/{check-icon-abb210ec.js → check-icon-4a9f8371.js} +1 -1
- package/dist/esm/check-icon-4a9f8371.js.map +1 -0
- package/dist/esm/{chevron-icon-7927f709.js → chevron-icon-589e3b46.js} +1 -1
- package/dist/esm/chevron-icon-589e3b46.js.map +1 -0
- package/dist/esm/{close-icon-2f02b42a.js → close-icon-539ec8d1.js} +2 -2
- package/dist/esm/close-icon-539ec8d1.js.map +1 -0
- package/dist/esm/core.js +4 -7
- package/dist/esm/core.js.map +1 -1
- package/dist/esm/{helpers-85903813.js → helpers-b0e80358.js} +44 -22
- package/dist/esm/helpers-b0e80358.js.map +1 -0
- package/dist/esm/ic-alert.entry.js +5 -5
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +3 -3
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
- package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +4 -4
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +131 -41
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +4 -4
- package/dist/esm/ic-card.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +5 -4
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +11 -5
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +3 -3
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +1 -1
- package/dist/esm/ic-classification-banner.entry.js.map +1 -1
- package/dist/esm/ic-data-entity.entry.js +1 -1
- package/dist/esm/ic-data-entity.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +3 -3
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +5 -5
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +3 -3
- package/dist/esm/ic-divider.entry.js.map +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 +3 -3
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +4 -4
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +7 -4
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +3 -3
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +3 -3
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +43 -37
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +4 -4
- package/dist/esm/ic-input-label_2.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +4 -4
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-group.entry.js.map +1 -1
- package/dist/esm/ic-menu-item.entry.js +5 -5
- package/dist/esm/ic-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +5 -5
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +33 -15
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +8 -9
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +3 -3
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +3 -3
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-pagination-item.entry.js +3 -3
- package/dist/esm/ic-pagination-item.entry.js.map +1 -1
- package/dist/esm/ic-pagination.entry.js +3 -3
- package/dist/esm/ic-pagination.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +68 -16
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +3 -3
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +3 -3
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +38 -21
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-section-container.entry.js +1 -1
- package/dist/esm/ic-section-container.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +71 -17
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +18 -9
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +1 -1
- package/dist/esm/ic-skeleton.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +4 -4
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +2 -2
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +3 -3
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +4 -4
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +2 -2
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +3 -3
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +2 -2
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +3 -3
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +3 -3
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +3 -3
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-toast-region.entry.js +1 -1
- package/dist/esm/ic-toast-region.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +5 -5
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +4 -4
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +13 -5
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/{index-fd30b77e.js → index-14c9f375.js} +102 -26
- package/dist/esm/index-14c9f375.js.map +1 -0
- package/dist/esm/loader.js +4 -13
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/{popper-15e448b4.js → popper-0fbeff6d.js} +1 -1
- package/dist/esm/popper-0fbeff6d.js.map +1 -0
- package/dist/esm/{types-dd515332.js → types-b2398b37.js} +1 -1
- package/dist/esm/types-b2398b37.js.map +1 -0
- package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
- package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +3 -3
- 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-dialog/ic-dialog.d.ts +5 -5
- 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-menu/ic-menu.d.ts +8 -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-search-bar/ic-search-bar.d.ts +8 -0
- package/dist/types/components/ic-select/ic-select.d.ts +14 -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 +167 -16
- package/dist/types/stencil-public-runtime.d.ts +17 -5
- package/dist/types/utils/helpers.d.ts +2 -2
- package/dist/types/utils/types.d.ts +12 -2
- package/hydrate/index.d.ts +6 -6
- package/hydrate/index.js +626 -263
- package/loader/index.d.ts +1 -1
- package/package.json +5 -6
- package/dist/cjs/OpenInNew-f9958725.js.map +0 -1
- package/dist/cjs/check-icon-b2f60716.js.map +0 -1
- package/dist/cjs/chevron-icon-2bb3a907.js.map +0 -1
- package/dist/cjs/close-icon-8ccb0163.js.map +0 -1
- package/dist/cjs/helpers-eb53c416.js.map +0 -1
- package/dist/cjs/index-2a0c6769.js.map +0 -1
- package/dist/cjs/popper-d7adcfc6.js.map +0 -1
- package/dist/cjs/types-3eb02246.js.map +0 -1
- package/dist/core/p-0330cb21.entry.js +0 -2
- package/dist/core/p-0330cb21.entry.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-041604fc.entry.js.map +0 -1
- package/dist/core/p-1959ec8d.entry.js.map +0 -1
- package/dist/core/p-1b9b8355.entry.js.map +0 -1
- package/dist/core/p-26d5fd0f.entry.js +0 -2
- package/dist/core/p-26d5fd0f.entry.js.map +0 -1
- package/dist/core/p-27d42378.entry.js.map +0 -1
- package/dist/core/p-2ae7687a.entry.js.map +0 -1
- package/dist/core/p-332690f0.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-3adb1167.entry.js.map +0 -1
- package/dist/core/p-429e4d24.entry.js.map +0 -1
- package/dist/core/p-441e7d98.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-5144e840.entry.js.map +0 -1
- package/dist/core/p-5c846d0a.entry.js.map +0 -1
- package/dist/core/p-5c9c940f.entry.js.map +0 -1
- package/dist/core/p-5dd0b02e.js +0 -2
- package/dist/core/p-5dd0b02e.js.map +0 -1
- package/dist/core/p-65750560.entry.js.map +0 -1
- package/dist/core/p-6840589f.entry.js.map +0 -1
- package/dist/core/p-69920d86.js +0 -3
- package/dist/core/p-69920d86.js.map +0 -1
- package/dist/core/p-6bad30aa.entry.js.map +0 -1
- package/dist/core/p-6f57b13c.js.map +0 -1
- package/dist/core/p-7536dd31.entry.js.map +0 -1
- package/dist/core/p-7ae091ef.entry.js.map +0 -1
- package/dist/core/p-7c0dcd00.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 +0 -2
- package/dist/core/p-83d5bcae.entry.js.map +0 -1
- package/dist/core/p-892d9d9f.entry.js.map +0 -1
- package/dist/core/p-8991f656.entry.js.map +0 -1
- package/dist/core/p-8c45ab61.entry.js.map +0 -1
- package/dist/core/p-8ca80000.entry.js.map +0 -1
- package/dist/core/p-90d3a41b.entry.js.map +0 -1
- package/dist/core/p-95992c98.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-96bcd466.entry.js.map +0 -1
- package/dist/core/p-9e551fe9.entry.js.map +0 -1
- package/dist/core/p-a29fe0c6.entry.js.map +0 -1
- package/dist/core/p-a588886f.entry.js.map +0 -1
- package/dist/core/p-a8b94619.entry.js.map +0 -1
- package/dist/core/p-adceb0cf.entry.js.map +0 -1
- package/dist/core/p-b698b8ad.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-c012b867.entry.js.map +0 -1
- package/dist/core/p-c5716cbc.entry.js +0 -2
- package/dist/core/p-c5716cbc.entry.js.map +0 -1
- package/dist/core/p-ca6d834e.entry.js.map +0 -1
- package/dist/core/p-cbbf4b05.entry.js.map +0 -1
- package/dist/core/p-ce791694.entry.js.map +0 -1
- package/dist/core/p-cef93d12.entry.js.map +0 -1
- package/dist/core/p-d2215b72.entry.js.map +0 -1
- package/dist/core/p-e0ee714a.entry.js +0 -2
- 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-ee11e185.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-f665242d.entry.js.map +0 -1
- package/dist/core/p-f7695299.entry.js.map +0 -1
- package/dist/core/p-f923d11b.entry.js.map +0 -1
- package/dist/esm/OpenInNew-67a881e0.js.map +0 -1
- package/dist/esm/check-icon-abb210ec.js.map +0 -1
- package/dist/esm/chevron-icon-7927f709.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/esm/index-fd30b77e.js.map +0 -1
- package/dist/esm/polyfills/css-shim.js +0 -1
- package/dist/esm/popper-15e448b4.js.map +0 -1
- package/dist/esm/types-dd515332.js.map +0 -1
- /package/dist/core/{p-06321d19.js.map → p-3b185c32.js.map} +0 -0
- /package/dist/core/{p-44512ebe.js.map → p-426ec638.js.map} +0 -0
- /package/dist/core/{p-8c7f4343.js.map → p-c2e091d7.js.map} +0 -0
- /package/dist/core/{p-8d4f7027.js.map → p-f074ef5b.js.map} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-menu-item.js","sourceRoot":"","sources":["../../../src/components/ic-menu-item/ic-menu-item.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Event,\n EventEmitter,\n Listen,\n} from \"@stencil/core\";\nimport {\n getParentElement,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IcMenuItemVariants } from \"./ic-menu-item.types\";\nimport Check from \"../../assets/check-icon.svg\";\nimport Chevron from \"../../assets/chevron-icon.svg\";\n\n/**\n * @slot icon - Content will be placed to the left of the menu item label.\n */\n\n@Component({\n tag: \"ic-menu-item\",\n styleUrl: \"ic-menu-item.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class MenuItem {\n @Element() el: HTMLIcMenuItemElement;\n\n @State() toggleChecked: boolean = false;\n\n /**\n * The description displayed in the menu item, below the label.\n */\n @Prop() description?: string;\n\n /**\n * If `true`, the menu item will be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The URL that the link points to. This will render the menu item as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * The label describing the keyboard shortcut for a menu item's action.\n */\n @Prop() keyboardShortcut?: string;\n\n /**\n * The label to display in the menu item.\n */\n @Prop() label!: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * This references the popover menu instance that the menu item is a trigger for. If this prop is set, then the variant will always be default.\n */\n @Prop() submenuTriggerFor?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * The variant of the menu item.\n */\n @Prop({ mutable: true, reflect: true }) variant: IcMenuItemVariants =\n \"default\";\n\n /**\n * @internal Emitted when item loses focus.\n */\n @Event() childBlur: EventEmitter<void>;\n\n /**\n * @internal Emitted when the user clicks a menu item.\n */\n @Event() handleMenuItemClick: EventEmitter<{\n label: string;\n hasSubMenu: boolean;\n }>;\n\n /**\n * @internal Emitted when the user clicks a menu item that triggers a popover menu instance.\n */\n @Event() triggerPopoverMenuInstance: EventEmitter<void>;\n\n componentWillLoad(): void {\n // This ensures that trigger menu items are always set to the default variant\n if (this.submenuTriggerFor !== undefined && this.variant !== \"default\") {\n this.variant = \"default\";\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Menu Item\"\n );\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(e: Event): void {\n if (this.disabled) {\n e.stopImmediatePropagation();\n }\n }\n\n private handleClick = (e: Event): void => {\n if (this.submenuTriggerFor !== undefined) {\n this.triggerPopoverMenuInstance.emit();\n } else if (this.variant === \"toggle\") {\n e.preventDefault();\n this.toggleChecked\n ? (this.toggleChecked = false)\n : (this.toggleChecked = true);\n }\n this.handleMenuItemClick.emit({\n label: this.label,\n hasSubMenu: !!this.el.submenuTriggerFor,\n });\n };\n\n private getMenuItemAriaLabel = (): string => {\n let ariaLabel = this.label;\n\n if (this.description !== undefined) {\n ariaLabel = `${ariaLabel}, ${this.description}`;\n }\n\n if (this.keyboardShortcut !== undefined) {\n ariaLabel = `${ariaLabel}, ${this.keyboardShortcut}`;\n }\n\n if (this.variant === \"destructive\") {\n ariaLabel = `${ariaLabel}, destructive`;\n }\n\n if (this.submenuTriggerFor !== undefined) {\n ariaLabel = `${ariaLabel}, triggers submenu`;\n }\n\n if (this.el.classList.contains(\"ic-popover-submenu-back-button\")) {\n ariaLabel = \"Go back to parent menu\";\n }\n const parentEl = getParentElement(this.el);\n\n if (\n parentEl.tagName === \"IC-MENU-GROUP\" &&\n (parentEl as HTMLIcMenuGroupElement).label\n ) {\n return `${ariaLabel}, ${\n (parentEl as HTMLIcMenuGroupElement).label\n } menu group`;\n } else {\n return ariaLabel;\n }\n };\n\n render() {\n // A helper function that checks if a prop has been defined\n const isPropDefined = (prop: string) => {\n return prop !== undefined ? prop : null;\n };\n\n // A sub-component to layout the menu information correctly in ic-button\n const MenuItemInformation = () => {\n return (\n <div class=\"menu-item-info\">\n <div class=\"menu-labels\">\n <ic-typography class=\"menu-item-label\">{this.label}</ic-typography>\n {this.keyboardShortcut && (\n <ic-typography variant=\"caption\" class=\"shortcut\">\n {this.keyboardShortcut}\n </ic-typography>\n )}\n </div>\n {this.description && (\n <ic-typography class=\"menu-item-description\" variant=\"caption\">\n {this.description}\n </ic-typography>\n )}\n </div>\n );\n };\n\n return (\n <Host\n class={{\n [\"disabled\"]: this.disabled,\n }}\n >\n <li\n role={this.variant === \"toggle\" ? \"menuitemcheckbox\" : \"menuitem\"}\n aria-disabled={`${this.disabled}`}\n aria-checked={\n this.variant === \"toggle\" && this.toggleChecked === true\n ? true\n : this.variant === \"toggle\" && this.toggleChecked === false\n ? false\n : undefined\n }\n >\n <ic-button\n disableTooltip\n fullWidth\n variant=\"tertiary\"\n onClick={this.handleClick}\n href={isPropDefined(this.href)}\n hreflang={isPropDefined(this.hreflang)}\n target={isPropDefined(this.target)}\n rel={isPropDefined(this.rel)}\n referrerpolicy={\n this.referrerpolicy !== undefined ? this.referrerpolicy : null\n }\n aria-disabled={`${this.disabled}`}\n aria-label={this.getMenuItemAriaLabel()}\n aria-controls={\n this.submenuTriggerFor !== undefined\n ? `ic-popover-submenu-${this.submenuTriggerFor}`\n : false\n }\n aria-haspopup={\n this.submenuTriggerFor !== undefined ||\n this.el.classList.contains(\"ic-popover-submenu-back-button\")\n ? \"menu\"\n : false\n }\n aria-owns={\n this.submenuTriggerFor !== undefined\n ? `ic-popover-submenu-${this.submenuTriggerFor}`\n : false\n }\n >\n <div class=\"focus-border\">\n {isSlotUsed(this.el, \"icon\") && (\n <span class=\"icon\">\n <slot name=\"icon\"></slot>\n </span>\n )}\n <MenuItemInformation />\n {this.variant === \"toggle\" && (\n <span\n class={{\n [\"check-icon\"]: true,\n [\"hide\"]: !this.toggleChecked,\n }}\n aria-hidden=\"true\"\n innerHTML={Check}\n />\n )}\n {this.submenuTriggerFor !== undefined && (\n <span\n class={{ [\"submenu-icon\"]: true }}\n aria-hidden=\"true\"\n innerHTML={Chevron}\n />\n )}\n </div>\n </ic-button>\n </li>\n </Host>\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"ic-menu-item.js","sourceRoot":"","sources":["../../../src/components/ic-menu-item/ic-menu-item.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Event,\n EventEmitter,\n Listen,\n} from \"@stencil/core\";\nimport {\n getParentElement,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IcMenuItemVariants } from \"./ic-menu-item.types\";\nimport Check from \"../../assets/check-icon.svg\";\nimport Chevron from \"../../assets/chevron-icon.svg\";\n\n/**\n * @slot icon - Content will be placed to the left of the menu item label.\n */\n\n@Component({\n tag: \"ic-menu-item\",\n styleUrl: \"ic-menu-item.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class MenuItem {\n @Element() el: HTMLIcMenuItemElement;\n\n @State() toggleChecked: boolean = false;\n\n /**\n * The description displayed in the menu item, below the label.\n */\n @Prop() description?: string;\n\n /**\n * If `true`, the menu item will be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The URL that the link points to. This will render the menu item as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * The label describing the keyboard shortcut for a menu item's action.\n */\n @Prop() keyboardShortcut?: string;\n\n /**\n * The label to display in the menu item.\n */\n @Prop() label!: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * This references the popover menu instance that the menu item is a trigger for. If this prop is set, then the variant will always be default.\n */\n @Prop() submenuTriggerFor?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * The variant of the menu item.\n */\n @Prop({ mutable: true, reflect: true }) variant: IcMenuItemVariants =\n \"default\";\n\n /**\n * @internal Emitted when item loses focus.\n */\n @Event() childBlur: EventEmitter<void>;\n\n /**\n * @internal Emitted when the user clicks a menu item.\n */\n @Event() handleMenuItemClick: EventEmitter<{\n label: string;\n hasSubMenu: boolean;\n }>;\n\n /**\n * @internal Emitted when the user clicks a menu item that triggers a popover menu instance.\n */\n @Event() triggerPopoverMenuInstance: EventEmitter<void>;\n\n componentWillLoad(): void {\n // This ensures that trigger menu items are always set to the default variant\n if (this.submenuTriggerFor !== undefined && this.variant !== \"default\") {\n this.variant = \"default\";\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Menu Item\"\n );\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(e: Event): void {\n if (this.disabled) {\n e.stopImmediatePropagation();\n }\n }\n\n private handleClick = (e: Event): void => {\n if (this.submenuTriggerFor !== undefined) {\n this.triggerPopoverMenuInstance.emit();\n } else if (this.variant === \"toggle\") {\n e.preventDefault();\n this.toggleChecked\n ? (this.toggleChecked = false)\n : (this.toggleChecked = true);\n }\n this.handleMenuItemClick.emit({\n label: this.label,\n hasSubMenu: !!this.el.submenuTriggerFor,\n });\n };\n\n private getMenuItemAriaLabel = (): string => {\n let ariaLabel = this.label;\n\n if (this.description !== undefined) {\n ariaLabel = `${ariaLabel}, ${this.description}`;\n }\n\n if (this.keyboardShortcut !== undefined) {\n ariaLabel = `${ariaLabel}, ${this.keyboardShortcut}`;\n }\n\n if (this.variant === \"destructive\") {\n ariaLabel = `${ariaLabel}, destructive`;\n }\n\n if (this.submenuTriggerFor !== undefined) {\n ariaLabel = `${ariaLabel}, triggers submenu`;\n }\n\n if (this.el.classList.contains(\"ic-popover-submenu-back-button\")) {\n ariaLabel = \"Go back to parent menu\";\n }\n const parentEl = getParentElement(this.el);\n\n if (\n parentEl.tagName === \"IC-MENU-GROUP\" &&\n (parentEl as HTMLIcMenuGroupElement).label\n ) {\n return `${ariaLabel}, ${\n (parentEl as HTMLIcMenuGroupElement).label\n } menu group`;\n } else {\n return ariaLabel;\n }\n };\n\n render() {\n // A helper function that checks if a prop has been defined\n const isPropDefined = (prop: string) => {\n return prop !== undefined ? prop : null;\n };\n\n // A sub-component to layout the menu information correctly in ic-button\n const MenuItemInformation = () => {\n return (\n <div class=\"menu-item-info\">\n <div class=\"menu-labels\">\n <ic-typography class=\"menu-item-label\">{this.label}</ic-typography>\n {this.keyboardShortcut && (\n <ic-typography variant=\"caption\" class=\"shortcut\">\n {this.keyboardShortcut}\n </ic-typography>\n )}\n </div>\n {this.description && (\n <ic-typography class=\"menu-item-description\" variant=\"caption\">\n {this.description}\n </ic-typography>\n )}\n </div>\n );\n };\n\n return (\n <Host\n class={{\n [\"disabled\"]: this.disabled,\n }}\n >\n <li\n role={this.variant === \"toggle\" ? \"menuitemcheckbox\" : \"menuitem\"}\n aria-disabled={`${this.disabled}`}\n aria-checked={\n this.variant === \"toggle\" && this.toggleChecked === true\n ? true\n : this.variant === \"toggle\" && this.toggleChecked === false\n ? false\n : undefined\n }\n >\n <ic-button\n disableTooltip\n fullWidth\n variant=\"tertiary\"\n onClick={this.handleClick}\n href={isPropDefined(this.href)}\n hreflang={isPropDefined(this.hreflang)}\n target={isPropDefined(this.target)}\n rel={isPropDefined(this.rel)}\n referrerpolicy={\n this.referrerpolicy !== undefined ? this.referrerpolicy : null\n }\n aria-disabled={`${this.disabled}`}\n aria-label={this.getMenuItemAriaLabel()}\n aria-controls={\n this.submenuTriggerFor !== undefined\n ? `ic-popover-submenu-${this.submenuTriggerFor}`\n : false\n }\n aria-haspopup={\n this.submenuTriggerFor !== undefined ||\n this.el.classList.contains(\"ic-popover-submenu-back-button\")\n ? \"menu\"\n : false\n }\n aria-owns={\n this.submenuTriggerFor !== undefined\n ? `ic-popover-submenu-${this.submenuTriggerFor}`\n : false\n }\n >\n <div class=\"focus-border\">\n {isSlotUsed(this.el, \"icon\") && (\n <span class=\"icon\">\n <slot name=\"icon\"></slot>\n </span>\n )}\n <MenuItemInformation />\n {this.variant === \"toggle\" && (\n <span\n class={{\n [\"check-icon\"]: true,\n [\"hide\"]: !this.toggleChecked,\n }}\n aria-hidden=\"true\"\n innerHTML={Check}\n />\n )}\n {this.submenuTriggerFor !== undefined && (\n <span\n class={{ [\"submenu-icon\"]: true }}\n aria-hidden=\"true\"\n innerHTML={Chevron}\n />\n )}\n </div>\n </ic-button>\n </li>\n </Host>\n );\n }\n}\n"]}
|
@@ -72,7 +72,7 @@ export class NavigationButton {
|
|
72
72
|
referrerpolicy,
|
73
73
|
fullWidth,
|
74
74
|
};
|
75
|
-
return (h(Host, { class: { ["in-side-menu"]: this.mode === "menu" } }, h("ic-button", Object.assign({ class: className, "aria-label": this.label, ref: (el) => (this.buttonEl = el) }, buttonProps, this.inheritedAttributes), label, h("slot", { slot: "icon", name: "icon" }))));
|
75
|
+
return (h(Host, { class: { ["in-side-menu"]: this.mode === "menu" } }, h("ic-button", Object.assign({ class: className, "aria-label": variant == "icon" ? this.label : null, ref: (el) => (this.buttonEl = el) }, buttonProps, this.inheritedAttributes), label, h("slot", { slot: "left-icon", name: "icon" }))));
|
76
76
|
}
|
77
77
|
static get is() { return "ic-navigation-button"; }
|
78
78
|
static get encapsulation() { return "shadow"; }
|
@@ -166,7 +166,8 @@ export class NavigationButton {
|
|
166
166
|
"resolved": "\"\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\"",
|
167
167
|
"references": {
|
168
168
|
"ReferrerPolicy": {
|
169
|
-
"location": "global"
|
169
|
+
"location": "global",
|
170
|
+
"id": "global::ReferrerPolicy"
|
170
171
|
}
|
171
172
|
}
|
172
173
|
},
|
@@ -229,7 +230,8 @@ export class NavigationButton {
|
|
229
230
|
"parameters": [],
|
230
231
|
"references": {
|
231
232
|
"Promise": {
|
232
|
-
"location": "global"
|
233
|
+
"location": "global",
|
234
|
+
"id": "global::Promise"
|
233
235
|
}
|
234
236
|
},
|
235
237
|
"return": "Promise<void>"
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-navigation-button.js","sourceRoot":"","sources":["../../../src/components/ic-navigation-button/ic-navigation-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,CAAC,EACD,MAAM,EACN,MAAM,GACP,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,gCAAgC,GACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAGL,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAG3B;;GAEG;AASH,MAAM,OAAO,gBAAgB;;IAEnB,wBAAmB,GAA6B,EAAE,CAAC;6BAI9B,uBAAuB,EAAE;gBAIpB,QAAQ;oBAKJ,KAAK;;;;;;;;EAgC3C,iBAAiB;IACf,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE;MACpD,GAAG,iBAAiB;MACpB,OAAO;KACR,CAAC,CAAC;EACL,CAAC;EAED,gBAAgB;IACd,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACzC,mBAAmB,CACpB,CAAC;EACJ,CAAC;EAGD,qBAAqB;IACnB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;EACrB,CAAC;EAGD,sBAAsB;IACpB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;EACvB,CAAC;EAGD,kBAAkB,CAAC,EAAe;IAChC,MAAM,KAAK,GAAY,EAAE,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC;EACtC,CAAC;EAED;;KAEG;EAEH,KAAK,CAAC,QAAQ;IACZ,IAAI,IAAI,CAAC,QAAQ,EAAE;MACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;KACvB;EACH,CAAC;EAED,MAAM;IACJ,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAE7D,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,OAAO,GAAwB,MAAM,CAAC;IAC1C,IAAI,UAAU,GACZ,IAAI,CAAC,iBAAiB,CAAC;IACzB,IAAI,IAAI,GAAwB,OAAO,CAAC;IACxC,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;MACxB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;MACnB,OAAO,GAAG,UAAU,CAAC;MACrB,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC;MAC3C,IAAI,GAAG,SAAS,CAAC;MACjB,SAAS,GAAG,IAAI,CAAC;MACjB,SAAS,GAAG,oBAAoB,CAAC;KAClC;IAED,MAAM,WAAW,GAAG;MAClB,OAAO;MACP,UAAU;MACV,IAAI;MACJ,IAAI;MACJ,MAAM;MACN,GAAG;MACH,QAAQ;MACR,cAAc;MACd,SAAS;KACV,CAAC;IAEF,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;MACrD,+BACE,KAAK,EAAE,SAAS,gBACJ,IAAI,CAAC,KAAK,
|
1
|
+
{"version":3,"file":"ic-navigation-button.js","sourceRoot":"","sources":["../../../src/components/ic-navigation-button/ic-navigation-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n State,\n h,\n Listen,\n Method,\n} from \"@stencil/core\";\n\nimport {\n getThemeForegroundColor,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { IcNavButtonModes } from \"./ic-navigation-button.types\";\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n */\n\n@Component({\n tag: \"ic-navigation-button\",\n styleUrl: \"ic-navigation-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationButton {\n private buttonEl: HTMLIcButtonElement;\n private inheritedAttributes: { [k: string]: unknown } = {};\n\n @Element() el: HTMLIcNavigationButtonElement;\n\n @State() initialAppearance = getThemeForegroundColor();\n /**\n * The display mode.\n */\n @State() mode: IcNavButtonModes = \"navbar\";\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * The label info to display.\n */\n @Prop() label!: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"title\",\n ]);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Navigation Button\"\n );\n }\n\n @Listen(\"icNavigationMenuOpened\", { target: \"document\" })\n navBarMenuOpenHandler(): void {\n this.mode = \"menu\";\n }\n\n @Listen(\"icNavigationMenuClosed\", { target: \"document\" })\n navBarMenuCloseHandler(): void {\n this.mode = \"navbar\";\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.initialAppearance = theme.mode;\n }\n\n /**\n * Sets focus on the native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n\n render() {\n const { href, target, rel, download, referrerpolicy } = this;\n\n let label = \"\";\n let className = \"\";\n let variant: \"icon\" | \"tertiary\" = \"icon\";\n let appearance: IcThemeForeground | IcThemeForegroundEnum.Default =\n this.initialAppearance;\n let size: \"default\" | \"large\" = \"large\";\n let fullWidth = false;\n\n if (this.mode === \"menu\") {\n label = this.label;\n variant = \"tertiary\";\n appearance = IcThemeForegroundEnum.Default;\n size = \"default\";\n fullWidth = true;\n className = \"popout-menu-button\";\n }\n\n const buttonProps = {\n variant,\n appearance,\n size,\n href,\n target,\n rel,\n download,\n referrerpolicy,\n fullWidth,\n };\n\n return (\n <Host class={{ [\"in-side-menu\"]: this.mode === \"menu\" }}>\n <ic-button\n class={className}\n aria-label={variant == \"icon\" ? this.label : null}\n ref={(el) => (this.buttonEl = el)}\n {...buttonProps}\n {...this.inheritedAttributes}\n >\n {label}\n <slot slot=\"left-icon\" name=\"icon\"></slot>\n </ic-button>\n </Host>\n );\n }\n}\n"]}
|
package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js
CHANGED
@@ -28,7 +28,7 @@ describe("ic-navigation-button", () => {
|
|
28
28
|
<ic-navigation-button label="button1" onclick="alert('test')">
|
29
29
|
<mock:shadow-root>
|
30
30
|
<ic-button aria-label="button1" appearance="light" size="large" variant="icon">
|
31
|
-
<slot name="icon" slot="icon"></slot>
|
31
|
+
<slot name="icon" slot="left-icon"></slot>
|
32
32
|
</ic-button>
|
33
33
|
</mock:shadow-root>
|
34
34
|
<svg fill="#000000" height="24px" slot="icon" viewBox="0 0 24 24" width="24px" xmlns="http://www.w3.org/2000/svg">
|
package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-navigation-button.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-navigation-button/test/basic/ic-navigation-button.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;EACpC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,gBAAgB,CAAC;MAC9B,IAAI,EAAE;;;;;;;;;;;;;;;;;4BAiBgB;KACvB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;KAY7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACnD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,gBAAgB,CAAC;MAC9B,IAAI,EAAE;8BACkB;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,MAAM,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAE3D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;EACrD,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;IAC1D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,gBAAgB,CAAC;MAC9B,IAAI,EAAE;8BACkB;KACzB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;IAChD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;IACjD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;EACnD,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IACzD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,gBAAgB,CAAC;MAC9B,IAAI,EAAE;8BACkB;KACzB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACzE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EAC3D,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC;MACtC,IAAI,EAAE;8BACkB;KACzB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;EACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Button } from \"../../../ic-button/ic-button\";\nimport { NavigationButton } from \"../../ic-navigation-button\";\n\ndescribe(\"ic-navigation-button\", () => {\n it(\"renders\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button\n label=\"button1\"\n onclick=\"alert('test')\"\n >\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#000000\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-5.5-2.5l7.51-3.49L17.5 6.5 9.99 9.99 6.5 17.5zm5.5-6.6c.61 0 1.1.49 1.1 1.1s-.49 1.1-1.1 1.1-1.1-.49-1.1-1.1.49-1.1 1.1-1.1z\"\n />\n </svg>\n </ic-navigation-button>`,\n });\n expect(page.root).toEqualHtml(`\n <ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n <mock:shadow-root>\n <ic-button aria-label=\"button1\" appearance=\"light\" size=\"large\" variant=\"icon\">\n <slot name=\"icon\" slot=\"icon\"></slot>\n </ic-button>\n </mock:shadow-root>\n <svg fill=\"#000000\" height=\"24px\" slot=\"icon\" viewBox=\"0 0 24 24\" width=\"24px\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"></path>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-5.5-2.5l7.51-3.49L17.5 6.5 9.99 9.99 6.5 17.5zm5.5-6.6c.61 0 1.1.49 1.1 1.1s-.49 1.1-1.1 1.1-1.1-.49-1.1-1.1.49-1.1 1.1-1.1z\"></path>\n </svg>\n </ic-navigation-button>\n `);\n });\n\n it(\"renders differently if mode is menu\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n page.rootInstance.mode = \"menu\";\n const el = page.root.shadowRoot.querySelector(\"ic-button\");\n\n await page.waitForChanges();\n expect(el.className).toEqual(\"popout-menu-button\");\n });\n\n it(\"correctly sets mode on menu open and close\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n await page.rootInstance.navBarMenuOpenHandler();\n await page.waitForChanges();\n\n expect(page.rootInstance.mode).toEqual(\"menu\");\n\n await page.rootInstance.navBarMenuCloseHandler();\n await page.waitForChanges();\n\n expect(page.rootInstance.mode).toEqual(\"navbar\");\n });\n\n it(\"correctly sets appearance on theme change\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n await page.rootInstance.themeChangeHandler({ detail: { mode: \"dark\" } });\n await page.waitForChanges();\n\n expect(page.rootInstance.initialAppearance).toBe(\"dark\");\n });\n\n it(\"correctly sets focus\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton, Button],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n await page.rootInstance.setFocus();\n });\n});\n"]}
|
1
|
+
{"version":3,"file":"ic-navigation-button.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-navigation-button/test/basic/ic-navigation-button.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;EACpC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,gBAAgB,CAAC;MAC9B,IAAI,EAAE;;;;;;;;;;;;;;;;;4BAiBgB;KACvB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;KAY7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACnD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,gBAAgB,CAAC;MAC9B,IAAI,EAAE;8BACkB;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,MAAM,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAE3D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;EACrD,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;IAC1D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,gBAAgB,CAAC;MAC9B,IAAI,EAAE;8BACkB;KACzB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;IAChD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;IACjD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;EACnD,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IACzD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,gBAAgB,CAAC;MAC9B,IAAI,EAAE;8BACkB;KACzB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACzE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EAC3D,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC;MACtC,IAAI,EAAE;8BACkB;KACzB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;EACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Button } from \"../../../ic-button/ic-button\";\nimport { NavigationButton } from \"../../ic-navigation-button\";\n\ndescribe(\"ic-navigation-button\", () => {\n it(\"renders\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button\n label=\"button1\"\n onclick=\"alert('test')\"\n >\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#000000\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-5.5-2.5l7.51-3.49L17.5 6.5 9.99 9.99 6.5 17.5zm5.5-6.6c.61 0 1.1.49 1.1 1.1s-.49 1.1-1.1 1.1-1.1-.49-1.1-1.1.49-1.1 1.1-1.1z\"\n />\n </svg>\n </ic-navigation-button>`,\n });\n expect(page.root).toEqualHtml(`\n <ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n <mock:shadow-root>\n <ic-button aria-label=\"button1\" appearance=\"light\" size=\"large\" variant=\"icon\">\n <slot name=\"icon\" slot=\"left-icon\"></slot>\n </ic-button>\n </mock:shadow-root>\n <svg fill=\"#000000\" height=\"24px\" slot=\"icon\" viewBox=\"0 0 24 24\" width=\"24px\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"></path>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-5.5-2.5l7.51-3.49L17.5 6.5 9.99 9.99 6.5 17.5zm5.5-6.6c.61 0 1.1.49 1.1 1.1s-.49 1.1-1.1 1.1-1.1-.49-1.1-1.1.49-1.1 1.1-1.1z\"></path>\n </svg>\n </ic-navigation-button>\n `);\n });\n\n it(\"renders differently if mode is menu\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n page.rootInstance.mode = \"menu\";\n const el = page.root.shadowRoot.querySelector(\"ic-button\");\n\n await page.waitForChanges();\n expect(el.className).toEqual(\"popout-menu-button\");\n });\n\n it(\"correctly sets mode on menu open and close\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n await page.rootInstance.navBarMenuOpenHandler();\n await page.waitForChanges();\n\n expect(page.rootInstance.mode).toEqual(\"menu\");\n\n await page.rootInstance.navBarMenuCloseHandler();\n await page.waitForChanges();\n\n expect(page.rootInstance.mode).toEqual(\"navbar\");\n });\n\n it(\"correctly sets appearance on theme change\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n await page.rootInstance.themeChangeHandler({ detail: { mode: \"dark\" } });\n await page.waitForChanges();\n\n expect(page.rootInstance.initialAppearance).toBe(\"dark\");\n });\n\n it(\"correctly sets focus\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton, Button],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n await page.rootInstance.setFocus();\n });\n});\n"]}
|
@@ -604,13 +604,17 @@ video {
|
|
604
604
|
}
|
605
605
|
|
606
606
|
:host(.expanded) .grouped-links-wrapper {
|
607
|
-
height: var(--navigation-child-items-height, auto);
|
607
|
+
height: var(--navigation-child-items-height, auto) !important;
|
608
608
|
transition: var(--ic-easing-transition-slow);
|
609
609
|
overflow: hidden;
|
610
610
|
}
|
611
|
+
:host(.navigation-group-side-nav) .link,
|
612
|
+
:host(.navigation-group-side-nav) ::slotted(a) {
|
613
|
+
height: var(--navigation-child-items-height, auto);
|
614
|
+
}
|
611
615
|
|
612
616
|
:host(.collapsed) .grouped-links-wrapper {
|
613
|
-
height:
|
617
|
+
height: 0;
|
614
618
|
transition: var(--ic-easing-transition-slow);
|
615
619
|
overflow: hidden;
|
616
620
|
}
|
@@ -3,11 +3,21 @@ import { DEVICE_SIZES, getCurrentDeviceSize, getThemeForegroundColor, getNavItem
|
|
3
3
|
import chevronIcon from "../../assets/chevron-icon.svg";
|
4
4
|
export class NavigationGroup {
|
5
5
|
constructor() {
|
6
|
+
this.allGroupedNavigationItems = [];
|
6
7
|
this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 50;
|
7
8
|
this.IC_NAVIGATION_ITEM = "ic-navigation-item";
|
8
9
|
this.mouseGate = false;
|
9
10
|
this.nodeName = "IC-NAVIGATION-GROUP";
|
10
|
-
this.sideNavExpandHandler = () => {
|
11
|
+
this.sideNavExpandHandler = (event) => {
|
12
|
+
this.isSideNavExpanded = event.detail.sideNavExpanded;
|
13
|
+
if (this.isCollapsedLabelVariant === undefined) {
|
14
|
+
this.isCollapsedLabelVariant = !!event.target.getAttribute("collapsed-icon-labels");
|
15
|
+
}
|
16
|
+
// Store sum of heights on all collapsed icon label items
|
17
|
+
if (this.isCollapsedLabelVariant && !this.isSideNavExpanded) {
|
18
|
+
this.collapsedIconLabelsNavigationItemsHeight =
|
19
|
+
this.getNavigationChildItemsHeight();
|
20
|
+
}
|
11
21
|
setTimeout(() => this.setInitialGroupedLinksWrapperHeight(), this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS);
|
12
22
|
};
|
13
23
|
this.topNavResizedHandler = (ev) => {
|
@@ -132,18 +142,25 @@ export class NavigationGroup {
|
|
132
142
|
* smoothness of expand/collapse animations
|
133
143
|
*/
|
134
144
|
this.getNavigationChildItemsHeight = () => {
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
return `${parseInt(getComputedStyle(navigationItem).height) * navigationItemLength}px`;
|
141
|
-
}
|
142
|
-
return "auto";
|
145
|
+
let navigationChildItemsHeight = 0;
|
146
|
+
this.allGroupedNavigationItems.forEach((navItem) => {
|
147
|
+
navigationChildItemsHeight += navItem.clientHeight;
|
148
|
+
});
|
149
|
+
return `${navigationChildItemsHeight}px`;
|
143
150
|
};
|
144
151
|
this.setInitialGroupedLinksWrapperHeight = () => {
|
145
152
|
const linkWrapper = this.el.shadowRoot.querySelector(".grouped-links-wrapper");
|
146
|
-
if (linkWrapper &&
|
153
|
+
if (linkWrapper &&
|
154
|
+
this.expanded &&
|
155
|
+
!this.isSideNavExpanded &&
|
156
|
+
this.isCollapsedLabelVariant) {
|
157
|
+
/**
|
158
|
+
* Collapsed icon labels height is different depending on if ic-side-navigation is collapsed or expanded.
|
159
|
+
* If collapsed, use collapsedIconLabelsNavigationItemsHeight which is set on initial load.
|
160
|
+
*/
|
161
|
+
linkWrapper.setAttribute("style", `--navigation-child-items-height: ${this.collapsedIconLabelsNavigationItemsHeight}px`);
|
162
|
+
}
|
163
|
+
else if (linkWrapper && this.expanded) {
|
147
164
|
linkWrapper.setAttribute("style", `--navigation-child-items-height: ${this.getNavigationChildItemsHeight()}`);
|
148
165
|
}
|
149
166
|
};
|
@@ -190,6 +207,7 @@ export class NavigationGroup {
|
|
190
207
|
}
|
191
208
|
}
|
192
209
|
componentDidLoad() {
|
210
|
+
this.allGroupedNavigationItems = Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));
|
193
211
|
/**
|
194
212
|
* debounce is required as the incorrect height was retrieved instantly after
|
195
213
|
* componentDidLoad is invoked.
|
@@ -323,7 +341,8 @@ export class NavigationGroup {
|
|
323
341
|
"parameters": [],
|
324
342
|
"references": {
|
325
343
|
"Promise": {
|
326
|
-
"location": "global"
|
344
|
+
"location": "global",
|
345
|
+
"id": "global::Promise"
|
327
346
|
}
|
328
347
|
},
|
329
348
|
"return": "Promise<void>"
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-navigation-group.js","sourceRoot":"","sources":["../../../src/components/ic-navigation-group/ic-navigation-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Listen,\n h,\n Method,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getThemeForegroundColor,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport { IcNavType, IcTheme } from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n@Component({\n tag: \"ic-navigation-group\",\n styleUrl: \"ic-navigation-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationGroup {\n private dropdown: HTMLElement;\n private DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 50;\n private groupEl: HTMLElement;\n private IC_NAVIGATION_ITEM = \"ic-navigation-item\";\n private mouseGate: boolean = false;\n private nodeName = \"IC-NAVIGATION-GROUP\";\n\n @Element() el: HTMLIcNavigationGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownOpen: boolean = false;\n @State() expanded: boolean = true;\n @State() focusStyle = getThemeForegroundColor();\n @State() inTopNavSideMenu: boolean = false;\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement;\n\n /**\n * If `true`, the group will be expandable in the side menu.\n */\n @Prop() expandable: boolean = false;\n\n /**\n * The label to display on the group.\n */\n @Prop() label: string;\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl.removeEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.removeEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n const navParentDetails = getNavItemParentDetails(this.el);\n this.navigationType = navParentDetails.navType;\n this.parentEl = navParentDetails.parent;\n if (this.deviceSize <= DEVICE_SIZES.L && this.navigationType === \"top\") {\n this.inTopNavSideMenu = true;\n }\n\n if (this.navigationType === \"side\") {\n this.parentEl.addEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.addEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n componentDidLoad(): void {\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(\n () => this.setInitialGroupedLinksWrapperHeight(),\n this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS\n );\n }\n\n @Listen(\"childBlur\")\n childBlurHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.focusStyle = theme.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.groupEl) {\n this.groupEl.focus();\n }\n }\n\n private sideNavExpandHandler = (): void => {\n setTimeout(\n () => this.setInitialGroupedLinksWrapperHeight(),\n this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS\n );\n };\n\n private topNavResizedHandler = (ev: CustomEvent): void => {\n const newSize = ev.detail.size;\n if (newSize !== this.deviceSize) {\n this.deviceSize = newSize;\n this.inTopNavSideMenu = newSize <= DEVICE_SIZES.L;\n }\n };\n\n private toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n }\n\n private setGroupedNavItemTabIndex = (tabIndexValue: string) => {\n this.el\n .querySelectorAll(this.IC_NAVIGATION_ITEM)\n .forEach((navigationItem) => {\n const navItem =\n navigationItem.shadowRoot.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n if (navItem) {\n navItem.setAttribute(\"tabindex\", tabIndexValue);\n }\n });\n };\n\n private toggleGroupedLinkWrapperHeight = (\n wrapper: HTMLElement,\n expanded: boolean\n ) => {\n if (wrapper) {\n if (expanded) {\n wrapper.setAttribute(\n \"style\",\n `--navigation-child-items-height: ${this.getNavigationChildItemsHeight()}`\n );\n this.setGroupedNavItemTabIndex(\"0\");\n } else {\n wrapper.setAttribute(\"style\", `--navigation-child-items-height: 0`);\n this.setGroupedNavItemTabIndex(\"-1\");\n }\n }\n };\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n const linkWrapper = this.el.shadowRoot.querySelector(\n \".grouped-links-wrapper\"\n ) as HTMLElement;\n this.toggleGroupedLinkWrapperHeight(linkWrapper, this.expanded);\n };\n\n private showDropdown() {\n if (!this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n } else {\n this.toggleExpanded();\n }\n };\n\n private handleBlur = (ev: FocusEvent) => {\n const target = ev.relatedTarget as HTMLElement;\n if (!this.el.contains(target)) {\n this.hideDropdown();\n }\n };\n\n private handleTopNavKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \" \" || ev.key === \"Enter\") {\n this.toggleDropdown();\n } else if (!this.inTopNavSideMenu && ev.key === \"Escape\") {\n this.hideDropdown();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\" || ev.key === \" \" || ev.key === \"Escape\") {\n switch (this.navigationType) {\n case \"top\":\n this.handleTopNavKeydown(ev as KeyboardEvent);\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n }\n };\n\n private handleMouseLeave = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n\n this.mouseGate = false;\n\n if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n document.activeElement !== this.el &&\n !this.el.contains(document.activeElement) &&\n relTarget.nodeName === this.nodeName &&\n this.dropdownOpen === true\n ) {\n this.mouseGate = true;\n this.hideDropdown();\n } else if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n !this.el.contains(document.activeElement)\n ) {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n\n private handleMouseEnter = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n document.addEventListener(\"keydown\", this.handleKeydown);\n\n if (relTarget.nodeName === this.nodeName && this.mouseGate === true) {\n this.showDropdown();\n } else if (\n this.dropdownOpen === false &&\n relTarget !== null &&\n this.mouseGate === false\n ) {\n this.mouseGate = true;\n setTimeout(() => {\n this.mouseGate && this.showDropdown();\n }, 500);\n }\n };\n\n private renderDropdownGroupedLinks = (): HTMLDivElement => (\n <div\n class={{\n [\"navigation-group-dropdown\"]: !this.inTopNavSideMenu,\n [\"navigation-group-dropdown-side-menu\"]: this.inTopNavSideMenu,\n [\"selected\"]: this.dropdownOpen && !this.inTopNavSideMenu,\n }}\n onMouseLeave={!this.inTopNavSideMenu ? this.handleMouseLeave : null}\n ref={(el) => (this.dropdown = el)}\n >\n <nav\n class={{\n [\"navigation-group-dropdown-items\"]: !this.inTopNavSideMenu,\n }}\n >\n <ul>\n <slot></slot>\n </ul>\n </nav>\n </div>\n );\n\n private renderGroupedLinks = (): HTMLDivElement => (\n <ul class=\"grouped-links-wrapper\">\n <slot></slot>\n </ul>\n );\n\n /**\n * Gets the total height of navigation links to improve\n * smoothness of expand/collapse animations\n */\n private getNavigationChildItemsHeight = (): string => {\n const navigationItemLength =\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM).length || 0;\n const navigationItem =\n this.el.querySelector(this.IC_NAVIGATION_ITEM) || null;\n\n if (\n this.navigationType === \"side\" &&\n !!navigationItemLength &&\n navigationItem\n ) {\n return `${\n parseInt(getComputedStyle(navigationItem).height) * navigationItemLength\n }px`;\n }\n\n return \"auto\";\n };\n\n private setInitialGroupedLinksWrapperHeight = () => {\n const linkWrapper = this.el.shadowRoot.querySelector(\n \".grouped-links-wrapper\"\n ) as HTMLElement;\n\n if (linkWrapper && this.expanded) {\n linkWrapper.setAttribute(\n \"style\",\n `--navigation-child-items-height: ${this.getNavigationChildItemsHeight()}`\n );\n }\n };\n\n private renderNavigationItems = (): HTMLDivElement | null => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return this.renderDropdownGroupedLinks();\n }\n\n if (this.navigationType !== \"top\") {\n return this.renderGroupedLinks();\n }\n\n return null;\n };\n\n render() {\n const { label, dropdownOpen, inTopNavSideMenu, expandable } = this;\n\n const NavigationGroupElement =\n !inTopNavSideMenu || expandable ? \"button\" : \"div\";\n\n return (\n <Host\n class={{\n [\"in-side-menu\"]: inTopNavSideMenu,\n expanded: this.expanded,\n collapsed: !this.expanded,\n [\"navigation-group-side-nav\"]: this.navigationType === \"side\",\n }}\n role=\"listitem\"\n >\n <NavigationGroupElement\n onMouseEnter={\n !inTopNavSideMenu &&\n this.navigationType === \"top\" &&\n this.handleMouseEnter\n }\n onMouseLeave={this.navigationType === \"top\" && this.handleMouseLeave}\n tabindex={inTopNavSideMenu && !expandable ? \"-1\" : \"0\"}\n onBlur={this.handleBlur}\n onClick={expandable ? this.handleClick : null}\n onKeyDown={this.handleKeydown}\n class={{\n [\"navigation-group\"]: true,\n [this.focusStyle]: !inTopNavSideMenu,\n [\"navigation-group-side-menu\"]: inTopNavSideMenu && !expandable,\n [\"navigation-group-side-menu-collapsed\"]:\n inTopNavSideMenu && expandable && !dropdownOpen,\n [\"navigation-group-side-menu-expanded\"]:\n inTopNavSideMenu && expandable && dropdownOpen,\n [\"selected\"]: dropdownOpen && !inTopNavSideMenu,\n }}\n ref={(el) => (this.groupEl = el)}\n aria-expanded={dropdownOpen || this.expanded ? \"true\" : \"false\"}\n aria-haspopup={\n !inTopNavSideMenu && this.navigationType === \"top\"\n ? \"true\"\n : \"false\"\n }\n >\n <ic-typography\n variant={this.navigationType === \"side\" ? \"caption\" : \"label\"}\n >\n {label}\n </ic-typography>\n {this.navigationType === \"side\" && expandable && (\n <div\n class={{\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": this.expanded,\n }}\n innerHTML={chevronIcon}\n ></div>\n )}\n </NavigationGroupElement>\n {this.renderNavigationItems()}\n </Host>\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"ic-navigation-group.js","sourceRoot":"","sources":["../../../src/components/ic-navigation-group/ic-navigation-group.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,CAAC,EACD,MAAM,GACP,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,WAAW,MAAM,+BAA+B,CAAC;AASxD,MAAM,OAAO,eAAe;;IAClB,8BAAyB,GAAkC,EAAE,CAAC;IAG9D,oCAA+B,GAAG,EAAE,CAAC;IAErC,uBAAkB,GAAG,oBAAoB,CAAC;IAG1C,cAAS,GAAY,KAAK,CAAC;IAC3B,aAAQ,GAAG,qBAAqB,CAAC;IAmGjC,yBAAoB,GAAG,CAAC,KAAmB,EAAQ,EAAE;MAC3D,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC;MAEtD,IAAI,IAAI,CAAC,uBAAuB,KAAK,SAAS,EAAE;QAC9C,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAC9B,KAAK,CAAC,MACP,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;OACzC;MAED,yDAAyD;MACzD,IAAI,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAC3D,IAAI,CAAC,wCAAwC;UAC3C,IAAI,CAAC,6BAA6B,EAAE,CAAC;OACxC;MAED,UAAU,CACR,GAAG,EAAE,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAChD,IAAI,CAAC,+BAA+B,CACrC,CAAC;IACJ,CAAC,CAAC;IAEM,yBAAoB,GAAG,CAAC,EAAe,EAAQ,EAAE;MACvD,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;MAC/B,IAAI,OAAO,KAAK,IAAI,CAAC,UAAU,EAAE;QAC/B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC;OACnD;IACH,CAAC,CAAC;IAMM,8BAAyB,GAAG,CAAC,aAAqB,EAAE,EAAE;MAC5D,IAAI,CAAC,EAAE;SACJ,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC;SACzC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;QAC1B,MAAM,OAAO,GACX,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC;UAC5C,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,OAAO,EAAE;UACX,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;SACjD;MACH,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEM,mCAA8B,GAAG,CACvC,OAAoB,EACpB,QAAiB,EACjB,EAAE;MACF,IAAI,OAAO,EAAE;QACX,IAAI,QAAQ,EAAE;UACZ,OAAO,CAAC,YAAY,CAClB,OAAO,EACP,oCAAoC,IAAI,CAAC,6BAA6B,EAAE,EAAE,CAC3E,CAAC;UACF,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;SACrC;aAAM;UACL,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;UACpE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;SACtC;OACF;IACH,CAAC,CAAC;IAEM,mBAAc,GAAG,GAAG,EAAE;MAC5B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;MAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAClD,wBAAwB,CACV,CAAC;MACjB,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC,CAAC;IAeM,gBAAW,GAAG,CAAC,EAAc,EAAE,EAAE;MACvC,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE;QAC9C,IAAI,CAAC,cAAc,EAAE,CAAC;OACvB;WAAM;QACL,IAAI,CAAC,cAAc,EAAE,CAAC;OACvB;IACH,CAAC,CAAC;IAEM,eAAU,GAAG,CAAC,EAAc,EAAE,EAAE;MACtC,MAAM,MAAM,GAAG,EAAE,CAAC,aAA4B,CAAC;MAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;OACrB;IACH,CAAC,CAAC;IAEM,wBAAmB,GAAG,CAAC,EAAiB,EAAE,EAAE;MAClD,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,EAAE;QACxC,IAAI,CAAC,cAAc,EAAE,CAAC;OACvB;WAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,GAAG,KAAK,QAAQ,EAAE;QACxD,IAAI,CAAC,YAAY,EAAE,CAAC;OACrB;IACH,CAAC,CAAC;IAEM,kBAAa,GAAG,CAAC,EAAiB,EAAE,EAAE;MAC5C,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,QAAQ,EAAE;QAC/D,QAAQ,IAAI,CAAC,cAAc,EAAE;UAC3B,KAAK,KAAK;YACR,IAAI,CAAC,mBAAmB,CAAC,EAAmB,CAAC,CAAC;YAC9C,MAAM;UACR,KAAK,MAAM;YACT,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM;UACR;YACE,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM;SACT;OACF;IACH,CAAC,CAAC;IAEM,qBAAgB,GAAG,CAAC,EAAc,EAAE,EAAE;MAC5C,MAAM,SAAS,GAAG,EAAE,CAAC,aAA4B,CAAC;MAElD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;MAEvB,IACE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5B,SAAS,KAAK,IAAI,CAAC,QAAQ;QAC3B,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,EAAE;QAClC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;QACzC,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;QACpC,IAAI,CAAC,YAAY,KAAK,IAAI,EAC1B;QACA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;OACrB;WAAM,IACL,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5B,SAAS,KAAK,IAAI,CAAC,QAAQ;QAC3B,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EACzC;QACA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,UAAU,CAAC,GAAG,EAAE;UACd,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC,EAAE,GAAG,CAAC,CAAC;OACT;IACH,CAAC,CAAC;IAEM,qBAAgB,GAAG,CAAC,EAAc,EAAE,EAAE;MAC5C,MAAM,SAAS,GAAG,EAAE,CAAC,aAA4B,CAAC;MAClD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;MAEzD,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;QACnE,IAAI,CAAC,YAAY,EAAE,CAAC;OACrB;WAAM,IACL,IAAI,CAAC,YAAY,KAAK,KAAK;QAC3B,SAAS,KAAK,IAAI;QAClB,IAAI,CAAC,SAAS,KAAK,KAAK,EACxB;QACA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,GAAG,EAAE;UACd,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,CAAC,EAAE,GAAG,CAAC,CAAC;OACT;IACH,CAAC,CAAC;IAEM,+BAA0B,GAAG,GAAmB,EAAE,CAAC,CACzD,WACE,KAAK,EAAE;QACL,CAAC,2BAA2B,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB;QACrD,CAAC,qCAAqC,CAAC,EAAE,IAAI,CAAC,gBAAgB;QAC9D,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,gBAAgB;OAC1D,EACD,YAAY,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EACnE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;MAEjC,WACE,KAAK,EAAE;UACL,CAAC,iCAAiC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB;SAC5D;QAED;UACE,eAAa,CACV,CACD,CACF,CACP,CAAC;IAEM,uBAAkB,GAAG,GAAmB,EAAE,CAAC,CACjD,UAAI,KAAK,EAAC,uBAAuB;MAC/B,eAAa,CACV,CACN,CAAC;IAEF;;;OAGG;IACK,kCAA6B,GAAG,GAAW,EAAE;MACnD,IAAI,0BAA0B,GAAG,CAAC,CAAC;MACnC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACjD,0BAA0B,IAAI,OAAO,CAAC,YAAY,CAAC;MACrD,CAAC,CAAC,CAAC;MAEH,OAAO,GAAG,0BAA0B,IAAI,CAAC;IAC3C,CAAC,CAAC;IAEM,wCAAmC,GAAG,GAAG,EAAE;MACjD,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAClD,wBAAwB,CACV,CAAC;MAEjB,IACE,WAAW;QACX,IAAI,CAAC,QAAQ;QACb,CAAC,IAAI,CAAC,iBAAiB;QACvB,IAAI,CAAC,uBAAuB,EAC5B;QACA;;;WAGG;QACH,WAAW,CAAC,YAAY,CACtB,OAAO,EACP,oCAAoC,IAAI,CAAC,wCAAwC,IAAI,CACtF,CAAC;OACH;WAAM,IAAI,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE;QACvC,WAAW,CAAC,YAAY,CACtB,OAAO,EACP,oCAAoC,IAAI,CAAC,6BAA6B,EAAE,EAAE,CAC3E,CAAC;OACH;IACH,CAAC,CAAC;IAEM,0BAAqB,GAAG,GAA0B,EAAE;MAC1D,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACpE,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAC;OAC1C;MAED,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE;QACjC,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;OAClC;MAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;sBAvV4B,YAAY,CAAC,EAAE;wBACZ,KAAK;oBACT,IAAI;sBACX,uBAAuB,EAAE;4BACV,KAAK;;;sBAOZ,KAAK;;;EAOnC,oBAAoB;IAClB,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE;MAClC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,iBAAiB,EACjB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;KACH;SAAM,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE;MACxC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,eAAe,EACf,IAAI,CAAC,oBAAoB,CAC1B,CAAC;KACH;EACH,CAAC;EAED,iBAAiB;IACf,IAAI,CAAC,UAAU,GAAG,oBAAoB,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAC/C,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC;IACxC,IAAI,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE;MACtE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;KAC9B;IAED,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE;MAClC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAC5B,iBAAiB,EACjB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;KACH;SAAM,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE;MACxC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAC5B,eAAe,EACf,IAAI,CAAC,oBAAoB,CAC1B,CAAC;KACH;EACH,CAAC;EAED,gBAAgB;IACd,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC,IAAI,CACzC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAClD,CAAC;IAEF;;;OAGG;IACH,UAAU,CACR,GAAG,EAAE,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAChD,IAAI,CAAC,+BAA+B,CACrC,CAAC;EACJ,CAAC;EAGD,gBAAgB;IACd,IAAI,CAAC,YAAY,EAAE,CAAC;EACtB,CAAC;EAGD,mBAAmB;IACjB,IAAI,CAAC,YAAY,EAAE,CAAC;EACtB,CAAC;EAGD,kBAAkB,CAAC,EAAe;IAChC,MAAM,KAAK,GAAY,EAAE,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;EAC/B,CAAC;EAED;;KAEG;EAEH,KAAK,CAAC,QAAQ;IACZ,IAAI,IAAI,CAAC,OAAO,EAAE;MAChB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;KACtB;EACH,CAAC;EA+BO,cAAc;IACpB,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;EACzC,CAAC;EAyCO,YAAY;IAClB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;MACtB,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;EACH,CAAC;EAEO,YAAY;IAClB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5D,IAAI,IAAI,CAAC,YAAY,EAAE;MACrB,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;EACH,CAAC;EAuKD,MAAM;IACJ,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IACnE,MAAM,sBAAsB,GAC1B,CAAC,gBAAgB,IAAI,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE;QACL,CAAC,cAAc,CAAC,EAAE,gBAAgB;QAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,CAAC,IAAI,CAAC,QAAQ;QACzB,CAAC,2BAA2B,CAAC,EAAE,IAAI,CAAC,cAAc,KAAK,MAAM;OAC9D,EACD,IAAI,EAAC,UAAU;MAEf,EAAC,sBAAsB,IACrB,YAAY,EACV,CAAC,gBAAgB;UACjB,IAAI,CAAC,cAAc,KAAK,KAAK;UAC7B,IAAI,CAAC,gBAAgB,EAEvB,YAAY,EAAE,IAAI,CAAC,cAAc,KAAK,KAAK,IAAI,IAAI,CAAC,gBAAgB,EACpE,QAAQ,EAAE,gBAAgB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EACtD,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAC7C,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,KAAK,EAAE;UACL,CAAC,kBAAkB,CAAC,EAAE,IAAI;UAC1B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB;UACpC,CAAC,4BAA4B,CAAC,EAAE,gBAAgB,IAAI,CAAC,UAAU;UAC/D,CAAC,sCAAsC,CAAC,EACtC,gBAAgB,IAAI,UAAU,IAAI,CAAC,YAAY;UACjD,CAAC,qCAAqC,CAAC,EACrC,gBAAgB,IAAI,UAAU,IAAI,YAAY;UAChD,CAAC,UAAU,CAAC,EAAE,YAAY,IAAI,CAAC,gBAAgB;SAChD,EACD,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,mBACjB,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAE7D,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK;UAChD,CAAC,CAAC,MAAM;UACR,CAAC,CAAC,OAAO;QAGb,qBACE,OAAO,EAAE,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAE5D,KAAK,CACQ;QACf,IAAI,CAAC,cAAc,KAAK,MAAM,IAAI,UAAU,IAAI,CAC/C,WACE,KAAK,EAAE;YACL,6BAA6B,EAAE,IAAI;YACnC,4BAA4B,EAAE,IAAI,CAAC,QAAQ;WAC5C,EACD,SAAS,EAAE,WAAW,GACjB,CACR,CACsB;MACxB,IAAI,CAAC,qBAAqB,EAAE,CACxB,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Listen,\n h,\n Method,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getThemeForegroundColor,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport { IcNavType, IcTheme } from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n@Component({\n tag: \"ic-navigation-group\",\n styleUrl: \"ic-navigation-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationGroup {\n private allGroupedNavigationItems: HTMLIcNavigationItemElement[] = [];\n private collapsedIconLabelsNavigationItemsHeight: string;\n private dropdown: HTMLElement;\n private DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 50;\n private groupEl: HTMLElement;\n private IC_NAVIGATION_ITEM = \"ic-navigation-item\";\n private isCollapsedLabelVariant: boolean;\n private isSideNavExpanded: boolean;\n private mouseGate: boolean = false;\n private nodeName = \"IC-NAVIGATION-GROUP\";\n\n @Element() el: HTMLIcNavigationGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownOpen: boolean = false;\n @State() expanded: boolean = true;\n @State() focusStyle = getThemeForegroundColor();\n @State() inTopNavSideMenu: boolean = false;\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement;\n\n /**\n * If `true`, the group will be expandable in the side menu.\n */\n @Prop() expandable: boolean = false;\n\n /**\n * The label to display on the group.\n */\n @Prop() label: string;\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl.removeEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.removeEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n const navParentDetails = getNavItemParentDetails(this.el);\n this.navigationType = navParentDetails.navType;\n this.parentEl = navParentDetails.parent;\n if (this.deviceSize <= DEVICE_SIZES.L && this.navigationType === \"top\") {\n this.inTopNavSideMenu = true;\n }\n\n if (this.navigationType === \"side\") {\n this.parentEl.addEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.addEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n componentDidLoad(): void {\n this.allGroupedNavigationItems = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(\n () => this.setInitialGroupedLinksWrapperHeight(),\n this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS\n );\n }\n\n @Listen(\"childBlur\")\n childBlurHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.focusStyle = theme.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.groupEl) {\n this.groupEl.focus();\n }\n }\n\n private sideNavExpandHandler = (event?: CustomEvent): void => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n\n if (this.isCollapsedLabelVariant === undefined) {\n this.isCollapsedLabelVariant = !!(\n event.target as HTMLIcSideNavigationElement\n ).getAttribute(\"collapsed-icon-labels\");\n }\n\n // Store sum of heights on all collapsed icon label items\n if (this.isCollapsedLabelVariant && !this.isSideNavExpanded) {\n this.collapsedIconLabelsNavigationItemsHeight =\n this.getNavigationChildItemsHeight();\n }\n\n setTimeout(\n () => this.setInitialGroupedLinksWrapperHeight(),\n this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS\n );\n };\n\n private topNavResizedHandler = (ev: CustomEvent): void => {\n const newSize = ev.detail.size;\n if (newSize !== this.deviceSize) {\n this.deviceSize = newSize;\n this.inTopNavSideMenu = newSize <= DEVICE_SIZES.L;\n }\n };\n\n private toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n }\n\n private setGroupedNavItemTabIndex = (tabIndexValue: string) => {\n this.el\n .querySelectorAll(this.IC_NAVIGATION_ITEM)\n .forEach((navigationItem) => {\n const navItem =\n navigationItem.shadowRoot.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n if (navItem) {\n navItem.setAttribute(\"tabindex\", tabIndexValue);\n }\n });\n };\n\n private toggleGroupedLinkWrapperHeight = (\n wrapper: HTMLElement,\n expanded: boolean\n ) => {\n if (wrapper) {\n if (expanded) {\n wrapper.setAttribute(\n \"style\",\n `--navigation-child-items-height: ${this.getNavigationChildItemsHeight()}`\n );\n this.setGroupedNavItemTabIndex(\"0\");\n } else {\n wrapper.setAttribute(\"style\", `--navigation-child-items-height: 0`);\n this.setGroupedNavItemTabIndex(\"-1\");\n }\n }\n };\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n const linkWrapper = this.el.shadowRoot.querySelector(\n \".grouped-links-wrapper\"\n ) as HTMLElement;\n this.toggleGroupedLinkWrapperHeight(linkWrapper, this.expanded);\n };\n\n private showDropdown() {\n if (!this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n } else {\n this.toggleExpanded();\n }\n };\n\n private handleBlur = (ev: FocusEvent) => {\n const target = ev.relatedTarget as HTMLElement;\n if (!this.el.contains(target)) {\n this.hideDropdown();\n }\n };\n\n private handleTopNavKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \" \" || ev.key === \"Enter\") {\n this.toggleDropdown();\n } else if (!this.inTopNavSideMenu && ev.key === \"Escape\") {\n this.hideDropdown();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\" || ev.key === \" \" || ev.key === \"Escape\") {\n switch (this.navigationType) {\n case \"top\":\n this.handleTopNavKeydown(ev as KeyboardEvent);\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n }\n };\n\n private handleMouseLeave = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n\n this.mouseGate = false;\n\n if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n document.activeElement !== this.el &&\n !this.el.contains(document.activeElement) &&\n relTarget.nodeName === this.nodeName &&\n this.dropdownOpen === true\n ) {\n this.mouseGate = true;\n this.hideDropdown();\n } else if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n !this.el.contains(document.activeElement)\n ) {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n\n private handleMouseEnter = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n document.addEventListener(\"keydown\", this.handleKeydown);\n\n if (relTarget.nodeName === this.nodeName && this.mouseGate === true) {\n this.showDropdown();\n } else if (\n this.dropdownOpen === false &&\n relTarget !== null &&\n this.mouseGate === false\n ) {\n this.mouseGate = true;\n setTimeout(() => {\n this.mouseGate && this.showDropdown();\n }, 500);\n }\n };\n\n private renderDropdownGroupedLinks = (): HTMLDivElement => (\n <div\n class={{\n [\"navigation-group-dropdown\"]: !this.inTopNavSideMenu,\n [\"navigation-group-dropdown-side-menu\"]: this.inTopNavSideMenu,\n [\"selected\"]: this.dropdownOpen && !this.inTopNavSideMenu,\n }}\n onMouseLeave={!this.inTopNavSideMenu ? this.handleMouseLeave : null}\n ref={(el) => (this.dropdown = el)}\n >\n <nav\n class={{\n [\"navigation-group-dropdown-items\"]: !this.inTopNavSideMenu,\n }}\n >\n <ul>\n <slot></slot>\n </ul>\n </nav>\n </div>\n );\n\n private renderGroupedLinks = (): HTMLDivElement => (\n <ul class=\"grouped-links-wrapper\">\n <slot></slot>\n </ul>\n );\n\n /**\n * Gets the total height of navigation links to improve\n * smoothness of expand/collapse animations\n */\n private getNavigationChildItemsHeight = (): string => {\n let navigationChildItemsHeight = 0;\n this.allGroupedNavigationItems.forEach((navItem) => {\n navigationChildItemsHeight += navItem.clientHeight;\n });\n\n return `${navigationChildItemsHeight}px`;\n };\n\n private setInitialGroupedLinksWrapperHeight = () => {\n const linkWrapper = this.el.shadowRoot.querySelector(\n \".grouped-links-wrapper\"\n ) as HTMLElement;\n\n if (\n linkWrapper &&\n this.expanded &&\n !this.isSideNavExpanded &&\n this.isCollapsedLabelVariant\n ) {\n /**\n * Collapsed icon labels height is different depending on if ic-side-navigation is collapsed or expanded.\n * If collapsed, use collapsedIconLabelsNavigationItemsHeight which is set on initial load.\n */\n linkWrapper.setAttribute(\n \"style\",\n `--navigation-child-items-height: ${this.collapsedIconLabelsNavigationItemsHeight}px`\n );\n } else if (linkWrapper && this.expanded) {\n linkWrapper.setAttribute(\n \"style\",\n `--navigation-child-items-height: ${this.getNavigationChildItemsHeight()}`\n );\n }\n };\n\n private renderNavigationItems = (): HTMLDivElement | null => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return this.renderDropdownGroupedLinks();\n }\n\n if (this.navigationType !== \"top\") {\n return this.renderGroupedLinks();\n }\n\n return null;\n };\n\n render() {\n const { label, dropdownOpen, inTopNavSideMenu, expandable } = this;\n const NavigationGroupElement =\n !inTopNavSideMenu || expandable ? \"button\" : \"div\";\n return (\n <Host\n class={{\n [\"in-side-menu\"]: inTopNavSideMenu,\n expanded: this.expanded,\n collapsed: !this.expanded,\n [\"navigation-group-side-nav\"]: this.navigationType === \"side\",\n }}\n role=\"listitem\"\n >\n <NavigationGroupElement\n onMouseEnter={\n !inTopNavSideMenu &&\n this.navigationType === \"top\" &&\n this.handleMouseEnter\n }\n onMouseLeave={this.navigationType === \"top\" && this.handleMouseLeave}\n tabindex={inTopNavSideMenu && !expandable ? \"-1\" : \"0\"}\n onBlur={this.handleBlur}\n onClick={expandable ? this.handleClick : null}\n onKeyDown={this.handleKeydown}\n class={{\n [\"navigation-group\"]: true,\n [this.focusStyle]: !inTopNavSideMenu,\n [\"navigation-group-side-menu\"]: inTopNavSideMenu && !expandable,\n [\"navigation-group-side-menu-collapsed\"]:\n inTopNavSideMenu && expandable && !dropdownOpen,\n [\"navigation-group-side-menu-expanded\"]:\n inTopNavSideMenu && expandable && dropdownOpen,\n [\"selected\"]: dropdownOpen && !inTopNavSideMenu,\n }}\n ref={(el) => (this.groupEl = el)}\n aria-expanded={dropdownOpen || this.expanded ? \"true\" : \"false\"}\n aria-haspopup={\n !inTopNavSideMenu && this.navigationType === \"top\"\n ? \"true\"\n : \"false\"\n }\n >\n <ic-typography\n variant={this.navigationType === \"side\" ? \"caption\" : \"label\"}\n >\n {label}\n </ic-typography>\n {this.navigationType === \"side\" && expandable && (\n <div\n class={{\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": this.expanded,\n }}\n innerHTML={chevronIcon}\n ></div>\n )}\n </NavigationGroupElement>\n {this.renderNavigationItems()}\n </Host>\n );\n }\n}\n"]}
|
package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js
CHANGED
@@ -243,14 +243,14 @@ describe("ic-navigation-group", () => {
|
|
243
243
|
components: [NavigationGroup],
|
244
244
|
html: `<ic-navigation-group label="Group label"></ic-navigation-group>`,
|
245
245
|
});
|
246
|
-
|
247
|
-
|
246
|
+
const eventSpy = jest.fn();
|
247
|
+
page.win.addEventListener("waitForNavGroupLoad", eventSpy);
|
248
248
|
await page.waitForChanges();
|
249
249
|
await waitForNavGroupLoad();
|
250
250
|
const style = page.root.shadowRoot
|
251
251
|
.querySelector(".grouped-links-wrapper")
|
252
252
|
.getAttribute("style");
|
253
|
-
expect(style).toBe("--navigation-child-items-height:
|
253
|
+
expect(style).toBe("--navigation-child-items-height: 0px;");
|
254
254
|
});
|
255
255
|
it("should test setting nav item tab index", async () => {
|
256
256
|
const page = await newSpecPage({
|
package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-navigation-group.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-navigation-group/test/basic/ic-navigation-group.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { waitForNavGroupLoad } from \"../../../../testspec.setup\";\nimport { NavigationItem } from \"../../../ic-navigation-item/ic-navigation-item\";\nimport { SideNavigation } from \"../../../ic-side-navigation/ic-side-navigation\";\nimport { TopNavigation } from \"../../../ic-top-navigation/ic-top-navigation\";\nimport { DEVICE_SIZES } from \"../../../../utils/helpers\";\nimport { NavigationGroup } from \"./../../ic-navigation-group\";\nimport * as helpers from \"../../../../utils/helpers\";\nimport { waitForTimeout } from \"../../../../testspec.setup\";\n\nconst ev = {\n relatedTarget: {\n nodeName: \"IC-NAVIGATION-GROUP\",\n },\n target: {\n nodeName: \"IC-NAVIGATION-GROUP\",\n },\n};\n\nconst timeOut = 1000;\n\ndescribe(\"ic-navigation-group\", () => {\n it(\"should render with label\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n expect(page.root).toMatchSnapshot(\"renders-with-label\");\n });\n\n it(\"should test handleMouseEnter\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n page.rootInstance.mouseGate = true;\n expect(page.rootInstance.dropdownOpen).toBe(false);\n await page.rootInstance.handleMouseEnter(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.hideDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n\n ev.relatedTarget.nodeName = \"ANOTHER-NAME\";\n page.rootInstance.mouseGate = false;\n await page.rootInstance.handleMouseEnter(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.mouseGate).toBe(true);\n\n jest.spyOn(document, \"addEventListener\");\n\n await page.rootInstance.handleMouseEnter(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n\n expect(document.addEventListener).toHaveBeenCalledTimes(1);\n\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n\n await page.rootInstance.childBlurHandler();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n\n await page.rootInstance.navItemClickHandler();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n ev.relatedTarget.nodeName = \"IC-NAVIGATION-GROUP\";\n });\n\n it(\"should test toggleExpanded\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.expanded).toBe(true);\n await page.rootInstance.toggleExpanded();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n await page.rootInstance.toggleExpanded();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(true);\n });\n\n it(\"should test click handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.expanded).toBe(true);\n await page.rootInstance.handleClick();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n\n expect(page.rootInstance.dropdownOpen).toBe(false);\n page.rootInstance.navigationType = \"top\";\n await page.rootInstance.handleClick({ detail: { something: \"set\" } });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n });\n\n it(\"should test top nav key down handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.dropdownOpen).toBe(false);\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleTopNavKeydown({ key: \"Escape\" });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n await page.rootInstance.handleTopNavKeydown({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n });\n\n it(\"should test handleBlur function\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n <ic-navigation-item href=\"/\" label=\"andAway\"></ic-navigation-item>\n <ic-navigation-item href=\"/\" label=\"closerEachDay\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n\n await waitForNavGroupLoad();\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleBlur(ev);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n });\n\n it(\"should test handleMouseLeave function\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n <ic-navigation-item href=\"/\" label=\"andAway\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n ev.target.nodeName = \"IC-NOT-NAV-GROUP\";\n\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleMouseLeave(ev);\n await waitForTimeout(600);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n // check other branch of 'if'\n ev.relatedTarget.nodeName = \"IC-NOT-NAV-GROUP\";\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleMouseLeave(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n // check if null value called\n await page.rootInstance.handleMouseLeave(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n ev.relatedTarget.nodeName = \"IC-NAVIGATION-GROUP\";\n ev.target.nodeName = \"IC-NAVIGATION-GROUP\";\n });\n\n it(\"should test key down handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.expanded).toBe(true);\n await page.rootInstance.handleKeydown({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n\n page.rootInstance.navigationType = \"side\";\n await page.rootInstance.handleKeydown({\n key: \" \",\n preventDefault: (): void => null,\n });\n await page.waitForChanges();\n await waitForTimeout(600);\n expect(page.rootInstance.expanded).toBe(true);\n\n expect(page.rootInstance.dropdownOpen).toBe(false);\n page.rootInstance.navigationType = \"top\";\n await page.waitForChanges();\n await page.rootInstance.handleKeydown({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n });\n\n it(\"should test theme change\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n await page.rootInstance.themeChangeHandler({ detail: { mode: \"dark\" } });\n await page.waitForChanges();\n expect(page.rootInstance.focusStyle).toBe(\"dark\");\n\n await page.rootInstance.themeChangeHandler({ detail: { mode: \"light\" } });\n await page.waitForChanges();\n expect(page.rootInstance.focusStyle).toBe(\"light\");\n });\n\n it(\"should test inside side navigation\", async () => {\n const page = await newSpecPage({\n components: [SideNavigation, NavigationGroup, NavigationItem],\n html: `<ic-side-navigation version=\"v0.0.0\" app-title=\"ACME\" status=\"BETA\" collapsed-icon-labels=\"true\">\n <ic-navigation-group\n slot=\"primary-navigation\"\n label=\"Second navigation group\"\n expandable=\"true\"\n >\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>\n </ic-side-navigation>`,\n });\n await waitForNavGroupLoad();\n\n // test disconnected callback\n page.setContent(\"\");\n });\n\n it(\"should test top nav resize handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n await page.rootInstance.topNavResizedHandler({\n detail: { size: DEVICE_SIZES.S },\n });\n await page.waitForChanges();\n expect(page.rootInstance.deviceSize).toBe(DEVICE_SIZES.S);\n expect(page.rootInstance.inTopNavSideMenu).toBe(true);\n });\n\n it(\"should test side nav expand handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n await page.rootInstance.sideNavExpandHandler();\n await page.waitForChanges();\n await waitForNavGroupLoad();\n const style = page.root.shadowRoot\n .querySelector(\".grouped-links-wrapper\")\n .getAttribute(\"style\");\n expect(style).toBe(\"--navigation-child-items-height: auto;\");\n });\n\n it(\"should test setting nav item tab index\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group\n label=\"Navigation group\"\n >\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n let navItemLink = page.root\n .querySelector(\"ic-navigation-item\")\n .shadowRoot.querySelector(\"a\");\n expect(navItemLink.tabIndex).toBe(-1);\n\n await page.rootInstance.setGroupedNavItemTabIndex(\"0\");\n await page.waitForChanges();\n navItemLink = page.root\n .querySelector(\"ic-navigation-item\")\n .shadowRoot.querySelector(\"a\");\n\n expect(navItemLink.tabIndex).toBe(0);\n });\n\n it(\"should call other methods \", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n await page.root.setFocus();\n });\n\n // NOTE: This must go last as mocks getCurrentDeviceSize function, which will apply to all subsequent tests\n it(\"should test inside top navigation\", async () => {\n const myfunc = jest.fn().mockReturnValue(DEVICE_SIZES.S);\n Object.defineProperty(helpers, \"getCurrentDeviceSize\", {\n value: myfunc,\n });\n\n const page = await newSpecPage({\n components: [TopNavigation, NavigationGroup, NavigationItem],\n html: `<ic-top-navigation\n app-title=\"ApplicationName\"\n >\n <ic-navigation-group\n slot=\"navigation\"\n label=\"Navigation group\"\n expandable=\"true\"\n >\n <ic-navigation-item label=\"Navigation 1\" href=\"/\"></ic-navigation-item>\n </ic-navigation-group>\n </ic-top-navigation>`,\n });\n await waitForNavGroupLoad();\n\n // test disconnected callback\n page.setContent(\"\");\n });\n});\n"]}
|
1
|
+
{"version":3,"file":"ic-navigation-group.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-navigation-group/test/basic/ic-navigation-group.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { waitForNavGroupLoad } from \"../../../../testspec.setup\";\nimport { NavigationItem } from \"../../../ic-navigation-item/ic-navigation-item\";\nimport { SideNavigation } from \"../../../ic-side-navigation/ic-side-navigation\";\nimport { TopNavigation } from \"../../../ic-top-navigation/ic-top-navigation\";\nimport { DEVICE_SIZES } from \"../../../../utils/helpers\";\nimport { NavigationGroup } from \"./../../ic-navigation-group\";\nimport * as helpers from \"../../../../utils/helpers\";\nimport { waitForTimeout } from \"../../../../testspec.setup\";\n\nconst ev = {\n relatedTarget: {\n nodeName: \"IC-NAVIGATION-GROUP\",\n },\n target: {\n nodeName: \"IC-NAVIGATION-GROUP\",\n },\n};\n\nconst timeOut = 1000;\n\ndescribe(\"ic-navigation-group\", () => {\n it(\"should render with label\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n expect(page.root).toMatchSnapshot(\"renders-with-label\");\n });\n\n it(\"should test handleMouseEnter\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n page.rootInstance.mouseGate = true;\n expect(page.rootInstance.dropdownOpen).toBe(false);\n await page.rootInstance.handleMouseEnter(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.hideDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n\n ev.relatedTarget.nodeName = \"ANOTHER-NAME\";\n page.rootInstance.mouseGate = false;\n await page.rootInstance.handleMouseEnter(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.mouseGate).toBe(true);\n\n jest.spyOn(document, \"addEventListener\");\n\n await page.rootInstance.handleMouseEnter(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n\n expect(document.addEventListener).toHaveBeenCalledTimes(1);\n\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n\n await page.rootInstance.childBlurHandler();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n\n await page.rootInstance.navItemClickHandler();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n ev.relatedTarget.nodeName = \"IC-NAVIGATION-GROUP\";\n });\n\n it(\"should test toggleExpanded\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.expanded).toBe(true);\n await page.rootInstance.toggleExpanded();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n await page.rootInstance.toggleExpanded();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(true);\n });\n\n it(\"should test click handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.expanded).toBe(true);\n await page.rootInstance.handleClick();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n\n expect(page.rootInstance.dropdownOpen).toBe(false);\n page.rootInstance.navigationType = \"top\";\n await page.rootInstance.handleClick({ detail: { something: \"set\" } });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n });\n\n it(\"should test top nav key down handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.dropdownOpen).toBe(false);\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleTopNavKeydown({ key: \"Escape\" });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n await page.rootInstance.handleTopNavKeydown({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n });\n\n it(\"should test handleBlur function\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n <ic-navigation-item href=\"/\" label=\"andAway\"></ic-navigation-item>\n <ic-navigation-item href=\"/\" label=\"closerEachDay\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n\n await waitForNavGroupLoad();\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleBlur(ev);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n });\n\n it(\"should test handleMouseLeave function\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n <ic-navigation-item href=\"/\" label=\"andAway\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n ev.target.nodeName = \"IC-NOT-NAV-GROUP\";\n\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleMouseLeave(ev);\n await waitForTimeout(600);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n // check other branch of 'if'\n ev.relatedTarget.nodeName = \"IC-NOT-NAV-GROUP\";\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleMouseLeave(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n // check if null value called\n await page.rootInstance.handleMouseLeave(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n ev.relatedTarget.nodeName = \"IC-NAVIGATION-GROUP\";\n ev.target.nodeName = \"IC-NAVIGATION-GROUP\";\n });\n\n it(\"should test key down handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.expanded).toBe(true);\n await page.rootInstance.handleKeydown({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n\n page.rootInstance.navigationType = \"side\";\n await page.rootInstance.handleKeydown({\n key: \" \",\n preventDefault: (): void => null,\n });\n await page.waitForChanges();\n await waitForTimeout(600);\n expect(page.rootInstance.expanded).toBe(true);\n\n expect(page.rootInstance.dropdownOpen).toBe(false);\n page.rootInstance.navigationType = \"top\";\n await page.waitForChanges();\n await page.rootInstance.handleKeydown({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n });\n\n it(\"should test theme change\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n await page.rootInstance.themeChangeHandler({ detail: { mode: \"dark\" } });\n await page.waitForChanges();\n expect(page.rootInstance.focusStyle).toBe(\"dark\");\n\n await page.rootInstance.themeChangeHandler({ detail: { mode: \"light\" } });\n await page.waitForChanges();\n expect(page.rootInstance.focusStyle).toBe(\"light\");\n });\n\n it(\"should test inside side navigation\", async () => {\n const page = await newSpecPage({\n components: [SideNavigation, NavigationGroup, NavigationItem],\n html: `<ic-side-navigation version=\"v0.0.0\" app-title=\"ACME\" status=\"BETA\" collapsed-icon-labels=\"true\">\n <ic-navigation-group\n slot=\"primary-navigation\"\n label=\"Second navigation group\"\n expandable=\"true\"\n >\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>\n </ic-side-navigation>`,\n });\n await waitForNavGroupLoad();\n\n // test disconnected callback\n page.setContent(\"\");\n });\n\n it(\"should test top nav resize handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n await page.rootInstance.topNavResizedHandler({\n detail: { size: DEVICE_SIZES.S },\n });\n await page.waitForChanges();\n expect(page.rootInstance.deviceSize).toBe(DEVICE_SIZES.S);\n expect(page.rootInstance.inTopNavSideMenu).toBe(true);\n });\n\n it(\"should test side nav expand handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n const eventSpy = jest.fn();\n page.win.addEventListener(\"waitForNavGroupLoad\", eventSpy);\n await page.waitForChanges();\n await waitForNavGroupLoad();\n const style = page.root.shadowRoot\n .querySelector(\".grouped-links-wrapper\")\n .getAttribute(\"style\");\n expect(style).toBe(\"--navigation-child-items-height: 0px;\");\n });\n\n it(\"should test setting nav item tab index\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group\n label=\"Navigation group\"\n >\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n let navItemLink = page.root\n .querySelector(\"ic-navigation-item\")\n .shadowRoot.querySelector(\"a\");\n expect(navItemLink.tabIndex).toBe(-1);\n\n await page.rootInstance.setGroupedNavItemTabIndex(\"0\");\n await page.waitForChanges();\n navItemLink = page.root\n .querySelector(\"ic-navigation-item\")\n .shadowRoot.querySelector(\"a\");\n\n expect(navItemLink.tabIndex).toBe(0);\n });\n\n it(\"should call other methods \", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n await page.root.setFocus();\n });\n\n // NOTE: This must go last as mocks getCurrentDeviceSize function, which will apply to all subsequent tests\n it(\"should test inside top navigation\", async () => {\n const myfunc = jest.fn().mockReturnValue(DEVICE_SIZES.S);\n Object.defineProperty(helpers, \"getCurrentDeviceSize\", {\n value: myfunc,\n });\n\n const page = await newSpecPage({\n components: [TopNavigation, NavigationGroup, NavigationItem],\n html: `<ic-top-navigation\n app-title=\"ApplicationName\"\n >\n <ic-navigation-group\n slot=\"navigation\"\n label=\"Navigation group\"\n expandable=\"true\"\n >\n <ic-navigation-item label=\"Navigation 1\" href=\"/\"></ic-navigation-item>\n </ic-navigation-group>\n </ic-top-navigation>`,\n });\n await waitForNavGroupLoad();\n\n // test disconnected callback\n page.setContent(\"\");\n });\n});\n"]}
|
@@ -781,6 +781,8 @@ svg {
|
|
781
781
|
.link
|
782
782
|
ic-typography {
|
783
783
|
opacity: 1;
|
784
|
+
min-width: -moz-min-content;
|
785
|
+
min-width: min-content;
|
784
786
|
}
|
785
787
|
|
786
788
|
:host(.navigation-item-side-nav-collapsed) svg,
|
@@ -864,9 +866,10 @@ svg {
|
|
864
866
|
.navigation-item-side-nav-slotted-text {
|
865
867
|
opacity: var(--navigation-item-label-opacity);
|
866
868
|
transition: opacity var(--ic-easing-transition-slow);
|
867
|
-
white-space:
|
869
|
+
white-space: wrap;
|
868
870
|
text-overflow: ellipsis;
|
869
871
|
overflow: hidden;
|
872
|
+
min-width: 256px;
|
870
873
|
}
|
871
874
|
|
872
875
|
:host(.navigation-item-side-nav.navigation-item-selected) .link,
|
@@ -10,13 +10,12 @@ export class NavigationItem {
|
|
10
10
|
this.isInitialRender = true;
|
11
11
|
this.displayDefaultNavigationItem = (href, hreflang, target, rel, referrerpolicy, download, label) => {
|
12
12
|
const variant = this.isTopNavChild || this.inTopNavSideMenu ? "body" : "label";
|
13
|
-
const tooltipId = "ic-tooltip-navigation-item";
|
14
13
|
const ChevronIconComponent = this.expandable && (h("div", { class: { svg: true }, innerHTML: chevronIcon }));
|
15
14
|
const IconComponent = this.el.querySelector('[slot="icon"]') && (h("div", { class: "icon" }, " ", h("slot", { name: "icon" }), " "));
|
16
15
|
if (href !== "") {
|
17
|
-
return (h("a", { href: href, target: target, rel: rel, hreflang: hreflang, referrerPolicy: referrerpolicy, download: download !== false ? download : null, class: "link", ref: (el) => (this.itemEl = el), part: "link"
|
16
|
+
return (h("a", { href: href, target: target, rel: rel, hreflang: hreflang, referrerPolicy: referrerpolicy, download: download !== false ? download : null, class: "link", ref: (el) => (this.itemEl = el), part: "link" }, IconComponent, h("ic-typography", { variant: variant }, label), ChevronIconComponent, target === "_blank" && (h("span", { class: "open-in-new-icon", innerHTML: OpenInNew }))));
|
18
17
|
}
|
19
|
-
return (h("div", { tabindex: "0", class: "link", ref: (el) => (this.itemEl = el)
|
18
|
+
return (h("div", { tabindex: "0", class: "link", ref: (el) => (this.itemEl = el) }, IconComponent, h("ic-typography", { variant: variant }, label), ChevronIconComponent));
|
20
19
|
};
|
21
20
|
this.topNavResizedHandler = (ev) => {
|
22
21
|
const newSize = ev.detail.size;
|
@@ -310,7 +309,8 @@ export class NavigationItem {
|
|
310
309
|
"resolved": "\"\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\"",
|
311
310
|
"references": {
|
312
311
|
"ReferrerPolicy": {
|
313
|
-
"location": "global"
|
312
|
+
"location": "global",
|
313
|
+
"id": "global::ReferrerPolicy"
|
314
314
|
}
|
315
315
|
}
|
316
316
|
},
|
@@ -419,7 +419,8 @@ export class NavigationItem {
|
|
419
419
|
"parameters": [],
|
420
420
|
"references": {
|
421
421
|
"Promise": {
|
422
|
-
"location": "global"
|
422
|
+
"location": "global",
|
423
|
+
"id": "global::Promise"
|
423
424
|
}
|
424
425
|
},
|
425
426
|
"return": "Promise<void>"
|