@ukic/web-components 2.1.0-beta.6 → 2.1.0-beta.8
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/{check-icon-999d9877.js → check-icon-b2f60716.js} +2 -2
- package/dist/cjs/check-icon-b2f60716.js.map +1 -0
- package/dist/cjs/{chevron-icon-d175fe66.js → chevron-icon-2645d6b0.js} +2 -2
- package/dist/cjs/chevron-icon-2645d6b0.js.map +1 -0
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{error-icon-99504103.js → error-icon-9af90abc.js} +7 -5
- package/dist/cjs/error-icon-9af90abc.js.map +1 -0
- package/dist/cjs/{helpers-81484ceb.js → helpers-5f391578.js} +7 -2
- package/dist/cjs/helpers-5f391578.js.map +1 -0
- package/dist/cjs/ic-alert.cjs.entry.js +10 -8
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +5 -4
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +11 -3
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +6 -19
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +14 -3
- package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +12 -3
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +11 -3
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +13 -11
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +2 -2
- package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +2 -2
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +43 -27
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +4 -4
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +10 -4
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +4 -4
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +4 -4
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +2 -2
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +3 -3
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +12 -3
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +12 -4
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +16 -20
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +131 -59
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +16 -8
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +2 -2
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +12 -9
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +10 -2
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +4 -4
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +9 -1
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +4 -4
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +10 -5
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{success-icon-887b2097.js → success-icon-c8fec63d.js} +4 -3
- package/dist/cjs/success-icon-c8fec63d.js.map +1 -0
- package/dist/cjs/types-3eb02246.js.map +1 -1
- package/dist/collection/assets/back-icon.svg +1 -1
- package/dist/collection/assets/check-icon.svg +1 -1
- package/dist/collection/assets/chevron-icon.svg +1 -1
- package/dist/collection/assets/dismiss-icon.svg +1 -1
- package/dist/collection/assets/error-icon.svg +2 -2
- package/dist/collection/assets/info-icon.svg +2 -2
- package/dist/collection/assets/neutral-icon.svg +2 -2
- package/dist/collection/assets/success-icon.svg +2 -2
- package/dist/collection/assets/warning-icon.svg +2 -2
- package/dist/collection/components/ic-alert/ic-alert.css +13 -13
- package/dist/collection/components/ic-back-to-top/assets/ArrowUpward.svg +2 -2
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +12 -6
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +28 -0
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.css +16 -15
- package/dist/collection/components/ic-button/ic-button.js +3 -19
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-card/ic-card.css +4 -4
- package/dist/collection/components/ic-card/ic-card.js +32 -1
- package/dist/collection/components/ic-card/ic-card.js.map +1 -1
- package/dist/collection/components/ic-checkbox/ic-checkbox.css +28 -30
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +33 -1
- package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +18 -2
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-chip/ic-chip.css +11 -10
- package/dist/collection/components/ic-chip/ic-chip.js +28 -0
- package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +1 -1
- package/dist/collection/components/ic-data-entity/ic-data-entity.css +1 -1
- package/dist/collection/components/ic-data-row/ic-data-row.css +7 -7
- package/dist/collection/components/ic-data-row/ic-data-row.js +11 -9
- package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
- package/dist/collection/components/ic-divider/ic-divider.css +1 -1
- package/dist/collection/components/ic-footer/ic-footer.css +4 -4
- package/dist/collection/components/ic-footer-link/ic-footer-link.css +1 -1
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +1 -1
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js +1 -1
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-hero/ic-hero.css +35 -30
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +16 -15
- package/dist/collection/components/ic-input-container/ic-input-container.css +0 -1
- package/dist/collection/components/ic-input-validation/ic-input-validation.css +4 -5
- package/dist/collection/components/ic-link/ic-link.css +0 -9
- package/dist/collection/components/ic-link/ic-link.js +29 -3
- package/dist/collection/components/ic-link/ic-link.js.map +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +5 -5
- package/dist/collection/components/ic-menu/ic-menu.css +14 -13
- package/dist/collection/components/ic-menu/ic-menu.js +71 -44
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +2 -2
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +8 -6
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +2 -2
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +20 -12
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +2 -2
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +10 -10
- package/dist/collection/components/ic-page-header/ic-page-header.css +5 -5
- package/dist/collection/components/ic-page-header/ic-page-header.js +1 -1
- package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.css +32 -0
- package/dist/collection/components/ic-radio-group/ic-radio-group.js +34 -2
- package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js +1 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-radio-option/ic-radio-option.css +25 -34
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +30 -2
- package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.css +12 -14
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +15 -31
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-select/assets/Expand.svg +1 -1
- package/dist/collection/components/ic-select/ic-select.css +27 -15
- package/dist/collection/components/ic-select/ic-select.js +226 -62
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +37 -25
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +16 -7
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.css +7 -7
- package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
- package/dist/collection/components/ic-step/ic-step.css +11 -10
- package/dist/collection/components/ic-stepper/ic-stepper.js +12 -9
- package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
- package/dist/collection/components/ic-switch/ic-switch.css +19 -19
- package/dist/collection/components/ic-switch/ic-switch.js +28 -0
- package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
- package/dist/collection/components/ic-tab/ic-tab.css +1 -1
- package/dist/collection/components/ic-tab/ic-tab.js +28 -0
- package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js +1 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-tab-group/ic-tab-group.css +5 -5
- package/dist/collection/components/ic-tab-group/ic-tab-group.js +3 -3
- package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +4 -0
- package/dist/collection/components/ic-text-field/ic-text-field.css +6 -7
- package/dist/collection/components/ic-text-field/ic-text-field.js +4 -4
- package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.css +3 -3
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +23 -17
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +11 -5
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js +1 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js.map +1 -1
- package/dist/collection/utils/helpers.js +5 -1
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/check-icon.js +1 -1
- package/dist/components/chevron-icon.js +1 -1
- package/dist/components/error-icon.js +6 -4
- package/dist/components/error-icon.js.map +1 -1
- package/dist/components/helpers.js +6 -2
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-alert.js +7 -5
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-back-to-top.js +4 -3
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-breadcrumb2.js +11 -2
- package/dist/components/ic-breadcrumb2.js.map +1 -1
- package/dist/components/ic-button2.js +3 -16
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card.js +14 -2
- package/dist/components/ic-card.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +2 -2
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +13 -3
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +12 -3
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-classification-banner.js +1 -1
- package/dist/components/ic-classification-banner.js.map +1 -1
- package/dist/components/ic-data-entity.js +1 -1
- package/dist/components/ic-data-entity.js.map +1 -1
- package/dist/components/ic-data-row.js +12 -10
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-divider2.js +1 -1
- package/dist/components/ic-divider2.js.map +1 -1
- package/dist/components/ic-footer-link-group.js +1 -1
- package/dist/components/ic-footer-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js +1 -1
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-footer.js +1 -1
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-hero.js +1 -1
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +1 -1
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-container2.js +1 -1
- package/dist/components/ic-input-container2.js.map +1 -1
- package/dist/components/ic-input-label2.js +1 -1
- package/dist/components/ic-input-validation2.js +2 -2
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-link2.js +11 -4
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +1 -1
- package/dist/components/ic-loading-indicator2.js.map +1 -1
- package/dist/components/ic-menu2.js +39 -23
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-button.js +1 -1
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +2 -2
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +2 -2
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +2 -2
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js +3 -3
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-radio-group.js +13 -3
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +13 -4
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +16 -20
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-select.js +134 -58
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-side-navigation.js +14 -6
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-status-tag.js +1 -1
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +1 -1
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +12 -9
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +11 -2
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-group.js +4 -4
- package/dist/components/ic-tab-group.js.map +1 -1
- package/dist/components/ic-tab-panel.js +1 -1
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js +11 -2
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +4 -4
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js +1 -1
- package/dist/components/ic-tooltip2.js +1 -1
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +10 -5
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/success-icon.js +3 -2
- package/dist/components/success-icon.js.map +1 -1
- package/dist/components/types.js.map +1 -1
- package/dist/core/core.css +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-01ebd24d.entry.js +2 -0
- package/dist/core/p-01ebd24d.entry.js.map +1 -0
- package/dist/core/p-02a6562c.entry.js +2 -0
- package/dist/core/p-02a6562c.entry.js.map +1 -0
- package/dist/core/p-03a4d9dc.entry.js +2 -0
- package/dist/core/p-03a4d9dc.entry.js.map +1 -0
- package/dist/core/p-04cf6fab.entry.js +2 -0
- package/dist/core/p-04cf6fab.entry.js.map +1 -0
- package/dist/core/{p-e93e9aa3.entry.js → p-0672c783.entry.js} +2 -2
- package/dist/core/p-0672c783.entry.js.map +1 -0
- package/dist/core/p-0f773f37.entry.js +2 -0
- package/dist/core/p-0f773f37.entry.js.map +1 -0
- package/dist/core/p-0fc9d5c8.entry.js +2 -0
- package/dist/core/p-0fc9d5c8.entry.js.map +1 -0
- package/dist/core/p-10a672d4.entry.js +2 -0
- package/dist/core/p-10a672d4.entry.js.map +1 -0
- package/dist/core/p-24240e11.js +2 -0
- package/dist/core/p-26fd7d7c.entry.js +2 -0
- package/dist/core/p-26fd7d7c.entry.js.map +1 -0
- package/dist/core/p-2961c45f.entry.js +2 -0
- package/dist/core/p-2961c45f.entry.js.map +1 -0
- package/dist/core/p-2a40f189.entry.js +2 -0
- package/dist/core/p-2a40f189.entry.js.map +1 -0
- package/dist/core/p-2e318c95.entry.js +2 -0
- package/dist/core/p-2e318c95.entry.js.map +1 -0
- package/dist/core/{p-f760198e.entry.js → p-2ed06031.entry.js} +2 -2
- package/dist/core/p-30ff49be.entry.js +2 -0
- package/dist/core/{p-c320fa70.entry.js.map → p-30ff49be.entry.js.map} +1 -1
- package/dist/core/{p-a8ac8f72.js → p-3c75ed36.js} +2 -2
- package/dist/core/p-3c75ed36.js.map +1 -0
- package/dist/core/p-3f0232f6.entry.js +2 -0
- package/dist/core/p-3f0232f6.entry.js.map +1 -0
- package/dist/core/p-3f0ac826.entry.js +2 -0
- package/dist/core/p-3f0ac826.entry.js.map +1 -0
- package/dist/core/p-454a7f3d.entry.js +2 -0
- package/dist/core/p-454a7f3d.entry.js.map +1 -0
- package/dist/core/p-48f99591.entry.js +2 -0
- package/dist/core/p-48f99591.entry.js.map +1 -0
- package/dist/core/p-4a8c0c58.entry.js +2 -0
- package/dist/core/p-4a8c0c58.entry.js.map +1 -0
- package/dist/core/{p-cadb531f.entry.js → p-5368bcff.entry.js} +2 -2
- package/dist/core/p-5368bcff.entry.js.map +1 -0
- package/dist/core/p-662d5b43.entry.js +2 -0
- package/dist/core/p-662d5b43.entry.js.map +1 -0
- package/dist/core/p-69512d85.entry.js +2 -0
- package/dist/core/p-69512d85.entry.js.map +1 -0
- package/dist/core/p-6bbc0cf5.entry.js +2 -0
- package/dist/core/p-6bbc0cf5.entry.js.map +1 -0
- package/dist/core/p-6f57b13c.js.map +1 -1
- package/dist/core/{p-23bf0b7a.entry.js → p-86098b7e.entry.js} +2 -2
- package/dist/core/p-86098b7e.entry.js.map +1 -0
- package/dist/core/p-8b383c23.entry.js +2 -0
- package/dist/core/p-8b383c23.entry.js.map +1 -0
- package/dist/core/p-8c7f4343.js +2 -0
- package/dist/core/p-97d4b6cd.entry.js +2 -0
- package/dist/core/p-97d4b6cd.entry.js.map +1 -0
- package/dist/core/p-a472db51.entry.js +2 -0
- package/dist/core/p-a472db51.entry.js.map +1 -0
- package/dist/core/p-a6a77e5c.js +2 -0
- package/dist/core/p-add01f10.entry.js +2 -0
- package/dist/core/p-add01f10.entry.js.map +1 -0
- package/dist/core/p-b29f210b.entry.js +2 -0
- package/dist/core/p-b29f210b.entry.js.map +1 -0
- package/dist/core/p-c2710b13.entry.js +2 -0
- package/dist/core/p-c2710b13.entry.js.map +1 -0
- package/dist/core/p-c6764827.entry.js +2 -0
- package/dist/core/p-c6764827.entry.js.map +1 -0
- package/dist/core/{p-9b4022d7.entry.js → p-ccd078a6.entry.js} +2 -2
- package/dist/core/p-ccd078a6.entry.js.map +1 -0
- package/dist/core/p-d4f7a3e4.entry.js +2 -0
- package/dist/core/p-d4f7a3e4.entry.js.map +1 -0
- package/dist/core/p-d5e0c02a.js +2 -0
- package/dist/core/p-d77f57d9.entry.js +2 -0
- package/dist/core/p-d77f57d9.entry.js.map +1 -0
- package/dist/core/p-dd194ba9.entry.js +2 -0
- package/dist/core/{p-3f9cdcdd.entry.js.map → p-dd194ba9.entry.js.map} +1 -1
- package/dist/core/p-de19fed4.entry.js +2 -0
- package/dist/core/p-de19fed4.entry.js.map +1 -0
- package/dist/core/p-e5e885b1.entry.js +2 -0
- package/dist/core/p-e5e885b1.entry.js.map +1 -0
- package/dist/core/p-e94dfa43.entry.js +2 -0
- package/dist/core/p-e94dfa43.entry.js.map +1 -0
- package/dist/core/{p-4f1a7195.entry.js → p-eaf714a3.entry.js} +2 -2
- package/dist/core/p-f51f4d34.entry.js +2 -0
- package/dist/core/p-f51f4d34.entry.js.map +1 -0
- package/dist/esm/{check-icon-53f1d9e5.js → check-icon-abb210ec.js} +2 -2
- package/dist/esm/check-icon-abb210ec.js.map +1 -0
- package/dist/esm/chevron-icon-98c98242.js +8 -0
- package/dist/esm/chevron-icon-98c98242.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{error-icon-6046a380.js → error-icon-1dc70ca0.js} +7 -5
- package/dist/esm/error-icon-1dc70ca0.js.map +1 -0
- package/dist/esm/{helpers-46e5291b.js → helpers-3aa2f5a5.js} +7 -3
- package/dist/esm/helpers-3aa2f5a5.js.map +1 -0
- package/dist/esm/ic-alert.entry.js +10 -8
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +5 -4
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +11 -3
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +6 -19
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +14 -3
- package/dist/esm/ic-card.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +3 -3
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +12 -3
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +11 -3
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +1 -1
- package/dist/esm/ic-classification-banner.entry.js.map +1 -1
- package/dist/esm/ic-data-entity.entry.js +1 -1
- package/dist/esm/ic-data-entity.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +13 -11
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +2 -2
- package/dist/esm/ic-divider.entry.js.map +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +2 -2
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +2 -2
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +2 -2
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +2 -2
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +43 -27
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +4 -4
- package/dist/esm/ic-input-label_2.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +10 -4
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +2 -2
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +4 -4
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +4 -4
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +2 -2
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +3 -3
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +12 -3
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +12 -4
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +16 -20
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +131 -59
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +16 -8
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +2 -2
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +2 -2
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +12 -9
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +10 -2
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +4 -4
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +1 -1
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +9 -1
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +4 -4
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +1 -1
- package/dist/esm/ic-top-navigation.entry.js +10 -5
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{success-icon-2f71b115.js → success-icon-75b04341.js} +4 -3
- package/dist/esm/success-icon-75b04341.js.map +1 -0
- package/dist/esm/types-dd515332.js.map +1 -1
- package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +4 -0
- package/dist/types/components/ic-button/ic-button.d.ts +1 -4
- package/dist/types/components/ic-card/ic-card.d.ts +4 -0
- package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +4 -0
- package/dist/types/components/ic-chip/ic-chip.d.ts +4 -0
- package/dist/types/components/ic-link/ic-link.d.ts +4 -1
- package/dist/types/components/ic-menu/ic-menu.d.ts +16 -7
- 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 +1 -1
- package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +1 -1
- package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +5 -1
- package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +4 -0
- package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +1 -3
- package/dist/types/components/ic-select/ic-select.d.ts +36 -7
- package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +2 -1
- package/dist/types/components/ic-switch/ic-switch.d.ts +4 -0
- package/dist/types/components/ic-tab/ic-tab.d.ts +4 -0
- package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +1 -1
- package/dist/types/components/ic-text-field/ic-text-field.d.ts +1 -1
- package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +2 -1
- package/dist/types/components.d.ts +90 -33
- package/dist/types/utils/helpers.d.ts +1 -0
- package/dist/types/utils/types.d.ts +1 -0
- package/hydrate/index.js +407 -218
- package/package.json +3 -3
- package/dist/cjs/check-icon-999d9877.js.map +0 -1
- package/dist/cjs/chevron-icon-d175fe66.js.map +0 -1
- package/dist/cjs/error-icon-99504103.js.map +0 -1
- package/dist/cjs/helpers-81484ceb.js.map +0 -1
- package/dist/cjs/success-icon-887b2097.js.map +0 -1
- package/dist/core/p-01e8bd4a.entry.js +0 -2
- package/dist/core/p-01e8bd4a.entry.js.map +0 -1
- package/dist/core/p-050e1e7b.entry.js +0 -2
- package/dist/core/p-050e1e7b.entry.js.map +0 -1
- package/dist/core/p-09592918.entry.js +0 -2
- package/dist/core/p-09592918.entry.js.map +0 -1
- package/dist/core/p-0b00f848.entry.js +0 -2
- package/dist/core/p-0b00f848.entry.js.map +0 -1
- package/dist/core/p-16698d3e.entry.js +0 -2
- package/dist/core/p-16698d3e.entry.js.map +0 -1
- package/dist/core/p-18a9beea.entry.js +0 -2
- package/dist/core/p-18a9beea.entry.js.map +0 -1
- package/dist/core/p-1da1f2f3.entry.js +0 -2
- package/dist/core/p-1da1f2f3.entry.js.map +0 -1
- package/dist/core/p-1e7b4310.js +0 -2
- package/dist/core/p-204f6315.entry.js +0 -2
- package/dist/core/p-204f6315.entry.js.map +0 -1
- package/dist/core/p-217fa7de.entry.js +0 -2
- package/dist/core/p-217fa7de.entry.js.map +0 -1
- package/dist/core/p-23bf0b7a.entry.js.map +0 -1
- package/dist/core/p-272c7abd.entry.js +0 -2
- package/dist/core/p-272c7abd.entry.js.map +0 -1
- package/dist/core/p-27554319.entry.js +0 -2
- package/dist/core/p-27554319.entry.js.map +0 -1
- package/dist/core/p-3efa7f8b.entry.js +0 -2
- package/dist/core/p-3efa7f8b.entry.js.map +0 -1
- package/dist/core/p-3f4d632c.entry.js +0 -2
- package/dist/core/p-3f4d632c.entry.js.map +0 -1
- package/dist/core/p-3f9cdcdd.entry.js +0 -2
- package/dist/core/p-5616cfb8.entry.js +0 -2
- package/dist/core/p-5616cfb8.entry.js.map +0 -1
- package/dist/core/p-66cad84e.entry.js +0 -2
- package/dist/core/p-66cad84e.entry.js.map +0 -1
- package/dist/core/p-6cb276c6.entry.js +0 -2
- package/dist/core/p-6cb276c6.entry.js.map +0 -1
- package/dist/core/p-6f442942.entry.js +0 -2
- package/dist/core/p-6f442942.entry.js.map +0 -1
- package/dist/core/p-7ba184da.entry.js +0 -2
- package/dist/core/p-7ba184da.entry.js.map +0 -1
- package/dist/core/p-80cd0a2d.entry.js +0 -2
- package/dist/core/p-80cd0a2d.entry.js.map +0 -1
- package/dist/core/p-8470c255.entry.js +0 -2
- package/dist/core/p-8470c255.entry.js.map +0 -1
- package/dist/core/p-89a925f8.entry.js +0 -2
- package/dist/core/p-89a925f8.entry.js.map +0 -1
- package/dist/core/p-930cd4cc.entry.js +0 -2
- package/dist/core/p-930cd4cc.entry.js.map +0 -1
- package/dist/core/p-9b4022d7.entry.js.map +0 -1
- package/dist/core/p-9fbceeb2.entry.js +0 -2
- package/dist/core/p-9fbceeb2.entry.js.map +0 -1
- package/dist/core/p-a8ac8f72.js.map +0 -1
- package/dist/core/p-ae02b008.entry.js +0 -2
- package/dist/core/p-ae02b008.entry.js.map +0 -1
- package/dist/core/p-ae6aa67f.js +0 -2
- package/dist/core/p-bb106092.entry.js +0 -2
- package/dist/core/p-bb106092.entry.js.map +0 -1
- package/dist/core/p-bbe00cb1.entry.js +0 -2
- package/dist/core/p-bbe00cb1.entry.js.map +0 -1
- package/dist/core/p-bf5717ca.js +0 -2
- package/dist/core/p-c1d78a64.entry.js +0 -2
- package/dist/core/p-c1d78a64.entry.js.map +0 -1
- package/dist/core/p-c320fa70.entry.js +0 -2
- package/dist/core/p-cadb531f.entry.js.map +0 -1
- package/dist/core/p-d599cf4f.entry.js +0 -2
- package/dist/core/p-d599cf4f.entry.js.map +0 -1
- package/dist/core/p-e192e25d.entry.js +0 -2
- package/dist/core/p-e192e25d.entry.js.map +0 -1
- package/dist/core/p-e28af65b.js +0 -2
- package/dist/core/p-e810f48c.entry.js +0 -2
- package/dist/core/p-e810f48c.entry.js.map +0 -1
- package/dist/core/p-e93e9aa3.entry.js.map +0 -1
- package/dist/core/p-eaea567e.entry.js +0 -2
- package/dist/core/p-eaea567e.entry.js.map +0 -1
- package/dist/core/p-fd0c6039.entry.js +0 -2
- package/dist/core/p-fd0c6039.entry.js.map +0 -1
- package/dist/esm/check-icon-53f1d9e5.js.map +0 -1
- package/dist/esm/chevron-icon-5b38c60a.js +0 -8
- package/dist/esm/chevron-icon-5b38c60a.js.map +0 -1
- package/dist/esm/error-icon-6046a380.js.map +0 -1
- package/dist/esm/helpers-46e5291b.js.map +0 -1
- package/dist/esm/success-icon-2f71b115.js.map +0 -1
- /package/dist/core/{p-1e7b4310.js.map → p-24240e11.js.map} +0 -0
- /package/dist/core/{p-f760198e.entry.js.map → p-2ed06031.entry.js.map} +0 -0
- /package/dist/core/{p-ae6aa67f.js.map → p-8c7f4343.js.map} +0 -0
- /package/dist/core/{p-bf5717ca.js.map → p-a6a77e5c.js.map} +0 -0
- /package/dist/core/{p-e28af65b.js.map → p-d5e0c02a.js.map} +0 -0
- /package/dist/core/{p-4f1a7195.entry.js.map → p-eaf714a3.entry.js.map} +0 -0
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,c as e,h as i,H as a,g as s}from"./p-f9370be6.js";import{a as o}from"./p-6f57b13c.js";import{H as n,m as r,d as l,a as c,r as h,h as d,e as u,i as p,J as b,n as m}from"./p-3c75ed36.js";const f='/*! 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}:host([full-width]),.fullwidth{width:100%}::-moz-placeholder{color:var(--ic-color-tertiary-text);opacity:1}::placeholder{color:var(--ic-color-tertiary-text);opacity:1}input,textarea{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);line-height:1.5rem;letter-spacing:0.005rem;width:100%;padding-right:var(--ic-space-xs);padding-left:var(--ic-space-xs)}textarea{min-height:var(--ic-space-lg);resize:vertical;padding-top:0.375rem}input:focus,textarea:focus{border:0;outline:0}input:disabled,textarea:disabled{color:var(--ic-architectural-200)}input.readonly,textarea.readonly{color:var(--ic-color-primary-text)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type="number"]{-moz-appearance:textfield}textarea.no-resize{resize:none}.maxlengthtext{color:var(--ic-color-secondary-text)}.exceeded{color:var(--ic-status-error)}.disabled{color:var(--ic-architectural-200)}.no-left-pad{padding-left:0}::slotted([slot="icon"]){fill:var(--ic-color-tertiary-text)}.has-value ::slotted([slot="icon"]){fill:var(--ic-color-primary-text)}.charcount{margin-right:calc(-1 * var(--ic-space-xxxs))}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-results-button,input[type="search"]::-webkit-search-results-decoration{display:none}input[type="search"].truncate-value{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (forced-colors: active){input.readonly,textarea.readonly{color:canvastext}.has-value ::slotted([slot="icon"]){fill:currentcolor}}';let y=0;const g=class{constructor(i){t(this,i);this.icKeydown=e(this,"icKeydown",7);this.icInput=e(this,"icInput",7);this.icBlur=e(this,"icBlur",7);this.icFocus=e(this,"icFocus",7);this.icChange=e(this,"icChange",7);this.inheritedAttributes={};this.showLeftIcon=this.hasLeftIconSlot();this.onInput=t=>{this.value=t.target.value;this.icInput.emit({value:this.value})};this.onBlur=t=>{const e=t.target.value;this.icBlur.emit({value:e})};this.onFocus=t=>{const e=t.target.value;this.icFocus.emit({value:e})};this.isTextArea=()=>this.rows>1;this.hasStatus=t=>t!==""&&!this.disabled;this.showStatusText=t=>{if(this.hasStatus(t)&&!(t==o.Success&&this.validationInline)){return true}return false};this.handleFormReset=()=>{this.value=this.initialValue};this.inputId=`ic-text-field-input-${y++}`;this.label=undefined;this.required=false;this.disabled=false;this.readonly=false;this.placeholder="";this.fullWidth=false;this.hideLabel=false;this.helperText="";this.rows=1;this.resize=false;this.small=false;this.value="";this.maxLength=0;this.validationStatus="";this.validationText="";this.validationInline=false;this.autocapitalize="off";this.autocomplete="off";this.autocorrect="off";this.autoFocus=false;this.debounce=0;this.type="text";this.inputmode="text";this.name=this.inputId;this.spellcheck=false;this.ariaActiveDescendant=undefined;this.truncateValue=undefined;this.ariaExpanded=undefined;this.ariaOwns=undefined;this.ariaAutocomplete=undefined;this.role=undefined;this.hiddenInput=true;this.numChars=0;this.maxLengthExceeded=false;this.initialValue=this.value}debounceChanged(){this.icChange=n(this.icChange,this.debounce)}watchValueHandler(t){if(this.inputEl&&this.inputEl.value!==t){this.inputEl.value=t}if(this.maxLength>0){this.numChars=t.length;if(t.length>this.maxLength){this.maxLengthExceeded=true}else{this.maxLengthExceeded=false}}this.icChange.emit({value:t})}async setFocus(){if(this.inputEl){this.inputEl.focus()}}handleKeyDown(t){this.icKeydown.emit({event:t});t.cancelBubble=true}hasLeftIconSlot(){const t=this.el.querySelector(`[slot="icon"]`);if(t!=null){return true}return false}connectedCallback(){this.debounceChanged()}componentWillLoad(){this.watchValueHandler(this.value);this.inheritedAttributes=r(this.el,[...m,"title","aria-autocomplete","aria-haspopup"]);if(this.readonly){this.maxLengthExceeded=false}l(this.el,this.handleFormReset)}componentDidLoad(){c([{prop:this.label,propName:"label"}],"Text Field")}disconnectedCallback(){h(this.el,this.handleFormReset)}render(){const{inputId:t,name:e,label:s,required:n,small:r,placeholder:l,helperText:c,rows:h,resize:m,disabled:f,value:y,maxLength:g,numChars:v,readonly:x,maxLengthExceeded:w,validationStatus:k,validationText:z,validationInline:I,spellcheck:F,inputmode:L,fullWidth:j,truncateValue:q,hiddenInput:C}=this;const T=x?true:f;const B=f?"":l;const H=w?o.Error:k;const W=w?"Maximum length exceeded":z;const M=x?0:g;const S=w||g===0&&H===o.Error?"assertive":"polite";const V=this.showStatusText(H);const D=this.isTextArea();const K=g>0?t+"-charcount-desc":"";const O=(K+" "+d(t,c!=="",V)).trim();if(this.showLeftIcon){if(!x&&T){this.showLeftIcon=false}}const $=H===o.Error?"true":"false";const _=T&&!x;if(C){u(true,this.el,e,y,T)}return i(a,{class:{["fullwidth"]:j}},i("ic-input-container",{readonly:x,disabled:T},!this.hideLabel&&i("ic-input-label",{for:t,label:s,helperText:c,required:n,disabled:_,readonly:x}),i("ic-input-component-container",{small:r,validationStatus:H,multiLine:D,disabled:T,readonly:x,validationInline:I,fullWidth:j},this.showLeftIcon&&i("span",{class:{["readonly"]:x,["has-value"]:y.length>0},slot:"left-icon"},i("slot",{name:"icon"})),!D&&i("input",Object.assign({id:t,name:e,ref:t=>this.inputEl=t,type:this.type,value:y,class:{["no-left-pad"]:!this.showLeftIcon&&x,["readonly"]:x,["truncate-value"]:q},placeholder:B,required:n,disabled:T,readonly:x,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,"aria-label":s,"aria-describedby":O,"aria-invalid":$,"aria-activedescendant":this.ariaActiveDescendant,"aria-expanded":this.ariaExpanded,"aria-owns":this.ariaOwns,autocomplete:this.autocomplete,autocapitalize:this.autocapitalize,autoFocus:this.autoFocus,spellcheck:F,inputmode:L,role:this.role},this.inheritedAttributes)),D&&i("textarea",Object.assign({id:t,class:{["no-resize"]:m===false||x,["no-left-pad"]:!this.showLeftIcon&&x,["readonly"]:x},name:e,ref:t=>this.inputEl=t,value:y,rows:h,required:n,disabled:T,placeholder:B,readonly:x,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,"aria-label":s,"aria-describedby":O,"aria-invalid":$,autocapitalize:this.autocapitalize,autoFocus:this.autoFocus,spellcheck:F,inputmode:L},this.inheritedAttributes)),p(this.el,"clear-button")&&i("slot",{name:"clear-button"}),p(this.el,"search-submit-button")&&i("slot",{name:"search-submit-button"})),p(this.el,"menu")&&i("slot",{name:"menu"}),(!b(k)||!b(z)||M>0)&&i("ic-input-validation",{status:this.hasStatus(H)===false||H===o.Success&&I?"":H,message:V?W:"",ariaLiveMode:S,for:t,fullWidth:j},!x&&M>0&&i("div",{slot:"validation-message-adornment"},i("ic-typography",{variant:"caption",class:{["maxlengthtext"]:true,["exceeded"]:w,["disabled"]:_}},i("span",{"aria-live":"polite",id:`${t}-charcount`,class:"charcount"},v,"/",M),i("span",{hidden:true,id:K},"Field can contain a maximum of ",M," characters."))))))}get el(){return s(this)}static get watchers(){return{debounce:["debounceChanged"],value:["watchValueHandler"]}}};g.style=f;export{g as ic_text_field};
|
2
|
+
//# sourceMappingURL=p-4a8c0c58.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["src/components/ic-text-field/ic-text-field.css?tag=ic-text-field&encapsulation=shadow","src/components/ic-text-field/ic-text-field.tsx"],"names":["icTextFieldCss","inputIds","TextField","this","inheritedAttributes","showLeftIcon","hasLeftIconSlot","onInput","ev","value","target","icInput","emit","onBlur","icBlur","onFocus","icFocus","isTextArea","rows","hasStatus","status","disabled","showStatusText","IcInformationStatus","Success","validationInline","handleFormReset","initialValue","inputId","undefined","[object Object]","icChange","debounceEvent","debounce","newValue","inputEl","maxLength","numChars","length","maxLengthExceeded","focus","icKeydown","event","cancelBubble","iconEl","el","querySelector","debounceChanged","watchValueHandler","inheritAttributes","IC_INHERITED_ARIA","readonly","addFormResetListener","onComponentRequiredPropUndefined","prop","label","propName","removeFormResetListener","name","required","small","placeholder","helperText","resize","validationStatus","validationText","spellcheck","inputmode","fullWidth","truncateValue","hiddenInput","disabledMode","placeholderText","currentStatus","Error","currentValidationText","maxNumChars","messageAriaLive","multiline","hiddenCharCountDescId","describedBy","getInputDescribedByText","trim","invalid","disabledText","renderHiddenInput","h","Host","class","hideLabel","for","multiLine","slot","Object","assign","id","ref","type","aria-label","aria-describedby","aria-invalid","aria-activedescendant","ariaActiveDescendant","aria-expanded","ariaExpanded","aria-owns","ariaOwns","autocomplete","autocapitalize","autoFocus","role","isSlotUsed","isEmptyString","message","ariaLiveMode","variant","aria-live","hidden"],"mappings":"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","sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --input-width: Width of the input field\n */\n display: block;\n}\n\n:host([full-width]),\n.fullwidth {\n width: 100%;\n}\n\n::placeholder {\n color: var(--ic-color-tertiary-text);\n opacity: 1;\n}\n\ninput,\ntextarea {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n padding-right: var(--ic-space-xs);\n padding-left: var(--ic-space-xs);\n}\n\ntextarea {\n min-height: var(--ic-space-lg);\n resize: vertical;\n padding-top: 0.375rem;\n}\n\ninput:focus,\ntextarea:focus {\n border: 0;\n outline: 0;\n}\n\ninput:disabled,\ntextarea:disabled {\n color: var(--ic-architectural-200);\n}\n\ninput.readonly,\ntextarea.readonly {\n color: var(--ic-color-primary-text);\n}\n\n/* Chrome, Safari, Edge */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\ntextarea.no-resize {\n resize: none;\n}\n\n.maxlengthtext {\n color: var(--ic-color-secondary-text);\n}\n\n.exceeded {\n color: var(--ic-status-error);\n}\n\n.disabled {\n color: var(--ic-architectural-200);\n}\n\n.no-left-pad {\n padding-left: 0;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-color-tertiary-text);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-color-primary-text);\n}\n\n.charcount {\n margin-right: calc(-1 * var(--ic-space-xxxs));\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n display: none;\n}\n\ninput[type=\"search\"].truncate-value {\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n@media (forced-colors: active) {\n input.readonly,\n textarea.readonly {\n color: canvastext;\n }\n\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n} from \"@stencil/core\";\n\nimport {\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n} from \"../../interface\";\nimport { IcInformationStatus } from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n isSlotUsed,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot icon - Content will be placed to the left of the text input.\n */\n@Component({\n tag: \"ic-text-field\",\n styleUrl: \"ic-text-field.css\",\n shadow: true,\n})\nexport class TextField {\n @Element() el: HTMLIcTextFieldElement;\n\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private inheritedAttributes: { [k: string]: unknown } = {};\n\n /**\n * @slot clear-button - an ic-button clear component will render as an end adornment to the input.\n * @slot search-submit-button - an ic-button search submit component will render as an end adornment to the input.\n * @slot menu - an ic-menu component will appear below the input.\n */\n\n /**\n * The ID for the input.\n */\n @Prop() inputId?: string = `ic-text-field-input-${inputIds++}`;\n\n /**\n * The label for the input.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required: boolean = false;\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder: string = \"\";\n\n /**\n * Specify whether the text field fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth: boolean = false;\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 * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows: number = 1;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize: boolean = false;\n\n /**\n * If `true`, the small styling will be applied to the text field.\n */\n @Prop({ reflect: true }) small: boolean = false;\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\n\n /**\n * The maximum number of characters that can be entered in the field.\n */\n @Prop() maxLength: number = 0;\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline: boolean = false;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autoFocus = false;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce: number = 0;\n\n private showLeftIcon: boolean = this.hasLeftIconSlot();\n\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: IcTextFieldTypes = \"text\";\n\n /**\n * A hint to the browser for which keyboard to display.\n * Possible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n * `\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`.\n */\n @Prop() inputmode: IcTextFieldInputModes = \"text\";\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 * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck: boolean = false;\n\n /**\n * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n /**\n * @internal If `true`, an ellipsis will be displayed at the end of the value if the value is longer than the container.\n */\n @Prop() truncateValue?: boolean;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete: IcAriaAutocompleteTypes = undefined;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput: boolean = true;\n\n @State() numChars: number = 0;\n @State() maxLengthExceeded: boolean = false;\n @State() initialValue = this.value;\n\n @Watch(\"value\")\n watchValueHandler(newValue: string): void {\n if (this.inputEl && this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n\n if (this.maxLength > 0) {\n this.numChars = newValue.length;\n if (newValue.length > this.maxLength) {\n this.maxLengthExceeded = true;\n } else {\n this.maxLengthExceeded = false;\n }\n }\n this.icChange.emit({ value: newValue });\n }\n\n /**\n * Sets focus on the native `input`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.inputEl) {\n this.inputEl.focus();\n }\n }\n\n //stop keydown event bubbling up to storybook\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({ event: ev });\n ev.cancelBubble = true;\n }\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n private onBlur = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icBlur.emit({ value: value });\n };\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n private onFocus = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icFocus.emit({ value: value });\n };\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n private isTextArea = (): boolean => {\n return this.rows > 1;\n };\n\n private hasLeftIconSlot(): boolean {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n if (iconEl != null) {\n return true;\n }\n return false;\n }\n\n private hasStatus = (status: IcInformationStatusOrEmpty): boolean => {\n return status !== \"\" && !this.disabled;\n };\n\n private showStatusText = (status: IcInformationStatusOrEmpty): boolean => {\n if (\n this.hasStatus(status) &&\n !(status == IcInformationStatus.Success && this.validationInline)\n ) {\n return true;\n }\n return false;\n };\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n componentWillLoad(): void {\n this.watchValueHandler(this.value);\n\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"title\",\n \"aria-autocomplete\",\n \"aria-haspopup\",\n ]);\n\n if (this.readonly) {\n this.maxLengthExceeded = false;\n }\n\n addFormResetListener(this.el, this.handleFormReset);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n small,\n placeholder,\n helperText,\n rows,\n resize,\n disabled,\n value,\n maxLength,\n numChars,\n readonly,\n maxLengthExceeded,\n validationStatus,\n validationText,\n validationInline,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n } = this;\n\n const disabledMode = readonly ? true : disabled;\n\n const placeholderText = disabled ? \"\" : placeholder;\n\n const currentStatus = maxLengthExceeded\n ? IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxLengthExceeded\n ? \"Maximum length exceeded\"\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxLength;\n\n const messageAriaLive =\n maxLengthExceeded ||\n (maxLength === 0 && currentStatus === IcInformationStatus.Error)\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText = this.showStatusText(currentStatus);\n const multiline = this.isTextArea();\n const hiddenCharCountDescId =\n maxLength > 0 ? inputId + \"-charcount-desc\" : \"\";\n const describedBy = (\n hiddenCharCountDescId +\n \" \" +\n getInputDescribedByText(inputId, helperText !== \"\", showStatusText)\n ).trim();\n\n if (this.showLeftIcon) {\n if (!readonly && disabledMode) {\n this.showLeftIcon = false;\n }\n }\n\n const invalid =\n currentStatus === IcInformationStatus.Error ? \"true\" : \"false\";\n const disabledText = disabledMode && !readonly;\n\n if (hiddenInput) {\n renderHiddenInput(true, this.el, name, value, disabledMode);\n }\n\n return (\n <Host class={{ [\"fullwidth\"]: fullWidth }}>\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!this.hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n ></ic-input-label>\n )}\n\n <ic-input-component-container\n small={small}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {this.showLeftIcon && (\n <span\n class={{\n [\"readonly\"]: readonly,\n [\"has-value\"]: value.length > 0,\n }}\n slot=\"left-icon\"\n >\n <slot name=\"icon\" />\n </span>\n )}\n\n {!multiline && (\n <input\n id={inputId}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\n type={this.type}\n value={value}\n class={{\n [\"no-left-pad\"]: !this.showLeftIcon && readonly,\n [\"readonly\"]: readonly,\n [\"truncate-value\"]: truncateValue,\n }}\n placeholder={placeholderText}\n required={required}\n disabled={disabledMode}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-expanded={this.ariaExpanded}\n aria-owns={this.ariaOwns}\n autocomplete={this.autocomplete}\n autocapitalize={this.autocapitalize}\n autoFocus={this.autoFocus}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={this.role}\n {...this.inheritedAttributes}\n ></input>\n )}\n {multiline && (\n <textarea\n id={inputId}\n class={{\n [\"no-resize\"]: resize === false || readonly,\n [\"no-left-pad\"]: !this.showLeftIcon && readonly,\n [\"readonly\"]: readonly,\n }}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLTextAreaElement)}\n value={value}\n rows={rows}\n required={required}\n disabled={disabledMode}\n placeholder={placeholderText}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocapitalize={this.autocapitalize}\n autoFocus={this.autoFocus}\n spellcheck={spellcheck}\n inputmode={inputmode}\n {...this.inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(this.el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(this.el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(this.el, \"menu\") && <slot name=\"menu\"></slot>}\n {(!isEmptyString(validationStatus) ||\n !isEmptyString(validationText) ||\n maxNumChars > 0) && (\n <ic-input-validation\n status={\n this.hasStatus(currentStatus) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline)\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {!readonly && maxNumChars > 0 && (\n <div slot=\"validation-message-adornment\">\n <ic-typography\n variant=\"caption\"\n class={{\n [\"maxlengthtext\"]: true,\n [\"exceeded\"]: maxLengthExceeded,\n [\"disabled\"]: disabledText,\n }}\n >\n <span\n aria-live=\"polite\"\n id={`${inputId}-charcount`}\n class=\"charcount\"\n >\n {numChars}/{maxNumChars}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </ic-typography>\n </div>\n )}\n </ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as t,c as e,h as o,H as i,g as a}from"./p-f9370be6.js";import{I as r}from"./p-6f57b13c.js";const s='/*! 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{--indicator-initial-color:rgba(23 89 188 / 0%);--indicator-color:var(--ic-action-default);--focus-indicator:var(--ic-border-focus);--label-color:var(--ic-color-primary-text);--background-color-hover:var(--ic-action-default-bg-hover);--background-color-active:var(--ic-action-default-bg-active);display:flex;align-items:center;border-radius:0;color:var(--label-color);height:
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as t,c as e,h as o,H as i,g as a}from"./p-f9370be6.js";import{I as r}from"./p-6f57b13c.js";const s='/*! 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{--indicator-initial-color:rgba(23 89 188 / 0%);--indicator-color:var(--ic-action-default);--focus-indicator:var(--ic-border-focus);--label-color:var(--ic-color-primary-text);--background-color-hover:var(--ic-action-default-bg-hover);--background-color-active:var(--ic-action-default-bg-active);display:flex;align-items:center;border-radius:0;color:var(--label-color);height:2.5rem;padding:0 var(--ic-space-md);cursor:pointer;position:relative;border-bottom:var(--ic-space-xxs) solid var(--indicator-initial-color);gap:var(--ic-space-xs);transition:all var(--ic-easing-transition-fast)}:host(:focus){box-shadow:var(--focus-indicator);border-radius:var(--ic-border-radius)}:host(:focus-visible){outline:var(--ic-hc-focus-outline)}:host(:hover){background-color:var(--background-color-hover)}:host(:active){background-color:var(--background-color-active)}:host(.ic-tab-light){--indicator-initial-color:rgb(255 255 255 / 0%);--indicator-color:rgb(255 255 255 / 100%);--focus-indicator:var(--ic-border-focus);--label-color:white;--background-color-hover:var(--ic-action-dark-bg-hover);--background-color-active:var(--ic-action-dark-bg-active)}:host([selected]){border-bottom:var(--ic-space-xxs) solid var(--indicator-color)}:host([disabled]){pointer-events:none;color:var(--ic-architectural-300)}:host([selected].with-transition){transition:all var(--ic-easing-transition-slow),\n border-color var(--ic-transition-duration-slow)}.ic-tab-label{pointer-events:none}::slotted(svg){fill:currentcolor}@media (forced-colors: active){:host{border-bottom:var(--ic-space-xxs) solid canvas}:host([disabled]){color:GrayText}}';const n=class{constructor(o){t(this,o);this.tabClick=e(this,"tabClick",7);this.tabFocus=e(this,"tabFocus",7);this.isInitialRender=true;this.focusFromClick=false;this.handleClick=()=>{this.tabClick.emit({tabId:this.tabId,contextId:this.contextId,position:this.tabPosition});if(this.focusFromClick){this.tabFocus.emit({tabId:this.tabId,contextId:this.contextId,position:this.tabPosition});this.focusFromClick=false}};this.handleFocus=()=>{if(!this.focusFromClick){this.tabFocus.emit({tabId:this.tabId,contextId:this.contextId,position:this.tabPosition})}};this.handleMouseDown=()=>{this.focusFromClick=true};this.contextId="default";this.disabled=false;this.selected=false;this.tabId=undefined;this.tabPosition=undefined;this.appearance="dark"}async setFocus(){if(this.host){this.host.focus()}}componentDidUpdate(){this.isInitialRender=false}render(){const{disabled:t,selected:e,appearance:a}=this;return o(i,{class:{["with-transition"]:!this.isInitialRender,["ic-tab-light"]:a===r.Light},role:"tab","aria-selected":e?"true":"false",onClick:this.handleClick,onFocus:this.handleFocus,onMouseDown:this.handleMouseDown,"aria-disabled":t?"true":"false",tabindex:this.selected?0:-1},this.host.querySelector('[slot="icon"]')&&o("slot",{name:"icon"}),o("ic-typography",{class:"ic-tab-label",variant:"label"},o("span",null,o("slot",null))))}get host(){return a(this)}};n.style=s;export{n as ic_tab};
|
2
|
+
//# sourceMappingURL=p-5368bcff.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["src/components/ic-tab/ic-tab.css?tag=ic-tab&encapsulation=shadow","src/components/ic-tab/ic-tab.tsx"],"names":["icTabCss","Tab","this","isInitialRender","focusFromClick","handleClick","tabClick","emit","tabId","contextId","position","tabPosition","tabFocus","handleFocus","handleMouseDown","[object Object]","host","focus","disabled","selected","appearance","h","Host","class","IcThemeForegroundEnum","Light","role","aria-selected","onClick","onFocus","onMouseDown","aria-disabled","tabindex","querySelector","name","variant"],"mappings":"oGAAA,MAAMA,EAAW,47HCyBJC,EAAG,qGAiCNC,KAAAC,gBAA2B,KAC3BD,KAAAE,eAA0B,MAE1BF,KAAAG,YAAc,KACpBH,KAAKI,SAASC,KAAK,CACjBC,MAAON,KAAKM,MACZC,UAAWP,KAAKO,UAChBC,SAAUR,KAAKS,cAEjB,GAAIT,KAAKE,eAAgB,CACvBF,KAAKU,SAASL,KAAK,CACjBC,MAAON,KAAKM,MACZC,UAAWP,KAAKO,UAChBC,SAAUR,KAAKS,cAEjBT,KAAKE,eAAiB,QAIlBF,KAAAW,YAAc,KACpB,IAAKX,KAAKE,eAAgB,CACxBF,KAAKU,SAASL,KAAK,CACjBC,MAAON,KAAKM,MACZC,UAAWP,KAAKO,UAChBC,SAAUR,KAAKS,gBAKbT,KAAAY,gBAAkB,KAIxBZ,KAAKE,eAAiB,qBA9DsB,wBAKjB,oBAGiB,sEASI,OAoDlDW,iBACE,GAAIb,KAAKc,KAAM,CACbd,KAAKc,KAAKC,SAIdF,qBACEb,KAAKC,gBAAkB,MAGzBY,SACE,MAAMG,SAAEA,EAAQC,SAAEA,EAAQC,WAAEA,GAAelB,KAC3C,OACEmB,EAACC,EAAI,CACHC,MAAO,CACLR,CAAC,oBAAqBb,KAAKC,gBAC3BY,CAAC,gBAAiBK,IAAeI,EAAsBC,OAEzDC,KAAK,MAAKC,gBACKR,EAAW,OAAS,QACnCS,QAAS1B,KAAKG,YACdwB,QAAS3B,KAAKW,YACdiB,YAAa5B,KAAKY,gBAAeiB,gBAClBb,EAAW,OAAS,QACnCc,SAAU9B,KAAKiB,SAAW,GAAK,GAE9BjB,KAAKc,KAAKiB,cAAc,kBAAoBZ,EAAA,OAAA,CAAMa,KAAK,SACxDb,EAAA,gBAAA,CAAeE,MAAM,eAAeY,QAAQ,SAC1Cd,EAAA,OAAA,KACEA,EAAA,OAAA","sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n --indicator-initial-color: rgba(23 89 188 / 0%);\n --indicator-color: var(--ic-action-default);\n --focus-indicator: var(--ic-border-focus);\n --label-color: var(--ic-color-primary-text);\n --background-color-hover: var(--ic-action-default-bg-hover);\n --background-color-active: var(--ic-action-default-bg-active);\n\n display: flex;\n align-items: center;\n border-radius: 0;\n color: var(--label-color);\n height: 2.5rem;\n padding: 0 var(--ic-space-md);\n cursor: pointer;\n position: relative;\n border-bottom: var(--ic-space-xxs) solid var(--indicator-initial-color);\n gap: var(--ic-space-xs);\n transition: all var(--ic-easing-transition-fast);\n}\n\n:host(:focus) {\n box-shadow: var(--focus-indicator);\n border-radius: var(--ic-border-radius);\n}\n\n:host(:focus-visible) {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(:hover) {\n background-color: var(--background-color-hover);\n}\n\n:host(:active) {\n background-color: var(--background-color-active);\n}\n\n:host(.ic-tab-light) {\n --indicator-initial-color: rgb(255 255 255 / 0%);\n --indicator-color: rgb(255 255 255 / 100%);\n --focus-indicator: var(--ic-border-focus);\n --label-color: white;\n --background-color-hover: var(--ic-action-dark-bg-hover);\n --background-color-active: var(--ic-action-dark-bg-active);\n}\n\n:host([selected]) {\n border-bottom: var(--ic-space-xxs) solid var(--indicator-color);\n}\n\n:host([disabled]) {\n pointer-events: none;\n color: var(--ic-architectural-300);\n}\n\n:host([selected].with-transition) {\n transition: all var(--ic-easing-transition-slow),\n border-color var(--ic-transition-duration-slow);\n}\n\n.ic-tab-label {\n pointer-events: none;\n}\n\n::slotted(svg) {\n fill: currentcolor;\n}\n\n@media (forced-colors: active) {\n :host {\n border-bottom: var(--ic-space-xxs) solid canvas;\n }\n\n :host([disabled]) {\n color: GrayText;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n Method,\n} from \"@stencil/core\";\n\nimport { IcTabClickEventDetail } from \"./ic-tab.types\";\nimport {\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\n/**\n * @slot icon - Content will be rendered next to the tab label.\n */\n@Component({\n tag: \"ic-tab\",\n styleUrl: \"ic-tab.css\",\n shadow: true,\n})\nexport class Tab {\n @Element() host: HTMLIcTabElement;\n\n /** @internal The unique context needed if using multiple tabs inside one another i.e. rendering another tabs inside a tab panel. */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /** @internal If `true`, the tab will display with a selected indicator and tabIndex will be set. */\n @Prop({ reflect: true }) selected?: boolean = false;\n\n /** @internal The shared ID between panel and tab. */\n @Prop({ reflect: true }) tabId?: string;\n\n /** @internal The position of the tab inside the tabs array in context. */\n @Prop() tabPosition?: number;\n\n /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /**\n * @internal Emitted when a tab is selected.\n */\n @Event() tabClick: EventEmitter<IcTabClickEventDetail>;\n\n /**\n * @internal Emitted when a tab is focussed.\n */\n @Event() tabFocus: EventEmitter<IcTabClickEventDetail>;\n\n private isInitialRender: boolean = true;\n private focusFromClick: boolean = false;\n\n private handleClick = () => {\n this.tabClick.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n if (this.focusFromClick) {\n this.tabFocus.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n this.focusFromClick = false;\n }\n };\n\n private handleFocus = () => {\n if (!this.focusFromClick) {\n this.tabFocus.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n }\n };\n\n private handleMouseDown = () => {\n //set flag so that focus gets handled after click\n //there is a timing issue where a long click only causes focus to happen & not the click\n //the focus does need to be a seperate event though to handle focus from keyboard\n this.focusFromClick = true;\n };\n\n /**\n * Sets focus on the tab.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.host) {\n this.host.focus();\n }\n }\n\n componentDidUpdate(): void {\n this.isInitialRender = false;\n }\n\n render() {\n const { disabled, selected, appearance } = this;\n return (\n <Host\n class={{\n [\"with-transition\"]: !this.isInitialRender,\n [\"ic-tab-light\"]: appearance === IcThemeForegroundEnum.Light,\n }}\n role=\"tab\"\n aria-selected={selected ? \"true\" : \"false\"}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n onMouseDown={this.handleMouseDown}\n aria-disabled={disabled ? \"true\" : \"false\"}\n tabindex={this.selected ? 0 : -1}\n >\n {this.host.querySelector('[slot=\"icon\"]') && <slot name=\"icon\"></slot>}\n <ic-typography class=\"ic-tab-label\" variant=\"label\">\n <span>\n <slot></slot>\n </span>\n </ic-typography>\n </Host>\n );\n }\n}\n"]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as i,c as t,h as e,H as s,g as a}from"./p-f9370be6.js";import{w as n,v as o,m as l,d as r,a as h,r as c,e as d,h as u,j as p,x as b,n as f}from"./p-3c75ed36.js";import{I as m,a as v}from"./p-6f57b13c.js";const g=`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n<path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor" />\n</svg>\n`;const x=`<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n<path d="M12.6666 4.27334L11.7266 3.33334L7.99998 7.06001L4.27331 3.33334L3.33331 4.27334L7.05998 8.00001L3.33331 11.7267L4.27331 12.6667L7.99998 8.94001L11.7266 12.6667L12.6666 11.7267L8.93998 8.00001L12.6666 4.27334Z" fill="currentColor" />\n</svg>\n`;const w='/*! 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{position:relative}:host([full-width]){width:100%}ic-input-component-container:hover{--border-color:var(--ic-action-dark-hover)}ic-input-component-container:active{--border-color:var(--ic-action-dark-active);color:var(--ic-action-dark-active)}ic-input-component-container.menu-open{--border-color:var(--ic-architectural-400);color:var(--ic-action-dark)}ic-input-validation .status-icon,ic-input-validation .statustext{visibility:visible}ic-input-validation.menu-open .status-icon,ic-input-validation.menu-open .statustext{visibility:hidden;transition:visibility 0s}ic-input-label{margin-bottom:var(--ic-space-xs) !important}select{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);color:var(--ic-color-primary-text);line-height:1.5rem;letter-spacing:0.005rem;width:100%;height:100%;padding-left:0.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 0.375rem center;background-image:url("data:image/svg+xml;utf8,<svg fill=\'black\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>")}select option,.select-option-selected{color:var(--ic-color-primary-text)}select:disabled{color:var(--ic-architectural-200);background-image:url("data:image/svg+xml;utf8,<svg fill=\'grey\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>")}select:focus{border:0;outline:0}select:not([disabled]){cursor:pointer}.select-container{width:100%;display:flex;align-items:center;position:relative}.select-input{width:100%;height:100%;padding:0 0.375rem;display:flex;cursor:pointer;align-items:center;justify-content:space-between;background:none;border:none}.select-input:focus{outline:var(--ic-hc-focus-outline)}:host(:not([disabled])) ic-input-component-container:hover .select-input{background-color:var(--ic-architectural-white)}:host([disabled]) .select-input{pointer-events:none}:host([searchable]) .select-input{cursor:auto}.searchable-select-container{align-items:center;display:flex;width:100%;position:relative}.expand-icon{height:var(--ic-space-lg);padding-left:var(--ic-space-xs);color:var(--ic-action-dark)}.expand-icon>svg{display:inline-block;width:var(--ic-space-lg);height:var(--ic-space-lg)}:host([disabled]) .expand-icon,:host([disabled]) .expand-icon>svg>path{color:var(--ic-architectural-200)}:host([searchable]) .expand-icon{padding-left:var(--ic-space-xxs);height:2.25rem}:host([searchable]) .expand-icon>svg{height:2.25rem;padding:0 0.375rem}:host([searchable]:not([disabled])) .expand-icon>svg{cursor:pointer}.expand-icon-open{color:var(--ic-action-dark)}.expand-icon-filled{color:var(--ic-action-dark)}.expand-icon-open,:host([searchable]) .expand-icon-open{transform:rotateX(180deg)}:host([disabled]) .value-text,.placeholder{color:var(--ic-color-tertiary-text)}.select-input-end{display:flex;align-items:center}.clear-button-container{display:flex;gap:var(--ic-space-xxs);padding-left:2.375rem}:host([small]) .clear-button-container{padding-left:1.875rem}.divider{width:0.063rem;background-color:var(--ic-architectural-400);margin:var(--ic-space-xxs) 0;border-radius:0.063rem;height:var(--ic-space-lg)}:host([small]) .divider{height:var(--ic-space-md)}.clear-button{position:absolute;right:2.75rem;border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus{background-color:var(--ic-focus-blue);box-shadow:inset 0 0 0 0.125rem var(--ic-focus-glow);border-radius:0.25rem}.clear-button:focus *{fill:white}.searchable-select-results-status{border:0;clip:rect(0, 0, 0, 0, 0);height:0.063rem;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:0.063rem}';let y=0;const k=class{constructor(e){i(this,e);this.icChange=t(this,"icChange",7);this.icClear=t(this,"icClear",7);this.icFocus=t(this,"icFocus",7);this.icBlur=t(this,"icBlur",7);this.icOptionSelect=t(this,"icOptionSelect",7);this.icInput=t(this,"icInput",7);this.inputId=`ic-select-input-${y++}`;this.menuId=`${this.inputId}-menu`;this.inheritedAttributes={};this.emitIcChange=i=>{clearTimeout(this.debounceIcChange);this.debounceIcChange=window.setTimeout((()=>{this.icChange.emit({value:i})}),this.currDebounce)};this.emitImmediateIcChange=i=>{clearTimeout(this.debounceIcChange);this.icChange.emit({value:i})};this.isMenuEnabled=()=>(this.searchableSelectInputValue===null||this.searchableSelectInputValue==="")&&this.charactersUntilSuggestions===0||this.searchableSelectInputValue&&this.searchableSelectInputValue.length>=this.charactersUntilSuggestions;this.setOptionsValuesFromLabels=()=>{if(this.options.length>0){this.options.map((i=>{if(!i.value){i.value=i.label}}))}};this.setTextColor=()=>{if(this.nativeSelectElement.selectedIndex===0){this.nativeSelectElement.className="placeholder"}else{this.nativeSelectElement.className="select-option-selected"}};this.setMenuChange=i=>{if(this.open!==i){this.open=i}};this.getLabelFromValue=i=>n(i,this.options);this.getValueFromLabel=i=>{var t;const e=(t=this.options.find((t=>t.label===i)))===null||t===void 0?void 0:t.value;return e};this.getFilteredChildMenuOptions=i=>{let t=i.children;t=o(i.children,this.includeDescriptionsInSearch,this.searchableSelectInputValue,this.searchMatchPosition);const e=Object.assign({},i);e.children=t;return e};this.handleNativeSelectChange=()=>{this.icOptionSelect.emit({value:this.nativeSelectElement.value});this.emitImmediateIcChange(this.nativeSelectElement.value);this.setTextColor()};this.handleCustomSelectChange=i=>{if(this.searchable&&i.detail.label===this.emptyOptionListText){this.searchableSelectElement.focus();return}if(this.searchable){this.searchableSelectInputValue=this.getLabelFromValue(i.detail.value)}this.ariaActiveDescendant=i.detail.optionId;this.icOptionSelect.emit({value:i.detail.value});this.emitImmediateIcChange(i.detail.value)};this.handleMenuChange=i=>{this.open=i.detail.open;this.searchable&&this.handleFocusIndicatorDisplay()};this.handleMenuKeyPress=i=>{const t=i.detail.isNavKey?0:this.debounce;this.debounceChangedHandler(t)};this.handleFocusIndicatorDisplay=()=>{const i=this.host.shadowRoot.querySelector(".focus-indicator");if(this.open){i.classList.add("focus-indicator-enabled")}else{i.classList.remove("focus-indicator-enabled")}};this.handleMouseDown=i=>{if(!this.open){i.preventDefault()}};this.isExternalFiltering=()=>this.searchable&&this.disableFilter;this.handleClick=i=>{if(this.isExternalFiltering()){this.menu.options=this.filteredOptions}else{this.noOptions=null;this.menu.options=this.options}if(i.detail!==0&&this.isMenuEnabled()){this.menu.handleClickOpen()}};this.handleExpandIconMouseDown=i=>{if(!this.disabled){i.preventDefault();this.searchableSelectElement.focus();this.handleClick(i)}};this.handleClear=i=>{i.stopPropagation();this.noOptions=null;this.emitImmediateIcChange(null);this.icClear.emit();if(this.searchable){this.searchableSelectElement.value=null;this.searchableSelectInputValue=null;this.menu.options=this.options;this.searchableSelectElement.focus();if(!this.isMenuEnabled()){this.setMenuChange(false)}}else{this.customSelectElement.focus()}};this.handleKeyDown=i=>{i.cancelBubble=true;const t=i.key==="ArrowDown"||i.key==="ArrowUp";if(!this.open){if(this.isExternalFiltering()&&(i.key==="Enter"||t)){this.menu.options=this.filteredOptions}else{this.noOptions=null;this.menu.options=this.options}}if(this.open&&i.key==="Enter"){this.setMenuChange(false)}else{if(!(t&&this.noOptions!==null)&&this.isMenuEnabled()){if(this.isExternalFiltering()&&t&&this.debounce>0){this.debounceChangedHandler(0)}this.menu.handleKeyboardOpen(i)}}};this.handleClearButtonFocus=()=>{this.clearButtonFocused=true};this.handleClearButtonBlur=()=>{this.clearButtonFocused=false};this.handleSearchableSelectInput=i=>{this.searchableSelectInputValue=i.target.value;this.icInput.emit({value:this.searchableSelectInputValue});if(this.disableFilter){this.emitIcChange(this.searchableSelectInputValue)}else if(this.getValueFromLabel(this.searchableSelectInputValue)===undefined){this.emitIcChange(null)}if(this.isMenuEnabled()){this.setMenuChange(true)}else{this.setMenuChange(false)}if(!this.disableFilter){const i=[...this.options];let t=false;let e=[];i.map((i=>{if(i.children)t=true}));const s=o(i,this.includeDescriptionsInSearch,this.searchableSelectInputValue,this.searchMatchPosition);if(!t){e=s}else{i.map((i=>{if(this.includeGroupTitlesInSearch){if(s.indexOf(i)!==-1){e.push(i)}else{e.push(this.getFilteredChildMenuOptions(i))}}else{e.push(this.getFilteredChildMenuOptions(i))}}))}let a=false;if(t){a=true;e.map((i=>{if(i.children.length>0){a=false}}))}const n=[{label:this.emptyOptionListText,value:""}];if(e.length>0&&!a){this.noOptions=null;this.filteredOptions=e}else{this.noOptions=n;this.filteredOptions=this.noOptions}this.debounceAriaLiveUpdate()}};this.updateSearchableSelectResultAriaLive=()=>{const i=this.host.shadowRoot.querySelector(".searchable-select-results-status");if(this.noOptions!==null){i.innerText=this.emptyOptionListText}else{i.innerText=""}};this.onFocus=()=>{if(this.isExternalFiltering()&&this.debounce>0){this.debounceChangedHandler(this.debounce)}this.icFocus.emit()};this.onBlur=i=>{if(this.searchable&&i.relatedTarget!==this.menu&&!(this.clearButton&&i.relatedTarget===this.clearButton)){this.setMenuChange(false);this.handleFocusIndicatorDisplay()}this.icBlur.emit()};this.handleFormReset=()=>{this.value=this.initialValue;if(this.searchable){this.searchableSelectInputValue=null}};this.label=undefined;this.options=[];this.required=false;this.hideLabel=false;this.disabled=false;this.readonly=false;this.placeholder="Select an option";this.helperText="";this.small=false;this.fullWidth=false;this.validationStatus="";this.validationText="";this.value=undefined;this.debounce=0;this.name=this.inputId;this.showClearButton=false;this.searchable=false;this.includeDescriptionsInSearch=false;this.includeGroupTitlesInSearch=false;this.searchMatchPosition="anywhere";this.charactersUntilSuggestions=0;this.emptyOptionListText="No results found";this.disableFilter=false;this.open=false;this.clearButtonFocused=false;this.searchableSelectInputValue=null;this.filteredOptions=this.options;this.ariaActiveDescendant=undefined;this.noOptions=null;this.initialValue=this.value;this.currDebounce=this.debounce;this.debounceIcChange=undefined}watchOptionsHandler(){if(this.isExternalFiltering()){if(this.options.length>0){this.setOptionsValuesFromLabels();this.noOptions=null;this.filteredOptions=this.options}else if(this.isMenuEnabled()){this.noOptions=[{label:this.emptyOptionListText,value:""}];this.filteredOptions=this.noOptions;this.setMenuChange(true)}this.updateSearchableSelectResultAriaLive()}else{this.setOptionsValuesFromLabels();this.filteredOptions=this.options}}debounceChangedHandler(i){this.updateOnChangeDebounce(i)}async setFocus(){if(this.nativeSelectElement){this.nativeSelectElement.focus()}else if(this.customSelectElement){this.customSelectElement.focus()}else if(this.searchableSelectElement){this.searchableSelectElement.focus()}}updateOnChangeDebounce(i){if(this.currDebounce!==i){this.currDebounce=i}}debounceAriaLiveUpdate(){clearTimeout(this.debounceAria);window.setTimeout((()=>{this.updateSearchableSelectResultAriaLive()}),800)}componentWillLoad(){this.inheritedAttributes=l(this.host,[...f,"tabindex","title"]);this.setOptionsValuesFromLabels();r(this.host,this.handleFormReset)}componentDidRender(){if(this.nativeSelectElement&&!this.disabled){this.setTextColor()}}componentDidLoad(){h([{prop:this.label,propName:"label"}],"Select")}disconnectedCallback(){c(this.host,this.handleFormReset)}render(){const{small:i,disabled:t,fullWidth:a,helperText:n,hideLabel:o,label:l,menuId:r,name:h,options:c,placeholder:f,readonly:w,required:y,searchable:k,showClearButton:z,validationStatus:L,validationText:C,value:M}=this;d(true,this.host,h,M,t);const B=L===v.Error?"true":"false";const H=u(this.inputId,n!=="",p(this.validationStatus,this.disabled)).trim();return e(s,null,e("ic-input-container",{readonly:w},!o&&e("ic-input-label",{for:this.inputId,label:l,helperText:n,required:y,disabled:t,readonly:w}),e("ic-input-component-container",{ref:i=>this.anchorEl=i,class:{"menu-open":this.open},small:i,fullWidth:a,disabled:t,readonly:w,validationStatus:L},w?e("ic-typography",null,e("p",null,this.getLabelFromValue(M))):b()?e("select",Object.assign({ref:i=>this.nativeSelectElement=i,disabled:t,onChange:this.handleNativeSelectChange,required:y,id:this.inputId,"aria-label":l,"aria-describedby":H,"aria-invalid":B,onBlur:this.onBlur,onFocus:this.onFocus},this.inheritedAttributes),e("option",{value:"",selected:true,disabled:!z},f),c.map((i=>{if(i.children){return e("optgroup",{label:i.label},i.children.map((i=>e("option",{value:i.value,disabled:i.disabled,selected:i.value===M},i.label))))}else{return e("option",{value:i.value,disabled:i.disabled,selected:i.value===M},i.label)}}))):k?e("div",{class:"searchable-select-container"},e("input",{class:"select-input",role:"combobox","aria-label":l,"aria-describedby":H,"aria-activedescendant":this.ariaActiveDescendant,"aria-autocomplete":"list","aria-expanded":this.open?"true":"false","aria-invalid":B,"aria-required":y?"true":"false","aria-controls":r,ref:i=>this.searchableSelectElement=i,id:this.inputId,value:this.searchableSelectInputValue,placeholder:f,disabled:t,onInput:this.handleSearchableSelectInput,onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.onFocus,onBlur:this.onBlur}),this.searchableSelectInputValue&&(z||k)&&e("div",{class:"clear-button-container"},e("ic-button",{id:"clear-button",ref:i=>this.clearButton=i,"aria-label":this.searchableSelectInputValue&&M===null?"Clear input":"Clear selection",class:"clear-button",innerHTML:x,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:i?"small":"default",variant:"icon",appearance:this.clearButtonFocused?m.Light:m.Dark}),e("div",{class:"divider"})),e("span",{onMouseDown:this.handleExpandIconMouseDown,class:{"expand-icon":true,"expand-icon-open":this.open,"expand-icon-filled":!(M==null||M===""),"expand-icon-disabled":!this.isMenuEnabled()},innerHTML:g,"aria-hidden":"true"}),e("div",{"aria-live":"polite",role:"status",class:"searchable-select-results-status"})):e("div",{class:"select-container"},e("button",{class:"select-input",ref:i=>this.customSelectElement=i,id:this.inputId,"aria-label":`${l}, ${this.getLabelFromValue(M)||f}${y?", required":""}`,"aria-describedby":H,"aria-invalid":B,"aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-owns":r,"aria-controls":r,disabled:t,onBlur:this.onBlur,onFocus:this.onFocus,onClick:this.handleClick,onMouseDown:this.handleMouseDown,onKeyDown:this.handleKeyDown},e("ic-typography",{variant:"body",class:{"value-text":true,placeholder:this.getLabelFromValue(M)===undefined}},e("p",null,this.getLabelFromValue(M)||f)),e("div",{class:"select-input-end"},M&&z&&e("div",{class:"divider"}),e("span",{class:{"expand-icon":true,"expand-icon-open":this.open,"expand-icon-filled":!(M==null||M==="")},innerHTML:g,"aria-hidden":"true"}))),M&&z&&e("ic-button",{id:"clear-button","aria-label":"Clear selection",class:"clear-button",innerHTML:x,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:i?"small":"default",variant:"icon",appearance:this.clearButtonFocused?m.Light:m.Dark}))),!b()&&e("ic-menu",{class:{"no-results":this.noOptions!==null},ref:i=>this.menu=i,inputEl:k?this.searchableSelectElement:this.customSelectElement,inputLabel:l,anchorEl:this.anchorEl,small:i,menuId:r,open:this.open,options:k?this.filteredOptions:c,value:M,fullWidth:a,onMenuStateChange:this.handleMenuChange,onMenuOptionSelect:this.handleCustomSelectChange,onMenuKeyPress:this.handleMenuKeyPress,parentEl:this.host}),p(this.validationStatus,this.disabled)&&e("ic-input-validation",{class:{"menu-open":this.open},ariaLiveMode:"polite",status:L,message:C,for:this.inputId})))}get host(){return a(this)}static get watchers(){return{options:["watchOptionsHandler"],debounce:["debounceChangedHandler"]}}};k.style=w;export{k as ic_select};
|
2
|
+
//# sourceMappingURL=p-662d5b43.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["src/components/ic-select/ic-select.css?tag=ic-select&encapsulation=shadow","src/components/ic-select/ic-select.tsx"],"names":["icSelectCss","inputIds","Select","this","inputId","menuId","inheritedAttributes","emitIcChange","value","clearTimeout","debounceIcChange","window","setTimeout","icChange","emit","currDebounce","emitImmediateIcChange","isMenuEnabled","searchableSelectInputValue","charactersUntilSuggestions","length","setOptionsValuesFromLabels","options","map","option","label","setTextColor","nativeSelectElement","selectedIndex","className","setMenuChange","open","getLabelFromValue","getValueFromLabel","_a","find","getFilteredChildMenuOptions","children","getFilteredMenuOptions","includeDescriptionsInSearch","searchMatchPosition","newOption","Object","assign","handleNativeSelectChange","icOptionSelect","handleCustomSelectChange","event","searchable","detail","emptyOptionListText","searchableSelectElement","focus","ariaActiveDescendant","optionId","handleMenuChange","handleFocusIndicatorDisplay","handleMenuKeyPress","ev","debounce","isNavKey","debounceChangedHandler","focusIndicator","host","shadowRoot","querySelector","classList","add","remove","handleMouseDown","preventDefault","isExternalFiltering","disableFilter","handleClick","menu","filteredOptions","noOptions","handleClickOpen","handleExpandIconMouseDown","disabled","handleClear","stopPropagation","icClear","customSelectElement","handleKeyDown","cancelBubble","isArrowKey","key","handleKeyboardOpen","handleClearButtonFocus","clearButtonFocused","handleClearButtonBlur","handleSearchableSelectInput","target","icInput","undefined","isGrouped","newFilteredOptions","menuOptionsFiltered","includeGroupTitlesInSearch","indexOf","push","noChildOptionsWhenFiltered","debounceAriaLiveUpdate","updateSearchableSelectResultAriaLive","searchableSelectResultsStatusEl","innerText","onFocus","icFocus","onBlur","relatedTarget","clearButton","icBlur","handleFormReset","initialValue","[object Object]","newValue","updateOnChangeDebounce","debounceAria","inheritAttributes","IC_INHERITED_ARIA","addFormResetListener","onComponentRequiredPropUndefined","prop","propName","removeFormResetListener","small","fullWidth","helperText","hideLabel","name","placeholder","readonly","required","showClearButton","validationStatus","validationText","renderHiddenInput","invalid","IcInformationStatus","Error","describedBy","getInputDescribedByText","hasValidationStatus","trim","h","Host","for","ref","el","anchorEl","class","menu-open","isMobileOrTablet","onChange","id","aria-label","aria-describedby","aria-invalid","selected","role","aria-activedescendant","aria-autocomplete","aria-expanded","aria-required","aria-controls","onInput","onClick","onKeyDown","innerHTML","Clear","size","variant","appearance","IcThemeForegroundEnum","Light","Dark","onMouseDown","expand-icon","expand-icon-open","expand-icon-filled","expand-icon-disabled","Expand","aria-hidden","aria-live","aria-haspopup","aria-owns","value-text","no-results","inputEl","inputLabel","onMenuStateChange","onMenuOptionSelect","onMenuKeyPress","parentEl","ariaLiveMode","status","message"],"mappings":"6rBAAA,MAAMA,EAAc,wqMCsCpB,IAAIC,EAAW,QAOFC,EAAM,mPAQTC,KAAAC,QAAU,mBAAmBH,MAC7BE,KAAAE,OAAS,GAAGF,KAAKC,eAEjBD,KAAAG,oBAAgD,GAqNhDH,KAAAI,aAAgBC,IACtBC,aAAaN,KAAKO,kBAClBP,KAAKO,iBAAmBC,OAAOC,YAAW,KACxCT,KAAKU,SAASC,KAAK,CAAEN,MAAOA,MAC3BL,KAAKY,eAGFZ,KAAAa,sBAAyBR,IAC/BC,aAAaN,KAAKO,kBAClBP,KAAKU,SAASC,KAAK,CAAEN,MAAOA,KAGtBL,KAAAc,cAAgB,KAElBd,KAAKe,6BAA+B,MACpCf,KAAKe,6BAA+B,KACpCf,KAAKgB,6BAA+B,GACrChB,KAAKe,4BACJf,KAAKe,2BAA2BE,QAC9BjB,KAAKgB,2BAILhB,KAAAkB,2BAA6B,KACnC,GAAIlB,KAAKmB,QAAQF,OAAS,EAAG,CAC3BjB,KAAKmB,QAAQC,KAAKC,IAChB,IAAKA,EAAOhB,MAAO,CACjBgB,EAAOhB,MAAQgB,EAAOC,YAMtBtB,KAAAuB,aAAe,KACrB,GAAIvB,KAAKwB,oBAAoBC,gBAAkB,EAAG,CAChDzB,KAAKwB,oBAAoBE,UAAY,kBAChC,CACL1B,KAAKwB,oBAAoBE,UAAY,2BAIjC1B,KAAA2B,cAAiBC,IACvB,GAAI5B,KAAK4B,OAASA,EAAM,CACtB5B,KAAK4B,KAAOA,IAIR5B,KAAA6B,kBAAqBxB,GACpBwB,EAAkBxB,EAAOL,KAAKmB,SAG/BnB,KAAA8B,kBAAqBR,UAC3B,MAAMjB,GAAQ0B,EAAA/B,KAAKmB,QAAQa,MAAMX,GAAWA,EAAOC,QAAUA,OAAM,MAAAS,SAAA,OAAA,EAAAA,EAAE1B,MACrE,OAAOA,GAGDL,KAAAiC,4BAA+BZ,IACrC,IAAIa,EAAWb,EAAOa,SAEtBA,EAAWC,EACTd,EAAOa,SACPlC,KAAKoC,4BACLpC,KAAKe,2BACLf,KAAKqC,qBAGP,MAAMC,EAASC,OAAAC,OAAA,GAAQnB,GACvBiB,EAAUJ,SAAWA,EACrB,OAAOI,GAGDtC,KAAAyC,yBAA2B,KACjCzC,KAAK0C,eAAe/B,KAAK,CAAEN,MAAOL,KAAKwB,oBAAoBnB,QAC3DL,KAAKa,sBAAsBb,KAAKwB,oBAAoBnB,OACpDL,KAAKuB,gBAGCvB,KAAA2C,yBAA4BC,IAClC,GAAI5C,KAAK6C,YAAcD,EAAME,OAAOxB,QAAUtB,KAAK+C,oBAAqB,CACtE/C,KAAKgD,wBAAwBC,QAC7B,OAGF,GAAIjD,KAAK6C,WAAY,CACnB7C,KAAKe,2BAA6Bf,KAAK6B,kBACrCe,EAAME,OAAOzC,OAIjBL,KAAKkD,qBAAuBN,EAAME,OAAOK,SACzCnD,KAAK0C,eAAe/B,KAAK,CAAEN,MAAOuC,EAAME,OAAOzC,QAC/CL,KAAKa,sBAAsB+B,EAAME,OAAOzC,QAGlCL,KAAAoD,iBAAoBR,IAC1B5C,KAAK4B,KAAOgB,EAAME,OAAOlB,KAEzB5B,KAAK6C,YAAc7C,KAAKqD,+BAKlBrD,KAAAsD,mBAAsBC,IAC5B,MAAMC,EAAWD,EAAGT,OAAOW,SAAW,EAAIzD,KAAKwD,SAC/CxD,KAAK0D,uBAAuBF,IAGtBxD,KAAAqD,4BAA8B,KACpC,MAAMM,EACJ3D,KAAK4D,KAAKC,WAAWC,cAAc,oBAErC,GAAI9D,KAAK4B,KAAM,CACb+B,EAAeI,UAAUC,IAAI,+BACxB,CACLL,EAAeI,UAAUE,OAAO,6BAI5BjE,KAAAkE,gBAAmBtB,IACzB,IAAK5C,KAAK4B,KAAM,CACdgB,EAAMuB,mBAIFnE,KAAAoE,oBAAsB,IAC5BpE,KAAK6C,YAAc7C,KAAKqE,cAElBrE,KAAAsE,YAAe1B,IACrB,GAAI5C,KAAKoE,sBAAuB,CAC9BpE,KAAKuE,KAAKpD,QAAUnB,KAAKwE,oBACpB,CACLxE,KAAKyE,UAAY,KACjBzE,KAAKuE,KAAKpD,QAAUnB,KAAKmB,QAG3B,GAAIyB,EAAME,SAAW,GAAK9C,KAAKc,gBAAiB,CAC9Cd,KAAKuE,KAAKG,oBAIN1E,KAAA2E,0BAA6B/B,IACnC,IAAK5C,KAAK4E,SAAU,CAClBhC,EAAMuB,iBACNnE,KAAKgD,wBAAwBC,QAC7BjD,KAAKsE,YAAY1B,KAIb5C,KAAA6E,YAAejC,IACrBA,EAAMkC,kBACN9E,KAAKyE,UAAY,KACjBzE,KAAKa,sBAAsB,MAC3Bb,KAAK+E,QAAQpE,OAEb,GAAIX,KAAK6C,WAAY,CACnB7C,KAAKgD,wBAAwB3C,MAAQ,KACrCL,KAAKe,2BAA6B,KAClCf,KAAKuE,KAAKpD,QAAUnB,KAAKmB,QACzBnB,KAAKgD,wBAAwBC,QAE7B,IAAKjD,KAAKc,gBAAiB,CACzBd,KAAK2B,cAAc,YAEhB,CACL3B,KAAKgF,oBAAoB/B,UAIrBjD,KAAAiF,cAAiBrC,IACvBA,EAAMsC,aAAe,KACrB,MAAMC,EAAavC,EAAMwC,MAAQ,aAAexC,EAAMwC,MAAQ,UAE9D,IAAKpF,KAAK4B,KAAM,CACd,GAAI5B,KAAKoE,wBAA0BxB,EAAMwC,MAAQ,SAAWD,GAAa,CACvEnF,KAAKuE,KAAKpD,QAAUnB,KAAKwE,oBACpB,CACLxE,KAAKyE,UAAY,KACjBzE,KAAKuE,KAAKpD,QAAUnB,KAAKmB,SAI7B,GAAInB,KAAK4B,MAAQgB,EAAMwC,MAAQ,QAAS,CACtCpF,KAAK2B,cAAc,WACd,CACL,KAAMwD,GAAcnF,KAAKyE,YAAc,OAASzE,KAAKc,gBAAiB,CACpE,GAAId,KAAKoE,uBAAyBe,GAAcnF,KAAKwD,SAAW,EAAG,CACjExD,KAAK0D,uBAAuB,GAE9B1D,KAAKuE,KAAKc,mBAAmBzC,MAK3B5C,KAAAsF,uBAAyB,KAC/BtF,KAAKuF,mBAAqB,MAGpBvF,KAAAwF,sBAAwB,KAC9BxF,KAAKuF,mBAAqB,OAGpBvF,KAAAyF,4BAA+B7C,IACrC5C,KAAKe,2BAA8B6B,EAAM8C,OAA4BrF,MACrEL,KAAK2F,QAAQhF,KAAK,CAAEN,MAAOL,KAAKe,6BAEhC,GAAIf,KAAKqE,cAAe,CACtBrE,KAAKI,aAAaJ,KAAKe,iCAClB,GACLf,KAAK8B,kBAAkB9B,KAAKe,8BAAgC6E,UAC5D,CACA5F,KAAKI,aAAa,MAGpB,GAAIJ,KAAKc,gBAAiB,CACxBd,KAAK2B,cAAc,UACd,CACL3B,KAAK2B,cAAc,OAGrB,IAAK3B,KAAKqE,cAAe,CACvB,MAAMlD,EAAU,IAAInB,KAAKmB,SAEzB,IAAI0E,EAAY,MAChB,IAAIC,EAAqC,GAEzC3E,EAAQC,KAAKC,IACX,GAAIA,EAAOa,SAAU2D,EAAY,QAGnC,MAAME,EAAsB5D,EAC1BhB,EACAnB,KAAKoC,4BACLpC,KAAKe,2BACLf,KAAKqC,qBAGP,IAAKwD,EAAW,CACdC,EAAqBC,MAChB,CACL5E,EAAQC,KAAKC,IACX,GAAIrB,KAAKgG,2BAA4B,CACnC,GAAID,EAAoBE,QAAQ5E,MAAa,EAAG,CAC9CyE,EAAmBI,KAAK7E,OACnB,CACLyE,EAAmBI,KAAKlG,KAAKiC,4BAA4BZ,SAEtD,CACLyE,EAAmBI,KAAKlG,KAAKiC,4BAA4BZ,QAK/D,IAAI8E,EAA6B,MAEjC,GAAIN,EAAW,CACbM,EAA6B,KAC7BL,EAAmB1E,KAAKC,IACtB,GAAIA,EAAOa,SAASjB,OAAS,EAAG,CAC9BkF,EAA6B,UAKnC,MAAM1B,EAAY,CAAC,CAAEnD,MAAOtB,KAAK+C,oBAAqB1C,MAAO,KAE7D,GAAIyF,EAAmB7E,OAAS,IAAMkF,EAA4B,CAChEnG,KAAKyE,UAAY,KACjBzE,KAAKwE,gBAAkBsB,MAClB,CACL9F,KAAKyE,UAAYA,EACjBzE,KAAKwE,gBAAkBxE,KAAKyE,UAG9BzE,KAAKoG,2BAIDpG,KAAAqG,qCAAuC,KAC7C,MAAMC,EAAkCtG,KAAK4D,KAAKC,WAAWC,cAC3D,qCAGF,GAAI9D,KAAKyE,YAAc,KAAM,CAC3B6B,EAAgCC,UAAYvG,KAAK+C,wBAC5C,CACLuD,EAAgCC,UAAY,KAYxCvG,KAAAwG,QAAU,KAChB,GAAIxG,KAAKoE,uBAAyBpE,KAAKwD,SAAW,EAAG,CACnDxD,KAAK0D,uBAAuB1D,KAAKwD,UAEnCxD,KAAKyG,QAAQ9F,QAGPX,KAAA0G,OAAU9D,IAChB,GACE5C,KAAK6C,YACLD,EAAM+D,gBAAkB3G,KAAKuE,QAC3BvE,KAAK4G,aAAehE,EAAM+D,gBAAkB3G,KAAK4G,aACnD,CACA5G,KAAK2B,cAAc,OACnB3B,KAAKqD,8BAGPrD,KAAK6G,OAAOlG,QAGNX,KAAA8G,gBAAkB,KACxB9G,KAAKK,MAAQL,KAAK+G,aAClB,GAAI/G,KAAK6C,WAAY,CACnB7C,KAAKe,2BAA6B,yCAzgBH,iBAKN,qBAKC,oBAKgB,oBAKjB,uBAKE,mCAKD,cAKJ,qBAKG,4BAK2B,uBAKtB,sCAUN,YAKJf,KAAKC,6BAKO,sBAKL,uCAKiB,sCAKD,+BAKQ,2CAKT,2BAKhB,sCAKI,gBAET,8BAEc,sCAEO,0BAEHD,KAAKmB,2DAIX,uBAEbnB,KAAKK,wBAELL,KAAKwD,yCAK7BwD,sBACE,GAAIhH,KAAKoE,sBAAuB,CAC9B,GAAIpE,KAAKmB,QAAQF,OAAS,EAAG,CAC3BjB,KAAKkB,6BACLlB,KAAKyE,UAAY,KACjBzE,KAAKwE,gBAAkBxE,KAAKmB,aACvB,GAAInB,KAAKc,gBAAiB,CAC/Bd,KAAKyE,UAAY,CAAC,CAAEnD,MAAOtB,KAAK+C,oBAAqB1C,MAAO,KAC5DL,KAAKwE,gBAAkBxE,KAAKyE,UAC5BzE,KAAK2B,cAAc,MAErB3B,KAAKqG,2CACA,CACLrG,KAAKkB,6BACLlB,KAAKwE,gBAAkBxE,KAAKmB,SAKhC6F,uBAAuBC,GACrBjH,KAAKkH,uBAAuBD,GAuC9BD,iBACE,GAAIhH,KAAKwB,oBAAqB,CAC5BxB,KAAKwB,oBAAoByB,aACpB,GAAIjD,KAAKgF,oBAAqB,CACnChF,KAAKgF,oBAAoB/B,aACpB,GAAIjD,KAAKgD,wBAAyB,CACvChD,KAAKgD,wBAAwBC,SAIzB+D,uBAAuBC,GAC7B,GAAIjH,KAAKY,eAAiBqG,EAAU,CAClCjH,KAAKY,aAAeqG,GAqShBD,yBACN1G,aAAaN,KAAKmH,cAElB3G,OAAOC,YAAW,KAChBT,KAAKqG,yCACJ,KA8BLW,oBACEhH,KAAKG,oBAAsBiH,EAAkBpH,KAAK4D,KAAM,IACnDyD,EACH,WACA,UAGFrH,KAAKkB,6BAELoG,EAAqBtH,KAAK4D,KAAM5D,KAAK8G,iBAGvCE,qBACE,GAAIhH,KAAKwB,sBAAwBxB,KAAK4E,SAAU,CAC9C5E,KAAKuB,gBAITyF,mBACEO,EACE,CAAC,CAAEC,KAAMxH,KAAKsB,MAAOmG,SAAU,UAC/B,UAIJT,uBACEU,EAAwB1H,KAAK4D,KAAM5D,KAAK8G,iBAG1CE,SACE,MAAMW,MACJA,EAAK/C,SACLA,EAAQgD,UACRA,EAASC,WACTA,EAAUC,UACVA,EAASxG,MACTA,EAAKpB,OACLA,EAAM6H,KACNA,EAAI5G,QACJA,EAAO6G,YACPA,EAAWC,SACXA,EAAQC,SACRA,EAAQrF,WACRA,EAAUsF,gBACVA,EAAeC,iBACfA,EAAgBC,eAChBA,EAAchI,MACdA,GACEL,KAEJsI,EAAkB,KAAMtI,KAAK4D,KAAMmE,EAAM1H,EAAOuE,GAEhD,MAAM2D,EACJH,IAAqBI,EAAoBC,MAAQ,OAAS,QAE5D,MAAMC,EAAcC,EAClB3I,KAAKC,QACL4H,IAAe,GACfe,EAAoB5I,KAAKoI,iBAAkBpI,KAAK4E,WAChDiE,OAEF,OACEC,EAACC,EAAI,KACHD,EAAA,qBAAA,CAAoBb,SAAUA,IAC1BH,GACAgB,EAAA,iBAAA,CACEE,IAAKhJ,KAAKC,QACVqB,MAAOA,EACPuG,WAAYA,EACZK,SAAUA,EACVtD,SAAUA,EACVqD,SAAUA,IAGda,EAAA,+BAAA,CACEG,IAAMC,GAAQlJ,KAAKmJ,SAAWD,EAC9BE,MAAO,CAAEC,YAAarJ,KAAK4B,MAC3B+F,MAAOA,EACPC,UAAWA,EACXhD,SAAUA,EACVqD,SAAUA,EACVG,iBAAkBA,GAEjBH,EACCa,EAAA,gBAAA,KACEA,EAAA,IAAA,KAAI9I,KAAK6B,kBAAkBxB,KAE3BiJ,IACFR,EAAA,SAAAvG,OAAAC,OAAA,CACEyG,IAAMC,GAAQlJ,KAAKwB,oBAAsB0H,EACzCtE,SAAUA,EACV2E,SAAUvJ,KAAKyC,yBACfyF,SAAUA,EACVsB,GAAIxJ,KAAKC,QAAOwJ,aACJnI,EAAKoI,mBACChB,EAAWiB,eACfpB,EACd7B,OAAQ1G,KAAK0G,OACbF,QAASxG,KAAKwG,SACVxG,KAAKG,qBAET2I,EAAA,SAAA,CAAQzI,MAAM,GAAGuJ,SAAQ,KAAChF,UAAWuD,GAClCH,GAEF7G,EAAQC,KAAKC,IACZ,GAAIA,EAAOa,SAAU,CACnB,OACE4G,EAAA,WAAA,CAAUxH,MAAOD,EAAOC,OACrBD,EAAOa,SAASd,KAAKC,GACpByH,EAAA,SAAA,CACEzI,MAAOgB,EAAOhB,MACduE,SAAUvD,EAAOuD,SACjBgF,SAAUvI,EAAOhB,QAAUA,GAE1BgB,EAAOC,cAKX,CACL,OACEwH,EAAA,SAAA,CACEzI,MAAOgB,EAAOhB,MACduE,SAAUvD,EAAOuD,SACjBgF,SAAUvI,EAAOhB,QAAUA,GAE1BgB,EAAOC,YAMhBuB,EACFiG,EAAA,MAAA,CAAKM,MAAM,+BACTN,EAAA,QAAA,CACEM,MAAM,eACNS,KAAK,WAAUJ,aACHnI,EAAKoI,mBACChB,EAAWoB,wBACN9J,KAAKkD,qBAAoB6G,oBAC9B,OAAMC,gBACThK,KAAK4B,KAAO,OAAS,QAAO+H,eAC7BpB,EAAO0B,gBACN/B,EAAW,OAAS,QAAOgC,gBAC3BhK,EACf+I,IAAMC,GAAQlJ,KAAKgD,wBAA0BkG,EAC7CM,GAAIxJ,KAAKC,QACTI,MAAOL,KAAKe,2BACZiH,YAAaA,EACbpD,SAAUA,EACVuF,QAASnK,KAAKyF,4BACd2E,QAASpK,KAAKsE,YACd+F,UAAWrK,KAAKiF,cAChBuB,QAASxG,KAAKwG,QACdE,OAAQ1G,KAAK0G,SAEd1G,KAAKe,6BACHoH,GAAmBtF,IAClBiG,EAAA,MAAA,CAAKM,MAAM,0BACTN,EAAA,YAAA,CACEU,GAAG,eACHP,IAAMC,GAAQlJ,KAAK4G,YAAcsC,EAAGO,aAElCzJ,KAAKe,4BAA8BV,IAAU,KACzC,cACA,kBAEN+I,MAAM,eACNkB,UAAWC,EACXH,QAASpK,KAAK6E,YACd2B,QAASxG,KAAKsF,uBACdoB,OAAQ1G,KAAKwF,sBACbgF,KAAM7C,EAAQ,QAAU,UACxB8C,QAAQ,OACRC,WACE1K,KAAKuF,mBACDoF,EAAsBC,MACtBD,EAAsBE,OAG9B/B,EAAA,MAAA,CAAKM,MAAM,aAGjBN,EAAA,OAAA,CACEgC,YAAa9K,KAAK2E,0BAClByE,MAAO,CACL2B,cAAe,KACfC,mBAAoBhL,KAAK4B,KACzBqJ,uBAAwB5K,GAAS,MAAQA,IAAU,IACnD6K,wBAAyBlL,KAAKc,iBAEhCwJ,UAAWa,EAAMC,cACL,SAEdtC,EAAA,MAAA,CAAAuC,YACY,SACVxB,KAAK,SACLT,MAAM,sCAIVN,EAAA,MAAA,CAAKM,MAAM,oBACTN,EAAA,SAAA,CACEM,MAAM,eACNH,IAAMC,GAAQlJ,KAAKgF,oBAAsBkE,EACzCM,GAAIxJ,KAAKC,QAAOwJ,aACJ,GAAGnI,MACbtB,KAAK6B,kBAAkBxB,IAAU2H,IAChCE,EAAW,aAAe,KAAIwB,mBACfhB,EAAWiB,eACfpB,EAAO+C,gBACP,UAAStB,gBACRhK,KAAK4B,KAAO,OAAS,QAAO2J,YAChCrL,EAAMgK,gBACFhK,EACf0E,SAAUA,EACV8B,OAAQ1G,KAAK0G,OACbF,QAASxG,KAAKwG,QACd4D,QAASpK,KAAKsE,YACdwG,YAAa9K,KAAKkE,gBAClBmG,UAAWrK,KAAKiF,eAEhB6D,EAAA,gBAAA,CACE2B,QAAQ,OACRrB,MAAO,CACLoC,aAAc,KACdxD,YAAahI,KAAK6B,kBAAkBxB,KAAWuF,YAGjDkD,EAAA,IAAA,KAAI9I,KAAK6B,kBAAkBxB,IAAU2H,IAEvCc,EAAA,MAAA,CAAKM,MAAM,oBACR/I,GAAS8H,GAAmBW,EAAA,MAAA,CAAKM,MAAM,YACxCN,EAAA,OAAA,CACEM,MAAO,CACL2B,cAAe,KACfC,mBAAoBhL,KAAK4B,KACzBqJ,uBAAwB5K,GAAS,MAAQA,IAAU,KAErDiK,UAAWa,EAAMC,cACL,WAIjB/K,GAAS8H,GACRW,EAAA,YAAA,CACEU,GAAG,eAAcC,aACN,kBACXL,MAAM,eACNkB,UAAWC,EACXH,QAASpK,KAAK6E,YACd2B,QAASxG,KAAKsF,uBACdoB,OAAQ1G,KAAKwF,sBACbgF,KAAM7C,EAAQ,QAAU,UACxB8C,QAAQ,OACRC,WACE1K,KAAKuF,mBACDoF,EAAsBC,MACtBD,EAAsBE,UAOpCvB,KACAR,EAAA,UAAA,CACEM,MAAO,CACLqC,aAAczL,KAAKyE,YAAc,MAEnCwE,IAAMC,GAAQlJ,KAAKuE,KAAO2E,EAC1BwC,QACE7I,EACI7C,KAAKgD,wBACLhD,KAAKgF,oBAEX2G,WAAYrK,EACZ6H,SAAUnJ,KAAKmJ,SACfxB,MAAOA,EACPzH,OAAQA,EACR0B,KAAM5B,KAAK4B,KACXT,QAAS0B,EAAa7C,KAAKwE,gBAAkBrD,EAC7Cd,MAAOA,EACPuH,UAAWA,EACXgE,kBAAmB5L,KAAKoD,iBACxByI,mBAAoB7L,KAAK2C,yBACzBmJ,eAAgB9L,KAAKsD,mBACrByI,SAAU/L,KAAK4D,OAGlBgF,EAAoB5I,KAAKoI,iBAAkBpI,KAAK4E,WAC/CkE,EAAA,sBAAA,CACEM,MAAO,CAAEC,YAAarJ,KAAK4B,MAC3BoK,aAAa,SACbC,OAAQ7D,EACR8D,QAAS7D,EACTW,IAAKhJ,KAAKC","sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --input-width: Width of the input field\n*/\n\n:host {\n position: relative;\n}\n\n:host([full-width]) {\n width: 100%;\n}\n\nic-input-component-container:hover {\n --border-color: var(--ic-action-dark-hover);\n}\n\nic-input-component-container:active {\n --border-color: var(--ic-action-dark-active);\n\n color: var(--ic-action-dark-active);\n}\n\nic-input-component-container.menu-open {\n --border-color: var(--ic-architectural-400);\n\n color: var(--ic-action-dark);\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-architectural-white);\n color: var(--ic-color-primary-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: url(\"data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect option,\n.select-option-selected {\n color: var(--ic-color-primary-text);\n}\n\nselect:disabled {\n color: var(--ic-architectural-200);\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='grey' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\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}\n\n.select-input:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(:not([disabled])) ic-input-component-container:hover .select-input {\n background-color: var(--ic-architectural-white);\n}\n\n:host([disabled]) .select-input {\n pointer-events: none;\n}\n\n:host([searchable]) .select-input {\n cursor: auto;\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-xs);\n color: var(--ic-action-dark);\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([disabled]) .expand-icon,\n:host([disabled]) .expand-icon > svg > path {\n color: var(--ic-architectural-200);\n}\n\n:host([searchable]) .expand-icon {\n padding-left: var(--ic-space-xxs);\n height: 2.25rem;\n}\n\n:host([searchable]) .expand-icon > svg {\n height: 2.25rem;\n padding: 0 0.375rem;\n}\n\n:host([searchable]:not([disabled])) .expand-icon > svg {\n cursor: pointer;\n}\n\n.expand-icon-open {\n color: var(--ic-action-dark);\n}\n\n.expand-icon-filled {\n color: var(--ic-action-dark);\n}\n\n.expand-icon-open,\n:host([searchable]) .expand-icon-open {\n transform: rotateX(180deg);\n}\n\n:host([disabled]) .value-text,\n.placeholder {\n color: var(--ic-color-tertiary-text);\n}\n\n.select-input-end {\n display: flex;\n align-items: center;\n}\n\n.clear-button-container {\n display: flex;\n gap: var(--ic-space-xxs);\n padding-left: 2.375rem;\n}\n\n:host([small]) .clear-button-container {\n padding-left: 1.875rem;\n}\n\n.divider {\n width: 0.063rem;\n background-color: var(--ic-architectural-400);\n margin: var(--ic-space-xxs) 0;\n border-radius: 0.063rem;\n height: var(--ic-space-lg);\n}\n\n:host([small]) .divider {\n height: var(--ic-space-md);\n}\n\n.clear-button {\n position: absolute;\n right: 2.75rem;\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 background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus * {\n fill: white;\n}\n\n.searchable-select-results-status {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: 0.063rem;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 0.063rem;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n h,\n State,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n getInputDescribedByText,\n getLabelFromValue,\n hasValidationStatus,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n isMobileOrTablet,\n getFilteredMenuOptions,\n addFormResetListener,\n removeFormResetListener,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcThemeForegroundEnum,\n IcMenuOption,\n IcSearchMatchPositions,\n} from \"../../utils/types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\nimport { IcValueEventDetail } from \"../../interface\";\nimport { IcOptionSelectEventDetail } from \"../ic-menu/ic-menu.types\";\n\nlet inputIds = 0;\n\n@Component({\n tag: \"ic-select\",\n styleUrl: \"ic-select.css\",\n shadow: true,\n})\nexport class Select {\n private nativeSelectElement: HTMLSelectElement;\n private customSelectElement: HTMLButtonElement;\n private searchableSelectElement: HTMLInputElement;\n private menu: HTMLIcMenuElement;\n private anchorEl: HTMLElement;\n private clearButton: HTMLIcButtonElement;\n\n private inputId = `ic-select-input-${inputIds++}`;\n private menuId = `${this.inputId}-menu`;\n\n private inheritedAttributes: { [k: string]: unknown } = {};\n\n private debounceAria: number;\n\n /**\n * The label for the select.\n */\n @Prop() label!: string;\n\n /**\n * The possible selection options.\n */\n @Prop() options?: IcMenuOption[] = [];\n\n /**\n * If `true`, the select will require a value.\n */\n @Prop() required?: boolean = false;\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`, the disabled state will be set.\n */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder?: string = \"Select an option\";\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 small styling will be applied to the select.\n */\n @Prop() small?: boolean = false;\n\n /**\n * If `true`, the select element will fill the width of the container.\n */\n @Prop() fullWidth: boolean = false;\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 * The value of the currently selected option.\n */\n @Prop({ mutable: true }) value?: string;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce?: number = 0;\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 * 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 * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options.\n */\n @Prop() searchable?: 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 * 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 * The number of characters until suggestions appear for a searchable select.\n */\n @Prop() charactersUntilSuggestions?: number = 0;\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * Specify whether to disable the built in filtering for a searchable variant. For example, if options will already be filtered from external source.\n */\n @Prop() disableFilter?: boolean = false;\n\n @State() open: boolean = false;\n\n @State() clearButtonFocused: boolean = false;\n\n @State() searchableSelectInputValue: string = null;\n\n @State() filteredOptions: IcMenuOption[] = this.options;\n\n @State() ariaActiveDescendant: string;\n\n @State() noOptions: IcMenuOption[] = null;\n\n @State() initialValue = this.value;\n\n @State() currDebounce = this.debounce;\n\n @State() debounceIcChange: number;\n\n @Watch(\"options\")\n watchOptionsHandler(): void {\n if (this.isExternalFiltering()) {\n if (this.options.length > 0) {\n this.setOptionsValuesFromLabels();\n this.noOptions = null;\n this.filteredOptions = this.options;\n } else if (this.isMenuEnabled()) {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.filteredOptions = this.noOptions;\n this.setMenuChange(true);\n }\n this.updateSearchableSelectResultAriaLive();\n } else {\n this.setOptionsValuesFromLabels();\n this.filteredOptions = this.options;\n }\n }\n\n @Watch(\"debounce\")\n debounceChangedHandler(newValue: number) {\n this.updateOnChangeDebounce(newValue);\n }\n\n /**\n * Emitted when the value changes.\n */\n @Event() icChange!: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when clear button clicked.\n */\n @Event() icClear!: EventEmitter<void>;\n\n /**\n * Emitted when select gains focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when select loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * Emitted when option is highlighted within the menu.\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n @Element() host!: HTMLIcSelectElement;\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 private updateOnChangeDebounce(newValue: number) {\n if (this.currDebounce !== newValue) {\n this.currDebounce = newValue;\n }\n }\n\n private emitIcChange = (value: string) => {\n clearTimeout(this.debounceIcChange);\n this.debounceIcChange = window.setTimeout(() => {\n this.icChange.emit({ value: value });\n }, this.currDebounce);\n };\n\n private emitImmediateIcChange = (value: string) => {\n clearTimeout(this.debounceIcChange);\n this.icChange.emit({ value: value });\n };\n\n private isMenuEnabled = () => {\n return (\n ((this.searchableSelectInputValue === null ||\n this.searchableSelectInputValue === \"\") &&\n this.charactersUntilSuggestions === 0) ||\n (this.searchableSelectInputValue &&\n this.searchableSelectInputValue.length >=\n this.charactersUntilSuggestions)\n );\n };\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 setTextColor = (): void => {\n if (this.nativeSelectElement.selectedIndex === 0) {\n this.nativeSelectElement.className = \"placeholder\";\n } else {\n this.nativeSelectElement.className = \"select-option-selected\";\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.options);\n };\n\n private getValueFromLabel = (label: string): string | undefined => {\n const value = this.options.find((option) => option.label === label)?.value;\n return value;\n };\n\n private getFilteredChildMenuOptions = (option: IcMenuOption) => {\n let children = option.children;\n\n children = getFilteredMenuOptions(\n option.children,\n this.includeDescriptionsInSearch,\n this.searchableSelectInputValue,\n this.searchMatchPosition\n );\n\n const newOption = { ...option };\n newOption.children = children;\n return newOption;\n };\n\n private handleNativeSelectChange = (): void => {\n this.icOptionSelect.emit({ value: this.nativeSelectElement.value });\n this.emitImmediateIcChange(this.nativeSelectElement.value);\n this.setTextColor();\n };\n\n private handleCustomSelectChange = (event: CustomEvent): void => {\n if (this.searchable && event.detail.label === this.emptyOptionListText) {\n this.searchableSelectElement.focus();\n return;\n }\n\n if (this.searchable) {\n this.searchableSelectInputValue = this.getLabelFromValue(\n event.detail.value\n );\n }\n\n this.ariaActiveDescendant = event.detail.optionId;\n this.icOptionSelect.emit({ value: event.detail.value });\n this.emitImmediateIcChange(event.detail.value);\n };\n\n private handleMenuChange = (event: CustomEvent): void => {\n this.open = event.detail.open;\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 const debounce = ev.detail.isNavKey ? 0 : this.debounce;\n this.debounceChangedHandler(debounce);\n };\n\n private handleFocusIndicatorDisplay = () => {\n const focusIndicator =\n this.host.shadowRoot.querySelector(\".focus-indicator\");\n\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n } else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\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.disableFilter;\n\n private handleClick = (event: MouseEvent): void => {\n if (this.isExternalFiltering()) {\n this.menu.options = this.filteredOptions;\n } else {\n this.noOptions = null;\n this.menu.options = this.options;\n }\n\n if (event.detail !== 0 && this.isMenuEnabled()) {\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.noOptions = null;\n this.emitImmediateIcChange(null);\n this.icClear.emit();\n\n if (this.searchable) {\n this.searchableSelectElement.value = null;\n this.searchableSelectInputValue = null;\n this.menu.options = this.options;\n this.searchableSelectElement.focus();\n\n if (!this.isMenuEnabled()) {\n this.setMenuChange(false);\n }\n } else {\n this.customSelectElement.focus();\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n event.cancelBubble = true;\n const isArrowKey = event.key === \"ArrowDown\" || event.key === \"ArrowUp\";\n\n if (!this.open) {\n if (this.isExternalFiltering() && (event.key === \"Enter\" || isArrowKey)) {\n this.menu.options = this.filteredOptions;\n } else {\n this.noOptions = null;\n this.menu.options = this.options;\n }\n }\n\n if (this.open && event.key === \"Enter\") {\n this.setMenuChange(false);\n } else {\n if (!(isArrowKey && this.noOptions !== null) && this.isMenuEnabled()) {\n if (this.isExternalFiltering() && isArrowKey && this.debounce > 0) {\n this.debounceChangedHandler(0);\n }\n this.menu.handleKeyboardOpen(event);\n }\n }\n };\n\n private handleClearButtonFocus = (): void => {\n this.clearButtonFocused = true;\n };\n\n private handleClearButtonBlur = (): void => {\n this.clearButtonFocused = false;\n };\n\n private handleSearchableSelectInput = (event: Event): void => {\n this.searchableSelectInputValue = (event.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.searchableSelectInputValue });\n\n if (this.disableFilter) {\n this.emitIcChange(this.searchableSelectInputValue);\n } else if (\n this.getValueFromLabel(this.searchableSelectInputValue) === undefined\n ) {\n this.emitIcChange(null);\n }\n\n if (this.isMenuEnabled()) {\n this.setMenuChange(true);\n } else {\n this.setMenuChange(false);\n }\n\n if (!this.disableFilter) {\n const options = [...this.options];\n\n let isGrouped = false;\n let newFilteredOptions: IcMenuOption[] = [];\n\n options.map((option) => {\n if (option.children) isGrouped = true;\n });\n\n const menuOptionsFiltered = getFilteredMenuOptions(\n options,\n this.includeDescriptionsInSearch,\n this.searchableSelectInputValue,\n this.searchMatchPosition\n );\n\n if (!isGrouped) {\n newFilteredOptions = menuOptionsFiltered;\n } else {\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.length > 0) {\n noChildOptionsWhenFiltered = false;\n }\n });\n }\n\n const noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n\n if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {\n this.noOptions = null;\n this.filteredOptions = newFilteredOptions;\n } else {\n this.noOptions = noOptions;\n this.filteredOptions = this.noOptions;\n }\n\n this.debounceAriaLiveUpdate();\n }\n };\n\n private updateSearchableSelectResultAriaLive = (): void => {\n const searchableSelectResultsStatusEl = this.host.shadowRoot.querySelector(\n \".searchable-select-results-status\"\n ) as HTMLDivElement;\n\n if (this.noOptions !== null) {\n searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;\n } else {\n searchableSelectResultsStatusEl.innerText = \"\";\n }\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAria);\n\n window.setTimeout(() => {\n this.updateSearchableSelectResultAriaLive();\n }, 800);\n }\n\n private onFocus = (): void => {\n if (this.isExternalFiltering() && this.debounce > 0) {\n this.debounceChangedHandler(this.debounce);\n }\n this.icFocus.emit();\n };\n\n private onBlur = (event: FocusEvent): void => {\n if (\n this.searchable &&\n event.relatedTarget !== this.menu &&\n !(this.clearButton && event.relatedTarget === this.clearButton)\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n }\n\n this.icBlur.emit();\n };\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n if (this.searchable) {\n this.searchableSelectInputValue = null;\n }\n };\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.host, [\n ...IC_INHERITED_ARIA,\n \"tabindex\",\n \"title\",\n ]);\n\n this.setOptionsValuesFromLabels();\n\n addFormResetListener(this.host, this.handleFormReset);\n }\n\n componentDidRender(): void {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Select\"\n );\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.host, this.handleFormReset);\n }\n\n render() {\n const {\n small,\n disabled,\n fullWidth,\n helperText,\n hideLabel,\n label,\n menuId,\n name,\n options,\n placeholder,\n readonly,\n required,\n searchable,\n showClearButton,\n validationStatus,\n validationText,\n value,\n } = this;\n\n renderHiddenInput(true, this.host, name, value, disabled);\n\n const invalid =\n validationStatus === IcInformationStatus.Error ? \"true\" : \"false\";\n\n const describedBy = getInputDescribedByText(\n this.inputId,\n helperText !== \"\",\n hasValidationStatus(this.validationStatus, this.disabled)\n ).trim();\n\n return (\n <Host>\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 small={small}\n fullWidth={fullWidth}\n disabled={disabled}\n readonly={readonly}\n validationStatus={validationStatus}\n >\n {readonly ? (\n <ic-typography>\n <p>{this.getLabelFromValue(value)}</p>\n </ic-typography>\n ) : isMobileOrTablet() ? (\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 {...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 === value}\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 === value}\n >\n {option.label}\n </option>\n );\n }\n })}\n </select>\n ) : searchable ? (\n <div class=\"searchable-select-container\">\n <input\n class=\"select-input\"\n role=\"combobox\"\n aria-label={label}\n aria-describedby={describedBy}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-autocomplete=\"list\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-invalid={invalid}\n aria-required={required ? \"true\" : \"false\"}\n aria-controls={menuId}\n ref={(el) => (this.searchableSelectElement = el)}\n id={this.inputId}\n value={this.searchableSelectInputValue}\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 ></input>\n {this.searchableSelectInputValue &&\n (showClearButton || searchable) && (\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 && value === 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={small ? \"small\" : \"default\"}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\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 \"expand-icon-filled\": !(value == null || value === \"\"),\n \"expand-icon-disabled\": !this.isMenuEnabled(),\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 this.getLabelFromValue(value) || 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 placeholder: this.getLabelFromValue(value) === undefined,\n }}\n >\n <p>{this.getLabelFromValue(value) || placeholder}</p>\n </ic-typography>\n <div class=\"select-input-end\">\n {value && showClearButton && <div class=\"divider\"></div>}\n <span\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n \"expand-icon-filled\": !(value == null || value === \"\"),\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n </div>\n </button>\n {value && showClearButton && (\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={small ? \"small\" : \"default\"}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n )}\n </div>\n )}\n </ic-input-component-container>\n {!isMobileOrTablet() && (\n <ic-menu\n class={{\n \"no-results\": this.noOptions !== null,\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 small={small}\n menuId={menuId}\n open={this.open}\n options={searchable ? this.filteredOptions : options}\n value={value}\n fullWidth={fullWidth}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionSelect={this.handleCustomSelectChange}\n onMenuKeyPress={this.handleMenuKeyPress}\n parentEl={this.host}\n ></ic-menu>\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"]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,h as e,g as i}from"./p-f9370be6.js";import{o,a as n}from"./p-3c75ed36.js";import"./p-6f57b13c.js";const a=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true">\n <path d="M0 8L1.41 9.41L7 3.83V16H9V3.83L14.58 9.42L16 8L8 0L0 8Z"/>\n</svg>\n`;const r='/*! 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;position:absolute;right:0}button{position:fixed;right:var(--ic-space-md);bottom:var(--ic-space-md);height:2.5rem;align-items:center;padding:var(--ic-space-xs) var(--ic-space-md) var(--ic-space-xs)\n var(--ic-space-sm);margin:0;gap:var(--ic-space-xs);display:flex;background-color:var(--ic-architectural-white);border:0.063rem solid var(--ic-action-default);outline-width:inherit;box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);border-radius:5rem;text-decoration:none;visibility:hidden;opacity:0;transition:visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);cursor:pointer;z-index:var(--ic-z-index-overlay)}button:hover{text-decoration:none;background-color:var(--ic-action-default-bg-hover-no-alpha);border:0.063rem solid var(--ic-action-default-hover)}button:active{text-decoration:none;background-color:var(--ic-action-default-bg-active-no-alpha);border:0.063rem solid var(--ic-action-default-active)}button:focus{box-shadow:var(--ic-border-focus)}.ic-back-to-top-link.show{visibility:visible;opacity:1;transition:visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast)}.ic-back-to-top-link.by-footer{position:relative;right:var(--ic-space-md);bottom:3.5rem}.ic-back-to-top-link.offset-banner{margin-bottom:var(--ic-space-lg)}.ic-back-to-top-icon{fill:var(--ic-action-default);padding-left:var(--ic-space-xxs);padding-top:var(--ic-space-xxxs)}.ic-back-to-top-icon>svg{height:var(--ic-space-md);width:var(--ic-space-md);display:inline-block}.ic-back-to-top-link span{color:var(--ic-action-default)}.ic-back-to-top-link:hover .ic-back-to-top-icon{fill:var(--ic-action-default-hover)}.ic-back-to-top-link:hover span{color:var(--ic-action-default-hover)}@media (forced-colors: active){.ic-back-to-top-icon{fill:currentcolor}}';const s="Back to top";const c=class{constructor(e){t(this,e);this.topObserver=null;this.setTargetElVisible=t=>{this.targetElVisible=t};this.setFooterVisible=t=>{this.checkForClassificationBanner();if(typeof window!=="undefined"&&window.scrollY===0){this.footerVisible=false}else{this.footerVisible=t}};this.targetElObserverCallback=t=>{this.setTargetElVisible(t[0].isIntersecting)};this.footerObserverCallback=t=>{this.setFooterVisible(t[0].isIntersecting)};this.findTargetEl=t=>{let e=null;if(t===null||t===undefined){console.log("Error: No target ID specified for back to top component - defaulting to top of page")}else{e=document.querySelector(t.indexOf("#")===0?t:"#"+t);if(e===null){console.log(`Error: Back to top target element '${t}' not found - defaulting to top of page`)}}return e};this.createTopObserver=t=>{this.targetEl=this.findTargetEl(t);let e;if(this.topObserver!==null){const t=document.querySelector("#ic-back-to-top-target");if(t!==null){this.topObserver.unobserve(t);t.remove()}}if(this.targetEl===null){e=document.body;this.targetEl=e.firstElementChild;this.isTargetElNull=true}else{e=this.targetEl.parentNode;this.isTargetElNull=false}const i=document.createElement("div");i.setAttribute("id","ic-back-to-top-target");e.insertBefore(i,this.targetEl);const o=getComputedStyle(this.targetEl).marginTop;this.topObserver=new IntersectionObserver(this.targetElObserverCallback,{threshold:[0],rootMargin:`${o} 0px 0px 0px`});this.topObserver.observe(i)};this.handleClick=()=>{if(this.isTargetElNull){window.scrollTo(0,0)}else{this.targetEl.scrollIntoView()}};this.checkForClassificationBanner=()=>{const t=document.querySelectorAll("ic-classification-banner:not([inline='true'])");this.bannerOffset=t.length>0};this.target=undefined;this.bannerOffset=false;this.targetElVisible=true;this.footerVisible=false}watchPropHandler(t,e){o(e,t,(()=>{this.createTopObserver(t)}))}componentWillLoad(){this.createTopObserver(this.target);this.checkForClassificationBanner();let t=document.querySelectorAll("ic-footer");if(t.length===0){t=document.querySelectorAll("footer")}if(t.length){const e=t[t.length-1];const i=this.bannerOffset?.15:0;const o=new IntersectionObserver(this.footerObserverCallback,{threshold:[i]});o.observe(e)}}componentDidLoad(){n([{prop:this.target,propName:"target"}],"Back to Top")}render(){const{bannerOffset:t,targetElVisible:i,footerVisible:o}=this;return e("button",{class:{["ic-back-to-top-link"]:true,["offset-banner"]:t,["show"]:!i,["by-footer"]:o},"aria-label":s,onClick:this.handleClick},e("span",{class:"ic-back-to-top-icon",innerHTML:a}),e("ic-typography",{variant:"subtitle-small"},e("span",null,s)))}get el(){return i(this)}static get watchers(){return{target:["watchPropHandler"]}}};c.style=r;export{c as ic_back_to_top};
|
2
|
+
//# sourceMappingURL=p-69512d85.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["src/components/ic-back-to-top/ic-back-to-top.css?tag=ic-back-to-top&encapsulation=shadow","src/components/ic-back-to-top/ic-back-to-top.tsx"],"names":["icBackToTopCss","backToTopLabel","BackToTop","this","topObserver","setTargetElVisible","visible","targetElVisible","setFooterVisible","checkForClassificationBanner","window","scrollY","footerVisible","targetElObserverCallback","entries","isIntersecting","footerObserverCallback","findTargetEl","target","targetElement","undefined","console","log","document","querySelector","indexOf","createTopObserver","targetEl","objParent","observedEl","unobserve","remove","body","firstElementChild","isTargetElNull","parentNode","objBackToTopTargetEl","createElement","setAttribute","insertBefore","marginTop","getComputedStyle","IntersectionObserver","threshold","rootMargin","observe","handleClick","scrollTo","scrollIntoView","banners","querySelectorAll","bannerOffset","length","[object Object]","newValue","oldValue","onComponentPropUndefinedChange","footers","footerEl","footerObserver","onComponentRequiredPropUndefined","prop","propName","h","class","aria-label","onClick","innerHTML","ArrowUpward","variant"],"mappings":"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","sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n position: absolute;\n right: 0;\n}\n\nbutton {\n position: fixed;\n right: var(--ic-space-md);\n bottom: var(--ic-space-md);\n height: 2.5rem;\n align-items: center;\n padding: var(--ic-space-xs) var(--ic-space-md) var(--ic-space-xs)\n var(--ic-space-sm);\n margin: 0;\n gap: var(--ic-space-xs);\n display: flex;\n background-color: var(--ic-architectural-white);\n border: 0.063rem solid var(--ic-action-default);\n outline-width: inherit;\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n border-radius: 5rem;\n text-decoration: none;\n visibility: hidden;\n opacity: 0;\n transition: visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);\n cursor: pointer;\n z-index: var(--ic-z-index-overlay);\n}\n\nbutton:hover {\n text-decoration: none;\n background-color: var(--ic-action-default-bg-hover-no-alpha);\n border: 0.063rem solid var(--ic-action-default-hover);\n}\n\nbutton:active {\n text-decoration: none;\n background-color: var(--ic-action-default-bg-active-no-alpha);\n border: 0.063rem solid var(--ic-action-default-active);\n}\n\nbutton:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.ic-back-to-top-link.show {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast);\n}\n\n.ic-back-to-top-link.by-footer {\n position: relative;\n right: var(--ic-space-md);\n bottom: 3.5rem;\n}\n\n.ic-back-to-top-link.offset-banner {\n margin-bottom: var(--ic-space-lg);\n}\n\n.ic-back-to-top-icon {\n fill: var(--ic-action-default);\n padding-left: var(--ic-space-xxs);\n padding-top: var(--ic-space-xxxs);\n}\n\n.ic-back-to-top-icon > svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n display: inline-block;\n}\n\n.ic-back-to-top-link span {\n color: var(--ic-action-default);\n}\n\n.ic-back-to-top-link:hover .ic-back-to-top-icon {\n fill: var(--ic-action-default-hover);\n}\n\n.ic-back-to-top-link:hover span {\n color: var(--ic-action-default-hover);\n}\n\n@media (forced-colors: active) {\n .ic-back-to-top-icon {\n fill: currentcolor;\n }\n}\n","import { Component, h, Element, Prop, State, Watch } from \"@stencil/core\";\nimport ArrowUpward from \"./assets/ArrowUpward.svg\";\nimport {\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\nconst backToTopLabel = \"Back to top\";\n\n@Component({\n tag: \"ic-back-to-top\",\n styleUrl: \"ic-back-to-top.css\",\n shadow: true,\n})\nexport class BackToTop {\n @Element() el: HTMLIcBackToTopElement;\n\n /**\n * The ID of the element to jump back to when the link is clicked.\n */\n @Prop() target!: string;\n\n @State() bannerOffset: boolean = false;\n\n @State() targetElVisible: boolean = true;\n\n @State() footerVisible: boolean = false;\n\n @Watch(\"target\")\n watchPropHandler(newValue: string, oldValue: string): void {\n //added for gatsby rehydration issue where prop is initially undefined but then changes to actual value\n onComponentPropUndefinedChange(oldValue, newValue, () => {\n this.createTopObserver(newValue);\n });\n }\n private topObserver: IntersectionObserver = null;\n private targetEl: Element;\n private isTargetElNull: boolean;\n\n private setTargetElVisible = (visible: boolean) => {\n this.targetElVisible = visible;\n };\n\n private setFooterVisible = (visible: boolean) => {\n this.checkForClassificationBanner();\n if (typeof window !== \"undefined\" && window.scrollY === 0) {\n this.footerVisible = false;\n } else {\n this.footerVisible = visible;\n }\n };\n\n private targetElObserverCallback = (entries: IntersectionObserverEntry[]) => {\n this.setTargetElVisible(entries[0].isIntersecting);\n };\n\n private footerObserverCallback = (entries: IntersectionObserverEntry[]) => {\n this.setFooterVisible(entries[0].isIntersecting);\n };\n\n private findTargetEl = (target: string): Element => {\n let targetElement: Element = null;\n if (target === null || target === undefined) {\n console.log(\n \"Error: No target ID specified for back to top component - defaulting to top of page\"\n );\n } else {\n targetElement = document.querySelector(\n target.indexOf(\"#\") === 0 ? target : \"#\" + target\n );\n if (targetElement === null) {\n console.log(\n `Error: Back to top target element '${target}' not found - defaulting to top of page`\n );\n }\n }\n return targetElement;\n };\n\n private createTopObserver = (target: string) => {\n this.targetEl = this.findTargetEl(target);\n let objParent: HTMLElement;\n\n //remove old element & observer\n if (this.topObserver !== null) {\n const observedEl = document.querySelector(\"#ic-back-to-top-target\");\n if (observedEl !== null) {\n this.topObserver.unobserve(observedEl);\n observedEl.remove();\n }\n }\n\n if (this.targetEl === null) {\n objParent = document.body;\n this.targetEl = objParent.firstElementChild;\n this.isTargetElNull = true;\n } else {\n objParent = this.targetEl.parentNode as HTMLElement;\n this.isTargetElNull = false;\n }\n\n //insert a new 0px height element before specified target that can be used to determine when page is scrolled\n const objBackToTopTargetEl = document.createElement(\"div\");\n objBackToTopTargetEl.setAttribute(\"id\", \"ic-back-to-top-target\");\n objParent.insertBefore(objBackToTopTargetEl, this.targetEl);\n\n // resize observer needs to factor in any top margin on the target el\n const marginTop = getComputedStyle(this.targetEl).marginTop;\n this.topObserver = new IntersectionObserver(this.targetElObserverCallback, {\n threshold: [0],\n rootMargin: `${marginTop} 0px 0px 0px`,\n });\n this.topObserver.observe(objBackToTopTargetEl);\n };\n\n private handleClick = () => {\n if (this.isTargetElNull) {\n window.scrollTo(0, 0);\n } else {\n this.targetEl.scrollIntoView();\n }\n };\n\n private checkForClassificationBanner = () => {\n //adjust position for classification banner at bottom\n const banners = document.querySelectorAll(\n \"ic-classification-banner:not([inline='true'])\"\n );\n this.bannerOffset = banners.length > 0;\n };\n\n componentWillLoad(): void {\n this.createTopObserver(this.target);\n this.checkForClassificationBanner();\n\n //observer for when footer scrolls into view\n let footers = document.querySelectorAll(\n \"ic-footer\"\n ) as NodeListOf<HTMLElement>;\n if (footers.length === 0) {\n footers = document.querySelectorAll(\"footer\");\n }\n\n if (footers.length) {\n const footerEl = footers[footers.length - 1];\n const threshold = this.bannerOffset ? 0.15 : 0;\n const footerObserver = new IntersectionObserver(\n this.footerObserverCallback,\n { threshold: [threshold] }\n );\n footerObserver.observe(footerEl);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.target, propName: \"target\" }],\n \"Back to Top\"\n );\n }\n\n render() {\n const { bannerOffset, targetElVisible, footerVisible } = this;\n return (\n <button\n class={{\n [\"ic-back-to-top-link\"]: true,\n [\"offset-banner\"]: bannerOffset,\n [\"show\"]: !targetElVisible,\n [\"by-footer\"]: footerVisible,\n }}\n aria-label={backToTopLabel}\n onClick={this.handleClick}\n >\n <span class=\"ic-back-to-top-icon\" innerHTML={ArrowUpward} />\n\n <ic-typography variant=\"subtitle-small\">\n <span>{backToTopLabel}</span>\n </ic-typography>\n </button>\n );\n }\n}\n"]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,c as i,h as e,H as o,g as a}from"./p-f9370be6.js";import{b as r,m as n,n as s,a as c}from"./p-3c75ed36.js";import{I as l}from"./p-6f57b13c.js";import{c as d}from"./p-ec26fc38.js";const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:inline-block;--button-default:var(--ic-action-default);--button-default-hover:var(--ic-action-default-hover);--button-default-active:var(--ic-action-default-active);--button-default-background-hover:var(--ic-action-default-bg-hover);--button-default-background-active:var(--ic-action-default-bg-active);--icon-width:100%;--icon-height:100%}.button{font-family:var(--ic-font-body-family);text-decoration:none;font-weight:600;font-size:0.875rem;transition:var(--ic-easing-transition-fast);border-radius:var(--ic-border-radius);min-width:6.25rem;display:inline-flex;gap:var(--ic-space-xs);flex-direction:row;justify-content:center;align-items:center;background:none;border:none;box-sizing:border-box;white-space:nowrap;vertical-align:middle}.button:hover{cursor:pointer}.button:focus,:host .button:focus{box-shadow:var(--ic-border-focus)}:host(.light) .button:focus{box-shadow:var(--ic-border-focus)}.button:focus-visible{outline:var(--ic-hc-focus-outline)}:host(.dark) .button{--button-default:var(--ic-action-dark);--button-default-hover:var(--ic-action-dark);--button-default-active:var(--ic-action-dark);--button-default-background-hover:var(--ic-action-dark-bg-hover);--button-default-background-active:var(--ic-action-dark-bg-active)}:host(.light) .button{--button-default:var(--ic-action-light);--button-default-hover:var(--ic-action-light);--button-default-active:var(--ic-action-light);--button-default-background-hover:var(--ic-action-light-bg-hover);--button-default-background-active:var(--ic-action-light-bg-active)}:host(.button-variant-primary.light) .button{color:var(--ic-color-primary-text);--button-default-hover:var(--ic-action-light-hover);--button-default-active:var(--ic-action-light-active)}:host(.button-variant-primary.dark) .button{--button-default-hover:var(--ic-action-dark-hover);--button-default-active:var(--ic-action-dark-active)}:host(.disabled),:host(.disabled) .button,:host(.loading),:host(.loading) .button{pointer-events:none}:host(.button-variant-primary) .button{color:var(--ic-architectural-white);background-color:var(--button-default)}:host(.button-variant-primary) .button:hover:not(:focus){background-color:var(--button-default-hover)}:host(.button-variant-primary) .button:active:not(:focus),:host(.button-variant-primary.loading) .button{background-color:var(--button-default-active)}:host(.button-variant-primary.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-variant-primary.light.disabled) .button{background:var(--ic-architectural-600);color:var(--ic-architectural-500)}:host(.button-variant-secondary) .button{border:0.063rem solid var(--button-default);color:var(--button-default)}:host(.button-variant-secondary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);border-color:var(--button-default-hover);color:var(--button-default-hover)}:host(.button-variant-secondary) .button:active:not(:focus){border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.loading) .button{border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.disabled) .button,:host(.button-variant-secondary.disabled) .button:hover,:host(.button-variant-secondary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-secondary.light.disabled) .button,:host(.button-variant-secondary.light.disabled) .button:hover,:host(.button-variant-secondary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-tertiary) .button{color:var(--button-default)}:host(.button-variant-tertiary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-tertiary) .button:active:not(:focus),:host(.button-variant-tertiary.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-tertiary.disabled) .button,:host(.button-variant-tertiary.disabled) .button:hover,:host(.button-variant-tertiary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-tertiary.light.disabled) .button,:host(.button-variant-tertiary.light.disabled) .button:hover,:host(.button-variant-tertiary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-icon) .button{color:var(--button-default);min-width:0}:host(.button-variant-icon) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-icon) .button:active:not(:focus),:host(.button-variant-icon.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-icon.disabled) .button,:host(.button-variant-icon.disabled) .button:hover,:host(.button-variant-icon.disabled) .button:active{color:var(--ic-architectural-300);background:none}:host(.button-variant-destructive) .button{color:var(--ic-architectural-white);background-color:var(--ic-action-destructive);text-transform:uppercase}:host(.button-variant-destructive) .button:hover:not(:focus){background-color:var(--ic-action-destructive-hover)}:host(.button-variant-destructive) .button:active:not(:focus),:host(.button-variant-destructive.loading) .button{background-color:var(--ic-action-destructive-active)}:host(.button-variant-destructive.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-size-default) .button{height:2.5rem;padding:var(--ic-space-xs) var(--ic-space-md)}:host(.button-size-small) .button{height:var(--ic-space-xl);padding:var(--ic-space-xxs) var(--ic-space-md)}:host(.button-size-large) .button{height:var(--ic-space-xxl);padding:var(--ic-space-sm) var(--ic-space-md)}:host(.button-size-default.button-variant-icon) .button{height:var(--ic-space-xl);width:var(--ic-space-xl);padding:0.375rem}:host(.button-size-small.button-variant-icon) .button{height:var(--ic-space-lg);width:var(--ic-space-lg);padding:var(--ic-space-xxs)}:host(.button-size-large.button-variant-icon) .button{height:2.5rem;width:2.5rem;padding:var(--ic-space-xs)}:host(.full-width),:host(.full-width) .button{width:100%}div.loading-container{position:relative;align-items:center;width:100%}ic-loading-indicator{--outer-color:transparent}@keyframes loading-animation{0%{width:0%;left:0%}25%{width:0%;left:0%;opacity:0}50%{width:100%;left:0%;opacity:1}75%{width:0%;left:100%}100%{width:0%;left:100%;opacity:0}}div.icon-container{box-sizing:border-box;width:var(--ic-space-lg);height:var(--ic-space-lg);display:flex;justify-content:center;align-items:center}::slotted(*){width:var(--icon-width) !important;height:var(--icon-height) !important;fill:currentcolor !important;pointer-events:none}:host(.button-variant-icon) .button .icon-container{margin:0;pointer-events:none}:host(.search-submit-button) ::slotted(svg){--icon-height:1.25rem;--icon-width:1.25rem}:host(.search-submit-button-small) ::slotted(svg){--icon-height:1rem;--icon-width:1rem}:host(.clear-button){margin:0 var(--ic-space-xxs)}:host(.clear-button) .button:focus{box-shadow:none}:host(.search-submit-button) .button:focus{box-shadow:none}:host(.search-submit-button) .button:not(:active):focus{box-shadow:none;background-color:var(--ic-action-default-bg-hover)}:host(.search-submit-button){display:flex;align-items:center;margin:0 var(--ic-space-xxs)}:host(.menu-close-button) ::slotted(svg){--icon-height:0.875rem;--icon-width:0.875rem}:host(.popout-menu-button) .button{justify-content:left;border-radius:0;white-space:pre-line;text-align:start}:host(.popout-menu-button) div.icon-container{flex:none}:host(.popout-menu-button) .button:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset)}.ic-button-describedby{display:none}:host .ic-tooltip{display:block}@media (forced-colors: active){.button{border:0.125rem solid transparent}}';var u=undefined&&undefined.__rest||function(t,i){var e={};for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&i.indexOf(o)<0)e[o]=t[o];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a<o.length;a++){if(i.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(t,o[a]))e[o[a]]=t[o[a]]}return e};let b=0;const p=class{constructor(e){t(this,e);this.icFocus=i(this,"icFocus",7);this.icBlur=i(this,"icBlur",7);this.inheritedAttributes={};this.hasTooltip=false;this.buttonIdNum=b++;this.handleClick=()=>{if((this.el.type==="submit"||this.el.type==="reset")&&!!this.el.closest("FORM")){this.handleHiddenFormButtonClick(this.el.closest("FORM"))}};this.onFocus=()=>{this.icFocus.emit()};this.onBlur=()=>{this.icBlur.emit()};this.disabled=false;this.loading=false;this.type="button";this.href=undefined;this.target=undefined;this.rel=undefined;this.download=false;this.hreflang=undefined;this.referrerpolicy=undefined;this.variant="primary";this.size="default";this.fullWidth=false;this.disableTooltip=false;this.tooltipPlacement="bottom";this.appearance="default"}handleHostClick(t){if(this.disabled||this.loading){t.stopImmediatePropagation()}}themeChangeHandler(t){const i=t.detail;this.updateTheme(i.mode)}async setFocus(){if(this.buttonEl){this.buttonEl.focus()}}async updateAriaLabel(t){if(this.hasTooltip){this.tooltipEl.label=t;this.buttonEl.setAttribute("aria-label",t)}}hasIconSlot(){const t=this.el.querySelector(`[slot="icon"]`);if(t!=null){return true}return false}handleHiddenFormButtonClick(t){const i=document.createElement("button");i.setAttribute("type",this.el.type);i.style.display="none";t.appendChild(i);i.click();i.remove()}updateTheme(t=null){const i=r(this.el,t||null);if(i!==l.Default){this.appearance=i}}componentWillLoad(){this.inheritedAttributes=n(this.el,[...s,"aria-expanded","title"]);const t=this.el.id;this.id=t!==undefined?t:null;this.hasTooltip=this.variant==="icon"}componentDidLoad(){this.updateTheme()}render(){const t=this.href&&"a"||"button";const i=this.inheritedAttributes,{title:a,"aria-label":r}=i,n=u(i,["title","aria-label"]);const s=t==="button"?{type:this.type,disabled:this.disabled}:{download:this.download!==false?this.download:null,href:this.href,rel:this.rel,target:this.target,referrerpolicy:this.referrerpolicy,hreflang:this.hreflang};const c=a&&a;const d=this.hasTooltip?{}:{title:c};let h="";if(this.hasTooltip){if(c!==undefined){h=c}else if(r!==null){h=r}}let b=null;let p=null;if(this.hasTooltip){p=this.id!==null?`ic-button-with-tooltip-${this.id}`:`ic-button-with-tooltip-${this.buttonIdNum}`;b=`ic-tooltip-${p}`}const v=()=>e(t,Object.assign({class:"button","aria-disabled":this.loading||this.disabled?"true":null,"aria-label":this.loading?"Loading":r},s,n,d,{onFocus:this.onFocus,onBlur:this.onBlur,ref:t=>this.buttonEl=t,id:p,"aria-describedby":b}),this.hasIconSlot()&&!this.loading&&e("div",{class:"icon-container"},e("slot",{name:"icon"})),this.loading?e("div",{class:"loading-container"},e("ic-loading-indicator",{type:"linear",appearance:this.variant==="primary"||this.variant==="destructive"||this.appearance===l.Dark||this.appearance===l.Light?"light":"dark"})):e("slot",null));return e(o,{class:{["disabled"]:this.disabled&&!this.loading,[`button-variant-${this.variant}`]:true,[`button-size-${this.size}`]:true,["loading"]:this.loading,["dark"]:this.appearance===l.Dark,["light"]:this.appearance===l.Light,["full-width"]:this.fullWidth},onClick:this.handleClick},this.hasTooltip&&e("ic-tooltip",{class:{["tooltip-disabled"]:this.disableTooltip},ref:t=>this.tooltipEl=t,label:h,target:p,placement:this.tooltipPlacement},e(v,null)),!this.hasTooltip&&e(v,null))}get el(){return a(this)}};p.style=h;const v='/*! 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;--linear-border-radius:0.25rem;--inner-color:var(--ic-action-default);--outer-color:var(--ic-architectural-100);--label-color:var(--ic-color-primary-text);--margin:none;--linear-line-height:var(--ic-space-xs)}:host(.light){--inner-color:var(--ic-architectural-white);--outer-color:var(--ic-architectural-800);--label-color:var(--ic-architectural-white)}.ic-loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center}:host([size="small"]){--circular-diameter:2.5rem;--linear-line-height:var(--ic-space-xxs)}:host([size="default"]){--circular-diameter:5rem}:host([size="large"]){--circular-diameter:7.5rem}:host([size="icon"]){display:inline-block;--margin:var(--ic-space-xxxs);--circular-diameter:1.25rem}:host([label]){--margin:0 0 var(--ic-space-xs) 0}.ic-loading-label{white-space:nowrap;color:var(--label-color);margin-left:var(--label-margin-left)}.ic-loading-circular-outer{height:var(--circular-diameter);width:var(--circular-diameter)}.ic-loading-circular-outer.indeterminate{animation:circular-animation 1s linear;animation-iteration-count:infinite}@keyframes circular-animation{100%{transform:rotate(360deg)}}.ic-loading-circular-outer,.ic-loading-linear-outer{margin:var(--margin)}.ic-loading-linear-outer{background-color:var(--outer-color);height:var(--linear-line-height);width:100%;border-radius:var(--linear-border-radius);overflow:hidden}.ic-loading-linear-inner{position:relative;height:100%;background-color:var(--inner-color);border-radius:var(--linear-border-radius)}.indeterminate>.ic-loading-linear-inner{animation:linear-animation 2s infinite}.determinate>.ic-loading-linear-inner{transition:width 0.5s;width:var(--linear-width)}:host([full-width]){--linear-border-radius:none}@keyframes linear-animation{0%{width:0%;left:-1%}25%{width:0%;left:-1%}50%{width:101%;left:-1%}75%{width:0%;left:101%}100%{width:0%;left:101%}}.ic-loading-circular-svg{position:relative;width:100%;height:100%;transform:rotate(-90deg)}.ic-loading-circular-svg circle{width:100%;height:100%;fill:none;stroke:var(--outer-color);stroke-width:var(--circular-line-width);stroke-linecap:round}.ic-loading-circular-svg circle:nth-child(2){--circular-indeterminate:calc(\n (0.25 * var(--stroke-dasharray)) - var(--stroke-dasharray)\n );stroke-dasharray:var(--stroke-dasharray), var(--stroke-dasharray);stroke-dashoffset:var(--stroke-dashoffset, var(--circular-indeterminate));stroke:var(--compact-step-inner-color, var(--inner-color))}:host([inner-label]) .ic-loading-circular-inner{display:grid}:host([inner-label]) .ic-loading-circular-svg,.inner-text{grid-column:1;grid-row:1}:host(.not-required.compact-step-progress-indicator) .ic-loading-circular-svg circle:nth-child(2){stroke:var(--ic-architectural-300)}.inner-text{display:flex;align-items:center;justify-content:center;width:var(--ic-space-lg);height:inherit;overflow:hidden;margin:auto;color:var(--ic-theme-primary)}:host(.not-required.compact-step-progress-indicator) .inner-text{color:var(--ic-color-tertiary-text)}@media (forced-colors: active){.indeterminate>.ic-loading-circular-inner{forced-color-adjust:none}.ic-loading-linear-outer{border:var(--ic-hc-border)}.ic-loading-linear-inner{background-color:canvastext}.ic-loading-circular-svg circle{stroke:Background}.ic-loading-circular-svg circle:nth-child(2){stroke:canvastext}:host(.not-required.compact-step-progress-indicator) .ic-loading-circular-svg circle:nth-child(2){stroke:GrayText}}';const m=class{constructor(i){t(this,i);this.updateCircularProgressMeter=()=>{if(!this.indeterminate){this.circularMeter.style.setProperty("--progress-value",String(this.progress))}};this.getLabel=(t,i)=>new Promise((()=>{setInterval((()=>{if(t<this.labelList.length-1){t++}else{t=0}i(this.labelList[t])}),this.labelDuration)}));this.getLabelVariant=()=>{var t;let i="h4";const e=(t=this.outerElement)===null||t===void 0?void 0:t.offsetWidth;if(this.size==="small"||this.type==="circular"&&e<60){i="label"}else if(this.size==="large"||this.type==="circular"&&e>=120){i="h2"}return i};this.setCircleLineWidth=()=>{const{offsetWidth:t}=this.outerElement;if(this.host.classList.contains("compact-step-progress-indicator")){this.compactStepCircularLineWidth=40}if(t||this.compactStepCircularLineWidth===40){this.circularLineWidth=(this.compactStepCircularLineWidth===40?this.compactStepCircularLineWidth:t)*.1;this.circularDiameter=this.compactStepCircularLineWidth===40?this.compactStepCircularLineWidth:t;this.outerElement.style.setProperty("--circular-line-width",`${this.circularLineWidth}px`)}};this.setLinearDeterminateWidth=()=>{if(!this.innerElement)return;const t=Math.min(this.max,Math.max(this.min,this.progress));const i=(t-this.min)/(this.max-this.min);this.showSecond=i>.5;if(this.showSecond){this.innerElement.classList.remove("clip")}else{this.innerElement.classList.add("clip")}this.innerElement.style.setProperty("--linear-width",`${i*100}%`)};this.calcOuterClass=()=>{let t=`ic-loading-${this.type}-outer`;t+=this.indeterminate?" indeterminate":" determinate";return t};this.updateLabel=()=>{if(this.label!==undefined){this.labelList=this.label.split("/");const t=0;this.indicatorLabel=this.labelList[t];if(this.labelList.length>1){this.getLabel(t,(t=>{this.indicatorLabel=t}))}}};this.setCircleXY=()=>{if(this.circularDiameter>0){const t=this.circularDiameter/2;const i=t;const e=t;const o=t-this.circularLineWidth/2;this.setDashSteps(o);return{x:i,y:e,r:o}}return{x:0,y:0,r:0}};this.setDashSteps=t=>{const i=2*Math.PI*t;const e=Math.min(Math.max(this.progress,this.min),this.max);const o=-1-(e-this.min)/(this.max-this.min);this.circularMeter.style.setProperty("--stroke-dasharray",`${i}px`);if(!this.indeterminate){this.circularMeter.style.setProperty("--circular-steps-max",String(this.max));this.circularMeter.style.setProperty("--stroke-dashoffset",`${o*i}px`)}};this.progress=undefined;this.min=0;this.max=100;this.label=undefined;this.description="Loading";this.innerLabel=undefined;this.labelDuration=8e3;this.size="default";this.type="circular";this.fullWidth=false;this.appearance="dark";this.indicatorLabel=undefined;this.indeterminate=undefined;this.showSecond=false;this.circularLineWidth=undefined;this.compactStepCircularLineWidth=0;this.circularDiameter=undefined}watchPropHandler(){this.updateLabel()}watchProgressHandler(){if(this.type==="circular"){this.updateCircularProgressMeter()}}componentWillLoad(){this.indeterminate=this.progress===undefined;this.updateLabel()}componentDidLoad(){if(this.type==="circular"){this.setCircleLineWidth();this.circularMeter=this.host.shadowRoot.querySelector(".ic-loading-circular-svg circle:nth-child(2)");this.updateCircularProgressMeter()}if(Number(this.progress)>=0&&this.type==="linear"){this.setLinearDeterminateWidth()}}componentWillUpdate(){this.indeterminate=this.progress===undefined}componentDidUpdate(){if(Number(this.progress)>=0&&this.type==="linear"){this.setLinearDeterminateWidth()}}render(){const{appearance:t,label:i,description:a,size:r}=this;const{x:n,y:s,r:c}=this.setCircleXY();return e(o,{class:{["light"]:t===l.Light}},e("div",{class:"ic-loading-container"},e("div",{ref:t=>this.outerElement=t,class:this.calcOuterClass(),role:"progressbar","aria-labelledby":this.label&&this.size!=="icon"&&"ic-loading-label","aria-label":a,"aria-valuenow":this.progress,"aria-valuemin":this.min,"aria-valuemax":this.max},e("div",{ref:t=>this.innerElement=t,class:`ic-loading-${this.type}-inner`},this.innerLabel&&this.innerLabel!==undefined&&this.size==="small"&&e("ic-typography",{variant:"subtitle-small",class:"inner-text"},this.innerLabel),this.type==="circular"&&e("svg",{class:"ic-loading-circular-svg",viewBox:`0 0 ${this.circularDiameter||0} ${this.circularDiameter||0}`},e("circle",{cx:`${n}`,cy:`${s}`,r:`${c}`}),e("circle",{cx:`${n}`,cy:`${s}`,r:`${c}`})))),i&&r!=="icon"&&e("ic-typography",{id:"ic-loading-label",class:"ic-loading-label",role:"status",variant:this.getLabelVariant()},e("p",null,this.indicatorLabel))))}get host(){return a(this)}static get watchers(){return{label:["watchPropHandler"],progress:["watchProgressHandler"]}}};m.style=v;const f='/*! 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(.ic-tooltip) .ic-tooltip-container{background-color:var(--ic-architectural-800);color:#ffff;text-align:center;padding:var(--ic-space-xxxs) 0.625rem;border-radius:var(--ic-border-radius);position:absolute;max-width:20rem;display:none;z-index:calc(var(--ic-z-index-overlay) / 2);box-shadow:var(--ic-elevation-overlay)}:host(.tooltip-navigation-item:not(.tooltip-navigation-item-side-nav-collapsed)) .ic-tooltip-container,:host(.tooltip-disabled) .ic-tooltip-container{display:none !important}:host(.tooltip-long-label-navigation-item-side-nav-expanded) .ic-tooltip-container[data-show]{display:block !important}:host(.ic-tooltip) .ic-tooltip-arrow,:host(.ic-tooltip) .ic-tooltip-arrow::before{position:absolute;background:inherit;width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-tooltip) .ic-tooltip-arrow{visibility:hidden}:host(.ic-tooltip) .ic-tooltip-arrow::before{visibility:visible;content:""}:host(.ic-tooltip) .ic-tooltip-container[data-show]{display:block}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="top"]>.ic-tooltip-arrow{bottom:calc(-1 * var(--ic-space-md))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="top"]>.ic-tooltip-arrow::before{border-radius:0 0 var(--ic-border-radius) var(--ic-border-radius);left:0;height:var(--ic-space-xxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="bottom"]>.ic-tooltip-arrow{top:calc(-1 * var(--ic-space-xxs))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="bottom"]>.ic-tooltip-arrow::before{border-radius:var(--ic-border-radius) var(--ic-border-radius) 0 0;left:0;height:var(--ic-space-xxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="left"]>.ic-tooltip-arrow{right:var(--ic-space-xxxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="left"]>.ic-tooltip-arrow::before{border-radius:0 var(--ic-border-radius) var(--ic-border-radius) 0}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="right"]>.ic-tooltip-arrow{left:-0.875rem}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="right"]>.ic-tooltip-arrow::before{border-radius:var(--ic-border-radius) 0 0 var(--ic-border-radius)}:host([target="ic-button-with-tooltip-search-submit-button"]) .ic-tooltip-container,:host([target="ic-button-with-tooltip-clear-button"]) .ic-tooltip-container{z-index:calc(var(--ic-z-index-popup-menu) + 1)}@media (forced-colors: active){:host(.ic-tooltip) .ic-tooltip-container{border:var(--ic-hc-border)}}';const g=class{constructor(i){t(this,i);this.mouseOverTool=false;this.showEvents=this.disableHover?["click"]:["mouseenter","focusin"];this.instantHideEvents=["focusout"];this.delayedHideEvents=["mouseleave"];this.show=t=>{this.toolTip.setAttribute("data-show","");t.setOptions((t=>Object.assign(Object.assign({},t),{modifiers:[...t.modifiers,{name:"eventListeners",enabled:true}]})));t.update()};this.hide=t=>{this.toolTip.removeAttribute("data-show");t.setOptions((t=>Object.assign(Object.assign({},t),{modifiers:[...t.modifiers,{name:"eventListeners",enabled:false}]})))};this.checkCloseTooltip=t=>{setTimeout((()=>{if(!this.mouseOverTool){this.hide(t)}}),100)};this.mouseEnterTooltip=()=>{this.mouseOverTool=true};this.mouseLeaveTooltip=t=>{this.mouseOverTool=false;this.checkCloseTooltip(t)};this.handleKeyDown=t=>{if(t==="Escape"){this.hide(this.popperInstance)}};this.manageEventListeners=t=>{const i=t==="add"?"addEventListener":"removeEventListener";this.showEvents.forEach((t=>{this.el[i](t,(()=>this.show(this.popperInstance)));this.toolTip[i](t,(()=>this.mouseEnterTooltip()))}));this.instantHideEvents.forEach((t=>{this.el[i](t,(()=>this.hide(this.popperInstance)))}));this.delayedHideEvents.forEach((t=>{this.el[i](t,(()=>this.checkCloseTooltip(this.popperInstance)));this.toolTip[i](t,(()=>this.mouseLeaveTooltip(this.popperInstance)))}));document[i]("keydown",(t=>this.handleKeyDown(t.key)))};this.screenReaderOnlyStyles={position:"absolute",left:"-10000px",top:"auto",width:"1px",height:"1px",overflow:"hidden"};this.target=undefined;this.placement="bottom";this.label=undefined;this.disableHover=false}updateLabel(t){const i=this.el.previousElementSibling;if(i!==null){i.innerText=t}}componentDidLoad(){this.popperInstance=d(this.el,this.toolTip,{placement:this.placement,modifiers:[{name:"offset",options:{offset:[0,10]}},{name:"arrow",options:{element:this.arrow}}]});this.manageEventListeners("add");c([{prop:this.label,propName:"label"}],"Tooltip");if(this.target!==undefined){const t=document.createElement("span");t.id=`ic-tooltip-${this.target}`;t.innerText=this.label;t.classList.add("ic-tooltip-label");Object.assign(t.style,this.screenReaderOnlyStyles);this.el.insertAdjacentElement("beforebegin",t)}}disconnectedCallback(){this.manageEventListeners("remove")}render(){const{label:t}=this;return e(o,{class:{"ic-tooltip":true}},e("div",{ref:t=>this.toolTip=t,role:"tooltip",class:"ic-tooltip-container"},e("ic-typography",{variant:"caption"},t),e("div",{ref:t=>this.arrow=t,class:"ic-tooltip-arrow","data-popper-arrow":true})),e("slot",null))}get el(){return a(this)}static get watchers(){return{label:["updateLabel"]}}};g.style=f;export{p as ic_button,m as ic_loading_indicator,g as ic_tooltip};
|
2
|
+
//# sourceMappingURL=p-6bbc0cf5.entry.js.map
|