@ukic/web-components 3.0.0-alpha.12 → 3.0.0-alpha.14
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/app-globals-3a1e7e63.js +7 -0
- package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
- package/dist/cjs/core.cjs.js +13 -11
- package/dist/cjs/core.cjs.js.map +1 -1
- package/dist/cjs/{helpers-eca4c27e.js → helpers-08a9ec1c.js} +31 -26
- package/dist/cjs/helpers-08a9ec1c.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +31 -14
- package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +65 -42
- package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +37 -16
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +27 -15
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +41 -22
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +31 -16
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +35 -21
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +304 -144
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js +53 -32
- package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +32 -9
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +48 -29
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +44 -23
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +20 -4
- package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-list.cjs.entry.js +11 -5
- package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +28 -18
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +141 -98
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +35 -15
- package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +15 -9
- package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +8 -8
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +9 -10
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +32 -19
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +29 -17
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +32 -20
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +126 -68
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +45 -17
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +28 -21
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +5 -5
- package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +21 -19
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +25 -19
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +48 -27
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +69 -48
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +54 -32
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +45 -25
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination-item.cjs.entry.js +27 -14
- package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination.cjs.entry.js +60 -27
- package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +58 -42
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +53 -28
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +35 -23
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +153 -63
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-section-container.cjs.entry.js +12 -5
- package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +234 -137
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +107 -71
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +11 -4
- package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skip-link.cjs.entry.js +55 -0
- package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-status-tag.cjs.entry.js +26 -7
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +35 -33
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +50 -35
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +50 -22
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +44 -24
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +14 -9
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +12 -7
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +21 -15
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +175 -69
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +13 -7
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js +2 -3
- package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +29 -21
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +61 -29
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +81 -48
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +60 -31
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +53 -27
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/index-d337cd8a.js +2611 -0
- package/dist/cjs/index-d337cd8a.js.map +1 -0
- package/dist/cjs/loader.cjs.js +5 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +5 -4
- package/dist/collection/components/ic-accordion/ic-accordion.js +80 -46
- package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
- package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +49 -21
- package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
- package/dist/collection/components/ic-alert/ic-alert.js +58 -22
- package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +35 -16
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
- package/dist/collection/components/ic-badge/ic-badge.js +69 -32
- package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +49 -24
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +41 -19
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.css +6 -8
- package/dist/collection/components/ic-button/ic-button.js +269 -98
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.stories.js +179 -0
- package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +88 -42
- package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +91 -45
- package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +62 -20
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
- package/dist/collection/components/ic-chip/ic-chip.js +67 -30
- package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +32 -7
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
- package/dist/collection/components/ic-data-list/ic-data-list.js +18 -7
- package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -1
- package/dist/collection/components/ic-data-row/ic-data-row.js +38 -21
- package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
- package/dist/collection/components/ic-dialog/ic-dialog.js +176 -110
- package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
- package/dist/collection/components/ic-dialog/ic-dialog.stories.js +100 -49
- package/dist/collection/components/ic-divider/ic-divider.js +55 -22
- package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
- package/dist/collection/components/ic-divider/ic-divider.stories.js +2 -2
- package/dist/collection/components/ic-empty-state/ic-empty-state.js +32 -13
- package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
- package/dist/collection/components/ic-footer/ic-footer.js +49 -25
- package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
- package/dist/collection/components/ic-footer-link/ic-footer-link.js +24 -15
- package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +6 -5
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
- package/dist/collection/components/ic-hero/ic-hero.css +1 -1
- package/dist/collection/components/ic-hero/ic-hero.js +54 -25
- package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +40 -21
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +9 -0
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +55 -20
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
- package/dist/collection/components/ic-input-container/ic-input-container.js +16 -6
- package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
- package/dist/collection/components/ic-input-label/ic-input-label.js +48 -11
- package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
- package/dist/collection/components/ic-input-validation/ic-input-validation.js +31 -14
- package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
- package/dist/collection/components/ic-link/ic-link.js +49 -28
- package/dist/collection/components/ic-link/ic-link.js.map +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +124 -66
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
- package/dist/collection/components/ic-menu/ic-menu.js +136 -74
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
- package/dist/collection/components/ic-menu-group/ic-menu-group.js +4 -5
- package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
- package/dist/collection/components/ic-menu-item/ic-menu-item.css +1 -0
- package/dist/collection/components/ic-menu-item/ic-menu-item.js +53 -28
- package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +44 -23
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +109 -28
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js +2 -0
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js.map +1 -0
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +107 -63
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +61 -34
- 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 +68 -31
- package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
- package/dist/collection/components/ic-pagination/ic-pagination.js +100 -44
- package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
- package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +48 -22
- package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +81 -52
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +70 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.js +87 -41
- package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +64 -33
- 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 +252 -101
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.types.js.map +1 -1
- package/dist/collection/components/ic-section-container/ic-section-container.js +15 -5
- package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
- package/dist/collection/components/ic-select/ic-select.css +1 -0
- package/dist/collection/components/ic-select/ic-select.js +333 -177
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +1 -2
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +146 -89
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +12 -0
- package/dist/collection/components/ic-skeleton/ic-skeleton.js +14 -4
- package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
- package/dist/collection/components/ic-skip-link/ic-skip-link.css +46 -0
- package/dist/collection/components/ic-skip-link/ic-skip-link.js +203 -0
- package/dist/collection/components/ic-skip-link/ic-skip-link.js.map +1 -0
- package/dist/collection/components/ic-skip-link/ic-skip-link.stories.js +504 -0
- package/dist/collection/components/ic-status-tag/ic-status-tag.css +1 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +41 -9
- package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
- package/dist/collection/components/ic-step/ic-step.css +2 -2
- package/dist/collection/components/ic-step/ic-step.js +67 -40
- package/dist/collection/components/ic-step/ic-step.js.map +1 -1
- package/dist/collection/components/ic-stepper/ic-stepper.js +61 -37
- package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
- package/dist/collection/components/ic-stepper/ic-stepper.stories.js +5 -1
- package/dist/collection/components/ic-switch/ic-switch.js +72 -27
- package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
- package/dist/collection/components/ic-tab/ic-tab.js +40 -21
- package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +59 -29
- 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 +21 -9
- package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +26 -10
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.js +321 -140
- package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
- package/dist/collection/components/ic-theme/ic-theme.js +19 -9
- package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
- package/dist/collection/components/ic-toast/ic-toast.js +49 -28
- package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
- package/dist/collection/components/ic-toast-region/ic-toast-region.js +6 -5
- package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +116 -60
- 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 +90 -35
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +65 -33
- package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +91 -45
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +8 -19
- package/dist/collection/components/ic-typography/ic-typography.js +73 -32
- package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
- package/dist/collection/utils/helpers.js +29 -24
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/testa11y.helpers.js +2 -1
- package/dist/collection/utils/testa11y.helpers.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +30 -25
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-accordion-group.js +29 -12
- package/dist/components/ic-accordion-group.js.map +1 -1
- package/dist/components/ic-accordion.js +63 -40
- package/dist/components/ic-accordion.js.map +1 -1
- package/dist/components/ic-alert.js +35 -14
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-back-to-top.js +25 -13
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-badge.js +39 -20
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js +29 -14
- package/dist/components/ic-breadcrumb-group.js.map +1 -1
- package/dist/components/ic-breadcrumb2.js +33 -19
- package/dist/components/ic-breadcrumb2.js.map +1 -1
- package/dist/components/ic-button2.js +171 -63
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card-vertical.js +51 -30
- package/dist/components/ic-card-vertical.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +30 -7
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +46 -27
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +42 -21
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-classification-banner.js +19 -3
- package/dist/components/ic-classification-banner.js.map +1 -1
- package/dist/components/ic-data-list.js +10 -4
- package/dist/components/ic-data-list.js.map +1 -1
- package/dist/components/ic-data-row.js +27 -17
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-dialog.js +139 -96
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-divider2.js +33 -13
- package/dist/components/ic-divider2.js.map +1 -1
- package/dist/components/ic-empty-state.js +13 -7
- package/dist/components/ic-empty-state.js.map +1 -1
- package/dist/components/ic-footer-link-group.js +6 -6
- package/dist/components/ic-footer-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js +7 -8
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-footer.js +31 -18
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-hero.js +27 -15
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-horizontal-scroll2.js +30 -18
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +31 -9
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-container2.js +12 -5
- package/dist/components/ic-input-container2.js.map +1 -1
- package/dist/components/ic-input-label2.js +28 -8
- package/dist/components/ic-input-label2.js.map +1 -1
- package/dist/components/ic-input-validation2.js +15 -7
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-link2.js +26 -19
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +89 -54
- package/dist/components/ic-loading-indicator2.js.map +1 -1
- package/dist/components/ic-menu-group.js +3 -3
- package/dist/components/ic-menu-group.js.map +1 -1
- package/dist/components/ic-menu-item2.js +19 -17
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu2.js +81 -52
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-button.js +23 -17
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +48 -27
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +68 -47
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +53 -31
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js +44 -24
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +25 -12
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination.js +58 -25
- package/dist/components/ic-pagination.js.map +1 -1
- package/dist/components/ic-popover-menu.js +56 -40
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +51 -26
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +33 -21
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +151 -61
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-section-container2.js +11 -4
- package/dist/components/ic-section-container2.js.map +1 -1
- package/dist/components/ic-select.js +232 -135
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-side-navigation.js +106 -70
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +10 -3
- package/dist/components/ic-skeleton.js.map +1 -1
- package/dist/components/ic-skip-link.d.ts +11 -0
- package/dist/components/ic-skip-link.js +83 -0
- package/dist/components/ic-skip-link.js.map +1 -0
- package/dist/components/ic-status-tag.js +24 -5
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +33 -31
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +48 -33
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +48 -20
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +43 -23
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-group.js +12 -7
- package/dist/components/ic-tab-group.js.map +1 -1
- package/dist/components/ic-tab-panel.js +11 -6
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js +19 -13
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field.js +173 -67
- package/dist/components/ic-text-field.js.map +1 -1
- package/dist/components/ic-theme.js +11 -5
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-toast-region.js +1 -2
- package/dist/components/ic-toast-region.js.map +1 -1
- package/dist/components/ic-toast.js +28 -20
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +59 -27
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/components/ic-toggle-button.js +79 -46
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/components/ic-tooltip2.js +42 -25
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +59 -30
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-typography2.js +51 -25
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.css +66 -49
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/index.esm.js.map +1 -1
- package/dist/core/p-08fbea60.entry.js +2 -0
- package/dist/core/p-08fbea60.entry.js.map +1 -0
- package/dist/core/{p-73a208c7.entry.js → p-0f34465d.entry.js} +2 -2
- package/dist/core/p-0f34465d.entry.js.map +1 -0
- package/dist/core/p-111b3186.entry.js +2 -0
- package/dist/core/p-111b3186.entry.js.map +1 -0
- package/dist/core/p-144a31ec.entry.js +2 -0
- package/dist/core/p-144a31ec.entry.js.map +1 -0
- package/dist/core/{p-ca11666f.entry.js → p-180ea8ac.entry.js} +2 -2
- package/dist/core/p-180ea8ac.entry.js.map +1 -0
- package/dist/core/{p-39ab6387.entry.js → p-196e3d33.entry.js} +2 -2
- package/dist/core/p-196e3d33.entry.js.map +1 -0
- package/dist/core/{p-96b4ca6e.entry.js → p-1d6638c8.entry.js} +2 -2
- package/dist/core/p-1d6638c8.entry.js.map +1 -0
- package/dist/core/p-1d9a929b.entry.js +2 -0
- package/dist/core/p-1d9a929b.entry.js.map +1 -0
- package/dist/core/p-1dc0c174.entry.js +2 -0
- package/dist/core/p-1dc0c174.entry.js.map +1 -0
- package/dist/core/{p-27274ca8.entry.js → p-1fccec19.entry.js} +2 -2
- package/dist/core/p-1fccec19.entry.js.map +1 -0
- package/dist/core/{p-c1db155d.entry.js → p-22d88d2f.entry.js} +2 -2
- package/dist/core/p-22d88d2f.entry.js.map +1 -0
- package/dist/core/p-269f841d.js +2 -0
- package/dist/core/p-269f841d.js.map +1 -0
- package/dist/core/{p-094f51b6.entry.js → p-27de359f.entry.js} +2 -2
- package/dist/core/p-27de359f.entry.js.map +1 -0
- package/dist/core/p-2cb55e86.entry.js +2 -0
- package/dist/core/p-2cb55e86.entry.js.map +1 -0
- package/dist/core/p-30a262d2.entry.js +2 -0
- package/dist/core/p-30a262d2.entry.js.map +1 -0
- package/dist/core/p-39bf060d.entry.js +2 -0
- package/dist/core/p-39bf060d.entry.js.map +1 -0
- package/dist/core/p-3b185c32.js.map +1 -1
- package/dist/core/{p-a178d53c.entry.js → p-40bc1f3e.entry.js} +2 -2
- package/dist/core/p-40bc1f3e.entry.js.map +1 -0
- package/dist/core/p-426ec638.js.map +1 -1
- package/dist/core/p-47b46637.entry.js +2 -0
- package/dist/core/p-47b46637.entry.js.map +1 -0
- package/dist/core/p-4a5ab31e.entry.js +2 -0
- package/dist/core/p-4a5ab31e.entry.js.map +1 -0
- package/dist/core/p-4e4014cd.entry.js +2 -0
- package/dist/core/p-4e4014cd.entry.js.map +1 -0
- package/dist/core/{p-25d3c3a6.entry.js → p-55eb89cc.entry.js} +2 -2
- package/dist/core/p-55eb89cc.entry.js.map +1 -0
- package/dist/core/p-59fc58e1.entry.js +2 -0
- package/dist/core/p-59fc58e1.entry.js.map +1 -0
- package/dist/core/p-5b7d8ee9.entry.js +2 -0
- package/dist/core/p-5b7d8ee9.entry.js.map +1 -0
- package/dist/core/{p-b404b307.entry.js → p-5fa5ba50.entry.js} +2 -2
- package/dist/core/p-5fa5ba50.entry.js.map +1 -0
- package/dist/core/p-625f914e.entry.js +2 -0
- package/dist/core/p-625f914e.entry.js.map +1 -0
- package/dist/core/p-67d47db4.entry.js +2 -0
- package/dist/core/p-67d47db4.entry.js.map +1 -0
- package/dist/core/p-68a5aaff.js.map +1 -1
- package/dist/core/{p-146b2788.entry.js → p-72140621.entry.js} +2 -2
- package/dist/core/p-72140621.entry.js.map +1 -0
- package/dist/core/{p-4cfe1dd8.entry.js → p-78c3ca49.entry.js} +2 -2
- package/dist/core/p-78c3ca49.entry.js.map +1 -0
- package/dist/core/p-78c51cba.entry.js +2 -0
- package/dist/core/p-78c51cba.entry.js.map +1 -0
- package/dist/core/{p-3d565739.entry.js → p-7ea79205.entry.js} +2 -2
- package/dist/core/p-7ea79205.entry.js.map +1 -0
- package/dist/core/{p-26bc7c62.entry.js → p-8856dff4.entry.js} +2 -2
- package/dist/core/p-8856dff4.entry.js.map +1 -0
- package/dist/core/p-8870d5d8.entry.js +2 -0
- package/dist/core/p-8870d5d8.entry.js.map +1 -0
- package/dist/core/{p-00587c99.entry.js → p-8b928cc9.entry.js} +2 -2
- package/dist/core/p-8b928cc9.entry.js.map +1 -0
- package/dist/core/p-8d1bee7a.entry.js +2 -0
- package/dist/core/p-8d1bee7a.entry.js.map +1 -0
- package/dist/core/p-8e4e97b4.js +3 -0
- package/dist/core/p-8e4e97b4.js.map +1 -0
- package/dist/core/p-8f319e1e.entry.js +2 -0
- package/dist/core/p-8f319e1e.entry.js.map +1 -0
- package/dist/core/p-90de3f5d.entry.js +2 -0
- package/dist/core/p-90de3f5d.entry.js.map +1 -0
- package/dist/core/p-912c8594.entry.js +2 -0
- package/dist/core/p-912c8594.entry.js.map +1 -0
- package/dist/core/{p-67b3cd55.entry.js → p-9206379d.entry.js} +2 -2
- package/dist/core/p-9206379d.entry.js.map +1 -0
- package/dist/core/p-94748b96.entry.js +2 -0
- package/dist/core/p-94748b96.entry.js.map +1 -0
- package/dist/core/{p-d7ccd00f.entry.js → p-98f906ba.entry.js} +2 -2
- package/dist/core/p-98f906ba.entry.js.map +1 -0
- package/dist/core/{p-5b836707.entry.js → p-999102ee.entry.js} +2 -2
- package/dist/core/p-999102ee.entry.js.map +1 -0
- package/dist/core/p-9b741f96.entry.js +2 -0
- package/dist/core/p-9b741f96.entry.js.map +1 -0
- package/dist/core/p-9dbe3f3e.entry.js +2 -0
- package/dist/core/p-9dbe3f3e.entry.js.map +1 -0
- package/dist/core/p-9ee2fe04.entry.js +2 -0
- package/dist/core/p-9ee2fe04.entry.js.map +1 -0
- package/dist/core/{p-e2cf6e7e.entry.js → p-a56ec6d8.entry.js} +2 -2
- package/dist/core/p-a56ec6d8.entry.js.map +1 -0
- package/dist/core/p-a9fd6dcf.entry.js +2 -0
- package/dist/core/p-a9fd6dcf.entry.js.map +1 -0
- package/dist/core/p-b594bf26.entry.js +2 -0
- package/dist/core/p-b594bf26.entry.js.map +1 -0
- package/dist/core/{p-6e94c79c.entry.js → p-bd802c2f.entry.js} +2 -2
- package/dist/core/p-bd802c2f.entry.js.map +1 -0
- package/dist/core/p-bfee1e84.entry.js +2 -0
- package/dist/core/p-bfee1e84.entry.js.map +1 -0
- package/dist/core/{p-7f984e25.entry.js → p-c19cdc86.entry.js} +2 -2
- package/dist/core/p-c19cdc86.entry.js.map +1 -0
- package/dist/core/p-c2e091d7.js.map +1 -1
- package/dist/core/{p-73d6092d.entry.js → p-c3785d57.entry.js} +2 -2
- package/dist/core/p-c3785d57.entry.js.map +1 -0
- package/dist/core/p-c7be6679.entry.js +2 -0
- package/dist/core/p-c7be6679.entry.js.map +1 -0
- package/dist/core/{p-7b26ef60.entry.js → p-caa46d81.entry.js} +2 -2
- package/dist/core/p-caa46d81.entry.js.map +1 -0
- package/dist/core/{p-720428a3.entry.js → p-ce0fb53a.entry.js} +2 -2
- package/dist/core/p-ce0fb53a.entry.js.map +1 -0
- package/dist/core/p-d80f3ec1.entry.js +2 -0
- package/dist/core/p-d80f3ec1.entry.js.map +1 -0
- package/dist/core/p-dce2c5e8.entry.js +2 -0
- package/dist/core/p-dce2c5e8.entry.js.map +1 -0
- package/dist/core/{p-07aaf9c4.entry.js → p-df56bc50.entry.js} +2 -2
- package/dist/core/p-df56bc50.entry.js.map +1 -0
- package/dist/core/p-e1255160.js +2 -0
- package/dist/core/p-e1255160.js.map +1 -0
- package/dist/core/p-e25feba1.entry.js +2 -0
- package/dist/core/p-e25feba1.entry.js.map +1 -0
- package/dist/core/p-e3be3502.entry.js +2 -0
- package/dist/core/p-e3be3502.entry.js.map +1 -0
- package/dist/core/p-f074ef5b.js.map +1 -1
- package/dist/core/{p-abdc2912.entry.js → p-f486d4f4.entry.js} +2 -2
- package/dist/core/p-f486d4f4.entry.js.map +1 -0
- package/dist/core/{p-a87d13b3.entry.js → p-fbce5f9a.entry.js} +2 -2
- package/dist/core/p-fbce5f9a.entry.js.map +1 -0
- package/dist/esm/app-globals-0f993ce5.js +5 -0
- package/dist/esm/app-globals-0f993ce5.js.map +1 -0
- package/dist/esm/core.js +14 -12
- package/dist/esm/core.js.map +1 -1
- package/dist/esm/{helpers-a72a277b.js → helpers-de6293bf.js} +31 -26
- package/dist/esm/helpers-de6293bf.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +31 -14
- package/dist/esm/ic-accordion-group.entry.js.map +1 -1
- package/dist/esm/ic-accordion.entry.js +65 -42
- package/dist/esm/ic-accordion.entry.js.map +1 -1
- package/dist/esm/ic-alert.entry.js +37 -16
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +27 -15
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-badge.entry.js +41 -22
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +31 -16
- package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +35 -21
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +304 -144
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-vertical.entry.js +53 -32
- package/dist/esm/ic-card-vertical.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +32 -9
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +48 -29
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +44 -23
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +20 -4
- package/dist/esm/ic-classification-banner.entry.js.map +1 -1
- package/dist/esm/ic-data-list.entry.js +11 -5
- package/dist/esm/ic-data-list.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +28 -18
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +141 -98
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +35 -15
- package/dist/esm/ic-divider.entry.js.map +1 -1
- package/dist/esm/ic-empty-state.entry.js +15 -9
- package/dist/esm/ic-empty-state.entry.js.map +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +8 -8
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +9 -10
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +32 -19
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +29 -17
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +32 -20
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +126 -68
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +45 -17
- package/dist/esm/ic-input-label_2.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +28 -21
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +5 -5
- package/dist/esm/ic-menu-group.entry.js.map +1 -1
- package/dist/esm/ic-menu-item.entry.js +21 -19
- package/dist/esm/ic-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +25 -19
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +48 -27
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +69 -48
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +54 -32
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +45 -25
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-pagination-item.entry.js +27 -14
- package/dist/esm/ic-pagination-item.entry.js.map +1 -1
- package/dist/esm/ic-pagination.entry.js +60 -27
- package/dist/esm/ic-pagination.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +58 -42
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +53 -28
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +35 -23
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +153 -63
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-section-container.entry.js +12 -5
- package/dist/esm/ic-section-container.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +234 -137
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +107 -71
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +11 -4
- package/dist/esm/ic-skeleton.entry.js.map +1 -1
- package/dist/esm/ic-skip-link.entry.js +51 -0
- package/dist/esm/ic-skip-link.entry.js.map +1 -0
- package/dist/esm/ic-status-tag.entry.js +26 -7
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +35 -33
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +50 -35
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +50 -22
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +44 -24
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +14 -9
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +12 -7
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +21 -15
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +175 -69
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +13 -7
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-toast-region.entry.js +2 -3
- package/dist/esm/ic-toast-region.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +29 -21
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +61 -29
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +81 -48
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +60 -31
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +53 -27
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/index-a7a720e7.js +2580 -0
- package/dist/esm/index-a7a720e7.js.map +1 -0
- package/dist/esm/loader.js +6 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/types/components/ic-accordion/ic-accordion.d.ts +3 -3
- package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +5 -5
- package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
- package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +1 -1
- package/dist/types/components/ic-badge/ic-badge.d.ts +1 -1
- package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +1 -1
- package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +2 -2
- package/dist/types/components/ic-button/ic-button.d.ts +7 -6
- package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +10 -10
- package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +6 -6
- package/dist/types/components/ic-data-list/ic-data-list.d.ts +1 -1
- package/dist/types/components/ic-data-row/ic-data-row.d.ts +2 -2
- package/dist/types/components/ic-dialog/ic-dialog.d.ts +9 -6
- package/dist/types/components/ic-divider/ic-divider.d.ts +3 -3
- package/dist/types/components/ic-footer/ic-footer.d.ts +4 -4
- package/dist/types/components/ic-hero/ic-hero.d.ts +3 -3
- package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +6 -6
- package/dist/types/components/ic-input-label/ic-input-label.d.ts +2 -2
- package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +4 -4
- package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +2 -2
- package/dist/types/components/ic-menu/ic-menu.d.ts +10 -10
- package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -1
- package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +2 -2
- package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -1
- package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +15 -4
- package/dist/types/components/ic-navigation-group/ic-navigation-group.types.d.ts +6 -0
- package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +8 -8
- package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +5 -3
- package/dist/types/components/ic-pagination/ic-pagination.d.ts +9 -9
- package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +4 -4
- package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -4
- package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +8 -8
- package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +6 -6
- package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +12 -12
- package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
- package/dist/types/components/ic-select/ic-select.d.ts +20 -20
- package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +12 -12
- package/dist/types/components/ic-skip-link/ic-skip-link.d.ts +33 -0
- package/dist/types/components/ic-stepper/ic-stepper.d.ts +1 -1
- package/dist/types/components/ic-switch/ic-switch.d.ts +1 -1
- package/dist/types/components/ic-tab/ic-tab.d.ts +2 -2
- package/dist/types/components/ic-text-field/ic-text-field.d.ts +34 -33
- package/dist/types/components/ic-theme/ic-theme.d.ts +2 -2
- package/dist/types/components/ic-toast/ic-toast.d.ts +3 -3
- package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +1 -1
- package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +3 -3
- package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +9 -9
- package/dist/types/components/ic-typography/ic-typography.d.ts +1 -1
- package/dist/types/components.d.ts +282 -195
- package/dist/types/stencil-public-runtime.d.ts +9 -10
- package/dist/types/utils/helpers.d.ts +10 -10
- package/dist/types/utils/types.d.ts +8 -4
- package/hydrate/index.d.ts +53 -12
- package/hydrate/index.js +32646 -20647
- package/hydrate/index.mjs +34349 -0
- package/hydrate/package.json +7 -1
- package/loader/cdn.js +1 -3
- package/loader/index.cjs.js +1 -3
- package/loader/index.d.ts +3 -0
- package/loader/index.es2017.js +1 -3
- package/loader/index.js +1 -3
- package/package.json +3 -3
- package/vscode-data.json +50 -330
- package/dist/cjs/helpers-eca4c27e.js.map +0 -1
- package/dist/cjs/index-f982899d.js +0 -3047
- package/dist/cjs/index-f982899d.js.map +0 -1
- package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +0 -349
- package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +0 -1
- package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +0 -129
- package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +0 -1
- package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +0 -329
- package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +0 -1
- package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +0 -159
- package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +0 -1
- package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +0 -450
- package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +0 -1
- package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +0 -162
- package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +0 -1
- package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +0 -234
- package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +0 -1
- package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +0 -332
- package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +0 -1
- package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +0 -214
- package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +0 -1
- package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +0 -284
- package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +0 -1
- package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +0 -188
- package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +0 -1
- package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +0 -188
- package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +0 -1
- package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js +0 -161
- package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +0 -1
- package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +0 -74
- package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +0 -1
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +0 -448
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +0 -1
- package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +0 -109
- package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +0 -1
- package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +0 -101
- package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +0 -1
- package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +0 -181
- package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +0 -1
- package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +0 -46
- package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +0 -1
- package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +0 -66
- package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +0 -1
- package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +0 -109
- package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +0 -1
- package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +0 -223
- package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +0 -1
- package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +0 -172
- package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +0 -1
- package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +0 -38
- package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +0 -1
- package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +0 -84
- package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +0 -1
- package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +0 -89
- package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +0 -1
- package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +0 -120
- package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +0 -1
- package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +0 -149
- package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +0 -1
- package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +0 -1108
- package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +0 -1
- package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +0 -94
- package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +0 -1
- package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +0 -121
- package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +0 -1
- package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +0 -95
- package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +0 -1
- package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +0 -309
- package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +0 -1
- package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +0 -130
- package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +0 -1
- package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +0 -176
- package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +0 -1
- package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +0 -291
- package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +0 -1
- package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +0 -390
- package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +0 -1
- package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +0 -79
- package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +0 -1
- package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +0 -398
- package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +0 -1
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +0 -389
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +0 -1
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +0 -553
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +0 -1
- package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +0 -69
- package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +0 -1
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +0 -1672
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +0 -1
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +0 -503
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +0 -1
- package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +0 -89
- package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +0 -1
- package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +0 -26
- package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +0 -1
- package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +0 -176
- package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +0 -1
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +0 -752
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +0 -1
- package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +0 -93
- package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +0 -1
- package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +0 -175
- package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +0 -1
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +0 -390
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +0 -1
- package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +0 -19
- package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +0 -1
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +0 -312
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +0 -1
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +0 -341
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +0 -1
- package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +0 -72
- package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +0 -1
- package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +0 -79
- package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +0 -1
- package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +0 -314
- package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +0 -1
- package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -64
- package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +0 -1
- package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +0 -126
- package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +0 -1
- package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +0 -337
- package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +0 -1
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +0 -321
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +0 -1
- package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +0 -314
- package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +0 -1
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +0 -407
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +0 -1
- package/dist/collection/testspec.setup.js +0 -77
- package/dist/collection/testspec.setup.js.map +0 -1
- package/dist/core/p-00587c99.entry.js.map +0 -1
- package/dist/core/p-07aaf9c4.entry.js.map +0 -1
- package/dist/core/p-094f51b6.entry.js.map +0 -1
- package/dist/core/p-116875ae.entry.js +0 -2
- package/dist/core/p-116875ae.entry.js.map +0 -1
- package/dist/core/p-146b2788.entry.js.map +0 -1
- package/dist/core/p-15082ea5.entry.js +0 -2
- package/dist/core/p-15082ea5.entry.js.map +0 -1
- package/dist/core/p-174de9d7.entry.js +0 -2
- package/dist/core/p-174de9d7.entry.js.map +0 -1
- package/dist/core/p-17f9921d.entry.js +0 -2
- package/dist/core/p-17f9921d.entry.js.map +0 -1
- package/dist/core/p-246ea059.entry.js +0 -2
- package/dist/core/p-246ea059.entry.js.map +0 -1
- package/dist/core/p-25d3c3a6.entry.js.map +0 -1
- package/dist/core/p-26bc7c62.entry.js.map +0 -1
- package/dist/core/p-27274ca8.entry.js.map +0 -1
- package/dist/core/p-31d4bfc3.entry.js +0 -2
- package/dist/core/p-31d4bfc3.entry.js.map +0 -1
- package/dist/core/p-39ab6387.entry.js.map +0 -1
- package/dist/core/p-3d565739.entry.js.map +0 -1
- package/dist/core/p-3ea4a005.entry.js +0 -2
- package/dist/core/p-3ea4a005.entry.js.map +0 -1
- package/dist/core/p-41b7c67c.entry.js +0 -2
- package/dist/core/p-41b7c67c.entry.js.map +0 -1
- package/dist/core/p-4cfe1dd8.entry.js.map +0 -1
- package/dist/core/p-5b836707.entry.js.map +0 -1
- package/dist/core/p-67b3cd55.entry.js.map +0 -1
- package/dist/core/p-67b8a829.entry.js +0 -2
- package/dist/core/p-67b8a829.entry.js.map +0 -1
- package/dist/core/p-6b5e91e2.js +0 -3
- package/dist/core/p-6b5e91e2.js.map +0 -1
- package/dist/core/p-6b9db71a.entry.js +0 -2
- package/dist/core/p-6b9db71a.entry.js.map +0 -1
- package/dist/core/p-6dfa5a4b.entry.js +0 -2
- package/dist/core/p-6dfa5a4b.entry.js.map +0 -1
- package/dist/core/p-6e94c79c.entry.js.map +0 -1
- package/dist/core/p-720428a3.entry.js.map +0 -1
- package/dist/core/p-73a208c7.entry.js.map +0 -1
- package/dist/core/p-73d6092d.entry.js.map +0 -1
- package/dist/core/p-770c52a7.entry.js +0 -2
- package/dist/core/p-770c52a7.entry.js.map +0 -1
- package/dist/core/p-7b26ef60.entry.js.map +0 -1
- package/dist/core/p-7f984e25.entry.js.map +0 -1
- package/dist/core/p-86caada0.entry.js +0 -2
- package/dist/core/p-86caada0.entry.js.map +0 -1
- package/dist/core/p-8c03b8b5.entry.js +0 -2
- package/dist/core/p-8c03b8b5.entry.js.map +0 -1
- package/dist/core/p-8fdb9b16.entry.js +0 -2
- package/dist/core/p-8fdb9b16.entry.js.map +0 -1
- package/dist/core/p-91a221b5.entry.js +0 -2
- package/dist/core/p-91a221b5.entry.js.map +0 -1
- package/dist/core/p-96b4ca6e.entry.js.map +0 -1
- package/dist/core/p-9e0c2c19.entry.js +0 -2
- package/dist/core/p-9e0c2c19.entry.js.map +0 -1
- package/dist/core/p-9f569f90.entry.js +0 -2
- package/dist/core/p-9f569f90.entry.js.map +0 -1
- package/dist/core/p-a178d53c.entry.js.map +0 -1
- package/dist/core/p-a3b7a147.entry.js +0 -2
- package/dist/core/p-a3b7a147.entry.js.map +0 -1
- package/dist/core/p-a72685f6.entry.js +0 -2
- package/dist/core/p-a72685f6.entry.js.map +0 -1
- package/dist/core/p-a87d13b3.entry.js.map +0 -1
- package/dist/core/p-abdc2912.entry.js.map +0 -1
- package/dist/core/p-b404b307.entry.js.map +0 -1
- package/dist/core/p-b6ce9ca3.entry.js +0 -2
- package/dist/core/p-b6ce9ca3.entry.js.map +0 -1
- package/dist/core/p-b6e010f3.entry.js +0 -2
- package/dist/core/p-b6e010f3.entry.js.map +0 -1
- package/dist/core/p-bbd4f487.entry.js +0 -2
- package/dist/core/p-bbd4f487.entry.js.map +0 -1
- package/dist/core/p-bd9f3961.entry.js +0 -2
- package/dist/core/p-bd9f3961.entry.js.map +0 -1
- package/dist/core/p-c1db155d.entry.js.map +0 -1
- package/dist/core/p-c7bcdb8e.entry.js +0 -2
- package/dist/core/p-c7bcdb8e.entry.js.map +0 -1
- package/dist/core/p-ca11666f.entry.js.map +0 -1
- package/dist/core/p-cda4aca9.js +0 -2
- package/dist/core/p-cda4aca9.js.map +0 -1
- package/dist/core/p-d7ccd00f.entry.js.map +0 -1
- package/dist/core/p-dededae6.entry.js +0 -2
- package/dist/core/p-dededae6.entry.js.map +0 -1
- package/dist/core/p-e2cf6e7e.entry.js.map +0 -1
- package/dist/core/p-e6dc3cd1.entry.js +0 -2
- package/dist/core/p-e6dc3cd1.entry.js.map +0 -1
- package/dist/core/p-e831277e.entry.js +0 -2
- package/dist/core/p-e831277e.entry.js.map +0 -1
- package/dist/core/p-eb7c589b.entry.js +0 -2
- package/dist/core/p-eb7c589b.entry.js.map +0 -1
- package/dist/core/p-f65179fe.entry.js +0 -2
- package/dist/core/p-f65179fe.entry.js.map +0 -1
- package/dist/core/p-fd60eef7.entry.js +0 -2
- package/dist/core/p-fd60eef7.entry.js.map +0 -1
- package/dist/core/p-fd9f3fd0.entry.js +0 -2
- package/dist/core/p-fd9f3fd0.entry.js.map +0 -1
- package/dist/esm/helpers-a72a277b.js.map +0 -1
- package/dist/esm/index-d1d2c456.js +0 -3016
- package/dist/esm/index-d1d2c456.js.map +0 -1
- package/dist/esm/polyfills/core-js.js +0 -11
- package/dist/esm/polyfills/dom.js +0 -79
- package/dist/esm/polyfills/es5-html-element.js +0 -1
- package/dist/esm/polyfills/index.js +0 -34
- package/dist/esm/polyfills/system.js +0 -6
- package/dist/types/testspec.setup.d.ts +0 -24
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icSelectCss","IcSelectStyle0","inputIds","MUTABLE_ATTRIBUTES","IC_INHERITED_ARIA","Select","constructor","hostRef","this","hasSetDefaultValue","inheritedAttributes","initialOptionsEmpty","inputId","menuId","searchableMenuItemSelected","ungroupedOptions","hostMutationObserver","clearButtonFocused","noOptions","open","pressedCharacters","searchableSelectInputValue","disabled","disableAutoFiltering","emptyOptionListText","fullWidth","helperText","hideLabel","includeDescriptionsInSearch","includeGroupTitlesInSearch","loadingErrorLabel","loadingLabel","multiple","name","placeholder","readonly","required","searchable","searchMatchPosition","selectOnEnter","showClearButton","size","theme","validationStatus","validationText","loading","options","filteredOptions","uniqueOptions","debounce","currDebounce","initialValue","value","inputValueToFilter","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","type","addedNodes","removedNodes","attribute","el","getAttribute","includes","checkSlotInChildMutations","forceUpdate","handleRetry","ev","detail","keyPressed","_a","searchableSelectElement","focus","blurredBecauseButtonPressed","retryButtonClick","icRetryLoad","emit","hiddenInputValue","emitIcChange","Array","isArray","handleMultipleSelectChange","String","valueToEmit","icChange","emitIcInput","clearTimeout","debounceIcInput","window","setTimeout","icInput","deduplicateOptions","uniqueValues","dedupedOptions","dedupedChildren","option","children","child","console","warn","label","push","modifiedParent","Object","assign","setOptionsValuesFromLabels","length","map","setUngroupedOptions","event","setTextColor","nativeSelectElement","selectedIndex","className","setMenuChange","getLabelFromValue","getMultipleOptionsString","selectedValues","selectedLabels","filter","join","getFilteredChildMenuOptions","getFilteredMenuOptions","newOption","getValueSortedByOptions","valueArray","valuesFromAllOptions","sort","a","b","indexOf","handleNativeSelectChange","icOptionSelect","handleCustomSelectChange","currValue","getValueFromLabel","_b","icOptionDeselect","ariaActiveDescendant","optionId","slice","valueIndex","splice","handleSelectAllChange","selectAllOptions","select","allEnabledOptions","allValues","newValue","unselectedValues","handleMenuChange","handleFocusIndicatorDisplay","handleMenuKeyPress","cancelBubble","handleCharacterKeyDown","key","focusIndicator","shadowRoot","querySelector","classList","add","remove","handleMouseDown","preventDefault","isExternalFiltering","handleClick","menu","hasTimedOut","handleClickOpen","handleExpandIconMouseDown","handleClear","stopPropagation","timeoutTimer","clearInput","icClear","customSelectElement","characterKeyPressTimer","handleFilter","handleNativeSelectKeyDown","handleKeyDown","isArrowKey","handleKeyboardOpen","handleClearButtonFocus","handleClearButtonBlur","retryButton","relatedTarget","isGrouped","newFilteredOptions","menuOptionsFiltered","noChildOptionsWhenFiltered","triggerLoading","timeout","timedOut","find","handleSearchableSelectInput","target","debounceAriaLiveUpdate","updateSearchableSelectResultAriaLive","searchableSelectResultsStatusEl","innerText","updateMultiSelectedCountAriaLive","multiSelectSelectedCountEl","selectedCount","getOptionsWithoutGroupTitlesCount","getDefaultValue","setDefaultValue","onFocus","icFocus","onBlur","tagName","isSearchableAndNoFocusedInternalElements","from","querySelectorAll","clearButton","icBlur","onTimeoutBlur","handleFormReset","setAttribute","watchDisabledHandler","removeDisabledFalse","loadingHandler","watchOptionsHandler","debounceChangedHandler","updateOnChangeDebounce","valueChangedHandler","openChangedHandler","icOpen","icClose","disconnectedCallback","removeFormResetListener","disconnect","componentWillLoad","valueInOptions","inheritAttributes","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","MutationObserver","observe","attributes","childList","componentDidRender","setFocus","debounceAria","render","renderHiddenInput","invalid","IcInformationStatus","Error","describedBy","getInputDescribedByText","hasValidationStatus","trim","showLeftIcon","optionsSelectedCount","valueLabelString","isClearable","h","Host","class","for","ref","anchorEl","slot","isMobileOrTablet","onChange","id","onKeyDown","form","selected","role","autocomplete","undefined","onInput","onClick","innerHTML","Clear","variant","onMouseDown","Expand","inputEl","inputLabel","onMenuStateChange","onMenuOptionSelect","onMenuOptionSelectAll","onMenuKeyPress","onUngroupedOptionsSet","onRetryButtonClicked","parentEl","activationType","closeOnSelect","ariaLiveMode","status","message"],"sources":["src/components/ic-select/ic-select.css?tag=ic-select&encapsulation=shadow","src/components/ic-select/ic-select.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --input-width: Width of the input field\n * @prop --menu-width: Width of the dropdown menu\n * @prop --ic-z-index-menu: z-index of select menu\n */\n\n:host {\n display: block;\n position: relative;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xxs);\n --menu-max-height: 100px;\n --border-color: var(--ic-select-field-border);\n --border-color-hover: var(--ic-select-field-border-hover);\n --border-color-pressed: var(--ic-select-field-border-pressed);\n --border-color-disabled: var(--ic-select-field-border-disabled);\n --border-color-error: var(--ic-select-field-border-error);\n --border-color-error-hover: var(--ic-select-field-border-error-hover);\n --border-color-error-pressed: var(--ic-select-field-border-error-pressed);\n --border-color-success: var(--ic-select-field-border-success);\n --border-color-success-hover: var(--ic-select-field-border-success-hover);\n --border-color-success-pressed: var(--ic-select-field-border-success-pressed);\n --border-color-warning: var(--ic-select-field-border-warning);\n --border-color-warning-hover: var(--ic-select-field-border-warning-hover);\n --border-color-warning-pressed: var(--ic-select-field-border-warning-pressed);\n --ic-input-label-text-color: var(--ic-select-field-labe);\n --ic-input-label-helper-text-color: var(\n --ic-select-input-field-label-subtitle\n );\n --ic-input-validation-status-text-color: var(--ic-select-state-text);\n --ic-input-validation-error: var(--ic-select-state-icon-error);\n --ic-input-validation-warning-icon-color: var(--ic-select-state-icon-warning);\n --ic-input-validation-success-icon-color: var(--ic-select-state-icon-success);\n --menu-item-text-color: var(--ic-select-list-option-text);\n --menu-bg-color: var(--ic-select-list-option-background);\n --menu-border-color: var(--ic-select-dropdown-list-border);\n}\n\n:host(.ic-select-disabled) {\n --ic-input-label-text-color: var(--ic-select-field-label-disabled);\n --ic-input-label-helper-text-color: var(\n --ic-select-input-field-label-subtitle-disabled\n );\n}\n\n:host(.ic-select-full-width) {\n width: 100%;\n}\n\nic-input-component-container.menu-open {\n --border-color: var(--ic-select-field-border-pressed);\n}\n\nic-input-validation .status-icon,\nic-input-validation .statustext {\n visibility: visible;\n}\n\nic-input-validation.menu-open .status-icon,\nic-input-validation.menu-open .statustext {\n visibility: hidden;\n transition: visibility 0s;\n}\n\nic-input-label {\n margin-bottom: var(--ic-space-xs) !important;\n}\n\nselect {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-select-field-background);\n color: var(--ic-select-content-text);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n height: 100%;\n padding-left: 0.375rem;\n appearance: none;\n background-repeat: no-repeat;\n background-position: right 0.375rem center;\n background-image: var(--ic-select-mobile-dropdown-icon);\n caret-color: var(--ic-select-input-field-text-cursor);\n}\n\nselect option,\n.select-option-selected {\n color: var(--ic-select-list-option-text);\n}\n\nselect:disabled {\n color: var(--ic-select-content-text-disabled);\n background-image: var(--ic-select-mobile-dropdown-icon-disabled);\n}\n\nselect:focus {\n border: 0;\n outline: 0;\n}\n\nselect:not([disabled]) {\n cursor: pointer;\n}\n\n.select-container {\n width: 100%;\n display: flex;\n align-items: center;\n position: relative;\n}\n\n.select-input {\n width: 100%;\n height: 100%;\n padding: 0 0.375rem;\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: space-between;\n background: none;\n border: none;\n background-color: var(--ic-select-field-background);\n color: var(--ic-select-content-text);\n}\n\n.select-input:focus {\n outline: none;\n}\n\n.select-input[disabled] {\n pointer-events: none;\n}\n\n:host(.ic-select-searchable) .select-input {\n cursor: auto;\n}\n\n.select-input.with-clear-button {\n padding-right: 0;\n}\n\n.value-text {\n max-width: calc(100% - (var(--ic-space-lg) + var(--ic-space-xxs)));\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n margin-bottom: 0 !important;\n}\n\n.value-text.with-clear-button {\n padding-right: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n.searchable-select-container {\n align-items: center;\n display: flex;\n width: 100%;\n position: relative;\n}\n\n.expand-icon {\n height: var(--ic-space-lg);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-select-expand-icon-color);\n}\n\n.expand-icon > svg {\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-select-disabled) .expand-icon,\n:host(.ic-select-disabled) .expand-icon > svg > path {\n color: var(--ic-select-disabled-expand-icon-color);\n}\n\n:host(.ic-select-searchable) .expand-icon {\n padding-left: 0;\n height: 2.25rem;\n}\n\n:host(.ic-select-searchable) .expand-icon > svg {\n height: 2.25rem;\n padding: 0 calc(var(--ic-space-xxxs) + var(--ic-space-xxs)) 0\n var(--ic-space-xxs);\n}\n\n:host(.ic-select-searchable:not(.ic-select-disabled)) .expand-icon > svg {\n cursor: pointer;\n}\n\n.expand-icon-open {\n color: var(--ic-select-expand-icon-color);\n}\n\n.expand-icon-open,\n:host(.ic-select-searchable) .expand-icon-open {\n transform: rotateX(180deg);\n}\n\n:host(.ic-select-disabled) .value-text,\n:host(.ic-select-disabled) .select-input,\n.placeholder {\n color: var(--ic-select-content-placeholder-text);\n}\n\n.select-input-end {\n display: flex;\n align-items: center;\n}\n\n.clear-button-container {\n display: flex;\n align-items: center;\n}\n\n.divider {\n width: var(--ic-space-1px);\n background-color: var(--ic-select-content-divider);\n margin: var(--ic-space-xxs) 0;\n border-radius: var(--ic-space-1px);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-select-small) .divider {\n height: var(--ic-space-md);\n}\n\n:host(.ic-select-large) .divider {\n height: var(--ic-space-xl);\n}\n\n.clear-button {\n color: var(--ic-select-clear-button);\n position: absolute;\n right: calc(var(--ic-space-xl) + var(--ic-space-xxs) - var(--ic-space-1px));\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus,\n.clear-button:active {\n background-color: var(--ic-color-focus-inner);\n box-shadow: inset 0 0 0 0.125rem var(--ic-color-focus-outer);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus,\n.clear-button:active * {\n fill: var(--ic-atoms-input-clear-button-focus);\n}\n\n.clear-button.searchable {\n position: static;\n}\n\n.searchable-select-results-status,\n.multi-select-selected-count {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-select-content-placeholder-text);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-select-content-text);\n}\n\n.readonly ::slotted([slot=\"icon\"]) {\n padding: 0.375rem;\n margin-bottom: 0.75rem;\n}\n\n@media (forced-colors: active) {\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n h,\n State,\n Watch,\n forceUpdate,\n} from \"@stencil/core\";\n\nimport {\n getInputDescribedByText,\n getLabelFromValue,\n hasValidationStatus,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n isMobileOrTablet,\n getFilteredMenuOptions,\n getOptionsWithoutGroupTitlesCount,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcMenuOption,\n IcSearchMatchPositions,\n IcMultiValueEventDetail,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\nimport { IcOptionSelectEventDetail } from \"../ic-menu/ic-menu.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"tabindex\", \"title\"];\n\n/**\n * @slot icon - Content will be placed to the left of the select text input.\n */\n@Component({\n tag: \"ic-select\",\n styleUrl: \"ic-select.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Select {\n private anchorEl?: HTMLElement;\n private blurredBecauseButtonPressed: boolean;\n private characterKeyPressTimer: number;\n private clearButton?: HTMLIcButtonElement;\n private customSelectElement?: HTMLButtonElement;\n private debounceAria: number;\n private hasSetDefaultValue = false;\n private hasTimedOut: boolean;\n private inheritedAttributes: { [k: string]: string } = {};\n private initialOptionsEmpty = false;\n private inputId = `ic-select-input-${inputIds++}`;\n private menu?: HTMLIcMenuElement;\n private menuId = `${this.inputId}-menu`;\n private nativeSelectElement?: HTMLSelectElement;\n private retryButtonClick: boolean;\n private searchableMenuItemSelected: boolean = false;\n private searchableSelectElement?: HTMLInputElement;\n private timeoutTimer: number;\n private ungroupedOptions: IcMenuOption[] = [];\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el!: HTMLIcSelectElement;\n\n @State() ariaActiveDescendant: string;\n @State() clearButtonFocused: boolean = false;\n @State() debounceIcInput: number;\n @State() hiddenInputValue: string | null;\n @State() noOptions: IcMenuOption[] | null = null;\n @State() open: boolean = false;\n @State() pressedCharacters: string = \"\";\n @State() searchableSelectInputValue: string | null = null;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop({ reflect: true }) disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.\n */\n @Prop() disableAutoFiltering?: boolean = false;\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText?: string = \"No results found\";\n\n /**\n * The <form> element to associate the select with.\n */\n @Prop() form?: string;\n\n /**\n * If `true`, the select will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeDescriptionsInSearch?: boolean = false;\n\n /**\n * If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeGroupTitlesInSearch?: boolean = false;\n\n /**\n * The label for the select.\n */\n @Prop() label!: string;\n\n /**\n * The message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel?: string = \"Loading Error\";\n\n /**\n * The message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel?: string = \"Loading...\";\n\n /**\n * If `true`, multiple options can be selected.\n */\n @Prop() multiple?: boolean = false;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder?: string = \"Select an option\";\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * If `true`, the select will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options. This functionality is only available on the single-select variant of the select component.\n */\n @Prop() searchable?: boolean = false;\n\n /**\n * Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\n */\n @Prop() searchMatchPosition?: IcSearchMatchPositions = \"anywhere\";\n\n /**\n * If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown on the single select.\n */\n @Prop() selectOnEnter?: boolean = false;\n\n /**\n * If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\n */\n @Prop() showClearButton?: boolean = false;\n\n /**\n * The size of the select.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\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 validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * If `true`, the loading state will be triggered when fetching options asynchronously.\n */\n @Prop({ mutable: true }) loading?: boolean = false;\n\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n newValue && this.triggerLoading();\n }\n\n /**\n * The possible selection options.\n */\n @Prop() options?: IcMenuOption[] = [];\n @State() filteredOptions: IcMenuOption[] = this.options!;\n @State() uniqueOptions: IcMenuOption[] = this.options!;\n\n @Watch(\"options\")\n watchOptionsHandler(): void {\n if (!this.hasTimedOut && this.options !== this.noOptions) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (this.isExternalFiltering()) {\n // When searchable select\n if (this.options!.length > 0) {\n this.setOptionsValuesFromLabels();\n this.noOptions = null;\n this.uniqueOptions = this.deduplicateOptions(this.options!);\n this.filteredOptions = this.uniqueOptions;\n } else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n this.filteredOptions = this.noOptions;\n }\n this.updateSearchableSelectResultAriaLive();\n this.setDefaultValue();\n } else {\n this.setOptionsValuesFromLabels();\n this.uniqueOptions = this.deduplicateOptions(this.options!);\n this.filteredOptions = this.uniqueOptions;\n if (this.initialOptionsEmpty) {\n this.setDefaultValue();\n this.initialOptionsEmpty = false;\n }\n }\n } else {\n if (!this.searchable) {\n this.options = this.noOptions || [];\n }\n }\n }\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icInput` event after each keystroke.\n */\n @Prop() debounce?: number = 0;\n @State() currDebounce = this.debounce;\n\n @Watch(\"debounce\")\n debounceChangedHandler(newValue: number): void {\n this.updateOnChangeDebounce(newValue);\n }\n\n /**\n * The value of the select, reflected by the value of the currently selected option.\n * For the searchable variant, the value is also reflected by the user input.\n * For the multi-select variant, the value must be an array of option values.\n */\n @Prop({ mutable: true }) value?: string | string[] | null;\n @State() initialValue = this.value;\n @State() inputValueToFilter: string | null = this.value as string;\n @State() currValue?: string | string[] | null;\n\n @Watch(\"value\")\n valueChangedHandler(): void {\n if (this.value !== this.currValue) {\n if (this.value && this.multiple) {\n this.currValue = this.getMultipleOptionsString(this.value as string[])\n ? this.getValueSortedByOptions(this.value as string[])\n : null;\n this.updateMultiSelectedCountAriaLive();\n } else {\n this.currValue = this.getLabelFromValue(this.value as string)\n ? this.value\n : null;\n }\n }\n\n if (this.searchable && this.value) {\n // Only set if value not null - prevents whole input value being cleared when edited\n this.searchableSelectInputValue =\n this.getLabelFromValue(String(this.currValue)) || null;\n }\n }\n\n @Watch(\"open\")\n openChangedHandler(): void {\n this.open ? this.icOpen.emit() : this.icClose.emit();\n }\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() icBlur: EventEmitter<void>;\n\n /**\n * Emitted when the value changes.\n */\n @Event() icChange: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Emitted when the clear or clear all button is clicked.\n */\n @Event() icClear: EventEmitter<void>;\n\n /**\n * Emitted when the select options menu is closed.\n */\n @Event() icClose: EventEmitter<void>;\n\n /**\n * Emitted when the select gains focus.\n */\n @Event() icFocus: EventEmitter<void>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Emitted when the select options menu is opened.\n */\n @Event() icOpen: EventEmitter<void>;\n\n /**\n * Emitted when an option is selected.\n * Selecting an option will also trigger an `icChange/onIcChange` due to the value being updated.\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when `multiple` is `true` and an option is deselected.\n */\n @Event() icOptionDeselect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when the 'retry loading' button is clicked for a searchable variant.\n */\n @Event() icRetryLoad: EventEmitter<IcMultiValueEventDetail>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n const valueInOptions = this.multiple\n ? this.getMultipleOptionsString(this.value as string[])\n : this.getLabelFromValue(this.value as string);\n this.currValue = valueInOptions ? this.value : null;\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n\n removeDisabledFalse(this.disabled, this.el);\n\n this.setOptionsValuesFromLabels();\n\n addFormResetListener(this.el, this.handleFormReset);\n\n if (!this.options!.length) {\n this.initialOptionsEmpty = true;\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n this.filteredOptions = this.noOptions;\n } else {\n this.setDefaultValue();\n this.uniqueOptions = this.deduplicateOptions(this.options!);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Select\"\n );\n\n if (this.loading) {\n this.triggerLoading();\n }\n\n if (this.searchable) {\n this.hiddenInputValue = this.currValue as string;\n }\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n }\n\n componentDidRender(): void {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n }\n\n /**\n * Sets focus on the input box.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.focus();\n } else if (this.customSelectElement) {\n this.customSelectElement.focus();\n } else if (this.searchableSelectElement) {\n this.searchableSelectElement.focus();\n }\n }\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n private handleRetry = (ev: CustomEvent<IcMultiValueEventDetail>) => {\n if (ev.detail.keyPressed) this.searchableSelectElement?.focus();\n this.blurredBecauseButtonPressed = true;\n this.retryButtonClick = true;\n this.hasSetDefaultValue = true;\n this.icRetryLoad.emit({\n value: this.searchable\n ? this.searchableSelectInputValue\n : this.hiddenInputValue,\n });\n };\n\n private updateOnChangeDebounce(newValue: number) {\n if (this.currDebounce !== newValue) {\n this.currDebounce = newValue;\n }\n }\n\n private emitIcChange = (value: string | string[] | null) => {\n // If \"Select all\" button clicked, replace value with new value (array of all option values)\n if (this.multiple && !Array.isArray(value) && value !== null) {\n this.handleMultipleSelectChange(String(value));\n } else {\n this.value = value;\n }\n\n const valueToEmit = this.multiple ? this.value : value;\n this.icChange.emit({ value: valueToEmit || null });\n };\n\n private emitIcInput = (value: string) => {\n clearTimeout(this.debounceIcInput);\n this.debounceIcInput = window.setTimeout(\n () => this.icInput.emit({ value }),\n this.currDebounce\n );\n };\n\n /**\n * Processes the provided array of IcMenuOptions, removing duplicates and reporting them with a console.warn\n * @param options array of IcMenuOptions\n * @returns a new options object, with all entries possessing a duplicate 'value' field removed\n */\n private deduplicateOptions = (options: IcMenuOption[]): IcMenuOption[] => {\n const uniqueValues: string[] = [];\n const dedupedOptions: IcMenuOption[] = [];\n let dedupedChildren: IcMenuOption[];\n\n options.forEach((option: IcMenuOption) => {\n if (option.children) {\n //If an option has children, we will loop through them\n dedupedChildren = [];\n option.children.forEach((child) => {\n if (uniqueValues.includes(child.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${child.value}) which has been removed.`\n );\n } else {\n uniqueValues.push(child.value);\n dedupedChildren.push(child);\n }\n });\n // construct a modified option, inserting the deduplicated children alongside the original information\n const modifiedParent: IcMenuOption = {\n ...option,\n children: dedupedChildren,\n };\n dedupedOptions.push(modifiedParent);\n } else {\n // If an option does not have children, assess to see if it's value has been included already\n if (uniqueValues.includes(option.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${option.value}) which has been removed.`\n );\n } else {\n uniqueValues.push(option.value);\n dedupedOptions.push(option);\n }\n }\n });\n return dedupedOptions;\n };\n\n /**\n * Loop through options array and for all options with no value, infer it from the label\n */\n private setOptionsValuesFromLabels = (): void => {\n if (this.options!.length > 0) {\n this.options!.map((option) => {\n if (!option.value) {\n option.value = option.label;\n }\n });\n }\n };\n\n private setUngroupedOptions = (event: CustomEvent): void => {\n this.ungroupedOptions = event.detail.options;\n };\n\n private setTextColor = (): void => {\n if (this.nativeSelectElement) {\n if (this.nativeSelectElement.selectedIndex === 0) {\n this.nativeSelectElement.className = \"placeholder\";\n } else {\n this.nativeSelectElement.className = \"select-option-selected\";\n }\n }\n };\n\n private setMenuChange = (open: boolean) => {\n if (this.open !== open) {\n this.open = open;\n }\n };\n\n private getLabelFromValue = (value: string): string | undefined => {\n return getLabelFromValue(value, this.uniqueOptions);\n };\n\n private getMultipleOptionsString = (selectedValues: string[]) => {\n const selectedLabels = selectedValues\n ?.map((value) => this.getLabelFromValue(value))\n .filter((label) => !!label);\n return selectedLabels?.join(\", \");\n };\n\n private getFilteredChildMenuOptions = (option: IcMenuOption) => {\n let children = option.children;\n\n if (option.children) {\n if (this.searchable) {\n children = getFilteredMenuOptions(\n option.children,\n !!this.includeDescriptionsInSearch,\n this.searchableSelectInputValue || \"\",\n this.searchMatchPosition\n );\n } else {\n children = getFilteredMenuOptions(\n option.children,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n }\n\n const newOption = { ...option };\n newOption.children = children;\n return newOption;\n };\n\n // (For multi-select) get value array, i.e. selected option values, in order they appear in option list\n private getValueSortedByOptions = (value: string[]) => {\n const valueArray = value;\n const valuesFromAllOptions = this.ungroupedOptions.map(\n (option) => option.value\n );\n\n valueArray.sort(\n (a, b) =>\n valuesFromAllOptions.indexOf(a) - valuesFromAllOptions.indexOf(b)\n );\n\n return valueArray;\n };\n\n private handleNativeSelectChange = (): void => {\n if (this.nativeSelectElement) {\n this.icOptionSelect.emit({ value: this.nativeSelectElement.value });\n this.emitIcChange(this.nativeSelectElement.value);\n }\n this.setTextColor();\n };\n\n // Handle option select for when a custom input box and menu is rendered\n // (rather than native <select> - rendered when viewed on a mobile / tablet screen)\n private handleCustomSelectChange = (event: CustomEvent): void => {\n const value = event.detail.value;\n\n if (event.detail.label === this.emptyOptionListText) {\n this.searchableSelectElement?.focus();\n return;\n }\n\n if (this.searchable) {\n this.value = value;\n this.searchableMenuItemSelected = true;\n\n // After editing the input, if selecting the same option as before, set the input value to label again\n if (this.value === this.currValue) {\n this.searchableSelectInputValue =\n this.getLabelFromValue(this.value as string) || null;\n }\n\n this.inputValueToFilter = null;\n this.hiddenInputValue =\n this.getValueFromLabel(this.searchableSelectInputValue) || null;\n }\n\n if (this.multiple && this.value?.includes(value)) {\n this.icOptionDeselect.emit({ value });\n } else {\n this.icOptionSelect.emit({ value });\n }\n\n this.ariaActiveDescendant = event.detail.optionId;\n this.emitIcChange(value);\n };\n\n // Update selected options - adds / removes them, in order of option list\n // Create new array if value prop is undefined\n private handleMultipleSelectChange = (value: string) => {\n if (this.value) {\n let valueArray = (this.value as string[]).slice();\n\n if (this.value.includes(value)) {\n const valueIndex = valueArray.indexOf(value);\n valueArray.splice(valueIndex, 1);\n } else {\n valueArray.push(value);\n valueArray = this.getValueSortedByOptions(valueArray);\n }\n\n this.value = valueArray.length === 0 ? null : valueArray;\n } else {\n const valueArray = [];\n valueArray.push(value);\n this.value = valueArray;\n }\n };\n\n private handleSelectAllChange = (event: CustomEvent) => {\n const selectAllOptions = event.detail.select;\n const allEnabledOptions = this.ungroupedOptions.filter(\n (option) => !option.disabled\n );\n const allValues = allEnabledOptions.map((option) => option.value);\n let newValue: string[] | null;\n\n if (selectAllOptions) {\n let unselectedValues;\n\n // Only emit icOptionSelect for all values that are newly selected\n if (this.value) {\n unselectedValues = allValues.filter(\n (value) => this.value && !(this.value as string[]).includes(value)\n );\n } else {\n unselectedValues = allValues;\n }\n\n unselectedValues.forEach((value) => this.icOptionSelect.emit({ value }));\n newValue = allValues;\n } else {\n // Only emit icOptionDeselect for values that were selected\n (this.value as string[]).forEach((value) =>\n this.icOptionDeselect.emit({ value })\n );\n newValue = null;\n }\n\n this.emitIcChange(newValue);\n };\n\n private handleMenuChange = (event: CustomEvent): void => {\n this.open = event.detail.open;\n this.pressedCharacters = \"\";\n\n this.searchable && this.handleFocusIndicatorDisplay();\n };\n\n // clears the debounce delay when navigating the menu with arrow keys etc\n // to prevent delay in change event, which should only occur when typing in input\n private handleMenuKeyPress = (ev: CustomEvent): void => {\n ev.cancelBubble = true;\n if (!this.multiple) {\n this.handleCharacterKeyDown(ev.detail.key);\n }\n };\n\n private handleFocusIndicatorDisplay = () => {\n const focusIndicator =\n this.el.shadowRoot?.querySelector(\".focus-indicator\");\n\n if (focusIndicator) {\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n } else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\n }\n }\n };\n\n private handleMouseDown = (event: Event): void => {\n if (!this.open) {\n event.preventDefault();\n }\n };\n\n private isExternalFiltering = (): boolean =>\n this.searchable! && !!this.disableAutoFiltering;\n\n private handleClick = (event: MouseEvent): void => {\n if (!this.open && this.menu) {\n if (this.isExternalFiltering()) {\n this.menu.options = this.filteredOptions;\n } else if (\n !this.hasTimedOut &&\n !this.loading &&\n !this.noOptions?.length &&\n (!this.searchable || this.searchableMenuItemSelected)\n ) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n\n if (event.detail !== 0) {\n this.menu?.handleClickOpen();\n }\n };\n\n private handleExpandIconMouseDown = (event: MouseEvent) => {\n if (!this.disabled) {\n event.preventDefault();\n this.searchableSelectElement?.focus();\n this.handleClick(event);\n }\n };\n\n private handleClear = (event: Event): void => {\n event.stopPropagation();\n this.hasTimedOut = false;\n clearTimeout(this.timeoutTimer);\n this.clearInput();\n this.emitIcChange(null);\n this.icClear.emit();\n\n if (this.searchable) {\n this.hiddenInputValue = null;\n this.searchableSelectElement?.focus();\n } else {\n this.customSelectElement?.focus();\n }\n };\n\n private handleCharacterKeyDown = (key: string) => {\n // Only close menu when space is pressed if not being used alongside character keys to quickly select options\n if (\n this.open &&\n key === \" \" &&\n this.pressedCharacters.length === 0 &&\n !this.hasTimedOut &&\n !this.loading\n ) {\n this.setMenuChange(false);\n }\n\n if (key.length === 1 && !this.searchable) {\n window.clearTimeout(this.characterKeyPressTimer);\n this.characterKeyPressTimer = window.setTimeout(\n () => (this.pressedCharacters = \"\"),\n 1000\n );\n\n if (!(key === \" \" && !this.pressedCharacters)) {\n this.pressedCharacters += key;\n this.handleFilter();\n\n if (!this.noOptions) {\n this.emitIcChange(this.filteredOptions[0].value);\n }\n }\n } else {\n this.pressedCharacters = \"\";\n }\n };\n\n private handleNativeSelectKeyDown = (event: KeyboardEvent) => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n this.handleCharacterKeyDown(event.key);\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n const isArrowKey = event.key === \"ArrowDown\" || event.key === \"ArrowUp\";\n\n if (this.menu && !this.open) {\n if (this.isExternalFiltering() && (event.key === \"Enter\" || isArrowKey)) {\n this.menu.options = this.filteredOptions;\n } else {\n if (!this.hasTimedOut) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n }\n\n if (this.open && event.key === \"Enter\") {\n this.setMenuChange(false);\n } else {\n if (!(isArrowKey && this.noOptions !== null)) {\n if (!(event.key === \" \" && this.pressedCharacters.length > 0)) {\n // Keyboard events get passed onto ic-menu\n this.menu?.handleKeyboardOpen(event);\n }\n if (!this.multiple) {\n this.handleCharacterKeyDown(event.key);\n }\n }\n }\n };\n\n private handleClearButtonFocus = (): void => {\n this.clearButtonFocused = true;\n };\n\n private handleClearButtonBlur = (ev: FocusEvent): void => {\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n if (\n !(\n this.searchableSelectElement &&\n ev.relatedTarget === this.searchableSelectElement\n ) &&\n !(retryButton && ev.relatedTarget === retryButton)\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n }\n this.clearButtonFocused = false;\n };\n\n private handleFilter = (): void => {\n const options = this.deduplicateOptions(\n this.searchable ? [...this.uniqueOptions] : this.ungroupedOptions\n );\n\n let isGrouped = false;\n let newFilteredOptions: IcMenuOption[] = [];\n\n options.map((option) => {\n if (option.children) isGrouped = true;\n });\n\n let menuOptionsFiltered: IcMenuOption[];\n\n if (this.searchable) {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n !!this.includeDescriptionsInSearch,\n this.inputValueToFilter || \"\",\n this.searchMatchPosition\n );\n this.searchableMenuItemSelected = false;\n } else {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n\n if (\n !isGrouped &&\n menuOptionsFiltered[0]?.label !== this.emptyOptionListText\n ) {\n newFilteredOptions = menuOptionsFiltered;\n } else if (isGrouped) {\n options.map((option) => {\n if (this.includeGroupTitlesInSearch) {\n if (menuOptionsFiltered.indexOf(option) !== -1) {\n newFilteredOptions.push(option);\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n });\n }\n\n let noChildOptionsWhenFiltered = false;\n\n if (isGrouped) {\n noChildOptionsWhenFiltered = true;\n newFilteredOptions.map((option) => {\n if (option.children && option.children.length > 0) {\n noChildOptionsWhenFiltered = false;\n }\n });\n }\n\n if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {\n this.noOptions = null;\n this.filteredOptions = newFilteredOptions;\n } else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.filteredOptions = this.noOptions;\n }\n };\n\n /**\n * Put the select component into loading state.\n * Replace options with the loading message. If timeout is enabled, set the timeout and once passed, replace options with the loading error message\n */\n private triggerLoading = () => {\n this.hasTimedOut = false;\n this.noOptions = [{ label: this.loadingLabel, value: \"\", loading: true }];\n if (this.filteredOptions !== this.noOptions && this.searchable) {\n this.filteredOptions = this.noOptions;\n } else if (this.uniqueOptions !== this.noOptions && !this.searchable) {\n this.uniqueOptions = this.noOptions;\n }\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.loading = false;\n this.hasTimedOut = true;\n this.noOptions = [\n { label: this.loadingErrorLabel, value: \"\", timedOut: true },\n ];\n this.filteredOptions = this.noOptions;\n if (!this.searchable) this.uniqueOptions = this.noOptions;\n }, this.timeout);\n }\n };\n\n private getValueFromLabel = (label: string | null): string | undefined => {\n return (\n label &&\n this.uniqueOptions.find((option) => option.label === label)?.value\n );\n };\n\n private handleSearchableSelectInput = (event: Event): void => {\n this.searchableSelectInputValue = (event.target as HTMLInputElement).value;\n this.emitIcInput(this.searchableSelectInputValue);\n\n // De-select previous selection when input is edited\n // Only emit icChange once when editing input\n if (this.value != null) {\n this.emitIcChange(null);\n }\n\n this.hiddenInputValue = null;\n this.inputValueToFilter = this.searchableSelectInputValue;\n this.setMenuChange(true);\n\n if (!this.disableAutoFiltering) {\n this.handleFilter();\n this.debounceAriaLiveUpdate();\n }\n };\n\n private updateSearchableSelectResultAriaLive = (): void => {\n const searchableSelectResultsStatusEl = this.el.shadowRoot?.querySelector(\n \".searchable-select-results-status\"\n ) as HTMLDivElement;\n\n if (searchableSelectResultsStatusEl) {\n if (this.noOptions !== null) {\n searchableSelectResultsStatusEl.innerText = this.emptyOptionListText!;\n } else {\n searchableSelectResultsStatusEl.innerText = \"\";\n }\n }\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAria);\n\n window.setTimeout(() => {\n this.updateSearchableSelectResultAriaLive();\n }, 800);\n }\n\n private updateMultiSelectedCountAriaLive = (): void => {\n const multiSelectSelectedCountEl = this.el.shadowRoot?.querySelector(\n \".multi-select-selected-count\"\n ) as HTMLDivElement;\n\n const selectedCount = `${\n this.currValue?.length\n } of ${getOptionsWithoutGroupTitlesCount(this.options!)} selected`;\n\n if (\n multiSelectSelectedCountEl &&\n multiSelectSelectedCountEl.innerText !== selectedCount\n ) {\n multiSelectSelectedCountEl.innerText = selectedCount;\n }\n };\n\n private getDefaultValue = (value: string): string | null =>\n this.getLabelFromValue(value) || null;\n\n private setDefaultValue = (): void => {\n if (!this.hasSetDefaultValue && this.currValue) {\n this.searchableSelectInputValue = this.searchable\n ? this.getDefaultValue(this.currValue as string)\n : null;\n\n this.initialValue = this.currValue;\n this.hasSetDefaultValue = true;\n }\n };\n\n private onFocus = (): void => {\n this.icFocus.emit();\n };\n\n private onBlur = ({ relatedTarget }: FocusEvent): void => {\n const target = relatedTarget as HTMLElement;\n if (\n target !== null &&\n ((target.tagName === \"UL\" && target.className.includes(\"menu\")) ||\n (target.tagName === \"LI\" && target.className.includes(\"option\")))\n ) {\n return;\n }\n\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n const isSearchableAndNoFocusedInternalElements =\n this.searchable &&\n !!this.menu &&\n target !== this.menu &&\n !Array.from(this.menu.querySelectorAll(\"[role='option']\")).includes(\n target\n ) &&\n !(this.clearButton && target === this.clearButton) &&\n !(retryButton && target === retryButton);\n\n if (isSearchableAndNoFocusedInternalElements) {\n if (!this.retryButtonClick) {\n this.setMenuChange(false);\n // Clear input field on blur when searchable if no option is selected\n if (!this.value) {\n this.clearInput();\n }\n }\n this.handleFocusIndicatorDisplay();\n }\n\n this.retryButtonClick = false;\n this.icBlur.emit();\n };\n\n private onTimeoutBlur = (ev: CustomEvent) => {\n if (\n (ev.detail.ev as FocusEvent).relatedTarget !==\n this.searchableSelectElement &&\n !this.blurredBecauseButtonPressed\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n this.icBlur.emit();\n }\n this.blurredBecauseButtonPressed = false;\n };\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n if (this.searchable) {\n this.searchableSelectInputValue = this.getDefaultValue(\n this.value as string\n );\n this.hiddenInputValue = this.value as string;\n }\n };\n\n private clearInput = (): void => {\n this.noOptions = null;\n\n if (this.searchable) {\n this.searchableSelectElement?.setAttribute(\"value\", \"\");\n this.searchableSelectInputValue = null;\n this.filteredOptions = this.uniqueOptions;\n }\n };\n\n render() {\n const {\n size,\n disabled,\n fullWidth,\n helperText,\n hideLabel,\n label,\n menuId,\n multiple,\n name,\n options,\n placeholder,\n readonly,\n required,\n searchable,\n showClearButton,\n validationStatus,\n validationText,\n currValue,\n theme,\n } = this;\n\n // HTML inputs only accept 'string' for their value\n // Does not cause errors when it is a multi-select - sets value correctly, to a comma-separated string\n renderHiddenInput(\n true,\n this.el,\n name || this.inputId,\n this.searchable ? this.hiddenInputValue : (currValue as string),\n disabled\n );\n\n const invalid = `${validationStatus === IcInformationStatus.Error}`;\n\n const describedBy = getInputDescribedByText(\n this.inputId,\n helperText !== \"\",\n hasValidationStatus(this.validationStatus, !!this.disabled)\n ).trim();\n\n let showLeftIcon = !!this.el.querySelector(`[slot=\"icon\"]`);\n if (showLeftIcon && (disabled || (readonly && !this.value))) {\n showLeftIcon = false;\n }\n\n const optionsSelectedCount = `${\n currValue?.length\n } of ${getOptionsWithoutGroupTitlesCount(this.options!)} selected`;\n\n const valueLabelString = multiple\n ? this.getMultipleOptionsString(currValue as string[])\n : this.getLabelFromValue(currValue as string);\n\n const isClearable =\n !disabled &&\n (searchable\n ? this.searchableSelectInputValue\n : currValue && showClearButton);\n\n return (\n <Host\n class={{\n \"ic-select-disabled\": !!disabled,\n \"ic-select-searchable\": !!searchable,\n [`ic-select-${size}`]: size !== \"medium\",\n \"ic-select-full-width\": !!fullWidth,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n onBlur={this.onBlur}\n >\n <ic-input-container readonly={readonly}>\n {!hideLabel && (\n <ic-input-label\n for={this.inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n readonly={readonly}\n ></ic-input-label>\n )}\n <ic-input-component-container\n ref={(el) => (this.anchorEl = el)}\n class={{ \"menu-open\": this.open }}\n size={size}\n fullWidth={fullWidth}\n disabled={disabled}\n readonly={readonly}\n validationStatus={validationStatus}\n >\n {showLeftIcon && (\n <span\n slot=\"left-icon\"\n class={{\n [\"readonly\"]: !!readonly,\n [\"has-value\"]: !!this.value,\n }}\n >\n <slot name=\"icon\" />\n </span>\n )}\n {readonly ? (\n <ic-typography>\n <p>{valueLabelString}</p>\n </ic-typography>\n ) : isMobileOrTablet() && !multiple ? (\n <select\n ref={(el) => (this.nativeSelectElement = el)}\n disabled={disabled}\n onChange={this.handleNativeSelectChange}\n required={required}\n id={this.inputId}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onKeyDown={this.handleNativeSelectKeyDown}\n form={this.form}\n {...this.inheritedAttributes}\n >\n <option value=\"\" selected disabled={!showClearButton}>\n {placeholder}\n </option>\n {options!.map((option) => {\n if (option.children) {\n return (\n <optgroup label={option.label}>\n {option.children.map((option) => (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === currValue}\n >\n {option.label}\n </option>\n ))}\n </optgroup>\n );\n } else {\n return (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === currValue}\n >\n {option.label}\n </option>\n );\n }\n })}\n </select>\n ) : searchable ? (\n <div class=\"searchable-select-container\">\n <input\n class={{\n \"select-input\": true,\n \"with-clear-button\": !!this.searchableSelectInputValue,\n }}\n role=\"combobox\"\n autocomplete=\"off\"\n aria-label={label}\n aria-describedby={describedBy}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-autocomplete=\"list\"\n aria-expanded={`${this.open}`}\n aria-invalid={invalid}\n aria-required={`${required}`}\n aria-controls={menuId}\n ref={(el) => (this.searchableSelectElement = el)}\n id={this.inputId}\n value={this.searchableSelectInputValue || undefined}\n placeholder={placeholder}\n disabled={disabled}\n onInput={this.handleSearchableSelectInput}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n form={this.form}\n ></input>\n {isClearable && (\n <div class=\"clear-button-container\">\n <ic-button\n id=\"clear-button\"\n ref={(el) => (this.clearButton = el)}\n aria-label={\n this.searchableSelectInputValue && currValue === null\n ? \"Clear input\"\n : \"Clear selection\"\n }\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={size}\n variant=\"icon\"\n theme={this.clearButtonFocused ? \"light\" : \"dark\"}\n ></ic-button>\n <div class=\"divider\"></div>\n </div>\n )}\n <span\n onMouseDown={this.handleExpandIconMouseDown}\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"searchable-select-results-status\"\n ></div>\n </div>\n ) : (\n <div class=\"select-container\">\n <button\n class=\"select-input\"\n ref={(el) => (this.customSelectElement = el)}\n id={this.inputId}\n aria-label={`${label}, ${\n (multiple && currValue\n ? `${optionsSelectedCount}, ${valueLabelString}`\n : valueLabelString) || placeholder\n }${required ? \", required\" : \"\"}`}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-haspopup=\"listbox\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-owns={menuId}\n aria-controls={menuId}\n disabled={disabled}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onClick={this.handleClick}\n onMouseDown={this.handleMouseDown}\n onKeyDown={this.handleKeyDown}\n >\n <ic-typography\n variant=\"body\"\n class={{\n \"value-text\": true,\n \"with-clear-button\": !!isClearable,\n placeholder: multiple\n ? !this.value || this.value.length < 1\n : !this.getLabelFromValue(currValue as string),\n }}\n >\n {valueLabelString || placeholder}\n </ic-typography>\n <div class=\"select-input-end\">\n {isClearable && <div class=\"divider\"></div>}\n <span\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n </div>\n </button>\n {isClearable && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear selection\"\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={size}\n variant=\"icon\"\n theme={this.clearButtonFocused ? \"light\" : \"dark\"}\n ></ic-button>\n )}\n </div>\n )}\n </ic-input-component-container>\n {(!isMobileOrTablet() || multiple) && (\n <ic-menu\n class={{\n \"no-results\":\n this.loading ||\n this.hasTimedOut ||\n (this.noOptions !== null &&\n this.noOptions[0] &&\n this.noOptions[0].label === this.emptyOptionListText),\n }}\n ref={(el) => (this.menu = el)}\n inputEl={\n (searchable\n ? this.searchableSelectElement\n : this.customSelectElement)!\n }\n inputLabel={label}\n anchorEl={this.anchorEl!}\n size={size}\n menuId={menuId}\n open={this.open}\n options={searchable ? this.filteredOptions : this.uniqueOptions}\n value={multiple ? (currValue as string[]) : (currValue as string)}\n fullWidth={fullWidth}\n selectOnEnter={this.selectOnEnter}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionSelect={this.handleCustomSelectChange}\n onMenuOptionSelectAll={this.handleSelectAllChange}\n onMenuKeyPress={this.handleMenuKeyPress}\n onUngroupedOptionsSet={this.setUngroupedOptions}\n onRetryButtonClicked={this.handleRetry}\n parentEl={this.el}\n onTimeoutBlur={this.onTimeoutBlur}\n activationType={\n this.searchable || multiple || this.selectOnEnter\n ? \"manual\"\n : \"automatic\"\n }\n closeOnSelect={!multiple}\n ></ic-menu>\n )}\n {this.multiple && (\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"multi-select-selected-count\"\n ></div>\n )}\n {hasValidationStatus(this.validationStatus, !!this.disabled) && (\n <ic-input-validation\n class={{ \"menu-open\": this.open }}\n ariaLiveMode=\"polite\"\n status={validationStatus}\n message={validationText || \"\"}\n for={this.inputId}\n ></ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,c as e,h as i,H as o,g as r}from"./p-8e4e97b4.js";import{d as s,r as n,b as a,i as c}from"./p-269f841d.js";import{C as u}from"./p-c2e091d7.js";import{C as l}from"./p-3b185c32.js";const p='/*! 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}li{list-style:none;padding:0}:host ::part(button){color:var(--ic-popover-menu-item-check);--ic-typography-color:var(--ic-popover-menu-item-check);padding:calc(var(--ic-space-xxxs) / 2);display:flex;align-items:flex-start;gap:var(--ic-space-xs);border-radius:0;min-height:2.5rem;height:auto}.focus-border{display:flex;align-items:flex-start;gap:var(--ic-space-xs);border-radius:var(--ic-border-radius);margin:calc(var(--ic-space-xxxs) / 2);padding:var(--ic-space-xxs);border:var(--ic-space-xxxs) dashed transparent;--icon-height:auto}:host(.ic-menu-item-disabled) ::part(button){color:var(--ic-popover-menu-item-check-disabled) !important;--ic-typography-color:var(--ic-popover-menu-item-check-disabled) !important;pointer-events:none}:host(.ic-menu-item-disabled) .menu-item-label,:host(.ic-menu-item-disabled) .shortcut,:host(.ic-menu-item-disabled) .menu-item-description{--ic-typography-color:var(--ic-popover-menu-item-label-disabled) !important}:host([variant="destructive"]) ::part(button){color:var(--ic-popover-menu-destructive-item-icon);--ic-typography-color:var(--ic-popover-menu-destructive-item-label)}:host ::part(button):hover{background-color:var(--ic-popover-background-hover)}:host ::part(button):focus-visible,:host ::part(button):focus{color:var(--ic-popover-menu-item-icon-focused);--ic-typography-color:purple;background-color:var(--ic-popover-background-focus);box-shadow:none}:host(.ic-menu-item-disabled) ::part(button):focus-visible,:host(.ic-menu-item-disabled) ::part(button):focus{color:var(--ic-popover-menu-item-icon-disabled) !important;--ic-typography-color:orange !important}:host([variant="destructive"]) ::part(button):focus-visible,:host([variant="destructive"]) ::part(button):focus{background-color:var(--ic-popover-destructive-background-focus)}ic-button:focus-within .menu-item-label,ic-button:focus-within .shortcut,ic-button:focus-within .menu-item-description{--ic-typography-color:var(--ic-popover-menu-item-label-focused)}:host(.ic-menu-item-disabled) ic-button:focus-within .focus-border{border-color:var(--ic-popover-menu-border)}:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-label,:host(.ic-menu-item-disabled) ic-button:focus-within .shortcut,:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-description{--ic-typography-color:var(--ic-popover-menu-item-label-disabled) !important}:host ::part(button):active{background-color:var(--ic-popover-background-pressed);color:var(--ic-popover-menu-item-label) !important;--ic-typography-color:var(--ic-popover-menu-item-label) !important}:host([variant="destructive"]) ::part(button):active{background-color:var(--ic-popover-background-pressed);color:var(--ic-popover-menu-destructive-item-label) !important;--ic-typography-color:var(\n --ic-popover-menu-destructive-item-label\n ) !important}.menu-item-info{display:flex;flex-direction:column;flex:1;align-items:baseline;white-space:pre-line;text-align:left}.menu-labels{display:flex;align-items:baseline;gap:var(--ic-space-xs)}.menu-item-description{--ic-typography-color:var(--ic-popover-menu-item-description)}.shortcut{--ic-typography-color:var(--ic-popover-menu-item-shortcut);display:flex;flex:min-content}:host([variant="destructive"]) .menu-item-label{text-transform:uppercase;font-weight:600;letter-spacing:0.025em}ic-button:active .menu-item-label{--ic-typography-color:var(--ic-popover-menu-item-label)}ic-button:active .menu-item-description{--ic-typography-color:var(--ic-popover-menu-item-description)}ic-button:active .shortcut{--ic-typography-color:var(--ic-popover-menu-item-shortcut)}:host([variant="destructive"]) ic-button:active .menu-item-label{--ic-typography-color:var(\n --ic-popover-menu-destructive-item-label\n ) !important}.icon,.check-icon,.submenu-icon,.icon ::slotted(svg),.check-icon svg,.submenu-icon svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}.check-icon.hide{visibility:hidden}@media (forced-colors: active){:host ::part(button){border:canvas}:host ::part(button):focus-visible{outline:var(--ic-space-xxxs) solid transparent}.focus-border{border-color:canvas}:host(.ic-menu-item-disabled) ic-button:focus-within .focus-border{border-color:GrayText}:host(.ic-menu-item-disabled) .menu-item-info,:host(.ic-menu-item-disabled) .menu-item-label,:host(.ic-menu-item-disabled) .shortcut,:host(.ic-menu-item-disabled) .menu-item-description,:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-info,:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-label,:host(.ic-menu-item-disabled) ic-button:focus-within .shortcut,:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-description{--ic-typography-color:GrayText !important}:host(.ic-menu-item-disabled) ::part(button):focus-visible,:host(.ic-menu-item-disabled) ::part(button):focus{outline-color:GrayText !important}}';const m=p;const d=class{constructor(i){t(this,i);this.childBlur=e(this,"childBlur",7);this.handleMenuItemClick=e(this,"handleMenuItemClick",7);this.icToggleChecked=e(this,"icToggleChecked",7);this.triggerPopoverMenuInstance=e(this,"triggerPopoverMenuInstance",7);this.checked=false;this.disabled=false;this.variant="default";this.handleClick=t=>{if(s(this.submenuTriggerFor)){this.triggerPopoverMenuInstance.emit()}else if(this.variant==="toggle"){t.preventDefault();this.checked=!this.checked;this.icToggleChecked.emit({checked:this.checked})}this.handleMenuItemClick.emit(this.el)};this.getMenuItemAriaLabel=()=>{let t=this.label;if(s(this.description)){t=`${t}, ${this.description}`}if(s(this.keyboardShortcutLabel)){t=`${t}, ${this.keyboardShortcutLabel}`}if(this.variant==="destructive"){t=`${t}, destructive`}if(s(this.submenuTriggerFor)){t=`${t}, triggers submenu`}if(this.el.classList.contains("ic-popover-submenu-back-button")){t="Go back to parent menu"}const e=this.el.parentElement;if(e&&e.tagName==="IC-MENU-GROUP"&&e.label){return`${t}, ${e.label} menu group`}else{return t}}}watchDisabledHandler(){n(this.disabled,this.el)}componentWillLoad(){if(s(this.submenuTriggerFor)&&this.variant!=="default"){this.variant="default"}n(this.disabled,this.el)}componentDidLoad(){a([{prop:this.label,propName:"label"}],"Menu Item")}handleHostClick(t){if(this.disabled){t.stopImmediatePropagation()}}render(){const t=()=>i("div",{class:"menu-item-info"},i("div",{class:"menu-labels"},i("ic-typography",{class:"menu-item-label"},this.label),this.keyboardShortcutLabel&&i("ic-typography",{variant:"caption",class:"shortcut"},this.keyboardShortcutLabel)),this.description&&i("ic-typography",{class:"menu-item-description",variant:"caption"},this.description));return i(o,{class:{["ic-menu-item-disabled"]:!!this.disabled}},i("li",{role:this.variant==="toggle"?"menuitemcheckbox":"menuitem","aria-disabled":`${this.disabled}`,"aria-checked":this.variant==="toggle"?this.checked?"true":"false":undefined},i("ic-button",{fullWidth:true,variant:"tertiary",onClick:this.handleClick,href:s(this.href),hreflang:s(this.hreflang),target:s(this.target),rel:s(this.rel),referrerpolicy:this.referrerpolicy,"aria-disabled":`${this.disabled}`,"aria-label":this.getMenuItemAriaLabel(),"aria-haspopup":s(this.submenuTriggerFor)||this.el.classList.contains("ic-popover-submenu-back-button")?"menu":false},i("div",{class:"focus-border"},c(this.el,"icon")&&i("span",{class:"icon"},i("slot",{name:"icon"})),i(t,null),this.variant==="toggle"&&i("span",{class:{["check-icon"]:true,["hide"]:!this.checked},"aria-hidden":"true",innerHTML:u}),s(this.submenuTriggerFor)&&i("span",{class:{["submenu-icon"]:true},"aria-hidden":"true",innerHTML:l})))))}static get delegatesFocus(){return true}get el(){return r(this)}static get watchers(){return{disabled:["watchDisabledHandler"]}}};d.style=m;export{d as ic_menu_item};
|
2
|
+
//# sourceMappingURL=p-dce2c5e8.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icMenuItemCss","IcMenuItemStyle0","MenuItem","constructor","hostRef","this","checked","disabled","variant","handleClick","e","isPropDefined","submenuTriggerFor","triggerPopoverMenuInstance","emit","preventDefault","icToggleChecked","handleMenuItemClick","el","getMenuItemAriaLabel","ariaLabel","label","description","keyboardShortcutLabel","classList","contains","parentEl","parentElement","tagName","watchDisabledHandler","removeDisabledFalse","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","handleHostClick","stopImmediatePropagation","render","MenuItemInformation","h","class","Host","role","undefined","fullWidth","onClick","href","hreflang","target","rel","referrerpolicy","isSlotUsed","name","innerHTML","Check","Chevron"],"sources":["src/components/ic-menu-item/ic-menu-item.css?tag=ic-menu-item&encapsulation=shadow","src/components/ic-menu-item/ic-menu-item.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\nli {\n list-style: none;\n padding: 0;\n}\n\n:host ::part(button) {\n color: var(--ic-popover-menu-item-check);\n --ic-typography-color: var(--ic-popover-menu-item-check);\n padding: calc(var(--ic-space-xxxs) / 2);\n display: flex;\n align-items: flex-start;\n gap: var(--ic-space-xs);\n border-radius: 0;\n min-height: 2.5rem;\n height: auto;\n}\n\n.focus-border {\n display: flex;\n align-items: flex-start;\n gap: var(--ic-space-xs);\n border-radius: var(--ic-border-radius);\n margin: calc(var(--ic-space-xxxs) / 2);\n padding: var(--ic-space-xxs);\n border: var(--ic-space-xxxs) dashed transparent;\n\n --icon-height: auto;\n}\n\n:host(.ic-menu-item-disabled) ::part(button) {\n color: var(--ic-popover-menu-item-check-disabled) !important;\n\n --ic-typography-color: var(--ic-popover-menu-item-check-disabled) !important;\n\n pointer-events: none;\n}\n\n:host(.ic-menu-item-disabled) .menu-item-label,\n:host(.ic-menu-item-disabled) .shortcut,\n:host(.ic-menu-item-disabled) .menu-item-description {\n --ic-typography-color: var(--ic-popover-menu-item-label-disabled) !important;\n}\n\n:host([variant=\"destructive\"]) ::part(button) {\n color: var(--ic-popover-menu-destructive-item-icon);\n\n --ic-typography-color: var(--ic-popover-menu-destructive-item-label);\n}\n\n:host ::part(button):hover {\n background-color: var(--ic-popover-background-hover);\n}\n\n:host ::part(button):focus-visible,\n:host ::part(button):focus {\n color: var(--ic-popover-menu-item-icon-focused);\n\n --ic-typography-color: purple;\n\n background-color: var(--ic-popover-background-focus);\n box-shadow: none;\n}\n\n:host(.ic-menu-item-disabled) ::part(button):focus-visible,\n:host(.ic-menu-item-disabled) ::part(button):focus {\n color: var(--ic-popover-menu-item-icon-disabled) !important;\n\n --ic-typography-color: orange !important;\n}\n\n:host([variant=\"destructive\"]) ::part(button):focus-visible,\n:host([variant=\"destructive\"]) ::part(button):focus {\n background-color: var(--ic-popover-destructive-background-focus);\n}\n\nic-button:focus-within .menu-item-label,\nic-button:focus-within .shortcut,\nic-button:focus-within .menu-item-description {\n --ic-typography-color: var(--ic-popover-menu-item-label-focused);\n}\n\n:host(.ic-menu-item-disabled) ic-button:focus-within .focus-border {\n border-color: var(--ic-popover-menu-border);\n}\n\n:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-label,\n:host(.ic-menu-item-disabled) ic-button:focus-within .shortcut,\n:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-description {\n --ic-typography-color: var(--ic-popover-menu-item-label-disabled) !important;\n}\n\n:host ::part(button):active {\n background-color: var(--ic-popover-background-pressed);\n color: var(--ic-popover-menu-item-label) !important;\n\n --ic-typography-color: var(--ic-popover-menu-item-label) !important;\n}\n\n:host([variant=\"destructive\"]) ::part(button):active {\n background-color: var(--ic-popover-background-pressed);\n color: var(--ic-popover-menu-destructive-item-label) !important;\n\n --ic-typography-color: var(\n --ic-popover-menu-destructive-item-label\n ) !important;\n}\n\n.menu-item-info {\n display: flex;\n flex-direction: column;\n flex: 1;\n align-items: baseline;\n white-space: pre-line;\n text-align: left;\n}\n\n.menu-labels {\n display: flex;\n align-items: baseline;\n gap: var(--ic-space-xs);\n}\n\n.menu-item-description {\n --ic-typography-color: var(--ic-popover-menu-item-description);\n}\n\n.shortcut {\n --ic-typography-color: var(--ic-popover-menu-item-shortcut);\n\n display: flex;\n flex: min-content;\n}\n\n:host([variant=\"destructive\"]) .menu-item-label {\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.025em;\n}\n\nic-button:active .menu-item-label {\n --ic-typography-color: var(--ic-popover-menu-item-label);\n}\n\nic-button:active .menu-item-description {\n --ic-typography-color: var(--ic-popover-menu-item-description);\n}\n\nic-button:active .shortcut {\n --ic-typography-color: var(--ic-popover-menu-item-shortcut);\n}\n\n:host([variant=\"destructive\"]) ic-button:active .menu-item-label {\n --ic-typography-color: var(\n --ic-popover-menu-destructive-item-label\n ) !important;\n}\n\n.icon,\n.check-icon,\n.submenu-icon,\n.icon ::slotted(svg),\n.check-icon svg,\n.submenu-icon svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n.check-icon.hide {\n visibility: hidden;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n :host ::part(button) {\n border: canvas;\n }\n\n :host ::part(button):focus-visible {\n outline: var(--ic-space-xxxs) solid transparent;\n }\n\n .focus-border {\n border-color: canvas;\n }\n\n :host(.ic-menu-item-disabled) ic-button:focus-within .focus-border {\n border-color: GrayText;\n }\n\n :host(.ic-menu-item-disabled) .menu-item-info,\n :host(.ic-menu-item-disabled) .menu-item-label,\n :host(.ic-menu-item-disabled) .shortcut,\n :host(.ic-menu-item-disabled) .menu-item-description,\n :host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-info,\n :host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-label,\n :host(.ic-menu-item-disabled) ic-button:focus-within .shortcut,\n :host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-description {\n --ic-typography-color: GrayText !important;\n }\n\n :host(.ic-menu-item-disabled) ::part(button):focus-visible,\n :host(.ic-menu-item-disabled) ::part(button):focus {\n outline-color: GrayText !important;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Event,\n EventEmitter,\n Listen,\n Watch,\n} from \"@stencil/core\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n isPropDefined,\n} from \"../../utils/helpers\";\nimport { IcMenuItemVariants } from \"./ic-menu-item.types\";\nimport Check from \"../../assets/check-icon.svg\";\nimport Chevron from \"../../assets/chevron-icon.svg\";\n\n/**\n * @slot icon - Content will be placed to the left of the menu item label.\n */\n\n@Component({\n tag: \"ic-menu-item\",\n styleUrl: \"ic-menu-item.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class MenuItem {\n @Element() el: HTMLIcMenuItemElement;\n\n /**\n * If `true`, the menu item will be in a checked state. This is only applicable when variant is set to `toggle`.\n */\n @Prop({ mutable: true, reflect: true }) checked?: boolean = false;\n\n /**\n * The description displayed in the menu item, below the label.\n */\n @Prop() description?: string;\n\n /**\n * If `true`, the menu item will be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The URL that the link points to. This will render the menu item as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * The label describing the keyboard shortcut for a menu item's action.\n */\n @Prop() keyboardShortcutLabel?: string;\n\n /**\n * The label to display in the menu item.\n */\n @Prop() label!: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * This references the popover menu instance that the menu item is a trigger for. If this prop is set, then the variant will always be default.\n */\n @Prop() submenuTriggerFor?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * The variant of the menu item.\n */\n @Prop({ mutable: true, reflect: true }) variant?: IcMenuItemVariants =\n \"default\";\n\n /**\n * @internal Emitted when item loses focus.\n */\n @Event() childBlur: EventEmitter<void>;\n\n /**\n * @internal Emitted when the user clicks a menu item.\n */\n @Event() handleMenuItemClick: EventEmitter<HTMLIcMenuItemElement>;\n\n /**\n * Emitted when the user clicks a menu item that is set to the toggle variant.\n */\n @Event() icToggleChecked: EventEmitter<{\n checked: boolean;\n }>;\n\n /**\n * @internal Emitted when the user clicks a menu item that triggers a popover menu instance.\n */\n @Event() triggerPopoverMenuInstance: EventEmitter<void>;\n\n componentWillLoad(): void {\n // This ensures that trigger menu items are always set to the default variant\n if (isPropDefined(this.submenuTriggerFor) && this.variant !== \"default\") {\n this.variant = \"default\";\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Menu Item\"\n );\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(e: Event): void {\n if (this.disabled) {\n e.stopImmediatePropagation();\n }\n }\n\n private handleClick = (e: Event): void => {\n if (isPropDefined(this.submenuTriggerFor)) {\n this.triggerPopoverMenuInstance.emit();\n } else if (this.variant === \"toggle\") {\n e.preventDefault();\n this.checked = !this.checked;\n this.icToggleChecked.emit({\n checked: this.checked,\n });\n }\n this.handleMenuItemClick.emit(this.el);\n };\n\n private getMenuItemAriaLabel = (): string => {\n let ariaLabel = this.label;\n\n if (isPropDefined(this.description)) {\n ariaLabel = `${ariaLabel}, ${this.description}`;\n }\n\n if (isPropDefined(this.keyboardShortcutLabel)) {\n ariaLabel = `${ariaLabel}, ${this.keyboardShortcutLabel}`;\n }\n\n if (this.variant === \"destructive\") {\n ariaLabel = `${ariaLabel}, destructive`;\n }\n\n if (isPropDefined(this.submenuTriggerFor)) {\n ariaLabel = `${ariaLabel}, triggers submenu`;\n }\n\n if (this.el.classList.contains(\"ic-popover-submenu-back-button\")) {\n ariaLabel = \"Go back to parent menu\";\n }\n const parentEl = this.el.parentElement;\n\n if (\n parentEl &&\n parentEl.tagName === \"IC-MENU-GROUP\" &&\n (parentEl as HTMLIcMenuGroupElement).label\n ) {\n return `${ariaLabel}, ${\n (parentEl as HTMLIcMenuGroupElement).label\n } menu group`;\n } else {\n return ariaLabel;\n }\n };\n\n render() {\n // A sub-component to layout the menu information correctly in ic-button\n const MenuItemInformation = () => {\n return (\n <div class=\"menu-item-info\">\n <div class=\"menu-labels\">\n <ic-typography class=\"menu-item-label\">{this.label}</ic-typography>\n {this.keyboardShortcutLabel && (\n <ic-typography variant=\"caption\" class=\"shortcut\">\n {this.keyboardShortcutLabel}\n </ic-typography>\n )}\n </div>\n {this.description && (\n <ic-typography class=\"menu-item-description\" variant=\"caption\">\n {this.description}\n </ic-typography>\n )}\n </div>\n );\n };\n\n return (\n <Host\n class={{\n [\"ic-menu-item-disabled\"]: !!this.disabled,\n }}\n >\n <li\n role={this.variant === \"toggle\" ? \"menuitemcheckbox\" : \"menuitem\"}\n aria-disabled={`${this.disabled}`}\n aria-checked={\n this.variant === \"toggle\"\n ? this.checked\n ? \"true\"\n : \"false\"\n : undefined\n }\n >\n <ic-button\n fullWidth\n variant=\"tertiary\"\n onClick={this.handleClick}\n href={isPropDefined(this.href)}\n hreflang={isPropDefined(this.hreflang)}\n target={isPropDefined(this.target)}\n rel={isPropDefined(this.rel)}\n referrerpolicy={this.referrerpolicy}\n aria-disabled={`${this.disabled}`}\n aria-label={this.getMenuItemAriaLabel()}\n aria-haspopup={\n isPropDefined(this.submenuTriggerFor) ||\n this.el.classList.contains(\"ic-popover-submenu-back-button\")\n ? \"menu\"\n : false\n }\n >\n <div class=\"focus-border\">\n {isSlotUsed(this.el, \"icon\") && (\n <span class=\"icon\">\n <slot name=\"icon\"></slot>\n </span>\n )}\n <MenuItemInformation />\n {this.variant === \"toggle\" && (\n <span\n class={{\n [\"check-icon\"]: true,\n [\"hide\"]: !this.checked,\n }}\n aria-hidden=\"true\"\n innerHTML={Check}\n />\n )}\n {isPropDefined(this.submenuTriggerFor) && (\n <span\n class={{ [\"submenu-icon\"]: true }}\n aria-hidden=\"true\"\n innerHTML={Chevron}\n />\n )}\n </div>\n </ic-button>\n </li>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as e,c as o,h as t,H as i,g as r}from"./p-8e4e97b4.js";import{u as a,g as n,e as c,f as s,a as l,i as d,v as f,I as p}from"./p-269f841d.js";const b='/*! 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}:host{display:block;--footer-compliance-padding:1rem 0}:host(.ic-footer-sparse){--footer-links-padding:1.5rem 0;--footer-logo-margin-bottom:calc(var(--ic-space-md) + var(--ic-space-xxs));--footer-link-inner-flex-direction:row}:host(.ic-footer-small){--footer-links-padding:0 0;--footer-logo-margin-bottom:var(--ic-space-md);--footer-link-inner-flex-direction:column}:host(.ic-footer-foreground-dark){--ic-footer-background:var(--ic-brand-color-secondary-light);--ic-footer-bottom-background:var(--ic-brand-color-tertiary-light);--ic-footer-keyline:var(--ic-state-layer-darken-20);--ic-footer-text:var(--ic-color-text-primary-light);--ic-footer-link:var(--ic-color-text-primary-light);--ic-footer-icon:var(--ic-color-icon-neutral);--ic-footer-chevron-icon:var(--ic-color-icon-neutral);--ic-footer-logo:var(--ic-color-icon-neutral);--ic-footer-hover:var(--ic-architectural-700-state-layer-10);--ic-footer-pressed:var(--ic-architectural-700-state-layer-20)}:host(.ic-footer-small.ic-footer-ungrouped){--footer-links-padding:var(--ic-space-md) 0 0 0}footer{display:flex;flex-direction:column;width:100%}.footer-description{background-color:var(--ic-footer-background);color:var(--ic-footer-text);--ic-typography-color:var(--ic-footer-text);border-bottom:var(--ic-space-1px) solid var(--ic-footer-keyline)}.footer-description-inner{padding:1rem 0}.footer-links{padding:var(--footer-links-padding);background-color:var(--ic-footer-background);color:var(--ic-footer-link);--ic-typography-color:var(--ic-footer-link)}.footer-links-inner{display:flex;flex-direction:var(--footer-link-inner-flex-direction)}.footer-compliance{background-color:var(--ic-footer-bottom-background);color:var(--ic-footer-text);--ic-typography-color:var(--ic-footer-text)}.footer-compliance-inner{padding:var(--footer-compliance-padding)}.footer-logo{margin-bottom:var(--footer-logo-margin-bottom);display:flex;gap:var(--ic-space-xxl)}.footer-logo>::slotted(){margin-right:var(--ic-space-md)}.footer-caption{margin-bottom:var(--ic-space-md)}.classification-spacing{margin-bottom:var(--ic-space-lg)}@media (forced-colors: active){footer{border-top:var(--ic-border-hc)}}';const m=b;const u=class{constructor(t){e(this,t);this.footerResized=o(this,"footerResized",7);this.resizeObserver=null;this.hostMutationObserver=null;this.deviceSize=a.XL;this.foregroundColor=n();this.aligned="left";this.breakpoint="medium";this.copyright=true;this.groupLinks=false;this.resizeObserverCallback=e=>{if(e!==this.deviceSize){this.deviceSize=e}this.footerResized.emit()};this.runResizeObserver=()=>{if(this.footerEl){this.resizeObserver=new ResizeObserver((()=>{const e=c();this.resizeObserverCallback(e)}));this.resizeObserver.observe(this.footerEl)}}}disconnectedCallback(){var e;if(this.resizeObserver!==null){this.resizeObserver.disconnect()}(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){this.deviceSize=c()}componentDidLoad(){s(this.runResizeObserver);this.hostMutationObserver=new MutationObserver((e=>l(e,"link",this)));this.hostMutationObserver.observe(this.el,{childList:true})}brandChangeHandler(e){this.foregroundColor=e.detail.mode}isSmall(){const e=this.breakpoint;return e==="extra small"?this.deviceSize<a.XS:e==="small"?this.deviceSize<a.S:e==="medium"?this.deviceSize<a.M:e==="large"?this.deviceSize<a.L:e==="extra large"?this.deviceSize<a.XL:false}render(){const{aligned:e,caption:o,copyright:r,description:n,deviceSize:c,el:s,foregroundColor:l,groupLinks:b}=this;const m=this.isSmall();const u=d(s,"logo")||d(s,"caption")||o||r;return t(i,{key:"d7802c150c67f71e0f1028b1516a5f17d08df237",class:{["ic-footer"]:true,[`ic-footer-${m?"small":"sparse"}`]:true,[`ic-footer-${b?"grouped":"ungrouped"}`]:true,[`ic-footer-foreground-${l}`]:true,[`ic-footer-${p.Dark}`]:l===p.Dark,[`ic-footer-${p.Light}`]:l===p.Light}},t("footer",{key:"bf30d0015a1732313db8d4d04aa14c14b10015f6",ref:e=>this.footerEl=e},(d(s,"description")||n)&&t("div",{key:"b283e7729023c3ff75f8d0a017cd9f39ce968318",class:"footer-description"},t("ic-section-container",{key:"daccd54f6f9a659a9559ec0b1d77142884300a35",aligned:e,fullHeight:true},t("div",{key:"72cee4f778bb51065706f6a9694b7a96a37a248c",class:"footer-description-inner"},t("ic-typography",{key:"6893f61de603419f356a6c8cd632e9a12980d2d7",variant:"body"},t("slot",{key:"ff10f4b4408fe9d4afedcc1d34f82a3dd42595bc",name:"description"},n))))),d(s,"link")&&t("div",{key:"2386ae3e8434cd00a8e37b9baf9956108e20baef",class:"footer-links"},b&&m?t("div",{class:"footer-links-inner",role:"list"},t("slot",{name:"link"})):t("ic-section-container",{fullHeight:true,aligned:e},t("div",{class:"footer-links-inner",role:"list"},t("slot",{name:"link"})))),u&&t("div",{key:"b09e28618c6a1a9b9183425e0732887fcfac7877",class:"footer-compliance"},t("ic-section-container",{key:"24504e13bec8036f326697782e79027689db77d8",aligned:e,fullHeight:true},t("div",{key:"560ef8300cc517104f5cd7af6eb5441b788f36b5",class:"footer-compliance-inner"},d(s,"logo")&&t("div",{key:"54e207b1c8c83f385dd0e0cabae6ba00523e2eda",class:"footer-logo"},t("slot",{key:"cfc3acc0279e81ea2f34b8876c73c8222b426ff5",name:"logo"})),(d(s,"caption")||o)&&t("div",{key:"b5edcb7d044fe277aeca68544205335fceabf0da",class:"footer-caption"},t("ic-typography",{key:"2b81a3c1af57f8799a7cfdb10ba7f5d22c788487",variant:c<=a.M?"caption":"body"},t("slot",{key:"f404e47c0c9f9d67f6024c7cb69eaa8488a1bb78",name:"caption"},o))),r&&t("div",{key:"9c7939d1011a22520f76220b4bd1687aa1c6b319",class:{["footer-copyright"]:true,["classification-spacing"]:f()}},t("ic-typography",{key:"10a7ca6941be1d02f2207c8aeca0c37d57f58566",variant:c<=a.M?"caption-uppercase":"label-uppercase"},"© Crown Copyright")))))))}get el(){return r(this)}};u.style=m;export{u as ic_footer};
|
2
|
+
//# sourceMappingURL=p-df56bc50.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icFooterCss","IcFooterStyle0","Footer","constructor","hostRef","this","resizeObserver","hostMutationObserver","deviceSize","IC_DEVICE_SIZES","XL","foregroundColor","getBrandForegroundAppearance","aligned","breakpoint","copyright","groupLinks","resizeObserverCallback","currSize","footerResized","emit","runResizeObserver","footerEl","ResizeObserver","getCurrentDeviceSize","observe","disconnectedCallback","disconnect","_a","componentWillLoad","componentDidLoad","checkResizeObserver","MutationObserver","mutationList","renderDynamicChildSlots","el","childList","brandChangeHandler","ev","detail","mode","isSmall","bp","XS","S","M","L","render","caption","description","small","showComplianceSection","isSlotUsed","h","Host","key","class","IcBrandForegroundEnum","Dark","Light","ref","fullHeight","variant","name","role","hasClassificationBanner"],"sources":["src/components/ic-footer/ic-footer.css?tag=ic-footer&encapsulation=shadow","src/components/ic-footer/ic-footer.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n\n --footer-compliance-padding: 1rem 0;\n}\n\n:host(.ic-footer-sparse) {\n --footer-links-padding: 1.5rem 0;\n --footer-logo-margin-bottom: calc(var(--ic-space-md) + var(--ic-space-xxs));\n --footer-link-inner-flex-direction: row;\n}\n\n:host(.ic-footer-small) {\n --footer-links-padding: 0 0;\n --footer-logo-margin-bottom: var(--ic-space-md);\n --footer-link-inner-flex-direction: column;\n}\n\n:host(.ic-footer-foreground-dark) {\n --ic-footer-background: var(--ic-brand-color-secondary-light);\n --ic-footer-bottom-background: var(--ic-brand-color-tertiary-light);\n --ic-footer-keyline: var(--ic-state-layer-darken-20);\n --ic-footer-text: var(--ic-color-text-primary-light);\n --ic-footer-link: var(--ic-color-text-primary-light);\n --ic-footer-icon: var(--ic-color-icon-neutral);\n --ic-footer-chevron-icon: var(--ic-color-icon-neutral);\n --ic-footer-logo: var(--ic-color-icon-neutral);\n --ic-footer-hover: var(--ic-architectural-700-state-layer-10);\n --ic-footer-pressed: var(--ic-architectural-700-state-layer-20);\n}\n\n:host(.ic-footer-small.ic-footer-ungrouped) {\n --footer-links-padding: var(--ic-space-md) 0 0 0;\n}\n\n/* Main inner footer element */\nfooter {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* Description */\n\n.footer-description {\n background-color: var(--ic-footer-background);\n color: var(--ic-footer-text);\n\n --ic-typography-color: var(--ic-footer-text);\n\n border-bottom: var(--ic-space-1px) solid var(--ic-footer-keyline);\n}\n\n.footer-description-inner {\n padding: 1rem 0;\n}\n\n/* Links */\n\n.footer-links {\n padding: var(--footer-links-padding);\n background-color: var(--ic-footer-background);\n color: var(--ic-footer-link);\n\n --ic-typography-color: var(--ic-footer-link);\n}\n\n.footer-links-inner {\n display: flex;\n flex-direction: var(--footer-link-inner-flex-direction);\n}\n\n/* Compliance */\n\n.footer-compliance {\n background-color: var(--ic-footer-bottom-background);\n color: var(--ic-footer-text);\n\n --ic-typography-color: var(--ic-footer-text);\n}\n\n.footer-compliance-inner {\n padding: var(--footer-compliance-padding);\n}\n\n.footer-logo {\n margin-bottom: var(--footer-logo-margin-bottom);\n display: flex;\n gap: var(--ic-space-xxl);\n}\n\n.footer-logo > ::slotted() {\n margin-right: var(--ic-space-md);\n}\n\n.footer-caption {\n margin-bottom: var(--ic-space-md);\n}\n\n.classification-spacing {\n margin-bottom: var(--ic-space-lg);\n}\n\n@media (forced-colors: active) {\n footer {\n border-top: var(--ic-border-hc);\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from \"@stencil/core\";\nimport { IC_DEVICE_SIZES } from \"../../utils/constants\";\nimport {\n getCurrentDeviceSize,\n getBrandForegroundAppearance,\n checkResizeObserver,\n hasClassificationBanner,\n isSlotUsed,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport {\n IcAlignment,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n} from \"../../utils/types\";\nimport { IcFooterBreakpoints } from \"./ic-footer.types\";\n\n/**\n * @slot description - Content will be rendered at the top of the footer.\n * @slot link - Content will be rendered between description and logos.\n * @slot logo - Content will be rendered underneath footer links.\n * @slot caption - Content will be rendered above Crown Copyright.\n */\n\n@Component({\n tag: \"ic-footer\",\n styleUrl: \"ic-footer.css\",\n shadow: true,\n})\nexport class Footer {\n private footerEl?: HTMLElement;\n private resizeObserver: ResizeObserver | null = null;\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el: HTMLIcFooterElement;\n\n @State() deviceSize: number = IC_DEVICE_SIZES.XL;\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n\n /**\n * The alignment of the section containers used within the footer.\n */\n @Prop() aligned?: IcAlignment = \"left\";\n\n /**\n * The screen size breakpoint at which to switch to the small layout.\n */\n @Prop() breakpoint?: IcFooterBreakpoints = \"medium\";\n\n /**\n * The caption displayed at the bottom of the footer.\n */\n @Prop() caption?: string;\n\n /**\n * If `true`, the footer will display the crown copyright at the bottom.\n */\n @Prop() copyright?: boolean = true;\n\n /**\n * The description displayed at the top of the footer.\n */\n @Prop() description?: string;\n\n /**\n * If `true`, the footer will be set up to handle link groups instead of standalone links.\n */\n @Prop() groupLinks?: boolean = false;\n\n /**\n * @internal Triggers on page resize and triggers style changes in footer links and link groups\n */\n @Event() footerResized: EventEmitter<void>;\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n\n this.hostMutationObserver = new MutationObserver((mutationList) => {\n return renderDynamicChildSlots(mutationList, \"link\", this);\n });\n\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.foregroundColor = ev.detail.mode;\n }\n\n private isSmall() {\n const bp = this.breakpoint;\n\n return bp === \"extra small\"\n ? this.deviceSize < IC_DEVICE_SIZES.XS\n : bp === \"small\"\n ? this.deviceSize < IC_DEVICE_SIZES.S\n : bp === \"medium\"\n ? this.deviceSize < IC_DEVICE_SIZES.M\n : bp === \"large\"\n ? this.deviceSize < IC_DEVICE_SIZES.L\n : bp === \"extra large\"\n ? this.deviceSize < IC_DEVICE_SIZES.XL\n : false;\n }\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n }\n this.footerResized.emit();\n };\n\n private runResizeObserver = () => {\n if (this.footerEl) {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(this.footerEl);\n }\n };\n\n render() {\n const {\n aligned,\n caption,\n copyright,\n description,\n deviceSize,\n el,\n foregroundColor,\n groupLinks,\n } = this;\n const small = this.isSmall();\n\n const showComplianceSection =\n isSlotUsed(el, \"logo\") ||\n isSlotUsed(el, \"caption\") ||\n caption ||\n copyright;\n\n return (\n <Host\n class={{\n [\"ic-footer\"]: true,\n [`ic-footer-${small ? \"small\" : \"sparse\"}`]: true,\n [`ic-footer-${groupLinks ? \"grouped\" : \"ungrouped\"}`]: true,\n [`ic-footer-foreground-${foregroundColor}`]: true,\n // Slots will be able to infer their own color\n [`ic-footer-${IcBrandForegroundEnum.Dark}`]:\n foregroundColor === IcBrandForegroundEnum.Dark,\n [`ic-footer-${IcBrandForegroundEnum.Light}`]:\n foregroundColor === IcBrandForegroundEnum.Light,\n }}\n >\n <footer ref={(el) => (this.footerEl = el)}>\n {/* Description */}\n {(isSlotUsed(el, \"description\") || description) && (\n <div class=\"footer-description\">\n <ic-section-container aligned={aligned} fullHeight={true}>\n <div class=\"footer-description-inner\">\n <ic-typography variant=\"body\">\n <slot name=\"description\">{description}</slot>\n </ic-typography>\n </div>\n </ic-section-container>\n </div>\n )}\n\n {/* Links */}\n {isSlotUsed(el, \"link\") && (\n <div class=\"footer-links\">\n {groupLinks && small ? (\n <div class=\"footer-links-inner\" role=\"list\">\n <slot name=\"link\" />\n </div>\n ) : (\n <ic-section-container fullHeight aligned={aligned}>\n <div class=\"footer-links-inner\" role=\"list\">\n <slot name=\"link\" />\n </div>\n </ic-section-container>\n )}\n </div>\n )}\n\n {/* Compliance (logo, caption, copyright) */}\n {showComplianceSection && (\n <div class=\"footer-compliance\">\n <ic-section-container aligned={aligned} fullHeight={true}>\n <div class=\"footer-compliance-inner\">\n {isSlotUsed(el, \"logo\") && (\n <div class=\"footer-logo\">\n <slot name=\"logo\" />\n </div>\n )}\n {(isSlotUsed(el, \"caption\") || caption) && (\n <div class=\"footer-caption\">\n <ic-typography\n variant={\n deviceSize <= IC_DEVICE_SIZES.M ? \"caption\" : \"body\"\n }\n >\n <slot name=\"caption\">{caption}</slot>\n </ic-typography>\n </div>\n )}\n {copyright && (\n <div\n class={{\n [\"footer-copyright\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n }}\n >\n <ic-typography\n variant={\n deviceSize <= IC_DEVICE_SIZES.M\n ? \"caption-uppercase\"\n : \"label-uppercase\"\n }\n >\n © Crown Copyright\n </ic-typography>\n </div>\n )}\n </div>\n </ic-section-container>\n </div>\n )}\n </footer>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["globalScripts"],"sources":["@stencil/core/internal/app-globals"],"sourcesContent":["export const globalScripts = () => {};\n"],"mappings":"AAAY,MAACA,EAAgB,c","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as n,h as e,H as t,g as i}from"./p-8e4e97b4.js";import{r as a,i as o,b as r,a as c,h as d,I as s}from"./p-269f841d.js";import{C as l}from"./p-3b185c32.js";const b='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type="button"],\n[type="reset"],\n[type="submit"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type="button"]::-moz-focus-inner,\n[type="reset"]::-moz-focus-inner,\n[type="submit"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type="button"]:-moz-focusring,\n[type="reset"]:-moz-focusring,\n[type="submit"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type="checkbox"],\n[type="radio"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type="number"]::-webkit-inner-spin-button,\n[type="number"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type="search"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: flex;\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-card-text-primary) !important;\n}\n\na:visited {\n color: var(--ic-card-link-action-dark) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n}\n\n.card {\n display: flex;\n flex-direction: column;\n border: var(--ic-space-1px) solid var(--ic-card-border-primary);\n border-radius: var(--ic-border-radius);\n box-sizing: border-box;\n padding: var(--ic-space-md);\n text-align: left;\n color: var(--ic-card-text-primary);\n transition: var(--ic-easing-transition-fast);\n position: relative;\n width: inherit;\n min-width: -moz-fit-content;\n min-width: fit-content;\n height: -moz-fit-content;\n height: fit-content;\n min-height: 100%;\n\n ::slotted(svg) {\n fill: var(--ic-card-icon);\n }\n &.monochrome {\n border: var(--ic-border-width) solid var(--ic-card-border-monochrome);\n }\n &.fullwidth {\n width: 100%;\n }\n &.clickable {\n &:hover {\n background-color: var(--ic-card-background-hover);\n border: var(--ic-space-1px) solid var(--ic-card-hover-border-color);\n cursor: pointer;\n }\n &.focussed,\n &:focus {\n background-color: var(--ic-card-background-hover);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-space-1px) solid var(--ic-card-pressed-border-color);\n }\n &:active {\n background-color: var(--ic-card-background-pressed);\n box-shadow: var(--ic-border-focus);\n\n .card-title {\n text-decoration: none;\n }\n }\n .card-title {\n --ic-typography-color: var(--ic-card-clickable-text);\n\n color: var(--ic-card-clickable-text);\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n }\n }\n &.disabled {\n border: var(--ic-space-1px) dashed var(--ic-card-disabled-border-color);\n\n .card-message,\n .subheading,\n .card-title {\n --ic-typography-color: var(--ic-card-disabled-text);\n }\n .card-title {\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n text-decoration-color: var(--ic-card-disabled-text);\n color: var(--ic-card-disabled-text);\n }\n ::slotted(svg) {\n fill: var(--ic-card-disabled-text);\n }\n }\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n display: flex;\n align-items: center;\n padding-right: var(--ic-space-xs);\n}\n\n.card.clickable:hover .card-title,\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n display: inline-block;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n@supports (text-underline-offset: 25%) {\n .card.clickable:hover .card-title,\n .card.clickable:focus .card-title,\n .card.clickable.focussed .card-title {\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\n.subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n.adornment {\n margin-top: var(--ic-space-xxs);\n}\n\n.card-message {\n margin-top: var(--ic-space-md);\n align-items: left;\n}\n\n.interaction-button {\n margin-left: auto;\n}\n\n.image-top {\n margin-bottom: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.image-mid {\n margin-top: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.interaction-area {\n display: flex;\n flex-grow: 1;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-md);\n align-items: flex-end;\n}\n\n.interaction-controls {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--ic-space-sm);\n}\n\n.toggle-button {\n width: 2.5rem;\n height: 2.5rem;\n padding: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\n min-width: 0;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n display: inline-flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n box-sizing: border-box;\n white-space: nowrap;\n vertical-align: middle;\n\n &:hover {\n background-color: var(--ic-card-background-hover);\n }\n &:focus {\n box-shadow: var(--ic-border-focus);\n }\n &:active:not(:focus) {\n background-color: var(--ic-card-background-pressed);\n }\n\n svg {\n pointer-events: none;\n width: 100% !important;\n height: 100% !important;\n fill: currentcolor !important;\n }\n}\n\n#ic-tooltip-expand-button {\n margin-left: auto;\n position: relative;\n}\n\n.toggle-button-closed svg {\n transform: rotate(90deg);\n}\n\n.toggle-button-expanded svg {\n transform: rotate(-90deg);\n}\n\n.expanded-content {\n margin-top: var(--ic-space-md);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .card {\n ::slotted(svg) {\n fill: currentcolor;\n }\n &.disabled {\n border-color: GrayText !important;\n\n ::slotted(svg) {\n fill: GrayText !important;\n }\n .card-message,\n .subheading,\n .card-title {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n }\n }\n\n .toggle-button:focus,\n .toggle-button:hover {\n outline-color: Highlight;\n }\n}\n';const f=b;const h=class{constructor(e){n(this,e);this.hostMutationObserver=null;this.areaExpanded=false;this.isFocussed=false;this.monochrome=false;this.parentEl=null;this.parentIsAnchorTag=false;this.clickable=false;this.disabled=false;this.expandable=false;this.fullWidth=false;this.hreflang="";this.message="";this.theme="inherit";this.parentFocussed=()=>{this.isFocussed=true};this.parentBlurred=()=>{this.isFocussed=false};this.toggleExpanded=()=>{this.areaExpanded=!this.areaExpanded}}watchDisabledHandler(){a(this.disabled,this.el)}disconnectedCallback(){var n;if(this.parentEl&&this.parentIsAnchorTag){this.parentEl.removeEventListener("focus",this.parentFocussed);this.parentEl.removeEventListener("blur",this.parentBlurred)}(n=this.hostMutationObserver)===null||n===void 0?void 0:n.disconnect()}componentWillLoad(){var n;this.parentEl=this.el.parentElement;if(((n=this.parentEl)===null||n===void 0?void 0:n.tagName)==="A"){this.clickable=true;this.parentIsAnchorTag=true;this.parentEl.classList.add("ic-card-wrapper-link");this.parentEl.addEventListener("focus",this.parentFocussed);this.parentEl.addEventListener("blur",this.parentBlurred)}a(this.disabled,this.el)}componentDidLoad(){!o(this.el,"heading")&&r([{prop:this.heading,propName:"heading"}],"Card");this.updateTheme();this.hostMutationObserver=new MutationObserver((n=>c(n,["message","adornment","expanded-content","image-top","image-mid","icon","interaction-button","badge","interaction-controls"],this)));this.hostMutationObserver.observe(this.el,{childList:true})}handleHostClick(n){if(this.disabled){n.stopImmediatePropagation()}}brandChangeHandler(n){this.updateTheme(n.detail.mode)}async setFocus(){var n,e;const t=this.el.shadowRoot;if(t){if(t.querySelector("a")){(n=t.querySelector("a"))===null||n===void 0?void 0:n.focus()}else if(t.querySelector("button")){(e=t.querySelector("button"))===null||e===void 0?void 0:e.focus()}}}updateTheme(n=null){const e=d(this.el,n);if(e!==s.Default){this.monochrome=true;this.theme=e===s.Light?s.Dark:s.Light}}render(){const{clickable:n,disabled:i,expandable:a,fullWidth:r,heading:c,isFocussed:d,message:s,monochrome:b,href:f,hreflang:h,parentIsAnchorTag:m,referrerpolicy:p,rel:g,subheading:u,target:v,theme:y}=this;const x=m||!n?"div":f===undefined?"button":"a";const k=x=="a"&&{href:f,hrefLang:h,referrerPolicy:p,rel:g,target:v};return e(t,{key:"aeff3ef22b085acbf30dacb5d3ae0167451044b9",class:{[`ic-theme-${y}`]:y!=="inherit"}},e(x,Object.assign({key:"a451e5f53149283ee77878ccc3e699beae669f24",class:{card:true,clickable:!!n&&!i,disabled:!!i,fullwidth:!!r,focussed:d,monochrome:b},tabindex:n&&!m?0:undefined,"aria-disabled":i?"true":null,disabled:i},k),o(this.el,"image-top")&&e("div",{key:"2ec35ab8d6e1224c0a393c92a72e403e4c5fc8fc",class:"image-top"},e("slot",{key:"c859ae1e242284b586df2ce7627c316021b8ef54",name:"image-top"})),e("div",{key:"55f21501b3d95e1f5bf3a69542dab57d00379e63",class:"card-header"},o(this.el,"icon")&&e("div",{key:"f95e7224d6e8548f33a8861025a1651a3bc953a4",class:"icon"},e("slot",{key:"1102f6f88e830613365cb0bfe3e5c4481b3a207e",name:"icon"})),e("div",{key:"3122872ef284640debbf7182d36f9cd4c6032ae4",class:"card-title"},e("slot",{key:"f51213257b0ff6e195852ca006e9cba35103f210",name:"heading"},e("ic-typography",{key:"7d82fce416b7579ac23e2154ef512bd8f3181bc3",variant:"h4"},e("p",{key:"ad083279b8f012f16d67c182c37bcc6383710ba5"},c)))),o(this.el,"interaction-button")&&e("div",{key:"bb47af0b373f295cb1bcd1b72df6c325e257c2ed",class:"interaction-button"},e("slot",{key:"fd0fc056e51febf6d9abe76d7ffb0773836e52d3",name:"interaction-button"}))),(u||o(this.el,"subheading"))&&e("div",{key:"32851c6c59b9ee76aa490210f5888fe410067ca3",class:"subheading"},e("slot",{key:"5757fd2fd2618f03fee208b855384c29861cadc6",name:"subheading"},e("ic-typography",{key:"1f206ca1eaf0bcd5693abf3fc3f97303582a5deb",variant:"subtitle-small"},u))),o(this.el,"adornment")&&e("div",{key:"ceef939617ce12be984f15673e9ef4e71110234c",class:"adornment"},e("slot",{key:"127e2dfa77b74a19070e90361d26fe1358539ca2",name:"adornment"})),o(this.el,"image-mid")&&e("div",{key:"0cbc0b6a9638969db6fabcde40ad46044afc4b88",class:"image-mid"},e("slot",{key:"3e8ae6e25570ed03e7fea0ae4fdd7a779d3022b1",name:"image-mid"})),(s||o(this.el,"message"))&&e("div",{key:"9da59f1aeaa1fcf4bc2a0aa1bd50d3f86faa2af7",class:"card-message"},s&&e("ic-typography",{key:"4620229c479b782ad5ee0c8e3a7acdf6a8a70d7b",variant:"body"},s),o(this.el,"message")&&e("slot",{key:"959e101cc933319cf297d0f0ebbd46299a24cbd5",name:"message"})),(o(this.el,"interaction-controls")||a)&&e("div",{key:"c4263a3d5f8e22f31cf0e55a868dbf0f52b00692",class:"interaction-area"},e("div",{key:"bd5e1d3ff137004ff5c696f611dae1bfefd26e1a",class:"interaction-controls"},e("slot",{key:"5985495f8f12c825aafcab517d3add5f9741d460",name:"interaction-controls"})),a&&e("ic-tooltip",{key:"e3b12f780303019b7f95ce5a98d7b7194c242c9a",id:"ic-tooltip-expand-button",label:"Toggle expandable area",silent:true},e("button",{key:"9857a37a37571bd21f500527149ed8bc3806c4f4",class:{"toggle-button":true,[`toggle-button-${this.areaExpanded?"expanded":"closed"}`]:true},"aria-label":"Toggle expandable area","aria-expanded":`${this.areaExpanded}`,"aria-controls":this.areaExpanded?"expanded-content-area":null,onClick:this.toggleExpanded,innerHTML:l}))),o(this.el,"expanded-content")&&this.areaExpanded&&e("div",{key:"080d0198d37d939cfc506abc5933caac7eaa383d",class:"expanded-content",id:"expanded-content-area"},e("slot",{key:"6c9b5dd6bfa46d466034255231047b2682e19f96",name:"expanded-content"})),o(this.el,"badge")&&e("slot",{key:"1f68304dd15e605320258bf8d14d2df3b0caf344",name:"badge"})))}get el(){return i(this)}static get watchers(){return{disabled:["watchDisabledHandler"]}}};h.style=f;export{h as ic_card_vertical};
|
2
|
+
//# sourceMappingURL=p-e25feba1.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icCardVerticalCss","IcCardVerticalStyle0","CardVertical","constructor","hostRef","this","hostMutationObserver","areaExpanded","isFocussed","monochrome","parentEl","parentIsAnchorTag","clickable","disabled","expandable","fullWidth","hreflang","message","theme","parentFocussed","parentBlurred","toggleExpanded","watchDisabledHandler","removeDisabledFalse","el","disconnectedCallback","removeEventListener","_a","disconnect","componentWillLoad","parentElement","tagName","classList","add","addEventListener","componentDidLoad","isSlotUsed","onComponentRequiredPropUndefined","prop","heading","propName","updateTheme","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","handleHostClick","event","stopImmediatePropagation","brandChangeHandler","ev","detail","mode","setFocus","shadowRoot","querySelector","focus","_b","foregroundColor","getBrandFromContext","IcBrandForegroundEnum","Default","Light","Dark","render","href","referrerpolicy","rel","subheading","target","Component","undefined","attrs","hrefLang","referrerPolicy","h","Host","key","class","Object","assign","card","fullwidth","focussed","tabindex","name","variant","id","label","silent","onClick","innerHTML","chevronIcon"],"sources":["src/components/ic-card-vertical/ic-card-vertical.css?tag=ic-card-vertical&encapsulation=shadow","src/components/ic-card-vertical/ic-card-vertical.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: flex;\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-card-text-primary) !important;\n}\n\na:visited {\n color: var(--ic-card-link-action-dark) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n}\n\n.card {\n display: flex;\n flex-direction: column;\n border: var(--ic-space-1px) solid var(--ic-card-border-primary);\n border-radius: var(--ic-border-radius);\n box-sizing: border-box;\n padding: var(--ic-space-md);\n text-align: left;\n color: var(--ic-card-text-primary);\n transition: var(--ic-easing-transition-fast);\n position: relative;\n width: inherit;\n min-width: fit-content;\n height: fit-content;\n min-height: 100%;\n\n ::slotted(svg) {\n fill: var(--ic-card-icon);\n }\n &.monochrome {\n border: var(--ic-border-width) solid var(--ic-card-border-monochrome);\n }\n &.fullwidth {\n width: 100%;\n }\n &.clickable {\n &:hover {\n background-color: var(--ic-card-background-hover);\n border: var(--ic-space-1px) solid var(--ic-card-hover-border-color);\n cursor: pointer;\n }\n &.focussed,\n &:focus {\n background-color: var(--ic-card-background-hover);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-space-1px) solid var(--ic-card-pressed-border-color);\n }\n &:active {\n background-color: var(--ic-card-background-pressed);\n box-shadow: var(--ic-border-focus);\n\n .card-title {\n text-decoration: none;\n }\n }\n .card-title {\n --ic-typography-color: var(--ic-card-clickable-text);\n\n color: var(--ic-card-clickable-text);\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n }\n }\n &.disabled {\n border: var(--ic-space-1px) dashed var(--ic-card-disabled-border-color);\n\n .card-message,\n .subheading,\n .card-title {\n --ic-typography-color: var(--ic-card-disabled-text);\n }\n .card-title {\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n text-decoration-color: var(--ic-card-disabled-text);\n color: var(--ic-card-disabled-text);\n }\n ::slotted(svg) {\n fill: var(--ic-card-disabled-text);\n }\n }\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n display: flex;\n align-items: center;\n padding-right: var(--ic-space-xs);\n}\n\n.card.clickable:hover .card-title,\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n display: inline-block;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n@supports (text-underline-offset: 25%) {\n .card.clickable:hover .card-title,\n .card.clickable:focus .card-title,\n .card.clickable.focussed .card-title {\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\n.subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n.adornment {\n margin-top: var(--ic-space-xxs);\n}\n\n.card-message {\n margin-top: var(--ic-space-md);\n align-items: left;\n}\n\n.interaction-button {\n margin-left: auto;\n}\n\n.image-top {\n margin-bottom: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.image-mid {\n margin-top: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.interaction-area {\n display: flex;\n flex-grow: 1;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-md);\n align-items: flex-end;\n}\n\n.interaction-controls {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--ic-space-sm);\n}\n\n.toggle-button {\n width: 2.5rem;\n height: 2.5rem;\n padding: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\n min-width: 0;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n display: inline-flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n box-sizing: border-box;\n white-space: nowrap;\n vertical-align: middle;\n\n &:hover {\n background-color: var(--ic-card-background-hover);\n }\n &:focus {\n box-shadow: var(--ic-border-focus);\n }\n &:active:not(:focus) {\n background-color: var(--ic-card-background-pressed);\n }\n\n svg {\n pointer-events: none;\n width: 100% !important;\n height: 100% !important;\n fill: currentcolor !important;\n }\n}\n\n#ic-tooltip-expand-button {\n margin-left: auto;\n position: relative;\n}\n\n.toggle-button-closed svg {\n transform: rotate(90deg);\n}\n\n.toggle-button-expanded svg {\n transform: rotate(-90deg);\n}\n\n.expanded-content {\n margin-top: var(--ic-space-md);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .card {\n ::slotted(svg) {\n fill: currentcolor;\n }\n &.disabled {\n border-color: GrayText !important;\n\n ::slotted(svg) {\n fill: GrayText !important;\n }\n .card-message,\n .subheading,\n .card-title {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n }\n }\n\n .toggle-button:focus,\n .toggle-button:hover {\n outline-color: Highlight;\n }\n}\n","import {\n Component,\n Element,\n Listen,\n Prop,\n State,\n h,\n Method,\n Host,\n Watch,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n getBrandFromContext,\n removeDisabledFalse,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n/**\n * @slot heading - Content will be placed at the top of the card to the right of the icon.\n * @slot message - Content will be placed in the main body of the card.\n * @slot subheading - Content will be placed below the card heading.\n * @slot adornment - Content will be placed below the card subheading.\n * @slot image-top - Content will be placed at the top of the card above all other content.\n * @slot image-mid - Content will be placed below the card heading section.\n * @slot icon - Content will be placed to the left of the card heading.\n * @slot interaction-button - Content will be placed in the top right corner of the heading section.\n * @slot interaction-controls - Content will be placed below the card message.\n * @slot expanded-content - Content will be placed below the interaction controls but will not initially be rendered.\n * @slot badge - Badge component overlaying the top right of the card.\n */\n@Component({\n tag: \"ic-card-vertical\",\n styleUrl: \"ic-card-vertical.css\",\n shadow: true,\n})\nexport class CardVertical {\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el: HTMLIcCardVerticalElement;\n\n @State() areaExpanded: boolean = false;\n @State() isFocussed: boolean = false;\n @State() monochrome: boolean = false;\n @State() parentEl: HTMLElement | null = null;\n @State() parentIsAnchorTag: boolean = false;\n\n /**\n * If `true`, the card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n\n /**\n * If `true`, the card will be disabled if it is clickable.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the card will have an expandable area and expansion toggle button.\n */\n @Prop() expandable?: boolean = false;\n\n /**\n * If `true`, the card will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The heading for the card. This is required, unless a slotted heading is used.\n */\n @Prop() heading?: string;\n\n /**\n * The URL that the clickable card link points to. If set, the clickable card will render as an \"a\" tag, otherwise it will render as a button.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * The main body message of the card.\n */\n @Prop() message?: string = \"\";\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The subheading for the card.\n */\n @Prop() subheading?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * 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({ mutable: true }) theme?: IcThemeMode = \"inherit\";\n\n disconnectedCallback(): void {\n if (this.parentEl && this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl?.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n this.updateTheme();\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(\n mutationList,\n [\n \"message\",\n \"adornment\",\n \"expanded-content\",\n \"image-top\",\n \"image-mid\",\n \"icon\",\n \"interaction-button\",\n \"badge\",\n \"interaction-controls\",\n ],\n this\n )\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.updateTheme(ev.detail.mode);\n }\n\n /**\n * Sets focus on the card.\n */\n @Method()\n async setFocus(): Promise<void> {\n const shadowRoot = this.el.shadowRoot;\n\n if (shadowRoot) {\n if (shadowRoot.querySelector(\"a\")) {\n shadowRoot.querySelector(\"a\")?.focus();\n } else if (shadowRoot.querySelector(\"button\")) {\n shadowRoot.querySelector(\"button\")?.focus();\n }\n }\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n private updateTheme(mode: IcBrandForeground | null = null): void {\n const foregroundColor = getBrandFromContext(this.el, mode);\n\n if (foregroundColor !== IcBrandForegroundEnum.Default) {\n this.monochrome = true;\n this.theme =\n foregroundColor === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n }\n }\n\n private toggleExpanded = (): void => {\n this.areaExpanded = !this.areaExpanded;\n };\n\n render() {\n const {\n clickable,\n disabled,\n expandable,\n fullWidth,\n heading,\n isFocussed,\n message,\n monochrome,\n href,\n hreflang,\n parentIsAnchorTag,\n referrerpolicy,\n rel,\n subheading,\n target,\n theme,\n } = this;\n\n const Component =\n parentIsAnchorTag || !clickable\n ? \"div\"\n : href === undefined\n ? \"button\"\n : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <Component\n class={{\n card: true,\n clickable: !!clickable && !disabled,\n disabled: !!disabled,\n fullwidth: !!fullWidth,\n focussed: isFocussed,\n monochrome: monochrome,\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : undefined}\n aria-disabled={disabled ? \"true\" : null}\n disabled={disabled}\n {...attrs}\n >\n {isSlotUsed(this.el, \"image-top\") && (\n <div class=\"image-top\">\n <slot name=\"image-top\"></slot>\n </div>\n )}\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div class=\"card-title\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"interaction-button\") && (\n <div class=\"interaction-button\">\n <slot name=\"interaction-button\"></slot>\n </div>\n )}\n </div>\n {(subheading || isSlotUsed(this.el, \"subheading\")) && (\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"subtitle-small\">\n {subheading}\n </ic-typography>\n </slot>\n </div>\n )}\n {isSlotUsed(this.el, \"adornment\") && (\n <div class=\"adornment\">\n <slot name=\"adornment\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"image-mid\") && (\n <div class=\"image-mid\">\n <slot name=\"image-mid\"></slot>\n </div>\n )}\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div class=\"card-message\">\n {message && (\n <ic-typography variant=\"body\">{message}</ic-typography>\n )}\n {isSlotUsed(this.el, \"message\") && <slot name=\"message\"></slot>}\n </div>\n )}\n {(isSlotUsed(this.el, \"interaction-controls\") || expandable) && (\n <div class=\"interaction-area\">\n <div class=\"interaction-controls\">\n <slot name=\"interaction-controls\"></slot>\n </div>\n {expandable && (\n <ic-tooltip\n id=\"ic-tooltip-expand-button\"\n label=\"Toggle expandable area\"\n silent\n >\n <button\n class={{\n \"toggle-button\": true,\n [`toggle-button-${\n this.areaExpanded ? \"expanded\" : \"closed\"\n }`]: true,\n }}\n aria-label=\"Toggle expandable area\"\n aria-expanded={`${this.areaExpanded}`}\n aria-controls={\n this.areaExpanded ? \"expanded-content-area\" : null\n }\n onClick={this.toggleExpanded}\n innerHTML={chevronIcon}\n ></button>\n </ic-tooltip>\n )}\n </div>\n )}\n {isSlotUsed(this.el, \"expanded-content\") && this.areaExpanded && (\n <div class=\"expanded-content\" id=\"expanded-content-area\">\n <slot name=\"expanded-content\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Component>\n </Host>\n );\n }\n}\n"],"mappings":"oKAAA,MAAMA,EAAoB,smZAC1B,MAAAC,EAAeD,E,MC2CFE,EAAY,MALzB,WAAAC,CAAAC,G,UAMUC,KAAAC,qBAAgD,KAI/CD,KAAAE,aAAwB,MACxBF,KAAAG,WAAsB,MACtBH,KAAAI,WAAsB,MACtBJ,KAAAK,SAA+B,KAC/BL,KAAAM,kBAA6B,MAKbN,KAAAO,UAAsB,MAKvCP,KAAAQ,SAAqB,MASrBR,KAAAS,WAAuB,MAKvBT,KAAAU,UAAsB,MAetBV,KAAAW,SAAoB,GAKpBX,KAAAY,QAAmB,GAyBFZ,KAAAa,MAAsB,UAkFvCb,KAAAc,eAAiB,KACvBd,KAAKG,WAAa,IAAI,EAGhBH,KAAAe,cAAgB,KACtBf,KAAKG,WAAa,KAAK,EAejBH,KAAAgB,eAAiB,KACvBhB,KAAKE,cAAgBF,KAAKE,YAAY,C,CAhKxC,oBAAAe,GACEC,EAAoBlB,KAAKQ,SAAUR,KAAKmB,G,CA0D1C,oBAAAC,G,MACE,GAAIpB,KAAKK,UAAYL,KAAKM,kBAAmB,CAC3CN,KAAKK,SAASgB,oBAAoB,QAASrB,KAAKc,gBAChDd,KAAKK,SAASgB,oBAAoB,OAAQrB,KAAKe,c,EAGjDO,EAAAtB,KAAKC,wBAAoB,MAAAqB,SAAA,SAAAA,EAAEC,Y,CAG7B,iBAAAC,G,MACExB,KAAKK,SAAWL,KAAKmB,GAAGM,cAExB,KAAIH,EAAAtB,KAAKK,YAAQ,MAAAiB,SAAA,SAAAA,EAAEI,WAAY,IAAK,CAClC1B,KAAKO,UAAY,KACjBP,KAAKM,kBAAoB,KACzBN,KAAKK,SAASsB,UAAUC,IAAI,wBAC5B5B,KAAKK,SAASwB,iBAAiB,QAAS7B,KAAKc,gBAC7Cd,KAAKK,SAASwB,iBAAiB,OAAQ7B,KAAKe,c,CAE9CG,EAAoBlB,KAAKQ,SAAUR,KAAKmB,G,CAG1C,gBAAAW,IACGC,EAAW/B,KAAKmB,GAAI,YACnBa,EACE,CAAC,CAAEC,KAAMjC,KAAKkC,QAASC,SAAU,YACjC,QAEJnC,KAAKoC,cAELpC,KAAKC,qBAAuB,IAAIoC,kBAAkBC,GAChDC,EACED,EACA,CACE,UACA,YACA,mBACA,YACA,YACA,OACA,qBACA,QACA,wBAEFtC,QAGJA,KAAKC,qBAAqBuC,QAAQxC,KAAKmB,GAAI,CACzCsB,UAAW,M,CAKf,eAAAC,CAAgBC,GACd,GAAI3C,KAAKQ,SAAU,CACjBmC,EAAMC,0B,EAKV,kBAAAC,CAAmBC,GACjB9C,KAAKoC,YAAYU,EAAGC,OAAOC,K,CAO7B,cAAMC,G,QACJ,MAAMC,EAAalD,KAAKmB,GAAG+B,WAE3B,GAAIA,EAAY,CACd,GAAIA,EAAWC,cAAc,KAAM,EACjC7B,EAAA4B,EAAWC,cAAc,QAAI,MAAA7B,SAAA,SAAAA,EAAE8B,O,MAC1B,GAAIF,EAAWC,cAAc,UAAW,EAC7CE,EAAAH,EAAWC,cAAc,aAAS,MAAAE,SAAA,SAAAA,EAAED,O,GAalC,WAAAhB,CAAYY,EAAiC,MACnD,MAAMM,EAAkBC,EAAoBvD,KAAKmB,GAAI6B,GAErD,GAAIM,IAAoBE,EAAsBC,QAAS,CACrDzD,KAAKI,WAAa,KAClBJ,KAAKa,MACHyC,IAAoBE,EAAsBE,MACtCF,EAAsBG,KACtBH,EAAsBE,K,EAQhC,MAAAE,GACE,MAAMrD,UACJA,EAASC,SACTA,EAAQC,WACRA,EAAUC,UACVA,EAASwB,QACTA,EAAO/B,WACPA,EAAUS,QACVA,EAAOR,WACPA,EAAUyD,KACVA,EAAIlD,SACJA,EAAQL,kBACRA,EAAiBwD,eACjBA,EAAcC,IACdA,EAAGC,WACHA,EAAUC,OACVA,EAAMpD,MACNA,GACEb,KAEJ,MAAMkE,EACJ5D,IAAsBC,EAClB,MACAsD,IAASM,UACT,SACA,IAEN,MAAMC,EAAQF,GAAa,KAAO,CAChCL,KAAMA,EACNQ,SAAU1D,EACV2D,eAAgBR,EAChBC,IAAKA,EACLE,OAAQA,GAGV,OACEM,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,CAAC,YAAY7D,KAAUA,IAAU,YAGnC0D,EAACL,EAASS,OAAAC,OAAA,CAAAH,IAAA,2CACRC,MAAO,CACLG,KAAM,KACNtE,YAAaA,IAAcC,EAC3BA,WAAYA,EACZsE,YAAapE,EACbqE,SAAU5E,EACVC,WAAYA,GAEd4E,SAAUzE,IAAcD,EAAoB,EAAI6D,UAAS,gBAC1C3D,EAAW,OAAS,KACnCA,SAAUA,GACN4D,GAEHrC,EAAW/B,KAAKmB,GAAI,cACnBoD,EAAA,OAAAE,IAAA,2CAAKC,MAAM,aACTH,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,eAGfV,EAAA,OAAAE,IAAA,2CAAKC,MAAM,eACR3C,EAAW/B,KAAKmB,GAAI,SACnBoD,EAAA,OAAAE,IAAA,2CAAKC,MAAM,QACTH,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,UAGfV,EAAA,OAAAE,IAAA,2CAAKC,MAAM,cACTH,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,WACTV,EAAA,iBAAAE,IAAA,2CAAeS,QAAQ,MACrBX,EAAA,KAAAE,IAAA,4CAAIvC,MAITH,EAAW/B,KAAKmB,GAAI,uBACnBoD,EAAA,OAAAE,IAAA,2CAAKC,MAAM,sBACTH,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,0BAIfjB,GAAcjC,EAAW/B,KAAKmB,GAAI,gBAClCoD,EAAA,OAAAE,IAAA,2CAAKC,MAAM,cACTH,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,cACTV,EAAA,iBAAAE,IAAA,2CAAeS,QAAQ,kBACpBlB,KAKRjC,EAAW/B,KAAKmB,GAAI,cACnBoD,EAAA,OAAAE,IAAA,2CAAKC,MAAM,aACTH,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,eAGdlD,EAAW/B,KAAKmB,GAAI,cACnBoD,EAAA,OAAAE,IAAA,2CAAKC,MAAM,aACTH,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,gBAGbrE,GAAWmB,EAAW/B,KAAKmB,GAAI,aAC/BoD,EAAA,OAAAE,IAAA,2CAAKC,MAAM,gBACR9D,GACC2D,EAAA,iBAAAE,IAAA,2CAAeS,QAAQ,QAAQtE,GAEhCmB,EAAW/B,KAAKmB,GAAI,YAAcoD,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,cAGhDlD,EAAW/B,KAAKmB,GAAI,yBAA2BV,IAC/C8D,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oBACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,wBACTH,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,0BAEZxE,GACC8D,EAAA,cAAAE,IAAA,2CACEU,GAAG,2BACHC,MAAM,yBACNC,OAAM,MAENd,EAAA,UAAAE,IAAA,2CACEC,MAAO,CACL,gBAAiB,KACjB,CAAC,iBACC1E,KAAKE,aAAe,WAAa,YAC9B,MACN,aACU,yBAAwB,gBACpB,GAAGF,KAAKE,eAAc,gBAEnCF,KAAKE,aAAe,wBAA0B,KAEhDoF,QAAStF,KAAKgB,eACduE,UAAWC,MAMpBzD,EAAW/B,KAAKmB,GAAI,qBAAuBnB,KAAKE,cAC/CqE,EAAA,OAAAE,IAAA,2CAAKC,MAAM,mBAAmBS,GAAG,yBAC/BZ,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,sBAGdlD,EAAW/B,KAAKmB,GAAI,UAAYoD,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,W","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as e,c as t,h as i,H as o,g as s}from"./p-8e4e97b4.js";import{t as n,d as a}from"./p-269f841d.js";import{c as r}from"./p-68a5aaff.js";const l='/*! 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 (prefers-reduced-motion: no-preference){:host .opening-from-parent{animation:slide-in var(--ic-transition-duration-slow) ease-in-out}:host .opening-from-child{animation:slide-out var(--ic-transition-duration-slow) ease-in-out}}:host{border-radius:var(--ic-border-radius);color:var(--ic-popover-nav-text);--ic-typography-color:var(--ic-popover-nav-text);position:relative;z-index:var(--ic-z-index-popover);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);display:none}:host(.on-dialog){inset:auto !important}:host(.on-dialog-fix-translate){transform:translate(0, var(--ic-space-xs)) !important}:host(.on-dialog-translate-y){transform:translate(0, calc(-1 * var(--translate-y))) !important}.menu{border:var(--ic-border-default);border-color:var(--ic-popover-border);border-radius:var(--ic-border-radius);background-color:var(--ic-popover-background);visibility:hidden;height:0}.button{text-decoration:none;list-style-type:none}:host(:focus-within){box-shadow:var(--ic-border-focus)}.menu:focus-visible{outline:none}:host(.ic-popover-menu-open){display:block;min-width:calc(20rem - var(--ic-space-xl));width:var(--popover-width, 20rem);max-width:calc(100vw - var(--ic-space-xl))}:host(.ic-popover-menu-open) .menu{visibility:visible;height:-moz-fit-content;height:fit-content;max-height:var(--max-height, -moz-fit-content);max-height:var(--max-height, fit-content);overflow-y:auto;overflow-x:hidden}.parent-label{--ic-typography-color:var(--ic-popover-parent-label);margin:var(--ic-space-xs) var(--ic-space-xs) 0}@keyframes slide-in{from{opacity:0;transform:translateX(10rem)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out{from{opacity:0;transform:translateX(-10rem)}to{opacity:1;transform:translateX(0)}}';const c=l;const d=class{constructor(i){e(this,i);this.icPopoverClosed=t(this,"icPopoverClosed",7);this.ARIA_LABEL="aria-label";this.popoverMenuEls=[];this.openingFromChild=false;this.openingFromParent=false;this.submenuLevel=1;this.theme="inherit";this.open=undefined;this.setButtonFocus=()=>{var e;(e=this.popoverMenuEls[this.currentFocus])===null||e===void 0?void 0:e.focus()};this.findAnchorEl=e=>{let t=null;if(!e){this.submenuId===undefined&&console.error("No anchor specified for popover component")}else{t=document.querySelector(e.indexOf("#")===0?e:"#"+e);if(t===null){console.error(`Popover anchor element '${e}' not found`)}}return t};this.isNotPopoverMenuEl=e=>{const{id:t,tagName:i}=e.target;return t!==this.anchor&&i!=="IC-MENU-ITEM"&&i!=="IC-MENU-GROUP"&&i!=="IC-POPOVER-MENU"};this.getNextItemToSelect=(e,t)=>{const i=this.popoverMenuEls.length-1;if(e<1){e=0}let o=t?e+1:e-1;if(o<0){o=i}else if(o>i){o=0}return o};this.addMenuItems=e=>{var t;for(let i=0;i<e.length;i++){const o=e[i];if(o.tagName==="IC-MENU-ITEM"){this.popoverMenuEls.push(o)}else if(o.tagName==="IC-MENU-GROUP"){const e=(t=o.shadowRoot)===null||t===void 0?void 0:t.querySelector(".menu-items-wrapper");if(e){const t=n(e);t&&this.addMenuItems(t)}}}};this.getMenuAriaLabel=()=>{const e=this.el.getAttribute(this.ARIA_LABEL);if(a(this.submenuId)){return`${e}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`}else{return e}};this.handleBackButtonClick=()=>{var e;(e=this.parentPopover)===null||e===void 0?void 0:e.openFromChild();this.open=false};this.initPopperJS=()=>{if(this.anchorEl){this.popperInstance=r(this.anchorEl,this.el,{placement:"bottom-start",modifiers:[{name:"offset",options:{offset:[0,4]}},{name:"flip",options:{fallbackPlacements:["top-start","top-end","bottom-end"],rootBoundary:"viewport"}}]})}}}watchOpenHandler(){var e;const t=(e=this.el.parentElement)===null||e===void 0?void 0:e.querySelectorAll(`ic-popover-menu`);if(this.open){if(t.length>0){t.forEach((e=>{if(e!==this.el){e.open=false}}))}if(this.parentPopover!==undefined&&!this.popoverMenuEls.some((e=>e.id))){this.backButton&&this.popoverMenuEls.unshift(this.backButton)}this.currentFocus=0;setTimeout(this.setButtonFocus,50)}else if(this.popperInstance){if(t.length>0){t.forEach((e=>{if(e!==this.el){e.open=false}}))}this.popperInstance.destroy();this.popperInstance=null}}disconnectedCallback(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}}componentDidLoad(){var e;const t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("ul.button");if(t){const e=n(t);if(e!==null){this.addMenuItems(e)}}if(this.submenuId===undefined&&this.el.getAttribute(this.ARIA_LABEL)===null){console.error(`No aria-label specified for popover menu component - aria-label required`)}this.watchOpenHandler()}componentWillRender(){this.anchorEl=this.findAnchorEl(this.anchor)}componentDidRender(){if(this.open&&!this.popperInstance){this.initPopperJS()}}handleMenuItemClick(e){if(!e.detail.submenuTriggerFor&&e.detail.label!=="Back"){this.closeMenu(false,e.detail)}}handleSubmenuChange(e){const t=e.target;this.open=false;const i=document.querySelector(`ic-popover-menu[submenu-id=${t.submenuTriggerFor}]`);i.parentPopover=this.el;i.anchor=this.anchor;i.ariaLabel=this.el.getAttribute(this.ARIA_LABEL);i.openFromParent();i.submenuLevel=this.submenuLevel+1;i.parentLabel=t.label}handleClick(e){if(this.open&&this.isNotPopoverMenuEl(e)){this.closeMenu()}}handleKeyDown(e){switch(e.key){case"ArrowDown":case"ArrowUp":e.preventDefault();this.currentFocus=this.getNextItemToSelect(this.currentFocus,e.key==="ArrowDown");this.setButtonFocus();break;case"Home":this.currentFocus=0;this.setButtonFocus();break;case"End":this.currentFocus=this.popoverMenuEls.length-1;this.setButtonFocus();break;case"Escape":case"Tab":e.preventDefault();if(this.open){this.closeMenu(true);this.el.blur()}break}}async openFromChild(){this.open=true;this.openingFromChild=true;setTimeout((()=>this.openingFromChild=false),1e3)}async openFromParent(){this.open=true;this.openingFromParent=true;setTimeout((()=>this.openingFromParent=false),1e3)}async closeMenu(e=false,t){var i;this.open=false;if(this.parentPopover){this.parentPopover.closeMenu(e,t)}else{if(e){(i=this.anchorEl)===null||i===void 0?void 0:i.focus()}this.icPopoverClosed.emit(t)}}render(){return i(o,{key:"22d7146fb66905fd58370ecdb03dcbe750d5c287",class:{["ic-popover-menu-open"]:!!this.open,[`ic-theme-${this.theme}`]:this.theme!=="inherit"}},i("div",{key:"63efc4505ce4a676839c259b174604c79b0e7781",id:this.parentPopover===undefined?`ic-popover-submenu-${this.submenuId}`:"",class:{menu:true}},i("span",{key:"14860cdc189b85398dd92dce52907869d8223598",class:{"opening-from-parent":this.openingFromParent,"opening-from-child":this.openingFromChild}},a(this.submenuId)&&i("span",{key:"8e7a29c0d1159c156313247279c9b4bfb3e6ada4"},i("span",{key:"c2f9aa89fb51c822714ba71d078add0f55e529b1",role:"menu"},i("ic-menu-item",{key:"619dc3d8ba9dd9d479623d67fad0e3bc0d45f113",class:"ic-popover-submenu-back-button",ref:e=>this.backButton=e,label:"Back",onClick:this.handleBackButtonClick,id:`ic-popover-submenu-back-button-${this.submenuLevel}`},i("svg",{key:"61974e7d25308ab26ee4759243ba2f577f0e7ca8",slot:"icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"submenu-back-icon"},i("path",{key:"11e3b1b7496c19deeb22af35d4033e33d9c71b15",d:"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z",fill:"currentColor"})))),i("ic-typography",{key:"4f55d2cdc04fdc15157a76176339d8cb6548b3f2",variant:"subtitle-small",class:"parent-label"},this.parentLabel)),i("ul",{key:"ad2855ce0d5366fdf3a9ecaff58fba23edaee6f9",class:"button","aria-label":this.getMenuAriaLabel(),role:"menu"},i("slot",{key:"1f8122018db85fc386bc24fdb710de976d967240"})))))}static get delegatesFocus(){return true}get el(){return s(this)}static get watchers(){return{open:["watchOpenHandler"]}}};d.style=c;export{d as ic_popover_menu};
|
2
|
+
//# sourceMappingURL=p-e3be3502.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icPopoverMenuCss","IcPopoverMenuStyle0","PopoverMenu","constructor","hostRef","this","ARIA_LABEL","popoverMenuEls","openingFromChild","openingFromParent","submenuLevel","theme","open","undefined","setButtonFocus","_a","currentFocus","focus","findAnchorEl","anchor","anchorElement","submenuId","console","error","document","querySelector","indexOf","isNotPopoverMenuEl","ev","id","tagName","target","getNextItemToSelect","currentItem","movingDown","numButtons","length","nextItem","addMenuItems","elements","i","el","push","groupSlotWrapper","shadowRoot","menuGroupElements","getSlotElements","getMenuAriaLabel","ariaLabel","getAttribute","isPropDefined","parentLabel","handleBackButtonClick","parentPopover","openFromChild","initPopperJS","anchorEl","popperInstance","createPopper","placement","modifiers","name","options","offset","fallbackPlacements","rootBoundary","watchOpenHandler","popoverArr","parentElement","querySelectorAll","forEach","popover","some","menuItem","backButton","unshift","setTimeout","destroy","disconnectedCallback","componentDidLoad","slotWrapper","popoverMenuElements","componentWillRender","componentDidRender","handleMenuItemClick","detail","submenuTriggerFor","label","closeMenu","handleSubmenuChange","childEl","openFromParent","handleClick","handleKeyDown","key","preventDefault","blur","setFocusToAnchor","menuElement","icPopoverClosed","emit","render","h","Host","class","menu","role","ref","onClick","slot","viewBox","fill","xmlns","d","variant"],"sources":["src/components/ic-popover-menu/ic-popover-menu.css?tag=ic-popover-menu&encapsulation=shadow","src/components/ic-popover-menu/ic-popover-menu.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n* @prop --ic-z-index-popover: z-index of popover menu. \n* @prop --max-height: Maximum height of the popover menu.\n* @prop --popover-width: Default width of the popover menu.\n*/\n\n@media (prefers-reduced-motion: no-preference) {\n :host .opening-from-parent {\n animation: slide-in var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host .opening-from-child {\n animation: slide-out var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n color: var(--ic-popover-nav-text);\n\n --ic-typography-color: var(--ic-popover-nav-text);\n\n position: relative;\n z-index: var(--ic-z-index-popover);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n display: none;\n}\n\n:host(.on-dialog) {\n inset: auto !important;\n}\n\n:host(.on-dialog-fix-translate) {\n transform: translate(0, var(--ic-space-xs)) !important;\n}\n\n:host(.on-dialog-translate-y) {\n transform: translate(0, calc(-1 * var(--translate-y))) !important;\n}\n\n.menu {\n border: var(--ic-border-default);\n border-color: var(--ic-popover-border);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-popover-background);\n visibility: hidden;\n height: 0;\n}\n\n.button {\n text-decoration: none;\n list-style-type: none;\n}\n\n:host(:focus-within) {\n box-shadow: var(--ic-border-focus);\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.ic-popover-menu-open) {\n display: block;\n min-width: calc(20rem - var(--ic-space-xl));\n width: var(--popover-width, 20rem);\n max-width: calc(100vw - var(--ic-space-xl));\n}\n\n:host(.ic-popover-menu-open) .menu {\n visibility: visible;\n height: fit-content;\n max-height: var(--max-height, fit-content);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.parent-label {\n --ic-typography-color: var(--ic-popover-parent-label);\n\n margin: var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n@keyframes slide-in {\n from {\n opacity: 0;\n transform: translateX(10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes slide-out {\n from {\n opacity: 0;\n transform: translateX(-10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n","import {\n Component,\n Element,\n Host,\n h,\n Prop,\n Listen,\n Watch,\n State,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport { getSlotElements, isPropDefined } from \"../../utils/helpers\";\nimport { createPopper, Instance as PopperInstance } from \"@popperjs/core\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-popover-menu\",\n styleUrl: \"ic-popover-menu.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class PopoverMenu {\n private anchorEl: HTMLElement | null;\n private ARIA_LABEL: string = \"aria-label\";\n private backButton?: HTMLIcMenuItemElement;\n private currentFocus: number;\n private popoverMenuEls: HTMLIcMenuItemElement[] = [];\n private popperInstance: PopperInstance | null;\n\n @Element() el: HTMLIcPopoverMenuElement;\n\n @State() openingFromChild: boolean = false;\n @State() openingFromParent: boolean = false;\n\n /**\n * The ID of the element the popover menu will anchor itself to. This is required unless the popover is a submenu.\n */\n @Prop() anchor?: string;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentLabel?: string;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentPopover?: HTMLIcPopoverMenuElement;\n\n /**\n * The unique identifier for a popover submenu.\n */\n @Prop() submenuId?: string;\n\n /**\n * @internal The level of menu being displayed.\n */\n @Prop() submenuLevel?: number = 1;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * If `true`, the popover menu will be displayed.\n */\n @Prop({ reflect: true, mutable: true }) open?: boolean | undefined =\n undefined;\n\n @Watch(\"open\")\n watchOpenHandler(): void {\n const popoverArr = this.el.parentElement?.querySelectorAll(\n `ic-popover-menu`\n ) as NodeListOf<HTMLIcPopoverMenuElement>;\n if (this.open) {\n if (popoverArr.length > 0) {\n popoverArr.forEach((popover) => {\n if (popover !== this.el) {\n popover.open = false;\n }\n });\n }\n if (\n this.parentPopover !== undefined &&\n !this.popoverMenuEls.some((menuItem) => menuItem.id)\n ) {\n this.backButton && this.popoverMenuEls.unshift(this.backButton);\n }\n\n this.currentFocus = 0;\n // Needed so that anchorEl isn't always focused\n setTimeout(this.setButtonFocus, 50);\n } else if (this.popperInstance) {\n if (popoverArr.length > 0) {\n popoverArr.forEach((popover) => {\n if (popover !== this.el) {\n popover.open = false;\n }\n });\n }\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n /**\n * Emitted when the popover menu is closed.\n */\n @Event() icPopoverClosed: EventEmitter<HTMLIcMenuItemElement>;\n\n disconnectedCallback(): void {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n componentDidLoad(): void {\n const slotWrapper = this.el.shadowRoot?.querySelector(\"ul.button\");\n if (slotWrapper) {\n const popoverMenuElements = getSlotElements(slotWrapper);\n\n if (popoverMenuElements !== null) {\n this.addMenuItems(popoverMenuElements);\n }\n }\n\n if (\n this.submenuId === undefined &&\n this.el.getAttribute(this.ARIA_LABEL) === null\n ) {\n console.error(\n `No aria-label specified for popover menu component - aria-label required`\n );\n }\n\n this.watchOpenHandler();\n }\n\n componentWillRender(): void {\n this.anchorEl = this.findAnchorEl(this.anchor);\n }\n\n componentDidRender(): void {\n if (this.open && !this.popperInstance) {\n this.initPopperJS();\n }\n }\n\n @Listen(\"handleMenuItemClick\")\n handleMenuItemClick(ev: CustomEvent<HTMLIcMenuItemElement>): void {\n if (!ev.detail.submenuTriggerFor && ev.detail.label !== \"Back\") {\n this.closeMenu(false, ev.detail);\n }\n }\n\n // This is listening for the event emitted when a menu item is acting as a trigger button\n @Listen(\"triggerPopoverMenuInstance\", { capture: true })\n handleSubmenuChange(ev: Event): void {\n // Finds the trigger menu item that has emitted the event\n const target = ev.target as HTMLIcMenuItemElement;\n this.open = false;\n\n // Find the popover menu that the menu item triggers (i.e. submenu-trigger-for === submenu-id).\n const childEl = document.querySelector(\n `ic-popover-menu[submenu-id=${target.submenuTriggerFor}]`\n ) as HTMLIcPopoverMenuElement;\n // Set the parent popover menu of the submenu and open the submenu\n childEl.parentPopover = this.el;\n childEl.anchor = this.anchor;\n childEl.ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n childEl.openFromParent();\n childEl.submenuLevel = this.submenuLevel! + 1;\n // Set the label in the submenu using the label of the menu item that has emitted the event\n childEl.parentLabel = target.label;\n }\n\n @Listen(\"click\", { target: \"document\" })\n handleClick(ev: Event): void {\n if (this.open && this.isNotPopoverMenuEl(ev)) {\n // If menu is open and the next click on the document is not a popover El, close the popover\n this.closeMenu();\n }\n }\n\n // Manages the keyboard navigation in the popover menu\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case \"ArrowDown\":\n case \"ArrowUp\":\n ev.preventDefault();\n this.currentFocus = this.getNextItemToSelect(\n this.currentFocus,\n ev.key === \"ArrowDown\"\n );\n this.setButtonFocus();\n break;\n case \"Home\":\n //Sets home focus as first element, or back button\n this.currentFocus = 0;\n this.setButtonFocus();\n break;\n case \"End\":\n //Sets end focus as last element\n this.currentFocus = this.popoverMenuEls.length - 1;\n this.setButtonFocus();\n break;\n case \"Escape\":\n case \"Tab\":\n ev.preventDefault();\n if (this.open) {\n this.closeMenu(true);\n this.el.blur();\n }\n break;\n }\n }\n\n /**\n * @internal Opens the menu from the child menu.\n */\n @Method()\n async openFromChild(): Promise<void> {\n this.open = true;\n this.openingFromChild = true;\n\n setTimeout(() => (this.openingFromChild = false), 1000);\n }\n\n /**\n * @internal Opens the menu from the parent menu.\n */\n @Method()\n async openFromParent(): Promise<void> {\n this.open = true;\n this.openingFromParent = true;\n\n setTimeout(() => (this.openingFromParent = false), 1000);\n }\n\n private setButtonFocus = () => {\n this.popoverMenuEls[this.currentFocus]?.focus();\n };\n\n // Checks that the popover menu has an anchor\n private findAnchorEl = (anchor: string | undefined): HTMLElement | null => {\n let anchorElement: HTMLElement | null = null;\n if (!anchor) {\n this.submenuId === undefined &&\n console.error(\"No anchor specified for popover component\");\n } else {\n anchorElement = document.querySelector(\n anchor.indexOf(\"#\") === 0 ? anchor : \"#\" + anchor\n );\n if (anchorElement === null) {\n console.error(`Popover anchor element '${anchor}' not found`);\n }\n }\n return anchorElement;\n };\n\n private isNotPopoverMenuEl = (ev: Event) => {\n const { id, tagName } = ev.target as HTMLElement;\n return (\n id !== this.anchor &&\n tagName !== \"IC-MENU-ITEM\" &&\n tagName !== \"IC-MENU-GROUP\" &&\n tagName !== \"IC-POPOVER-MENU\"\n );\n };\n\n /**\n * @internal Close the menu, emit icPopoverClosed of the root popover\n * @param setFocusToAnchor when true return focus to anchor element when menu is closed\n */\n @Method()\n async closeMenu(\n setFocusToAnchor = false,\n menuElement?: HTMLIcMenuItemElement\n ): Promise<void> {\n this.open = false;\n if (this.parentPopover) {\n this.parentPopover.closeMenu(setFocusToAnchor, menuElement);\n } else {\n if (setFocusToAnchor) {\n this.anchorEl?.focus();\n }\n this.icPopoverClosed.emit(menuElement);\n }\n }\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numButtons = this.popoverMenuEls.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n\n // Check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numButtons;\n } else if (nextItem > numButtons) {\n nextItem = 0;\n }\n\n return nextItem;\n };\n\n private addMenuItems = (elements: Element[] | NodeListOf<ChildNode>) => {\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i] as HTMLIcMenuItemElement;\n if (el.tagName === \"IC-MENU-ITEM\") {\n this.popoverMenuEls.push(el);\n } else if (el.tagName === \"IC-MENU-GROUP\") {\n const groupSlotWrapper = el.shadowRoot?.querySelector(\n \".menu-items-wrapper\"\n );\n if (groupSlotWrapper) {\n const menuGroupElements = getSlotElements(groupSlotWrapper);\n menuGroupElements && this.addMenuItems(menuGroupElements);\n }\n }\n }\n };\n\n private getMenuAriaLabel = (): string | null => {\n const ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n\n if (isPropDefined(this.submenuId)) {\n return `${ariaLabel}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`;\n } else {\n return ariaLabel;\n }\n };\n\n private handleBackButtonClick = (): void => {\n this.parentPopover?.openFromChild();\n this.open = false;\n };\n\n private initPopperJS = () => {\n if (this.anchorEl) {\n this.popperInstance = createPopper(this.anchorEl, this.el, {\n placement: \"bottom-start\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top-start\", \"top-end\", \"bottom-end\"],\n rootBoundary: \"viewport\",\n },\n },\n ],\n });\n }\n };\n\n render() {\n return (\n <Host\n class={{\n [\"ic-popover-menu-open\"]: !!this.open,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <div\n id={\n this.parentPopover === undefined\n ? `ic-popover-submenu-${this.submenuId}`\n : \"\"\n }\n class={{\n menu: true,\n }}\n >\n <span\n class={{\n \"opening-from-parent\": this.openingFromParent,\n \"opening-from-child\": this.openingFromChild,\n }}\n >\n {isPropDefined(this.submenuId) && (\n <span>\n <span role=\"menu\">\n <ic-menu-item\n class=\"ic-popover-submenu-back-button\"\n ref={(el) => (this.backButton = el)}\n label=\"Back\"\n onClick={this.handleBackButtonClick}\n id={`ic-popover-submenu-back-button-${this.submenuLevel}`}\n >\n <svg\n slot=\"icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"submenu-back-icon\"\n >\n <path\n d=\"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-menu-item>\n </span>\n <ic-typography variant=\"subtitle-small\" class=\"parent-label\">\n {this.parentLabel}\n </ic-typography>\n </span>\n )}\n <ul class=\"button\" aria-label={this.getMenuAriaLabel()} role=\"menu\">\n <slot></slot>\n </ul>\n </span>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":[],"mappings":""}
|
1
|
+
{"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
|