@ukic/web-components 2.1.0-beta.7 → 2.1.0-beta.9
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 +2 -2
- package/dist/cjs/{helpers-81484ceb.js → helpers-6eb26e7a.js} +76 -3
- package/dist/cjs/helpers-6eb26e7a.js.map +1 -0
- package/dist/cjs/ic-alert.cjs.entry.js +4 -25
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +7 -5
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +13 -4
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +23 -31
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +15 -4
- package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +4 -4
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +14 -4
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +13 -4
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
- package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-entity.cjs.entry.js +2 -2
- package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +3 -3
- package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +4 -3
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +4 -3
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +3 -3
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +158 -0
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +44 -29
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +6 -8
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +12 -3
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +5 -4
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +6 -5
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +6 -5
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +8 -8
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +4 -4
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +13 -4
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +14 -5
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +23 -23
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
- package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +162 -66
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +17 -9
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +3 -3
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +13 -10
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +12 -3
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +8 -117
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +10 -2
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +5 -5
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +2 -2
- package/dist/cjs/ic-toast-region.cjs.entry.js +48 -0
- package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-toast.cjs.entry.js +165 -0
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-top-navigation.cjs.entry.js +15 -10
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +1 -1
- package/dist/cjs/{index-3ef30d9d.js → index-f79a4e53.js} +17 -2
- package/dist/cjs/index-f79a4e53.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- 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 +3 -3
- package/dist/collection/assets/info-icon.svg +3 -3
- package/dist/collection/assets/neutral-icon.svg +3 -3
- package/dist/collection/assets/success-icon.svg +3 -3
- package/dist/collection/assets/warning-icon.svg +3 -3
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/ic-alert/ic-alert.css +13 -13
- package/dist/collection/components/ic-alert/ic-alert.js +5 -16
- package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
- 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 +17 -7
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +1 -0
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +29 -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 +4 -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 +34 -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-chip/ic-chip.css +11 -10
- package/dist/collection/components/ic-chip/ic-chip.js +29 -0
- package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +5 -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-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/ic-footer-link.js +1 -0
- package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +1 -1
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +1 -0
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
- package/dist/collection/components/ic-hero/ic-hero.css +30 -30
- package/dist/collection/components/ic-horizontal-scroll/assets/left-arrow.svg +3 -0
- package/dist/collection/components/ic-horizontal-scroll/assets/right-arrow.svg +3 -0
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +539 -0
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +213 -0
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -0
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.js +34 -0
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.js.map +1 -0
- 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 +30 -1
- 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-loading-indicator/ic-loading-indicator.js +15 -12
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
- package/dist/collection/components/ic-menu/ic-menu.css +19 -14
- 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 +4 -3
- 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 +14 -7
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +3 -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 +30 -15
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +3 -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 +15 -11
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +5 -5
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
- package/dist/collection/components/ic-page-header/ic-page-header.css +14 -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-option/ic-radio-option.css +25 -34
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +31 -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 +24 -18
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +21 -33
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-section-container/ic-section-container.css +1 -0
- package/dist/collection/components/ic-select/assets/Expand.svg +1 -1
- package/dist/collection/components/ic-select/ic-select.css +30 -17
- package/dist/collection/components/ic-select/ic-select.js +256 -68
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +42 -24
- 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 +29 -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-group/ic-tab-group.css +6 -120
- package/dist/collection/components/ic-tab-group/ic-tab-group.js +7 -151
- 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-toast/ic-toast.css +597 -0
- package/dist/collection/components/ic-toast/ic-toast.js +382 -0
- package/dist/collection/components/ic-toast/ic-toast.js.map +1 -0
- package/dist/collection/components/ic-toast/ic-toast.test.a11y.js +16 -0
- package/dist/collection/components/ic-toast/ic-toast.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-toast/ic-toast.types.js +2 -0
- package/dist/collection/components/ic-toast/ic-toast.types.js.map +1 -0
- package/dist/collection/components/ic-toast-region/ic-toast-region.js +81 -0
- package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -0
- package/dist/collection/components/ic-tooltip/ic-tooltip.css +8 -10
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +27 -50
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +15 -9
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
- package/dist/collection/utils/constants.js +28 -0
- package/dist/collection/utils/constants.js.map +1 -1
- package/dist/collection/utils/helpers.js +12 -3
- 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/helpers.js +70 -3
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-alert.js +3 -24
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-back-to-top.js +6 -4
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-breadcrumb2.js +13 -3
- package/dist/components/ic-breadcrumb2.js.map +1 -1
- package/dist/components/ic-button2.js +5 -17
- 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 +15 -4
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +14 -4
- 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 +1 -1
- 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 +3 -2
- package/dist/components/ic-footer-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js +3 -2
- 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-horizontal-scroll.d.ts +11 -0
- package/dist/components/ic-horizontal-scroll.js +8 -0
- package/dist/components/ic-horizontal-scroll.js.map +1 -0
- package/dist/components/ic-horizontal-scroll2.js +199 -0
- package/dist/components/ic-horizontal-scroll2.js.map +1 -0
- package/dist/components/ic-input-component-container2.js +2 -3
- 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 -4
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-link2.js +13 -3
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +16 -13
- 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 +4 -3
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +4 -3
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +4 -3
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +6 -6
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js +28 -4
- 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 +15 -5
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +23 -23
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-section-container2.js +1 -1
- package/dist/components/ic-section-container2.js.map +1 -1
- package/dist/components/ic-select.js +165 -65
- 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 +13 -3
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-group.js +29 -124
- 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-toast-region.d.ts +11 -0
- package/dist/components/ic-toast-region.js +63 -0
- package/dist/components/ic-toast-region.js.map +1 -0
- package/dist/components/ic-toast.d.ts +11 -0
- package/dist/components/ic-toast.js +214 -0
- package/dist/components/ic-toast.js.map +1 -0
- package/dist/components/ic-tooltip2.js +1 -1
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +21 -10
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.js +3 -0
- package/dist/components/index.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-1724000c.js +2 -0
- package/dist/core/p-1724000c.js.map +1 -0
- package/dist/core/p-17f91c94.entry.js +2 -0
- package/dist/core/p-17f91c94.entry.js.map +1 -0
- package/dist/core/p-18ae4b6d.entry.js +2 -0
- package/dist/core/p-18ae4b6d.entry.js.map +1 -0
- package/dist/core/p-18bf3cb0.entry.js +2 -0
- package/dist/core/p-18bf3cb0.entry.js.map +1 -0
- package/dist/core/p-24240e11.js +2 -0
- package/dist/core/p-2642f880.entry.js +2 -0
- package/dist/core/p-2642f880.entry.js.map +1 -0
- package/dist/core/p-284970bc.entry.js +2 -0
- package/dist/core/p-284970bc.entry.js.map +1 -0
- package/dist/core/p-31a595c1.entry.js +2 -0
- package/dist/core/p-31a595c1.entry.js.map +1 -0
- package/dist/core/p-35a03442.entry.js +2 -0
- package/dist/core/p-35a03442.entry.js.map +1 -0
- package/dist/core/p-360adc51.entry.js +2 -0
- package/dist/core/p-360adc51.entry.js.map +1 -0
- package/dist/core/p-3dda76db.entry.js +2 -0
- package/dist/core/p-3dda76db.entry.js.map +1 -0
- package/dist/core/p-41e239cb.entry.js +2 -0
- package/dist/core/p-41e239cb.entry.js.map +1 -0
- package/dist/core/p-44c9612c.entry.js +2 -0
- package/dist/core/p-44c9612c.entry.js.map +1 -0
- package/dist/core/p-521be4e2.entry.js +2 -0
- package/dist/core/p-521be4e2.entry.js.map +1 -0
- package/dist/core/{p-f9370be6.js → p-5450cebf.js} +3 -3
- package/dist/core/p-5450cebf.js.map +1 -0
- package/dist/core/{p-c5e453eb.entry.js → p-55512a85.entry.js} +2 -2
- package/dist/core/p-55512a85.entry.js.map +1 -0
- package/dist/core/p-560c06af.entry.js +2 -0
- package/dist/core/p-560c06af.entry.js.map +1 -0
- package/dist/core/p-57f2c81c.entry.js +2 -0
- package/dist/core/p-57f2c81c.entry.js.map +1 -0
- package/dist/core/p-5b083ce5.entry.js +2 -0
- package/dist/core/p-5b083ce5.entry.js.map +1 -0
- package/dist/core/p-62b3516e.entry.js +2 -0
- package/dist/core/p-62b3516e.entry.js.map +1 -0
- package/dist/core/{p-f760198e.entry.js → p-691ea0f2.entry.js} +2 -2
- package/dist/core/p-6f57b13c.js.map +1 -1
- package/dist/core/p-7818d958.entry.js +2 -0
- package/dist/core/p-7818d958.entry.js.map +1 -0
- package/dist/core/p-7a0bf893.entry.js +2 -0
- package/dist/core/p-7a0bf893.entry.js.map +1 -0
- package/dist/core/p-7a9bc7f2.entry.js +2 -0
- package/dist/core/p-7a9bc7f2.entry.js.map +1 -0
- package/dist/core/{p-e93e9aa3.entry.js → p-7fd50355.entry.js} +2 -2
- package/dist/core/p-7fd50355.entry.js.map +1 -0
- package/dist/core/{p-9e684c58.entry.js → p-897e967a.entry.js} +2 -2
- package/dist/core/p-8c7f4343.js +2 -0
- package/dist/core/p-8f1176c6.entry.js +2 -0
- package/dist/core/p-8f1176c6.entry.js.map +1 -0
- package/dist/core/{p-9b4022d7.entry.js → p-8ffa00c9.entry.js} +2 -2
- package/dist/core/p-8ffa00c9.entry.js.map +1 -0
- package/dist/core/p-91a8db51.entry.js +2 -0
- package/dist/core/p-91a8db51.entry.js.map +1 -0
- package/dist/core/p-a09d853e.entry.js +2 -0
- package/dist/core/p-a09d853e.entry.js.map +1 -0
- package/dist/core/p-a667e329.entry.js +2 -0
- package/dist/core/p-a667e329.entry.js.map +1 -0
- package/dist/core/{p-6be5e06b.entry.js → p-ad2477d8.entry.js} +2 -2
- package/dist/core/p-ad2477d8.entry.js.map +1 -0
- package/dist/core/p-b35ae170.entry.js +2 -0
- package/dist/core/{p-c320fa70.entry.js.map → p-b35ae170.entry.js.map} +1 -1
- package/dist/core/p-b40bd77c.entry.js +2 -0
- package/dist/core/p-b40bd77c.entry.js.map +1 -0
- package/dist/core/p-b4234318.entry.js +2 -0
- package/dist/core/p-b4234318.entry.js.map +1 -0
- package/dist/core/p-ba8d6c23.entry.js +2 -0
- package/dist/core/p-ba8d6c23.entry.js.map +1 -0
- package/dist/core/p-bd819f68.entry.js +2 -0
- package/dist/core/p-bd819f68.entry.js.map +1 -0
- package/dist/core/{p-4f1a7195.entry.js → p-c4a7c734.entry.js} +2 -2
- package/dist/core/p-c72e4b75.entry.js +2 -0
- package/dist/core/p-c72e4b75.entry.js.map +1 -0
- package/dist/core/p-c7b86643.entry.js +2 -0
- package/dist/core/p-c7b86643.entry.js.map +1 -0
- package/dist/core/p-c8f07be6.entry.js +2 -0
- package/dist/core/p-c8f07be6.entry.js.map +1 -0
- package/dist/core/{p-6d0eaaeb.entry.js → p-c9068822.entry.js} +2 -2
- package/dist/core/p-cccbf2bf.entry.js +2 -0
- package/dist/core/p-cccbf2bf.entry.js.map +1 -0
- package/dist/core/{p-a2d3e955.entry.js → p-d2508752.entry.js} +2 -2
- package/dist/core/p-d7bbace4.entry.js +2 -0
- package/dist/core/p-d7bbace4.entry.js.map +1 -0
- package/dist/core/p-d86b0d0e.entry.js +2 -0
- package/dist/core/p-d86b0d0e.entry.js.map +1 -0
- package/dist/core/p-e0d88c31.entry.js +2 -0
- package/dist/core/p-e0d88c31.entry.js.map +1 -0
- package/dist/core/p-e9202767.entry.js +2 -0
- package/dist/core/p-e9202767.entry.js.map +1 -0
- package/dist/core/p-eba373bf.entry.js +2 -0
- package/dist/core/p-eba373bf.entry.js.map +1 -0
- package/dist/core/{p-cadb531f.entry.js → p-ed6cf9b9.entry.js} +2 -2
- package/dist/core/p-ed6cf9b9.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 +2 -2
- package/dist/esm/{helpers-46e5291b.js → helpers-c332acf8.js} +71 -4
- package/dist/esm/helpers-c332acf8.js.map +1 -0
- package/dist/esm/ic-alert.entry.js +4 -25
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +7 -5
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
- package/dist/esm/ic-breadcrumb.entry.js +13 -4
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +23 -31
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +15 -4
- package/dist/esm/ic-card.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +4 -4
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +14 -4
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +13 -4
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +2 -2
- package/dist/esm/ic-classification-banner.entry.js.map +1 -1
- package/dist/esm/ic-data-entity.entry.js +2 -2
- package/dist/esm/ic-data-entity.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +3 -3
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +3 -3
- package/dist/esm/ic-divider.entry.js.map +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +4 -3
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +4 -3
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +3 -3
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +3 -3
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +154 -0
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -0
- package/dist/esm/ic-input-component-container_3.entry.js +43 -28
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +3 -5
- package/dist/esm/ic-input-label_2.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +12 -3
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +5 -4
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +6 -5
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +6 -5
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +8 -8
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +4 -4
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +13 -4
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +14 -5
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +23 -23
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-section-container.entry.js +2 -2
- package/dist/esm/ic-section-container.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +162 -66
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +17 -9
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +1 -1
- package/dist/esm/ic-status-tag.entry.js +3 -3
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +3 -3
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +13 -10
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +12 -3
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +1 -1
- package/dist/esm/ic-tab-group.entry.js +8 -117
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +2 -2
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +10 -2
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +5 -5
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +2 -2
- package/dist/esm/ic-toast-region.entry.js +44 -0
- package/dist/esm/ic-toast-region.entry.js.map +1 -0
- package/dist/esm/ic-toast.entry.js +161 -0
- package/dist/esm/ic-toast.entry.js.map +1 -0
- package/dist/esm/ic-top-navigation.entry.js +15 -10
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +1 -1
- package/dist/esm/{index-1500de1f.js → index-90721b3c.js} +17 -2
- package/dist/esm/index-90721b3c.js.map +1 -0
- package/dist/esm/loader.js +2 -2
- package/dist/esm/types-dd515332.js.map +1 -1
- package/dist/types/components/ic-alert/ic-alert.d.ts +2 -2
- 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-horizontal-scroll/ic-horizontal-scroll.d.ts +39 -0
- package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.d.ts +1 -0
- package/dist/types/components/ic-link/ic-link.d.ts +4 -0
- package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +0 -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 +2 -3
- package/dist/types/components/ic-select/ic-select.d.ts +42 -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 +2 -30
- package/dist/types/components/ic-text-field/ic-text-field.d.ts +1 -1
- package/dist/types/components/ic-toast/ic-toast.d.ts +66 -0
- package/dist/types/components/ic-toast/ic-toast.test.a11y.d.ts +1 -0
- package/dist/types/components/ic-toast/ic-toast.types.d.ts +1 -0
- package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +12 -0
- package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +2 -1
- package/dist/types/components.d.ts +214 -37
- package/dist/types/interface.d.ts +0 -1
- package/dist/types/utils/constants.d.ts +22 -0
- package/dist/types/utils/helpers.d.ts +2 -0
- package/dist/types/utils/types.d.ts +3 -0
- package/hydrate/index.js +932 -402
- package/package.json +5 -5
- 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 +0 -18
- package/dist/cjs/error-icon-99504103.js.map +0 -1
- package/dist/cjs/helpers-81484ceb.js.map +0 -1
- package/dist/cjs/index-3ef30d9d.js.map +0 -1
- package/dist/cjs/success-icon-887b2097.js +0 -11
- package/dist/cjs/success-icon-887b2097.js.map +0 -1
- package/dist/collection/components/ic-alert/ic-alert.types.js +0 -2
- package/dist/collection/components/ic-alert/ic-alert.types.js.map +0 -1
- package/dist/collection/components/ic-tab-group/assets/left-arrow.svg +0 -3
- package/dist/collection/components/ic-tab-group/assets/right-arrow.svg +0 -3
- package/dist/components/error-icon.js +0 -15
- package/dist/components/error-icon.js.map +0 -1
- package/dist/components/success-icon.js +0 -9
- package/dist/components/success-icon.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-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-3f9cdcdd.entry.js.map +0 -1
- package/dist/core/p-4902b46a.entry.js +0 -2
- package/dist/core/p-4902b46a.entry.js.map +0 -1
- package/dist/core/p-541918c2.entry.js +0 -2
- package/dist/core/p-541918c2.entry.js.map +0 -1
- 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-6be5e06b.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-9020d1ff.entry.js +0 -2
- package/dist/core/p-9020d1ff.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-a38cbb3f.entry.js +0 -2
- package/dist/core/p-a38cbb3f.entry.js.map +0 -1
- package/dist/core/p-a8ac8f72.js +0 -2
- 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-bf5717ca.js.map +0 -1
- package/dist/core/p-c320fa70.entry.js +0 -2
- package/dist/core/p-c5e453eb.entry.js.map +0 -1
- 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-e28af65b.js.map +0 -1
- 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-f9370be6.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 +0 -15
- package/dist/esm/error-icon-6046a380.js.map +0 -1
- package/dist/esm/helpers-46e5291b.js.map +0 -1
- package/dist/esm/index-1500de1f.js.map +0 -1
- package/dist/esm/success-icon-2f71b115.js +0 -9
- package/dist/esm/success-icon-2f71b115.js.map +0 -1
- package/dist/types/components/ic-alert/ic-alert.types.d.ts +0 -1
- /package/dist/core/{p-1e7b4310.js.map → p-24240e11.js.map} +0 -0
- /package/dist/core/{p-f760198e.entry.js.map → p-691ea0f2.entry.js.map} +0 -0
- /package/dist/core/{p-9e684c58.entry.js.map → p-897e967a.entry.js.map} +0 -0
- /package/dist/core/{p-ae6aa67f.js.map → p-8c7f4343.js.map} +0 -0
- /package/dist/core/{p-4f1a7195.entry.js.map → p-c4a7c734.entry.js.map} +0 -0
- /package/dist/core/{p-6d0eaaeb.entry.js.map → p-c9068822.entry.js.map} +0 -0
- /package/dist/core/{p-a2d3e955.entry.js.map → p-d2508752.entry.js.map} +0 -0
@@ -35,6 +35,14 @@ export class Switch {
|
|
35
35
|
this.checkedState = false;
|
36
36
|
this.initiallyChecked = this.checked;
|
37
37
|
}
|
38
|
+
/**
|
39
|
+
* Sets focus on the switch.
|
40
|
+
*/
|
41
|
+
async setFocus() {
|
42
|
+
if (this.el.shadowRoot.querySelector("input")) {
|
43
|
+
this.el.shadowRoot.querySelector("input").focus();
|
44
|
+
}
|
45
|
+
}
|
38
46
|
componentWillLoad() {
|
39
47
|
this.checkedState = this.checked;
|
40
48
|
addFormResetListener(this.el, this.handleFormReset);
|
@@ -60,6 +68,7 @@ export class Switch {
|
|
60
68
|
}
|
61
69
|
static get is() { return "ic-switch"; }
|
62
70
|
static get encapsulation() { return "shadow"; }
|
71
|
+
static get delegatesFocus() { return true; }
|
63
72
|
static get originalStyleUrls() {
|
64
73
|
return {
|
65
74
|
"$": ["ic-switch.css"]
|
@@ -294,6 +303,26 @@ export class Switch {
|
|
294
303
|
}
|
295
304
|
}];
|
296
305
|
}
|
306
|
+
static get methods() {
|
307
|
+
return {
|
308
|
+
"setFocus": {
|
309
|
+
"complexType": {
|
310
|
+
"signature": "() => Promise<void>",
|
311
|
+
"parameters": [],
|
312
|
+
"references": {
|
313
|
+
"Promise": {
|
314
|
+
"location": "global"
|
315
|
+
}
|
316
|
+
},
|
317
|
+
"return": "Promise<void>"
|
318
|
+
},
|
319
|
+
"docs": {
|
320
|
+
"text": "Sets focus on the switch.",
|
321
|
+
"tags": []
|
322
|
+
}
|
323
|
+
}
|
324
|
+
};
|
325
|
+
}
|
297
326
|
static get elementRef() { return "el"; }
|
298
327
|
}
|
299
328
|
//# sourceMappingURL=ic-switch.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-switch.js","sourceRoot":"","sources":["../../../src/components/ic-switch/ic-switch.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n} from \"../../utils/helpers\";\nimport { IcSwitchChangeEventDetail } from \"./ic-switch.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot right-adornment - Content is placed to the right of switch before state label.\n */\n@Component({\n tag: \"ic-switch\",\n styleUrl: \"ic-switch.css\",\n shadow: true,\n})\nexport class Switch {\n private inputId = `ic-switch-input-${inputIds++}`;\n\n @Element() el: HTMLIcSwitchElement;\n\n /**\n * The aria-label applied to the switch when no visual 'name' is provided.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n /**\n * If `true`, the switch will display as checked.\n */\n @Prop() checked?: boolean = false;\n /**\n * If `true`, the small styling will be applied to the switch.\n */\n @Prop() small?: boolean = false;\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n /**\n * If `true`, the switch will render the On/Off state text.\n */\n @Prop() showState?: boolean = false;\n\n /**\n * The value of the toggle does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a toggle is analogous to the value of a `<input type=\"checkbox\">`,\n * it's only used when the toggle participates in a native `<form>`.\n */\n @Prop() value?: string | null = \"on\";\n\n /**\n * Emitted when the value property has changed.\n */\n @Event() icChange!: EventEmitter<IcSwitchChangeEventDetail>;\n\n /**\n * Emitted when the toggle has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n @State() checkedState: boolean = false;\n @State() initiallyChecked = this.checked;\n\n private handleChange = () => {\n this.checkedState = !this.checkedState;\n this.icChange.emit({\n checked: this.checkedState,\n value: this.value,\n });\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private handleFormReset = (): void => {\n this.checkedState = this.initiallyChecked;\n };\n\n componentWillLoad(): void {\n this.checkedState = this.checked;\n addFormResetListener(this.el, this.handleFormReset);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Switch\"\n );\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n render() {\n const {\n label,\n checkedState,\n small,\n disabled,\n name,\n showState,\n value,\n hideLabel,\n helperText,\n inputId,\n } = this;\n\n renderHiddenInput(true, this.el, name, checkedState ? value : \"\", disabled);\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n );\n\n return (\n <Host>\n <label\n class={{\n [\"ic-switch-container\"]: true,\n [\"ic-switch-disabled\"]: disabled,\n [\"ic-switch-small\"]: small,\n }}\n htmlFor={inputId}\n >\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n readonly={true}\n disabled={disabled}\n class={{\n [\"ic-switch-label\"]: true,\n [\"ic-switch-label-small\"]: small,\n }}\n ></ic-input-label>\n )}\n {!hideLabel && <span class=\"ic-switch-line-break\"></span>}\n <input\n checked={checkedState}\n disabled={disabled}\n aria-label={label}\n aria-checked={checkedState ? \"true\" : \"false\"}\n aria-describedby={describedBy}\n role=\"switch\"\n class=\"ic-switch-input\"\n type=\"checkbox\"\n name=\"toggle\"\n id={inputId}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onChange={this.handleChange}\n />\n <span class=\"ic-switch-toggle\">\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n class=\"ic-switch-icon-line\"\n x1=\"9\"\n y1={small ? \"2\" : \"1\"}\n x2=\"9\"\n y2={small ? \"8\" : \"9\"}\n />\n </svg>\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"ic-switch-icon-circle\"\n fill=\"none\"\n cx=\"5\"\n cy=\"5\"\n r={small ? \"3.335\" : \"4.445\"}\n />\n </svg>\n </span>\n <slot name=\"right-adornment\"></slot>\n {showState && (\n <ic-typography\n aria-hidden=\"true\"\n variant=\"label\"\n class=\"ic-switch-checked-status\"\n >\n {checkedState ? \"On\" : \"Off\"}\n </ic-typography>\n )}\n </label>\n </Host>\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"ic-switch.js","sourceRoot":"","sources":["../../../src/components/ic-switch/ic-switch.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Method,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n} from \"../../utils/helpers\";\nimport { IcSwitchChangeEventDetail } from \"./ic-switch.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot right-adornment - Content is placed to the right of switch before state label.\n */\n@Component({\n tag: \"ic-switch\",\n styleUrl: \"ic-switch.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Switch {\n private inputId = `ic-switch-input-${inputIds++}`;\n\n @Element() el: HTMLIcSwitchElement;\n\n /**\n * The aria-label applied to the switch when no visual 'name' is provided.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n /**\n * If `true`, the switch will display as checked.\n */\n @Prop() checked?: boolean = false;\n /**\n * If `true`, the small styling will be applied to the switch.\n */\n @Prop() small?: boolean = false;\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n /**\n * If `true`, the switch will render the On/Off state text.\n */\n @Prop() showState?: boolean = false;\n\n /**\n * The value of the toggle does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a toggle is analogous to the value of a `<input type=\"checkbox\">`,\n * it's only used when the toggle participates in a native `<form>`.\n */\n @Prop() value?: string | null = \"on\";\n\n /**\n * Emitted when the value property has changed.\n */\n @Event() icChange!: EventEmitter<IcSwitchChangeEventDetail>;\n\n /**\n * Emitted when the toggle has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n @State() checkedState: boolean = false;\n @State() initiallyChecked = this.checked;\n\n private handleChange = () => {\n this.checkedState = !this.checkedState;\n this.icChange.emit({\n checked: this.checkedState,\n value: this.value,\n });\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private handleFormReset = (): void => {\n this.checkedState = this.initiallyChecked;\n };\n\n /**\n * Sets focus on the switch.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"input\")) {\n this.el.shadowRoot.querySelector(\"input\").focus();\n }\n }\n\n componentWillLoad(): void {\n this.checkedState = this.checked;\n addFormResetListener(this.el, this.handleFormReset);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Switch\"\n );\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n render() {\n const {\n label,\n checkedState,\n small,\n disabled,\n name,\n showState,\n value,\n hideLabel,\n helperText,\n inputId,\n } = this;\n\n renderHiddenInput(true, this.el, name, checkedState ? value : \"\", disabled);\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n );\n\n return (\n <Host>\n <label\n class={{\n [\"ic-switch-container\"]: true,\n [\"ic-switch-disabled\"]: disabled,\n [\"ic-switch-small\"]: small,\n }}\n htmlFor={inputId}\n >\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n readonly={true}\n disabled={disabled}\n class={{\n [\"ic-switch-label\"]: true,\n [\"ic-switch-label-small\"]: small,\n }}\n ></ic-input-label>\n )}\n {!hideLabel && <span class=\"ic-switch-line-break\"></span>}\n <input\n checked={checkedState}\n disabled={disabled}\n aria-label={label}\n aria-checked={checkedState ? \"true\" : \"false\"}\n aria-describedby={describedBy}\n role=\"switch\"\n class=\"ic-switch-input\"\n type=\"checkbox\"\n name=\"toggle\"\n id={inputId}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onChange={this.handleChange}\n />\n <span class=\"ic-switch-toggle\">\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n class=\"ic-switch-icon-line\"\n x1=\"9\"\n y1={small ? \"2\" : \"1\"}\n x2=\"9\"\n y2={small ? \"8\" : \"9\"}\n />\n </svg>\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"ic-switch-icon-circle\"\n fill=\"none\"\n cx=\"5\"\n cy=\"5\"\n r={small ? \"3.335\" : \"4.445\"}\n />\n </svg>\n </span>\n <slot name=\"right-adornment\"></slot>\n {showState && (\n <ic-typography\n aria-hidden=\"true\"\n variant=\"label\"\n class=\"ic-switch-checked-status\"\n >\n {checkedState ? \"On\" : \"Off\"}\n </ic-typography>\n )}\n </label>\n </Host>\n );\n }\n}\n"]}
|
@@ -44,6 +44,14 @@ export class Tab {
|
|
44
44
|
this.tabPosition = undefined;
|
45
45
|
this.appearance = "dark";
|
46
46
|
}
|
47
|
+
/**
|
48
|
+
* Sets focus on the tab.
|
49
|
+
*/
|
50
|
+
async setFocus() {
|
51
|
+
if (this.host) {
|
52
|
+
this.host.focus();
|
53
|
+
}
|
54
|
+
}
|
47
55
|
componentDidUpdate() {
|
48
56
|
this.isInitialRender = false;
|
49
57
|
}
|
@@ -245,6 +253,26 @@ export class Tab {
|
|
245
253
|
}
|
246
254
|
}];
|
247
255
|
}
|
256
|
+
static get methods() {
|
257
|
+
return {
|
258
|
+
"setFocus": {
|
259
|
+
"complexType": {
|
260
|
+
"signature": "() => Promise<void>",
|
261
|
+
"parameters": [],
|
262
|
+
"references": {
|
263
|
+
"Promise": {
|
264
|
+
"location": "global"
|
265
|
+
}
|
266
|
+
},
|
267
|
+
"return": "Promise<void>"
|
268
|
+
},
|
269
|
+
"docs": {
|
270
|
+
"text": "Sets focus on the tab.",
|
271
|
+
"tags": []
|
272
|
+
}
|
273
|
+
}
|
274
|
+
};
|
275
|
+
}
|
248
276
|
static get elementRef() { return "host"; }
|
249
277
|
}
|
250
278
|
//# sourceMappingURL=ic-tab.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-tab.js","sourceRoot":"","sources":["../../../src/components/ic-tab/ic-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,IAAI,EACJ,IAAI,EACJ,CAAC,
|
1
|
+
{"version":3,"file":"ic-tab.js","sourceRoot":"","sources":["../../../src/components/ic-tab/ic-tab.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
|
@@ -1,139 +1,25 @@
|
|
1
1
|
:host {
|
2
2
|
--border-bottom-color: var(--ic-architectural-300);
|
3
|
-
--splitter-color: var(--ic-architectural-100);
|
4
|
-
--tab-scroll-focus: var(--ic-border-focus);
|
5
|
-
--tab-scroll-fill: var(--ic-action-default);
|
6
|
-
--tab-scroll-disabled-fill: var(--ic-architectural-300);
|
7
|
-
--tab-scroll-hover: var(--ic-action-default-bg-hover);
|
8
|
-
--tab-scroll-active: var(--ic-action-default-bg-active);
|
9
3
|
|
10
4
|
display: block;
|
11
5
|
margin-bottom: var(--ic-space-md);
|
12
|
-
|
13
|
-
}
|
14
|
-
|
15
|
-
:host(.light) {
|
16
|
-
--splitter-color: var(--ic-architectural-white);
|
17
|
-
--tab-scroll-focus: var(--ic-border-focus-dark);
|
18
|
-
--tab-scroll-fill: var(--ic-action-light);
|
19
|
-
--tab-scroll-disabled-fill: var(--ic-architectural-500);
|
20
|
-
--tab-scroll-hover: var(--ic-action-dark-bg-hover);
|
21
|
-
--tab-scroll-active: var(--ic-action-dark-bg-active);
|
6
|
+
border-bottom: 1px solid var(--border-bottom-color);
|
22
7
|
}
|
23
8
|
|
24
9
|
:host([inline]) {
|
25
10
|
margin-bottom: 0;
|
11
|
+
border-bottom: none;
|
26
12
|
}
|
27
13
|
|
28
|
-
.
|
29
|
-
display: flex;
|
30
|
-
flex-direction: row;
|
31
|
-
overflow-y: hidden;
|
32
|
-
overflow-x: scroll;
|
33
|
-
height: 100%;
|
34
|
-
align-items: center;
|
35
|
-
padding: var(--ic-space-xs);
|
36
|
-
scroll-behavior: smooth;
|
37
|
-
-ms-overflow-style: none;
|
38
|
-
scrollbar-width: none;
|
39
|
-
margin: calc(-1 * var(--ic-space-xs)) 0;
|
40
|
-
}
|
41
|
-
|
42
|
-
.tabs-container::-webkit-scrollbar {
|
43
|
-
display: none;
|
44
|
-
}
|
45
|
-
|
46
|
-
.ic-tab-group-container {
|
47
|
-
display: flex;
|
48
|
-
align-items: center;
|
49
|
-
}
|
50
|
-
|
51
|
-
:host(.light.ic-tab-group-not-inline) {
|
14
|
+
.light {
|
52
15
|
--border-bottom-color: var(--ic-architectural-white);
|
53
16
|
}
|
54
17
|
|
55
|
-
.
|
56
|
-
display: flex;
|
57
|
-
}
|
58
|
-
|
59
|
-
.scroll-container.hidden {
|
60
|
-
display: none;
|
61
|
-
}
|
62
|
-
|
63
|
-
.scroll-container:first-child {
|
64
|
-
margin-left: var(--ic-space-xs);
|
65
|
-
}
|
66
|
-
|
67
|
-
.scroll-arrow {
|
68
|
-
display: flex;
|
69
|
-
width: 36px;
|
70
|
-
height: 36px;
|
71
|
-
margin: var(--ic-space-xxs) var(--ic-space-xxxs);
|
72
|
-
align-items: center;
|
73
|
-
justify-content: center;
|
74
|
-
fill: var(--tab-scroll-fill);
|
75
|
-
cursor: pointer;
|
76
|
-
}
|
77
|
-
|
78
|
-
.scroll-arrow:focus {
|
79
|
-
outline: var(--ic-hc-focus-outline);
|
80
|
-
}
|
81
|
-
|
82
|
-
.scroll-arrow:hover {
|
83
|
-
background-color: var(--tab-scroll-hover);
|
84
|
-
}
|
85
|
-
|
86
|
-
.scroll-arrow:active {
|
87
|
-
background-color: var(--tab-scroll-active);
|
88
|
-
}
|
89
|
-
|
90
|
-
.scroll-container.disabled .scroll-arrow {
|
91
|
-
fill: var(--tab-scroll-disabled-fill);
|
92
|
-
cursor: default;
|
93
|
-
}
|
94
|
-
|
95
|
-
.scroll-container.disabled .scroll-arrow:hover,
|
96
|
-
.scroll-container.disabled .scroll-arrow:active,
|
97
|
-
.scroll-container.disabled .scroll-arrow:focus {
|
98
|
-
background-color: unset;
|
99
|
-
box-shadow: none;
|
100
|
-
}
|
101
|
-
|
102
|
-
.scroll-container.disabled .ic-tooltip-container {
|
103
|
-
display: none !important;
|
104
|
-
}
|
105
|
-
|
106
|
-
.scroll-splitter-left,
|
107
|
-
.scroll-splitter-right {
|
18
|
+
.tabs-container {
|
108
19
|
display: flex;
|
109
|
-
|
110
|
-
width: 1px;
|
111
|
-
margin-top: 10px;
|
112
|
-
background-color: var(--splitter-color);
|
113
|
-
}
|
114
|
-
|
115
|
-
.scroll-splitter-left {
|
116
|
-
margin-left: var(--ic-space-xxxs);
|
117
|
-
}
|
118
|
-
|
119
|
-
.scroll-splitter-right {
|
120
|
-
margin-right: var(--ic-space-xxxs);
|
20
|
+
flex-direction: row;
|
121
21
|
}
|
122
22
|
|
123
|
-
.
|
124
|
-
.scroll-container.disabled .scroll-splitter-right {
|
23
|
+
.tabs-container::-webkit-scrollbar {
|
125
24
|
display: none;
|
126
25
|
}
|
127
|
-
|
128
|
-
.ic-tab-splitter {
|
129
|
-
display: block;
|
130
|
-
background-color: var(--border-bottom-color);
|
131
|
-
height: 1px;
|
132
|
-
right: 0;
|
133
|
-
left: 0;
|
134
|
-
margin-left: var(--ic-space-xs);
|
135
|
-
}
|
136
|
-
|
137
|
-
.ic-tab-splitter.hidden {
|
138
|
-
height: 0;
|
139
|
-
}
|
@@ -1,129 +1,27 @@
|
|
1
|
-
import { Host, h
|
2
|
-
import
|
3
|
-
import RightArrow from "./assets/right-arrow.svg";
|
4
|
-
import { checkResizeObserver, elementOverflowsX, onComponentRequiredPropUndefined, } from "../../utils/helpers";
|
1
|
+
import { Host, h } from "@stencil/core";
|
2
|
+
import { onComponentRequiredPropUndefined } from "../../utils/helpers";
|
5
3
|
import { IcThemeForegroundEnum, } from "../../utils/types";
|
6
|
-
const SCROLL_DELAY_MS = 200;
|
7
4
|
export class TabGroup {
|
8
5
|
constructor() {
|
9
|
-
this.buttonStateSet = false;
|
10
|
-
this.resizeObserverCallback = () => {
|
11
|
-
if (this.tabGroupEl === null || this.tabGroupEl === undefined) {
|
12
|
-
this.tabGroupEl = this.host.shadowRoot.querySelector(".tabs-container");
|
13
|
-
}
|
14
|
-
this.tabOverflow = elementOverflowsX(this.tabGroupEl);
|
15
|
-
if (this.tabOverflow) {
|
16
|
-
this.lastTabVisible =
|
17
|
-
this.tabGroupEl.offsetWidth + this.tabGroupEl.scrollLeft >=
|
18
|
-
this.tabGroupEl.scrollWidth;
|
19
|
-
}
|
20
|
-
};
|
21
|
-
this.runResizeObserver = () => {
|
22
|
-
this.resizeObserver = new ResizeObserver(() => {
|
23
|
-
this.resizeObserverCallback();
|
24
|
-
});
|
25
|
-
this.resizeObserver.observe(this.splitterEl);
|
26
|
-
};
|
27
|
-
this.scrollLeft = () => {
|
28
|
-
this.scrollTabIntoView(this.getCurrentLeftTab() - 1);
|
29
|
-
};
|
30
|
-
this.scrollRight = () => {
|
31
|
-
this.scrollTabIntoView(this.getCurrentLeftTab() + 1);
|
32
|
-
};
|
33
|
-
this.longScrollRight = () => {
|
34
|
-
this.scrollRight();
|
35
|
-
this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);
|
36
|
-
};
|
37
|
-
this.longScrollLeft = () => {
|
38
|
-
this.scrollLeft();
|
39
|
-
this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);
|
40
|
-
};
|
41
|
-
this.leftArrowMouseDownHandler = () => {
|
42
|
-
this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);
|
43
|
-
};
|
44
|
-
this.rightArrowMouseDownHandler = () => {
|
45
|
-
this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);
|
46
|
-
};
|
47
|
-
this.arrowMouseUpHandler = () => {
|
48
|
-
window.clearTimeout(this.scrollDelay);
|
49
|
-
};
|
50
|
-
this.getCurrentLeftTab = () => {
|
51
|
-
const index = this.tabOffsets.findIndex((el) => el > this.tabGroupEl.scrollLeft);
|
52
|
-
return index < 0 ? 0 : index;
|
53
|
-
};
|
54
|
-
this.scrollHandler = () => {
|
55
|
-
window.clearTimeout(this.isScrolling);
|
56
|
-
// Set a timeout to run after scrolling ends
|
57
|
-
this.isScrolling = window.setTimeout(this.scrollStopped, 50);
|
58
|
-
};
|
59
|
-
this.scrollStopped = () => {
|
60
|
-
// if scrollTabIntoView has been called, the button states will already be set
|
61
|
-
// can't just handle it here as it causes strange jumping behaviour in positioning
|
62
|
-
if (this.buttonStateSet === false) {
|
63
|
-
this.firstTabVisible = this.tabGroupEl.scrollLeft === 0;
|
64
|
-
this.lastTabVisible =
|
65
|
-
this.tabGroupEl.offsetWidth + this.tabGroupEl.scrollLeft >=
|
66
|
-
this.tabGroupEl.scrollWidth;
|
67
|
-
}
|
68
|
-
this.buttonStateSet = false;
|
69
|
-
};
|
70
6
|
this.contextId = "default";
|
71
7
|
this.inline = false;
|
72
8
|
this.label = undefined;
|
73
9
|
this.appearance = "dark";
|
74
|
-
this.firstTabVisible = true;
|
75
|
-
this.lastTabVisible = false;
|
76
|
-
this.tabOverflow = false;
|
77
|
-
}
|
78
|
-
/**
|
79
|
-
* @internal if tab side scrolling enabled, scrolls the specified tab into view
|
80
|
-
*/
|
81
|
-
async scrollTabIntoView(tabNumber) {
|
82
|
-
this.firstTabVisible = tabNumber <= 0;
|
83
|
-
const newScrollPos = tabNumber <= 0 ? 0 : this.tabOffsets[tabNumber - 1];
|
84
|
-
this.lastTabVisible =
|
85
|
-
this.tabGroupEl.offsetWidth + newScrollPos >= this.tabGroupEl.scrollWidth;
|
86
|
-
this.buttonStateSet = true;
|
87
|
-
this.tabGroupEl.scrollLeft = newScrollPos;
|
88
|
-
}
|
89
|
-
tabFocusHandler(event) {
|
90
|
-
if (this.tabOverflow) {
|
91
|
-
this.scrollTabIntoView(event.detail.position);
|
92
|
-
}
|
93
10
|
}
|
94
11
|
componentDidLoad() {
|
95
|
-
this.tabs = Array.from(this.host.querySelectorAll("ic-tab"));
|
96
|
-
let runningTotal = 0;
|
97
|
-
this.tabOffsets = this.tabs.map((tab) => {
|
98
|
-
runningTotal += tab.offsetWidth;
|
99
|
-
return runningTotal;
|
100
|
-
});
|
101
|
-
checkResizeObserver(this.runResizeObserver);
|
102
12
|
onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Tab Group");
|
103
13
|
}
|
104
|
-
disconnectedCallback() {
|
105
|
-
this.resizeObserver.disconnect();
|
106
|
-
}
|
107
14
|
render() {
|
108
|
-
const {
|
15
|
+
const { appearance, label } = this;
|
109
16
|
return (h(Host, { role: "tablist", "aria-label": label, class: {
|
110
17
|
["light"]: appearance === IcThemeForegroundEnum.Light,
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
["hidden"]: !tabOverflow,
|
115
|
-
["disabled"]: firstTabVisible,
|
116
|
-
} }, h("ic-tooltip", { placement: "bottom-start", label: "Scroll left", target: "left-arrow" }, h("span", { id: "left-arrow", class: "scroll-arrow", innerHTML: LeftArrow, onClick: this.scrollLeft, onMouseDown: this.leftArrowMouseDownHandler, onMouseUp: this.arrowMouseUpHandler })), h("span", { class: "scroll-splitter-left" }))), h("div", { class: "tabs-container", ref: (el) => (this.tabGroupEl = el), onScroll: this.scrollHandler }, h("slot", null)), this.tabOverflow && (h("div", { "aria-hidden": "true", id: "scroll-container-right", class: {
|
117
|
-
["scroll-container"]: true,
|
118
|
-
["hidden"]: !tabOverflow,
|
119
|
-
["disabled"]: lastTabVisible,
|
120
|
-
} }, h("span", { class: "scroll-splitter-right" }), h("ic-tooltip", { placement: "bottom-start", label: "Scroll right", target: "right-arrow" }, h("span", { id: "right-arrow", class: "scroll-arrow", innerHTML: RightArrow, onClick: this.scrollRight, onMouseDown: this.rightArrowMouseDownHandler, onMouseUp: this.arrowMouseUpHandler }))))), h("div", { "aria-hidden": "true", class: {
|
121
|
-
["ic-tab-splitter"]: true,
|
122
|
-
["hidden"]: inline,
|
123
|
-
}, ref: (el) => (this.splitterEl = el) })));
|
18
|
+
} }, h("ic-horizontal-scroll", { appearance: appearance === IcThemeForegroundEnum.Dark
|
19
|
+
? IcThemeForegroundEnum.Default
|
20
|
+
: appearance }, h("div", { class: "tabs-container" }, h("slot", null)))));
|
124
21
|
}
|
125
22
|
static get is() { return "ic-tab-group"; }
|
126
23
|
static get encapsulation() { return "shadow"; }
|
24
|
+
static get delegatesFocus() { return true; }
|
127
25
|
static get originalStyleUrls() {
|
128
26
|
return {
|
129
27
|
"$": ["ic-tab-group.css"]
|
@@ -217,48 +115,6 @@ export class TabGroup {
|
|
217
115
|
}
|
218
116
|
};
|
219
117
|
}
|
220
|
-
static get states() {
|
221
|
-
return {
|
222
|
-
"firstTabVisible": {},
|
223
|
-
"lastTabVisible": {},
|
224
|
-
"tabOverflow": {}
|
225
|
-
};
|
226
|
-
}
|
227
|
-
static get methods() {
|
228
|
-
return {
|
229
|
-
"scrollTabIntoView": {
|
230
|
-
"complexType": {
|
231
|
-
"signature": "(tabNumber: number) => Promise<void>",
|
232
|
-
"parameters": [{
|
233
|
-
"tags": [],
|
234
|
-
"text": ""
|
235
|
-
}],
|
236
|
-
"references": {
|
237
|
-
"Promise": {
|
238
|
-
"location": "global"
|
239
|
-
}
|
240
|
-
},
|
241
|
-
"return": "Promise<void>"
|
242
|
-
},
|
243
|
-
"docs": {
|
244
|
-
"text": "",
|
245
|
-
"tags": [{
|
246
|
-
"name": "internal",
|
247
|
-
"text": "if tab side scrolling enabled, scrolls the specified tab into view"
|
248
|
-
}]
|
249
|
-
}
|
250
|
-
}
|
251
|
-
};
|
252
|
-
}
|
253
118
|
static get elementRef() { return "host"; }
|
254
|
-
static get listeners() {
|
255
|
-
return [{
|
256
|
-
"name": "tabFocus",
|
257
|
-
"method": "tabFocusHandler",
|
258
|
-
"target": undefined,
|
259
|
-
"capture": false,
|
260
|
-
"passive": false
|
261
|
-
}];
|
262
|
-
}
|
263
119
|
}
|
264
120
|
//# sourceMappingURL=ic-tab-group.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-tab-group.js","sourceRoot":"","sources":["../../../src/components/ic-tab-group/ic-tab-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Method,\n Listen,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\n\nimport {\n checkResizeObserver,\n elementOverflowsX,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcTabClickEventDetail } from \"../ic-tab/ic-tab.types\";\nimport {\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-tab-group\",\n styleUrl: \"ic-tab-group.css\",\n shadow: true,\n})\nexport class TabGroup {\n @Element() host: HTMLIcTabGroupElement;\n\n /**\n * The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * If `true`, the tabs and tab panels will be positioned separately.\n */\n @Prop({ reflect: true }) inline?: boolean = false;\n\n /**\n * The label to describe the purpose of the set of tabs to screen reader users.\n */\n @Prop() label!: string;\n\n /** @internal The appearance of the tab group, e.g dark, or light. */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n @State() firstTabVisible: boolean = true;\n @State() lastTabVisible: boolean = false;\n @State() tabOverflow: boolean = false;\n\n private tabs: HTMLIcTabElement[];\n private tabOffsets: number[];\n private tabGroupEl: HTMLElement;\n private splitterEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private isScrolling: number;\n private scrollDelay: number;\n private buttonStateSet: boolean = false;\n\n /**\n * @internal if tab side scrolling enabled, scrolls the specified tab into view\n */\n @Method()\n async scrollTabIntoView(tabNumber: number): Promise<void> {\n this.firstTabVisible = tabNumber <= 0;\n const newScrollPos = tabNumber <= 0 ? 0 : this.tabOffsets[tabNumber - 1];\n this.lastTabVisible =\n this.tabGroupEl.offsetWidth + newScrollPos >= this.tabGroupEl.scrollWidth;\n this.buttonStateSet = true;\n this.tabGroupEl.scrollLeft = newScrollPos;\n }\n\n @Listen(\"tabFocus\")\n tabFocusHandler(event: CustomEvent<IcTabClickEventDetail>): void {\n if (this.tabOverflow) {\n this.scrollTabIntoView(event.detail.position);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.tabGroupEl === null || this.tabGroupEl === undefined) {\n this.tabGroupEl = this.host.shadowRoot.querySelector(\".tabs-container\");\n }\n this.tabOverflow = elementOverflowsX(this.tabGroupEl);\n if (this.tabOverflow) {\n this.lastTabVisible =\n this.tabGroupEl.offsetWidth + this.tabGroupEl.scrollLeft >=\n this.tabGroupEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.splitterEl);\n };\n\n private scrollLeft = () => {\n this.scrollTabIntoView(this.getCurrentLeftTab() - 1);\n };\n\n private scrollRight = () => {\n this.scrollTabIntoView(this.getCurrentLeftTab() + 1);\n };\n\n private longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private leftArrowMouseDownHandler = () => {\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = () => {\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftTab = (): number => {\n const index = this.tabOffsets.findIndex(\n (el) => el > this.tabGroupEl.scrollLeft\n );\n return index < 0 ? 0 : index;\n };\n\n private scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n\n private scrollStopped = () => {\n // if scrollTabIntoView has been called, the button states will already be set\n // can't just handle it here as it causes strange jumping behaviour in positioning\n if (this.buttonStateSet === false) {\n this.firstTabVisible = this.tabGroupEl.scrollLeft === 0;\n this.lastTabVisible =\n this.tabGroupEl.offsetWidth + this.tabGroupEl.scrollLeft >=\n this.tabGroupEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n componentDidLoad(): void {\n this.tabs = Array.from(this.host.querySelectorAll(\"ic-tab\"));\n let runningTotal = 0;\n this.tabOffsets = this.tabs.map((tab) => {\n runningTotal += tab.offsetWidth;\n return runningTotal;\n });\n checkResizeObserver(this.runResizeObserver);\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tab Group\"\n );\n }\n\n disconnectedCallback(): void {\n this.resizeObserver.disconnect();\n }\n\n render() {\n const {\n inline,\n appearance,\n label,\n firstTabVisible,\n lastTabVisible,\n tabOverflow,\n } = this;\n\n return (\n <Host\n role=\"tablist\"\n aria-label={label}\n class={{\n [\"light\"]: appearance === IcThemeForegroundEnum.Light,\n [\"ic-tab-group-not-inline\"]: !inline,\n }}\n >\n <div class=\"ic-tab-group-container\">\n {this.tabOverflow && (\n <div\n aria-hidden=\"true\"\n id=\"scroll-container-left\"\n class={{\n [\"scroll-container\"]: true,\n [\"hidden\"]: !tabOverflow,\n [\"disabled\"]: firstTabVisible,\n }}\n >\n <ic-tooltip\n placement=\"bottom-start\"\n label=\"Scroll left\"\n target=\"left-arrow\"\n >\n <span\n id=\"left-arrow\"\n class=\"scroll-arrow\"\n innerHTML={LeftArrow}\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n onMouseUp={this.arrowMouseUpHandler}\n ></span>\n </ic-tooltip>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n )}\n <div\n class=\"tabs-container\"\n ref={(el) => (this.tabGroupEl = el)}\n onScroll={this.scrollHandler}\n >\n <slot></slot>\n </div>\n {this.tabOverflow && (\n <div\n aria-hidden=\"true\"\n id=\"scroll-container-right\"\n class={{\n [\"scroll-container\"]: true,\n [\"hidden\"]: !tabOverflow,\n [\"disabled\"]: lastTabVisible,\n }}\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-tooltip\n placement=\"bottom-start\"\n label=\"Scroll right\"\n target=\"right-arrow\"\n >\n <span\n id=\"right-arrow\"\n class=\"scroll-arrow\"\n innerHTML={RightArrow}\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n onMouseUp={this.arrowMouseUpHandler}\n ></span>\n </ic-tooltip>\n </div>\n )}\n </div>\n\n <div\n aria-hidden=\"true\"\n class={{\n [\"ic-tab-splitter\"]: true,\n [\"hidden\"]: inline,\n }}\n ref={(el) => (this.splitterEl = el)}\n ></div>\n </Host>\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"ic-tab-group.js","sourceRoot":"","sources":["../../../src/components/ic-tab-group/ic-tab-group.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAEL,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAS3B,MAAM,OAAO,QAAQ;;qBAM2B,SAAS;kBAKX,KAAK;;sBAUC,MAAM;;EAExD,gBAAgB;IACd,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACzC,WAAW,CACZ,CAAC;EACJ,CAAC;EAED,MAAM;IACJ,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEnC,OAAO,CACL,EAAC,IAAI,IACH,IAAI,EAAC,SAAS,gBACF,KAAK,EACjB,KAAK,EAAE;QACL,CAAC,OAAO,CAAC,EAAE,UAAU,KAAK,qBAAqB,CAAC,KAAK;OACtD;MAED,4BACE,UAAU,EACR,UAAU,KAAK,qBAAqB,CAAC,IAAI;UACvC,CAAC,CAAC,qBAAqB,CAAC,OAAO;UAC/B,CAAC,CAAC,UAAU;QAGhB,WAAK,KAAK,EAAC,gBAAgB;UACzB,eAAa,CACT,CACe,CAClB,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Host, Prop, h } from \"@stencil/core\";\n\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport {\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\n@Component({\n tag: \"ic-tab-group\",\n styleUrl: \"ic-tab-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class TabGroup {\n @Element() host: HTMLIcTabGroupElement;\n\n /**\n * The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * If `true`, the tabs and tab panels will be positioned separately.\n */\n @Prop({ reflect: true }) inline?: boolean = false;\n\n /**\n * The label to describe the purpose of the set of tabs to screen reader users.\n */\n @Prop() label!: string;\n\n /**\n * @internal The appearance of the tab group, e.g dark, or light.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tab Group\"\n );\n }\n\n render() {\n const { appearance, label } = this;\n\n return (\n <Host\n role=\"tablist\"\n aria-label={label}\n class={{\n [\"light\"]: appearance === IcThemeForegroundEnum.Light,\n }}\n >\n <ic-horizontal-scroll\n appearance={\n appearance === IcThemeForegroundEnum.Dark\n ? IcThemeForegroundEnum.Default\n : appearance\n }\n >\n <div class=\"tabs-container\">\n <slot></slot>\n </div>\n </ic-horizontal-scroll>\n </Host>\n );\n }\n}\n"]}
|
@@ -443,9 +443,13 @@ video {
|
|
443
443
|
|
444
444
|
:host {
|
445
445
|
/**
|
446
|
-
* @prop --input-width: Width of the input field
|
446
|
+
* @prop --input-width: Width of the input field
|
447
447
|
*/
|
448
448
|
display: block;
|
449
|
+
}
|
450
|
+
|
451
|
+
:host([full-width]),
|
452
|
+
.fullwidth {
|
449
453
|
width: 100%;
|
450
454
|
}
|
451
455
|
|
@@ -474,7 +478,7 @@ textarea {
|
|
474
478
|
textarea {
|
475
479
|
min-height: var(--ic-space-lg);
|
476
480
|
resize: vertical;
|
477
|
-
padding-top:
|
481
|
+
padding-top: 0.375rem;
|
478
482
|
}
|
479
483
|
|
480
484
|
input:focus,
|
@@ -493,11 +497,6 @@ textarea.readonly {
|
|
493
497
|
color: var(--ic-color-primary-text);
|
494
498
|
}
|
495
499
|
|
496
|
-
.fullwidth {
|
497
|
-
position: relative;
|
498
|
-
width: 100%;
|
499
|
-
}
|
500
|
-
|
501
500
|
/* Chrome, Safari, Edge */
|
502
501
|
input::-webkit-outer-spin-button,
|
503
502
|
input::-webkit-inner-spin-button {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Host, h, } from "@stencil/core";
|
2
2
|
import { IcInformationStatus } from "../../utils/types";
|
3
|
-
import { inheritAttributes, debounceEvent, getInputDescribedByText, renderHiddenInput, isEmptyString, onComponentRequiredPropUndefined, addFormResetListener, removeFormResetListener, } from "../../utils/helpers";
|
3
|
+
import { inheritAttributes, debounceEvent, getInputDescribedByText, renderHiddenInput, isEmptyString, onComponentRequiredPropUndefined, addFormResetListener, removeFormResetListener, isSlotUsed, } from "../../utils/helpers";
|
4
4
|
import { IC_INHERITED_ARIA } from "../../utils/constants";
|
5
5
|
let inputIds = 0;
|
6
6
|
/**
|
@@ -94,7 +94,7 @@ export class TextField {
|
|
94
94
|
this.icChange.emit({ value: newValue });
|
95
95
|
}
|
96
96
|
/**
|
97
|
-
* Sets focus on the native `input
|
97
|
+
* Sets focus on the native `input`.
|
98
98
|
*/
|
99
99
|
async setFocus() {
|
100
100
|
if (this.inputEl) {
|
@@ -177,7 +177,7 @@ export class TextField {
|
|
177
177
|
["no-resize"]: resize === false || readonly,
|
178
178
|
["no-left-pad"]: !this.showLeftIcon && readonly,
|
179
179
|
["readonly"]: readonly,
|
180
|
-
}, name: name, ref: (el) => (this.inputEl = el), value: value, rows: rows, required: required, disabled: disabledMode, placeholder: placeholderText, readonly: readonly, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, autocapitalize: this.autocapitalize, autoFocus: this.autoFocus, spellcheck: spellcheck, inputmode: inputmode }, this.inheritedAttributes))), h("slot", { name: "clear-button" }), h("slot", { name: "search-submit-button" })), h("slot", { name: "menu" }), (!isEmptyString(validationStatus) ||
|
180
|
+
}, name: name, ref: (el) => (this.inputEl = el), value: value, rows: rows, required: required, disabled: disabledMode, placeholder: placeholderText, readonly: readonly, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, autocapitalize: this.autocapitalize, autoFocus: this.autoFocus, spellcheck: spellcheck, inputmode: inputmode }, this.inheritedAttributes))), isSlotUsed(this.el, "clear-button") && (h("slot", { name: "clear-button" })), isSlotUsed(this.el, "search-submit-button") && (h("slot", { name: "search-submit-button" }))), isSlotUsed(this.el, "menu") && h("slot", { name: "menu" }), (!isEmptyString(validationStatus) ||
|
181
181
|
!isEmptyString(validationText) ||
|
182
182
|
maxNumChars > 0) && (h("ic-input-validation", { status: this.hasStatus(currentStatus) === false ||
|
183
183
|
(currentStatus === IcInformationStatus.Success &&
|
@@ -967,7 +967,7 @@ export class TextField {
|
|
967
967
|
"return": "Promise<void>"
|
968
968
|
},
|
969
969
|
"docs": {
|
970
|
-
"text": "Sets focus on the native `input
|
970
|
+
"text": "Sets focus on the native `input`.",
|
971
971
|
"tags": []
|
972
972
|
}
|
973
973
|
}
|