@ukic/web-components 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -0
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-a0a128bd.js → helpers-789082d4.js} +16 -37
- package/dist/cjs/helpers-789082d4.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +63 -36
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +4 -4
- package/dist/cjs/ic-badge.cjs.entry.js +40 -16
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/ic-button_3.cjs.entry.js +32 -7
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js +6 -6
- package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +4 -4
- package/dist/cjs/ic-checkbox.cjs.entry.js +6 -6
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +4 -4
- package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
- package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
- package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
- package/dist/cjs/ic-dialog.cjs.entry.js +3 -3
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +2 -2
- package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer.cjs.entry.js +4 -4
- package/dist/cjs/ic-hero.cjs.entry.js +5 -5
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +9 -9
- package/dist/cjs/ic-input-label_2.cjs.entry.js +8 -8
- package/dist/cjs/ic-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -3
- package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +12 -7
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
- package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
- package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
- package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
- package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
- package/dist/cjs/ic-radio-option.cjs.entry.js +6 -6
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
- package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
- package/dist/cjs/ic-select.cjs.entry.js +46 -49
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/ic-skip-link.cjs.entry.js +10 -3
- package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +15 -15
- 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-switch.cjs.entry.js +5 -5
- package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab.cjs.entry.js +3 -3
- package/dist/cjs/ic-text-field.cjs.entry.js +7 -7
- package/dist/cjs/ic-theme.cjs.entry.js +4 -2
- 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.cjs.entry.js +4 -4
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-toggle-button.cjs.entry.js +4 -4
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -5
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +4 -4
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-accordion/ic-accordion.css +3 -0
- package/dist/collection/components/ic-accordion-group/ic-accordion-group.css +1 -0
- package/dist/collection/components/ic-alert/ic-alert.css +3 -1
- package/dist/collection/components/ic-alert/ic-alert.js +85 -50
- package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +3 -3
- package/dist/collection/components/ic-badge/ic-badge.js +39 -15
- package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +2 -2
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
- package/dist/collection/components/ic-button/ic-button.css +18 -5
- package/dist/collection/components/ic-button/ic-button.stories.js +29 -52
- package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +20 -4
- package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +4 -4
- package/dist/collection/components/ic-checkbox/ic-checkbox.css +3 -1
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -4
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +3 -3
- package/dist/collection/components/ic-chip/ic-chip.js +3 -3
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +2 -2
- package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
- package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
- package/dist/collection/components/ic-dialog/ic-dialog.css +2 -1
- package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
- package/dist/collection/components/ic-divider/ic-divider.css +7 -4
- package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
- package/dist/collection/components/ic-footer/ic-footer.js +3 -3
- package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +0 -3
- package/dist/collection/components/ic-hero/ic-hero.js +4 -4
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
- package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
- package/dist/collection/components/ic-input-label/ic-input-label.js +4 -4
- package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
- package/dist/collection/components/ic-link/ic-link.js +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +3 -3
- package/dist/collection/components/ic-menu/ic-menu.js +3 -3
- package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
- package/dist/collection/components/ic-menu-item/ic-menu-item.css +2 -0
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +2 -2
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +0 -4
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +20 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +11 -6
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
- package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
- package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
- package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
- package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
- package/dist/collection/components/ic-radio-option/ic-radio-option.css +2 -1
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
- package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
- package/dist/collection/components/ic-select/ic-select.js +45 -48
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +2 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
- package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
- package/dist/collection/components/ic-skip-link/ic-skip-link.js +31 -3
- package/dist/collection/components/ic-skip-link/ic-skip-link.js.map +1 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.css +6 -0
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
- package/dist/collection/components/ic-step/ic-step.css +0 -3
- package/dist/collection/components/ic-step/ic-step.js +13 -13
- package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
- package/dist/collection/components/ic-switch/ic-switch.js +4 -4
- package/dist/collection/components/ic-tab/ic-tab.js +2 -2
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
- package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
- package/dist/collection/components/ic-text-field/ic-text-field.js +6 -6
- package/dist/collection/components/ic-theme/ic-theme.js +31 -3
- package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
- package/dist/collection/components/ic-toast/ic-toast.js +3 -3
- package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +6 -8
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +32 -2
- package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +3 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +4 -4
- package/dist/collection/components/ic-typography/ic-typography.css +2 -2
- package/dist/collection/components/ic-typography/ic-typography.js +2 -2
- package/dist/collection/utils/helpers.js +15 -36
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +16 -37
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-accordion-group.js.map +1 -1
- package/dist/components/ic-accordion.js.map +1 -1
- package/dist/components/ic-alert.js +66 -37
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-back-to-top.js +3 -3
- package/dist/components/ic-badge.js +39 -15
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js +2 -2
- package/dist/components/ic-breadcrumb2.js +2 -2
- package/dist/components/ic-button2.js +1 -1
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card-vertical.js +5 -5
- package/dist/components/ic-card-vertical.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +4 -4
- package/dist/components/ic-checkbox.js +6 -6
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +3 -3
- package/dist/components/ic-classification-banner.js +2 -2
- package/dist/components/ic-data-list.js +2 -2
- package/dist/components/ic-data-row.js +3 -3
- package/dist/components/ic-dialog.js +2 -2
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-divider2.js +2 -2
- package/dist/components/ic-divider2.js.map +1 -1
- package/dist/components/ic-empty-state.js +2 -2
- package/dist/components/ic-footer-link-group.js +1 -1
- package/dist/components/ic-footer-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js +2 -2
- package/dist/components/ic-footer.js +4 -4
- package/dist/components/ic-hero.js +5 -5
- package/dist/components/ic-horizontal-scroll2.js +6 -6
- package/dist/components/ic-input-component-container2.js +4 -4
- package/dist/components/ic-input-container2.js +2 -2
- package/dist/components/ic-input-label2.js +5 -5
- package/dist/components/ic-input-validation2.js +4 -4
- package/dist/components/ic-link2.js +1 -1
- package/dist/components/ic-loading-indicator2.js +3 -3
- package/dist/components/ic-menu-group.js +1 -1
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu2.js +4 -4
- package/dist/components/ic-navigation-button.js +2 -2
- package/dist/components/ic-navigation-group.js +3 -3
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +12 -7
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +5 -5
- package/dist/components/ic-page-header.js +6 -6
- package/dist/components/ic-pagination-item2.js +2 -2
- package/dist/components/ic-pagination.js +4 -4
- package/dist/components/ic-popover-menu.js +4 -4
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +5 -5
- package/dist/components/ic-radio-option.js +6 -6
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +10 -10
- package/dist/components/ic-section-container2.js +2 -2
- package/dist/components/ic-select.js +46 -49
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-side-navigation.js +5 -5
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +2 -2
- package/dist/components/ic-skip-link.js +12 -4
- package/dist/components/ic-skip-link.js.map +1 -1
- package/dist/components/ic-status-tag.js +2 -2
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +14 -14
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +3 -3
- package/dist/components/ic-switch.js +5 -5
- package/dist/components/ic-tab-context.js +1 -1
- package/dist/components/ic-tab-group.js +2 -2
- package/dist/components/ic-tab-panel.js +2 -2
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js +2 -2
- package/dist/components/ic-text-field.js +7 -7
- package/dist/components/ic-theme.js +3 -1
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-toast-region.js +1 -1
- package/dist/components/ic-toast.js +4 -4
- package/dist/components/ic-toggle-button-group.js +2 -2
- package/dist/components/ic-toggle-button.js +3 -3
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/components/ic-tooltip2.js +30 -2
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +5 -5
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-typography2.js +3 -3
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.css +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-c9726fbd.entry.js → p-005cd8a8.entry.js} +2 -2
- package/dist/core/p-005cd8a8.entry.js.map +1 -0
- package/dist/core/p-0631c3ab.entry.js +2 -0
- package/dist/core/p-0631c3ab.entry.js.map +1 -0
- package/dist/core/{p-5e1fd097.entry.js → p-0a8b3967.entry.js} +2 -2
- package/dist/core/{p-f43f411a.entry.js → p-0b4350df.entry.js} +2 -2
- package/dist/core/p-0e618fc5.entry.js +2 -0
- package/dist/core/{p-811d447b.entry.js.map → p-0e618fc5.entry.js.map} +1 -1
- package/dist/core/p-18ecba80.entry.js +2 -0
- package/dist/core/{p-a794b724.entry.js.map → p-18ecba80.entry.js.map} +1 -1
- package/dist/core/{p-f34efc17.entry.js → p-1e4cdd2d.entry.js} +2 -2
- package/dist/core/{p-a71055c9.entry.js → p-23d059ff.entry.js} +2 -2
- package/dist/core/{p-071f4748.entry.js → p-23ed8b99.entry.js} +2 -2
- package/dist/core/{p-ed8957da.js → p-281ce313.js} +2 -2
- package/dist/core/p-281ce313.js.map +1 -0
- package/dist/core/{p-49768069.entry.js → p-30abe545.entry.js} +2 -2
- package/dist/core/p-3132270d.entry.js +2 -0
- package/dist/core/p-3132270d.entry.js.map +1 -0
- package/dist/core/{p-1ac08e6d.entry.js → p-33c86ba6.entry.js} +2 -2
- package/dist/core/p-3675c4b4.entry.js +2 -0
- package/dist/core/p-3675c4b4.entry.js.map +1 -0
- package/dist/core/{p-a20a7cd3.entry.js → p-3b5d3e24.entry.js} +2 -2
- package/dist/core/{p-972671ea.entry.js → p-3eb7ef1d.entry.js} +2 -2
- package/dist/core/{p-110486f0.entry.js → p-40f2f58e.entry.js} +2 -2
- package/dist/core/p-4245a976.entry.js +2 -0
- package/dist/core/p-4245a976.entry.js.map +1 -0
- package/dist/core/{p-264ce7a0.entry.js → p-44e4e8c1.entry.js} +2 -2
- package/dist/core/p-44e4e8c1.entry.js.map +1 -0
- package/dist/core/{p-5c349c9d.entry.js → p-45432bf5.entry.js} +2 -2
- package/dist/core/p-45432bf5.entry.js.map +1 -0
- package/dist/core/p-4b601e06.entry.js +2 -0
- package/dist/core/p-4b601e06.entry.js.map +1 -0
- package/dist/core/{p-fa02a267.entry.js → p-4b6818d9.entry.js} +2 -2
- package/dist/core/p-517d7afb.entry.js +2 -0
- package/dist/core/p-517d7afb.entry.js.map +1 -0
- package/dist/core/{p-a103068b.entry.js → p-5206a978.entry.js} +2 -2
- package/dist/core/p-5d4b0480.entry.js +2 -0
- package/dist/core/p-5d4b0480.entry.js.map +1 -0
- package/dist/core/{p-1f455336.entry.js → p-5e18b899.entry.js} +2 -2
- package/dist/core/{p-0e96d4d8.entry.js → p-6337fe1f.entry.js} +2 -2
- package/dist/core/p-6337fe1f.entry.js.map +1 -0
- package/dist/core/p-63fe83ad.entry.js +2 -0
- package/dist/core/p-63fe83ad.entry.js.map +1 -0
- package/dist/core/{p-7e79bd0e.entry.js → p-6de6b6b7.entry.js} +2 -2
- package/dist/core/p-70700c7a.entry.js +2 -0
- package/dist/core/{p-20c4d90b.entry.js → p-7a0d238b.entry.js} +2 -2
- package/dist/core/{p-10cd26dc.entry.js → p-7afc71d0.entry.js} +2 -2
- package/dist/core/{p-10cd26dc.entry.js.map → p-7afc71d0.entry.js.map} +1 -1
- package/dist/core/{p-69e4daec.entry.js → p-7c0914e7.entry.js} +2 -2
- package/dist/core/{p-0d016565.entry.js → p-7dfe0284.entry.js} +2 -2
- package/dist/core/p-81a12e36.entry.js +2 -0
- package/dist/core/p-81a12e36.entry.js.map +1 -0
- package/dist/core/p-88924aef.entry.js +2 -0
- package/dist/core/p-88924aef.entry.js.map +1 -0
- package/dist/core/p-8ba129fc.entry.js +2 -0
- package/dist/core/p-8ba129fc.entry.js.map +1 -0
- package/dist/core/{p-85734ebf.entry.js → p-950db960.entry.js} +2 -2
- package/dist/core/p-950db960.entry.js.map +1 -0
- package/dist/core/{p-44e32417.entry.js → p-959a9cdf.entry.js} +2 -2
- package/dist/core/p-9ea9a4ce.entry.js +2 -0
- package/dist/core/p-9ea9a4ce.entry.js.map +1 -0
- package/dist/core/p-a9c96e3e.entry.js +2 -0
- package/dist/core/p-a9c96e3e.entry.js.map +1 -0
- package/dist/core/{p-74600ed8.entry.js → p-abaea607.entry.js} +2 -2
- package/dist/core/{p-85b7d931.entry.js → p-ac7db165.entry.js} +2 -2
- package/dist/core/p-ac7db165.entry.js.map +1 -0
- package/dist/core/p-acebb05c.entry.js +2 -0
- package/dist/core/p-acebb05c.entry.js.map +1 -0
- package/dist/core/{p-37df68fe.entry.js → p-b3ac38c5.entry.js} +2 -2
- package/dist/core/{p-17cf7b50.entry.js → p-b3d6d5be.entry.js} +2 -2
- package/dist/core/{p-729745d3.entry.js → p-bbe5596b.entry.js} +2 -2
- package/dist/core/p-c04f36c5.entry.js +2 -0
- package/dist/core/{p-4f2a1950.entry.js → p-c2ca6274.entry.js} +2 -2
- package/dist/core/p-c62318a8.entry.js +2 -0
- package/dist/core/{p-2537f33e.entry.js.map → p-c62318a8.entry.js.map} +1 -1
- package/dist/core/{p-701696aa.entry.js → p-de43d375.entry.js} +2 -2
- package/dist/core/{p-2b1a331b.entry.js → p-e2f893f0.entry.js} +2 -2
- package/dist/core/{p-d9aec0dd.entry.js → p-e56d0db2.entry.js} +2 -2
- package/dist/core/{p-33243fff.entry.js → p-e586ae7b.entry.js} +2 -2
- package/dist/core/{p-45595f98.entry.js → p-ef09b450.entry.js} +2 -2
- package/dist/core/p-ef09b450.entry.js.map +1 -0
- package/dist/core/{p-50f4d151.entry.js → p-f34eee68.entry.js} +2 -2
- package/dist/core/{p-8b268274.entry.js → p-f3c72ffb.entry.js} +2 -2
- package/dist/core/{p-8856dff4.entry.js → p-f815f8c9.entry.js} +2 -2
- package/dist/core/{p-a55e7988.entry.js → p-fbde763c.entry.js} +2 -2
- package/dist/core/p-fc50d582.entry.js +2 -0
- package/dist/core/p-fc50d582.entry.js.map +1 -0
- package/dist/core/{p-78e7a859.entry.js → p-fe833509.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-dd035d0d.js → helpers-46a2d1fd.js} +17 -38
- package/dist/esm/helpers-46a2d1fd.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion-group.entry.js.map +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js.map +1 -1
- package/dist/esm/ic-alert.entry.js +63 -36
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +4 -4
- package/dist/esm/ic-badge.entry.js +40 -16
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
- package/dist/esm/ic-breadcrumb.entry.js +3 -3
- package/dist/esm/ic-button_3.entry.js +32 -7
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-vertical.entry.js +6 -6
- package/dist/esm/ic-card-vertical.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +4 -4
- package/dist/esm/ic-checkbox.entry.js +6 -6
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +4 -4
- package/dist/esm/ic-classification-banner.entry.js +2 -2
- package/dist/esm/ic-data-list.entry.js +2 -2
- package/dist/esm/ic-data-row.entry.js +3 -3
- package/dist/esm/ic-dialog.entry.js +3 -3
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +2 -2
- package/dist/esm/ic-divider.entry.js.map +1 -1
- package/dist/esm/ic-empty-state.entry.js +3 -3
- package/dist/esm/ic-footer-link-group.entry.js +2 -2
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +3 -3
- package/dist/esm/ic-footer.entry.js +4 -4
- package/dist/esm/ic-hero.entry.js +5 -5
- package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
- package/dist/esm/ic-input-component-container_3.entry.js +9 -9
- package/dist/esm/ic-input-label_2.entry.js +8 -8
- package/dist/esm/ic-link.entry.js +2 -2
- package/dist/esm/ic-menu-group.entry.js +2 -2
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +3 -3
- package/dist/esm/ic-navigation-group.entry.js +3 -3
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +12 -7
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +5 -5
- package/dist/esm/ic-page-header.entry.js +7 -7
- package/dist/esm/ic-pagination-item.entry.js +2 -2
- package/dist/esm/ic-pagination.entry.js +5 -5
- package/dist/esm/ic-popover-menu.entry.js +5 -5
- package/dist/esm/ic-radio-group.entry.js +5 -5
- package/dist/esm/ic-radio-option.entry.js +6 -6
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +10 -10
- package/dist/esm/ic-section-container.entry.js +2 -2
- package/dist/esm/ic-select.entry.js +46 -49
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +5 -5
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +2 -2
- package/dist/esm/ic-skip-link.entry.js +10 -3
- package/dist/esm/ic-skip-link.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +3 -3
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +15 -15
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +3 -3
- package/dist/esm/ic-switch.entry.js +5 -5
- package/dist/esm/ic-tab-context.entry.js +1 -1
- package/dist/esm/ic-tab-group.entry.js +3 -3
- package/dist/esm/ic-tab-panel.entry.js +2 -2
- package/dist/esm/ic-tab.entry.js +3 -3
- package/dist/esm/ic-text-field.entry.js +7 -7
- package/dist/esm/ic-theme.entry.js +4 -2
- 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.entry.js +4 -4
- package/dist/esm/ic-toggle-button-group.entry.js +3 -3
- package/dist/esm/ic-toggle-button.entry.js +4 -4
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +5 -5
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +4 -4
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-alert/ic-alert.d.ts +17 -9
- package/dist/types/components/ic-badge/ic-badge.d.ts +4 -0
- package/dist/types/components/ic-select/ic-select.d.ts +1 -0
- package/dist/types/components/ic-skip-link/ic-skip-link.d.ts +5 -0
- package/dist/types/components/ic-theme/ic-theme.d.ts +6 -2
- package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +3 -0
- package/dist/types/components.d.ts +20 -11
- package/dist/types/utils/helpers.d.ts +5 -1
- package/dist/types/utils/types.d.ts +1 -0
- package/hydrate/index.js +385 -318
- package/hydrate/index.mjs +385 -318
- package/package.json +3 -3
- package/dist/cjs/helpers-a0a128bd.js.map +0 -1
- package/dist/core/p-06d97789.entry.js +0 -2
- package/dist/core/p-06d97789.entry.js.map +0 -1
- package/dist/core/p-09070f61.entry.js +0 -2
- package/dist/core/p-0c0ac69d.entry.js +0 -2
- package/dist/core/p-0c0ac69d.entry.js.map +0 -1
- package/dist/core/p-0e96d4d8.entry.js.map +0 -1
- package/dist/core/p-116ad73d.entry.js +0 -2
- package/dist/core/p-116ad73d.entry.js.map +0 -1
- package/dist/core/p-1171a945.entry.js +0 -2
- package/dist/core/p-1171a945.entry.js.map +0 -1
- package/dist/core/p-2537f33e.entry.js +0 -2
- package/dist/core/p-264ce7a0.entry.js.map +0 -1
- package/dist/core/p-28656111.entry.js +0 -2
- package/dist/core/p-28656111.entry.js.map +0 -1
- package/dist/core/p-45595f98.entry.js.map +0 -1
- package/dist/core/p-4c68494c.entry.js +0 -2
- package/dist/core/p-4c68494c.entry.js.map +0 -1
- package/dist/core/p-55a37101.entry.js +0 -2
- package/dist/core/p-55a37101.entry.js.map +0 -1
- package/dist/core/p-5c349c9d.entry.js.map +0 -1
- package/dist/core/p-73fc198f.entry.js +0 -2
- package/dist/core/p-73fc198f.entry.js.map +0 -1
- package/dist/core/p-7eaf8da8.entry.js +0 -2
- package/dist/core/p-811d447b.entry.js +0 -2
- package/dist/core/p-85734ebf.entry.js.map +0 -1
- package/dist/core/p-85b7d931.entry.js.map +0 -1
- package/dist/core/p-98328cb9.entry.js +0 -2
- package/dist/core/p-98328cb9.entry.js.map +0 -1
- package/dist/core/p-a22658fb.entry.js +0 -2
- package/dist/core/p-a22658fb.entry.js.map +0 -1
- package/dist/core/p-a794b724.entry.js +0 -2
- package/dist/core/p-b21b4fea.entry.js +0 -2
- package/dist/core/p-b21b4fea.entry.js.map +0 -1
- package/dist/core/p-b953b22f.entry.js +0 -2
- package/dist/core/p-b953b22f.entry.js.map +0 -1
- package/dist/core/p-c9726fbd.entry.js.map +0 -1
- package/dist/core/p-d981598e.entry.js +0 -2
- package/dist/core/p-d981598e.entry.js.map +0 -1
- package/dist/core/p-ed8957da.js.map +0 -1
- package/dist/core/p-f3315216.entry.js +0 -2
- package/dist/core/p-f3315216.entry.js.map +0 -1
- package/dist/core/p-ff995eb8.entry.js +0 -2
- package/dist/core/p-ff995eb8.entry.js.map +0 -1
- package/dist/esm/helpers-dd035d0d.js.map +0 -1
- /package/dist/core/{p-5e1fd097.entry.js.map → p-0a8b3967.entry.js.map} +0 -0
- /package/dist/core/{p-f43f411a.entry.js.map → p-0b4350df.entry.js.map} +0 -0
- /package/dist/core/{p-f34efc17.entry.js.map → p-1e4cdd2d.entry.js.map} +0 -0
- /package/dist/core/{p-a71055c9.entry.js.map → p-23d059ff.entry.js.map} +0 -0
- /package/dist/core/{p-071f4748.entry.js.map → p-23ed8b99.entry.js.map} +0 -0
- /package/dist/core/{p-49768069.entry.js.map → p-30abe545.entry.js.map} +0 -0
- /package/dist/core/{p-1ac08e6d.entry.js.map → p-33c86ba6.entry.js.map} +0 -0
- /package/dist/core/{p-a20a7cd3.entry.js.map → p-3b5d3e24.entry.js.map} +0 -0
- /package/dist/core/{p-972671ea.entry.js.map → p-3eb7ef1d.entry.js.map} +0 -0
- /package/dist/core/{p-110486f0.entry.js.map → p-40f2f58e.entry.js.map} +0 -0
- /package/dist/core/{p-fa02a267.entry.js.map → p-4b6818d9.entry.js.map} +0 -0
- /package/dist/core/{p-a103068b.entry.js.map → p-5206a978.entry.js.map} +0 -0
- /package/dist/core/{p-1f455336.entry.js.map → p-5e18b899.entry.js.map} +0 -0
- /package/dist/core/{p-7e79bd0e.entry.js.map → p-6de6b6b7.entry.js.map} +0 -0
- /package/dist/core/{p-09070f61.entry.js.map → p-70700c7a.entry.js.map} +0 -0
- /package/dist/core/{p-20c4d90b.entry.js.map → p-7a0d238b.entry.js.map} +0 -0
- /package/dist/core/{p-69e4daec.entry.js.map → p-7c0914e7.entry.js.map} +0 -0
- /package/dist/core/{p-0d016565.entry.js.map → p-7dfe0284.entry.js.map} +0 -0
- /package/dist/core/{p-44e32417.entry.js.map → p-959a9cdf.entry.js.map} +0 -0
- /package/dist/core/{p-74600ed8.entry.js.map → p-abaea607.entry.js.map} +0 -0
- /package/dist/core/{p-37df68fe.entry.js.map → p-b3ac38c5.entry.js.map} +0 -0
- /package/dist/core/{p-17cf7b50.entry.js.map → p-b3d6d5be.entry.js.map} +0 -0
- /package/dist/core/{p-729745d3.entry.js.map → p-bbe5596b.entry.js.map} +0 -0
- /package/dist/core/{p-7eaf8da8.entry.js.map → p-c04f36c5.entry.js.map} +0 -0
- /package/dist/core/{p-4f2a1950.entry.js.map → p-c2ca6274.entry.js.map} +0 -0
- /package/dist/core/{p-701696aa.entry.js.map → p-de43d375.entry.js.map} +0 -0
- /package/dist/core/{p-2b1a331b.entry.js.map → p-e2f893f0.entry.js.map} +0 -0
- /package/dist/core/{p-d9aec0dd.entry.js.map → p-e56d0db2.entry.js.map} +0 -0
- /package/dist/core/{p-33243fff.entry.js.map → p-e586ae7b.entry.js.map} +0 -0
- /package/dist/core/{p-50f4d151.entry.js.map → p-f34eee68.entry.js.map} +0 -0
- /package/dist/core/{p-8b268274.entry.js.map → p-f3c72ffb.entry.js.map} +0 -0
- /package/dist/core/{p-8856dff4.entry.js.map → p-f815f8c9.entry.js.map} +0 -0
- /package/dist/core/{p-a55e7988.entry.js.map → p-fbde763c.entry.js.map} +0 -0
- /package/dist/core/{p-78e7a859.entry.js.map → p-fe833509.entry.js.map} +0 -0
@@ -1,7 +1,6 @@
|
|
1
1
|
import { Host, h, } from "@stencil/core";
|
2
2
|
import closeIcon from "../../assets/close-icon.svg";
|
3
|
-
import { isSlotUsed, renderDynamicChildSlots } from "../../utils/helpers";
|
4
|
-
import { IcBrandForegroundEnum, } from "../../utils/types";
|
3
|
+
import { isSlotUsed, pxToRem, renderDynamicChildSlots, } from "../../utils/helpers";
|
5
4
|
import { VARIANT_ICONS } from "../../utils/constants";
|
6
5
|
/**
|
7
6
|
* @slot message - Content is placed to the right of the title.
|
@@ -11,6 +10,8 @@ import { VARIANT_ICONS } from "../../utils/constants";
|
|
11
10
|
export class Alert {
|
12
11
|
constructor() {
|
13
12
|
this.hostMutationObserver = null;
|
13
|
+
this.systemThemeObserver = null;
|
14
|
+
this.darkMode = false;
|
14
15
|
this.alertTitleWrap = false;
|
15
16
|
this.visible = true;
|
16
17
|
/**
|
@@ -44,56 +45,78 @@ export class Alert {
|
|
44
45
|
this.dismissAction = () => {
|
45
46
|
this.icDismiss.emit();
|
46
47
|
};
|
48
|
+
this.calculateMinHeight = () => {
|
49
|
+
var _a;
|
50
|
+
const contentHeight = Number((_a = this.messageEl) === null || _a === void 0 ? void 0 : _a.clientHeight);
|
51
|
+
const minHeight = pxToRem(`${(contentHeight > 40 ? contentHeight : 52) + (this.darkMode ? 0 : 4)}`);
|
52
|
+
if (this.el.style.getPropertyValue("--ic-alert-min-height") !== minHeight)
|
53
|
+
this.el.style.setProperty("--ic-alert-min-height", minHeight);
|
54
|
+
};
|
55
|
+
}
|
56
|
+
themeChangeHandler() {
|
57
|
+
if (this.theme !== "inherit")
|
58
|
+
this.darkMode = this.theme === "dark";
|
47
59
|
}
|
48
60
|
disconnectedCallback() {
|
49
|
-
var _a;
|
61
|
+
var _a, _b;
|
50
62
|
(_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
63
|
+
(_b = this.systemThemeObserver) === null || _b === void 0 ? void 0 : _b.removeEventListener("change", this.darkModeChangeHandler);
|
64
|
+
}
|
65
|
+
componentWillLoad() {
|
66
|
+
if (!this.el.closest("ic-theme")) {
|
67
|
+
this.systemThemeObserver = window.matchMedia("(prefers-color-scheme: dark)");
|
68
|
+
this.systemThemeObserver.addEventListener("change", this.darkModeChangeHandler);
|
69
|
+
this.darkMode = this.systemThemeObserver.matches;
|
70
|
+
}
|
71
|
+
this.themeChangeHandler();
|
51
72
|
}
|
52
73
|
componentDidLoad() {
|
53
|
-
|
74
|
+
var _a;
|
75
|
+
if (Number((_a = this.titleEl) === null || _a === void 0 ? void 0 : _a.clientHeight) > 24)
|
76
|
+
this.alertTitleWrap = true;
|
54
77
|
this.hostMutationObserver = new MutationObserver((mutationList) => renderDynamicChildSlots(mutationList, "action", this));
|
55
78
|
this.hostMutationObserver.observe(this.el, {
|
56
79
|
childList: true,
|
57
80
|
});
|
81
|
+
this.calculateMinHeight();
|
82
|
+
}
|
83
|
+
componentDidUpdate() {
|
84
|
+
this.calculateMinHeight();
|
58
85
|
}
|
59
86
|
handleClick() {
|
60
87
|
this.visible = !this.visible;
|
61
88
|
}
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
if (titleHeight && titleHeight > 24)
|
66
|
-
this.alertTitleWrap = true;
|
89
|
+
darkModeChangeHandler(ev) {
|
90
|
+
this.darkMode = "detail" in ev ? ev.detail === "dark" : ev.matches;
|
91
|
+
this.calculateMinHeight();
|
67
92
|
}
|
68
93
|
render() {
|
69
|
-
const { variant, heading, message, titleAbove, dismissible, announced, visible, showDefaultIcon, theme, } = this;
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
["container"]: true,
|
75
|
-
[`container-${variant}`]: true,
|
76
|
-
} }, h("div", { key: '2ce18b9ad21036175efac411f6f975c042d1b262', class: "alert-icon-container" }, h("div", { key: 'd472ee06999d1f7ac81e4f17b7d951ad0d014c5f', class: {
|
77
|
-
["divider"]: true,
|
78
|
-
[`divider-${variant}`]: true,
|
79
|
-
} }), variant === "neutral" ? (isSlotUsed(this.el, "neutral-icon") ? (h("div", { class: "alert-icon svg-container icon-neutral" }, h("slot", { name: "neutral-icon" }))) : showDefaultIcon ? (h("span", { class: {
|
80
|
-
["alert-icon"]: true,
|
81
|
-
["svg-container"]: true,
|
82
|
-
[`icon-${variant}`]: true,
|
83
|
-
}, innerHTML: VARIANT_ICONS[variant].icon })) : (h("div", { class: "icon-placeholder" }))) : (h("span", { class: {
|
84
|
-
["alert-icon"]: true,
|
85
|
-
["svg-container"]: true,
|
94
|
+
const { variant, heading, message, titleAbove, dismissible, announced, visible, showDefaultIcon, theme, alertTitleWrap, dismissAction, } = this;
|
95
|
+
const Icon = () => {
|
96
|
+
const iconClass = {
|
97
|
+
"alert-icon": true,
|
98
|
+
"svg-container": true,
|
86
99
|
[`icon-${variant}`]: true,
|
87
|
-
}
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
100
|
+
};
|
101
|
+
if (variant === "neutral") {
|
102
|
+
if (isSlotUsed(this.el, "neutral-icon")) {
|
103
|
+
return (h("div", { class: iconClass }, h("slot", { name: "neutral-icon" })));
|
104
|
+
}
|
105
|
+
else if (!showDefaultIcon) {
|
106
|
+
return h("div", { class: "icon-placeholder" });
|
107
|
+
}
|
108
|
+
}
|
109
|
+
return (h("span", { class: iconClass, innerHTML: VARIANT_ICONS[variant].icon }));
|
110
|
+
};
|
111
|
+
return (visible && (h(Host, { role: announced ? "alert" : null, class: {
|
112
|
+
[`ic-theme-${theme}`]: theme !== "inherit",
|
113
|
+
} }, h("div", { class: { container: true, [`container-${variant}`]: true } }, h("div", { class: "alert-icon-container" }, h("div", { class: { divider: true, [`divider-${variant}`]: true } }), h(Icon, null)), h("div", { class: "alert-content" }, h("div", { class: {
|
114
|
+
"alert-message": true,
|
115
|
+
"alert-message-title-above": titleAbove || alertTitleWrap,
|
116
|
+
}, ref: (el) => (this.messageEl = el) }, heading && (h("ic-typography", { class: {
|
117
|
+
"alert-title": true,
|
118
|
+
"alert-title-above": titleAbove || alertTitleWrap,
|
119
|
+
}, variant: "subtitle-large", ref: (el) => (this.titleEl = el) }, h("p", null, heading))), h("slot", { name: "message" }, h("ic-typography", { variant: "body" }, message))), isSlotUsed(this.el, "action") && (h("div", { class: "alert-action-container" }, h("slot", { name: "action" })))), h("div", { class: "dismiss-icon-container" }, dismissible && (h("ic-button", { class: { "svg-container": true, "dismiss-icon": true }, innerHTML: closeIcon, onClick: dismissAction, variant: "icon", theme: "dark", title: "Dismiss" })))))));
|
97
120
|
}
|
98
121
|
static get is() { return "ic-alert"; }
|
99
122
|
static get encapsulation() { return "shadow"; }
|
@@ -114,11 +137,11 @@ export class Alert {
|
|
114
137
|
"mutable": false,
|
115
138
|
"complexType": {
|
116
139
|
"original": "boolean",
|
117
|
-
"resolved": "boolean
|
140
|
+
"resolved": "boolean",
|
118
141
|
"references": {}
|
119
142
|
},
|
120
143
|
"required": false,
|
121
|
-
"optional":
|
144
|
+
"optional": false,
|
122
145
|
"docs": {
|
123
146
|
"tags": [],
|
124
147
|
"text": "If `true`, the alert will have the 'alert' ARIA role and will be announced to screen readers."
|
@@ -134,11 +157,11 @@ export class Alert {
|
|
134
157
|
"mutable": false,
|
135
158
|
"complexType": {
|
136
159
|
"original": "boolean",
|
137
|
-
"resolved": "boolean
|
160
|
+
"resolved": "boolean",
|
138
161
|
"references": {}
|
139
162
|
},
|
140
163
|
"required": false,
|
141
|
-
"optional":
|
164
|
+
"optional": false,
|
142
165
|
"docs": {
|
143
166
|
"tags": [],
|
144
167
|
"text": "If `true`, the alert will have a close icon at the end to dismiss it."
|
@@ -154,11 +177,11 @@ export class Alert {
|
|
154
177
|
"mutable": false,
|
155
178
|
"complexType": {
|
156
179
|
"original": "string",
|
157
|
-
"resolved": "string
|
180
|
+
"resolved": "string",
|
158
181
|
"references": {}
|
159
182
|
},
|
160
183
|
"required": false,
|
161
|
-
"optional":
|
184
|
+
"optional": false,
|
162
185
|
"docs": {
|
163
186
|
"tags": [],
|
164
187
|
"text": "The optional title to display at the start of the alert."
|
@@ -193,11 +216,11 @@ export class Alert {
|
|
193
216
|
"mutable": false,
|
194
217
|
"complexType": {
|
195
218
|
"original": "boolean",
|
196
|
-
"resolved": "boolean
|
219
|
+
"resolved": "boolean",
|
197
220
|
"references": {}
|
198
221
|
},
|
199
222
|
"required": false,
|
200
|
-
"optional":
|
223
|
+
"optional": false,
|
201
224
|
"docs": {
|
202
225
|
"tags": [],
|
203
226
|
"text": "If `true`, the default icon for the neutral variant will appear on the left of the alert."
|
@@ -213,7 +236,7 @@ export class Alert {
|
|
213
236
|
"mutable": false,
|
214
237
|
"complexType": {
|
215
238
|
"original": "IcThemeMode",
|
216
|
-
"resolved": "\"dark\" | \"inherit\" | \"light\"
|
239
|
+
"resolved": "\"dark\" | \"inherit\" | \"light\"",
|
217
240
|
"references": {
|
218
241
|
"IcThemeMode": {
|
219
242
|
"location": "import",
|
@@ -223,7 +246,7 @@ export class Alert {
|
|
223
246
|
}
|
224
247
|
},
|
225
248
|
"required": false,
|
226
|
-
"optional":
|
249
|
+
"optional": false,
|
227
250
|
"docs": {
|
228
251
|
"tags": [],
|
229
252
|
"text": "Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component."
|
@@ -239,11 +262,11 @@ export class Alert {
|
|
239
262
|
"mutable": false,
|
240
263
|
"complexType": {
|
241
264
|
"original": "boolean",
|
242
|
-
"resolved": "boolean
|
265
|
+
"resolved": "boolean",
|
243
266
|
"references": {}
|
244
267
|
},
|
245
268
|
"required": false,
|
246
|
-
"optional":
|
269
|
+
"optional": false,
|
247
270
|
"docs": {
|
248
271
|
"tags": [],
|
249
272
|
"text": "If `true`, the title and message will appear above and below instead of inline."
|
@@ -259,7 +282,7 @@ export class Alert {
|
|
259
282
|
"mutable": false,
|
260
283
|
"complexType": {
|
261
284
|
"original": "IcStatusVariants",
|
262
|
-
"resolved": "\"error\" | \"info\" | \"neutral\" | \"success\" | \"warning\"
|
285
|
+
"resolved": "\"error\" | \"info\" | \"neutral\" | \"success\" | \"warning\"",
|
263
286
|
"references": {
|
264
287
|
"IcStatusVariants": {
|
265
288
|
"location": "import",
|
@@ -269,7 +292,7 @@ export class Alert {
|
|
269
292
|
}
|
270
293
|
},
|
271
294
|
"required": false,
|
272
|
-
"optional":
|
295
|
+
"optional": false,
|
273
296
|
"docs": {
|
274
297
|
"tags": [],
|
275
298
|
"text": "The variant of the alert which will be rendered."
|
@@ -307,6 +330,12 @@ export class Alert {
|
|
307
330
|
}];
|
308
331
|
}
|
309
332
|
static get elementRef() { return "el"; }
|
333
|
+
static get watchers() {
|
334
|
+
return [{
|
335
|
+
"propName": "theme",
|
336
|
+
"methodName": "themeChangeHandler"
|
337
|
+
}];
|
338
|
+
}
|
310
339
|
static get listeners() {
|
311
340
|
return [{
|
312
341
|
"name": "icDismiss",
|
@@ -314,6 +343,12 @@ export class Alert {
|
|
314
343
|
"target": undefined,
|
315
344
|
"capture": true,
|
316
345
|
"passive": false
|
346
|
+
}, {
|
347
|
+
"name": "icThemeChange",
|
348
|
+
"method": "darkModeChangeHandler",
|
349
|
+
"target": "document",
|
350
|
+
"capture": true,
|
351
|
+
"passive": false
|
317
352
|
}];
|
318
353
|
}
|
319
354
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-alert.js","sourceRoot":"","sources":["../../../src/components/ic-alert/ic-alert.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,IAAI,EACJ,CAAC,GACF,MAAM,eAAe,CAAC;AACvB,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EACL,qBAAqB,GAGtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;;GAIG;AAMH,MAAM,OAAO,KAAK;IALlB;QAMU,yBAAoB,GAA4B,IAAI,CAAC;QAIpD,mBAAc,GAAY,KAAK,CAAC;QAChC,YAAO,GAAY,IAAI,CAAC;QAEjC;;WAEG;QACK,cAAS,GAAa,IAAI,CAAC;QAEnC;;WAEG;QACK,gBAAW,GAAa,KAAK,CAAC;QAEtC;;WAEG;QACK,YAAO,GAAY,EAAE,CAAC;QAO9B;;WAEG;QACK,oBAAe,GAAa,IAAI,CAAC;QAEzC;;WAEG;QACK,UAAK,GAAiB,SAAS,CAAC;QAExC;;WAEG;QACK,eAAU,GAAa,KAAK,CAAC;QAErC;;WAEG;QACK,YAAO,GAAsB,SAAS,CAAC;QA2BvC,kBAAa,GAAG,GAAS,EAAE;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC,CAAC;KAwHH;IA9IC,oBAAoB;;QAClB,MAAA,IAAI,CAAC,oBAAoB,0CAAE,UAAU,EAAE,CAAC;IAC1C,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,gBAAgB,CAAC,CAAC,YAAY,EAAE,EAAE,CAChE,uBAAuB,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,CACtD,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;YACzC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAGD,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAMO,oBAAoB;;QAC1B,MAAM,WAAW,GACf,MAAA,MAAA,IAAI,CAAC,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,cAAc,CAAC,0CAAE,YAAY,CAAC;QAClE,IAAI,WAAW,IAAI,WAAW,GAAG,EAAE;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAClE,CAAC;IAED,MAAM;QACJ,MAAM,EACJ,OAAO,EACP,OAAO,EACP,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,EACP,eAAe,EACf,KAAK,GACN,GAAG,IAAI,CAAC;QAET,OAAO,CACL,OAAO,IAAI,CACT,EAAC,IAAI,qDACH,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAChC,KAAK,EAAE;gBACL,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI;gBAClC,CAAC,YAAY,KAAK,EAAE,CAAC,EAAE,KAAK,KAAK,SAAS;aAC3C;YAED,4DACE,KAAK,EAAE;oBACL,CAAC,WAAW,CAAC,EAAE,IAAI;oBACnB,CAAC,aAAa,OAAO,EAAE,CAAC,EAAE,IAAI;iBAC/B;gBAED,4DAAK,KAAK,EAAC,sBAAsB;oBAC/B,4DACE,KAAK,EAAE;4BACL,CAAC,SAAS,CAAC,EAAE,IAAI;4BACjB,CAAC,WAAW,OAAO,EAAE,CAAC,EAAE,IAAI;yBAC7B,GACI;oBACN,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CACvB,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CACpC,WAAK,KAAK,EAAC,uCAAuC;wBAChD,YAAM,IAAI,EAAC,cAAc,GAAQ,CAC7B,CACP,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CACpB,YACE,KAAK,EAAE;4BACL,CAAC,YAAY,CAAC,EAAE,IAAI;4BACpB,CAAC,eAAe,CAAC,EAAE,IAAI;4BACvB,CAAC,QAAQ,OAAO,EAAE,CAAC,EAAE,IAAI;yBAC1B,EACD,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,GAChC,CACT,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAC,kBAAkB,GAAO,CACrC,CACF,CAAC,CAAC,CAAC,CACF,YACE,KAAK,EAAE;4BACL,CAAC,YAAY,CAAC,EAAE,IAAI;4BACpB,CAAC,eAAe,CAAC,EAAE,IAAI;4BACvB,CAAC,QAAQ,OAAO,EAAE,CAAC,EAAE,IAAI;yBAC1B,EACD,SAAS,EAAE,aAAa,CAAC,OAAQ,CAAC,CAAC,IAAI,GACjC,CACT,CACG;gBACN,4DAAK,KAAK,EAAC,eAAe;oBACxB,4DACE,KAAK,EAAE;4BACL,CAAC,eAAe,CAAC,EAAE,IAAI;4BACvB,CAAC,2BAA2B,CAAC,EAC3B,UAAU,IAAI,IAAI,CAAC,cAAc;yBACpC;wBAEA,OAAO,IAAI,CACV,sEACE,KAAK,EAAE;gCACL,CAAC,aAAa,CAAC,EAAE,IAAI;gCACrB,CAAC,mBAAmB,CAAC,EAAE,UAAU,IAAI,IAAI,CAAC,cAAc;6BACzD,EACD,OAAO,EAAC,gBAAgB;4BAExB,4DAAI,OAAO,CAAK,CACF,CACjB;wBACD,6DAAM,IAAI,EAAC,SAAS;4BAClB,sEAAe,OAAO,EAAC,MAAM,IAAE,OAAO,CAAiB,CAClD,CACH;oBACL,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAChC,4DAAK,KAAK,EAAC,wBAAwB;wBACjC,6DAAM,IAAI,EAAC,QAAQ,GAAG,CAClB,CACP,CACG;gBACN,4DAAK,KAAK,EAAC,wBAAwB,IAChC,WAAW,IAAI,CACd,kEACE,KAAK,EAAE;wBACL,CAAC,eAAe,CAAC,EAAE,IAAI;wBACvB,CAAC,cAAc,CAAC,EAAE,IAAI;qBACvB,EACD,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,OAAO,EAAC,MAAM,EACd,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,SAAS,GACJ,CACd,CACG,CACF,CACD,CACR,CACF,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n State,\n Listen,\n Prop,\n h,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { isSlotUsed, renderDynamicChildSlots } from \"../../utils/helpers\";\nimport {\n IcBrandForegroundEnum,\n IcStatusVariants,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\n\n/**\n * @slot message - Content is placed to the right of the title.\n * @slot action - Content is placed to the right of the message.\n * @slot neutral-icon - A custom neutral icon is placed to the left of the title. This will override the default icon if used.\n */\n@Component({\n tag: \"ic-alert\",\n styleUrl: \"ic-alert.css\",\n shadow: true,\n})\nexport class Alert {\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el: HTMLIcAlertElement;\n\n @State() alertTitleWrap: boolean = false;\n @State() visible: boolean = true;\n\n /**\n * If `true`, the alert will have the 'alert' ARIA role and will be announced to screen readers.\n */\n @Prop() announced?: boolean = true;\n\n /**\n * If `true`, the alert will have a close icon at the end to dismiss it.\n */\n @Prop() dismissible?: boolean = false;\n\n /**\n * The optional title to display at the start of the alert.\n */\n @Prop() heading?: string = \"\";\n\n /**\n * The main body message of the alert.\n */\n @Prop() message?: string;\n\n /**\n * If `true`, the default icon for the neutral variant will appear on the left of the alert.\n */\n @Prop() showDefaultIcon?: boolean = true;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * If `true`, the title and message will appear above and below instead of inline.\n */\n @Prop() titleAbove?: boolean = false;\n\n /**\n * The variant of the alert which will be rendered.\n */\n @Prop() variant?: IcStatusVariants = \"neutral\";\n\n /**\n * Is emitted when the user dismisses the alert.\n */\n @Event() icDismiss: EventEmitter<void>;\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentDidLoad(): void {\n this.alertTitleShouldWrap();\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(mutationList, \"action\", this)\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleClick(): void {\n this.visible = !this.visible;\n }\n\n private dismissAction = (): void => {\n this.icDismiss.emit();\n };\n\n private alertTitleShouldWrap() {\n const titleHeight =\n this.el.shadowRoot?.querySelector(\".alert-title\")?.clientHeight;\n if (titleHeight && titleHeight > 24) this.alertTitleWrap = true;\n }\n\n render() {\n const {\n variant,\n heading,\n message,\n titleAbove,\n dismissible,\n announced,\n visible,\n showDefaultIcon,\n theme,\n } = this;\n\n return (\n visible && (\n <Host\n role={announced ? \"alert\" : null}\n class={{\n [IcBrandForegroundEnum.Dark]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div\n class={{\n [\"container\"]: true,\n [`container-${variant}`]: true,\n }}\n >\n <div class=\"alert-icon-container\">\n <div\n class={{\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n }}\n ></div>\n {variant === \"neutral\" ? (\n isSlotUsed(this.el, \"neutral-icon\") ? (\n <div class=\"alert-icon svg-container icon-neutral\">\n <slot name=\"neutral-icon\"></slot>\n </div>\n ) : showDefaultIcon ? (\n <span\n class={{\n [\"alert-icon\"]: true,\n [\"svg-container\"]: true,\n [`icon-${variant}`]: true,\n }}\n innerHTML={VARIANT_ICONS[variant].icon}\n ></span>\n ) : (\n <div class=\"icon-placeholder\"></div>\n )\n ) : (\n <span\n class={{\n [\"alert-icon\"]: true,\n [\"svg-container\"]: true,\n [`icon-${variant}`]: true,\n }}\n innerHTML={VARIANT_ICONS[variant!].icon}\n ></span>\n )}\n </div>\n <div class=\"alert-content\">\n <div\n class={{\n [\"alert-message\"]: true,\n [\"alert-message-title-above\"]:\n titleAbove || this.alertTitleWrap,\n }}\n >\n {heading && (\n <ic-typography\n class={{\n [\"alert-title\"]: true,\n [\"alert-title-above\"]: titleAbove || this.alertTitleWrap,\n }}\n variant=\"subtitle-large\"\n >\n <p>{heading}</p>\n </ic-typography>\n )}\n <slot name=\"message\">\n <ic-typography variant=\"body\">{message}</ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"alert-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n <div class=\"dismiss-icon-container\">\n {dismissible && (\n <ic-button\n class={{\n [\"svg-container\"]: true,\n [\"dismiss-icon\"]: true,\n }}\n innerHTML={closeIcon}\n onClick={this.dismissAction}\n variant=\"icon\"\n theme=\"dark\"\n title=\"Dismiss\"\n ></ic-button>\n )}\n </div>\n </div>\n </Host>\n )\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"ic-alert.js","sourceRoot":"","sources":["../../../src/components/ic-alert/ic-alert.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n State,\n Listen,\n Prop,\n h,\n Watch,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport {\n isSlotUsed,\n pxToRem,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport {\n IcStatusVariants,\n IcThemeMode,\n IcThemeSettings,\n} from \"../../utils/types\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\n\n/**\n * @slot message - Content is placed to the right of the title.\n * @slot action - Content is placed to the right of the message.\n * @slot neutral-icon - A custom neutral icon is placed to the left of the title. This will override the default icon if used.\n */\n@Component({\n tag: \"ic-alert\",\n styleUrl: \"ic-alert.css\",\n shadow: true,\n})\nexport class Alert {\n private hostMutationObserver: MutationObserver | null = null;\n private systemThemeObserver: MediaQueryList | null = null;\n private darkMode: boolean = false;\n private messageEl?: HTMLDivElement;\n private titleEl?: HTMLIcTypographyElement;\n\n @Element() el: HTMLIcAlertElement;\n\n @State() alertTitleWrap: boolean = false;\n @State() visible: boolean = true;\n\n /**\n * If `true`, the alert will have the 'alert' ARIA role and will be announced to screen readers.\n */\n @Prop() announced: boolean = true;\n\n /**\n * If `true`, the alert will have a close icon at the end to dismiss it.\n */\n @Prop() dismissible: boolean = false;\n\n /**\n * The optional title to display at the start of the alert.\n */\n @Prop() heading: string = \"\";\n\n /**\n * The main body message of the alert.\n */\n @Prop() message?: string;\n\n /**\n * If `true`, the default icon for the neutral variant will appear on the left of the alert.\n */\n @Prop() showDefaultIcon: boolean = true;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n @Watch(\"theme\")\n themeChangeHandler(): void {\n if (this.theme !== \"inherit\") this.darkMode = this.theme === \"dark\";\n }\n\n /**\n * If `true`, the title and message will appear above and below instead of inline.\n */\n @Prop() titleAbove: boolean = false;\n\n /**\n * The variant of the alert which will be rendered.\n */\n @Prop() variant: IcStatusVariants = \"neutral\";\n\n /**\n * Is emitted when the user dismisses the alert.\n */\n @Event() icDismiss: EventEmitter<void>;\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n this.systemThemeObserver?.removeEventListener(\n \"change\",\n this.darkModeChangeHandler\n );\n }\n\n componentWillLoad(): void {\n if (!this.el.closest(\"ic-theme\")) {\n this.systemThemeObserver = window.matchMedia(\n \"(prefers-color-scheme: dark)\"\n );\n this.systemThemeObserver.addEventListener(\n \"change\",\n this.darkModeChangeHandler\n );\n this.darkMode = this.systemThemeObserver.matches;\n }\n\n this.themeChangeHandler();\n }\n\n componentDidLoad(): void {\n if (Number(this.titleEl?.clientHeight) > 24) this.alertTitleWrap = true;\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(mutationList, \"action\", this)\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n\n this.calculateMinHeight();\n }\n\n componentDidUpdate(): void {\n this.calculateMinHeight();\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleClick(): void {\n this.visible = !this.visible;\n }\n\n @Listen(\"icThemeChange\", { target: \"document\", capture: true })\n darkModeChangeHandler(\n ev: CustomEvent<IcThemeSettings> | MediaQueryListEvent\n ): void {\n this.darkMode = \"detail\" in ev ? ev.detail === \"dark\" : ev.matches;\n\n this.calculateMinHeight();\n }\n\n private dismissAction = (): void => {\n this.icDismiss.emit();\n };\n\n private calculateMinHeight = (): void => {\n const contentHeight = Number(this.messageEl?.clientHeight);\n\n const minHeight = pxToRem(\n `${(contentHeight > 40 ? contentHeight : 52) + (this.darkMode ? 0 : 4)}`\n );\n\n if (this.el.style.getPropertyValue(\"--ic-alert-min-height\") !== minHeight)\n this.el.style.setProperty(\"--ic-alert-min-height\", minHeight);\n };\n\n render() {\n const {\n variant,\n heading,\n message,\n titleAbove,\n dismissible,\n announced,\n visible,\n showDefaultIcon,\n theme,\n alertTitleWrap,\n dismissAction,\n } = this;\n\n const Icon = () => {\n const iconClass = {\n \"alert-icon\": true,\n \"svg-container\": true,\n [`icon-${variant}`]: true,\n };\n\n if (variant === \"neutral\") {\n if (isSlotUsed(this.el, \"neutral-icon\")) {\n return (\n <div class={iconClass}>\n <slot name=\"neutral-icon\"></slot>\n </div>\n );\n } else if (!showDefaultIcon) {\n return <div class=\"icon-placeholder\"></div>;\n }\n }\n\n return (\n <span class={iconClass} innerHTML={VARIANT_ICONS[variant].icon}></span>\n );\n };\n\n return (\n visible && (\n <Host\n role={announced ? \"alert\" : null}\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class={{ container: true, [`container-${variant}`]: true }}>\n <div class=\"alert-icon-container\">\n <div\n class={{ divider: true, [`divider-${variant}`]: true }}\n ></div>\n <Icon />\n </div>\n <div class=\"alert-content\">\n <div\n class={{\n \"alert-message\": true,\n \"alert-message-title-above\": titleAbove || alertTitleWrap,\n }}\n ref={(el) => (this.messageEl = el)}\n >\n {heading && (\n <ic-typography\n class={{\n \"alert-title\": true,\n \"alert-title-above\": titleAbove || alertTitleWrap,\n }}\n variant=\"subtitle-large\"\n ref={(el) => (this.titleEl = el)}\n >\n <p>{heading}</p>\n </ic-typography>\n )}\n <slot name=\"message\">\n <ic-typography variant=\"body\">{message}</ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"alert-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n <div class=\"dismiss-icon-container\">\n {dismissible && (\n <ic-button\n class={{ \"svg-container\": true, \"dismiss-icon\": true }}\n innerHTML={closeIcon}\n onClick={dismissAction}\n variant=\"icon\"\n theme=\"dark\"\n title=\"Dismiss\"\n ></ic-button>\n )}\n </div>\n </div>\n </Host>\n )\n );\n }\n}\n"]}
|
@@ -131,15 +131,15 @@ export class BackToTop {
|
|
131
131
|
const btnVariant = variant === "icon" ? "icon-secondary" : "secondary";
|
132
132
|
const size = variant === "icon" ? "large" : "medium";
|
133
133
|
const label = variant === "icon" ? "" : backToTopLabel;
|
134
|
-
return (h(Host, { key: '
|
134
|
+
return (h(Host, { key: '81025a66bc45c55d0caa94c0cd649ce2dfb7eb7c', class: {
|
135
135
|
[`ic-theme-${this.theme}`]: this.theme !== "inherit",
|
136
136
|
[`ic-back-to-top-${this.position}`]: true,
|
137
|
-
} }, h("ic-button", { key: '
|
137
|
+
} }, h("ic-button", { key: '9855a53f4ea50219ba19022a5873b004704bf3a0', "aria-label": backToTopLabel, variant: btnVariant, size: size, onClick: this.handleClick, class: {
|
138
138
|
["offset-banner"]: bannerOffset,
|
139
139
|
["show"]: !targetElVisible,
|
140
140
|
["by-footer"]: footerVisible,
|
141
141
|
["icon-only"]: variant === "icon",
|
142
|
-
}, theme: this.theme }, h("span", { key: '
|
142
|
+
}, theme: this.theme }, h("span", { key: '726b1b15f1e9168e9bb7826451357f6f559efa02', class: "ic-back-to-top-icon", innerHTML: ArrowUpward }), label)));
|
143
143
|
}
|
144
144
|
static get is() { return "ic-back-to-top"; }
|
145
145
|
static get encapsulation() { return "shadow"; }
|
@@ -1,13 +1,15 @@
|
|
1
1
|
import { Host, h, } from "@stencil/core";
|
2
2
|
import { convertToRGBA, getBrandForegroundAppearance, isPropDefined, onComponentRequiredPropUndefined, } from "../../utils/helpers";
|
3
|
-
const NAVIGATION_BUTTON = "IC-NAVIGATION-BUTTON";
|
4
3
|
const TOP_NAVIGATION = "IC-TOP-NAVIGATION";
|
4
|
+
const SIDE_NAVIGATION = "IC-SIDE-NAVIGATION";
|
5
5
|
/**
|
6
6
|
* @slot badge-icon - Icon will be rendered inside the badge if type is set to icon.
|
7
7
|
*/
|
8
8
|
export class Badge {
|
9
9
|
constructor() {
|
10
|
+
var _a;
|
10
11
|
this.ariaLabel = null;
|
12
|
+
this.initialPosition = (_a = this.position) !== null && _a !== void 0 ? _a : "far";
|
11
13
|
/**
|
12
14
|
* The positioning of the badge in reference to the parent element.
|
13
15
|
*/
|
@@ -67,20 +69,41 @@ export class Badge {
|
|
67
69
|
}
|
68
70
|
};
|
69
71
|
this.setPositionInTopNavigation = () => {
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
: (this.position = "near");
|
72
|
+
this.position = this.isInMobileMode() ? "inline" : this.initialPosition;
|
73
|
+
};
|
74
|
+
this.setPositionInSideNavigation = () => {
|
75
|
+
this.position = "near";
|
75
76
|
};
|
76
77
|
this.isInTopNav = () => {
|
77
78
|
const parentEl = this.el.parentElement;
|
78
|
-
if (parentEl)
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
79
|
+
if (!parentEl)
|
80
|
+
return false;
|
81
|
+
const grandparentEl = parentEl.parentElement;
|
82
|
+
const greatGrandparentEl = grandparentEl === null || grandparentEl === void 0 ? void 0 : grandparentEl.parentElement;
|
83
|
+
return ((grandparentEl === null || grandparentEl === void 0 ? void 0 : grandparentEl.tagName) === TOP_NAVIGATION ||
|
84
|
+
(greatGrandparentEl === null || greatGrandparentEl === void 0 ? void 0 : greatGrandparentEl.tagName) === TOP_NAVIGATION);
|
85
|
+
};
|
86
|
+
this.isInSideNav = () => {
|
87
|
+
const parentEl = this.el.parentElement;
|
88
|
+
if (!parentEl)
|
89
|
+
return false;
|
90
|
+
const grandparentEl = parentEl.parentElement;
|
91
|
+
const greatGrandparentEl = grandparentEl === null || grandparentEl === void 0 ? void 0 : grandparentEl.parentElement;
|
92
|
+
return ((grandparentEl === null || grandparentEl === void 0 ? void 0 : grandparentEl.tagName) === SIDE_NAVIGATION ||
|
93
|
+
(greatGrandparentEl === null || greatGrandparentEl === void 0 ? void 0 : greatGrandparentEl.tagName) === SIDE_NAVIGATION);
|
94
|
+
};
|
95
|
+
this.isInMobileMode = () => {
|
96
|
+
const parentEl = this.el.parentElement;
|
97
|
+
if (!parentEl)
|
98
|
+
return false;
|
99
|
+
const grandparentEl = parentEl.parentElement;
|
100
|
+
const greatGrandparentEl = grandparentEl === null || grandparentEl === void 0 ? void 0 : grandparentEl.parentElement;
|
101
|
+
return ((((grandparentEl === null || grandparentEl === void 0 ? void 0 : grandparentEl.tagName) === TOP_NAVIGATION ||
|
102
|
+
(grandparentEl === null || grandparentEl === void 0 ? void 0 : grandparentEl.tagName) === SIDE_NAVIGATION) &&
|
103
|
+
grandparentEl.classList.contains("mobile-mode")) ||
|
104
|
+
(((greatGrandparentEl === null || greatGrandparentEl === void 0 ? void 0 : greatGrandparentEl.tagName) === TOP_NAVIGATION ||
|
105
|
+
(greatGrandparentEl === null || greatGrandparentEl === void 0 ? void 0 : greatGrandparentEl.tagName) === SIDE_NAVIGATION) &&
|
106
|
+
greatGrandparentEl.classList.contains("mobile-mode")));
|
84
107
|
};
|
85
108
|
this.isAccessibleLabelDefined = () => isPropDefined(this.accessibleLabel) && this.accessibleLabel !== null;
|
86
109
|
}
|
@@ -112,16 +135,17 @@ export class Badge {
|
|
112
135
|
}
|
113
136
|
componentWillRender() {
|
114
137
|
this.isInTopNav() && this.setPositionInTopNavigation();
|
138
|
+
this.isInSideNav() && this.setPositionInSideNavigation();
|
115
139
|
}
|
116
140
|
navBarMenuOpenHandler() {
|
117
141
|
this.isInTopNav() && (this.position = "inline");
|
118
142
|
}
|
119
143
|
navBarMenuCloseHandler() {
|
120
|
-
this.isInTopNav() && (this.position =
|
144
|
+
this.isInTopNav() && (this.position = this.initialPosition);
|
121
145
|
}
|
122
146
|
render() {
|
123
147
|
const { ariaLabel, el, foregroundColour, getLabel, position, size, label, type, variant, visible, theme, } = this;
|
124
|
-
return (h(Host, { key: '
|
148
|
+
return (h(Host, { key: 'c55c73aa83e0b1612a0545696091955c110f28b3', class: {
|
125
149
|
[`ic-badge-${position}`]: true,
|
126
150
|
[`ic-badge-${size}`]: true,
|
127
151
|
[`ic-badge-${variant}`]: true,
|
@@ -129,7 +153,7 @@ export class Badge {
|
|
129
153
|
[`ic-badge-foreground-${foregroundColour}`]: foregroundColour !== null && variant === "custom",
|
130
154
|
[`${visible ? "ic-badge-show" : "ic-badge-hide"}`]: true,
|
131
155
|
[`ic-theme-${theme}`]: theme !== "inherit",
|
132
|
-
}, id: el.id || null, "aria-label": ariaLabel, role: "status" }, type === "icon" && h("slot", { key: '
|
156
|
+
}, id: el.id || null, "aria-label": ariaLabel, role: "status" }, type === "icon" && h("slot", { key: '69638833e6ac739848e645fa22f2732326fe24fe', name: "badge-icon" }), type === "text" && label && (h("ic-typography", { key: '841ec60f30d95c32c30e29c533157fdf199bdb2d', variant: size === "small" ? "badge-small" : "badge" }, getLabel())), type === "dot" && h("span", { key: '9d1198260090039de3093bf0fa191ff09cfd0408', class: "sr-only" }, "badge")));
|
133
157
|
}
|
134
158
|
static get is() { return "ic-badge"; }
|
135
159
|
static get encapsulation() { return "shadow"; }
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-badge.js","sourceRoot":"","sources":["../../../src/components/ic-badge/ic-badge.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n Watch,\n h,\n Listen,\n} from \"@stencil/core\";\nimport {\n IcBadgePositions,\n IcBadgeTypes,\n IcBadgeVariants,\n} from \"./ic-badge.types\";\nimport {\n IcSizes,\n IcBrandForeground,\n IcColor,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n convertToRGBA,\n getBrandForegroundAppearance,\n isPropDefined,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\nconst NAVIGATION_BUTTON = \"IC-NAVIGATION-BUTTON\";\nconst TOP_NAVIGATION = \"IC-TOP-NAVIGATION\";\n\n/**\n * @slot badge-icon - Icon will be rendered inside the badge if type is set to icon.\n */\n@Component({\n tag: \"ic-badge\",\n styleUrl: \"ic-badge.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Badge {\n private ariaLabel: string | null = null;\n private foregroundColour: IcBrandForeground;\n private parentAriaLabel: string;\n\n @Element() el: HTMLIcBadgeElement;\n\n /**\n * The accessible label of the badge component to provide context for screen reader users.\n */\n @Prop() accessibleLabel?: string;\n\n @Watch(\"accessibleLabel\")\n accessibleLabelHandler(): void {\n this.setAccessibleLabel();\n }\n\n /**\n * The custom badge colour. This will only style the badge component if variant=\"custom\".\n * Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() customColor?: IcColor;\n\n @Watch(\"customColor\")\n customColorHandler(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n }\n\n /**\n * The maximum number shown on the badge appended with a +.\n * This will only be displayed if type=\"text\" and label is not empty.\n */\n @Prop() maxNumber?: number;\n\n /**\n * The positioning of the badge in reference to the parent element.\n */\n @Prop({ mutable: true }) position?: IcBadgePositions = \"far\";\n\n /**\n * The size of the badge to be displayed.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The text displayed in the badge. This will only be displayed if type=\"text\".\n */\n @Prop() label?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The type of badge to be displayed.\n */\n @Prop() type?: IcBadgeTypes = \"text\";\n\n /**\n * The variant of the badge to be displayed.\n */\n @Prop() variant?: IcBadgeVariants = \"neutral\";\n\n @Watch(\"variant\")\n variantHandler(): void {\n if (this.variant === \"custom\") {\n this.setBadgeColour();\n }\n }\n\n /**\n * If `true`, the badge will be displayed.\n */\n @Prop() visible?: boolean = true;\n\n @Watch(\"visible\")\n visibleHandler(): void {\n this.setAccessibleLabel();\n }\n\n componentWillLoad(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n\n const ariaLabel = this.el.parentElement?.ariaLabel;\n if (ariaLabel) this.parentAriaLabel = ariaLabel;\n this.setAccessibleLabel();\n }\n\n componentDidLoad(): void {\n this.type === \"text\" &&\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Badge\"\n );\n }\n\n componentWillRender(): void {\n this.isInTopNav() && this.setPositionInTopNavigation();\n }\n\n @Listen(\"icNavigationMenuOpened\", { target: \"document\" })\n navBarMenuOpenHandler(): void {\n this.isInTopNav() && (this.position = \"inline\");\n }\n\n @Listen(\"icNavigationMenuClosed\", { target: \"document\" })\n navBarMenuCloseHandler(): void {\n this.isInTopNav() && (this.position = \"near\");\n }\n\n private setBadgeColour = () => {\n const colorRGBA = this.customColor ? convertToRGBA(this.customColor) : null;\n\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n this.el.style.backgroundColor = `rgba(${r}, ${g}, ${b}, ${a})`;\n this.foregroundColour = getBrandForegroundAppearance(\n (r * 299 + g * 587 + b * 114) / 1000\n );\n }\n };\n\n private getLabel = () =>\n this.maxNumber && Number(this.label) > this.maxNumber\n ? `${this.maxNumber}+`\n : this.label;\n\n // Set aria-label on badge and / or parent element\n // Aria-describedby seems to not work, probably due to shadow DOM\n private setAccessibleLabel = () => {\n const parentEl = this.el.parentElement;\n const defaultAriaLabel = this.isAccessibleLabelDefined()\n ? this.accessibleLabel\n : this.label || \"with badge being displayed\";\n\n if (parentEl) {\n const { tagName } = parentEl;\n if (\n tagName !== \"IC-CARD\" &&\n (tagName !== \"IC-TAB\" || (tagName === \"IC-TAB\" && this.parentAriaLabel))\n ) {\n const ariaLabelPrefix = this.parentAriaLabel\n ? `${this.parentAriaLabel} ,`\n : \"\";\n parentEl.ariaLabel = this.visible\n ? `${ariaLabelPrefix} ${defaultAriaLabel}`\n : null;\n } else {\n this.ariaLabel = `, ${defaultAriaLabel}`;\n }\n }\n };\n\n private setPositionInTopNavigation = () => {\n const parentTopNavEl = this.el.parentElement?.parentElement;\n parentTopNavEl?.classList.contains(\"mobile-mode\")\n ? (this.position = \"inline\")\n : (this.position = \"near\");\n };\n\n private isInTopNav = (): boolean => {\n const parentEl = this.el.parentElement;\n if (parentEl) {\n const grandparentEl = parentEl?.parentElement;\n return (\n parentEl?.tagName === NAVIGATION_BUTTON &&\n grandparentEl?.tagName === TOP_NAVIGATION\n );\n }\n return false;\n };\n\n private isAccessibleLabelDefined = () =>\n isPropDefined(this.accessibleLabel) && this.accessibleLabel !== null;\n\n render() {\n const {\n ariaLabel,\n el,\n foregroundColour,\n getLabel,\n position,\n size,\n label,\n type,\n variant,\n visible,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-badge-${position}`]: true,\n [`ic-badge-${size}`]: true,\n [`ic-badge-${variant}`]: true,\n [`ic-badge-${type}`]: true,\n [`ic-badge-foreground-${foregroundColour}`]:\n foregroundColour !== null && variant === \"custom\",\n [`${visible ? \"ic-badge-show\" : \"ic-badge-hide\"}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n id={el.id || null}\n aria-label={ariaLabel}\n role=\"status\"\n >\n {type === \"icon\" && <slot name=\"badge-icon\"></slot>}\n {type === \"text\" && label && (\n <ic-typography variant={size === \"small\" ? \"badge-small\" : \"badge\"}>\n {getLabel()}\n </ic-typography>\n )}\n {type === \"dot\" && <span class=\"sr-only\">badge</span>}\n </Host>\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"ic-badge.js","sourceRoot":"","sources":["../../../src/components/ic-badge/ic-badge.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n Watch,\n h,\n Listen,\n} from \"@stencil/core\";\nimport {\n IcBadgePositions,\n IcBadgeTypes,\n IcBadgeVariants,\n} from \"./ic-badge.types\";\nimport {\n IcSizes,\n IcBrandForeground,\n IcColor,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n convertToRGBA,\n getBrandForegroundAppearance,\n isPropDefined,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\nconst TOP_NAVIGATION = \"IC-TOP-NAVIGATION\";\nconst SIDE_NAVIGATION = \"IC-SIDE-NAVIGATION\";\n\n/**\n * @slot badge-icon - Icon will be rendered inside the badge if type is set to icon.\n */\n@Component({\n tag: \"ic-badge\",\n styleUrl: \"ic-badge.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Badge {\n private ariaLabel: string | null = null;\n private foregroundColour: IcBrandForeground;\n private parentAriaLabel: string;\n private initialPosition: IcBadgePositions = this.position ?? \"far\";\n\n @Element() el: HTMLIcBadgeElement;\n\n /**\n * The accessible label of the badge component to provide context for screen reader users.\n */\n @Prop() accessibleLabel?: string;\n\n @Watch(\"accessibleLabel\")\n accessibleLabelHandler(): void {\n this.setAccessibleLabel();\n }\n\n /**\n * The custom badge colour. This will only style the badge component if variant=\"custom\".\n * Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() customColor?: IcColor;\n\n @Watch(\"customColor\")\n customColorHandler(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n }\n\n /**\n * The maximum number shown on the badge appended with a +.\n * This will only be displayed if type=\"text\" and label is not empty.\n */\n @Prop() maxNumber?: number;\n\n /**\n * The positioning of the badge in reference to the parent element.\n */\n @Prop({ mutable: true }) position?: IcBadgePositions = \"far\";\n\n /**\n * The size of the badge to be displayed.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The text displayed in the badge. This will only be displayed if type=\"text\".\n */\n @Prop() label?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The type of badge to be displayed.\n */\n @Prop() type?: IcBadgeTypes = \"text\";\n\n /**\n * The variant of the badge to be displayed.\n */\n @Prop() variant?: IcBadgeVariants = \"neutral\";\n\n @Watch(\"variant\")\n variantHandler(): void {\n if (this.variant === \"custom\") {\n this.setBadgeColour();\n }\n }\n\n /**\n * If `true`, the badge will be displayed.\n */\n @Prop() visible?: boolean = true;\n\n @Watch(\"visible\")\n visibleHandler(): void {\n this.setAccessibleLabel();\n }\n\n componentWillLoad(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n\n const ariaLabel = this.el.parentElement?.ariaLabel;\n if (ariaLabel) this.parentAriaLabel = ariaLabel;\n this.setAccessibleLabel();\n }\n\n componentDidLoad(): void {\n this.type === \"text\" &&\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Badge\"\n );\n }\n\n componentWillRender(): void {\n this.isInTopNav() && this.setPositionInTopNavigation();\n this.isInSideNav() && this.setPositionInSideNavigation();\n }\n\n @Listen(\"icNavigationMenuOpened\", { target: \"document\" })\n navBarMenuOpenHandler(): void {\n this.isInTopNav() && (this.position = \"inline\");\n }\n\n @Listen(\"icNavigationMenuClosed\", { target: \"document\" })\n navBarMenuCloseHandler(): void {\n this.isInTopNav() && (this.position = this.initialPosition);\n }\n\n private setBadgeColour = () => {\n const colorRGBA = this.customColor ? convertToRGBA(this.customColor) : null;\n\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n this.el.style.backgroundColor = `rgba(${r}, ${g}, ${b}, ${a})`;\n this.foregroundColour = getBrandForegroundAppearance(\n (r * 299 + g * 587 + b * 114) / 1000\n );\n }\n };\n\n private getLabel = () =>\n this.maxNumber && Number(this.label) > this.maxNumber\n ? `${this.maxNumber}+`\n : this.label;\n\n // Set aria-label on badge and / or parent element\n // Aria-describedby seems to not work, probably due to shadow DOM\n private setAccessibleLabel = () => {\n const parentEl = this.el.parentElement;\n const defaultAriaLabel = this.isAccessibleLabelDefined()\n ? this.accessibleLabel\n : this.label || \"with badge being displayed\";\n\n if (parentEl) {\n const { tagName } = parentEl;\n if (\n tagName !== \"IC-CARD\" &&\n (tagName !== \"IC-TAB\" || (tagName === \"IC-TAB\" && this.parentAriaLabel))\n ) {\n const ariaLabelPrefix = this.parentAriaLabel\n ? `${this.parentAriaLabel} ,`\n : \"\";\n parentEl.ariaLabel = this.visible\n ? `${ariaLabelPrefix} ${defaultAriaLabel}`\n : null;\n } else {\n this.ariaLabel = `, ${defaultAriaLabel}`;\n }\n }\n };\n\n private setPositionInTopNavigation = () => {\n this.position = this.isInMobileMode() ? \"inline\" : this.initialPosition;\n };\n\n private setPositionInSideNavigation = () => {\n this.position = \"near\";\n };\n\n private isInTopNav = (): boolean => {\n const parentEl = this.el.parentElement;\n if (!parentEl) return false;\n const grandparentEl = parentEl.parentElement;\n const greatGrandparentEl = grandparentEl?.parentElement;\n return (\n grandparentEl?.tagName === TOP_NAVIGATION ||\n greatGrandparentEl?.tagName === TOP_NAVIGATION\n );\n };\n\n private isInSideNav = (): boolean => {\n const parentEl = this.el.parentElement;\n if (!parentEl) return false;\n const grandparentEl = parentEl.parentElement;\n const greatGrandparentEl = grandparentEl?.parentElement;\n return (\n grandparentEl?.tagName === SIDE_NAVIGATION ||\n greatGrandparentEl?.tagName === SIDE_NAVIGATION\n );\n };\n\n private isInMobileMode = (): boolean => {\n const parentEl = this.el.parentElement;\n if (!parentEl) return false;\n const grandparentEl = parentEl.parentElement;\n const greatGrandparentEl = grandparentEl?.parentElement;\n return (\n ((grandparentEl?.tagName === TOP_NAVIGATION ||\n grandparentEl?.tagName === SIDE_NAVIGATION) &&\n grandparentEl.classList.contains(\"mobile-mode\")) ||\n ((greatGrandparentEl?.tagName === TOP_NAVIGATION ||\n greatGrandparentEl?.tagName === SIDE_NAVIGATION) &&\n greatGrandparentEl.classList.contains(\"mobile-mode\"))\n );\n };\n\n private isAccessibleLabelDefined = () =>\n isPropDefined(this.accessibleLabel) && this.accessibleLabel !== null;\n\n render() {\n const {\n ariaLabel,\n el,\n foregroundColour,\n getLabel,\n position,\n size,\n label,\n type,\n variant,\n visible,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-badge-${position}`]: true,\n [`ic-badge-${size}`]: true,\n [`ic-badge-${variant}`]: true,\n [`ic-badge-${type}`]: true,\n [`ic-badge-foreground-${foregroundColour}`]:\n foregroundColour !== null && variant === \"custom\",\n [`${visible ? \"ic-badge-show\" : \"ic-badge-hide\"}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n id={el.id || null}\n aria-label={ariaLabel}\n role=\"status\"\n >\n {type === \"icon\" && <slot name=\"badge-icon\"></slot>}\n {type === \"text\" && label && (\n <ic-typography variant={size === \"small\" ? \"badge-small\" : \"badge\"}>\n {getLabel()}\n </ic-typography>\n )}\n {type === \"dot\" && <span class=\"sr-only\">badge</span>}\n </Host>\n );\n }\n}\n"]}
|
@@ -107,11 +107,11 @@ export class Breadcrumb {
|
|
107
107
|
const describedById = `${pageTitle && pageTitle.toLowerCase().replace(" ", "-")}-describedby`;
|
108
108
|
const hasPageTitle = pageTitle !== null && isPropDefined(pageTitle) && pageTitle !== "";
|
109
109
|
const hasHref = href !== null && isPropDefined(href) && href !== "";
|
110
|
-
return (h(Host, { key: '
|
110
|
+
return (h(Host, { key: '29422d3d1b30d190d6233a644ad70df833478edd', class: {
|
111
111
|
"ic-breadcrumb-back": !!this.showBackIcon,
|
112
112
|
[`ic-theme-${this.theme}`]: this.theme !== "inherit",
|
113
113
|
"ic-breadcrumb-monochrome": !!this.monochrome,
|
114
|
-
}, "aria-current": current && "page", role: "listitem" }, h("div", { key: '
|
114
|
+
}, "aria-current": current && "page", role: "listitem" }, h("div", { key: '1f8c4f0fca86a3d08df82674e33cabe7419f7616', class: "breadcrumb" }, h("span", { key: '9761c21d30b9e55e8cf5d3517ada73fa4d73710b', innerHTML: chevronIcon, class: "chevron", "aria-hidden": "true" }), this.showBackIcon && describedById && (h("span", { key: 'ad6be34d684a28dd063895c73f35ed65a3741dc9', id: describedById, class: "hide" }, `Back to ${pageTitle}`)), hasPageTitle && hasHref ? (this.renderDefaultBreadcrumb(!!current, pageTitle, describedById, href)) : (h("div", { class: "slotted-link-container" }, this.showBackIcon && this.renderBackIcon(), h("span", { class: "link-wrapper" }, h("slot", null)))))));
|
115
115
|
}
|
116
116
|
static get is() { return "ic-breadcrumb"; }
|
117
117
|
static get encapsulation() { return "shadow"; }
|
@@ -232,11 +232,11 @@ export class BreadcrumbGroup {
|
|
232
232
|
this.collapsedBreadcrumbEl.removeEventListener("click", this.clickHandler);
|
233
233
|
}
|
234
234
|
render() {
|
235
|
-
return (h(Host, { key: '
|
235
|
+
return (h(Host, { key: 'b505c4bef9ebc23c7f77b21f77f9db5975d0eea1', class: {
|
236
236
|
"ic-breadcrumb-group-back": !!this.backBreadcrumbOnly,
|
237
237
|
"ic-breadcrumb-group-collapsed": !!this.collapsed,
|
238
238
|
[`ic-theme-${this.theme}`]: this.theme !== "inherit",
|
239
|
-
} }, h("nav", { key: '
|
239
|
+
} }, h("nav", { key: 'ec1db09900bbff5be1e7f2e83518834a0eb0ff22', "aria-label": "breadcrumbs" }, h("ol", { key: 'b13e6daeefb0e4d1785221249f4d38bf3f207922' }, h("slot", { key: 'b33ff6c552a6f7251afeb6a804b4761e0febe198' })))));
|
240
240
|
}
|
241
241
|
static get is() { return "ic-breadcrumb-group"; }
|
242
242
|
static get encapsulation() { return "shadow"; }
|