@ukic/web-components 3.10.0 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/constants-8354f6e6.js +189 -0
- package/dist/cjs/constants-8354f6e6.js.map +1 -0
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-a0e78e2e.js → helpers-ffe1c2d9.js} +6 -187
- package/dist/cjs/helpers-ffe1c2d9.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +2 -1
- package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +2 -1
- package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-action-chip.cjs.entry.js +2 -1
- package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +4 -3
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +2 -1
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +27 -20
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +4 -3
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +5 -4
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +2 -1
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
- package/dist/cjs/ic-data-row.cjs.entry.js +4 -3
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +7 -4
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +2 -1
- package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +4 -3
- package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +4 -3
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +10 -9
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +6 -5
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +7 -6
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +12 -11
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +26 -12
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
- package/dist/cjs/ic-link.cjs.entry.js +5 -4
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +3 -2
- package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +2 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -2
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -2
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +6 -5
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +8 -7
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination-item.cjs.entry.js +3 -2
- package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination.cjs.entry.js +6 -5
- package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -5
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +6 -5
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +6 -5
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +11 -10
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
- package/dist/cjs/ic-select.cjs.entry.js +12 -11
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +6 -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 +2 -2
- package/dist/cjs/ic-status-tag.cjs.entry.js +4 -3
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +15 -14
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +4 -3
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +6 -5
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +10 -2
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +4 -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.cjs.entry.js +2 -1
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +32 -23
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +5 -4
- 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 +7 -6
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +4 -3
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +4 -3
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +4 -3
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/index.cjs.js +15 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/assets/ai-icon.svg +1 -1
- package/dist/collection/assets/error-icon.svg +4 -4
- package/dist/collection/assets/info-icon.svg +4 -4
- package/dist/collection/assets/neutral-icon.svg +4 -4
- package/dist/collection/assets/success-icon.svg +4 -4
- package/dist/collection/assets/warning-icon.svg +4 -4
- package/dist/collection/components/ic-alert/ic-alert.js +1 -1
- package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.js +14 -8
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.stories.js +191 -0
- package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +10 -10
- package/dist/collection/components/ic-checkbox/ic-checkbox.css +5 -0
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +2 -2
- package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +2 -2
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +11 -28
- package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
- package/dist/collection/components/ic-data-list/ic-data-list.stories.js +30 -6
- package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
- package/dist/collection/components/ic-dialog/ic-dialog.js +5 -3
- package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
- package/dist/collection/components/ic-dialog/ic-dialog.stories.js +40 -1
- package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
- package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
- 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 +2 -2
- package/dist/collection/components/ic-input-validation/ic-input-validation.css +5 -0
- package/dist/collection/components/ic-input-validation/ic-input-validation.js +22 -6
- package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
- package/dist/collection/components/ic-input-validation/ic-input-validation.types.js.map +1 -1
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +2 -2
- package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +2 -2
- package/dist/collection/components/ic-link/ic-link.js +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
- package/dist/collection/components/ic-menu/ic-menu.css +2 -2
- package/dist/collection/components/ic-menu/ic-menu.js +4 -4
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
- 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-group/ic-radio-group.js.map +1 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +14 -15
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -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 +9 -9
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
- package/dist/collection/components/ic-select/ic-select.js +9 -9
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-select/ic-select_(multi).stories.js +8 -6
- package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +6 -3
- package/dist/collection/components/ic-select/ic-select_(single).stories.js +8 -6
- package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js +60 -0
- package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +1 -0
- 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 +2 -2
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
- 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-context/ic-tab-context.js +27 -2
- 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 -2
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
- package/dist/collection/components/ic-text-field/ic-text-field.css +4 -0
- package/dist/collection/components/ic-text-field/ic-text-field.js +53 -19
- package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.stories.js +102 -4
- package/dist/collection/components/ic-theme/ic-theme.js +1 -1
- package/dist/collection/components/ic-toast/ic-toast.js +3 -3
- package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
- package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +6 -4
- package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
- package/dist/collection/components/ic-typography/ic-typography.js +2 -2
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/constants.js +176 -0
- package/dist/components/constants.js.map +1 -0
- package/dist/components/helpers.js +2 -174
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-action-chip.js +1 -1
- package/dist/components/ic-alert.js +3 -2
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-back-to-top.js +1 -1
- package/dist/components/ic-badge.js +1 -1
- package/dist/components/ic-breadcrumb-group.js +1 -1
- package/dist/components/ic-breadcrumb2.js +1 -1
- package/dist/components/ic-button2.js +17 -11
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card-vertical.js +1 -1
- package/dist/components/ic-checkbox-group.js +3 -3
- package/dist/components/ic-checkbox.js +4 -4
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +1 -1
- package/dist/components/ic-data-list.js +2 -2
- package/dist/components/ic-data-row.js +3 -3
- package/dist/components/ic-dialog.js +6 -4
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-divider2.js +1 -1
- package/dist/components/ic-empty-state.js +3 -3
- package/dist/components/ic-footer-link-group.js +1 -1
- package/dist/components/ic-footer-link.js +3 -3
- package/dist/components/ic-footer.js +2 -1
- package/dist/components/ic-footer.js.map +1 -1
- 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 +5 -4
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-container2.js +2 -2
- package/dist/components/ic-input-label2.js +3 -3
- package/dist/components/ic-input-validation2.js +23 -7
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-layout-grid-item.js +2 -2
- package/dist/components/ic-layout-grid.js +2 -2
- package/dist/components/ic-link2.js +3 -2
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +5 -5
- package/dist/components/ic-menu-group.js +2 -2
- package/dist/components/ic-menu-item2.js +1 -1
- package/dist/components/ic-menu2.js +6 -6
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-button.js +2 -1
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +2 -2
- package/dist/components/ic-navigation-item.js +1 -1
- package/dist/components/ic-navigation-menu2.js +5 -5
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js +7 -7
- package/dist/components/ic-pagination-item2.js +2 -2
- package/dist/components/ic-pagination.js +4 -4
- package/dist/components/ic-popover-menu.js +5 -5
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +5 -5
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +5 -5
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +10 -10
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-section-container2.js +2 -2
- package/dist/components/ic-select.js +11 -10
- 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 +2 -2
- package/dist/components/ic-status-tag.js +2 -2
- package/dist/components/ic-step.js +14 -14
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +2 -2
- package/dist/components/ic-switch.js +5 -5
- package/dist/components/ic-tab-context.js +11 -2
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-group.js +2 -2
- package/dist/components/ic-tab-panel.js +2 -2
- package/dist/components/ic-text-field.js +31 -21
- package/dist/components/ic-text-field.js.map +1 -1
- package/dist/components/ic-theme.js +3 -2
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-toast-region.js +1 -1
- package/dist/components/ic-toast.js +5 -4
- package/dist/components/ic-toast.js.map +1 -1
- 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 +6 -4
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +1 -1
- package/dist/components/ic-typography2.js +2 -2
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/core/core.css +32 -4
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/index.esm.js +1 -1
- package/dist/core/p-01aeffca.entry.js +2 -0
- package/dist/core/{p-b52000d9.entry.js.map → p-01aeffca.entry.js.map} +1 -1
- package/dist/core/p-0201abbf.entry.js +2 -0
- package/dist/core/{p-ea778379.entry.js.map → p-0201abbf.entry.js.map} +1 -1
- package/dist/core/p-02c2c31f.entry.js +2 -0
- package/dist/core/{p-6a576a8b.entry.js.map → p-02c2c31f.entry.js.map} +1 -1
- package/dist/core/p-0809aff4.entry.js +2 -0
- package/dist/core/{p-1e2f40b0.entry.js.map → p-0809aff4.entry.js.map} +1 -1
- package/dist/core/p-19366be6.entry.js +2 -0
- package/dist/core/{p-19cf2327.entry.js.map → p-19366be6.entry.js.map} +1 -1
- package/dist/core/p-1ab63899.entry.js +2 -0
- package/dist/core/{p-ef4b5469.entry.js.map → p-1ab63899.entry.js.map} +1 -1
- package/dist/core/p-1d4dfef1.entry.js +2 -0
- package/dist/core/{p-661ae402.entry.js.map → p-1d4dfef1.entry.js.map} +1 -1
- package/dist/core/p-1dab47b1.entry.js +2 -0
- package/dist/core/{p-72a9909c.entry.js.map → p-1dab47b1.entry.js.map} +1 -1
- package/dist/core/p-23b223bf.entry.js +2 -0
- package/dist/core/{p-f309d3af.entry.js.map → p-23b223bf.entry.js.map} +1 -1
- package/dist/core/p-35ee7c53.entry.js +2 -0
- package/dist/core/{p-9eeb5e85.entry.js.map → p-35ee7c53.entry.js.map} +1 -1
- package/dist/core/{p-287e5c17.entry.js → p-37d217b5.entry.js} +2 -2
- package/dist/core/{p-df88ff5b.entry.js → p-37daa8fe.entry.js} +2 -2
- package/dist/core/p-3a78bf6e.entry.js +2 -0
- package/dist/core/{p-2f4f392f.entry.js.map → p-3a78bf6e.entry.js.map} +1 -1
- package/dist/core/p-3f55bb5b.entry.js +2 -0
- package/dist/core/{p-0c0c6a9e.entry.js.map → p-3f55bb5b.entry.js.map} +1 -1
- package/dist/core/p-402813c9.entry.js +2 -0
- package/dist/core/{p-9323c234.entry.js.map → p-402813c9.entry.js.map} +1 -1
- package/dist/core/p-402c2455.entry.js +2 -0
- package/dist/core/{p-bb4ce810.entry.js.map → p-402c2455.entry.js.map} +1 -1
- package/dist/core/p-46423f42.entry.js +2 -0
- package/dist/core/{p-b0d488d0.entry.js.map → p-46423f42.entry.js.map} +1 -1
- package/dist/core/{p-45dd12ee.entry.js → p-4747c39f.entry.js} +2 -2
- package/dist/core/p-4747c39f.entry.js.map +1 -0
- package/dist/core/{p-ffac41d6.entry.js → p-492fcb51.entry.js} +2 -2
- package/dist/core/p-4a2c02b2.entry.js +2 -0
- package/dist/core/{p-711bfeed.entry.js.map → p-4a2c02b2.entry.js.map} +1 -1
- package/dist/core/p-4dd8add9.entry.js +2 -0
- package/dist/core/{p-6ed0ac48.entry.js.map → p-4dd8add9.entry.js.map} +1 -1
- package/dist/core/p-515ded3f.entry.js +2 -0
- package/dist/core/{p-41f92698.entry.js.map → p-515ded3f.entry.js.map} +1 -1
- package/dist/core/p-52a2f800.entry.js +2 -0
- package/dist/core/p-52a2f800.entry.js.map +1 -0
- package/dist/core/{p-6e8ef73c.entry.js → p-57721431.entry.js} +2 -2
- package/dist/core/p-57803949.entry.js +2 -0
- package/dist/core/{p-f6a02202.entry.js.map → p-57803949.entry.js.map} +1 -1
- package/dist/core/p-58b8d154.entry.js +2 -0
- package/dist/core/{p-cbe0d1bb.entry.js.map → p-58b8d154.entry.js.map} +1 -1
- package/dist/core/p-5c6efed3.entry.js +2 -0
- package/dist/core/{p-3dc54847.entry.js.map → p-5c6efed3.entry.js.map} +1 -1
- package/dist/core/{p-5fbc8e62.entry.js → p-5fcfcfb6.entry.js} +2 -2
- package/dist/core/p-641c26c4.js +2 -0
- package/dist/core/p-641c26c4.js.map +1 -0
- package/dist/core/p-65a3c216.entry.js +2 -0
- package/dist/core/{p-15dbccc2.entry.js.map → p-65a3c216.entry.js.map} +1 -1
- package/dist/core/p-69412f61.entry.js +2 -0
- package/dist/core/{p-21cf2beb.entry.js.map → p-69412f61.entry.js.map} +1 -1
- package/dist/core/p-69cc0f7d.entry.js +2 -0
- package/dist/core/{p-6014ab64.entry.js.map → p-69cc0f7d.entry.js.map} +1 -1
- package/dist/core/p-6ceedfa8.js +2 -0
- package/dist/core/p-6ceedfa8.js.map +1 -0
- package/dist/core/p-75a9b2e4.entry.js +2 -0
- package/dist/core/p-75a9b2e4.entry.js.map +1 -0
- package/dist/core/p-75e0278a.entry.js +2 -0
- package/dist/core/{p-4ca782eb.entry.js.map → p-75e0278a.entry.js.map} +1 -1
- package/dist/core/p-8326db29.entry.js +2 -0
- package/dist/core/{p-3e5d7a3d.entry.js.map → p-8326db29.entry.js.map} +1 -1
- package/dist/core/p-8af9413c.entry.js +2 -0
- package/dist/core/p-8af9413c.entry.js.map +1 -0
- package/dist/core/p-8d1fbbeb.entry.js +2 -0
- package/dist/core/{p-7cd4f6a6.entry.js.map → p-8d1fbbeb.entry.js.map} +1 -1
- package/dist/core/p-8d29c0fa.entry.js +2 -0
- package/dist/core/{p-52748d5c.entry.js.map → p-8d29c0fa.entry.js.map} +1 -1
- package/dist/core/{p-ea061ccf.entry.js → p-9a8bcb78.entry.js} +2 -2
- package/dist/core/{p-8b5022bc.entry.js → p-9cf6ccfd.entry.js} +2 -2
- package/dist/core/p-a468df37.entry.js +2 -0
- package/dist/core/{p-fc3b1155.entry.js.map → p-a468df37.entry.js.map} +1 -1
- package/dist/core/p-a48b581a.entry.js +2 -0
- package/dist/core/{p-9f36791b.entry.js.map → p-a48b581a.entry.js.map} +1 -1
- package/dist/core/p-a4e67ab8.entry.js +2 -0
- package/dist/core/{p-4d1a3036.entry.js.map → p-a4e67ab8.entry.js.map} +1 -1
- package/dist/core/p-aab838e5.entry.js +2 -0
- package/dist/core/{p-9c013333.entry.js.map → p-aab838e5.entry.js.map} +1 -1
- package/dist/core/p-abb9dccb.entry.js +2 -0
- package/dist/core/{p-af9c391d.entry.js.map → p-abb9dccb.entry.js.map} +1 -1
- package/dist/core/{p-999f0a5d.entry.js → p-b4a2f6fa.entry.js} +2 -2
- package/dist/core/p-b80d408f.entry.js +2 -0
- package/dist/core/p-b80d408f.entry.js.map +1 -0
- package/dist/core/p-b9018261.entry.js +2 -0
- package/dist/core/{p-0d680d19.entry.js.map → p-b9018261.entry.js.map} +1 -1
- package/dist/core/p-c81ffadd.entry.js +2 -0
- package/dist/core/{p-595a4d06.entry.js.map → p-c81ffadd.entry.js.map} +1 -1
- package/dist/core/p-cd63bcf2.entry.js +2 -0
- package/dist/core/p-cd63bcf2.entry.js.map +1 -0
- package/dist/core/p-cdd04ec2.entry.js +2 -0
- package/dist/core/{p-41ef74a7.entry.js.map → p-cdd04ec2.entry.js.map} +1 -1
- package/dist/core/p-d27e46ac.entry.js +2 -0
- package/dist/core/{p-cf631191.entry.js.map → p-d27e46ac.entry.js.map} +1 -1
- package/dist/core/p-d35f8bd4.entry.js +2 -0
- package/dist/core/{p-493eaabb.entry.js.map → p-d35f8bd4.entry.js.map} +1 -1
- package/dist/core/p-d6b3e02f.entry.js +2 -0
- package/dist/core/p-d6b3e02f.entry.js.map +1 -0
- package/dist/core/p-d7bd5aa0.entry.js +2 -0
- package/dist/core/p-d7bd5aa0.entry.js.map +1 -0
- package/dist/core/p-ed69f110.entry.js +2 -0
- package/dist/core/p-ed69f110.entry.js.map +1 -0
- package/dist/core/p-eddc5517.entry.js +2 -0
- package/dist/core/{p-313a8a2f.entry.js.map → p-eddc5517.entry.js.map} +1 -1
- package/dist/core/p-f045f59d.entry.js +2 -0
- package/dist/core/{p-317e005f.entry.js.map → p-f045f59d.entry.js.map} +1 -1
- package/dist/core/p-f086d6df.entry.js +2 -0
- package/dist/core/{p-43324339.entry.js.map → p-f086d6df.entry.js.map} +1 -1
- package/dist/core/p-f17e1525.entry.js +2 -0
- package/dist/core/{p-a77364f5.entry.js.map → p-f17e1525.entry.js.map} +1 -1
- package/dist/core/p-f78f34ce.entry.js +2 -0
- package/dist/core/{p-1d37ac1c.entry.js.map → p-f78f34ce.entry.js.map} +1 -1
- package/dist/core/p-fd488ed7.entry.js +2 -0
- package/dist/core/{p-a602a8e1.entry.js.map → p-fd488ed7.entry.js.map} +1 -1
- package/dist/core/p-ffc608a1.entry.js +2 -0
- package/dist/core/{p-8a4b12e4.entry.js.map → p-ffc608a1.entry.js.map} +1 -1
- package/dist/esm/constants-48759bda.js +176 -0
- package/dist/esm/constants-48759bda.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-56631aa0.js → helpers-d8189e9d.js} +3 -175
- package/dist/esm/helpers-d8189e9d.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +2 -1
- package/dist/esm/ic-accordion-group.entry.js.map +1 -1
- package/dist/esm/ic-accordion.entry.js +2 -1
- package/dist/esm/ic-accordion.entry.js.map +1 -1
- package/dist/esm/ic-action-chip.entry.js +2 -1
- package/dist/esm/ic-action-chip.entry.js.map +1 -1
- package/dist/esm/ic-alert.entry.js +3 -2
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +2 -1
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-badge.entry.js +2 -1
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +2 -1
- package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +2 -1
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +25 -18
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-vertical.entry.js +2 -1
- package/dist/esm/ic-card-vertical.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +4 -3
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +5 -4
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +2 -1
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-data-list.entry.js +2 -2
- package/dist/esm/ic-data-row.entry.js +4 -3
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +7 -4
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +2 -1
- package/dist/esm/ic-divider.entry.js.map +1 -1
- package/dist/esm/ic-empty-state.entry.js +4 -3
- package/dist/esm/ic-empty-state.entry.js.map +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +2 -1
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +4 -3
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +2 -1
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +6 -5
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +7 -6
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +12 -11
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +23 -9
- package/dist/esm/ic-input-label_2.entry.js.map +1 -1
- package/dist/esm/ic-layout-grid-item.entry.js +2 -2
- package/dist/esm/ic-layout-grid.entry.js +2 -2
- package/dist/esm/ic-link.entry.js +3 -2
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +3 -2
- package/dist/esm/ic-menu-group.entry.js.map +1 -1
- package/dist/esm/ic-menu-item.entry.js +2 -1
- package/dist/esm/ic-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +2 -1
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +3 -2
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +2 -1
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +6 -5
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +8 -7
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-pagination-item.entry.js +3 -2
- package/dist/esm/ic-pagination-item.entry.js.map +1 -1
- package/dist/esm/ic-pagination.entry.js +6 -5
- package/dist/esm/ic-pagination.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +6 -5
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +6 -5
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +6 -5
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +11 -10
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-section-container.entry.js +2 -2
- package/dist/esm/ic-select.entry.js +11 -10
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +6 -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 +2 -2
- package/dist/esm/ic-status-tag.entry.js +4 -3
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +15 -14
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +4 -3
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +6 -5
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +10 -2
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +4 -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.entry.js +2 -1
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +30 -21
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +3 -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 +5 -4
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +4 -3
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +4 -3
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +2 -1
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +4 -3
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-button/ic-button.d.ts +1 -0
- package/dist/types/components/ic-dialog/ic-dialog.d.ts +1 -0
- package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +2 -0
- package/dist/types/components/ic-input-validation/ic-input-validation.types.d.ts +1 -1
- package/dist/types/components/ic-select/test/a11y/ic-select.test.a11y.d.ts +1 -0
- package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +4 -0
- package/dist/types/components/ic-text-field/ic-text-field.d.ts +6 -1
- package/dist/types/components.d.ts +14 -2
- package/dist/types/index.d.ts +1 -0
- package/dist/types/utils/types.d.ts +1 -0
- package/hydrate/index.js +242 -203
- package/hydrate/index.mjs +242 -203
- package/package.json +3 -3
- package/vscode-data.json +21 -0
- package/dist/cjs/helpers-a0e78e2e.js.map +0 -1
- package/dist/core/p-0c0c6a9e.entry.js +0 -2
- package/dist/core/p-0d680d19.entry.js +0 -2
- package/dist/core/p-15dbccc2.entry.js +0 -2
- package/dist/core/p-19cf2327.entry.js +0 -2
- package/dist/core/p-1d37ac1c.entry.js +0 -2
- package/dist/core/p-1e2f40b0.entry.js +0 -2
- package/dist/core/p-21cf2beb.entry.js +0 -2
- package/dist/core/p-25007ec9.js +0 -2
- package/dist/core/p-25007ec9.js.map +0 -1
- package/dist/core/p-28efe829.entry.js +0 -2
- package/dist/core/p-28efe829.entry.js.map +0 -1
- package/dist/core/p-2f4f392f.entry.js +0 -2
- package/dist/core/p-313a8a2f.entry.js +0 -2
- package/dist/core/p-317e005f.entry.js +0 -2
- package/dist/core/p-3dc54847.entry.js +0 -2
- package/dist/core/p-3e5d7a3d.entry.js +0 -2
- package/dist/core/p-41ef74a7.entry.js +0 -2
- package/dist/core/p-41f92698.entry.js +0 -2
- package/dist/core/p-43324339.entry.js +0 -2
- package/dist/core/p-45dd12ee.entry.js.map +0 -1
- package/dist/core/p-47f6dac2.entry.js +0 -2
- package/dist/core/p-47f6dac2.entry.js.map +0 -1
- package/dist/core/p-493eaabb.entry.js +0 -2
- package/dist/core/p-4ca782eb.entry.js +0 -2
- package/dist/core/p-4d1a3036.entry.js +0 -2
- package/dist/core/p-52748d5c.entry.js +0 -2
- package/dist/core/p-595a4d06.entry.js +0 -2
- package/dist/core/p-5f68f62b.entry.js +0 -2
- package/dist/core/p-5f68f62b.entry.js.map +0 -1
- package/dist/core/p-6014ab64.entry.js +0 -2
- package/dist/core/p-661ae402.entry.js +0 -2
- package/dist/core/p-6a576a8b.entry.js +0 -2
- package/dist/core/p-6ed0ac48.entry.js +0 -2
- package/dist/core/p-711bfeed.entry.js +0 -2
- package/dist/core/p-72a9909c.entry.js +0 -2
- package/dist/core/p-742a9181.entry.js +0 -2
- package/dist/core/p-742a9181.entry.js.map +0 -1
- package/dist/core/p-7cd4f6a6.entry.js +0 -2
- package/dist/core/p-8a4b12e4.entry.js +0 -2
- package/dist/core/p-9323c234.entry.js +0 -2
- package/dist/core/p-97b93ddf.entry.js +0 -2
- package/dist/core/p-97b93ddf.entry.js.map +0 -1
- package/dist/core/p-9c013333.entry.js +0 -2
- package/dist/core/p-9eeb5e85.entry.js +0 -2
- package/dist/core/p-9f36791b.entry.js +0 -2
- package/dist/core/p-a602a8e1.entry.js +0 -2
- package/dist/core/p-a77364f5.entry.js +0 -2
- package/dist/core/p-af9c391d.entry.js +0 -2
- package/dist/core/p-b0d488d0.entry.js +0 -2
- package/dist/core/p-b52000d9.entry.js +0 -2
- package/dist/core/p-bb4ce810.entry.js +0 -2
- package/dist/core/p-cbe0d1bb.entry.js +0 -2
- package/dist/core/p-ceea1712.entry.js +0 -2
- package/dist/core/p-ceea1712.entry.js.map +0 -1
- package/dist/core/p-cf631191.entry.js +0 -2
- package/dist/core/p-e652ab09.entry.js +0 -2
- package/dist/core/p-e652ab09.entry.js.map +0 -1
- package/dist/core/p-e876e47c.entry.js +0 -2
- package/dist/core/p-e876e47c.entry.js.map +0 -1
- package/dist/core/p-ea778379.entry.js +0 -2
- package/dist/core/p-ef4b5469.entry.js +0 -2
- package/dist/core/p-f309d3af.entry.js +0 -2
- package/dist/core/p-f6a02202.entry.js +0 -2
- package/dist/core/p-fc3b1155.entry.js +0 -2
- package/dist/esm/helpers-56631aa0.js.map +0 -1
- /package/dist/core/{p-287e5c17.entry.js.map → p-37d217b5.entry.js.map} +0 -0
- /package/dist/core/{p-df88ff5b.entry.js.map → p-37daa8fe.entry.js.map} +0 -0
- /package/dist/core/{p-ffac41d6.entry.js.map → p-492fcb51.entry.js.map} +0 -0
- /package/dist/core/{p-6e8ef73c.entry.js.map → p-57721431.entry.js.map} +0 -0
- /package/dist/core/{p-5fbc8e62.entry.js.map → p-5fcfcfb6.entry.js.map} +0 -0
- /package/dist/core/{p-ea061ccf.entry.js.map → p-9a8bcb78.entry.js.map} +0 -0
- /package/dist/core/{p-8b5022bc.entry.js.map → p-9cf6ccfd.entry.js.map} +0 -0
- /package/dist/core/{p-999f0a5d.entry.js.map → p-b4a2f6fa.entry.js.map} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["icBreadcrumbCss","IcBreadcrumbStyle0","Breadcrumb","constructor","hostRef","this","HREF_ATTR","linkSlotContent","slottedLinkEl","slottedLinkHref","current","monochrome","showBackIcon","theme","updatedSlottedLinkFocus","tabIndex","_a","removeAttribute","_b","setAttribute","getSlottedLinkEl","hasAttribute","querySelector","renderBackIcon","h","class","innerHTML","backIcon","watchCurrentHandler","el","ariaCurrent","componentDidLoad","slottedLinkWrapper","shadowRoot","slotEls","getSlotElements","getAttribute","componentWillRender","icLink","CURRENT_PAGE","classList","remove","contains","add","setFocus","focus","render","href","pageTitle","describedById","toLowerCase","replace","Host","key","role","chevronIcon","id","isSlotUsed","name"],"sources":["src/components/ic-breadcrumb/ic-breadcrumb.css?tag=ic-breadcrumb&encapsulation=shadow","src/components/ic-breadcrumb/ic-breadcrumb.tsx"],"sourcesContent":[":host {\n display: block;\n margin: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n:host .breadcrumb {\n display: flex;\n align-items: center;\n white-space: nowrap;\n gap: var(--ic-space-xs);\n min-height: var(--ic-space-lg);\n}\n\n:host .chevron {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host .chevron svg,\n:host(.ic-breadcrumb-monochrome) .chevron svg {\n color: var(--ic-breadcrumb-icon-chevron);\n}\n\n:host(:first-child) .chevron {\n display: none;\n}\n\n.back-icon svg {\n color: var(--ic-breadcrumb-icon);\n}\n\n:host(.ic-breadcrumb-monochrome) .back-icon svg {\n color: var(--ic-breadcrumb-icon-monochrome);\n}\n\n:host(.ic-breadcrumb-back) {\n display: flex;\n align-items: center;\n}\n\n:host(.ic-breadcrumb-back) .chevron {\n display: none;\n}\n\nic-link {\n --breadcrumb-link-display: inline-flex;\n --breadcrumb-link-align-items: center;\n --breadcrumb-link-gap: var(--ic-space-xs);\n}\n\n:host([aria-current=\"page\"]) {\n cursor: text;\n}\n\n:host([aria-current=\"page\"]) .current-page-container {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n color: var(--ic-breadcrumb-text);\n}\n\n:host([aria-current=\"page\"].ic-breadcrumb-monochrome) .current-page-container {\n color: var(--ic-breadcrumb-text-monochrome);\n}\n\n:host([aria-current=\"page\"]) slot {\n pointer-events: none;\n}\n\n:host(.collapsed-breadcrumb-wrapper) {\n margin-right: var(--ic-space-xs) !important;\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb) {\n border: none;\n background-color: transparent;\n color: var(--ic-color-hyperlink-default);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n cursor: pointer;\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n outline: var(--ic-hc-focus-outline);\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n.hide,\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide) {\n display: none;\n}\n\n.slotted-link-container {\n gap: var(--ic-space-xs);\n display: flex;\n}\n\n.slotted-link-container .back-icon {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.slotted-link-container .link-wrapper {\n line-height: 1.5rem;\n}\n\n@media (forced-colors: active) {\n .back-icon svg {\n color: currentcolor;\n }\n}\n\n@supports (text-underline-offset: 25%) {\n ic-link {\n --breadcrumb-link-display: flex;\n }\n\n :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n","import {\n Component,\n Host,\n Prop,\n h,\n Element,\n Method,\n Watch,\n} from \"@stencil/core\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport backIcon from \"../../assets/back-icon.svg\";\nimport { getSlotElements, isSlotUsed } from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n/**\n * @slot icon - Content will be rendered to the left of the breadcrumb page title.\n */\n@Component({\n tag: \"ic-breadcrumb\",\n styleUrl: \"ic-breadcrumb.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Breadcrumb {\n private HREF_ATTR = \"href\";\n private linkSlotContent: HTMLElement | null = null;\n private slottedLinkEl: HTMLElement | null = null;\n private slottedLinkHref: string | null = null;\n\n @Element() el: HTMLIcBreadcrumbElement;\n\n /**\n * If `true`, aria-current will be set on the breadcrumb.\n */\n @Prop() current = false;\n @Watch(\"current\")\n watchCurrentHandler(): void {\n this.updatedSlottedLinkFocus();\n this.el.ariaCurrent = this.current ? \"page\" : null;\n }\n\n /**\n * The URL that the breadcrumb link points to.\n */\n @Prop() href?: string;\n\n /**\n * @internal If `true`, the breadcrumb will display as black in the light theme, and white in the dark theme.\n */\n @Prop() monochrome = false;\n\n /**\n * The title of the breadcrumb.\n */\n @Prop() pageTitle!: string;\n\n /**\n * @internal If `true`, back icon will be displayed.\n */\n @Prop({ reflect: true }) showBackIcon = false;\n\n /**\n * @internal 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 // Prevent focus on breadcrumb if current page and contains slotted link\n private updatedSlottedLinkFocus = () => {\n // Sets tabindex on wrong element in unit test snapshots\n // - related to known Jest issue: https://github.com/ionic-team/stencil/issues/2830\n if (this.linkSlotContent) {\n this.linkSlotContent.tabIndex = this.current ? -1 : 0; // Prevent focus\n }\n\n if (this.current) {\n this.slottedLinkEl?.removeAttribute(this.HREF_ATTR); // Prevent screen reader announcing breadcrumb as a link\n } else if (this.slottedLinkHref) {\n this.slottedLinkEl?.setAttribute(this.HREF_ATTR, this.slottedLinkHref);\n }\n };\n\n private getSlottedLinkEl = () => {\n if (!this.linkSlotContent) return null;\n\n return this.linkSlotContent.hasAttribute(this.HREF_ATTR)\n ? this.linkSlotContent\n : this.linkSlotContent.querySelector<HTMLElement>(\"[href]\");\n };\n\n componentDidLoad(): void {\n const slottedLinkWrapper =\n this.el.shadowRoot?.querySelector(\".link-wrapper\");\n\n if (slottedLinkWrapper) {\n const slotEls = getSlotElements(slottedLinkWrapper);\n if (slotEls) {\n this.linkSlotContent = slotEls[0] as HTMLElement;\n this.slottedLinkEl = this.getSlottedLinkEl();\n this.slottedLinkHref = this.slottedLinkEl?.getAttribute(\"href\") || null;\n }\n this.updatedSlottedLinkFocus();\n }\n }\n\n componentWillRender(): void {\n const icLink = this.el.querySelector(\"ic-link\");\n if (icLink) {\n const CURRENT_PAGE = \"current-page\";\n icLink.classList.remove(CURRENT_PAGE);\n\n if (this.current && !icLink.classList.contains(CURRENT_PAGE)) {\n icLink.classList.add(\"breadcrumb-link\", CURRENT_PAGE);\n }\n }\n }\n\n /**\n * Sets focus on the breadcrumb.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.el.shadowRoot?.querySelector(\"ic-link\")?.focus();\n }\n\n private renderBackIcon = () => (\n <div class=\"back-icon\" innerHTML={backIcon}></div>\n );\n\n render() {\n const { current, href, monochrome, pageTitle, showBackIcon, theme } = this;\n const describedById = `${pageTitle\n ?.toLowerCase()\n .replace(\" \", \"-\")}-describedby`;\n\n return (\n <Host\n class={{\n \"ic-breadcrumb-back\": showBackIcon,\n \"ic-breadcrumb-monochrome\": monochrome,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n aria-current={current && \"page\"}\n role=\"listitem\"\n >\n <div class=\"breadcrumb\">\n <span innerHTML={chevronIcon} class=\"chevron\" aria-hidden=\"true\" />\n {showBackIcon && (\n <span\n id={describedById}\n class=\"hide\"\n >{`Back to ${pageTitle}`}</span>\n )}\n {!href ? (\n <div class=\"slotted-link-container\">\n {showBackIcon && this.renderBackIcon()}\n <span class=\"link-wrapper\">\n <slot />\n </span>\n </div>\n ) : current ? (\n <span class=\"current-page-container\">\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n {pageTitle}\n </span>\n ) : (\n <ic-link\n theme={theme}\n monochrome={monochrome}\n href={href}\n class=\"breadcrumb-link\"\n aria-describedby={showBackIcon && describedById}\n >\n {showBackIcon && this.renderBackIcon()}\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n {pageTitle}\n </ic-link>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"wUAAA,MAAMA,EAAkB,u7EACxB,MAAAC,EAAeD,E,MCwBFE,EAAU,MAPvB,WAAAC,CAAAC,G,UAQUC,KAAAC,UAAY,OACZD,KAAAE,gBAAsC,KACtCF,KAAAG,cAAoC,KACpCH,KAAAI,gBAAiC,KAOjCJ,KAAAK,QAAU,MAeVL,KAAAM,WAAa,MAUIN,KAAAO,aAAe,MAKhCP,KAAAQ,MAAqB,UAGrBR,KAAAS,wBAA0B,K,QAGhC,GAAIT,KAAKE,gBAAiB,CACxBF,KAAKE,gBAAgBQ,SAAWV,KAAKK,SAAW,EAAI,C,CAGtD,GAAIL,KAAKK,QAAS,EAChBM,EAAAX,KAAKG,iBAAa,MAAAQ,SAAA,SAAAA,EAAEC,gBAAgBZ,KAAKC,U,MACpC,GAAID,KAAKI,gBAAiB,EAC/BS,EAAAb,KAAKG,iBAAa,MAAAU,SAAA,SAAAA,EAAEC,aAAad,KAAKC,UAAWD,KAAKI,gB,GAIlDJ,KAAAe,iBAAmB,KACzB,IAAKf,KAAKE,gBAAiB,OAAO,KAElC,OAAOF,KAAKE,gBAAgBc,aAAahB,KAAKC,WAC1CD,KAAKE,gBACLF,KAAKE,gBAAgBe,cAA2B,SAAS,EAsCvDjB,KAAAkB,eAAiB,IACvBC,EAAA,OAAKC,MAAM,YAAYC,UAAWC,G,CAzFpC,mBAAAC,GACEvB,KAAKS,0BACLT,KAAKwB,GAAGC,YAAczB,KAAKK,QAAU,OAAS,I,CAmDhD,gBAAAqB,G,QACE,MAAMC,GACJhB,EAAAX,KAAKwB,GAAGI,cAAU,MAAAjB,SAAA,SAAAA,EAAEM,cAAc,iBAEpC,GAAIU,EAAoB,CACtB,MAAME,EAAUC,EAAgBH,GAChC,GAAIE,EAAS,CACX7B,KAAKE,gBAAkB2B,EAAQ,GAC/B7B,KAAKG,cAAgBH,KAAKe,mBAC1Bf,KAAKI,kBAAkBS,EAAAb,KAAKG,iBAAa,MAAAU,SAAA,SAAAA,EAAEkB,aAAa,UAAW,I,CAErE/B,KAAKS,yB,EAIT,mBAAAuB,GACE,MAAMC,EAASjC,KAAKwB,GAAGP,cAAc,WACrC,GAAIgB,EAAQ,CACV,MAAMC,EAAe,eACrBD,EAAOE,UAAUC,OAAOF,GAExB,GAAIlC,KAAKK,UAAY4B,EAAOE,UAAUE,SAASH,GAAe,CAC5DD,EAAOE,UAAUG,IAAI,kBAAmBJ,E,GAS9C,cAAMK,G,SACJ1B,GAAAF,EAAAX,KAAKwB,GAAGI,cAAU,MAAAjB,SAAA,SAAAA,EAAEM,cAAc,cAAU,MAAAJ,SAAA,SAAAA,EAAE2B,O,CAOhD,MAAAC,GACE,MAAMpC,QAAEA,EAAOqC,KAAEA,EAAIpC,WAAEA,EAAUqC,UAAEA,EAASpC,aAAEA,EAAYC,MAAEA,GAAUR,KACtE,MAAM4C,EAAgB,GAAGD,IAAS,MAATA,SAAS,SAATA,EACrBE,cACDC,QAAQ,IAAK,mBAEhB,OACE3B,EAAC4B,EAAI,CAAAC,IAAA,2CACH5B,MAAO,CACL,qBAAsBb,EACtB,2BAA4BD,EAC5B,CAAC,YAAYE,KAAUA,IAAU,WAClC,eACaH,GAAW,OACzB4C,KAAK,YAEL9B,EAAA,OAAA6B,IAAA,2CAAK5B,MAAM,cACTD,EAAA,QAAA6B,IAAA,2CAAM3B,UAAW6B,EAAa9B,MAAM,UAAS,cAAa,SACzDb,GACCY,EAAA,QAAA6B,IAAA,2CACEG,GAAIP,EACJxB,MAAM,QACN,WAAWuB,MAEbD,EACAvB,EAAA,OAAKC,MAAM,0BACRb,GAAgBP,KAAKkB,iBACtBC,EAAA,QAAMC,MAAM,gBACVD,EAAA,eAGFd,EACFc,EAAA,QAAMC,MAAM,0BACTgC,EAAWpD,KAAKwB,GAAI,SAAWL,EAAA,QAAMkC,KAAK,SAC1CV,GAGHxB,EAAA,WACEX,MAAOA,EACPF,WAAYA,EACZoC,KAAMA,EACNtB,MAAM,kBAAiB,mBACLb,GAAgBqC,GAEjCrC,GAAgBP,KAAKkB,iBACrBkC,EAAWpD,KAAKwB,GAAI,SAAWL,EAAA,QAAMkC,KAAK,SAC1CV,I","ignoreList":[]}
|
1
|
+
{"version":3,"names":["icBreadcrumbCss","IcBreadcrumbStyle0","Breadcrumb","constructor","hostRef","this","HREF_ATTR","linkSlotContent","slottedLinkEl","slottedLinkHref","current","monochrome","showBackIcon","theme","updatedSlottedLinkFocus","tabIndex","_a","removeAttribute","_b","setAttribute","getSlottedLinkEl","hasAttribute","querySelector","renderBackIcon","h","class","innerHTML","backIcon","watchCurrentHandler","el","ariaCurrent","componentDidLoad","slottedLinkWrapper","shadowRoot","slotEls","getSlotElements","getAttribute","componentWillRender","icLink","CURRENT_PAGE","classList","remove","contains","add","setFocus","focus","render","href","pageTitle","describedById","toLowerCase","replace","Host","key","role","chevronIcon","id","isSlotUsed","name"],"sources":["src/components/ic-breadcrumb/ic-breadcrumb.css?tag=ic-breadcrumb&encapsulation=shadow","src/components/ic-breadcrumb/ic-breadcrumb.tsx"],"sourcesContent":[":host {\n display: block;\n margin: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n:host .breadcrumb {\n display: flex;\n align-items: center;\n white-space: nowrap;\n gap: var(--ic-space-xs);\n min-height: var(--ic-space-lg);\n}\n\n:host .chevron {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host .chevron svg,\n:host(.ic-breadcrumb-monochrome) .chevron svg {\n color: var(--ic-breadcrumb-icon-chevron);\n}\n\n:host(:first-child) .chevron {\n display: none;\n}\n\n.back-icon svg {\n color: var(--ic-breadcrumb-icon);\n}\n\n:host(.ic-breadcrumb-monochrome) .back-icon svg {\n color: var(--ic-breadcrumb-icon-monochrome);\n}\n\n:host(.ic-breadcrumb-back) {\n display: flex;\n align-items: center;\n}\n\n:host(.ic-breadcrumb-back) .chevron {\n display: none;\n}\n\nic-link {\n --breadcrumb-link-display: inline-flex;\n --breadcrumb-link-align-items: center;\n --breadcrumb-link-gap: var(--ic-space-xs);\n}\n\n:host([aria-current=\"page\"]) {\n cursor: text;\n}\n\n:host([aria-current=\"page\"]) .current-page-container {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n color: var(--ic-breadcrumb-text);\n}\n\n:host([aria-current=\"page\"].ic-breadcrumb-monochrome) .current-page-container {\n color: var(--ic-breadcrumb-text-monochrome);\n}\n\n:host([aria-current=\"page\"]) slot {\n pointer-events: none;\n}\n\n:host(.collapsed-breadcrumb-wrapper) {\n margin-right: var(--ic-space-xs) !important;\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb) {\n border: none;\n background-color: transparent;\n color: var(--ic-color-hyperlink-default);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n cursor: pointer;\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n outline: var(--ic-hc-focus-outline);\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n.hide,\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide) {\n display: none;\n}\n\n.slotted-link-container {\n gap: var(--ic-space-xs);\n display: flex;\n}\n\n.slotted-link-container .back-icon {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.slotted-link-container .link-wrapper {\n line-height: 1.5rem;\n}\n\n@media (forced-colors: active) {\n .back-icon svg {\n color: currentcolor;\n }\n}\n\n@supports (text-underline-offset: 25%) {\n ic-link {\n --breadcrumb-link-display: flex;\n }\n\n :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n","import {\n Component,\n Host,\n Prop,\n h,\n Element,\n Method,\n Watch,\n} from \"@stencil/core\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport backIcon from \"../../assets/back-icon.svg\";\nimport { getSlotElements, isSlotUsed } from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n/**\n * @slot icon - Content will be rendered to the left of the breadcrumb page title.\n */\n@Component({\n tag: \"ic-breadcrumb\",\n styleUrl: \"ic-breadcrumb.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Breadcrumb {\n private HREF_ATTR = \"href\";\n private linkSlotContent: HTMLElement | null = null;\n private slottedLinkEl: HTMLElement | null = null;\n private slottedLinkHref: string | null = null;\n\n @Element() el: HTMLIcBreadcrumbElement;\n\n /**\n * If `true`, aria-current will be set on the breadcrumb.\n */\n @Prop() current = false;\n @Watch(\"current\")\n watchCurrentHandler(): void {\n this.updatedSlottedLinkFocus();\n this.el.ariaCurrent = this.current ? \"page\" : null;\n }\n\n /**\n * The URL that the breadcrumb link points to.\n */\n @Prop() href?: string;\n\n /**\n * @internal If `true`, the breadcrumb will display as black in the light theme, and white in the dark theme.\n */\n @Prop() monochrome = false;\n\n /**\n * The title of the breadcrumb.\n */\n @Prop() pageTitle!: string;\n\n /**\n * @internal If `true`, back icon will be displayed.\n */\n @Prop({ reflect: true }) showBackIcon = false;\n\n /**\n * @internal 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 // Prevent focus on breadcrumb if current page and contains slotted link\n private updatedSlottedLinkFocus = () => {\n // Sets tabindex on wrong element in unit test snapshots\n // - related to known Jest issue: https://github.com/ionic-team/stencil/issues/2830\n if (this.linkSlotContent) {\n this.linkSlotContent.tabIndex = this.current ? -1 : 0; // Prevent focus\n }\n\n if (this.current) {\n this.slottedLinkEl?.removeAttribute(this.HREF_ATTR); // Prevent screen reader announcing breadcrumb as a link\n } else if (this.slottedLinkHref) {\n this.slottedLinkEl?.setAttribute(this.HREF_ATTR, this.slottedLinkHref);\n }\n };\n\n private getSlottedLinkEl = () => {\n if (!this.linkSlotContent) return null;\n\n return this.linkSlotContent.hasAttribute(this.HREF_ATTR)\n ? this.linkSlotContent\n : this.linkSlotContent.querySelector<HTMLElement>(\"[href]\");\n };\n\n componentDidLoad(): void {\n const slottedLinkWrapper =\n this.el.shadowRoot?.querySelector(\".link-wrapper\");\n\n if (slottedLinkWrapper) {\n const slotEls = getSlotElements(slottedLinkWrapper);\n if (slotEls) {\n this.linkSlotContent = slotEls[0] as HTMLElement;\n this.slottedLinkEl = this.getSlottedLinkEl();\n this.slottedLinkHref = this.slottedLinkEl?.getAttribute(\"href\") || null;\n }\n this.updatedSlottedLinkFocus();\n }\n }\n\n componentWillRender(): void {\n const icLink = this.el.querySelector(\"ic-link\");\n if (icLink) {\n const CURRENT_PAGE = \"current-page\";\n icLink.classList.remove(CURRENT_PAGE);\n\n if (this.current && !icLink.classList.contains(CURRENT_PAGE)) {\n icLink.classList.add(\"breadcrumb-link\", CURRENT_PAGE);\n }\n }\n }\n\n /**\n * Sets focus on the breadcrumb.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.el.shadowRoot?.querySelector(\"ic-link\")?.focus();\n }\n\n private renderBackIcon = () => (\n <div class=\"back-icon\" innerHTML={backIcon}></div>\n );\n\n render() {\n const { current, href, monochrome, pageTitle, showBackIcon, theme } = this;\n const describedById = `${pageTitle\n ?.toLowerCase()\n .replace(\" \", \"-\")}-describedby`;\n\n return (\n <Host\n class={{\n \"ic-breadcrumb-back\": showBackIcon,\n \"ic-breadcrumb-monochrome\": monochrome,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n aria-current={current && \"page\"}\n role=\"listitem\"\n >\n <div class=\"breadcrumb\">\n <span innerHTML={chevronIcon} class=\"chevron\" aria-hidden=\"true\" />\n {showBackIcon && (\n <span\n id={describedById}\n class=\"hide\"\n >{`Back to ${pageTitle}`}</span>\n )}\n {!href ? (\n <div class=\"slotted-link-container\">\n {showBackIcon && this.renderBackIcon()}\n <span class=\"link-wrapper\">\n <slot />\n </span>\n </div>\n ) : current ? (\n <span class=\"current-page-container\">\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n {pageTitle}\n </span>\n ) : (\n <ic-link\n theme={theme}\n monochrome={monochrome}\n href={href}\n class=\"breadcrumb-link\"\n aria-describedby={showBackIcon && describedById}\n >\n {showBackIcon && this.renderBackIcon()}\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n {pageTitle}\n </ic-link>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as e,h as t,H as i}from"./p-8e4e97b4.js";const n='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media only screen and (max-width: 576px){:host{--section-container-margin:var(--ic-space-xs);--section-container-max-width:var(--ic-breakpoint-sm)}}@media only screen and (min-width: 577px){:host{--section-container-margin:var(--ic-space-md);--section-container-max-width:var(--ic-breakpoint-md)}}@media only screen and (min-width: 769px){:host{--section-container-margin:var(--ic-space-md);--section-container-max-width:var(--ic-breakpoint-lg)}}@media only screen and (min-width: 993px){:host{--section-container-margin:var(--ic-space-md);--section-container-max-width:var(--ic-breakpoint-xl)}}@media only screen and (min-width: 1201px){:host{--section-container-margin:var(--ic-space-lg);--section-container-max-width:var(--ic-breakpoint-xl)}}:host{display:block;padding-top:var(--ic-space-md);padding-bottom:var(--ic-space-md);box-sizing:border-box}:host(.aligned-center){max-width:var(--section-container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--section-container-margin);padding-right:var(--section-container-margin)}:host(.aligned-left){max-width:var(--section-container-max-width);margin-left:var(--section-container-margin);margin-right:auto;padding-right:var(--section-container-margin)}:host(.aligned-full-width){margin-left:var(--section-container-margin);margin-right:var(--section-container-margin)}:host(.vertical-padding){padding-top:var(--ic-space-md);padding-bottom:var(--ic-space-md)}:host(.no-vertical-padding){padding-top:0;padding-bottom:0}';const a=n;const o=class{constructor(t){e(this,t);this.aligned="left";this.fullHeight=false}render(){const{aligned:e,fullHeight:n}=this;return t(i,{key:"
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as e,h as t,H as i}from"./p-8e4e97b4.js";const n='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media only screen and (max-width: 576px){:host{--section-container-margin:var(--ic-space-xs);--section-container-max-width:var(--ic-breakpoint-sm)}}@media only screen and (min-width: 577px){:host{--section-container-margin:var(--ic-space-md);--section-container-max-width:var(--ic-breakpoint-md)}}@media only screen and (min-width: 769px){:host{--section-container-margin:var(--ic-space-md);--section-container-max-width:var(--ic-breakpoint-lg)}}@media only screen and (min-width: 993px){:host{--section-container-margin:var(--ic-space-md);--section-container-max-width:var(--ic-breakpoint-xl)}}@media only screen and (min-width: 1201px){:host{--section-container-margin:var(--ic-space-lg);--section-container-max-width:var(--ic-breakpoint-xl)}}:host{display:block;padding-top:var(--ic-space-md);padding-bottom:var(--ic-space-md);box-sizing:border-box}:host(.aligned-center){max-width:var(--section-container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--section-container-margin);padding-right:var(--section-container-margin)}:host(.aligned-left){max-width:var(--section-container-max-width);margin-left:var(--section-container-margin);margin-right:auto;padding-right:var(--section-container-margin)}:host(.aligned-full-width){margin-left:var(--section-container-margin);margin-right:var(--section-container-margin)}:host(.vertical-padding){padding-top:var(--ic-space-md);padding-bottom:var(--ic-space-md)}:host(.no-vertical-padding){padding-top:0;padding-bottom:0}';const a=n;const o=class{constructor(t){e(this,t);this.aligned="left";this.fullHeight=false}render(){const{aligned:e,fullHeight:n}=this;return t(i,{key:"1d47dd5e8fe26fbf69b3cea13a0a04304f2bd1e8",class:{["aligned-left"]:e==="left"||e===null,["aligned-center"]:e==="center",["aligned-full-width"]:e==="full-width",["no-vertical-padding"]:!!n}},t("slot",{key:"2aed7afff105eeb51ddff32f9759e1d62737107b"}))}};o.style=a;export{o as ic_section_container};
|
2
|
+
//# sourceMappingURL=p-5fcfcfb6.entry.js.map
|
@@ -0,0 +1,2 @@
|
|
1
|
+
const a=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">\n <title>Error</title>\n <g>\n <path d="M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41" />\n </g>\n</svg>\n`;const i=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">\n <title>For your information</title>\n <g>\n <path d="M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 17C11.45 17 11 16.55 11 16V12C11 11.45 11.45 11 12 11C12.55 11 13 11.45 13 12V16C13 16.55 12.55 17 12 17ZM13 9H11V7H13V9Z" />\n </g>\n</svg>\n`;const t=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">\n<title>Neutral</title>\n <g>\n <path d="M19.5 3H5.5C4.4 3 3.5 3.9 3.5 5V19C3.5 20.1 4.4 21 5.5 21H19.5C20.6 21 21.5 20.1 21.5 19V5C21.5 3.9 20.6 3 19.5 3ZM12.51 18C11.81 18 11.25 17.44 11.25 16.74C11.25 16.03 11.81 15.49 12.51 15.49C13.22 15.49 13.76 16.03 13.76 16.74C13.75 17.43 13.22 18 12.51 18ZM15.52 10.6C14.76 11.71 14.04 12.06 13.65 12.77C13.55 12.95 13.49 13.09 13.46 13.4C13.41 13.85 13.01 14.18 12.56 14.18H12.5C11.98 14.18 11.57 13.74 11.62 13.22C11.65 12.88 11.73 12.53 11.92 12.19C12.41 11.32 13.34 10.8 13.88 10.03C14.45 9.22 14.13 7.7 12.51 7.7C11.8 7.7 11.33 8.06 11.04 8.49C10.79 8.85 10.35 9.02 9.94 8.85C9.41 8.64 9.22 8 9.54 7.54C10.15 6.65 11.17 6 12.49 6C13.97 6 14.98 6.67 15.5 7.52C15.94 8.24 16.2 9.59 15.52 10.6Z" />\n </g>\n</svg>\n`;const n=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">\n <title>Success</title>\n <g>\n <path d="M12.5 2C6.98 2 2.5 6.48 2.5 12C2.5 17.52 6.98 22 12.5 22C18.02 22 22.5 17.52 22.5 12C22.5 6.48 18.02 2 12.5 2ZM9.79 16.29L6.2 12.7C5.81 12.31 5.81 11.68 6.2 11.29C6.59 10.9 7.22 10.9 7.61 11.29L10.5 14.17L17.38 7.29C17.77 6.9 18.4 6.9 18.79 7.29C19.18 7.68 19.18 8.31 18.79 8.7L11.2 16.29C10.82 16.68 10.18 16.68 9.79 16.29Z" />\n </g>\n</svg>\n`;const r=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">\n <title>Warning</title>\n <g>\n <path d="M4.47 20.5037H19.53C21.07 20.5037 22.03 18.8337 21.26 17.5037L13.73 4.49375C12.96 3.16375 11.04 3.16375 10.27 4.49375L2.74 17.5037C1.97 18.8337 2.93 20.5037 4.47 20.5037ZM12 13.5037C11.45 13.5037 11 13.0537 11 12.5037V10.5037C11 9.95375 11.45 9.50375 12 9.50375C12.55 9.50375 13 9.95375 13 10.5037V12.5037C13 13.0537 12.55 13.5037 12 13.5037ZM13 17.5037H11V15.5037H13V17.5037Z" />\n </g>\n</svg>\n`;const e=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">\n <title>Artificial Intelligence (AI)</title>\n <g clip-path="url(#clip0_43876_12457)">\n <path d="M19.801 3C20.4637 3 21.001 3.53726 21.001 4.2V19.8C21.001 20.4628 20.4637 21 19.801 21H4.20098C3.53824 21 3.00098 20.4628 3.00098 19.8V4.2C3.00098 3.53726 3.53824 3 4.20098 3H19.801ZM8.94555 8.87988C8.88361 8.87988 8.82803 8.91796 8.80567 8.97573L6.32024 15.3958C6.28219 15.4941 6.35472 15.6 6.46013 15.6H7.19363C7.2559 15.6 7.3117 15.5615 7.33384 15.5033L7.89546 14.0262C7.9176 13.968 7.97339 13.9295 8.03567 13.9295H10.64C10.7023 13.9295 10.7582 13.968 10.7803 14.0263L11.3403 15.5032C11.3624 15.5615 11.4182 15.6 11.4805 15.6H12.2625C12.3678 15.6 12.4403 15.4944 12.4025 15.3962L9.9356 8.97608C9.91333 8.91813 9.85767 8.87988 9.79558 8.87988H8.94555ZM13.6123 8.87988C13.5294 8.87988 13.4623 8.94704 13.4623 9.02988V9.69024C13.4623 9.77308 13.5294 9.84024 13.6123 9.84024H14.3969C14.4797 9.84024 14.5469 9.9074 14.5469 9.99024V14.4902C14.5469 14.5731 14.4797 14.6402 14.3969 14.6402H13.6123C13.5294 14.6402 13.4623 14.7074 13.4623 14.7902V15.45C13.4623 15.5328 13.5294 15.6 13.6123 15.6H16.5186C16.6014 15.6 16.6686 15.5328 16.6686 15.45V14.7902C16.6686 14.7074 16.6014 14.6402 16.5186 14.6402H15.7334C15.6506 14.6402 15.5834 14.5731 15.5834 14.4902V9.99024C15.5834 9.9074 15.6506 9.84024 15.7334 9.84024H16.5186C16.6014 9.84024 16.6686 9.77308 16.6686 9.69024V9.02988C16.6686 8.94704 16.6014 8.87988 16.5186 8.87988H13.6123ZM9.35138 10.0705C9.40898 10.2433 9.47318 10.4353 9.54356 10.6465C9.61394 10.8577 9.6746 11.0497 9.72578 11.2225C9.78338 11.3952 9.82202 11.504 9.84122 11.5488L10.288 12.7279C10.3252 12.8261 10.2527 12.9311 10.1478 12.9311H8.52949C8.42445 12.9311 8.35194 12.8259 8.3893 12.7277L8.82344 11.5869C8.86182 11.4782 8.91003 11.3437 8.96758 11.1838C9.02516 11.0174 9.08288 10.8413 9.14042 10.6559C9.20438 10.4704 9.2615 10.2943 9.31268 10.1279C9.31947 10.1084 9.32604 10.0892 9.3325 10.0705C9.33554 10.0616 9.34853 10.0616 9.35138 10.0705Z" />\n </g>\n <defs>\n <clipPath id="clip0_43876_12457">\n <rect width="18" height="18" fill="white" transform="translate(3.00098 3)"/>\n </clipPath>\n </defs>\n</svg>`;const o={neutral:{icon:t,ariaLabel:"Neutral"},info:{icon:i,ariaLabel:"For your information"},warning:{icon:r,ariaLabel:"Warning"},error:{icon:a,ariaLabel:"Error"},success:{icon:n,ariaLabel:"Success"},ai:{icon:e,ariaLabel:"AI"}};const C=["aria-atomic","aria-autocomplete","aria-busy","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-dropeffect","aria-errormessage","aria-expanded","aria-flowto","aria-grabbed","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-live","aria-owns","aria-relevant","aria-roledescription"];const s={XS:576,S:768,M:992,L:1200,XL:99999};const l=["ic-hero","ic-top-navigation","ic-footer","ic-side-navigation","ic-alert"].join(",");const c=["ic-alert"];const g={"ic-alert":["ic-link","ic-button"]};const w=136.701;const L=130;const p=["Alt","AltGraph","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","AudioVolumeDown","AudioVolumeMute","AudioVolumeUp","CapsLock","ContextMenu","Control","Delete","End","Enter","Escape","F1","F10","F11","F12","F2","F3","F4","F5","F6","F7","F8","F9","Home","Insert","Meta","NumLock","PageDown","PageUp","Shift","Tab"];export{w as B,C as I,o as V,L as W,s as a,l as b,c,g as d,p as e,a as f,n as s,r as w};
|
2
|
+
//# sourceMappingURL=p-641c26c4.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["VARIANT_ICONS","neutral","icon","neutralIcon","ariaLabel","info","infoIcon","warning","warningIcon","error","errorIcon","success","successIcon","ai","aiIcon","IC_INHERITED_ARIA","IC_DEVICE_SIZES","XS","S","M","L","XL","IC_BLOCK_COLOR_COMPONENTS","join","IC_FIXED_COLOR_COMPONENTS","IC_BLOCK_COLOR_EXCEPTIONS","BLACK_MIN_COLOR_BRIGHTNESS","WHITE_MAX_COLOR_BRIGHTNESS","IGNORED_KEYBOARD_CHARACTERS"],"sources":["src/utils/constants.ts"],"sourcesContent":["import errorIcon from \"../assets/error-icon.svg\";\nimport infoIcon from \"../assets/info-icon.svg\";\nimport neutralIcon from \"../assets/neutral-icon.svg\";\nimport successIcon from \"../assets/success-icon.svg\";\nimport warningIcon from \"../assets/warning-icon.svg\";\nimport aiIcon from \"../assets/ai-icon.svg\";\n\n// Global status icons\nexport const VARIANT_ICONS = {\n neutral: {\n icon: neutralIcon,\n ariaLabel: \"Neutral\",\n },\n info: {\n icon: infoIcon,\n ariaLabel: \"For your information\",\n },\n warning: {\n icon: warningIcon,\n ariaLabel: \"Warning\",\n },\n error: {\n icon: errorIcon,\n ariaLabel: \"Error\",\n },\n success: {\n icon: successIcon,\n ariaLabel: \"Success\",\n },\n ai: {\n icon: aiIcon,\n ariaLabel: \"AI\",\n },\n};\n\n// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-autocomplete\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-expanded\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n].join(\",\");\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\", \"ic-button\"],\n};\n\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n\n// Keyboard characters that do not affect the content of an input control when pressed\nexport const IGNORED_KEYBOARD_CHARACTERS = [\n \"Alt\",\n \"AltGraph\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"AudioVolumeDown\",\n \"AudioVolumeMute\",\n \"AudioVolumeUp\",\n \"CapsLock\",\n \"ContextMenu\",\n \"Control\",\n \"Delete\",\n \"End\",\n \"Enter\",\n \"Escape\",\n \"F1\",\n \"F10\",\n \"F11\",\n \"F12\",\n \"F2\",\n \"F3\",\n \"F4\",\n \"F5\",\n \"F6\",\n \"F7\",\n \"F8\",\n \"F9\",\n \"Home\",\n \"Insert\",\n \"Meta\",\n \"NumLock\",\n \"PageDown\",\n \"PageUp\",\n \"Shift\",\n \"Tab\",\n];\n"],"mappings":"ixJAQaA,EAAgB,CAC3BC,QAAS,CACPC,KAAMC,EACNC,UAAW,WAEbC,KAAM,CACJH,KAAMI,EACNF,UAAW,wBAEbG,QAAS,CACPL,KAAMM,EACNJ,UAAW,WAEbK,MAAO,CACLP,KAAMQ,EACNN,UAAW,SAEbO,QAAS,CACPT,KAAMU,EACNR,UAAW,WAEbS,GAAI,CACFX,KAAMY,EACNV,UAAW,O,MAKFW,EAAoB,CAC/B,cACA,oBACA,YACA,gBACA,eACA,mBACA,mBACA,eACA,gBACA,kBACA,oBACA,gBACA,cACA,eACA,gBACA,cACA,eACA,oBACA,aACA,kBACA,YACA,YACA,gBACA,wB,MAGWC,EAAkB,CAC7BC,GAAI,IACJC,EAAG,IACHC,EAAG,IACHC,EAAG,KACHC,GAAI,O,MAGOC,EAA4B,CACvC,UACA,oBACA,YACA,qBACA,YACAC,KAAK,K,MAEMC,EAA4B,CAAC,Y,MAM7BC,EAA+C,CAC1D,WAAY,CAAC,UAAW,c,MAUbC,EAA6B,Q,MAC7BC,EAA6B,I,MAG7BC,EAA8B,CACzC,MACA,WACA,YACA,YACA,aACA,UACA,kBACA,kBACA,gBACA,WACA,cACA,UACA,SACA,MACA,QACA,SACA,KACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,OACA,UACA,WACA,SACA,QACA,c","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as e,c as t,h as o,g as i}from"./p-8e4e97b4.js";import{r as a,P as r}from"./p-6ceedfa8.js";import"./p-641c26c4.js";const n='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}a{text-align:center}.item-container{display:flex;justify-content:center;align-items:center;width:calc(var(--ic-space-xl) + var(--ic-space-sm));height:var(--ic-space-xl);margin:var(--ic-space-xxs) var(--ic-space-xxxs);cursor:pointer;text-decoration:none}button{background:none;border:none;outline:inherit;position:relative}.ellipsis{pointer-events:none;--ic-typography-color:var(--ic-pagination-ellipsis)}.monochrome .ellipsis{--ic-typography-color:var(--ic-pagination-ellipsis-monochrome)}.item-container:focus{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.page{--ic-typography-color:var(--ic-pagination-page-number)}.monochrome .page{--ic-typography-color:var(--ic-pagination-page-number-monochrome)}.simple-current{min-width:calc(var(--ic-space-xxl) + var(--ic-space-md));height:var(--ic-space-lg);cursor:default}.item-container.page:hover:not(.selected):not(:focus){border-radius:var(--ic-border-radius);background-color:var(--ic-pagination-hover)}.item-container.page:active:not(.selected):not(:focus){background-color:var(--ic-pagination-pressed)}.monochrome .item-container.page:hover:not(.selected):not(:focus){background-color:var(--ic-pagination-hover-monochrome)}.monochrome .item-container.page:active:not(.selected):not(:focus){background-color:var(--ic-pagination-pressed-monochrome)}.selected{pointer-events:none;outline:none}.selected::after{content:"";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-pagination-selected-banner)}.monochrome .selected::after{background-color:var(--ic-pagination-selected-banner-monochrome)}.page-selected{--ic-typography-color:var(--ic-pagination-text)}.item-container.page.light:hover:not(.selected):not(:focus){background-color:var(--ic-action-light-bg-hover)}.item-container.page.light:active:not(.selected):not(:focus){background-color:var(--ic-action-light-bg-pressed)}ic-typography.light,ic-typography.page-selected.light{--ic-typography-color:var(--ic-architectural-white)}.selected.light::after{content:"";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-monochrome)}.item-container.page.dark:hover:not(.selected):not(:focus){background-color:var(--ic-action-dark-bg-hover)}.item-container.page.dark:active:not(.selected):not(:focus){background-color:var(--ic-action-dark-bg-pressed)}ic-typography.dark{--ic-typography-color:var(--ic-color-text-primary)}.selected.dark::after{content:"";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-monochrome-dark)}.disabled{--ic-typography-color:var(--ic-pagination-text-disabled);pointer-events:none;cursor:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.disabled.page ic-typography{--ic-typography-color:var(--ic-pagination-page-number-disabled)}.disabled.ellipsis{--ic-typography-color:var(--ic-pagination-ellipsis-disabled)}.monochrome .disabled.page{--ic-typography-color:var(--ic-pagination-page-number-monochrome-disabled)}.monochrome .disabled.ellipsis{--ic-typography-color:var(--ic-pagination-ellipsis-monochrome-disabled)}@media (forced-colors: active){.selected::after{background-color:Highlight}.selected.light::after{background-color:Highlight}.selected.dark::after{background-color:Highlight}.disabled{--ic-typography-color:GrayText}}';const c=n;const s=class{constructor(o){e(this,o);this.paginationItemClick=t(this,"paginationItemClick",7);this.disabled=false;this.label="Page";this.monochrome=false;this.selected=false;this.theme="inherit";this.handleClick=()=>{this.paginationItemClick.emit({page:this.page||null})}}watchDisabledHandler(){a(this.disabled,this.el)}watchLabelHandler(){this.capitalizedLabel=r(this.label)}componentWillLoad(){this.watchLabelHandler();a(this.disabled,this.el)}render(){const{page:e,selected:t,type:i,disabled:a,label:r,capitalizedLabel:n,monochrome:c}=this;return o("a",{key:"ed0d1ec644f4332880be47cf2240ce08e8ba8f5c",class:{["monochrome"]:!!c}},i==="ellipsis"?o("div",{class:{["item-container"]:true,["ellipsis"]:true,["disabled"]:!!a}},o("ic-typography",{variant:"label"},"...")):i==="page"?o("button",{disabled:a,onClick:this.handleClick,tabindex:t?"-1":"0",role:"button","aria-current":t&&"page","aria-label":t?`${r}: ${e}`:`Go to ${r} ${e}`,class:{["selected"]:!a&&t,["disabled"]:!!a,["item-container"]:true,["page"]:i==="page"}},o("ic-typography",{variant:"label",class:{["page-selected"]:t,["disabled"]:!!a}},e)):o("ic-typography",{"aria-live":"polite",class:{[`simple-current`]:true,["disabled"]:!!a},variant:"label"},n," ",e))}get el(){return i(this)}static get watchers(){return{disabled:["watchDisabledHandler"],label:["watchLabelHandler"]}}};s.style=c;export{s as ic_pagination_item};
|
2
|
+
//# sourceMappingURL=p-65a3c216.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["icPaginationItemCss","IcPaginationItemStyle0","PaginationItem","constructor","hostRef","this","disabled","label","monochrome","selected","theme","handleClick","paginationItemClick","emit","page","watchDisabledHandler","removeDisabledFalse","el","watchLabelHandler","capitalizedLabel","capitalize","componentWillLoad","render","type","h","key","class","variant","onClick","tabindex","role"],"sources":["src/components/ic-pagination-item/ic-pagination-item.css?tag=ic-pagination-item&encapsulation=shadow","src/components/ic-pagination-item/ic-pagination-item.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\na {\n text-align: center;\n}\n\n.item-container {\n display: flex;\n justify-content: center;\n align-items: center;\n width: calc(var(--ic-space-xl) + var(--ic-space-sm));\n height: var(--ic-space-xl);\n margin: var(--ic-space-xxs) var(--ic-space-xxxs);\n cursor: pointer;\n text-decoration: none;\n}\n\nbutton {\n background: none;\n border: none;\n outline: inherit;\n position: relative;\n}\n\n.ellipsis {\n pointer-events: none;\n\n --ic-typography-color: var(--ic-pagination-ellipsis);\n}\n\n.monochrome .ellipsis {\n --ic-typography-color: var(--ic-pagination-ellipsis-monochrome);\n}\n\n.item-container:focus {\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-fast);\n}\n\n.page {\n --ic-typography-color: var(--ic-pagination-page-number);\n}\n\n.monochrome .page {\n --ic-typography-color: var(--ic-pagination-page-number-monochrome);\n}\n\n.simple-current {\n min-width: calc(var(--ic-space-xxl) + var(--ic-space-md));\n height: var(--ic-space-lg);\n cursor: default;\n}\n\n/** DEFAULT STATES **/\n.item-container.page:hover:not(.selected):not(:focus) {\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-pagination-hover);\n}\n\n.item-container.page:active:not(.selected):not(:focus) {\n background-color: var(--ic-pagination-pressed);\n}\n\n.monochrome .item-container.page:hover:not(.selected):not(:focus) {\n background-color: var(--ic-pagination-hover-monochrome);\n}\n\n.monochrome .item-container.page:active:not(.selected):not(:focus) {\n background-color: var(--ic-pagination-pressed-monochrome);\n}\n\n.selected {\n pointer-events: none;\n outline: none;\n}\n\n.selected::after {\n content: \"\";\n height: var(--ic-space-xxs);\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-pagination-selected-banner);\n}\n\n.monochrome .selected::after {\n background-color: var(--ic-pagination-selected-banner-monochrome);\n}\n\n.page-selected {\n --ic-typography-color: var(--ic-pagination-text);\n}\n\n/** LIGHT STATES **/\n.item-container.page.light:hover:not(.selected):not(:focus) {\n background-color: var(--ic-action-light-bg-hover);\n}\n\n.item-container.page.light:active:not(.selected):not(:focus) {\n background-color: var(--ic-action-light-bg-pressed);\n}\n\nic-typography.light,\nic-typography.page-selected.light {\n --ic-typography-color: var(--ic-architectural-white);\n}\n\n.selected.light::after {\n content: \"\";\n height: var(--ic-space-xxs);\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-action-monochrome);\n}\n\n/** DARK STATES **/\n.item-container.page.dark:hover:not(.selected):not(:focus) {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n.item-container.page.dark:active:not(.selected):not(:focus) {\n background-color: var(--ic-action-dark-bg-pressed);\n}\n\nic-typography.dark {\n --ic-typography-color: var(--ic-color-text-primary);\n}\n\n.selected.dark::after {\n content: \"\";\n height: var(--ic-space-xxs);\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-action-monochrome-dark);\n}\n\n.disabled {\n --ic-typography-color: var(--ic-pagination-text-disabled);\n\n pointer-events: none;\n cursor: none;\n user-select: none;\n}\n\n.disabled.page ic-typography {\n --ic-typography-color: var(--ic-pagination-page-number-disabled);\n}\n\n.disabled.ellipsis {\n --ic-typography-color: var(--ic-pagination-ellipsis-disabled);\n}\n\n.monochrome .disabled.page {\n --ic-typography-color: var(--ic-pagination-page-number-monochrome-disabled);\n}\n\n.monochrome .disabled.ellipsis {\n --ic-typography-color: var(--ic-pagination-ellipsis-monochrome-disabled);\n}\n\n@media (forced-colors: active) {\n .selected::after {\n background-color: Highlight;\n }\n\n .selected.light::after {\n background-color: Highlight;\n }\n\n .selected.dark::after {\n background-color: Highlight;\n }\n\n .disabled {\n --ic-typography-color: GrayText;\n }\n}\n","import {\n Component,\n Prop,\n State,\n Element,\n h,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport { IcPaginationItemType } from \"./ic-pagination-item.types\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { removeDisabledFalse, capitalize } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-pagination-item\",\n styleUrl: \"ic-pagination-item.css\",\n shadow: true,\n})\nexport class PaginationItem {\n @Element() el: HTMLIcPaginationItemElement;\n\n @State() capitalizedLabel: string;\n\n /**\n * If `true`, the pagination item will be disabled.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n @Prop() label?: string = \"Page\";\n\n @Watch(\"label\")\n watchLabelHandler(): void {\n this.capitalizedLabel = capitalize(this.label!);\n }\n\n /**\n * If `true`, the pagination item will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * The current page number.\n */\n @Prop() page?: number;\n\n /**\n * If `true`, the pagination item will be selected.\n */\n @Prop() selected: boolean = false;\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 pagination item - 'page' or 'ellipsis'.\n */\n @Prop() type: IcPaginationItemType;\n\n /**\n * @internal - Emitted when a pagination item is clicked.\n */\n @Event() paginationItemClick: EventEmitter<{ page: number | null }>;\n\n componentWillLoad(): void {\n this.watchLabelHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n\n private handleClick = () => {\n this.paginationItemClick.emit({ page: this.page || null });\n };\n\n render() {\n const {\n page,\n selected,\n type,\n disabled,\n label,\n capitalizedLabel,\n monochrome,\n } = this;\n\n return (\n <a class={{ [\"monochrome\"]: !!monochrome }}>\n {type === \"ellipsis\" ? (\n <div\n class={{\n [\"item-container\"]: true,\n [\"ellipsis\"]: true,\n [\"disabled\"]: !!disabled,\n }}\n >\n <ic-typography variant=\"label\">...</ic-typography>\n </div>\n ) : type === \"page\" ? (\n <button\n disabled={disabled}\n onClick={this.handleClick}\n tabindex={selected ? \"-1\" : \"0\"}\n role=\"button\"\n aria-current={selected && \"page\"}\n aria-label={\n selected ? `${label}: ${page}` : `Go to ${label} ${page}`\n }\n class={{\n [\"selected\"]: !disabled && selected,\n [\"disabled\"]: !!disabled,\n [\"item-container\"]: true,\n [\"page\"]: type === \"page\",\n }}\n >\n <ic-typography\n variant=\"label\"\n class={{\n [\"page-selected\"]: selected,\n [\"disabled\"]: !!disabled,\n }}\n >\n {page}\n </ic-typography>\n </button>\n ) : (\n <ic-typography\n aria-live=\"polite\"\n class={{\n [`simple-current`]: true,\n [\"disabled\"]: !!disabled,\n }}\n variant=\"label\"\n >\n {capitalizedLabel} {page}\n </ic-typography>\n )}\n </a>\n );\n }\n}\n"],"mappings":"
|
1
|
+
{"version":3,"names":["icPaginationItemCss","IcPaginationItemStyle0","PaginationItem","constructor","hostRef","this","disabled","label","monochrome","selected","theme","handleClick","paginationItemClick","emit","page","watchDisabledHandler","removeDisabledFalse","el","watchLabelHandler","capitalizedLabel","capitalize","componentWillLoad","render","type","h","key","class","variant","onClick","tabindex","role"],"sources":["src/components/ic-pagination-item/ic-pagination-item.css?tag=ic-pagination-item&encapsulation=shadow","src/components/ic-pagination-item/ic-pagination-item.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\na {\n text-align: center;\n}\n\n.item-container {\n display: flex;\n justify-content: center;\n align-items: center;\n width: calc(var(--ic-space-xl) + var(--ic-space-sm));\n height: var(--ic-space-xl);\n margin: var(--ic-space-xxs) var(--ic-space-xxxs);\n cursor: pointer;\n text-decoration: none;\n}\n\nbutton {\n background: none;\n border: none;\n outline: inherit;\n position: relative;\n}\n\n.ellipsis {\n pointer-events: none;\n\n --ic-typography-color: var(--ic-pagination-ellipsis);\n}\n\n.monochrome .ellipsis {\n --ic-typography-color: var(--ic-pagination-ellipsis-monochrome);\n}\n\n.item-container:focus {\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-fast);\n}\n\n.page {\n --ic-typography-color: var(--ic-pagination-page-number);\n}\n\n.monochrome .page {\n --ic-typography-color: var(--ic-pagination-page-number-monochrome);\n}\n\n.simple-current {\n min-width: calc(var(--ic-space-xxl) + var(--ic-space-md));\n height: var(--ic-space-lg);\n cursor: default;\n}\n\n/** DEFAULT STATES **/\n.item-container.page:hover:not(.selected):not(:focus) {\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-pagination-hover);\n}\n\n.item-container.page:active:not(.selected):not(:focus) {\n background-color: var(--ic-pagination-pressed);\n}\n\n.monochrome .item-container.page:hover:not(.selected):not(:focus) {\n background-color: var(--ic-pagination-hover-monochrome);\n}\n\n.monochrome .item-container.page:active:not(.selected):not(:focus) {\n background-color: var(--ic-pagination-pressed-monochrome);\n}\n\n.selected {\n pointer-events: none;\n outline: none;\n}\n\n.selected::after {\n content: \"\";\n height: var(--ic-space-xxs);\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-pagination-selected-banner);\n}\n\n.monochrome .selected::after {\n background-color: var(--ic-pagination-selected-banner-monochrome);\n}\n\n.page-selected {\n --ic-typography-color: var(--ic-pagination-text);\n}\n\n/** LIGHT STATES **/\n.item-container.page.light:hover:not(.selected):not(:focus) {\n background-color: var(--ic-action-light-bg-hover);\n}\n\n.item-container.page.light:active:not(.selected):not(:focus) {\n background-color: var(--ic-action-light-bg-pressed);\n}\n\nic-typography.light,\nic-typography.page-selected.light {\n --ic-typography-color: var(--ic-architectural-white);\n}\n\n.selected.light::after {\n content: \"\";\n height: var(--ic-space-xxs);\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-action-monochrome);\n}\n\n/** DARK STATES **/\n.item-container.page.dark:hover:not(.selected):not(:focus) {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n.item-container.page.dark:active:not(.selected):not(:focus) {\n background-color: var(--ic-action-dark-bg-pressed);\n}\n\nic-typography.dark {\n --ic-typography-color: var(--ic-color-text-primary);\n}\n\n.selected.dark::after {\n content: \"\";\n height: var(--ic-space-xxs);\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-action-monochrome-dark);\n}\n\n.disabled {\n --ic-typography-color: var(--ic-pagination-text-disabled);\n\n pointer-events: none;\n cursor: none;\n user-select: none;\n}\n\n.disabled.page ic-typography {\n --ic-typography-color: var(--ic-pagination-page-number-disabled);\n}\n\n.disabled.ellipsis {\n --ic-typography-color: var(--ic-pagination-ellipsis-disabled);\n}\n\n.monochrome .disabled.page {\n --ic-typography-color: var(--ic-pagination-page-number-monochrome-disabled);\n}\n\n.monochrome .disabled.ellipsis {\n --ic-typography-color: var(--ic-pagination-ellipsis-monochrome-disabled);\n}\n\n@media (forced-colors: active) {\n .selected::after {\n background-color: Highlight;\n }\n\n .selected.light::after {\n background-color: Highlight;\n }\n\n .selected.dark::after {\n background-color: Highlight;\n }\n\n .disabled {\n --ic-typography-color: GrayText;\n }\n}\n","import {\n Component,\n Prop,\n State,\n Element,\n h,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport { IcPaginationItemType } from \"./ic-pagination-item.types\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { removeDisabledFalse, capitalize } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-pagination-item\",\n styleUrl: \"ic-pagination-item.css\",\n shadow: true,\n})\nexport class PaginationItem {\n @Element() el: HTMLIcPaginationItemElement;\n\n @State() capitalizedLabel: string;\n\n /**\n * If `true`, the pagination item will be disabled.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n @Prop() label?: string = \"Page\";\n\n @Watch(\"label\")\n watchLabelHandler(): void {\n this.capitalizedLabel = capitalize(this.label!);\n }\n\n /**\n * If `true`, the pagination item will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * The current page number.\n */\n @Prop() page?: number;\n\n /**\n * If `true`, the pagination item will be selected.\n */\n @Prop() selected: boolean = false;\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 pagination item - 'page' or 'ellipsis'.\n */\n @Prop() type: IcPaginationItemType;\n\n /**\n * @internal - Emitted when a pagination item is clicked.\n */\n @Event() paginationItemClick: EventEmitter<{ page: number | null }>;\n\n componentWillLoad(): void {\n this.watchLabelHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n\n private handleClick = () => {\n this.paginationItemClick.emit({ page: this.page || null });\n };\n\n render() {\n const {\n page,\n selected,\n type,\n disabled,\n label,\n capitalizedLabel,\n monochrome,\n } = this;\n\n return (\n <a class={{ [\"monochrome\"]: !!monochrome }}>\n {type === \"ellipsis\" ? (\n <div\n class={{\n [\"item-container\"]: true,\n [\"ellipsis\"]: true,\n [\"disabled\"]: !!disabled,\n }}\n >\n <ic-typography variant=\"label\">...</ic-typography>\n </div>\n ) : type === \"page\" ? (\n <button\n disabled={disabled}\n onClick={this.handleClick}\n tabindex={selected ? \"-1\" : \"0\"}\n role=\"button\"\n aria-current={selected && \"page\"}\n aria-label={\n selected ? `${label}: ${page}` : `Go to ${label} ${page}`\n }\n class={{\n [\"selected\"]: !disabled && selected,\n [\"disabled\"]: !!disabled,\n [\"item-container\"]: true,\n [\"page\"]: type === \"page\",\n }}\n >\n <ic-typography\n variant=\"label\"\n class={{\n [\"page-selected\"]: selected,\n [\"disabled\"]: !!disabled,\n }}\n >\n {page}\n </ic-typography>\n </button>\n ) : (\n <ic-typography\n aria-live=\"polite\"\n class={{\n [`simple-current`]: true,\n [\"disabled\"]: !!disabled,\n }}\n variant=\"label\"\n >\n {capitalizedLabel} {page}\n </ic-typography>\n )}\n </a>\n );\n }\n}\n"],"mappings":"4HAAA,MAAMA,EAAsB,yrLAC5B,MAAAC,EAAeD,E,MCkBFE,EAAc,MAL3B,WAAAC,CAAAC,G,mEAaUC,KAAAC,SAAqB,MASrBD,KAAAE,MAAiB,OAUjBF,KAAAG,WAAuB,MAUvBH,KAAAI,SAAoB,MAKpBJ,KAAAK,MAAsB,UAiBtBL,KAAAM,YAAc,KACpBN,KAAKO,oBAAoBC,KAAK,CAAEC,KAAMT,KAAKS,MAAQ,MAAO,C,CAlD5D,oBAAAC,GACEC,EAAoBX,KAAKC,SAAUD,KAAKY,G,CAS1C,iBAAAC,GACEb,KAAKc,iBAAmBC,EAAWf,KAAKE,M,CAiC1C,iBAAAc,GACEhB,KAAKa,oBACLF,EAAoBX,KAAKC,SAAUD,KAAKY,G,CAO1C,MAAAK,GACE,MAAMR,KACJA,EAAIL,SACJA,EAAQc,KACRA,EAAIjB,SACJA,EAAQC,MACRA,EAAKY,iBACLA,EAAgBX,WAChBA,GACEH,KAEJ,OACEmB,EAAA,KAAAC,IAAA,2CAAGC,MAAO,CAAE,CAAC,gBAAiBlB,IAC3Be,IAAS,WACRC,EAAA,OACEE,MAAO,CACL,CAAC,kBAAmB,KACpB,CAAC,YAAa,KACd,CAAC,cAAepB,IAGlBkB,EAAA,iBAAeG,QAAQ,SAAO,QAE9BJ,IAAS,OACXC,EAAA,UACElB,SAAUA,EACVsB,QAASvB,KAAKM,YACdkB,SAAUpB,EAAW,KAAO,IAC5BqB,KAAK,SAAQ,eACCrB,GAAY,OAAM,aAE9BA,EAAW,GAAGF,MAAUO,IAAS,SAASP,KAASO,IAErDY,MAAO,CACL,CAAC,aAAcpB,GAAYG,EAC3B,CAAC,cAAeH,EAChB,CAAC,kBAAmB,KACpB,CAAC,QAASiB,IAAS,SAGrBC,EAAA,iBACEG,QAAQ,QACRD,MAAO,CACL,CAAC,iBAAkBjB,EACnB,CAAC,cAAeH,IAGjBQ,IAILU,EAAA,6BACY,SACVE,MAAO,CACL,CAAC,kBAAmB,KACpB,CAAC,cAAepB,GAElBqB,QAAQ,SAEPR,EAAgB,IAAGL,G","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as e,h as t,H as i,g as o}from"./p-8e4e97b4.js";import{i as s}from"./p-6ceedfa8.js";import"./p-641c26c4.js";const a='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}.label-container{--ic-typography-color:var(--ic-accordion-group-title-text);color:var(--ic-accordion-group-title-text);padding:var(--ic-space-xs);display:flex;justify-content:space-between;align-items:center}:host(.ic-accordion-group-small) .label-container{padding:var(--ic-space-xxs) var(--ic-space-xs)}:host(.ic-accordion-group-large) .label-container{padding:var(--ic-space-sm) var(--ic-space-xs)}';const n=a;let r=0;const c=class{constructor(t){e(this,t);this.accordionGroupId=`ic-accordion-group-${r++}`;this.accessibleButtonLabel="accordions";this.theme="inherit";this.expanded=false;this.label="";this.singleExpansion=false;this.size="medium";this.handleExpanded=()=>{if(this.areAllAccordionsOpen){this.expanded=false;this.accordions.forEach((e=>{e.expanded=this.expanded}))}else{this.expanded=true;this.accordions.forEach((e=>{e.expanded=this.expanded}))}this.setExpandedToAreAllAccordionsOpen()};this.linkAccordions=()=>{this.accordions.forEach((e=>{e.setAttribute("context-id",this.accordionGroupId)}))};this.setExpandedToAreAllAccordionsOpen=()=>{this.areAllAccordionsOpen=this.accordions.every((e=>!!e.expanded))};this.accordionOpenBtnText=()=>!this.areAllAccordionsOpen?"See all":"Hide all"}watchThemeHandler(){this.accordions.forEach((e=>{e.theme=this.theme}))}watchExpandedHandler(){this.handleExpanded()}componentDidLoad(){const e=this.el.children;this.accordions=Array.from(e).filter((e=>e.tagName==="IC-ACCORDION"));this.linkAccordions();this.accordions.forEach((e=>{e.theme=this.theme}));this.accordions.forEach((e=>{e.size=this.size}));if(this.expanded){this.accordions.forEach((e=>{e.expanded=true}));this.setExpandedToAreAllAccordionsOpen()}else{this.setExpandedToAreAllAccordionsOpen();this.expanded=this.areAllAccordionsOpen}}handleAccordionClicked(e){if(!this.singleExpansion){this.setExpandedToAreAllAccordionsOpen()}else{this.accordions.forEach((t=>{if(t.expanded&&e.detail.id!==t.id){t.expanded=false}}))}}async setFocus(){const e=this.singleExpansion?this.accordions[0]:this.allButtonEl;e===null||e===void 0?void 0:e.setFocus()}render(){const{size:e,label:o,singleExpansion:a,accessibleButtonLabel:n,theme:r}=this;return t(i,{key:"ec057d7f6e128e8429ebd9e14497a86d1eaf1abe","context-id":this.accordionGroupId,class:{[`ic-accordion-group-${e}`]:true,["ic-accordion-group"]:true,[`ic-theme-${r}`]:r!=="inherit"}},t("div",{key:"86acdf79730dc3d2dcc95a5928e1a1bebf83412f",class:"label-container"},t("ic-typography",{key:"5f2b615ebe87304b410b896d5b102da42ff5bcd6",variant:"h4"},t("h3",{key:"9b33f5f102e27e4268b0edd894d8d725fd8cc5a4"},s(this.el,"label")?t("slot",{name:"label"}):o)),!a&&t("ic-button",{key:"1b8d8332cd10fed2eea6959f02841cb4b1586902",ref:e=>this.allButtonEl=e,onClick:this.handleExpanded,variant:"tertiary","aria-label":`${this.accordionOpenBtnText()} ${n}`},this.accordionOpenBtnText())),t("slot",{key:"b93775721fd0cc7560115c6bb62824db59b2ea27"}))}get el(){return o(this)}static get watchers(){return{theme:["watchThemeHandler"],expanded:["watchExpandedHandler"]}}};c.style=n;export{c as ic_accordion_group};
|
2
|
+
//# sourceMappingURL=p-69412f61.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["icAccordionGroupCss","IcAccordionGroupStyle0","accordionGroupIds","AccordionGroup","constructor","hostRef","this","accordionGroupId","accessibleButtonLabel","theme","expanded","label","singleExpansion","size","handleExpanded","areAllAccordionsOpen","accordions","forEach","acc","setExpandedToAreAllAccordionsOpen","linkAccordions","accordion","setAttribute","every","accordionOpenBtnText","watchThemeHandler","watchExpandedHandler","componentDidLoad","accordionDirectChildren","el","children","Array","from","filter","child","tagName","handleAccordionClicked","event","detail","id","setFocus","focusEl","allButtonEl","render","h","Host","key","class","variant","isSlotUsed","name","ref","onClick"],"sources":["src/components/ic-accordion-group/ic-accordion-group.css?tag=ic-accordion-group&encapsulation=shadow","src/components/ic-accordion-group/ic-accordion-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n.label-container {\n --ic-typography-color: var(--ic-accordion-group-title-text);\n\n color: var(--ic-accordion-group-title-text);\n padding: var(--ic-space-xs);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n:host(.ic-accordion-group-small) .label-container {\n padding: var(--ic-space-xxs) var(--ic-space-xs);\n}\n\n:host(.ic-accordion-group-large) .label-container {\n padding: var(--ic-space-sm) var(--ic-space-xs);\n}\n","import {\n Component,\n Element,\n h,\n Host,\n Listen,\n Prop,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport { IcSizes, IcThemeMode } from \"../../utils/types\";\nimport { isSlotUsed } from \"../../utils/helpers\";\n\nlet accordionGroupIds = 0;\n\n/**\n * @slot label - Content is placed as the accordion group title.\n */\n@Component({\n tag: \"ic-accordion-group\",\n styleUrl: \"ic-accordion-group.css\",\n shadow: true,\n})\nexport class AccordionGroup {\n private accordionGroupId = `ic-accordion-group-${accordionGroupIds++}`;\n private allButtonEl?: HTMLIcButtonElement;\n\n @Element() el: HTMLIcAccordionGroupElement;\n\n @State() accordions: HTMLIcAccordionElement[];\n\n @State() areAllAccordionsOpen: boolean;\n\n /**\n * The accessible button label to provide more context to the 'See all/Hide all' button for screen reader users.\n */\n @Prop() accessibleButtonLabel?: string = \"accordions\";\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 watchThemeHandler(): void {\n this.accordions.forEach((acc) => {\n acc.theme = this.theme;\n });\n }\n\n /**\n * If `true`, the accordion will load in an expanded state.\n */\n @Prop({ mutable: true }) expanded?: boolean = false;\n @Watch(\"expanded\")\n watchExpandedHandler() {\n this.handleExpanded();\n }\n\n /**\n * The header for the accordion group.\n */\n @Prop() label?: string = \"\";\n\n /**\n * If `true`, only one accordion will open at a time.\n */\n @Prop() singleExpansion?: boolean = false;\n\n /**\n * The size of the accordion.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n componentDidLoad(): void {\n const accordionDirectChildren = (this.el as HTMLElement).children;\n this.accordions = Array.from(accordionDirectChildren).filter(\n (child) => child.tagName === \"IC-ACCORDION\"\n ) as HTMLIcAccordionElement[];\n this.linkAccordions();\n this.accordions.forEach((acc) => {\n acc.theme = this.theme;\n });\n this.accordions.forEach((acc) => {\n acc.size = this.size;\n });\n if (this.expanded) {\n this.accordions.forEach((acc) => {\n acc.expanded = true;\n });\n this.setExpandedToAreAllAccordionsOpen();\n } else {\n this.setExpandedToAreAllAccordionsOpen();\n this.expanded = this.areAllAccordionsOpen;\n }\n }\n\n @Listen(\"accordionClicked\")\n handleAccordionClicked(event: CustomEvent): void {\n if (!this.singleExpansion) {\n // 'See all' should be visible until all accordions are open, then 'Hide all' should be visible\n this.setExpandedToAreAllAccordionsOpen();\n } else {\n this.accordions.forEach((acc) => {\n if (acc.expanded && event.detail.id !== acc.id) {\n acc.expanded = false;\n }\n });\n }\n }\n\n /**\n * Sets the focus on first focusable element in the accordion group. If the \"See/Hide all\" button is present, it will be focused.\n * Otherwise, the first accordion will be focused.\n */\n @Method()\n async setFocus(): Promise<void> {\n const focusEl = this.singleExpansion\n ? this.accordions[0]\n : this.allButtonEl;\n focusEl?.setFocus();\n }\n\n private handleExpanded = () => {\n if (this.areAllAccordionsOpen) {\n this.expanded = false;\n this.accordions.forEach((acc) => {\n acc.expanded = this.expanded;\n });\n } else {\n this.expanded = true;\n this.accordions.forEach((acc) => {\n acc.expanded = this.expanded;\n });\n }\n this.setExpandedToAreAllAccordionsOpen();\n };\n\n private linkAccordions = () => {\n this.accordions.forEach((accordion) => {\n accordion.setAttribute(\"context-id\", this.accordionGroupId);\n });\n };\n\n private setExpandedToAreAllAccordionsOpen = () => {\n this.areAllAccordionsOpen = this.accordions.every(\n (accordion) => !!accordion.expanded\n );\n };\n\n private accordionOpenBtnText = () => {\n return !this.areAllAccordionsOpen ? \"See all\" : \"Hide all\";\n };\n\n render() {\n const { size, label, singleExpansion, accessibleButtonLabel, theme } = this;\n return (\n <Host\n context-id={this.accordionGroupId}\n class={{\n [`ic-accordion-group-${size}`]: true,\n [\"ic-accordion-group\"]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"label-container\">\n <ic-typography variant=\"h4\">\n <h3>\n {isSlotUsed(this.el, \"label\") ? <slot name=\"label\" /> : label}\n </h3>\n </ic-typography>\n {!singleExpansion && (\n <ic-button\n ref={(el) => (this.allButtonEl = el)}\n onClick={this.handleExpanded}\n variant=\"tertiary\"\n aria-label={`${this.accordionOpenBtnText()} ${accessibleButtonLabel}`}\n >\n {this.accordionOpenBtnText()}\n </ic-button>\n )}\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"
|
1
|
+
{"version":3,"names":["icAccordionGroupCss","IcAccordionGroupStyle0","accordionGroupIds","AccordionGroup","constructor","hostRef","this","accordionGroupId","accessibleButtonLabel","theme","expanded","label","singleExpansion","size","handleExpanded","areAllAccordionsOpen","accordions","forEach","acc","setExpandedToAreAllAccordionsOpen","linkAccordions","accordion","setAttribute","every","accordionOpenBtnText","watchThemeHandler","watchExpandedHandler","componentDidLoad","accordionDirectChildren","el","children","Array","from","filter","child","tagName","handleAccordionClicked","event","detail","id","setFocus","focusEl","allButtonEl","render","h","Host","key","class","variant","isSlotUsed","name","ref","onClick"],"sources":["src/components/ic-accordion-group/ic-accordion-group.css?tag=ic-accordion-group&encapsulation=shadow","src/components/ic-accordion-group/ic-accordion-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n.label-container {\n --ic-typography-color: var(--ic-accordion-group-title-text);\n\n color: var(--ic-accordion-group-title-text);\n padding: var(--ic-space-xs);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n:host(.ic-accordion-group-small) .label-container {\n padding: var(--ic-space-xxs) var(--ic-space-xs);\n}\n\n:host(.ic-accordion-group-large) .label-container {\n padding: var(--ic-space-sm) var(--ic-space-xs);\n}\n","import {\n Component,\n Element,\n h,\n Host,\n Listen,\n Prop,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport { IcSizes, IcThemeMode } from \"../../utils/types\";\nimport { isSlotUsed } from \"../../utils/helpers\";\n\nlet accordionGroupIds = 0;\n\n/**\n * @slot label - Content is placed as the accordion group title.\n */\n@Component({\n tag: \"ic-accordion-group\",\n styleUrl: \"ic-accordion-group.css\",\n shadow: true,\n})\nexport class AccordionGroup {\n private accordionGroupId = `ic-accordion-group-${accordionGroupIds++}`;\n private allButtonEl?: HTMLIcButtonElement;\n\n @Element() el: HTMLIcAccordionGroupElement;\n\n @State() accordions: HTMLIcAccordionElement[];\n\n @State() areAllAccordionsOpen: boolean;\n\n /**\n * The accessible button label to provide more context to the 'See all/Hide all' button for screen reader users.\n */\n @Prop() accessibleButtonLabel?: string = \"accordions\";\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 watchThemeHandler(): void {\n this.accordions.forEach((acc) => {\n acc.theme = this.theme;\n });\n }\n\n /**\n * If `true`, the accordion will load in an expanded state.\n */\n @Prop({ mutable: true }) expanded?: boolean = false;\n @Watch(\"expanded\")\n watchExpandedHandler() {\n this.handleExpanded();\n }\n\n /**\n * The header for the accordion group.\n */\n @Prop() label?: string = \"\";\n\n /**\n * If `true`, only one accordion will open at a time.\n */\n @Prop() singleExpansion?: boolean = false;\n\n /**\n * The size of the accordion.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n componentDidLoad(): void {\n const accordionDirectChildren = (this.el as HTMLElement).children;\n this.accordions = Array.from(accordionDirectChildren).filter(\n (child) => child.tagName === \"IC-ACCORDION\"\n ) as HTMLIcAccordionElement[];\n this.linkAccordions();\n this.accordions.forEach((acc) => {\n acc.theme = this.theme;\n });\n this.accordions.forEach((acc) => {\n acc.size = this.size;\n });\n if (this.expanded) {\n this.accordions.forEach((acc) => {\n acc.expanded = true;\n });\n this.setExpandedToAreAllAccordionsOpen();\n } else {\n this.setExpandedToAreAllAccordionsOpen();\n this.expanded = this.areAllAccordionsOpen;\n }\n }\n\n @Listen(\"accordionClicked\")\n handleAccordionClicked(event: CustomEvent): void {\n if (!this.singleExpansion) {\n // 'See all' should be visible until all accordions are open, then 'Hide all' should be visible\n this.setExpandedToAreAllAccordionsOpen();\n } else {\n this.accordions.forEach((acc) => {\n if (acc.expanded && event.detail.id !== acc.id) {\n acc.expanded = false;\n }\n });\n }\n }\n\n /**\n * Sets the focus on first focusable element in the accordion group. If the \"See/Hide all\" button is present, it will be focused.\n * Otherwise, the first accordion will be focused.\n */\n @Method()\n async setFocus(): Promise<void> {\n const focusEl = this.singleExpansion\n ? this.accordions[0]\n : this.allButtonEl;\n focusEl?.setFocus();\n }\n\n private handleExpanded = () => {\n if (this.areAllAccordionsOpen) {\n this.expanded = false;\n this.accordions.forEach((acc) => {\n acc.expanded = this.expanded;\n });\n } else {\n this.expanded = true;\n this.accordions.forEach((acc) => {\n acc.expanded = this.expanded;\n });\n }\n this.setExpandedToAreAllAccordionsOpen();\n };\n\n private linkAccordions = () => {\n this.accordions.forEach((accordion) => {\n accordion.setAttribute(\"context-id\", this.accordionGroupId);\n });\n };\n\n private setExpandedToAreAllAccordionsOpen = () => {\n this.areAllAccordionsOpen = this.accordions.every(\n (accordion) => !!accordion.expanded\n );\n };\n\n private accordionOpenBtnText = () => {\n return !this.areAllAccordionsOpen ? \"See all\" : \"Hide all\";\n };\n\n render() {\n const { size, label, singleExpansion, accessibleButtonLabel, theme } = this;\n return (\n <Host\n context-id={this.accordionGroupId}\n class={{\n [`ic-accordion-group-${size}`]: true,\n [\"ic-accordion-group\"]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"label-container\">\n <ic-typography variant=\"h4\">\n <h3>\n {isSlotUsed(this.el, \"label\") ? <slot name=\"label\" /> : label}\n </h3>\n </ic-typography>\n {!singleExpansion && (\n <ic-button\n ref={(el) => (this.allButtonEl = el)}\n onClick={this.handleExpanded}\n variant=\"tertiary\"\n aria-label={`${this.accordionOpenBtnText()} ${accessibleButtonLabel}`}\n >\n {this.accordionOpenBtnText()}\n </ic-button>\n )}\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"qHAAA,MAAMA,EAAsB,qvFAC5B,MAAAC,EAAeD,ECaf,IAAIE,EAAoB,E,MAUXC,EAAc,MAL3B,WAAAC,CAAAC,G,UAMUC,KAAAC,iBAAmB,sBAAsBL,MAYzCI,KAAAE,sBAAiC,aAKjCF,KAAAG,MAAsB,UAWLH,KAAAI,SAAqB,MAStCJ,KAAAK,MAAiB,GAKjBL,KAAAM,gBAA4B,MAK5BN,KAAAO,KAAiB,SAmDjBP,KAAAQ,eAAiB,KACvB,GAAIR,KAAKS,qBAAsB,CAC7BT,KAAKI,SAAW,MAChBJ,KAAKU,WAAWC,SAASC,IACvBA,EAAIR,SAAWJ,KAAKI,QAAQ,G,KAEzB,CACLJ,KAAKI,SAAW,KAChBJ,KAAKU,WAAWC,SAASC,IACvBA,EAAIR,SAAWJ,KAAKI,QAAQ,G,CAGhCJ,KAAKa,mCAAmC,EAGlCb,KAAAc,eAAiB,KACvBd,KAAKU,WAAWC,SAASI,IACvBA,EAAUC,aAAa,aAAchB,KAAKC,iBAAiB,GAC3D,EAGID,KAAAa,kCAAoC,KAC1Cb,KAAKS,qBAAuBT,KAAKU,WAAWO,OACzCF,KAAgBA,EAAUX,UAC5B,EAGKJ,KAAAkB,qBAAuB,KACrBlB,KAAKS,qBAAuB,UAAY,U,CA3GlD,iBAAAU,GACEnB,KAAKU,WAAWC,SAASC,IACvBA,EAAIT,MAAQH,KAAKG,KAAK,G,CAS1B,oBAAAiB,GACEpB,KAAKQ,gB,CAkBP,gBAAAa,GACE,MAAMC,EAA2BtB,KAAKuB,GAAmBC,SACzDxB,KAAKU,WAAae,MAAMC,KAAKJ,GAAyBK,QACnDC,GAAUA,EAAMC,UAAY,iBAE/B7B,KAAKc,iBACLd,KAAKU,WAAWC,SAASC,IACvBA,EAAIT,MAAQH,KAAKG,KAAK,IAExBH,KAAKU,WAAWC,SAASC,IACvBA,EAAIL,KAAOP,KAAKO,IAAI,IAEtB,GAAIP,KAAKI,SAAU,CACjBJ,KAAKU,WAAWC,SAASC,IACvBA,EAAIR,SAAW,IAAI,IAErBJ,KAAKa,mC,KACA,CACLb,KAAKa,oCACLb,KAAKI,SAAWJ,KAAKS,oB,EAKzB,sBAAAqB,CAAuBC,GACrB,IAAK/B,KAAKM,gBAAiB,CAEzBN,KAAKa,mC,KACA,CACLb,KAAKU,WAAWC,SAASC,IACvB,GAAIA,EAAIR,UAAY2B,EAAMC,OAAOC,KAAOrB,EAAIqB,GAAI,CAC9CrB,EAAIR,SAAW,K,MAWvB,cAAM8B,GACJ,MAAMC,EAAUnC,KAAKM,gBACjBN,KAAKU,WAAW,GAChBV,KAAKoC,YACTD,IAAO,MAAPA,SAAO,SAAPA,EAASD,U,CAkCX,MAAAG,GACE,MAAM9B,KAAEA,EAAIF,MAAEA,EAAKC,gBAAEA,EAAeJ,sBAAEA,EAAqBC,MAAEA,GAAUH,KACvE,OACEsC,EAACC,EAAI,CAAAC,IAAA,wDACSxC,KAAKC,iBACjBwC,MAAO,CACL,CAAC,sBAAsBlC,KAAS,KAChC,CAAC,sBAAuB,KACxB,CAAC,YAAYJ,KAAUA,IAAU,YAGnCmC,EAAA,OAAAE,IAAA,2CAAKC,MAAM,mBACTH,EAAA,iBAAAE,IAAA,2CAAeE,QAAQ,MACrBJ,EAAA,MAAAE,IAAA,4CACGG,EAAW3C,KAAKuB,GAAI,SAAWe,EAAA,QAAMM,KAAK,UAAavC,KAG1DC,GACAgC,EAAA,aAAAE,IAAA,2CACEK,IAAMtB,GAAQvB,KAAKoC,YAAcb,EACjCuB,QAAS9C,KAAKQ,eACdkC,QAAQ,WAAU,aACN,GAAG1C,KAAKkB,0BAA0BhB,KAE7CF,KAAKkB,yBAIZoB,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as a,c as t,h as i,H as e,g as s}from"./p-8e4e97b4.js";import{M as o,O as n,i as c}from"./p-6ceedfa8.js";import"./p-641c26c4.js";const r=":host{display:block;position:fixed;top:0;left:0;width:100%;min-height:100% !important;background:rgb(0 0 0 / 60%);z-index:var(--ic-z-index-navigation-menu)}.popout-modal{position:absolute;inset:0}.popout-menu{position:fixed;top:0;right:0;width:16rem;bottom:0;background-color:var(--ic-top-navigation-menu-background);color:var(--ic-top-navigation-nav-item);--ic-typography-color:var(--ic-top-navigation-nav-item);box-shadow:var(--ic-elevation-overlay);overflow-y:auto;overflow-x:hidden}:host(.inline) .popout-menu{position:absolute}.menu-close-button-container{position:relative;left:11.875rem;padding:var(--ic-space-md) 0}.nav-group-first{padding-bottom:0}.menu-buttons-container{padding:var(--ic-space-sm) 0;border-bottom:var(--ic-border-width) solid var(--ic-architectural-200)}.menu-buttons-container-nav-item-above{margin-top:var(--ic-space-md);border-top:var(--ic-border-width) solid var(--ic-architectural-200)}.menu-status-version-container{display:flex;flex-wrap:wrap;gap:var(--ic-space-xs);padding:var(--ic-space-md) var(--ic-space-md) var(--ic-space-xl)}.status-version-no-buttons{border-top:var(--ic-space-1px) solid var(--ic-architectural-200)}.menu-status{background-color:var(--ic-status-tag-neutral);--ic-typography-color:var(--ic-color-text-inverted);border-radius:var(--ic-space-md);width:-moz-fit-content;width:fit-content;padding:var(--ic-space-xxs) var(--ic-space-sm)}.menu-version{border-radius:var(--ic-space-md);background-color:var(--ic-status-tag-outlined-background-neutral-contrast);--ic-typography-color:var(--ic-color-text-primary-light);padding:var(--ic-space-xxs) var(--ic-space-sm)}.menu-status-text,.menu-version-text{overflow-wrap:break-word}.navigation-landmark-text{position:absolute;width:var(--ic-space-1px);height:var(--ic-space-1px);padding:0;margin:calc(-1 * var(--ic-space-1px));overflow:hidden}";const d=r;const l="IC-NAVIGATION-GROUP";const h="IC-NAVIGATION-ITEM";const u=class{constructor(i){a(this,i);this.icNavigationMenuClose=t(this,"icNavigationMenuClose",7);this.hasButtons=false;this.hasNavigation=false;this.lastTabStop=null;this.navGroupFirst=false;this.navItemAboveButtons=false;this.status="";this.theme="inherit";this.version="";this.setLastTabStop=a=>{let t=this.navigationEls[this.navigationEls.length-1];if(t.tagName===l&&a){const a=t.children;t=a[a.length-1]}if(t.tagName===h){const a=o(t,"navigation-item");if(a!==null){t=a}}this.lastTabStop=t};this.closeMenu=()=>{this.icNavigationMenuClose.emit()};this.focusCloseButton=()=>{var a;(a=this.closeButton)===null||a===void 0?void 0:a.focus()};this.focusLastTabStop=()=>{let a;if(this.lastTabStop!==null){switch(this.lastTabStop.tagName){case"IC-NAVIGATION-BUTTON":case h:case l:a=this.lastTabStop;a.focus();break;case"A":this.lastTabStop.focus();break}}}}componentWillLoad(){this.navBarEl=document.querySelector("ic-top-navigation");this.navigationEls=n(this.el,"navigation");if(this.navigationEls){this.hasNavigation=true;const a=this.navigationEls[this.navigationEls.length-1];if(a.tagName===h){this.navItemAboveButtons=true}else if(a.tagName===l){a.addEventListener("navigationGroupExpanded",(a=>{this.setLastTabStop(a.detail.expanded)}))}const t=this.navigationEls[0];if(t.tagName===l){this.navGroupFirst=true}}const a=n(this.el,"buttons");if(a!==null){this.hasButtons=true;this.lastTabStop=a[a.length-1]}else{if(this.hasNavigation&&this.navigationEls){this.setLastTabStop(false)}}}componentDidLoad(){this.focusCloseButton()}componentWillRender(){this.hasNavigation=c(this.el,"navigation");this.hasButtons=c(this.el,"buttons")}navItemClickHandler(){this.closeMenu()}handleKeyDown(a){if(a.key==="Tab"){if(a.shiftKey){if(document.activeElement===this.navBarEl){a.preventDefault();this.focusLastTabStop()}}else if(document.activeElement===this.lastTabStop||this.lastTabStop===null){a.preventDefault();this.focusCloseButton()}}else if(a.key==="Escape"){this.closeMenu()}}render(){return i(e,{key:"10788f4141f818f0f6d162ab14ef31f387a0a088",class:{[`ic-theme-${this.theme}`]:this.theme!=="inherit"}},i("div",{key:"073fc0b5677787aea69610218e31c98af2d0bcf6",class:"popout-modal",onClick:this.closeMenu}),i("div",{key:"b1c089216c1b0d048ed5f7ab22b493f18e6c1925",class:"popout-menu",role:"dialog","aria-modal":"true","aria-label":`${this.hasNavigation?"Navigation":"App"} menu`},i("span",{key:"7cd1e985e623de53c4b54d145e3c5778e5b42d9d","aria-hidden":"true",id:"navigation-landmark-text",class:"navigation-landmark-text"},"Main navigation"),i("nav",{key:"96b72f2b119115ff4c7ae045def9f77e075a3da8","aria-labelledby":"navigation-landmark-text","aria-hidden":this.hasNavigation?"false":"true"},i("div",{key:"7f6f200c07a572b08bc40feb3bc4626fd236b82a",class:{["menu-close-button-container"]:true,["nav-group-first"]:this.navGroupFirst}},i("ic-button",{key:"4f2f8c7694c1a38b21da8c526fdb987aecdf5a80",ref:a=>this.closeButton=a,id:"menu-close-button",class:"menu-close-button",variant:"icon-tertiary",size:"large","aria-label":`Close ${this.hasNavigation?"navigation":"app"} menu`,onClick:this.closeMenu},i("svg",{key:"9dc1c3ec5b42c3ce30a8a5d08f0478dc288029ff",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i("path",{key:"8afa8a42d3a4d90884d80d2997f26f62343c7c28",d:"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z"})))),this.hasNavigation&&i("slot",{key:"6f4b56a9ac5d20aeac2e95e7153644d47eb149ea",name:"navigation"})),this.hasButtons&&i("div",{key:"e93f88be7521de76edae1845a6dfb472435ff552",class:{["menu-buttons-container"]:true,["menu-buttons-container-nav-item-above"]:this.navItemAboveButtons}},i("slot",{key:"c5c8f1021794b892fbb72511bb01336a75ce0127",name:"buttons"})),(this.status!==""||this.version!=="")&&i("div",{key:"2fd5a79a68bec985b82699c8ec6df946ac4a84e4",class:{["menu-status-version-container"]:true,["status-version-no-buttons"]:!this.hasButtons}},this.status!==""&&i("div",{key:"c99d654ffe4ed2bd091b626af0afd9d93952e19b",class:"menu-status"},i("ic-typography",{key:"aa8aa2cba8d295a9cd1bee92920db503fee41249",variant:"label-uppercase","aria-label":"app tag",class:"menu-status-text"},this.status)),this.version!==""&&i("div",{key:"e20bad59ea61b6670905a158be44aa0af25b4560",class:"menu-version"},i("ic-typography",{key:"561be48d1ceacba55142d69237586ac93032af8c",variant:"label",class:"menu-version-text","aria-label":"app version"},this.version)))))}get el(){return s(this)}};u.style=d;export{u as ic_navigation_menu};
|
2
|
+
//# sourceMappingURL=p-69cc0f7d.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["icNavigationMenuCss","IcNavigationMenuStyle0","NAV_GROUP_TAG","NAV_ITEM_TAG","NavigationMenu","constructor","hostRef","this","hasButtons","hasNavigation","lastTabStop","navGroupFirst","navItemAboveButtons","status","theme","version","setLastTabStop","lastNavGroupExpanded","lastEl","navigationEls","length","tagName","childNavItems","children","slotContent","getSlot","closeMenu","icNavigationMenuClose","emit","focusCloseButton","_a","closeButton","focus","focusLastTabStop","focusEl","componentWillLoad","navBarEl","document","querySelector","getSlotContent","el","addEventListener","event","detail","expanded","firstEl","buttonContent","componentDidLoad","componentWillRender","isSlotUsed","navItemClickHandler","handleKeyDown","ev","key","shiftKey","activeElement","preventDefault","render","h","Host","class","onClick","role","id","ref","variant","size","width","height","viewBox","fill","xmlns","d","name"],"sources":["src/components/ic-navigation-menu/ic-navigation-menu.css?tag=ic-navigation-menu&encapsulation=shadow","src/components/ic-navigation-menu/ic-navigation-menu.tsx"],"sourcesContent":["/**\n * @prop --ic-z-index-navigation-menu: z-index of navigation menu\n */\n\n:host {\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n min-height: 100% !important;\n background: rgb(0 0 0 / 60%);\n z-index: var(--ic-z-index-navigation-menu);\n}\n\n.popout-modal {\n position: absolute;\n inset: 0;\n}\n\n.popout-menu {\n position: fixed;\n top: 0;\n right: 0;\n width: 16rem;\n bottom: 0;\n background-color: var(--ic-top-navigation-menu-background);\n color: var(--ic-top-navigation-nav-item);\n\n --ic-typography-color: var(--ic-top-navigation-nav-item);\n\n box-shadow: var(--ic-elevation-overlay);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n:host(.inline) .popout-menu {\n position: absolute;\n}\n\n.menu-close-button-container {\n position: relative;\n left: 11.875rem;\n padding: var(--ic-space-md) 0;\n}\n\n.nav-group-first {\n padding-bottom: 0;\n}\n\n.menu-buttons-container {\n padding: var(--ic-space-sm) 0;\n border-bottom: var(--ic-border-width) solid var(--ic-architectural-200);\n}\n\n.menu-buttons-container-nav-item-above {\n margin-top: var(--ic-space-md);\n border-top: var(--ic-border-width) solid var(--ic-architectural-200);\n}\n\n.menu-status-version-container {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ic-space-xs);\n padding: var(--ic-space-md) var(--ic-space-md) var(--ic-space-xl);\n}\n\n.status-version-no-buttons {\n border-top: var(--ic-space-1px) solid var(--ic-architectural-200);\n}\n\n.menu-status {\n background-color: var(--ic-status-tag-neutral);\n\n --ic-typography-color: var(--ic-color-text-inverted);\n\n border-radius: var(--ic-space-md);\n width: fit-content;\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n}\n\n.menu-version {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-status-tag-outlined-background-neutral-contrast);\n\n --ic-typography-color: var(--ic-color-text-primary-light);\n\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n}\n\n.menu-status-text,\n.menu-version-text {\n overflow-wrap: break-word;\n}\n\n.navigation-landmark-text {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Event,\n EventEmitter,\n Listen,\n} from \"@stencil/core\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { getSlot, getSlotContent, isSlotUsed } from \"../../utils/helpers\";\n\nconst NAV_GROUP_TAG = \"IC-NAVIGATION-GROUP\";\nconst NAV_ITEM_TAG = \"IC-NAVIGATION-ITEM\";\n\n/**\n * @slot navigation - Content will be rendered at top of panel.\n * @slot buttons - Content will be rendered above version info and below navigation.\n */\n@Component({\n tag: \"ic-navigation-menu\",\n styleUrl: \"ic-navigation-menu.css\",\n shadow: true,\n})\nexport class NavigationMenu {\n private closeButton?: HTMLIcButtonElement;\n private hasButtons: boolean = false;\n private hasNavigation: boolean = false;\n private lastTabStop: HTMLElement | null = null;\n private navBarEl: HTMLIcTopNavigationElement | null;\n private navGroupFirst: boolean = false;\n private navigationEls: HTMLElement[];\n private navItemAboveButtons: boolean = false;\n\n @Element() el: HTMLIcNavigationMenuElement;\n\n /**\n * The status info to display.\n */\n @Prop() status?: 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 version info to display.\n */\n @Prop() version?: string = \"\";\n\n /**\n * @internal - Emitted when the menu is closed.\n */\n @Event() icNavigationMenuClose: EventEmitter<void>;\n\n componentWillLoad(): void {\n this.navBarEl = document.querySelector(\"ic-top-navigation\");\n this.navigationEls = getSlotContent(this.el, \"navigation\") as HTMLElement[];\n\n if (this.navigationEls) {\n this.hasNavigation = true;\n const lastEl = this.navigationEls[this.navigationEls.length - 1];\n if (lastEl.tagName === NAV_ITEM_TAG) {\n this.navItemAboveButtons = true;\n } else if (lastEl.tagName === NAV_GROUP_TAG) {\n lastEl.addEventListener(\"navigationGroupExpanded\", ((\n event: CustomEvent\n ) => {\n this.setLastTabStop(event.detail.expanded);\n }) as EventListener);\n }\n const firstEl = this.navigationEls[0];\n if (firstEl.tagName === NAV_GROUP_TAG) {\n this.navGroupFirst = true;\n }\n }\n const buttonContent = getSlotContent(this.el, \"buttons\");\n\n if (buttonContent !== null) {\n this.hasButtons = true;\n this.lastTabStop = buttonContent[buttonContent.length - 1] as HTMLElement;\n } else {\n if (this.hasNavigation && this.navigationEls) {\n this.setLastTabStop(false);\n }\n }\n }\n\n componentDidLoad(): void {\n this.focusCloseButton();\n }\n\n componentWillRender(): void {\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasButtons = isSlotUsed(this.el, \"buttons\");\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.closeMenu();\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyDown(ev: KeyboardEvent): void {\n if (ev.key === \"Tab\") {\n if (ev.shiftKey) {\n if (document.activeElement === this.navBarEl) {\n ev.preventDefault();\n this.focusLastTabStop();\n }\n } else if (\n document.activeElement === this.lastTabStop ||\n this.lastTabStop === null\n ) {\n ev.preventDefault();\n this.focusCloseButton();\n }\n } else if (ev.key === \"Escape\") {\n this.closeMenu();\n }\n }\n\n private setLastTabStop = (lastNavGroupExpanded: boolean) => {\n let lastEl = this.navigationEls[\n this.navigationEls.length - 1\n ] as HTMLElement;\n\n if (lastEl.tagName === NAV_GROUP_TAG && lastNavGroupExpanded) {\n const childNavItems = lastEl.children;\n lastEl = childNavItems[childNavItems.length - 1] as HTMLElement;\n }\n\n if (lastEl.tagName === NAV_ITEM_TAG) {\n //check for slotted content i.e. react router link\n const slotContent = getSlot(lastEl, \"navigation-item\");\n if (slotContent !== null) {\n lastEl = slotContent as HTMLElement;\n }\n }\n\n this.lastTabStop = lastEl;\n };\n\n private closeMenu = () => {\n this.icNavigationMenuClose.emit();\n };\n\n private focusCloseButton = () => {\n this.closeButton?.focus();\n };\n\n private focusLastTabStop = () => {\n let focusEl;\n if (this.lastTabStop !== null) {\n switch (this.lastTabStop.tagName) {\n case \"IC-NAVIGATION-BUTTON\":\n case NAV_ITEM_TAG:\n case NAV_GROUP_TAG:\n focusEl = this.lastTabStop as HTMLElement;\n focusEl.focus();\n break;\n case \"A\":\n this.lastTabStop.focus();\n break;\n }\n }\n };\n\n render() {\n return (\n <Host class={{ [`ic-theme-${this.theme}`]: this.theme !== \"inherit\" }}>\n <div class=\"popout-modal\" onClick={this.closeMenu}></div>\n <div\n class=\"popout-menu\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={`${this.hasNavigation ? \"Navigation\" : \"App\"} menu`}\n >\n <span\n aria-hidden=\"true\"\n id=\"navigation-landmark-text\"\n class=\"navigation-landmark-text\"\n >\n Main navigation\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-text\"\n aria-hidden={this.hasNavigation ? \"false\" : \"true\"}\n >\n <div\n class={{\n [\"menu-close-button-container\"]: true,\n [\"nav-group-first\"]: this.navGroupFirst,\n }}\n >\n <ic-button\n ref={(el) => (this.closeButton = el)}\n id=\"menu-close-button\"\n class=\"menu-close-button\"\n variant=\"icon\"\n size=\"large\"\n aria-label={`Close ${\n this.hasNavigation ? \"navigation\" : \"app\"\n } menu`}\n onClick={this.closeMenu}\n >\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z\" />\n </svg>\n </ic-button>\n </div>\n {this.hasNavigation && <slot name=\"navigation\"></slot>}\n </nav>\n {this.hasButtons && (\n <div\n class={{\n [\"menu-buttons-container\"]: true,\n [\"menu-buttons-container-nav-item-above\"]:\n this.navItemAboveButtons,\n }}\n >\n <slot name=\"buttons\"></slot>\n </div>\n )}\n {(this.status !== \"\" || this.version !== \"\") && (\n <div\n class={{\n [\"menu-status-version-container\"]: true,\n [\"status-version-no-buttons\"]: !this.hasButtons,\n }}\n >\n {this.status !== \"\" && (\n <div class=\"menu-status\">\n <ic-typography\n variant=\"label-uppercase\"\n aria-label=\"app tag\"\n class=\"menu-status-text\"\n >\n {this.status}\n </ic-typography>\n </div>\n )}\n {this.version !== \"\" && (\n <div class=\"menu-version\">\n <ic-typography\n variant=\"label\"\n class=\"menu-version-text\"\n aria-label=\"app version\"\n >\n {this.version}\n </ic-typography>\n </div>\n )}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["icNavigationMenuCss","IcNavigationMenuStyle0","NAV_GROUP_TAG","NAV_ITEM_TAG","NavigationMenu","constructor","hostRef","this","hasButtons","hasNavigation","lastTabStop","navGroupFirst","navItemAboveButtons","status","theme","version","setLastTabStop","lastNavGroupExpanded","lastEl","navigationEls","length","tagName","childNavItems","children","slotContent","getSlot","closeMenu","icNavigationMenuClose","emit","focusCloseButton","_a","closeButton","focus","focusLastTabStop","focusEl","componentWillLoad","navBarEl","document","querySelector","getSlotContent","el","addEventListener","event","detail","expanded","firstEl","buttonContent","componentDidLoad","componentWillRender","isSlotUsed","navItemClickHandler","handleKeyDown","ev","key","shiftKey","activeElement","preventDefault","render","h","Host","class","onClick","role","id","ref","variant","size","width","height","viewBox","fill","xmlns","d","name"],"sources":["src/components/ic-navigation-menu/ic-navigation-menu.css?tag=ic-navigation-menu&encapsulation=shadow","src/components/ic-navigation-menu/ic-navigation-menu.tsx"],"sourcesContent":["/**\n * @prop --ic-z-index-navigation-menu: z-index of navigation menu\n */\n\n:host {\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n min-height: 100% !important;\n background: rgb(0 0 0 / 60%);\n z-index: var(--ic-z-index-navigation-menu);\n}\n\n.popout-modal {\n position: absolute;\n inset: 0;\n}\n\n.popout-menu {\n position: fixed;\n top: 0;\n right: 0;\n width: 16rem;\n bottom: 0;\n background-color: var(--ic-top-navigation-menu-background);\n color: var(--ic-top-navigation-nav-item);\n\n --ic-typography-color: var(--ic-top-navigation-nav-item);\n\n box-shadow: var(--ic-elevation-overlay);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n:host(.inline) .popout-menu {\n position: absolute;\n}\n\n.menu-close-button-container {\n position: relative;\n left: 11.875rem;\n padding: var(--ic-space-md) 0;\n}\n\n.nav-group-first {\n padding-bottom: 0;\n}\n\n.menu-buttons-container {\n padding: var(--ic-space-sm) 0;\n border-bottom: var(--ic-border-width) solid var(--ic-architectural-200);\n}\n\n.menu-buttons-container-nav-item-above {\n margin-top: var(--ic-space-md);\n border-top: var(--ic-border-width) solid var(--ic-architectural-200);\n}\n\n.menu-status-version-container {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ic-space-xs);\n padding: var(--ic-space-md) var(--ic-space-md) var(--ic-space-xl);\n}\n\n.status-version-no-buttons {\n border-top: var(--ic-space-1px) solid var(--ic-architectural-200);\n}\n\n.menu-status {\n background-color: var(--ic-status-tag-neutral);\n\n --ic-typography-color: var(--ic-color-text-inverted);\n\n border-radius: var(--ic-space-md);\n width: fit-content;\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n}\n\n.menu-version {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-status-tag-outlined-background-neutral-contrast);\n\n --ic-typography-color: var(--ic-color-text-primary-light);\n\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n}\n\n.menu-status-text,\n.menu-version-text {\n overflow-wrap: break-word;\n}\n\n.navigation-landmark-text {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Event,\n EventEmitter,\n Listen,\n} from \"@stencil/core\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { getSlot, getSlotContent, isSlotUsed } from \"../../utils/helpers\";\n\nconst NAV_GROUP_TAG = \"IC-NAVIGATION-GROUP\";\nconst NAV_ITEM_TAG = \"IC-NAVIGATION-ITEM\";\n\n/**\n * @slot navigation - Content will be rendered at top of panel.\n * @slot buttons - Content will be rendered above version info and below navigation.\n */\n@Component({\n tag: \"ic-navigation-menu\",\n styleUrl: \"ic-navigation-menu.css\",\n shadow: true,\n})\nexport class NavigationMenu {\n private closeButton?: HTMLIcButtonElement;\n private hasButtons: boolean = false;\n private hasNavigation: boolean = false;\n private lastTabStop: HTMLElement | null = null;\n private navBarEl: HTMLIcTopNavigationElement | null;\n private navGroupFirst: boolean = false;\n private navigationEls: HTMLElement[];\n private navItemAboveButtons: boolean = false;\n\n @Element() el: HTMLIcNavigationMenuElement;\n\n /**\n * The status info to display.\n */\n @Prop() status?: 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 version info to display.\n */\n @Prop() version?: string = \"\";\n\n /**\n * @internal - Emitted when the menu is closed.\n */\n @Event() icNavigationMenuClose: EventEmitter<void>;\n\n componentWillLoad(): void {\n this.navBarEl = document.querySelector(\"ic-top-navigation\");\n this.navigationEls = getSlotContent(this.el, \"navigation\") as HTMLElement[];\n\n if (this.navigationEls) {\n this.hasNavigation = true;\n const lastEl = this.navigationEls[this.navigationEls.length - 1];\n if (lastEl.tagName === NAV_ITEM_TAG) {\n this.navItemAboveButtons = true;\n } else if (lastEl.tagName === NAV_GROUP_TAG) {\n lastEl.addEventListener(\"navigationGroupExpanded\", ((\n event: CustomEvent\n ) => {\n this.setLastTabStop(event.detail.expanded);\n }) as EventListener);\n }\n const firstEl = this.navigationEls[0];\n if (firstEl.tagName === NAV_GROUP_TAG) {\n this.navGroupFirst = true;\n }\n }\n const buttonContent = getSlotContent(this.el, \"buttons\");\n\n if (buttonContent !== null) {\n this.hasButtons = true;\n this.lastTabStop = buttonContent[buttonContent.length - 1] as HTMLElement;\n } else {\n if (this.hasNavigation && this.navigationEls) {\n this.setLastTabStop(false);\n }\n }\n }\n\n componentDidLoad(): void {\n this.focusCloseButton();\n }\n\n componentWillRender(): void {\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasButtons = isSlotUsed(this.el, \"buttons\");\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.closeMenu();\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyDown(ev: KeyboardEvent): void {\n if (ev.key === \"Tab\") {\n if (ev.shiftKey) {\n if (document.activeElement === this.navBarEl) {\n ev.preventDefault();\n this.focusLastTabStop();\n }\n } else if (\n document.activeElement === this.lastTabStop ||\n this.lastTabStop === null\n ) {\n ev.preventDefault();\n this.focusCloseButton();\n }\n } else if (ev.key === \"Escape\") {\n this.closeMenu();\n }\n }\n\n private setLastTabStop = (lastNavGroupExpanded: boolean) => {\n let lastEl = this.navigationEls[\n this.navigationEls.length - 1\n ] as HTMLElement;\n\n if (lastEl.tagName === NAV_GROUP_TAG && lastNavGroupExpanded) {\n const childNavItems = lastEl.children;\n lastEl = childNavItems[childNavItems.length - 1] as HTMLElement;\n }\n\n if (lastEl.tagName === NAV_ITEM_TAG) {\n //check for slotted content i.e. react router link\n const slotContent = getSlot(lastEl, \"navigation-item\");\n if (slotContent !== null) {\n lastEl = slotContent as HTMLElement;\n }\n }\n\n this.lastTabStop = lastEl;\n };\n\n private closeMenu = () => {\n this.icNavigationMenuClose.emit();\n };\n\n private focusCloseButton = () => {\n this.closeButton?.focus();\n };\n\n private focusLastTabStop = () => {\n let focusEl;\n if (this.lastTabStop !== null) {\n switch (this.lastTabStop.tagName) {\n case \"IC-NAVIGATION-BUTTON\":\n case NAV_ITEM_TAG:\n case NAV_GROUP_TAG:\n focusEl = this.lastTabStop as HTMLElement;\n focusEl.focus();\n break;\n case \"A\":\n this.lastTabStop.focus();\n break;\n }\n }\n };\n\n render() {\n return (\n <Host class={{ [`ic-theme-${this.theme}`]: this.theme !== \"inherit\" }}>\n <div class=\"popout-modal\" onClick={this.closeMenu}></div>\n <div\n class=\"popout-menu\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={`${this.hasNavigation ? \"Navigation\" : \"App\"} menu`}\n >\n <span\n aria-hidden=\"true\"\n id=\"navigation-landmark-text\"\n class=\"navigation-landmark-text\"\n >\n Main navigation\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-text\"\n aria-hidden={this.hasNavigation ? \"false\" : \"true\"}\n >\n <div\n class={{\n [\"menu-close-button-container\"]: true,\n [\"nav-group-first\"]: this.navGroupFirst,\n }}\n >\n <ic-button\n ref={(el) => (this.closeButton = el)}\n id=\"menu-close-button\"\n class=\"menu-close-button\"\n variant=\"icon-tertiary\"\n size=\"large\"\n aria-label={`Close ${\n this.hasNavigation ? \"navigation\" : \"app\"\n } menu`}\n onClick={this.closeMenu}\n >\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z\" />\n </svg>\n </ic-button>\n </div>\n {this.hasNavigation && <slot name=\"navigation\"></slot>}\n </nav>\n {this.hasButtons && (\n <div\n class={{\n [\"menu-buttons-container\"]: true,\n [\"menu-buttons-container-nav-item-above\"]:\n this.navItemAboveButtons,\n }}\n >\n <slot name=\"buttons\"></slot>\n </div>\n )}\n {(this.status !== \"\" || this.version !== \"\") && (\n <div\n class={{\n [\"menu-status-version-container\"]: true,\n [\"status-version-no-buttons\"]: !this.hasButtons,\n }}\n >\n {this.status !== \"\" && (\n <div class=\"menu-status\">\n <ic-typography\n variant=\"label-uppercase\"\n aria-label=\"app tag\"\n class=\"menu-status-text\"\n >\n {this.status}\n </ic-typography>\n </div>\n )}\n {this.version !== \"\" && (\n <div class=\"menu-version\">\n <ic-typography\n variant=\"label\"\n class=\"menu-version-text\"\n aria-label=\"app version\"\n >\n {this.version}\n </ic-typography>\n </div>\n )}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{f as n}from"./p-8e4e97b4.js";import{b as t,d as o,c as e}from"./p-641c26c4.js";var s;(function(n){n["Warning"]="warning";n["Error"]="error";n["Success"]="success"})(s||(s={}));var r;(function(n){n["Default"]="default";n["Dark"]="dark";n["Light"]="light"})(r||(r={}));const i=133.3505;const a="anywhere";const c="ic-input";const l=(n,t=[])=>{const o={};t.forEach((t=>{const e=n.getAttribute(t);if(e!==null){o[t]=e;n.removeAttribute(t)}}));return o};const u=(n,t)=>{const o=n._original||n;return{_original:n,emit:d(o.emit.bind(o),t)}};const d=(n,t=0)=>{let o;return(...e)=>{clearTimeout(o);o=setTimeout(n,t,...e)}};const v=(n,t,o,e=false,s=true)=>{if(o&&(s||b(n))){let s=f(n);if(!s){s=n.ownerDocument.createElement("input");s.type="hidden";s.classList.add(c);n.appendChild(s)}s.disabled=e;s.name=o;s.value=t instanceof Date?t.toISOString():t||""}};const f=n=>Array.from(n.querySelectorAll(`input.${c}`)).filter((t=>n===t.parentElement))[0];const p=(n,t,o,e,s,r,i)=>{if(r!==undefined&&b(t)){let a=f(t);if(a===null||a===undefined){a=t.ownerDocument.createElement("input");a.classList.add(c);t.appendChild(a)}a.type="file";a.hidden=true;a.multiple=o;a.name=r;a.disabled=e;if(i)a.files=i;if(s)a.accept=s;a.onchange=()=>{n.emit(a.files)};a.click()}};const m=n=>{var t;(t=f(n))===null||t===void 0?void 0:t.remove()};const b=n=>!!n&&!!n.shadowRoot&&!!n.attachShadow;const h=n=>n+"-helper-text";const y=n=>n+"-validation-text";const g=(n,t,o,e)=>`${j(n,"helper-text")||o?h(t):""} ${e?y(t):""}`.trim();const w=(n,s=null)=>{var i;const a=n.parentElement||n.getRootNode().host.parentElement;const c=a===null||a===void 0?void 0:a.closest(t);if(!c)return r.Default;const l=c.tagName.toLowerCase();if((i=o[l])===null||i===void 0?void 0:i.includes(n.tagName.toLowerCase())){return r.Default}else if(s!==null&&!e.includes(l)){return s}else if(c.classList.contains(`${l}-${r.Dark}`)||c.classList.contains(r.Dark)){return r.Dark}else{return r.Light}};const I=()=>"maxTouchPoints"in navigator&&"userAgent"in navigator?navigator.maxTouchPoints>0&&/iPad|iPhone|iPod|Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent):false;const N=(n,t)=>{var o,e,s,r,i,a,c;const l=t.type==="submit"||t.type==="reset"?`hidden-form-${t.type}-button`:"hidden-form-button";const u=(o=document.querySelector(`#${l}`))!==null&&o!==void 0?o:document.createElement("button");u.setAttribute("type",(e=t.type)!==null&&e!==void 0?e:"button");u.id=l;u.style.display="none";u.formAction=(s=t.formaction)!==null&&s!==void 0?s:"";u.formEnctype=(r=t.formenctype)!==null&&r!==void 0?r:"";u.formMethod=(i=t.formmethod)!==null&&i!==void 0?i:"";u.formNoValidate=(a=t.formnovalidate)!==null&&a!==void 0?a:false;u.formTarget=(c=t.formtarget)!==null&&c!==void 0?c:"";n===null||n===void 0?void 0:n.appendChild(u);u.click()};const $=n=>!n||n.trim().length===0;const A=n=>n!==undefined?n:undefined;const x=(n,t,o="value",e="label")=>{const s=[];if(t.length>0&&t.map){t.map((n=>{if(n.children){n.children.map((n=>s.push(n)))}else{s.push(n)}}));const r=s.find((t=>t[o]===n));if(r!==undefined)return r[e]}return undefined};const k=(n,t,o,e=a,s="label")=>n.filter((n=>{var r;const i=n[s].toLowerCase();const c=(r=n.description)===null||r===void 0?void 0:r.toLowerCase();const l=o.toLowerCase();return e===a?t?i.includes(l)||(c===null||c===void 0?void 0:c.includes(l)):i.includes(l):t?i.startsWith(l)||(c===null||c===void 0?void 0:c.startsWith(l)):i.startsWith(l)}));const T=n=>{const t=[];if(n.length>0&&n.map){n.map((n=>{if(n.children){n.children.map((n=>t.push(n)))}else{t.push(n)}}))}return t.length};const O=n=>window.matchMedia(`(max-width: ${n}px)`).matches;const E=()=>{if(O(L.S)){return L.S}if(O(L.M)){return L.M}if(O(L.L)){return L.L}if(O(L.XL)){return L.XL}return L.UNDEFINED};const P=n=>getComputedStyle(document.documentElement).getPropertyValue(n);const C=()=>(parseInt(P("--ic-brand-color-primary-r"))*299+parseInt(P("--ic-brand-color-primary-g"))*587+parseInt(P("--ic-brand-color-primary-b"))*114)/1e3;const G=(n=C())=>n>i?r.Dark:r.Light;const M=(n,t)=>(n===null||n===void 0?void 0:n.querySelector(`[slot="${t}"]`))||null;const D=(n,t)=>M(n,t)!==null;const R=(n,t)=>{const o=M(n,t);return o?S(o):null};const S=n=>{const t=n.firstElementChild;if(t===null)return[n];const o=t.assignedElements?t.assignedElements():t.childNodes;return o.length?o:n.tagName?[n]:null};const F=({parentElement:n})=>{let t={navType:"",parent:null};if(n){switch(n.tagName){case"IC-NAVIGATION-GROUP":t=F(n);break;case"IC-TOP-NAVIGATION":t={navType:"top",parent:n};break;case"IC-SIDE-NAVIGATION":t={navType:"side",parent:n};break;case"IC-PAGE-HEADER":t={navType:"page-header",parent:null};break}}return t};const L={XS:Number(P("--ic-breakpoint-xs").replace("px","")),S:Number(P("--ic-breakpoint-sm").replace("px","")),M:Number(P("--ic-breakpoint-md").replace("px","")),L:Number(P("--ic-breakpoint-lg").replace("px","")),XL:Number(P("--ic-breakpoint-xl").replace("px","")),UNDEFINED:1200};const U=(n,t)=>!!n&&!t;const j=({children:n},t)=>Array.from(n).some((n=>n.getAttribute("slot")===t));const B=(n,t,o)=>{if(n===undefined&&t!==n){o()}};const V=(n,t)=>{n.forEach((({prop:n,propName:o})=>{if(n===null||n===undefined){console.error(`No ${o} specified for ${t} component - prop '${o}' (web components) / '${q(o)}' (react) required`)}}))};const q=n=>n.toLowerCase().split("-").map(((n,t)=>t===0?n:`${n.substring(0,1).toUpperCase()}${n.substring(1)}`)).join("");const H=n=>{if(typeof window!=="undefined"&&typeof window.ResizeObserver!=="undefined"){n()}};const W=n=>parseInt(n,16);const X=n=>{const t=n.replace("#","").split("").map((n=>n.repeat(2)));return{r:W(n.length===4?t[0]:n.slice(1,3)),g:W(n.length===4?t[1]:n.slice(3,5)),b:W(n.length===4?t[2]:n.slice(5)),a:1}};const z=n=>{const t=n.slice(3,4).toLowerCase()==="a";const o=n.substring(t?5:4,n.length-1).replace(/ /g,"").split(",").map(Number);return{r:o[0],g:o[1],b:o[2],a:t?o[3]:1}};const J=({scrollWidth:n,clientWidth:t})=>n>t;const K=()=>!!document.querySelector("ic-classification-banner:not([inline='true'])");const Q=(n,t)=>{var o;(o=n.closest("FORM"))===null||o===void 0?void 0:o.addEventListener("reset",t)};const _=(n,t)=>{var o;(o=n.closest("FORM"))===null||o===void 0?void 0:o.removeEventListener("reset",t)};const Y=(n,t=16)=>`${1/t*parseInt(n)}rem`;const Z=(n,t)=>{if(!n){t.removeAttribute("disabled")}};const nn=()=>window.navigator.userAgent.toUpperCase().indexOf("MAC")>=0;const tn=n=>{const t=n===null||n===void 0?void 0:n.slice(0,1).toLowerCase();if(t!=="#"&&t!=="r")return null;return t==="#"?X(n):z(n)};const on=n=>n.charAt(0).toUpperCase()+n.slice(1);const en=(n,t,o)=>{const e=n=>Array.from(n).some((n=>Array.isArray(o)?o.some((t=>n.slot===t)):n.slot===o));return e(n)||e(t)};const sn=n=>!!n.closest(".ag-cell")&&!!n.closest(".ag-root");const rn=n=>{var t;return((t=n.parentElement)===null||t===void 0?void 0:t.tagName)===`${n.tagName}-GROUP`};const an=(n,t)=>n.some((({type:n,addedNodes:o,removedNodes:e})=>n==="childList"&&en(o,e,t)));const cn=(t,o,e)=>{if(an(t,o)){n(e)}};const ln=n=>{var o,e,s,r,i;const a=(e=(o=n.parentElement)===null||o===void 0?void 0:o.closest(t))===null||e===void 0?void 0:e.theme;if(a&&a!=="inherit")return a;const c=(r=(s=n.parentElement)===null||s===void 0?void 0:s.closest("ic-theme"))===null||r===void 0?void 0:r.theme;if(c&&c!=="system")return c;return((i=window.matchMedia)===null||i===void 0?void 0:i.call(window,"(prefers-color-scheme: dark)").matches)?"dark":"light"};export{k as A,x as B,N as C,L as D,u as E,en as F,T as G,I as H,r as I,s as J,$ as K,C as L,M,rn as N,R as O,on as P,nn as Q,J as R,h as S,y as T,p as U,cn as a,sn as b,B as c,tn as d,A as e,E as f,G as g,H as h,j as i,w as j,Q as k,_ as l,v as m,m as n,V as o,Y as p,g as q,Z as r,U as s,D as t,S as u,K as v,l as w,ln as x,F as y,P as z};
|
2
|
+
//# sourceMappingURL=p-6ceedfa8.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["IcInformationStatus","IcBrandForegroundEnum","DARK_MODE_THRESHOLD","ANYWHERE_SEARCH_POSITION","icInput","inheritAttributes","element","attributes","attributeObject","forEach","attr","value","getAttribute","removeAttribute","debounceEvent","event","wait","original","_original","emit","debounce","bind","func","timer","args","clearTimeout","setTimeout","renderHiddenInput","container","name","disabled","always","hasShadowDom","input","getHiddenInputElement","ownerDocument","createElement","type","classList","add","appendChild","Date","toISOString","Array","from","querySelectorAll","filter","el","parentElement","renderFileHiddenInput","multiple","accept","undefined","hidden","files","onchange","click","removeHiddenInput","_a","remove","shadowRoot","attachShadow","getInputHelperTextID","id","getInputValidationTextID","getInputDescribedByText","inputId","helperText","validationText","isSlotUsed","trim","getBrandFromContext","brandFromEvent","getRootNode","host","blockColorParent","closest","IC_BLOCK_COLOR_COMPONENTS","Default","parentTag","tagName","toLowerCase","IC_BLOCK_COLOR_EXCEPTIONS","includes","IC_FIXED_COLOR_COMPONENTS","contains","Dark","Light","isMobileOrTablet","navigator","maxTouchPoints","test","userAgent","handleHiddenFormButtonClick","form","button","hiddenFormButtonId","hiddenFormButton","document","querySelector","setAttribute","_b","style","display","formAction","_c","formaction","formEnctype","_d","formenctype","formMethod","_e","formmethod","formNoValidate","_f","formnovalidate","formTarget","_g","formtarget","isEmptyString","length","isPropDefined","prop","getLabelFromValue","options","valueField","labelField","ungroupedOptions","map","option","children","push","matchingValue","find","getFilteredMenuOptions","includeDescriptions","searchString","position","label","description","lowerSearchString","startsWith","getOptionsWithoutGroupTitlesCount","optionsWithoutGroupTitles","deviceSizeMatches","size","window","matchMedia","matches","getCurrentDeviceSize","DEVICE_SIZES","S","M","L","XL","UNDEFINED","getCssProperty","cssVar","getComputedStyle","documentElement","getPropertyValue","getBrandColorBrightness","parseInt","getBrandForegroundAppearance","brightness","getSlot","slotHasContent","getSlotContent","slot","getSlotElements","slotContent","firstElementChild","elements","assignedElements","childNodes","getNavItemParentDetails","navType","parent","XS","Number","replace","hasValidationStatus","status","slotName","some","child","onComponentPropUndefinedChange","oldValue","newValue","callback","onComponentRequiredPropUndefined","props","component","propName","console","error","kebabToCamelCase","kebabCase","split","word","index","substring","toUpperCase","join","checkResizeObserver","callbackFn","ResizeObserver","hex2dec","v","hexToRgba","hex","hexChars","char","repeat","r","slice","g","b","a","rgbaStrToObj","rgbaStr","isRGBA","rgbValues","elementOverflowsX","scrollWidth","clientWidth","hasClassificationBanner","addFormResetListener","addEventListener","removeFormResetListener","removeEventListener","pxToRem","px","base","removeDisabledFalse","isMacDevice","indexOf","convertToRGBA","color","firstChar","capitalize","text","charAt","checkSlotInChildMutations","addedNodes","removedNodes","hasSlot","nodeList","node","isArray","isElInAGGrid","isSlottedInGroup","hasDynamicChildSlots","mutationList","slotNames","renderDynamicChildSlots","ref","forceUpdate","getElementInheritedTheme","blockParentTheme","theme","wrapperTheme","call"],"sources":["src/utils/types.ts","src/utils/helpers.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nexport type IcFocusableComponents =\n | HTMLIcBreadcrumbElement\n | HTMLIcButtonElement\n | HTMLIcCardVerticalElement\n | HTMLIcCheckboxElement\n | HTMLIcChipElement\n | HTMLIcLinkElement\n | HTMLIcNavigationButtonElement\n | HTMLIcNavigationGroupElement\n | HTMLIcNavigationItemElement\n | HTMLIcRadioOptionElement\n | HTMLIcSearchBarElement\n | HTMLIcSelectElement\n | HTMLIcSwitchElement\n | HTMLIcTabElement\n | HTMLIcTextFieldElement;\n\nexport type IcStatusVariants =\n | \"neutral\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"success\"\n | \"ai\";\n\nexport enum IcInformationStatus {\n Warning = \"warning\",\n Error = \"error\",\n Success = \"success\",\n}\n\nexport type IcSizes = \"medium\" | \"large\" | \"small\";\n\nexport type IcSizesNoLarge = \"medium\" | \"small\";\n\nexport type IcInformationStatusOrEmpty = \"warning\" | \"error\" | \"success\" | \"\";\n\nexport type IcNavType = \"side\" | \"top\" | \"page-header\";\n\n// From: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\nexport type IcAutocompleteTypes =\n | \"on\"\n | \"off\"\n | \"name\"\n | \"honorific-prefix\"\n | \"given-name\"\n | \"additional-name\"\n | \"family-name\"\n | \"honorific-suffix\"\n | \"nickname\"\n | \"email\"\n | \"username\"\n | \"new-password\"\n | \"current-password\"\n | \"one-time-code\"\n | \"organization-title\"\n | \"organization\"\n | \"street-address\"\n | \"address-line1\"\n | \"address-line2\"\n | \"address-line3\"\n | \"address-level4\"\n | \"address-level3\"\n | \"address-level2\"\n | \"address-level1\"\n | \"country\"\n | \"country-name\"\n | \"postal-code\"\n | \"cc-name\"\n | \"cc-given-name\"\n | \"cc-additional-name\"\n | \"cc-family-name\"\n | \"cc-family-name\"\n | \"cc-number\"\n | \"cc-exp\"\n | \"cc-exp-month\"\n | \"cc-exp-year\"\n | \"cc-csc\"\n | \"cc-type\"\n | \"transaction-currency\"\n | \"transaction-amount\"\n | \"language\"\n | \"bday\"\n | \"bday-day\"\n | \"bday-month\"\n | \"bday-year\"\n | \"sex\"\n | \"tel\"\n | \"tel-country-code\"\n | \"tel-national\"\n | \"tel-area-code\"\n | \"tel-local\"\n | \"tel-extension\"\n | \"impp\"\n | \"url\"\n | \"photo\";\n\nexport type IcAlignment = \"left\" | \"center\" | \"full-width\";\n\nexport enum IcBrandForegroundEnum {\n Default = \"default\",\n Dark = \"dark\",\n Light = \"light\",\n}\n\nexport type IcThemeMode = \"dark\" | \"light\" | \"inherit\";\n\nexport type IcBrandForeground = \"default\" | \"dark\" | \"light\";\n\nexport type IcBrandForegroundNoDefault = \"dark\" | \"light\";\n\nexport type IcBrand = {\n mode: IcBrandForeground;\n color: IcColorRGB;\n};\n\nexport type IcAdditionalFieldTypes = \"static\" | \"dynamic\";\n\nexport type IcColorRGB = {\n r: number;\n g: number;\n b: number;\n};\n\nexport type IcColorRGBA = IcColorRGB & {\n a: number;\n};\n\nexport type IcActivationTypes = \"automatic\" | \"manual\";\n\nexport type IcAutocorrectStates = \"on\" | \"off\";\n\nexport type IcNavParentDetails = {\n navType: IcNavType | \"\";\n parent: HTMLElement | null;\n};\n\nexport type IcTypographyVariants =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"subtitle-large\"\n | \"subtitle-small\"\n | \"body\"\n | \"label\"\n | \"label-uppercase\"\n | \"caption\"\n | \"caption-uppercase\"\n | \"code-large\"\n | \"code-small\"\n | \"code-extra-small\"\n | \"badge\"\n | \"badge-small\";\n\n/**\n * @interface IcMenuOption\n * @field {string} A label field to options. Defaults to \"label\", but can have any custom name.\n * @field {string} A value field to options. Defaults to \"value\", but can have any custom name.\n */\nexport interface IcMenuOption {\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n children?: IcMenuOption[];\n loading?: boolean;\n timedOut?: boolean;\n [key: string]: any;\n element?: {\n component: any;\n ariaLabel: string;\n };\n icon?: any;\n}\n\nexport type IcSearchMatchPositions = \"start\" | \"anywhere\";\n\nexport type IcCallbackFunctionNoReturn = (...args: unknown[]) => void;\n\nexport type IcRequiredPropsTypes =\n | string\n | boolean\n | number\n | HTMLElement\n | IcMenuOption[]\n | undefined;\n\nexport type IcPropObject = { prop: IcRequiredPropsTypes; propName: string };\n\nexport type IcRelatedTarget = EventTarget | undefined;\n\nexport type IcOrientation = \"horizontal\" | \"vertical\";\n\nexport type IcEmphasisType = \"filled\" | \"outlined\";\n\nexport interface IcValueEventDetail {\n value: string;\n keyPressed?: string;\n}\n\nexport interface IcMultiValueEventDetail {\n value: string | string[] | null;\n keyPressed?: string;\n}\n\nexport interface IcBlurEventDetail {\n relatedTarget: IcRelatedTarget | null;\n}\n\nexport type IcSelectTypes = \"single\" | \"multi\";\n\nexport type IcSelectMethodTypes = \"auto\" | \"manual\";\n\nexport type IcDeviceSizes = 0 | 576 | 768 | 992 | 1200;\n\ntype RGB = `rgb(${string})`;\ntype RGBA = `rgba(${string})`;\ntype HEX = `#${string}`;\n\nexport type IcColor = RGB | RGBA | HEX;\n\nexport type IcIconPlacementOptions = \"left\" | \"right\" | \"top\";\n\nexport type IcButtonTooltipPlacement = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport type IcThemeSettings = \"dark\" | \"light\" | \"system\";\n\nexport type IcValidationAriaLive = \"default\" | \"polite\" | \"assertive\" | \"off\";\n","import { EventEmitter, forceUpdate } from \"@stencil/core\";\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcSearchMatchPositions,\n IcColorRGBA,\n IcDeviceSizes,\n IcColor,\n IcBrandForegroundNoDefault,\n IcThemeMode,\n} from \"./types\";\n\nimport {\n IcMenuOption,\n IcBrandForeground,\n IcBrandForegroundEnum,\n} from \"../utils/types\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\";\n\nconst DARK_MODE_THRESHOLD = 133.3505;\nconst ANYWHERE_SEARCH_POSITION = \"anywhere\";\nconst icInput = \"ic-input\";\n\n/**\n * converts an enum of strings into an array of strings\n */\nexport const stringEnumToArray = (\n theEnum: Record<string, string | number>\n): string[] => {\n const arr: string[] = [];\n Object.values(theEnum).forEach((val) => {\n if (isNaN(Number(val))) {\n const str = val as string;\n arr.push(str);\n }\n });\n return arr;\n};\n\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (\n element: HTMLElement,\n attributes: string[] = []\n): { [key: string]: string } => {\n const attributeObject: { [key: string]: string } = {};\n\n attributes.forEach((attr) => {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = value;\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (\n func: (...args: unknown[]) => void,\n wait = 0\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param container The element where the input will be added\n * @param value The value of the input\n * @param name The name of the input\n * @param disabled If true, the input is disabled\n * @param always Add a hidden input even if the container does not use Shadow\n */\nexport const renderHiddenInput = (\n container: HTMLElement,\n value?: string | Date | null,\n name?: string,\n disabled = false,\n always = true\n): void => {\n if (name && (always || hasShadowDom(container))) {\n let input = getHiddenInputElement(container);\n\n if (!input) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n input.value = value instanceof Date ? value.toISOString() : value || \"\";\n }\n};\n\nconst getHiddenInputElement = (container: HTMLElement) =>\n Array.from(\n container.querySelectorAll<HTMLInputElement>(`input.${icInput}`)\n ).filter((el) => container === el.parentElement)[0];\n\n/**\n * This method is used to add a hidden file input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param event: The event that is emitted once a file is selected.\n * @param container The element where the input will be added\n * @param multiple If true, multiple files can be selected\n * @param disabled If true, the input is disabled\n * @param accept A string of the accepted files\n * @param name The name of the input\n * @param value The value of the input\n */\nexport const renderFileHiddenInput = (\n event: EventEmitter,\n container: HTMLElement,\n multiple: boolean,\n disabled: boolean,\n accept?: string,\n name?: string,\n value?: FileList\n): void => {\n if (name !== undefined && hasShadowDom(container)) {\n let input = getHiddenInputElement(container);\n\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.type = \"file\";\n input.hidden = true;\n input.multiple = multiple;\n input.name = name;\n input.disabled = disabled;\n\n if (value) input.files = value;\n if (accept) input.accept = accept;\n\n input.onchange = () => {\n event.emit(input.files);\n };\n input.click();\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n getHiddenInputElement(container)?.remove();\n};\n\nexport const hasShadowDom = (el: HTMLElement | null | undefined): boolean =>\n !!el && !!el.shadowRoot && !!el.attachShadow;\n\nexport const getInputHelperTextID = (id: string): string => id + \"-helper-text\";\n\nexport const getInputValidationTextID = (id: string): string =>\n id + \"-validation-text\";\n\nexport const getInputDescribedByText = (\n el: HTMLElement,\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string =>\n `${\n isSlotUsed(el, \"helper-text\") || helperText\n ? getInputHelperTextID(inputId)\n : \"\"\n } ${validationText ? getInputValidationTextID(inputId) : \"\"}`.trim();\n\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcBrandForeground depending on the context\n */\nexport const getBrandFromContext = (\n el: Element,\n brandFromEvent: IcBrandForeground | null = null\n): IcBrandForeground => {\n const parentElement =\n el.parentElement || (<ShadowRoot>el.getRootNode()).host.parentElement;\n const blockColorParent = parentElement?.closest(IC_BLOCK_COLOR_COMPONENTS);\n\n if (!blockColorParent) return IcBrandForegroundEnum.Default;\n\n const parentTag = blockColorParent.tagName.toLowerCase();\n\n if (\n IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(el.tagName.toLowerCase())\n ) {\n return IcBrandForegroundEnum.Default;\n } else if (\n brandFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return brandFromEvent;\n } else if (\n blockColorParent.classList.contains(\n `${parentTag}-${IcBrandForegroundEnum.Dark}`\n ) ||\n blockColorParent.classList.contains(IcBrandForegroundEnum.Dark)\n ) {\n return IcBrandForegroundEnum.Dark;\n } else {\n return IcBrandForegroundEnum.Light;\n }\n};\n\n/**\n * Checks if the current device is a mobile or tablet device.\n * @returns {boolean} Returns true if the device is a mobile or tablet device, otherwise returns false.\n */\nexport const isMobileOrTablet = (): boolean =>\n \"maxTouchPoints\" in navigator && \"userAgent\" in navigator\n ? navigator.maxTouchPoints > 0 &&\n /iPad|iPhone|iPod|Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n )\n : false;\n\n/**\n * Will create a button within the lightDOM which interacts with the form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - form element to associate button with\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (\n form: HTMLFormElement | null,\n button: HTMLIcButtonElement\n): void => {\n const hiddenFormButtonId =\n button.type === \"submit\" || button.type === \"reset\"\n ? `hidden-form-${button.type}-button`\n : \"hidden-form-button\";\n\n const hiddenFormButton =\n document.querySelector<HTMLButtonElement>(`#${hiddenFormButtonId}`) ??\n document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", button.type ?? \"button\");\n hiddenFormButton.id = hiddenFormButtonId;\n hiddenFormButton.style.display = \"none\";\n\n hiddenFormButton.formAction = button.formaction ?? \"\";\n hiddenFormButton.formEnctype = button.formenctype ?? \"\";\n hiddenFormButton.formMethod = button.formmethod ?? \"\";\n hiddenFormButton.formNoValidate = button.formnovalidate ?? false;\n hiddenFormButton.formTarget = button.formtarget ?? \"\";\n\n form?.appendChild(hiddenFormButton);\n hiddenFormButton.click();\n};\n\nexport const isEmptyString = (value?: string): boolean =>\n !value || value.trim().length === 0;\n\n// A helper function that checks if a prop has been defined\nexport const isPropDefined = (prop?: string): string | undefined =>\n prop !== undefined ? prop : undefined;\n\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label corresponding to value\n */\nexport const getLabelFromValue = (\n value: string,\n options: IcMenuOption[],\n valueField = \"value\",\n labelField = \"label\"\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option: IcMenuOption) =>\n ungroupedOptions.push(option)\n );\n } else {\n ungroupedOptions.push(option);\n }\n });\n const matchingValue = ungroupedOptions.find(\n (option) => option[valueField] === value\n );\n if (matchingValue !== undefined) return matchingValue[labelField];\n }\n\n return undefined;\n};\n\n/**\n * Filters the options based on the search string.\n * @param options - array of options\n * @param includeDescriptions - determines whether option descriptions are included when filtering options\n * @param searchString - string used to filter the options\n * @param position - whether the search string matches the start of or anywhere in the options\n * @returns filtered array of options\n */\nexport const getFilteredMenuOptions = (\n options: IcMenuOption[],\n includeDescriptions: boolean,\n searchString: string,\n position: IcSearchMatchPositions = ANYWHERE_SEARCH_POSITION,\n labelField = \"label\"\n): IcMenuOption[] =>\n options.filter((option) => {\n const label: string = option[labelField].toLowerCase();\n const description = option.description?.toLowerCase();\n const lowerSearchString = searchString.toLowerCase();\n\n return position === ANYWHERE_SEARCH_POSITION\n ? includeDescriptions\n ? label.includes(lowerSearchString) ||\n description?.includes(lowerSearchString)\n : label.includes(lowerSearchString)\n : includeDescriptions\n ? label.startsWith(lowerSearchString) ||\n description?.startsWith(lowerSearchString)\n : label.startsWith(lowerSearchString);\n });\n\n/**\n * Gets count of options where only group title \"parent\" options have been removed.\n * Disabled options are included in the count.\n * @param options - array of options\n * @returns number of options not including group titles\n */\nexport const getOptionsWithoutGroupTitlesCount = (\n options: IcMenuOption[]\n): number => {\n const optionsWithoutGroupTitles: IcMenuOption[] = [];\n\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option) => optionsWithoutGroupTitles.push(option));\n } else {\n optionsWithoutGroupTitles.push(option);\n }\n });\n }\n\n return optionsWithoutGroupTitles.length;\n};\n\nexport const deviceSizeMatches = (size: number): boolean =>\n window.matchMedia(`(max-width: ${size}px)`).matches;\n\nexport const getCurrentDeviceSize = (): number => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\n\nexport const getCssProperty = (cssVar: string): string =>\n getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n\n/**\n * Returns the brightness of the theme colour, calculated by using the theme RGB CSS values by:\n * - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding them together and dividing by 1000\n * This is a similar calculation to its CSS counterpart: \"--ic-brand-text-color\"\n * @returns number representing the brightness of the theme colour\n */\nexport const getBrandColorBrightness = (): number =>\n (parseInt(getCssProperty(\"--ic-brand-color-primary-r\")) * 299 +\n parseInt(getCssProperty(\"--ic-brand-color-primary-g\")) * 587 +\n parseInt(getCssProperty(\"--ic-brand-color-primary-b\")) * 114) /\n 1000;\n\n/**\n * Returns if dark or light foreground colors should be used for color contrast reasons\n * @returns \"dark\" or \"light\"\n * @param brightness - Optional custom brightness value. Defaults to `getBrandColorBrightness`\n */\nexport const getBrandForegroundAppearance = (\n brightness = getBrandColorBrightness()\n): IcBrandForegroundNoDefault =>\n brightness > DARK_MODE_THRESHOLD\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n\nexport const getSlot = (\n element: HTMLElement | undefined,\n name: string\n): Element | null => element?.querySelector(`[slot=\"${name}\"]`) || null;\n\nexport const slotHasContent = (element: HTMLElement, name: string): boolean =>\n getSlot(element, name) !== null;\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n return slot ? getSlotElements(slot) : null;\n};\n\nexport const getSlotElements = (\n slot: Element\n): NodeListOf<ChildNode> | Element[] | null => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent === null) return [slot];\n\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : slot.tagName ? [slot] : null;\n};\n\nexport const getNavItemParentDetails = ({\n parentElement,\n}: HTMLElement): IcNavParentDetails => {\n let navType: IcNavParentDetails = { navType: \"\", parent: null };\n if (parentElement) {\n switch (parentElement.tagName) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: parentElement };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: parentElement };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n }\n\n return navType;\n};\n\nexport const DEVICE_SIZES = {\n XS: Number(\n getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 0\n S: Number(\n getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 576\n M: Number(\n getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 768\n L: Number(\n getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 992\n XL: Number(\n getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 1200\n UNDEFINED: 1200,\n};\n\nexport const hasValidationStatus = (\n status?: IcInformationStatusOrEmpty,\n disabled?: boolean\n): boolean => !!status && !disabled;\n\nexport const isSlotUsed = (\n { children }: HTMLElement,\n slotName: string\n): boolean =>\n Array.from(children).some((child) => child.getAttribute(\"slot\") === slotName);\n\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (\n oldValue: string | undefined,\n newValue: string | undefined,\n callback: IcCallbackFunctionNoReturn\n): void => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n props.forEach(({ prop, propName }) => {\n if (prop === null || prop === undefined) {\n console.error(\n `No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(\n propName\n )}' (react) required`\n );\n }\n });\n};\n\nexport const kebabToCamelCase = (kebabCase: string): string =>\n kebabCase\n .toLowerCase()\n .split(\"-\")\n .map((word, index) =>\n index === 0\n ? word\n : `${word.substring(0, 1).toUpperCase()}${word.substring(1)}`\n )\n .join(\"\");\n\nexport const checkResizeObserver = (\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n if (\n typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\"\n ) {\n callbackFn();\n }\n};\n\nconst hex2dec = (v: string) => parseInt(v, 16);\n\nexport const hexToRgba = (hex: string): IcColorRGBA => {\n const hexChars = hex\n .replace(\"#\", \"\")\n .split(\"\")\n .map((char) => char.repeat(2));\n return {\n r: hex2dec(hex.length === 4 ? hexChars[0] : hex.slice(1, 3)),\n g: hex2dec(hex.length === 4 ? hexChars[1] : hex.slice(3, 5)),\n b: hex2dec(hex.length === 4 ? hexChars[2] : hex.slice(5)),\n a: 1,\n };\n};\n\nexport const rgbaStrToObj = (rgbaStr: string): IcColorRGBA => {\n const isRGBA = rgbaStr.slice(3, 4).toLowerCase() === \"a\";\n const rgbValues = rgbaStr\n .substring(isRGBA ? 5 : 4, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\")\n .map(Number);\n return {\n r: rgbValues[0],\n g: rgbValues[1],\n b: rgbValues[2],\n a: isRGBA ? rgbValues[3] : 1,\n };\n};\n\nexport const elementOverflowsX = ({\n scrollWidth,\n clientWidth,\n}: HTMLElement): boolean => scrollWidth > clientWidth;\n\nexport const hasClassificationBanner = (): boolean =>\n !!document.querySelector(\"ic-classification-banner:not([inline='true'])\");\n\nexport const addFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n el.closest(\"FORM\")?.addEventListener(\"reset\", callbackFn);\n};\n\nexport const removeFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n el.closest(\"FORM\")?.removeEventListener(\"reset\", callbackFn);\n};\n\nexport const pxToRem = (px: string, base = 16): string =>\n `${(1 / base) * parseInt(px)}rem`;\n\n/**\n * Removes the disabled attribute from the provided element when its value is set to false.\n * This effectively makes it null, to not confuse screen readers that cannot interpret the false value\n */\nexport const removeDisabledFalse = (\n disabled: boolean | undefined,\n element: HTMLElement\n): void => {\n if (!disabled) {\n element.removeAttribute(\"disabled\");\n }\n};\n\nexport const isMacDevice = (): boolean =>\n window.navigator.userAgent.toUpperCase().indexOf(\"MAC\") >= 0;\n\nexport const isNumeric = (value: string): boolean => /^-?\\d+$/.test(value);\n\nexport async function waitForHydration(): Promise<boolean> {\n const elements = document.getElementsByTagName(\"*\");\n\n for (let i = 0; i < elements.length; i++) {\n if (elements[i].tagName.startsWith(\"IC-\")) {\n if (elements[i].classList.contains(\"hydrated\")) {\n return true;\n }\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nexport const convertToRGBA = (color: IcColor): IcColorRGBA | null => {\n const firstChar = color?.slice(0, 1).toLowerCase();\n\n if (firstChar !== \"#\" && firstChar !== \"r\") return null;\n return firstChar === \"#\" ? hexToRgba(color) : rgbaStrToObj(color);\n};\n\nexport const capitalize = (text: string): string =>\n text.charAt(0).toUpperCase() + text.slice(1);\n\nexport const checkSlotInChildMutations = (\n addedNodes: NodeList,\n removedNodes: NodeList,\n slotName: string | string[]\n): boolean => {\n const hasSlot = (nodeList: NodeList) =>\n Array.from(nodeList).some((node) =>\n Array.isArray(slotName)\n ? slotName.some((name) => (node as Element).slot === name)\n : (node as Element).slot === slotName\n );\n return hasSlot(addedNodes) || hasSlot(removedNodes);\n};\n\nexport const isElInAGGrid = (el: HTMLElement): boolean =>\n !!el.closest(\".ag-cell\") && !!el.closest(\".ag-root\");\n\n/**\n * Checks if the component is slotted in its relevant 'group' component\n * @param component - the component to check\n */\nexport const isSlottedInGroup = (component: HTMLElement): boolean =>\n component.parentElement?.tagName === `${component.tagName}-GROUP`;\n\nexport const hasDynamicChildSlots = (\n mutationList: MutationRecord[],\n slotNames: string | string[]\n): boolean =>\n mutationList.some(\n ({ type, addedNodes, removedNodes }) =>\n type === \"childList\" &&\n checkSlotInChildMutations(addedNodes, removedNodes, slotNames)\n );\n\nexport const renderDynamicChildSlots = (\n mutationList: MutationRecord[],\n slotNames: string | string[],\n ref: any\n): void => {\n if (hasDynamicChildSlots(mutationList, slotNames)) {\n forceUpdate(ref);\n }\n};\n\nexport const getElementInheritedTheme = (el: HTMLElement): IcThemeMode => {\n const blockParentTheme =\n el.parentElement?.closest<HTMLIcTopNavigationElement>(\n IC_BLOCK_COLOR_COMPONENTS\n )?.theme;\n\n if (blockParentTheme && blockParentTheme !== \"inherit\")\n return blockParentTheme;\n\n const wrapperTheme = el.parentElement?.closest(\"ic-theme\")?.theme;\n\n if (wrapperTheme && wrapperTheme !== \"system\") return wrapperTheme;\n\n return window.matchMedia?.(\"(prefers-color-scheme: dark)\").matches\n ? \"dark\"\n : \"light\";\n};\n"],"mappings":"0FA0BYA,GAAZ,SAAYA,GACVA,EAAA,qBACAA,EAAA,iBACAA,EAAA,oBACD,EAJD,CAAYA,MAAmB,K,IA0EnBC,GAAZ,SAAYA,GACVA,EAAA,qBACAA,EAAA,eACAA,EAAA,gBACD,EAJD,CAAYA,MAAqB,KC3EjC,MAAMC,EAAsB,SAC5B,MAAMC,EAA2B,WACjC,MAAMC,EAAU,W,MAyBHC,EAAoB,CAC/BC,EACAC,EAAuB,MAEvB,MAAMC,EAA6C,GAEnDD,EAAWE,SAASC,IAClB,MAAMC,EAAQL,EAAQM,aAAaF,GACnC,GAAIC,IAAU,KAAM,CAClBH,EAAgBE,GAAQC,EACxBL,EAAQO,gBAAgBH,E,KAI5B,OAAOF,CAAe,E,MAGXM,EAAgB,CAC3BC,EACAC,KAGA,MAAMC,EAAYF,EAAcG,WAAaH,EAC7C,MAAO,CACLG,UAAWH,EACXI,KAAMC,EAASH,EAASE,KAAKE,KAAKJ,GAAWD,GAC9B,EAGZ,MAAMI,EAAW,CACtBE,EACAN,EAAO,KAEP,IAAIO,EACJ,MAAO,IAAIC,KACTC,aAAaF,GACbA,EAAQG,WAAWJ,EAAMN,KAASQ,EAAK,CACxC,E,MAeUG,EAAoB,CAC/BC,EACAjB,EACAkB,EACAC,EAAW,MACXC,EAAS,QAET,GAAIF,IAASE,GAAUC,EAAaJ,IAAa,CAC/C,IAAIK,EAAQC,EAAsBN,GAElC,IAAKK,EAAO,CACVA,EAAQL,EAAUO,cAAcC,cAAc,SAC9CH,EAAMI,KAAO,SACbJ,EAAMK,UAAUC,IAAInC,GACpBwB,EAAUY,YAAYP,E,CAExBA,EAAMH,SAAWA,EACjBG,EAAMJ,KAAOA,EACbI,EAAMtB,MAAQA,aAAiB8B,KAAO9B,EAAM+B,cAAgB/B,GAAS,E,GAIzE,MAAMuB,EAAyBN,GAC7Be,MAAMC,KACJhB,EAAUiB,iBAAmC,SAASzC,MACtD0C,QAAQC,GAAOnB,IAAcmB,EAAGC,gBAAe,G,MAgBtCC,EAAwB,CACnClC,EACAa,EACAsB,EACApB,EACAqB,EACAtB,EACAlB,KAEA,GAAIkB,IAASuB,WAAapB,EAAaJ,GAAY,CACjD,IAAIK,EAAQC,EAAsBN,GAElC,GAAIK,IAAU,MAAQA,IAAUmB,UAAW,CACzCnB,EAAQL,EAAUO,cAAcC,cAAc,SAC9CH,EAAMK,UAAUC,IAAInC,GACpBwB,EAAUY,YAAYP,E,CAExBA,EAAMI,KAAO,OACbJ,EAAMoB,OAAS,KACfpB,EAAMiB,SAAWA,EACjBjB,EAAMJ,KAAOA,EACbI,EAAMH,SAAWA,EAEjB,GAAInB,EAAOsB,EAAMqB,MAAQ3C,EACzB,GAAIwC,EAAQlB,EAAMkB,OAASA,EAE3BlB,EAAMsB,SAAW,KACfxC,EAAMI,KAAKc,EAAMqB,MAAM,EAEzBrB,EAAMuB,O,SAIGC,EAAqB7B,I,OAChC8B,EAAAxB,EAAsBN,MAAU,MAAA8B,SAAA,SAAAA,EAAEC,QAAQ,EAGrC,MAAM3B,EAAgBe,KACzBA,KAAQA,EAAGa,cAAgBb,EAAGc,a,MAErBC,EAAwBC,GAAuBA,EAAK,e,MAEpDC,EAA4BD,GACvCA,EAAK,mB,MAEME,EAA0B,CACrClB,EACAmB,EACAC,EACAC,IAEA,GACEC,EAAWtB,EAAI,gBAAkBoB,EAC7BL,EAAqBI,GACrB,MACFE,EAAiBJ,EAAyBE,GAAW,KAAKI,O,MAcnDC,EAAsB,CACjCxB,EACAyB,EAA2C,Q,MAE3C,MAAMxB,EACJD,EAAGC,eAA8BD,EAAG0B,cAAeC,KAAK1B,cAC1D,MAAM2B,EAAmB3B,IAAa,MAAbA,SAAa,SAAbA,EAAe4B,QAAQC,GAEhD,IAAKF,EAAkB,OAAO1E,EAAsB6E,QAEpD,MAAMC,EAAYJ,EAAiBK,QAAQC,cAE3C,IACEvB,EAAAwB,EAA0BH,MAAU,MAAArB,SAAA,SAAAA,EAAEyB,SAASpC,EAAGiC,QAAQC,eAC1D,CACA,OAAOhF,EAAsB6E,O,MACxB,GACLN,IAAmB,OAClBY,EAA0BD,SAASJ,GACpC,CACA,OAAOP,C,MACF,GACLG,EAAiBrC,UAAU+C,SACzB,GAAGN,KAAa9E,EAAsBqF,SAExCX,EAAiBrC,UAAU+C,SAASpF,EAAsBqF,MAC1D,CACA,OAAOrF,EAAsBqF,I,KACxB,CACL,OAAOrF,EAAsBsF,K,SAQpBC,EAAmB,IAC9B,mBAAoBC,WAAa,cAAeA,UAC5CA,UAAUC,eAAiB,GAC3B,iEAAiEC,KAC/DF,UAAUG,WAEZ,M,MASOC,EAA8B,CACzCC,EACAC,K,kBAEA,MAAMC,EACJD,EAAO1D,OAAS,UAAY0D,EAAO1D,OAAS,QACxC,eAAe0D,EAAO1D,cACtB,qBAEN,MAAM4D,GACJvC,EAAAwC,SAASC,cAAiC,IAAIH,QAAqB,MAAAtC,SAAA,EAAAA,EACnEwC,SAAS9D,cAAc,UAEzB6D,EAAiBG,aAAa,QAAQC,EAAAN,EAAO1D,QAAI,MAAAgE,SAAA,EAAAA,EAAI,UACrDJ,EAAiBlC,GAAKiC,EACtBC,EAAiBK,MAAMC,QAAU,OAEjCN,EAAiBO,YAAaC,EAAAV,EAAOW,cAAU,MAAAD,SAAA,EAAAA,EAAI,GACnDR,EAAiBU,aAAcC,EAAAb,EAAOc,eAAW,MAAAD,SAAA,EAAAA,EAAI,GACrDX,EAAiBa,YAAaC,EAAAhB,EAAOiB,cAAU,MAAAD,SAAA,EAAAA,EAAI,GACnDd,EAAiBgB,gBAAiBC,EAAAnB,EAAOoB,kBAAc,MAAAD,SAAA,EAAAA,EAAI,MAC3DjB,EAAiBmB,YAAaC,EAAAtB,EAAOuB,cAAU,MAAAD,SAAA,EAAAA,EAAI,GAEnDvB,IAAI,MAAJA,SAAI,SAAJA,EAAMtD,YAAYyD,GAClBA,EAAiBzC,OAAO,E,MAGb+D,EAAiB5G,IAC3BA,GAASA,EAAM2D,OAAOkD,SAAW,E,MAGvBC,EAAiBC,GAC5BA,IAAStE,UAAYsE,EAAOtE,U,MAQjBuE,EAAoB,CAC/BhH,EACAiH,EACAC,EAAa,QACbC,EAAa,WAEb,MAAMC,EAAmC,GACzC,GAAIH,EAAQJ,OAAS,GAAKI,EAAQI,IAAK,CACrCJ,EAAQI,KAAKC,IACX,GAAIA,EAAOC,SAAU,CACnBD,EAAOC,SAASF,KAAKC,GACnBF,EAAiBI,KAAKF,I,KAEnB,CACLF,EAAiBI,KAAKF,E,KAG1B,MAAMG,EAAgBL,EAAiBM,MACpCJ,GAAWA,EAAOJ,KAAgBlH,IAErC,GAAIyH,IAAkBhF,UAAW,OAAOgF,EAAcN,E,CAGxD,OAAO1E,SAAS,E,MAWLkF,EAAyB,CACpCV,EACAW,EACAC,EACAC,EAAmCtI,EACnC2H,EAAa,UAEbF,EAAQ9E,QAAQmF,I,MACd,MAAMS,EAAgBT,EAAOH,GAAY7C,cACzC,MAAM0D,GAAcjF,EAAAuE,EAAOU,eAAW,MAAAjF,SAAA,SAAAA,EAAEuB,cACxC,MAAM2D,EAAoBJ,EAAavD,cAEvC,OAAOwD,IAAatI,EAChBoI,EACEG,EAAMvD,SAASyD,KACfD,IAAW,MAAXA,SAAW,SAAXA,EAAaxD,SAASyD,IACtBF,EAAMvD,SAASyD,GACjBL,EACAG,EAAMG,WAAWD,KACjBD,IAAW,MAAXA,SAAW,SAAXA,EAAaE,WAAWD,IACxBF,EAAMG,WAAWD,EAAkB,I,MAS9BE,EACXlB,IAEA,MAAMmB,EAA4C,GAElD,GAAInB,EAAQJ,OAAS,GAAKI,EAAQI,IAAK,CACrCJ,EAAQI,KAAKC,IACX,GAAIA,EAAOC,SAAU,CACnBD,EAAOC,SAASF,KAAKC,GAAWc,EAA0BZ,KAAKF,I,KAC1D,CACLc,EAA0BZ,KAAKF,E,KAKrC,OAAOc,EAA0BvB,MAAM,EAGlC,MAAMwB,EAAqBC,GAChCC,OAAOC,WAAW,eAAeF,QAAWG,Q,MAEjCC,EAAuB,KAClC,GAAIL,EAAkBM,EAAaC,GAAI,CACrC,OAAOD,EAAaC,C,CAEtB,GAAIP,EAAkBM,EAAaE,GAAI,CACrC,OAAOF,EAAaE,C,CAEtB,GAAIR,EAAkBM,EAAaG,GAAI,CACrC,OAAOH,EAAaG,C,CAEtB,GAAIT,EAAkBM,EAAaI,IAAK,CACtC,OAAOJ,EAAaI,E,CAGtB,OAAOJ,EAAaK,SAAS,E,MAGlBC,EAAkBC,GAC7BC,iBAAiB5D,SAAS6D,iBAAiBC,iBAAiBH,G,MASjDI,EAA0B,KACpCC,SAASN,EAAe,+BAAiC,IACxDM,SAASN,EAAe,+BAAiC,IACzDM,SAASN,EAAe,+BAAiC,KAC3D,I,MAOWO,EAA+B,CAC1CC,EAAaH,MAEbG,EAAalK,EACTD,EAAsBqF,KACtBrF,EAAsBsF,M,MAEf8E,EAAU,CACrB/J,EACAuB,KACmBvB,IAAO,MAAPA,SAAO,SAAPA,EAAS6F,cAAc,UAAUtE,SAAa,K,MAEtDyI,EAAiB,CAAChK,EAAsBuB,IACnDwI,EAAQ/J,EAASuB,KAAU,K,MAEhB0I,EAAiB,CAC5BjK,EACAuB,KAEA,MAAM2I,EAAOH,EAAQ/J,EAASuB,GAC9B,OAAO2I,EAAOC,EAAgBD,GAAQ,IAAI,E,MAG/BC,EACXD,IAEA,MAAME,EAAcF,EAAKG,kBAEzB,GAAID,IAAgB,KAAM,MAAO,CAACF,GAElC,MAAMI,EAAWF,EAAYG,iBACzBH,EAAYG,mBACZH,EAAYI,WAChB,OAAOF,EAASpD,OAASoD,EAAWJ,EAAKxF,QAAU,CAACwF,GAAQ,IAAI,E,MAGrDO,EAA0B,EACrC/H,oBAEA,IAAIgI,EAA8B,CAAEA,QAAS,GAAIC,OAAQ,MACzD,GAAIjI,EAAe,CACjB,OAAQA,EAAcgC,SACpB,IAAK,sBACHgG,EAAUD,EAAwB/H,GAClC,MACF,IAAK,oBACHgI,EAAU,CAAEA,QAAS,MAAOC,OAAQjI,GACpC,MACF,IAAK,qBACHgI,EAAU,CAAEA,QAAS,OAAQC,OAAQjI,GACrC,MACF,IAAK,iBACHgI,EAAU,CAAEA,QAAS,cAAeC,OAAQ,MAC5C,M,CAIN,OAAOD,CAAO,E,MAGH1B,EAAe,CAC1B4B,GAAIC,OACFvB,EAAe,sBAAsBwB,QAAQ,KAAM,KAErD7B,EAAG4B,OACDvB,EAAe,sBAAsBwB,QAAQ,KAAM,KAErD5B,EAAG2B,OACDvB,EAAe,sBAAsBwB,QAAQ,KAAM,KAErD3B,EAAG0B,OACDvB,EAAe,sBAAsBwB,QAAQ,KAAM,KAErD1B,GAAIyB,OACFvB,EAAe,sBAAsBwB,QAAQ,KAAM,KAErDzB,UAAW,M,MAGA0B,EAAsB,CACjCC,EACAxJ,MACcwJ,IAAWxJ,E,MAEduC,EAAa,EACtB6D,YACFqD,IAEA5I,MAAMC,KAAKsF,GAAUsD,MAAMC,GAAUA,EAAM7K,aAAa,UAAY2K,I,MAIzDG,EAAiC,CAC5CC,EACAC,EACAC,KAEA,GAAIF,IAAavI,WAAawI,IAAaD,EAAU,CACnDE,G,SAISC,EAAmC,CAC9CC,EACAC,KAEAD,EAAMtL,SAAQ,EAAGiH,OAAMuE,eACrB,GAAIvE,IAAS,MAAQA,IAAStE,UAAW,CACvC8I,QAAQC,MACN,MAAMF,mBAA0BD,uBAA+BC,0BAAiCG,EAC9FH,uB,IAIN,EAGG,MAAMG,EAAoBC,GAC/BA,EACGpH,cACAqH,MAAM,KACNtE,KAAI,CAACuE,EAAMC,IACVA,IAAU,EACND,EACA,GAAGA,EAAKE,UAAU,EAAG,GAAGC,gBAAgBH,EAAKE,UAAU,OAE5DE,KAAK,I,MAEGC,EACXC,IAEA,UACS3D,SAAW,oBACXA,OAAO4D,iBAAmB,YACjC,CACAD,G,GAIJ,MAAME,EAAWC,GAAc9C,SAAS8C,EAAG,IAEpC,MAAMC,EAAaC,IACxB,MAAMC,EAAWD,EACd9B,QAAQ,IAAK,IACbkB,MAAM,IACNtE,KAAKoF,GAASA,EAAKC,OAAO,KAC7B,MAAO,CACLC,EAAGP,EAAQG,EAAI1F,SAAW,EAAI2F,EAAS,GAAKD,EAAIK,MAAM,EAAG,IACzDC,EAAGT,EAAQG,EAAI1F,SAAW,EAAI2F,EAAS,GAAKD,EAAIK,MAAM,EAAG,IACzDE,EAAGV,EAAQG,EAAI1F,SAAW,EAAI2F,EAAS,GAAKD,EAAIK,MAAM,IACtDG,EAAG,EACJ,EAGI,MAAMC,EAAgBC,IAC3B,MAAMC,EAASD,EAAQL,MAAM,EAAG,GAAGtI,gBAAkB,IACrD,MAAM6I,EAAYF,EACfnB,UAAUoB,EAAS,EAAI,EAAGD,EAAQpG,OAAS,GAC3C4D,QAAQ,KAAM,IACdkB,MAAM,KACNtE,IAAImD,QACP,MAAO,CACLmC,EAAGQ,EAAU,GACbN,EAAGM,EAAU,GACbL,EAAGK,EAAU,GACbJ,EAAGG,EAASC,EAAU,GAAK,EAC5B,E,MAGUC,EAAoB,EAC/BC,cACAC,iBAC0BD,EAAcC,E,MAE7BC,EAA0B,MACnChI,SAASC,cAAc,iD,MAEdgI,EAAuB,CAClCpL,EACA8J,K,OAEAnJ,EAAAX,EAAG6B,QAAQ,WAAO,MAAAlB,SAAA,SAAAA,EAAE0K,iBAAiB,QAASvB,EAAW,E,MAG9CwB,EAA0B,CACrCtL,EACA8J,K,OAEAnJ,EAAAX,EAAG6B,QAAQ,WAAO,MAAAlB,SAAA,SAAAA,EAAE4K,oBAAoB,QAASzB,EAAW,E,MAGjD0B,EAAU,CAACC,EAAYC,EAAO,KACzC,GAAI,EAAIA,EAAQvE,SAASsE,Q,MAMdE,EAAsB,CACjC5M,EACAxB,KAEA,IAAKwB,EAAU,CACbxB,EAAQO,gBAAgB,W,SAIf8N,GAAc,IACzBzF,OAAOzD,UAAUG,UAAU8G,cAAckC,QAAQ,QAAU,E,MAoBhDC,GAAiBC,IAC5B,MAAMC,EAAYD,IAAK,MAALA,SAAK,SAALA,EAAOvB,MAAM,EAAG,GAAGtI,cAErC,GAAI8J,IAAc,KAAOA,IAAc,IAAK,OAAO,KACnD,OAAOA,IAAc,IAAM9B,EAAU6B,GAASnB,EAAamB,EAAM,E,MAGtDE,GAAcC,GACzBA,EAAKC,OAAO,GAAGxC,cAAgBuC,EAAK1B,MAAM,G,MAE/B4B,GAA4B,CACvCC,EACAC,EACA9D,KAEA,MAAM+D,EAAWC,GACf5M,MAAMC,KAAK2M,GAAU/D,MAAMgE,GACzB7M,MAAM8M,QAAQlE,GACVA,EAASC,MAAM3J,GAAU2N,EAAiBhF,OAAS3I,IAClD2N,EAAiBhF,OAASe,IAEnC,OAAO+D,EAAQF,IAAeE,EAAQD,EAAa,E,MAGxCK,GAAgB3M,KACzBA,EAAG6B,QAAQ,eAAiB7B,EAAG6B,QAAQ,Y,MAM9B+K,GAAoB3D,IAAsB,IAAAtI,EACrD,QAAAA,EAAAsI,EAAUhJ,iBAAa,MAAAU,SAAA,SAAAA,EAAEsB,WAAY,GAAGgH,EAAUhH,eAAe,EAE5D,MAAM4K,GAAuB,CAClCC,EACAC,IAEAD,EAAarE,MACX,EAAGnJ,OAAM+M,aAAYC,kBACnBhN,IAAS,aACT8M,GAA0BC,EAAYC,EAAcS,K,MAG7CC,GAA0B,CACrCF,EACAC,EACAE,KAEA,GAAIJ,GAAqBC,EAAcC,GAAY,CACjDG,EAAYD,E,SAIHE,GAA4BnN,I,cACvC,MAAMoN,GACJ9J,GAAA3C,EAAAX,EAAGC,iBAAa,MAAAU,SAAA,SAAAA,EAAEkB,QAChBC,MACD,MAAAwB,SAAA,SAAAA,EAAE+J,MAEL,GAAID,GAAoBA,IAAqB,UAC3C,OAAOA,EAET,MAAME,GAAezJ,GAAAH,EAAA1D,EAAGC,iBAAa,MAAAyD,SAAA,SAAAA,EAAE7B,QAAQ,eAAW,MAAAgC,SAAA,SAAAA,EAAEwJ,MAE5D,GAAIC,GAAgBA,IAAiB,SAAU,OAAOA,EAEtD,QAAOtJ,EAAAmC,OAAOC,cAAU,MAAApC,SAAA,SAAAA,EAAAuJ,KAAApH,OAAG,gCAAgCE,SACvD,OACA,OAAO,S","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as e,c as i,h as a,H as t,g as r}from"./p-8e4e97b4.js";import{r as o,l as c,i as n,k as d,o as s,t as l,e as b}from"./p-6ceedfa8.js";import"./p-641c26c4.js";const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}ic-radio-option{display:flex;flex-direction:column;width:-moz-fit-content;width:fit-content}.additional-field-wrapper [slot="additional-field"]{margin-top:calc(var(--ic-space-sm) / 2);margin-left:var(--ic-space-xl)}ic-radio-option.ic-radio-option-disabled,ic-radio-option.ic-radio-option-disabled .radio-label{--ic-typography-color:var(--ic-radio-button-text-option-disabled)}.container input:focus+span.checkmark,.container:hover input:focus+span.checkmark,.container:active input:focus+span.checkmark,:host(:focus) .container input:checked+span.checkmark{box-shadow:var(--ic-border-focus)}.container{display:grid;grid-template-columns:min-content auto;position:relative;cursor:pointer;align-items:center;margin:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs)}.container.disabled,.container.disabled input:disabled{cursor:default}.container input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;position:absolute;cursor:pointer;height:var(--ic-space-lg);width:var(--ic-space-lg);border-radius:50%;border:none}.checkmark{display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-radio-button-background-default);border:var(--ic-space-1px) solid var(--ic-radio-button-border-default);border-radius:50%;transition:var(--ic-easing-transition-fast);box-sizing:border-box}.container input:checked~.checkmark::after{display:inline-block}.container:hover input~.checkmark{box-shadow:0 0 0 0.25rem var(--ic-radio-button-active-hover);border:var(--ic-border-width) solid var(--ic-radio-button-default-hover)}.container:hover input:checked~.checkmark{box-shadow:0 0 0 0.25rem var(--ic-radio-button-active-hover);border:0.125rem solid var(--ic-radio-button-default-hover)}.container:hover:not(.disabled) input:checked~.checkmark::after{background-color:var(--ic-radio-button-default-hover)}.container:active input~.checkmark{box-shadow:0 0 0 0.25rem var(--ic-radio-button-active-pressed);border:var(--ic-border-width) solid var(--ic-radio-button-default-pressed)}.container:active input:checked~.checkmark{border:0.125rem solid var(--ic-radio-button-default-pressed);box-shadow:0 0 0 0.25rem var(--ic-radio-button-active-pressed)}.container:active input:checked~.checkmark::after{background-color:var(--ic-radio-button-default-pressed)}.container input:checked~.checkmark{border:0.125rem solid var(--ic-radio-button-default-active)}.container input:checked:disabled~.checkmark{border:0.125rem solid var(--ic-radio-button-border-disabled)}.container input:disabled~.checkmark{border:var(--ic-border-width) dashed var(--ic-radio-button-border-disabled)}.container input:disabled~.checkmark::after{background:var(--ic-radio-button-disabled)}.container:hover input:disabled~.checkmark{box-shadow:none;border:0.125rem solid none}.container:active input:disabled~.checkmark::after{background-color:var(--ic-radio-button-disabled)}.container .checkmark::after{content:"";position:absolute;display:none;top:calc(50% - var(--ic-space-xs));left:calc(50% - var(--ic-space-xs));width:var(--ic-space-md);height:var(--ic-space-md);border-radius:50%;background:var(--ic-radio-button-default-active)}.radio-label{margin-left:var(--ic-space-md);--ic-typography-color:var(--ic-radio-button-text-option)}.additional-field-wrapper{margin-left:var(--ic-space-xs)}.branch-corner{color:var(--ic-radio-button-required-bar);height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-radio-button-required-bar);border-left:0.125rem solid var(--ic-radio-button-required-bar);margin-left:calc(-1 * var(--ic-space-1px))}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-container.hidden{display:none}.dynamic-text{color:var(--ic-radio-button-required-text);--ic-typography-color:var(--ic-radio-button-required-text);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){ic-text-field{--input-width:100%}}@media (forced-colors: active){.container input:checked~.checkmark,.container:active input:checked~.checkmark{border-color:Highlight}.container input:checked~.checkmark::after,.container:active input:checked~.checkmark::after{background-color:Highlight}.container input:disabled~.checkmark,.container input:checked:disabled~.checkmark{border-color:GrayText}.container input:disabled~.checkmark::after,.container:active input:disabled~.checkmark::after{background-color:GrayText}}input[type="radio"]:dir(rtl){right:0}.radio-label:dir(rtl){padding-right:var(--ic-space-sm);padding-left:0}.branch-corner:dir(rtl){border-radius:0 0 0.188rem;border-right:0.125rem solid var(--ic-action-default);border-left:none}.dynamic-container:dir(rtl){margin:var(--ic-space-xxxs) var(--ic-space-sm) var(--ic-space-xxs) 0}';const p=h;const u="additional-field";const m=class{constructor(a){e(this,a);this.icCheck=i(this,"icCheck",7);this.icSelectedChange=i(this,"icSelectedChange",7);this.defaultRadioValue="";this.hasAdditionalField=false;this.skipFocus=false;this.additionalFieldDisplay="static";this.disabled=false;this.dynamicText="This selection requires additional answers";this.theme="inherit";this.selected=false;this.initiallySelected=this.selected;this.handleClick=e=>{var i,a;const t=e.target.matches(".dynamic-container:not(ic-radio-option, .checkmark), .dynamic-container *:not(ic-radio-option, .checkmark)");if(!this.disabled&&(!t||e.target===this.radioElement)){e.stopPropagation();if(this.skipFocus===false){(i=this.radioElement)===null||i===void 0?void 0:i.focus()}this.skipFocus=false;if(this.hasAdditionalField){this.value=((a=this.getAdditionalField())===null||a===void 0?void 0:a.value)||this.defaultRadioValue}this.icCheck.emit({value:this.value})}};this.handleKeyDown=e=>{const i=["IC-DATE-INPUT","IC-DATE-PICKER"];if(this.getAdditionalField()==document.activeElement&&i.includes(this.getAdditionalField().nodeName)){e.stopPropagation()}};this.handleFormReset=()=>{this.skipFocus=true;this.selected=this.initiallySelected}}watchDisabledHandler(){o(this.disabled,this.el)}watchSelectedHandler(){this.icSelectedChange.emit()}handleCheck(e){if(this.additionalFieldDisplay==="static"&&Array.from(this.el.querySelectorAll("ic-radio-option")).includes(e.target))this.icCheck.emit({value:this.value})}disconnectedCallback(){c(this.el,this.handleFormReset)}componentWillLoad(){if(n(this.el,u)){this.hasAdditionalField=true;this.getAdditionalField()}this.defaultRadioValue=this.value;d(this.el,this.handleFormReset);o(this.disabled,this.el)}componentDidLoad(){s([{prop:this.value,propName:"value"}],"Radio Option")}componentWillRender(){const e=l(this.el,u);if(e&&!this.hasAdditionalField){this.hasAdditionalField=true;this.getAdditionalField()}else if(!e&&this.hasAdditionalField){this.hasAdditionalField=false}}componentDidRender(){if(this.additionalFieldDisplay==="static"){const e=this.getAdditionalField();if(!this.selected||this.disabled){e===null||e===void 0?void 0:e.setAttribute("disabled","")}else{e===null||e===void 0?void 0:e.removeAttribute("disabled")}}}additionalFieldValueHandler(e){if(this.selected){this.value=e.detail.value||this.defaultRadioValue;this.icCheck.emit({value:this.value})}e.stopImmediatePropagation()}async setFocus(){var e;(e=this.radioElement)===null||e===void 0?void 0:e.focus()}async setTabIndex(e){var i;(i=this.radioElement)===null||i===void 0?void 0:i.setAttribute("tabIndex",e.toString())}getAdditionalField(){const e=this.el.querySelector('ic-text-field[slot="additional-field"]');if(e)e.hiddenInput=false;return e}render(){const{additionalFieldDisplay:e,disabled:i,dynamicText:r,form:o,groupLabel:c,handleClick:n,handleKeyDown:d,hasAdditionalField:s,label:l,name:h,selected:p,value:m,theme:f}=this;const v=`ic-radio-option-${b(l)||m}-${c}`;return a(t,{key:"3d233946c372788a34128912099c47d6858d7ea9",onClick:n,onKeyDown:d,class:{["ic-radio-option-disabled"]:!!i,[`ic-theme-${f}`]:f!=="inherit"}},a("div",{key:"e932a0827c6b0620522f9f3df3f5a06316098949",class:{container:true,disabled:!!i}},a("div",{key:"64eeea95469af9831655f56701e2332255bf6669"},a("input",{key:"32f7a8840d8a14a89f1a79b9c61890e0e2fe23a0",tabindex:p?"0":"-1",type:"radio",name:h,id:v,value:m,disabled:i,checked:p,ref:e=>this.radioElement=e,form:o}),a("span",{key:"6cbea9714c51eb75b7be07a509049f0c330ffca5",class:"checkmark"})),a("ic-typography",{key:"55164cf8d231d449267b74389f9d7cd8193ab6db",class:"radio-label",variant:"body"},a("label",{key:"54014827aa5c16641bc3fa864974382bf0715335",htmlFor:v},l))),s&&a("div",{key:"5f3e1054494365c3fafdfd421bed64523307406b",class:{"dynamic-container":true,hidden:e==="dynamic"&&!p}},e==="dynamic"&&a("div",{key:"d9c292dd502569650dcf327a3e48716cde723593",class:"branch-corner"}),a("div",{key:"3994230df8af7e9c5215646a1c5c3d5687961637"},e==="dynamic"&&a("ic-typography",{key:"0b92403d743c4517ca099586a2845e71d528c329",variant:"caption",role:"alert"},a("p",{key:"0b689ea686ff2cb08b27858920a2f0548c197aa7",class:"dynamic-text"},r)),a("div",{key:"7e023eb75b14dd0a75acbe5321ecd676de0a67d4",class:{"additional-field-wrapper":e==="static"}},a("slot",{key:"b3f82b1650ef67a732b35a32c5088745f31d1f31",name:u})))))}get el(){return r(this)}static get watchers(){return{disabled:["watchDisabledHandler"],selected:["watchSelectedHandler"]}}};m.style=p;export{m as ic_radio_option};
|
2
|
+
//# sourceMappingURL=p-75a9b2e4.entry.js.map
|