@ukic/web-components 3.20.0 → 3.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-3a796e7a.js → helpers-81cd6930.js} +3 -16
- package/dist/cjs/helpers-81cd6930.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +17 -10
- package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-action-chip.cjs.entry.js +7 -3
- package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +2 -2
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +7 -7
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-horizontal.cjs.entry.js +174 -0
- package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -2
- package/dist/cjs/ic-card-vertical.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 +6 -6
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +7 -3
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +13 -5
- package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
- package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
- package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
- package/dist/cjs/ic-divider.cjs.entry.js +17 -8
- package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +4 -4
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +5 -5
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +7 -7
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +218 -86
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +17 -12
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
- package/dist/cjs/ic-link.cjs.entry.js +3 -3
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +7 -5
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
- package/dist/cjs/ic-page-header.cjs.entry.js +8 -8
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination-bar.cjs.entry.js +389 -0
- package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-pagination-item.cjs.entry.js +3 -3
- package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination_3.cjs.entry.js +1412 -0
- package/dist/cjs/ic-pagination_3.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
- package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
- package/dist/cjs/ic-radio-option.cjs.entry.js +6 -6
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +12 -12
- 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-side-navigation.cjs.entry.js +30 -15
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
- package/dist/cjs/ic-step.cjs.entry.js +14 -14
- package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +6 -6
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +1 -2
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab.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 +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +8 -7
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +4 -4
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
- package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +2 -2
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/index-d337cd8a.js +16 -16
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/ic-accordion/ic-accordion.css +6 -0
- package/dist/collection/components/ic-accordion/ic-accordion.js +15 -8
- package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
- package/dist/collection/components/ic-action-chip/ic-action-chip.css +15 -2
- package/dist/collection/components/ic-action-chip/ic-action-chip.js +5 -1
- package/dist/collection/components/ic-action-chip/ic-action-chip.js.map +1 -1
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +7 -0
- package/dist/collection/components/ic-badge/ic-badge.css +6 -0
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.css +8 -0
- package/dist/collection/components/ic-button/ic-button.css +7 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +728 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +512 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.stories.js +876 -0
- package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +7 -0
- package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +1 -1
- package/dist/collection/components/ic-checkbox/ic-checkbox.css +7 -5
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -5
- package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +3 -3
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +35 -0
- package/dist/collection/components/ic-chip/ic-chip.css +15 -3
- package/dist/collection/components/ic-chip/ic-chip.js +5 -1
- package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +33 -5
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +32 -0
- package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
- package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
- package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
- package/dist/collection/components/ic-divider/ic-divider.js +16 -7
- package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
- package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
- package/dist/collection/components/ic-footer-link/ic-footer-link.css +6 -0
- package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
- package/dist/collection/components/ic-hero/ic-hero.js +4 -4
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +6 -0
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +7 -0
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
- package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
- package/dist/collection/components/ic-input-label/ic-input-label.js +16 -8
- package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
- package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +2 -2
- package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +2 -2
- package/dist/collection/components/ic-link/ic-link.css +7 -0
- package/dist/collection/components/ic-link/ic-link.js +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
- package/dist/collection/components/ic-menu/ic-menu.css +12 -1
- package/dist/collection/components/ic-menu/ic-menu.js +184 -53
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +9 -0
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +41 -0
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +5 -3
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
- package/dist/collection/components/ic-page-header/ic-page-header.css +1 -2
- package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
- package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.css +104 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +895 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +215 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js +2 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js.map +1 -0
- package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +6 -0
- package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
- package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
- package/dist/collection/components/ic-radio-option/ic-radio-option.css +6 -0
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
- package/dist/collection/components/ic-search-bar/ic-search-bar.css +6 -0
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +10 -11
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
- package/dist/collection/components/ic-select/ic-select.css +9 -2
- package/dist/collection/components/ic-select/ic-select.js +414 -589
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-select/ic-select.types.js +2 -0
- package/dist/collection/components/ic-select/ic-select.types.js.map +1 -0
- package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +26 -21
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +46 -21
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +29 -14
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
- package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
- package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
- package/dist/collection/components/ic-step/ic-step.js +13 -13
- package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
- package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
- package/dist/collection/components/ic-switch/ic-switch.css +7 -0
- package/dist/collection/components/ic-switch/ic-switch.js +4 -4
- package/dist/collection/components/ic-tab/ic-tab.css +6 -0
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -2
- package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
- package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
- package/dist/collection/components/ic-text-field/ic-text-field.js +5 -5
- package/dist/collection/components/ic-theme/ic-theme.js +1 -1
- package/dist/collection/components/ic-toast/ic-toast.js +7 -6
- package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
- package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +6 -0
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +8 -4
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +100 -0
- package/dist/collection/components/ic-typography/ic-typography.css +6 -0
- package/dist/collection/utils/helpers.js +2 -15
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +3 -16
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-accordion.js +16 -9
- package/dist/components/ic-accordion.js.map +1 -1
- package/dist/components/ic-action-chip.js +6 -2
- package/dist/components/ic-action-chip.js.map +1 -1
- package/dist/components/ic-back-to-top.js +1 -1
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-badge.js +1 -1
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js +1 -1
- package/dist/components/ic-breadcrumb-group.js.map +1 -1
- package/dist/components/ic-button2.js +1 -1
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card-horizontal.d.ts +11 -0
- package/dist/components/ic-card-horizontal.js +214 -0
- package/dist/components/ic-card-horizontal.js.map +1 -0
- package/dist/components/ic-card-vertical.js +1 -1
- package/dist/components/ic-card-vertical.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 +5 -5
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +6 -2
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-classification-banner.js +14 -5
- package/dist/components/ic-classification-banner.js.map +1 -1
- package/dist/components/ic-data-list.js +2 -2
- package/dist/components/ic-data-row.js +2 -2
- package/dist/components/ic-dialog.js +1 -1
- package/dist/components/ic-divider2.js +17 -8
- package/dist/components/ic-divider2.js.map +1 -1
- package/dist/components/ic-empty-state.js +2 -2
- package/dist/components/ic-footer-link.js +3 -3
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-hero.js +4 -4
- package/dist/components/ic-horizontal-scroll2.js +6 -6
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +4 -4
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-container2.js +2 -2
- package/dist/components/ic-input-label2.js +13 -8
- package/dist/components/ic-input-label2.js.map +1 -1
- package/dist/components/ic-input-validation2.js +3 -3
- package/dist/components/ic-layout-grid-item.js +2 -2
- package/dist/components/ic-layout-grid.js +2 -2
- package/dist/components/ic-link2.js +2 -2
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +5 -5
- package/dist/components/ic-menu-group.js +1 -1
- package/dist/components/ic-menu2.js +213 -79
- package/dist/components/ic-menu2.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 +6 -4
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +4 -4
- package/dist/components/ic-page-header.js +7 -7
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-pagination-bar.d.ts +11 -0
- package/dist/components/ic-pagination-bar.js +523 -0
- package/dist/components/ic-pagination-bar.js.map +1 -0
- package/dist/components/ic-pagination-item2.js +2 -2
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination.js +1 -375
- package/dist/components/ic-pagination.js.map +1 -1
- package/dist/{esm/ic-pagination.entry.js → components/ic-pagination2.js} +86 -15
- package/dist/components/ic-pagination2.js.map +1 -0
- package/dist/components/ic-popover-menu.js +4 -4
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +4 -4
- package/dist/components/ic-radio-option.js +5 -5
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +12 -12
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-section-container2.js +2 -2
- package/dist/components/ic-select.js +1 -994
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-select2.js +804 -0
- package/dist/components/ic-select2.js.map +1 -0
- package/dist/components/ic-side-navigation.js +30 -15
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +2 -2
- package/dist/components/ic-skip-link.js +2 -2
- package/dist/components/ic-status-tag.js +2 -2
- package/dist/components/ic-step.js +13 -13
- package/dist/components/ic-stepper.js +2 -2
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +5 -5
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +1 -2
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-group.js +2 -2
- package/dist/components/ic-tab-panel.js +2 -2
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js +1 -1
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field.js +1 -528
- package/dist/components/ic-text-field.js.map +1 -1
- package/dist/{esm/ic-text-field.entry.js → components/ic-text-field2.js} +119 -16
- package/dist/components/ic-text-field2.js.map +1 -0
- package/dist/components/ic-theme.js +1 -1
- package/dist/components/ic-toast-region.js +1 -1
- package/dist/components/ic-toast.js +7 -6
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +3 -3
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/components/ic-toggle-button.js +2 -2
- package/dist/components/ic-top-navigation.js +1 -1
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-typography2.js +1 -1
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-05fd2707.entry.js +2 -0
- package/dist/core/p-05fd2707.entry.js.map +1 -0
- package/dist/core/{p-ba4abeac.entry.js → p-09505807.entry.js} +2 -2
- package/dist/core/{p-8f45f956.entry.js → p-09caf7ed.entry.js} +2 -2
- package/dist/core/p-09caf7ed.entry.js.map +1 -0
- package/dist/core/{p-8b1567c9.entry.js → p-0b728f50.entry.js} +2 -2
- package/dist/core/p-0b728f50.entry.js.map +1 -0
- package/dist/core/p-0fb7f915.entry.js +2 -0
- package/dist/core/p-0fb7f915.entry.js.map +1 -0
- package/dist/core/p-1b81ec88.entry.js +2 -0
- package/dist/core/p-1b81ec88.entry.js.map +1 -0
- package/dist/core/{p-3582c7df.entry.js → p-2691cc80.entry.js} +2 -2
- package/dist/core/p-2691cc80.entry.js.map +1 -0
- package/dist/core/{p-fe0153ec.entry.js → p-2a124daf.entry.js} +2 -2
- package/dist/core/{p-f5fd4a76.entry.js → p-2b87c592.entry.js} +2 -2
- package/dist/core/p-2b87c592.entry.js.map +1 -0
- package/dist/core/{p-c7f8547d.entry.js → p-2bd80913.entry.js} +2 -2
- package/dist/core/p-2bd80913.entry.js.map +1 -0
- package/dist/core/{p-aed1c7e7.entry.js → p-347cc084.entry.js} +2 -2
- package/dist/core/p-393af2bc.entry.js +2 -0
- package/dist/core/p-393af2bc.entry.js.map +1 -0
- package/dist/core/{p-b5e39585.entry.js → p-3aed13ba.entry.js} +2 -2
- package/dist/core/{p-276a6c8f.entry.js → p-46fd555f.entry.js} +2 -2
- package/dist/core/p-48a628f0.entry.js +2 -0
- package/dist/core/{p-23dc27a8.entry.js.map → p-48a628f0.entry.js.map} +1 -1
- package/dist/core/p-4f56acff.entry.js +2 -0
- package/dist/core/p-4f56acff.entry.js.map +1 -0
- package/dist/core/{p-86989873.entry.js → p-506d428a.entry.js} +2 -2
- package/dist/core/p-506d428a.entry.js.map +1 -0
- package/dist/core/p-50dca790.entry.js +2 -0
- package/dist/core/p-50dca790.entry.js.map +1 -0
- package/dist/core/p-53ab3c0f.entry.js +2 -0
- package/dist/core/p-53ab3c0f.entry.js.map +1 -0
- package/dist/core/{p-889bb8db.entry.js → p-56de4f4b.entry.js} +2 -2
- package/dist/core/p-5900cb65.entry.js +2 -0
- package/dist/core/p-5900cb65.entry.js.map +1 -0
- package/dist/core/{p-608b4912.entry.js → p-5976de6e.entry.js} +2 -2
- package/dist/core/{p-cf056074.entry.js → p-61d79fc6.entry.js} +2 -2
- package/dist/core/{p-cf056074.entry.js.map → p-61d79fc6.entry.js.map} +1 -1
- package/dist/core/{p-45076d7e.entry.js → p-659d048d.entry.js} +2 -2
- package/dist/core/{p-1edf2689.entry.js → p-67de1290.entry.js} +2 -2
- package/dist/core/p-6b4ec95f.entry.js +3 -0
- package/dist/core/p-6b4ec95f.entry.js.map +1 -0
- package/dist/core/{p-f700b759.entry.js → p-73043f57.entry.js} +2 -2
- package/dist/core/{p-7b8e5926.entry.js → p-735d3096.entry.js} +2 -2
- package/dist/core/{p-0301d1c8.entry.js → p-7b538fd1.entry.js} +2 -2
- package/dist/core/{p-cdbbcef4.entry.js → p-80d85403.entry.js} +2 -2
- package/dist/core/p-80d85403.entry.js.map +1 -0
- package/dist/core/{p-09c31ac6.entry.js → p-83578f1d.entry.js} +2 -2
- package/dist/core/{p-09c31ac6.entry.js.map → p-83578f1d.entry.js.map} +1 -1
- package/dist/core/{p-b8c0c142.entry.js → p-880f7548.entry.js} +2 -2
- package/dist/core/p-880f7548.entry.js.map +1 -0
- package/dist/core/{p-0d711c6a.entry.js → p-8a833e82.entry.js} +2 -2
- package/dist/core/{p-c16e982c.entry.js → p-90678e67.entry.js} +2 -2
- package/dist/core/{p-93e1ba0a.entry.js → p-9502fb86.entry.js} +2 -2
- package/dist/core/{p-6740c915.entry.js → p-99433296.entry.js} +2 -2
- package/dist/core/p-99433296.entry.js.map +1 -0
- package/dist/core/{p-76e8df31.entry.js → p-9c2b2cb9.entry.js} +2 -2
- package/dist/core/{p-949d08d3.entry.js → p-9cb83a2e.entry.js} +2 -2
- package/dist/core/{p-d2d17d6d.entry.js → p-a08d6b46.entry.js} +2 -2
- package/dist/core/p-a08d6b46.entry.js.map +1 -0
- package/dist/core/p-a321feee.entry.js +2 -0
- package/dist/core/p-a321feee.entry.js.map +1 -0
- package/dist/core/{p-45c553db.entry.js → p-a780a34b.entry.js} +2 -2
- package/dist/core/{p-90814d32.entry.js → p-aad03a3c.entry.js} +2 -2
- package/dist/core/{p-ec14c783.entry.js → p-aaf4e367.entry.js} +2 -2
- package/dist/core/{p-8c00614c.entry.js → p-b52c44eb.entry.js} +2 -2
- package/dist/core/{p-0722d7b6.entry.js → p-b777f0a1.entry.js} +2 -2
- package/dist/core/p-b777f0a1.entry.js.map +1 -0
- package/dist/core/p-b77b1e1f.js +2 -0
- package/dist/core/p-b77b1e1f.js.map +1 -0
- package/dist/core/p-b997ad5e.entry.js +2 -0
- package/dist/core/p-b997ad5e.entry.js.map +1 -0
- package/dist/core/{p-a0af1b0a.entry.js → p-bb7652cd.entry.js} +2 -2
- package/dist/core/{p-1d8559f0.entry.js → p-c156e6e9.entry.js} +2 -2
- package/dist/core/{p-e1814e7e.entry.js → p-cad23b7d.entry.js} +2 -2
- package/dist/core/{p-6aa8d3ce.entry.js → p-cbca04bb.entry.js} +2 -2
- package/dist/core/p-cbca04bb.entry.js.map +1 -0
- package/dist/core/{p-e176881a.entry.js → p-cc64e5ef.entry.js} +2 -2
- package/dist/core/{p-d478d13e.entry.js → p-cfbacca1.entry.js} +2 -2
- package/dist/core/p-cfbacca1.entry.js.map +1 -0
- package/dist/core/{p-ebc47282.entry.js → p-daec7e69.entry.js} +2 -2
- package/dist/core/{p-5ac3adb9.entry.js → p-e7767c0d.entry.js} +2 -2
- package/dist/core/p-e7767c0d.entry.js.map +1 -0
- package/dist/core/p-e938eb31.entry.js +2 -0
- package/dist/core/p-e938eb31.entry.js.map +1 -0
- package/dist/core/{p-81f60443.entry.js → p-ea7a3d30.entry.js} +2 -2
- package/dist/core/p-ea7a3d30.entry.js.map +1 -0
- package/dist/core/{p-ad5aca6f.entry.js → p-ea890d3d.entry.js} +2 -2
- package/dist/core/{p-880afd4b.entry.js → p-ebd688b9.entry.js} +2 -2
- package/dist/core/p-ebd688b9.entry.js.map +1 -0
- package/dist/core/p-ef70ea50.entry.js +2 -0
- package/dist/core/p-ef70ea50.entry.js.map +1 -0
- package/dist/core/{p-1fc4b88f.entry.js → p-f64996f1.entry.js} +2 -2
- package/dist/core/p-f64996f1.entry.js.map +1 -0
- package/dist/core/{p-0f998905.entry.js → p-f661ba76.entry.js} +2 -2
- package/dist/core/p-f661ba76.entry.js.map +1 -0
- package/dist/core/{p-4e43b272.entry.js → p-f84ac9c6.entry.js} +2 -2
- package/dist/core/{p-df029b1b.entry.js → p-fb9376f0.entry.js} +2 -2
- package/dist/core/p-fb9376f0.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-0f85537f.js → helpers-66681c73.js} +4 -17
- package/dist/esm/helpers-66681c73.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js +17 -10
- package/dist/esm/ic-accordion.entry.js.map +1 -1
- package/dist/esm/ic-action-chip.entry.js +7 -3
- package/dist/esm/ic-action-chip.entry.js.map +1 -1
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js +2 -2
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-badge.entry.js +2 -2
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
- package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +7 -7
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-horizontal.entry.js +170 -0
- package/dist/esm/ic-card-horizontal.entry.js.map +1 -0
- package/dist/esm/ic-card-vertical.entry.js +2 -2
- package/dist/esm/ic-card-vertical.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 +6 -6
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +7 -3
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +13 -5
- package/dist/esm/ic-classification-banner.entry.js.map +1 -1
- package/dist/esm/ic-data-list.entry.js +2 -2
- package/dist/esm/ic-data-row.entry.js +3 -3
- package/dist/esm/ic-dialog.entry.js +2 -2
- package/dist/esm/ic-divider.entry.js +17 -8
- package/dist/esm/ic-divider.entry.js.map +1 -1
- package/dist/esm/ic-empty-state.entry.js +3 -3
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js +4 -4
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +1 -1
- package/dist/esm/ic-hero.entry.js +5 -5
- package/dist/esm/ic-horizontal-scroll.entry.js +7 -7
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +218 -86
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +17 -12
- package/dist/esm/ic-input-label_2.entry.js.map +1 -1
- package/dist/esm/ic-layout-grid-item.entry.js +2 -2
- package/dist/esm/ic-layout-grid.entry.js +2 -2
- package/dist/esm/ic-link.entry.js +3 -3
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +2 -2
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-navigation-button.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js +3 -3
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +7 -5
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +5 -5
- package/dist/esm/ic-page-header.entry.js +8 -8
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-pagination-bar.entry.js +385 -0
- package/dist/esm/ic-pagination-bar.entry.js.map +1 -0
- package/dist/esm/ic-pagination-item.entry.js +3 -3
- package/dist/esm/ic-pagination-item.entry.js.map +1 -1
- package/dist/esm/ic-pagination_3.entry.js +1406 -0
- package/dist/esm/ic-pagination_3.entry.js.map +1 -0
- package/dist/esm/ic-popover-menu.entry.js +5 -5
- package/dist/esm/ic-radio-group.entry.js +5 -5
- package/dist/esm/ic-radio-option.entry.js +6 -6
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +12 -12
- 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-side-navigation.entry.js +30 -15
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +2 -2
- package/dist/esm/ic-skip-link.entry.js +2 -2
- package/dist/esm/ic-status-tag.entry.js +3 -3
- package/dist/esm/ic-step.entry.js +14 -14
- package/dist/esm/ic-stepper.entry.js +3 -3
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +6 -6
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +1 -2
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +3 -3
- package/dist/esm/ic-tab-panel.entry.js +2 -2
- package/dist/esm/ic-tab.entry.js +2 -2
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +2 -2
- package/dist/esm/ic-toast-region.entry.js +1 -1
- package/dist/esm/ic-toast.entry.js +8 -7
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +4 -4
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +3 -3
- package/dist/esm/ic-top-navigation.entry.js +2 -2
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +2 -2
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/index-a7a720e7.js +16 -16
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +89 -0
- package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -0
- package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +4 -0
- package/dist/types/components/ic-divider/ic-divider.d.ts +2 -0
- package/dist/types/components/ic-input-label/ic-input-label.d.ts +4 -1
- package/dist/types/components/ic-menu/ic-menu.d.ts +11 -1
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +162 -0
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.types.d.ts +8 -0
- package/dist/types/components/ic-select/ic-select.d.ts +53 -80
- package/dist/types/components/ic-select/ic-select.types.d.ts +43 -0
- package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +3 -2
- package/dist/types/components.d.ts +357 -7
- package/dist/types/utils/helpers.d.ts +2 -4
- package/dist/types/utils/types.d.ts +1 -0
- package/hydrate/index.js +1504 -900
- package/hydrate/index.mjs +1504 -900
- package/package.json +2 -2
- package/vscode-data.json +248 -0
- package/dist/cjs/helpers-3a796e7a.js.map +0 -1
- package/dist/cjs/ic-pagination.cjs.entry.js +0 -312
- package/dist/cjs/ic-pagination.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-select.cjs.entry.js +0 -879
- package/dist/cjs/ic-select.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +0 -433
- package/dist/cjs/ic-text-field.cjs.entry.js.map +0 -1
- package/dist/core/p-0722d7b6.entry.js.map +0 -1
- package/dist/core/p-0f6fd5d3.entry.js +0 -2
- package/dist/core/p-0f6fd5d3.entry.js.map +0 -1
- package/dist/core/p-0f998905.entry.js.map +0 -1
- package/dist/core/p-107281c4.entry.js +0 -2
- package/dist/core/p-107281c4.entry.js.map +0 -1
- package/dist/core/p-1fc4b88f.entry.js.map +0 -1
- package/dist/core/p-23dc27a8.entry.js +0 -2
- package/dist/core/p-3582c7df.entry.js.map +0 -1
- package/dist/core/p-3c7e90a7.entry.js +0 -2
- package/dist/core/p-3c7e90a7.entry.js.map +0 -1
- package/dist/core/p-57ce68e5.entry.js +0 -2
- package/dist/core/p-57ce68e5.entry.js.map +0 -1
- package/dist/core/p-5ac3adb9.entry.js.map +0 -1
- package/dist/core/p-656a9127.entry.js +0 -2
- package/dist/core/p-656a9127.entry.js.map +0 -1
- package/dist/core/p-6740c915.entry.js.map +0 -1
- package/dist/core/p-6aa8d3ce.entry.js.map +0 -1
- package/dist/core/p-72344764.entry.js +0 -2
- package/dist/core/p-72344764.entry.js.map +0 -1
- package/dist/core/p-7c38dd1f.entry.js +0 -2
- package/dist/core/p-7c38dd1f.entry.js.map +0 -1
- package/dist/core/p-81f60443.entry.js.map +0 -1
- package/dist/core/p-840c647f.entry.js +0 -2
- package/dist/core/p-840c647f.entry.js.map +0 -1
- package/dist/core/p-86989873.entry.js.map +0 -1
- package/dist/core/p-880afd4b.entry.js.map +0 -1
- package/dist/core/p-8b1567c9.entry.js.map +0 -1
- package/dist/core/p-8f45f956.entry.js.map +0 -1
- package/dist/core/p-9b60ca02.entry.js +0 -2
- package/dist/core/p-9b60ca02.entry.js.map +0 -1
- package/dist/core/p-a16415e4.entry.js +0 -3
- package/dist/core/p-a16415e4.entry.js.map +0 -1
- package/dist/core/p-b22fc28d.entry.js +0 -2
- package/dist/core/p-b22fc28d.entry.js.map +0 -1
- package/dist/core/p-b8c0c142.entry.js.map +0 -1
- package/dist/core/p-c3f5907e.entry.js +0 -2
- package/dist/core/p-c3f5907e.entry.js.map +0 -1
- package/dist/core/p-c7f8547d.entry.js.map +0 -1
- package/dist/core/p-cdbbcef4.entry.js.map +0 -1
- package/dist/core/p-d2d17d6d.entry.js.map +0 -1
- package/dist/core/p-d478d13e.entry.js.map +0 -1
- package/dist/core/p-dbc8bf0c.js +0 -2
- package/dist/core/p-dbc8bf0c.js.map +0 -1
- package/dist/core/p-df029b1b.entry.js.map +0 -1
- package/dist/core/p-f5fd4a76.entry.js.map +0 -1
- package/dist/core/p-fdb587ab.entry.js +0 -2
- package/dist/core/p-fdb587ab.entry.js.map +0 -1
- package/dist/esm/helpers-0f85537f.js.map +0 -1
- package/dist/esm/ic-pagination.entry.js.map +0 -1
- package/dist/esm/ic-select.entry.js +0 -875
- package/dist/esm/ic-select.entry.js.map +0 -1
- package/dist/esm/ic-text-field.entry.js.map +0 -1
- /package/dist/core/{p-ba4abeac.entry.js.map → p-09505807.entry.js.map} +0 -0
- /package/dist/core/{p-fe0153ec.entry.js.map → p-2a124daf.entry.js.map} +0 -0
- /package/dist/core/{p-aed1c7e7.entry.js.map → p-347cc084.entry.js.map} +0 -0
- /package/dist/core/{p-b5e39585.entry.js.map → p-3aed13ba.entry.js.map} +0 -0
- /package/dist/core/{p-276a6c8f.entry.js.map → p-46fd555f.entry.js.map} +0 -0
- /package/dist/core/{p-889bb8db.entry.js.map → p-56de4f4b.entry.js.map} +0 -0
- /package/dist/core/{p-608b4912.entry.js.map → p-5976de6e.entry.js.map} +0 -0
- /package/dist/core/{p-45076d7e.entry.js.map → p-659d048d.entry.js.map} +0 -0
- /package/dist/core/{p-1edf2689.entry.js.map → p-67de1290.entry.js.map} +0 -0
- /package/dist/core/{p-f700b759.entry.js.map → p-73043f57.entry.js.map} +0 -0
- /package/dist/core/{p-7b8e5926.entry.js.map → p-735d3096.entry.js.map} +0 -0
- /package/dist/core/{p-0301d1c8.entry.js.map → p-7b538fd1.entry.js.map} +0 -0
- /package/dist/core/{p-0d711c6a.entry.js.map → p-8a833e82.entry.js.map} +0 -0
- /package/dist/core/{p-c16e982c.entry.js.map → p-90678e67.entry.js.map} +0 -0
- /package/dist/core/{p-93e1ba0a.entry.js.map → p-9502fb86.entry.js.map} +0 -0
- /package/dist/core/{p-76e8df31.entry.js.map → p-9c2b2cb9.entry.js.map} +0 -0
- /package/dist/core/{p-949d08d3.entry.js.map → p-9cb83a2e.entry.js.map} +0 -0
- /package/dist/core/{p-45c553db.entry.js.map → p-a780a34b.entry.js.map} +0 -0
- /package/dist/core/{p-90814d32.entry.js.map → p-aad03a3c.entry.js.map} +0 -0
- /package/dist/core/{p-ec14c783.entry.js.map → p-aaf4e367.entry.js.map} +0 -0
- /package/dist/core/{p-8c00614c.entry.js.map → p-b52c44eb.entry.js.map} +0 -0
- /package/dist/core/{p-a0af1b0a.entry.js.map → p-bb7652cd.entry.js.map} +0 -0
- /package/dist/core/{p-1d8559f0.entry.js.map → p-c156e6e9.entry.js.map} +0 -0
- /package/dist/core/{p-e1814e7e.entry.js.map → p-cad23b7d.entry.js.map} +0 -0
- /package/dist/core/{p-e176881a.entry.js.map → p-cc64e5ef.entry.js.map} +0 -0
- /package/dist/core/{p-ebc47282.entry.js.map → p-daec7e69.entry.js.map} +0 -0
- /package/dist/core/{p-ad5aca6f.entry.js.map → p-ea890d3d.entry.js.map} +0 -0
- /package/dist/core/{p-4e43b272.entry.js.map → p-f84ac9c6.entry.js.map} +0 -0
|
@@ -1,433 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
const index = require('./index-d337cd8a.js');
|
|
6
|
-
const helpers = require('./helpers-3a796e7a.js');
|
|
7
|
-
const constants = require('./constants-4d389abc.js');
|
|
8
|
-
|
|
9
|
-
const icTextFieldCss = "/*! 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;--ic-input-label-helpertext-padding:var(--ic-space-xs);--border-color:var(--ic-text-field-border-neutral);--border-color-hover:var(--ic-text-field-border-neutral-hover);--border-color-pressed:var(--ic-text-field-border-neutral-pressed);--border-color-disabled:var(--ic-text-field-border-disabled);--border-color-error:var(--ic-text-field-border-error);--border-color-error-hover:var(--ic-text-field-border-error-hover);--border-color-error-pressed:var(--ic-text-field-border-error-pressed);--border-color-success:var(--ic-text-field-border-success);--border-color-success-hover:var(--ic-text-field-border-success-hover);--border-color-success-pressed:var(--ic-text-field-border-success-pressed);--border-color-warning:var(--ic-text-field-border-warning);--border-color-warning-hover:var(--ic-text-field-border-warning-hover);--border-color-warning-pressed:var(--ic-text-field-border-warning-pressed);--ic-input-label-text-color:var(--ic-text-field-label);--ic-input-label-helper-text-color:var(--ic-text-field-subtitle);--ic-input-validation-status-text-color:var(--ic-text-field-state-text);--ic-input-validation-error:var(--ic-text-field-state-icon-error);--ic-input-validation-warning-icon-color:var(\n --ic-text-field-state-icon-warning\n );--ic-input-validation-success-icon-color:var(\n --ic-text-field-state-icon-success\n );--ic-input-component-container-success-icon-inline-color:var(\n --ic-text-field-state-icon-success\n )}:host(.ic-text-field-disabled){--ic-input-label-text-color:var(--ic-text-field-label-disabled);--ic-input-label-helper-text-color:var(--ic-text-field-subtitle-disabled);--text-field-placeholder-color:var(\n --ic-text-field-text-area-placeholder-text-disabled\n )}:host(.ic-text-field-full-width){width:100%}::-moz-placeholder{color:var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );opacity:1}::placeholder{color:var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );opacity:1}input,textarea{border:0;border-radius:var(--ic-border-radius);color:var(--text-field-text-color, var(--ic-text-field-text));background-color:var(--input-bg-color, var(--ic-text-field-background));line-height:1.5rem;letter-spacing:0.005rem;width:100%;padding-right:var(--ic-space-xs);padding-left:var(--ic-space-xs);caret-color:var(\n --text-field-typing-cursor,\n var(--ic-text-field-typing-cursor)\n )}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(\n --text-field-disabled-text-color,\n var(--ic-text-field-text-disabled)\n )}input.readonly,textarea.readonly{color:var(--ic-text-field-read-only-input-text-internal);background:transparent}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}.char-count-text{--ic-typography-color:var(--ic-text-field-character-limit);padding-right:var(--ic-space-xxxs)}:host(.ic-text-field-disabled) .char-count-text{--ic-typography-color:var(--ic-text-field-character-limit-disabled)}.no-left-pad{padding-left:0}::slotted([slot=\"icon\"]){fill:var(--ic-text-field-text-disabled)}.has-value ::slotted([slot=\"icon\"]){fill:var(--ic-text-field-input-internal-icon)}.char-count{margin-right:calc(-1 * var(--ic-space-xxxs))}.remaining-char-count-desc{position:absolute;left:-9999px}.show-validation{margin-top:var(--ic-space-xs)}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}}";
|
|
10
|
-
const IcTextFieldStyle0 = icTextFieldCss;
|
|
11
|
-
|
|
12
|
-
let inputIds = 0;
|
|
13
|
-
const MUTABLE_ATTRIBUTES = [...constants.IC_INHERITED_ARIA, "title"];
|
|
14
|
-
const TextField = class {
|
|
15
|
-
constructor(hostRef) {
|
|
16
|
-
index.registerInstance(this, hostRef);
|
|
17
|
-
this.getValidationText = index.createEvent(this, "getValidationText", 7);
|
|
18
|
-
this.icBlur = index.createEvent(this, "icBlur", 7);
|
|
19
|
-
this.icChange = index.createEvent(this, "icChange", 7);
|
|
20
|
-
this.icFocus = index.createEvent(this, "icFocus", 7);
|
|
21
|
-
this.icInput = index.createEvent(this, "icInput", 7);
|
|
22
|
-
this.icKeydown = index.createEvent(this, "icKeydown", 7);
|
|
23
|
-
this.icScroll = index.createEvent(this, "icScroll", 7);
|
|
24
|
-
this.inheritedAttributes = {};
|
|
25
|
-
this.hostMutationObserver = null;
|
|
26
|
-
this.numChars = 0;
|
|
27
|
-
this.maxCharactersReached = false;
|
|
28
|
-
this.maxCharactersWarning = false;
|
|
29
|
-
this.minCharactersUnattained = false;
|
|
30
|
-
this.maxValueExceeded = false;
|
|
31
|
-
this.minValueUnattained = false;
|
|
32
|
-
this.isFocussed = false;
|
|
33
|
-
/**
|
|
34
|
-
* The automatic capitalisation of the text value as it is entered/edited by the user.
|
|
35
|
-
* Available options: "off", "none", "on", "sentences", "words", "characters".
|
|
36
|
-
*/
|
|
37
|
-
this.autocapitalize = "off";
|
|
38
|
-
/**
|
|
39
|
-
* The state of autocompletion the browser can apply on the text value.
|
|
40
|
-
*/
|
|
41
|
-
this.autocomplete = "off";
|
|
42
|
-
/**
|
|
43
|
-
* The state of autocorrection the browser can apply when the user is entering/editing the text value.
|
|
44
|
-
*/
|
|
45
|
-
this.autocorrect = "off";
|
|
46
|
-
/**
|
|
47
|
-
* If `true`, the form control will have input focus when the page loads.
|
|
48
|
-
*/
|
|
49
|
-
this.autofocus = false;
|
|
50
|
-
/**
|
|
51
|
-
* If `true`, the disabled state will be set.
|
|
52
|
-
*/
|
|
53
|
-
this.disabled = false;
|
|
54
|
-
/**
|
|
55
|
-
* Specify whether the text field fills the full width of the container.
|
|
56
|
-
* If `true`, this overrides the --input-width CSS variable.
|
|
57
|
-
*/
|
|
58
|
-
this.fullWidth = false;
|
|
59
|
-
/**
|
|
60
|
-
* The helper text that will be displayed for additional field guidance.
|
|
61
|
-
*/
|
|
62
|
-
this.helperText = "";
|
|
63
|
-
/**
|
|
64
|
-
* If `true`, the character count which is displayed when `maxCharacters` is set will be visually hidden.
|
|
65
|
-
*/
|
|
66
|
-
this.hideCharCount = false;
|
|
67
|
-
/**
|
|
68
|
-
* If `true`, the label will be hidden and the required label value will be applied as an aria-label.
|
|
69
|
-
*/
|
|
70
|
-
this.hideLabel = false;
|
|
71
|
-
/**
|
|
72
|
-
* @internal If `true`, the hidden form input will stop rendering for form submission.
|
|
73
|
-
*/
|
|
74
|
-
this.hiddenInput = true;
|
|
75
|
-
/**
|
|
76
|
-
* The ID for the input.
|
|
77
|
-
*/
|
|
78
|
-
this.inputId = `ic-text-field-input-${inputIds++}`;
|
|
79
|
-
/**
|
|
80
|
-
* A hint to the browser for which keyboard to display.
|
|
81
|
-
* Possible values: `"none"`, `"text"`, `"tel"`, `"url"`,
|
|
82
|
-
* `"email"`, `"numeric"`, `"decimal"`, and `"search"`.
|
|
83
|
-
*/
|
|
84
|
-
this.inputmode = "text";
|
|
85
|
-
/**
|
|
86
|
-
* The count of characters in the field. Will display a warning if the bound is reached. (NOTE: If the value of the text field has been set using the `value` prop, it will be truncated to this number of characters)
|
|
87
|
-
*/
|
|
88
|
-
this.maxCharacters = 0;
|
|
89
|
-
/**
|
|
90
|
-
* The text to display as the warning message when the maximum number of characters (the `maxCharacters` prop value) is reached.
|
|
91
|
-
*/
|
|
92
|
-
// prettier-ignore
|
|
93
|
-
this.maxCharactersMessage = `Maximum input is ${this.maxCharacters} characters`;
|
|
94
|
-
/**
|
|
95
|
-
* The text to display as the error message when the maximum value (the `max` prop value) has been exceeded.
|
|
96
|
-
*/
|
|
97
|
-
this.maxMessage = `Maximum value of ${this.max} exceeded`;
|
|
98
|
-
/**
|
|
99
|
-
* The minimum number of characters that can be entered in the field.
|
|
100
|
-
*/
|
|
101
|
-
this.minCharacters = 0;
|
|
102
|
-
/**
|
|
103
|
-
* The text to display as the error message when the minimum number of characters (the `minCharacters` prop value) has not been met.
|
|
104
|
-
*/
|
|
105
|
-
// prettier-ignore
|
|
106
|
-
this.minCharactersMessage = `Minimum input is ${this.minCharacters} characters`;
|
|
107
|
-
/**
|
|
108
|
-
* The text to display as the error message when the minimum value (the `min` prop value) has not been met.
|
|
109
|
-
*/
|
|
110
|
-
this.minMessage = `Minimum value of ${this.min} not met`;
|
|
111
|
-
/**
|
|
112
|
-
* The name of the control, which is submitted with the form data.
|
|
113
|
-
*/
|
|
114
|
-
this.name = this.inputId;
|
|
115
|
-
/**
|
|
116
|
-
* The placeholder value to be displayed.
|
|
117
|
-
*/
|
|
118
|
-
this.placeholder = "";
|
|
119
|
-
/**
|
|
120
|
-
* If `true`, the read only state will be set.
|
|
121
|
-
*/
|
|
122
|
-
this.readonly = false;
|
|
123
|
-
/**
|
|
124
|
-
* If `true`, the input will require a value.
|
|
125
|
-
*/
|
|
126
|
-
this.required = false;
|
|
127
|
-
/**
|
|
128
|
-
* If `true`, the multiline text area will be resizeable.
|
|
129
|
-
*/
|
|
130
|
-
this.resize = false;
|
|
131
|
-
/**
|
|
132
|
-
* The number of rows to transform the text field into a text area with a specific height.
|
|
133
|
-
*/
|
|
134
|
-
this.rows = 1;
|
|
135
|
-
/**
|
|
136
|
-
* The size of the text field component.
|
|
137
|
-
*/
|
|
138
|
-
this.size = "medium";
|
|
139
|
-
/**
|
|
140
|
-
* If `true`, the value of the text field will have its spelling and grammar checked.
|
|
141
|
-
*/
|
|
142
|
-
this.spellcheck = false;
|
|
143
|
-
/**
|
|
144
|
-
* Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
|
|
145
|
-
*/
|
|
146
|
-
this.theme = "inherit";
|
|
147
|
-
/**
|
|
148
|
-
* @internal If `true`, an ellipsis will be displayed at the end of the value if the value is longer than the container.
|
|
149
|
-
*/
|
|
150
|
-
this.truncateValue = false;
|
|
151
|
-
/**
|
|
152
|
-
* The type of control to display. The default type is text.
|
|
153
|
-
*/
|
|
154
|
-
this.type = "text";
|
|
155
|
-
/**
|
|
156
|
-
* The value of the `aria-live` attribute on the validation message. When set to "default", the `aria-live` value will be handled automatically, e.g. "assertive" for `validation-status="error"`.
|
|
157
|
-
*/
|
|
158
|
-
this.validationAriaLive = "default";
|
|
159
|
-
/**
|
|
160
|
-
* If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.
|
|
161
|
-
*/
|
|
162
|
-
this.validationInline = false;
|
|
163
|
-
/**
|
|
164
|
-
* @internal If `true`, the validation will display inline.
|
|
165
|
-
*/
|
|
166
|
-
this.validationInlineInternal = false;
|
|
167
|
-
/**
|
|
168
|
-
* The validation state - e.g. 'error' | 'warning' | 'success'.
|
|
169
|
-
*/
|
|
170
|
-
this.validationStatus = "";
|
|
171
|
-
/**
|
|
172
|
-
* The text to display as the validation message.
|
|
173
|
-
*/
|
|
174
|
-
this.validationText = "";
|
|
175
|
-
/**
|
|
176
|
-
* The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.
|
|
177
|
-
*/
|
|
178
|
-
this.debounce = 0;
|
|
179
|
-
/**
|
|
180
|
-
* The value of the text field.
|
|
181
|
-
*/
|
|
182
|
-
this.value = "";
|
|
183
|
-
this.initialValue = this.value;
|
|
184
|
-
this.checkChildHydration = () => {
|
|
185
|
-
var _a, _b;
|
|
186
|
-
if (this.hideLabel ||
|
|
187
|
-
((_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("ic-typography")) === null || _b === void 0 ? void 0 : _b.classList.contains("hydrated"))) {
|
|
188
|
-
this.setFocus();
|
|
189
|
-
clearInterval(this.interval);
|
|
190
|
-
}
|
|
191
|
-
};
|
|
192
|
-
this.getNumberOfCharacters = (value) => value !== null && value !== undefined ? value.length : 0;
|
|
193
|
-
this.getMaxValueExceeded = (value) => {
|
|
194
|
-
this.numChars = this.getNumberOfCharacters(value);
|
|
195
|
-
if (this.type === "number") {
|
|
196
|
-
this.minValueUnattained = !!value && Number(value) < Number(this.min);
|
|
197
|
-
this.maxValueExceeded = Number(value) > Number(this.max);
|
|
198
|
-
}
|
|
199
|
-
};
|
|
200
|
-
this.getMaxCharactersReached = (value) => {
|
|
201
|
-
this.numChars = this.getNumberOfCharacters(value);
|
|
202
|
-
this.maxCharactersReached =
|
|
203
|
-
this.maxCharacters > 0 && this.numChars >= this.maxCharacters;
|
|
204
|
-
if (this.maxCharactersWarning && !this.maxCharactersReached) {
|
|
205
|
-
this.maxCharactersWarning = false;
|
|
206
|
-
}
|
|
207
|
-
};
|
|
208
|
-
this.onInput = (ev) => {
|
|
209
|
-
this.value = ev.target.value;
|
|
210
|
-
this.icInput.emit({ value: this.value });
|
|
211
|
-
};
|
|
212
|
-
this.onBlur = (ev) => {
|
|
213
|
-
const target = ev.target;
|
|
214
|
-
target.removeEventListener("wheel", this.onWheel);
|
|
215
|
-
const { value } = target;
|
|
216
|
-
this.numChars = value.length;
|
|
217
|
-
this.minCharactersUnattained =
|
|
218
|
-
this.minCharacters > 0 && this.numChars < this.minCharacters;
|
|
219
|
-
this.icBlur.emit({ value });
|
|
220
|
-
this.isFocussed = false;
|
|
221
|
-
};
|
|
222
|
-
this.onFocus = (ev) => {
|
|
223
|
-
const target = ev.target;
|
|
224
|
-
target.addEventListener("wheel", this.onWheel);
|
|
225
|
-
this.icFocus.emit({ value: target.value });
|
|
226
|
-
this.isFocussed = true;
|
|
227
|
-
};
|
|
228
|
-
this.onTextAreaScroll = () => {
|
|
229
|
-
this.icScroll.emit();
|
|
230
|
-
};
|
|
231
|
-
this.onWheel = (ev) => {
|
|
232
|
-
const target = ev.target;
|
|
233
|
-
if (target.type === "number") {
|
|
234
|
-
target.blur();
|
|
235
|
-
setTimeout(() => {
|
|
236
|
-
target.focus();
|
|
237
|
-
}, 0);
|
|
238
|
-
}
|
|
239
|
-
};
|
|
240
|
-
this.hasStatus = (status) => status !== "" && !this.disabled;
|
|
241
|
-
this.handleFormReset = () => {
|
|
242
|
-
this.value = this.initialValue;
|
|
243
|
-
};
|
|
244
|
-
this.showValidationMargin = () => {
|
|
245
|
-
const maxNumChars = this.readonly ? 0 : this.maxCharacters;
|
|
246
|
-
const emptyString = helpers.isEmptyString(this.validationStatus) ||
|
|
247
|
-
helpers.isEmptyString(this.validationText);
|
|
248
|
-
const valueOutsideRange = this.minValueUnattained || this.maxValueExceeded;
|
|
249
|
-
const charsOutsideRange = maxNumChars > 0 || this.minCharactersUnattained;
|
|
250
|
-
return ((!emptyString || valueOutsideRange || charsOutsideRange) &&
|
|
251
|
-
!this.validationInlineInternal);
|
|
252
|
-
};
|
|
253
|
-
// triggered when attributes of host element change
|
|
254
|
-
this.hostMutationCallback = (mutationList) => {
|
|
255
|
-
let forceComponentUpdate = false;
|
|
256
|
-
mutationList.forEach(({ attributeName, type, addedNodes, removedNodes }) => {
|
|
257
|
-
if (attributeName && MUTABLE_ATTRIBUTES.includes(attributeName)) {
|
|
258
|
-
const attribute = this.el.getAttribute(attributeName);
|
|
259
|
-
if (attribute) {
|
|
260
|
-
this.inheritedAttributes[attributeName] = attribute;
|
|
261
|
-
}
|
|
262
|
-
forceComponentUpdate = true;
|
|
263
|
-
}
|
|
264
|
-
else if (type === "childList") {
|
|
265
|
-
forceComponentUpdate = helpers.checkSlotInChildMutations(addedNodes, removedNodes, "icon");
|
|
266
|
-
}
|
|
267
|
-
});
|
|
268
|
-
if (forceComponentUpdate) {
|
|
269
|
-
index.forceUpdate(this);
|
|
270
|
-
}
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
|
-
watchDisabledHandler() {
|
|
274
|
-
helpers.removeDisabledFalse(this.disabled, this.el);
|
|
275
|
-
}
|
|
276
|
-
debounceChanged() {
|
|
277
|
-
this.icChange = helpers.debounceEvent(this.icChange, this.debounce);
|
|
278
|
-
}
|
|
279
|
-
watchValueHandler(newValue) {
|
|
280
|
-
let value;
|
|
281
|
-
if (this.maxCharacters > 0) {
|
|
282
|
-
value = newValue.substring(0, this.maxCharacters);
|
|
283
|
-
if (value.length < newValue.length) {
|
|
284
|
-
this.maxCharactersWarning = true;
|
|
285
|
-
}
|
|
286
|
-
this.value = value;
|
|
287
|
-
}
|
|
288
|
-
else {
|
|
289
|
-
value = newValue;
|
|
290
|
-
}
|
|
291
|
-
if (this.inputEl && this.inputEl.value !== value) {
|
|
292
|
-
this.inputEl.value = value;
|
|
293
|
-
}
|
|
294
|
-
this.getMaxValueExceeded(value);
|
|
295
|
-
this.getMaxCharactersReached(value);
|
|
296
|
-
this.icChange.emit({ value });
|
|
297
|
-
}
|
|
298
|
-
connectedCallback() {
|
|
299
|
-
this.debounceChanged();
|
|
300
|
-
}
|
|
301
|
-
disconnectedCallback() {
|
|
302
|
-
var _a;
|
|
303
|
-
helpers.removeFormResetListener(this.el, this.handleFormReset);
|
|
304
|
-
(_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
305
|
-
}
|
|
306
|
-
componentWillLoad() {
|
|
307
|
-
if (this.value !== this.initialValue) {
|
|
308
|
-
this.watchValueHandler(this.value);
|
|
309
|
-
}
|
|
310
|
-
else if (this.maxCharacters > 0) {
|
|
311
|
-
this.value = this.value.substring(0, this.maxCharacters);
|
|
312
|
-
}
|
|
313
|
-
this.getMaxValueExceeded(this.value);
|
|
314
|
-
this.getMaxCharactersReached(this.value);
|
|
315
|
-
this.inheritedAttributes = helpers.inheritAttributes(this.el, MUTABLE_ATTRIBUTES);
|
|
316
|
-
if (this.readonly) {
|
|
317
|
-
this.maxValueExceeded = false;
|
|
318
|
-
this.minValueUnattained = false;
|
|
319
|
-
}
|
|
320
|
-
helpers.addFormResetListener(this.el, this.handleFormReset);
|
|
321
|
-
helpers.removeDisabledFalse(this.disabled, this.el);
|
|
322
|
-
}
|
|
323
|
-
componentDidLoad() {
|
|
324
|
-
helpers.onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Text Field");
|
|
325
|
-
if (this.validationInlineInternal) {
|
|
326
|
-
this.getValidationText.emit({ value: this.validationText });
|
|
327
|
-
}
|
|
328
|
-
this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);
|
|
329
|
-
this.hostMutationObserver.observe(this.el, {
|
|
330
|
-
attributes: true,
|
|
331
|
-
childList: true,
|
|
332
|
-
});
|
|
333
|
-
if (this.autofocus && !this.disabled && !this.readonly) {
|
|
334
|
-
this.interval = setInterval(this.checkChildHydration, 50);
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
handleKeyDown(ev) {
|
|
338
|
-
var _a, _b;
|
|
339
|
-
this.icKeydown.emit({
|
|
340
|
-
event: ev,
|
|
341
|
-
cursorPosition: (_a = this.inputEl.selectionStart) !== null && _a !== void 0 ? _a : 0,
|
|
342
|
-
selectionEnd: (_b = this.inputEl.selectionEnd) !== null && _b !== void 0 ? _b : 0,
|
|
343
|
-
});
|
|
344
|
-
if (!ev.ctrlKey && !constants.IGNORED_KEYBOARD_CHARACTERS.includes(ev.key)) {
|
|
345
|
-
this.maxCharactersWarning = this.maxCharactersReached;
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
/**
|
|
349
|
-
* Sets focus on the native `input`.
|
|
350
|
-
*/
|
|
351
|
-
async setFocus() {
|
|
352
|
-
var _a;
|
|
353
|
-
(_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
354
|
-
}
|
|
355
|
-
render() {
|
|
356
|
-
const { inputId, name, label, required, size, placeholder, helperText, hideCharCount, rows, resize, disabled, value, min, max, numChars, readonly, maxCharacters, maxCharactersMessage, maxCharactersWarning, maxCharactersReached, maxMessage, minCharacters, minCharactersMessage, minCharactersUnattained, minMessage, minValueUnattained, maxValueExceeded, validationAriaLive, validationStatus, validationText, validationInline, validationInlineInternal, spellcheck, inputmode, fullWidth, truncateValue, hiddenInput, theme, hideLabel, type, autocapitalize, ariaActiveDescendant, inheritedAttributes, ariaExpanded, ariaOwns, autocomplete, role, isFocussed, } = this;
|
|
357
|
-
const el = this.el;
|
|
358
|
-
const disabledMode = readonly || disabled;
|
|
359
|
-
const currentStatus = maxValueExceeded ||
|
|
360
|
-
minValueUnattained ||
|
|
361
|
-
minCharactersUnattained ||
|
|
362
|
-
maxCharactersWarning
|
|
363
|
-
? maxCharactersWarning
|
|
364
|
-
? helpers.IcInformationStatus.Warning
|
|
365
|
-
: helpers.IcInformationStatus.Error
|
|
366
|
-
: validationStatus;
|
|
367
|
-
const currentValidationText = maxCharactersWarning
|
|
368
|
-
? maxCharactersMessage
|
|
369
|
-
: maxValueExceeded
|
|
370
|
-
? maxMessage
|
|
371
|
-
: minValueUnattained
|
|
372
|
-
? minMessage
|
|
373
|
-
: minCharactersUnattained
|
|
374
|
-
? minCharactersMessage
|
|
375
|
-
: validationText;
|
|
376
|
-
const maxNumChars = readonly ? 0 : maxCharacters;
|
|
377
|
-
const messageAriaLive = validationAriaLive === "default"
|
|
378
|
-
? maxCharactersWarning ||
|
|
379
|
-
maxValueExceeded ||
|
|
380
|
-
minValueUnattained ||
|
|
381
|
-
currentStatus === helpers.IcInformationStatus.Error
|
|
382
|
-
? "assertive"
|
|
383
|
-
: "polite"
|
|
384
|
-
: validationAriaLive;
|
|
385
|
-
const showStatusText = this.hasStatus(currentStatus) &&
|
|
386
|
-
!(currentStatus == helpers.IcInformationStatus.Success && validationInline) &&
|
|
387
|
-
!validationInlineInternal;
|
|
388
|
-
const multiline = rows > 1;
|
|
389
|
-
const hiddenCharCountDescId = maxCharacters > 0 ? `${inputId}-char-count-desc` : "";
|
|
390
|
-
const charsRemaining = maxNumChars - numChars;
|
|
391
|
-
const remainingCharCountDescId = maxCharacters > 0 ? `${inputId}-remaining-char-count-desc` : "";
|
|
392
|
-
const remainingCharCountDesc = `${charsRemaining} character${charsRemaining === 1 ? "" : "s"} remaining.`;
|
|
393
|
-
const describedBy = `${helpers.getInputDescribedByText(this.el, inputId, helperText !== "", showStatusText)} ${hiddenCharCountDescId} ${numChars > 0 ? remainingCharCountDescId : ""}`.trim();
|
|
394
|
-
const disabledText = disabledMode && !readonly;
|
|
395
|
-
const showLeftIcon = !!this.el.querySelector(`[slot="icon"]`) && !disabledText;
|
|
396
|
-
const invalid = `${currentStatus === helpers.IcInformationStatus.Error}`;
|
|
397
|
-
hiddenInput
|
|
398
|
-
? helpers.renderHiddenInput(this.el, value, name, disabledMode)
|
|
399
|
-
: helpers.removeHiddenInput(this.el);
|
|
400
|
-
return (index.h(index.Host, { key: 'c94560bea90464d881f323a308aa17926a2ff1e6', class: {
|
|
401
|
-
"ic-text-field-full-width": fullWidth,
|
|
402
|
-
"ic-text-field-disabled": disabledMode,
|
|
403
|
-
[`ic-theme-${theme}`]: theme !== "inherit",
|
|
404
|
-
} }, index.h("ic-input-container", { key: 'cf76ec0c26f5003f66707b697df8c6e065872a66', readonly: readonly, disabled: disabledMode }, !hideLabel && (index.h("ic-input-label", { key: '0e8b2170e02cafadcda1cd7c73b1fe0d17695247', for: inputId, label: label, helperText: helperText, required: required, disabled: disabledText, readonly: readonly }, index.h("slot", { key: 'fb77e901d7b762bcdbe4b5aa1c448602617d1951', name: "helper-text", slot: "helper-text" }))), index.h("ic-input-component-container", { key: '51aff4fba6d8c8e474ebfc27f77c560cce1125f8', size: size, validationStatus: currentStatus, multiLine: multiline, disabled: disabledMode, readonly: readonly, validationInline: validationInline, fullWidth: fullWidth }, showLeftIcon && (index.h("span", { key: '85df3728d49c37c33e1fe792973c527137431a78', class: {
|
|
405
|
-
readonly,
|
|
406
|
-
"has-value": this.getNumberOfCharacters(value) > 0,
|
|
407
|
-
}, slot: "left-icon" }, index.h("slot", { key: 'dc4cbe888dbe0e864102f60496be589951c4e610', name: "icon" }))), !multiline ? (index.h("input", Object.assign({ id: inputId, name: name, ref: (el) => (this.inputEl = el), type: type, min: min, max: max, value: value, class: {
|
|
408
|
-
"no-left-pad": !showLeftIcon && readonly,
|
|
409
|
-
readonly,
|
|
410
|
-
"truncate-value": truncateValue,
|
|
411
|
-
}, placeholder: placeholder ? placeholder : "", required: required, disabled: disabledMode, readonly: readonly, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, "aria-activedescendant": ariaActiveDescendant, "aria-expanded": ariaExpanded, "aria-owns": ariaOwns, autocomplete: autocomplete, autocapitalize: autocapitalize, spellcheck: spellcheck, inputmode: inputmode, role: role || undefined, maxlength: maxCharactersReached ? maxCharacters : undefined, minlength: minCharactersUnattained ? minCharacters : undefined }, inheritedAttributes))) : (index.h("textarea", Object.assign({ id: inputId, class: {
|
|
412
|
-
"no-resize": resize === false || !!readonly,
|
|
413
|
-
"no-left-pad": !showLeftIcon && !!readonly,
|
|
414
|
-
readonly: !!readonly,
|
|
415
|
-
}, name: name, ref: (el) => (this.inputEl = el), value: value, rows: rows, required: required, disabled: disabledMode, placeholder: placeholder, readonly: readonly, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onScroll: this.onTextAreaScroll, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, autocomplete: autocomplete, autocapitalize: autocapitalize, spellcheck: spellcheck, inputmode: inputmode, maxlength: maxCharactersReached ? maxCharacters : undefined, minlength: minCharactersUnattained ? minCharacters : undefined }, inheritedAttributes))), helpers.isSlotUsed(el, "clear-button") && (index.h("slot", { key: '6faa3c12856f4f6c10158af49f14b51d5dac92e8', name: "clear-button" })), helpers.isSlotUsed(el, "search-submit-button") && (index.h("slot", { key: 'c18e08b7ae93e3f65e0410af0b6d64eb418e3940', name: "search-submit-button" }))), helpers.isSlotUsed(el, "menu") && index.h("slot", { key: 'e1a46ef6a4d97c4910df75941d6608a7765d127a', name: "menu" }), index.h("ic-input-validation", { key: 'e963d95a1e5bfc767c35b798c61bcf958dbcdfa6', class: { "show-validation": this.showValidationMargin() }, status: this.hasStatus(currentStatus) === false ||
|
|
416
|
-
(currentStatus === helpers.IcInformationStatus.Success &&
|
|
417
|
-
validationInline) ||
|
|
418
|
-
validationInlineInternal
|
|
419
|
-
? ""
|
|
420
|
-
: currentStatus, message: showStatusText ? currentValidationText : "", ariaLiveMode: messageAriaLive, for: inputId, fullWidth: fullWidth }, helpers.isSlotUsed(el, "validation-text") && (index.h("slot", { key: '4b5817e1c52b9af6511e07c202e5eb0e8457689d', name: "validation-text", slot: "validation-message" })), !readonly && maxNumChars > 0 && (index.h("div", { key: '059e8dc7ffbb0225d0c901821ff53d5b90ddf9f1', slot: "validation-message-adornment" }, !hideCharCount && (index.h("ic-typography", { key: 'afe9cb357584f91fd2762d2c9f87d68eb7e25e68', variant: "caption", class: "char-count-text" }, index.h("span", { key: '583f62c58407615b2ce37edb17eed4928952e6ee', class: "char-count" }, numChars, "/", maxNumChars))), index.h("span", { key: '953722d8ddd1d3c4e187308944fdd0723e8e8e70', class: "remaining-char-count-desc", "aria-live": "polite", hidden: !isFocussed, id: remainingCharCountDescId }, remainingCharCountDesc), index.h("span", { key: '973adba9f9c7dca2409423f36af8dc4a9a3a7192', hidden: true, id: hiddenCharCountDescId }, "Field can contain a maximum of ", maxNumChars, " characters.")))))));
|
|
421
|
-
}
|
|
422
|
-
get el() { return index.getElement(this); }
|
|
423
|
-
static get watchers() { return {
|
|
424
|
-
"disabled": ["watchDisabledHandler"],
|
|
425
|
-
"debounce": ["debounceChanged"],
|
|
426
|
-
"value": ["watchValueHandler"]
|
|
427
|
-
}; }
|
|
428
|
-
};
|
|
429
|
-
TextField.style = IcTextFieldStyle0;
|
|
430
|
-
|
|
431
|
-
exports.ic_text_field = TextField;
|
|
432
|
-
|
|
433
|
-
//# sourceMappingURL=ic-text-field.cjs.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"ic-text-field.entry.cjs.js","mappings":"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","names":["IC_INHERITED_ARIA","isEmptyString","checkSlotInChildMutations","forceUpdate","removeDisabledFalse","debounceEvent","removeFormResetListener","inheritAttributes","addFormResetListener","onComponentRequiredPropUndefined","IGNORED_KEYBOARD_CHARACTERS","IcInformationStatus","getInputDescribedByText","renderHiddenInput","removeHiddenInput","h","Host","isSlotUsed"],"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"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --input-width: Width of the input field\n */\n display: block;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xs);\n --border-color: var(--ic-text-field-border-neutral);\n --border-color-hover: var(--ic-text-field-border-neutral-hover);\n --border-color-pressed: var(--ic-text-field-border-neutral-pressed);\n --border-color-disabled: var(--ic-text-field-border-disabled);\n --border-color-error: var(--ic-text-field-border-error);\n --border-color-error-hover: var(--ic-text-field-border-error-hover);\n --border-color-error-pressed: var(--ic-text-field-border-error-pressed);\n --border-color-success: var(--ic-text-field-border-success);\n --border-color-success-hover: var(--ic-text-field-border-success-hover);\n --border-color-success-pressed: var(--ic-text-field-border-success-pressed);\n --border-color-warning: var(--ic-text-field-border-warning);\n --border-color-warning-hover: var(--ic-text-field-border-warning-hover);\n --border-color-warning-pressed: var(--ic-text-field-border-warning-pressed);\n --ic-input-label-text-color: var(--ic-text-field-label);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle);\n --ic-input-validation-status-text-color: var(--ic-text-field-state-text);\n --ic-input-validation-error: var(--ic-text-field-state-icon-error);\n --ic-input-validation-warning-icon-color: var(\n --ic-text-field-state-icon-warning\n );\n --ic-input-validation-success-icon-color: var(\n --ic-text-field-state-icon-success\n );\n --ic-input-component-container-success-icon-inline-color: var(\n --ic-text-field-state-icon-success\n );\n}\n\n:host(.ic-text-field-disabled) {\n --ic-input-label-text-color: var(--ic-text-field-label-disabled);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle-disabled);\n --text-field-placeholder-color: var(\n --ic-text-field-text-area-placeholder-text-disabled\n );\n}\n\n:host(.ic-text-field-full-width) {\n width: 100%;\n}\n\n::placeholder {\n color: var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );\n opacity: 1;\n}\n\ninput,\ntextarea {\n border: 0;\n border-radius: var(--ic-border-radius);\n color: var(--text-field-text-color, var(--ic-text-field-text));\n background-color: var(--input-bg-color, var(--ic-text-field-background));\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 caret-color: var(\n --text-field-typing-cursor,\n var(--ic-text-field-typing-cursor)\n );\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(\n --text-field-disabled-text-color,\n var(--ic-text-field-text-disabled)\n );\n}\n\ninput.readonly,\ntextarea.readonly {\n color: var(--ic-text-field-read-only-input-text-internal);\n background: transparent;\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.char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit);\n\n padding-right: var(--ic-space-xxxs);\n}\n\n:host(.ic-text-field-disabled) .char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit-disabled);\n}\n\n.no-left-pad {\n padding-left: 0;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-text-disabled);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-input-internal-icon);\n}\n\n.char-count {\n margin-right: calc(-1 * var(--ic-space-xxxs));\n}\n\n.remaining-char-count-desc {\n position: absolute;\n left: -9999px;\n}\n\n.show-validation {\n margin-top: var(--ic-space-xs);\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 forceUpdate,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n IcSizesNoLarge,\n IcThemeMode,\n IcValidationAriaLive,\n} from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n isSlotUsed,\n removeDisabledFalse,\n checkSlotInChildMutations,\n removeHiddenInput,\n} from \"../../utils/helpers\";\nimport {\n IC_INHERITED_ARIA,\n IGNORED_KEYBOARD_CHARACTERS,\n} from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldKeydownEventDetail,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot helper-text - Content is set as the helper text for the text field.\n * @slot validation-text - Content is set as validation text for the text field.\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 private inheritedAttributes: { [k: string]: string } = {};\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private hostMutationObserver: MutationObserver | null = null;\n private interval: ReturnType<typeof setInterval>;\n\n @Element() el: HTMLIcTextFieldElement;\n\n @State() numChars: number = 0;\n @State() maxCharactersReached: boolean = false;\n @State() maxCharactersWarning: boolean = false;\n @State() minCharactersUnattained: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n @State() isFocussed: boolean = false;\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 * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete?: IcAriaAutocompleteTypes;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string | null;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns?: string;\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 * If `true`, the disabled state will be set.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\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 = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText = \"\";\n\n /**\n * If `true`, the character count which is displayed when `maxCharacters` is set will be visually hidden.\n */\n @Prop() hideCharCount = 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 = false;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput = true;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId = `ic-text-field-input-${inputIds++}`;\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 label for the input.\n */\n @Prop() label!: string;\n\n /**\n * The maximum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of max value in `helperText` or `label`)\n */\n @Prop() max?: string | number;\n\n /**\n * The count of characters in the field. Will display a warning if the bound is reached. (NOTE: If the value of the text field has been set using the `value` prop, it will be truncated to this number of characters)\n */\n @Prop() maxCharacters = 0;\n\n /**\n * The text to display as the warning message when the maximum number of characters (the `maxCharacters` prop value) is reached.\n */\n // prettier-ignore\n @Prop() maxCharactersMessage = `Maximum input is ${this.maxCharacters} characters`;\n\n /**\n * The text to display as the error message when the maximum value (the `max` prop value) has been exceeded.\n */\n @Prop() maxMessage = `Maximum value of ${this.max} exceeded`;\n\n /**\n * The minimum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of min value in `helperText` or `label`)\n */\n @Prop() min?: string | number;\n\n /**\n * The minimum number of characters that can be entered in the field.\n */\n @Prop() minCharacters = 0;\n\n /**\n * The text to display as the error message when the minimum number of characters (the `minCharacters` prop value) has not been met.\n */\n // prettier-ignore\n @Prop() minCharactersMessage = `Minimum input is ${this.minCharacters} characters`;\n\n /**\n * The text to display as the error message when the minimum value (the `min` prop value) has not been met.\n */\n @Prop() minMessage = `Minimum value of ${this.min} not met`;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder = \"\";\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly = false;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required = false;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize = false;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string | null;\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows = 1;\n\n /**\n * The size of the text field component.\n */\n @Prop() size: IcSizesNoLarge = \"medium\";\n\n /**\n * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck = false;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * @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 = false;\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: IcTextFieldTypes = \"text\";\n\n /**\n * The value of the `aria-live` attribute on the validation message. When set to \"default\", the `aria-live` value will be handled automatically, e.g. \"assertive\" for `validation-status=\"error\"`.\n */\n @Prop() validationAriaLive: IcValidationAriaLive = \"default\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal = false;\n\n /**\n * The validation state - 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 amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value = \"\";\n @State() initialValue = this.value;\n @Watch(\"value\")\n private watchValueHandler(newValue: string): void {\n let value;\n\n if (this.maxCharacters > 0) {\n value = newValue.substring(0, this.maxCharacters);\n if (value.length < newValue.length) {\n this.maxCharactersWarning = true;\n }\n this.value = value;\n } else {\n value = newValue;\n }\n\n if (this.inputEl && this.inputEl.value !== value) {\n this.inputEl.value = value;\n }\n\n this.getMaxValueExceeded(value);\n\n this.getMaxCharactersReached(value);\n\n this.icChange.emit({ value });\n }\n\n /**\n * @internal Emitted when the validationInlineInternal is `true`\n */\n @Event() getValidationText: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<IcTextFieldKeydownEventDetail>;\n\n /**\n * Emitted when the textarea variant is scrolled.\n */\n @Event() icScroll: EventEmitter;\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el as HTMLElement, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n if (this.value !== this.initialValue) {\n this.watchValueHandler(this.value);\n } else if (this.maxCharacters > 0) {\n this.value = this.value.substring(0, this.maxCharacters);\n }\n\n this.getMaxValueExceeded(this.value);\n this.getMaxCharactersReached(this.value);\n\n this.inheritedAttributes = inheritAttributes(\n this.el as HTMLElement,\n MUTABLE_ATTRIBUTES\n );\n\n if (this.readonly) {\n this.maxValueExceeded = false;\n this.minValueUnattained = false;\n }\n\n addFormResetListener(this.el as HTMLElement, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n if (this.validationInlineInternal) {\n this.getValidationText.emit({ value: this.validationText });\n }\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n\n if (this.autofocus && !this.disabled && !this.readonly) {\n this.interval = setInterval(this.checkChildHydration, 50);\n }\n }\n\n private checkChildHydration = () => {\n if (\n this.hideLabel ||\n this.el.shadowRoot\n ?.querySelector(\"ic-typography\")\n ?.classList.contains(\"hydrated\")\n ) {\n this.setFocus();\n clearInterval(this.interval);\n }\n };\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({\n event: ev,\n cursorPosition: this.inputEl.selectionStart ?? 0,\n selectionEnd: this.inputEl.selectionEnd ?? 0,\n });\n\n if (!ev.ctrlKey && !IGNORED_KEYBOARD_CHARACTERS.includes(ev.key)) {\n this.maxCharactersWarning = this.maxCharactersReached;\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n\n @Method()\n async setFocus(): Promise<void> {\n this.inputEl?.focus();\n }\n\n private getNumberOfCharacters = (value: string) =>\n value !== null && value !== undefined ? value.length : 0;\n\n private getMaxValueExceeded = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n if (this.type === \"number\") {\n this.minValueUnattained = !!value && Number(value) < Number(this.min);\n this.maxValueExceeded = Number(value) > Number(this.max);\n }\n };\n\n private getMaxCharactersReached = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n this.maxCharactersReached =\n this.maxCharacters > 0 && this.numChars >= this.maxCharacters;\n\n if (this.maxCharactersWarning && !this.maxCharactersReached) {\n this.maxCharactersWarning = false;\n }\n };\n\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n private onBlur = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.removeEventListener(\"wheel\", this.onWheel);\n const { value } = target;\n this.numChars = value.length;\n this.minCharactersUnattained =\n this.minCharacters > 0 && this.numChars < this.minCharacters;\n this.icBlur.emit({ value });\n this.isFocussed = false;\n };\n\n private onFocus = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.addEventListener(\"wheel\", this.onWheel);\n this.icFocus.emit({ value: target.value });\n this.isFocussed = true;\n };\n\n private onTextAreaScroll = () => {\n this.icScroll.emit();\n };\n\n private onWheel = (ev: WheelEvent) => {\n const target = ev.target as HTMLInputElement;\n if (target.type === \"number\") {\n target.blur();\n setTimeout(() => {\n target.focus();\n }, 0);\n }\n };\n\n private hasStatus = (status: IcInformationStatusOrEmpty) =>\n status !== \"\" && !this.disabled;\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n private showValidationMargin = (): boolean => {\n const maxNumChars = this.readonly ? 0 : this.maxCharacters;\n const emptyString =\n isEmptyString(this.validationStatus) ||\n isEmptyString(this.validationText);\n const valueOutsideRange = this.minValueUnattained || this.maxValueExceeded;\n const charsOutsideRange = maxNumChars > 0 || this.minCharactersUnattained;\n return (\n (!emptyString || valueOutsideRange || charsOutsideRange) &&\n !this.validationInlineInternal\n );\n };\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute) {\n this.inheritedAttributes[attributeName] = attribute;\n }\n forceComponentUpdate = true;\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n size,\n placeholder,\n helperText,\n hideCharCount,\n rows,\n resize,\n disabled,\n value,\n min,\n max,\n numChars,\n readonly,\n maxCharacters,\n maxCharactersMessage,\n maxCharactersWarning,\n maxCharactersReached,\n maxMessage,\n minCharacters,\n minCharactersMessage,\n minCharactersUnattained,\n minMessage,\n minValueUnattained,\n maxValueExceeded,\n validationAriaLive,\n validationStatus,\n validationText,\n validationInline,\n validationInlineInternal,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n theme,\n hideLabel,\n type,\n autocapitalize,\n ariaActiveDescendant,\n inheritedAttributes,\n ariaExpanded,\n ariaOwns,\n autocomplete,\n role,\n isFocussed,\n } = this;\n\n const el = this.el as HTMLElement;\n\n const disabledMode = readonly || disabled;\n\n const currentStatus =\n maxValueExceeded ||\n minValueUnattained ||\n minCharactersUnattained ||\n maxCharactersWarning\n ? maxCharactersWarning\n ? IcInformationStatus.Warning\n : IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxCharactersWarning\n ? maxCharactersMessage\n : maxValueExceeded\n ? maxMessage\n : minValueUnattained\n ? minMessage\n : minCharactersUnattained\n ? minCharactersMessage\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxCharacters;\n const messageAriaLive =\n validationAriaLive === \"default\"\n ? maxCharactersWarning ||\n maxValueExceeded ||\n minValueUnattained ||\n currentStatus === IcInformationStatus.Error\n ? \"assertive\"\n : \"polite\"\n : validationAriaLive;\n\n const showStatusText =\n this.hasStatus(currentStatus) &&\n !(currentStatus == IcInformationStatus.Success && validationInline) &&\n !validationInlineInternal;\n\n const multiline = rows > 1;\n\n const hiddenCharCountDescId =\n maxCharacters > 0 ? `${inputId}-char-count-desc` : \"\";\n\n const charsRemaining = maxNumChars - numChars;\n const remainingCharCountDescId =\n maxCharacters > 0 ? `${inputId}-remaining-char-count-desc` : \"\";\n const remainingCharCountDesc = `${charsRemaining} character${\n charsRemaining === 1 ? \"\" : \"s\"\n } remaining.`;\n\n const describedBy = `${getInputDescribedByText(\n this.el,\n inputId,\n helperText !== \"\",\n showStatusText\n )} ${hiddenCharCountDescId} ${\n numChars > 0 ? remainingCharCountDescId : \"\"\n }`.trim();\n\n const disabledText = disabledMode && !readonly;\n const showLeftIcon =\n !!this.el.querySelector(`[slot=\"icon\"]`) && !disabledText;\n\n const invalid = `${currentStatus === IcInformationStatus.Error}`;\n\n hiddenInput\n ? renderHiddenInput(this.el as HTMLElement, value, name, disabledMode)\n : removeHiddenInput(this.el as HTMLElement);\n\n return (\n <Host\n class={{\n \"ic-text-field-full-width\": fullWidth,\n \"ic-text-field-disabled\": disabledMode,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n\n <ic-input-component-container\n size={size}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {showLeftIcon && (\n <span\n class={{\n readonly,\n \"has-value\": this.getNumberOfCharacters(value) > 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={type}\n min={min}\n max={max}\n value={value}\n class={{\n \"no-left-pad\": !showLeftIcon && readonly,\n readonly,\n \"truncate-value\": truncateValue,\n }}\n placeholder={placeholder ? placeholder : \"\"}\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={ariaActiveDescendant}\n aria-expanded={ariaExpanded}\n aria-owns={ariaOwns}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={role || undefined}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...inheritedAttributes}\n ></input>\n ) : (\n <textarea\n id={inputId}\n class={{\n \"no-resize\": resize === false || !!readonly,\n \"no-left-pad\": !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={placeholder}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onScroll={this.onTextAreaScroll}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(el, \"menu\") && <slot name=\"menu\"></slot>}\n <ic-input-validation\n class={{ \"show-validation\": this.showValidationMargin() }}\n status={\n this.hasStatus(currentStatus) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline) ||\n validationInlineInternal\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {isSlotUsed(el, \"validation-text\") && (\n <slot name=\"validation-text\" slot=\"validation-message\"></slot>\n )}\n {!readonly && maxNumChars > 0 && (\n <div slot=\"validation-message-adornment\">\n {!hideCharCount && (\n <ic-typography variant=\"caption\" class=\"char-count-text\">\n <span class=\"char-count\">\n {numChars}/{maxNumChars}\n </span>\n </ic-typography>\n )}\n <span\n class=\"remaining-char-count-desc\"\n aria-live=\"polite\"\n hidden={!isFocussed}\n id={remainingCharCountDescId}\n >\n {remainingCharCountDesc}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </div>\n )}\n </ic-input-validation>\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["icNavigationGroupCss","IcNavigationGroupStyle0","IC_NAVIGATION_ITEM","DYNAMIC_GROUPED_LINKS_HEIGHT_MS","NODE_NAME","NavigationGroup","constructor","hostRef","this","allGroupedNavigationItemHeights","collapsedNavItemsHeight","expandedNavItemsHeight","mouseGate","deviceSize","DEVICE_SIZES","XL","dropdownOpen","focusStyle","getBrandForegroundAppearance","inTopNavSideMenu","isSideNavExpanded","expandable","expanded","theme","sideNavExpandHandler","event","detail","sideNavExpanded","linkWrapper","navItemsHeight","setGroupedLinksElementHeight","setTimeout","topNavResizedHandler","size","_a","parentEl","customMobileBreakpoint","L","toggleExpanded","el","querySelectorAll","forEach","navigationItem","navItem","shadowRoot","querySelector","setAttribute","handleClick","ev","navigationType","toggleDropdown","handleBlur","contains","relatedTarget","hideDropdown","handleKeydown","key","preventDefault","handleMouseLeave","relTarget","dropdown","document","activeElement","nodeName","handleMouseEnter","addEventListener","showDropdown","renderGroupTitleText","h","id","variant","label","renderNavigationItems","class","selected","onMouseLeave","undefined","ref","height","style","setProperty","disconnectedCallback","removeEventListener","_b","componentWillLoad","getCurrentDeviceSize","navType","parent","getNavItemParentDetails","componentDidLoad","Array","from","reduce","childrenHeights","offsetHeight","childBlurHandler","handleNavigationGroupOpened","source","navItemClickHandler","brandChangeHandler","mode","setFocus","groupEl","focus","navigationGroupExpanded","emit","navigationGroupOpened","render","getExpandedClassSuffix","prop","navGroupTitleClassNames","isSideNav","isTopNav","isTopNavDesktop","ariaExpanded","Host","role","onMouseEnter","onBlur","onClick","onKeyDown","innerHTML","chevronIcon"],"sources":["src/components/ic-navigation-group/ic-navigation-group.css?tag=ic-navigation-group&encapsulation=shadow","src/components/ic-navigation-group/ic-navigation-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-navigation-item: z-index of navigation group item\n */\n\n:host {\n display: block;\n\n --ic-typography-color: currentcolor;\n}\n\n:host(.in-side-menu) {\n border-bottom: var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);\n padding: var(--ic-space-md) 0;\n}\n\n:host .navigation-group {\n height: 100%;\n width: fit-content;\n color: var(--ic-brand-text-color);\n display: flex;\n gap: var(--ic-space-xxs);\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md);\n transition: var(--ic-easing-transition-slow);\n position: relative;\n background: none;\n border: none;\n text-align: left;\n box-sizing: border-box;\n}\n\n:host .navigation-group:hover,\n:host .navigation-group:active,\n:host .selected {\n background-color: var(--ic-architectural-20);\n color: var(--ic-color-text-primary-light);\n outline: none;\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group {\n min-height: 2.5rem;\n width: 100%;\n gap: 1.25rem;\n}\n\n:host(.in-side-menu) .navigation-group .ic-typography-label {\n width: 100%;\n}\n\n:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed,\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n color: var(--ic-top-navigation-nav-group-link);\n justify-content: flex-start;\n padding: var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n margin-bottom: var(--ic-space-xs);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n border-style: solid;\n border-width: 0.125em 0.125em 0 0;\n content: \"\";\n display: inline-block;\n min-height: 0.45em;\n position: relative;\n top: -0.1em;\n transform: rotate(135deg);\n vertical-align: top;\n min-width: 0.45em;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n top: 0.15em;\n transform: rotate(-45deg);\n}\n\n:host(:not(.in-side-menu)) .navigation-group:focus {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n z-index: var(--ic-z-index-navigation-item);\n transition: box-shadow var(--ic-easing-transition-fast);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus) {\n background-color: var(--ic-top-navigation-nav-group-hover);\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus) {\n background-color: var(--ic-top-navigation-nav-group-pressed);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n background: none;\n}\n\n:host .navigation-group-dropdown {\n background-color: var(--ic-top-navigation-menu-background);\n border-bottom: var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);\n position: absolute;\n left: 0;\n right: 0;\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-shadow: 0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);\n z-index: calc(var(--ic-z-index-navigation-item) - 1);\n}\n\n:host .navigation-group-dropdown-items-list {\n list-style: none;\n display: flex;\n flex-flow: column wrap;\n align-content: flex-start;\n padding-left: var(--ic-space-md);\n max-height: 16.5rem;\n}\n\n:host .chevron-toggle-icon-wrapper {\n display: flex;\n align-items: center;\n}\n\n:host .chevron-toggle-icon-wrapper svg {\n transform: rotate(90deg);\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host .chevron-toggle-icon-closed svg {\n transform: rotate(-90deg);\n}\n\n#nav-group-title {\n text-wrap: nowrap;\n}\n\n:host(.in-side-menu) #nav-group-title {\n text-wrap: wrap;\n}\n\n:host(.ic-navigation-group-side-nav) #nav-group-title {\n text-wrap: wrap;\n}\n\n:host(.ic-navigation-group-expanded) .grouped-links-wrapper {\n height: var(--navigation-child-items-height, auto) !important;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.ic-navigation-group-side-nav) .link,\n:host(.ic-navigation-group-side-nav) ::slotted(a) {\n height: var(--navigation-child-items-height, auto);\n}\n\n:host(.ic-navigation-group-collapsed) .grouped-links-wrapper {\n height: 0;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group {\n min-height: var(--navigation-group-height);\n height: fit-content;\n min-width: 100%;\n width: var(--navigation-group-width, auto);\n justify-content: var(--navigation-group-justify-content);\n padding: var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group {\n padding-right: var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group:hover,\n:host(.ic-navigation-group-side-nav) .navigation-group:active,\n:host(.ic-navigation-group-side-nav) .selected {\n background-color: var(--navigation-group-hover);\n color: var(--navigation-group-text-hover);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:active,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:active {\n background: none;\n cursor: auto;\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background: none;\n}\n\n:host(.ic-navigation-group-side-nav) .ic-typography-caption {\n position: var(--navigation-group-title-position);\n left: var(--navigation-group-title-position-left);\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Listen,\n h,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getBrandForegroundAppearance,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport {\n IcNavType,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundNoDefault,\n IcThemeMode,\n} from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport {\n IcNavigationExpandEventDetail,\n IcNavigationOpenEventDetail,\n} from \"./ic-navigation-group.types\";\n\nconst IC_NAVIGATION_ITEM = \"ic-navigation-item\";\nconst DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 100;\nconst NODE_NAME = \"IC-NAVIGATION-GROUP\";\n\n@Component({\n tag: \"ic-navigation-group\",\n styleUrl: \"ic-navigation-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationGroup {\n private allGroupedNavigationItemHeights = \"\";\n private collapsedNavItemsHeight: string | null = null;\n private dropdown?: HTMLElement;\n private expandedNavItemsHeight: string | null = null;\n private groupEl?: HTMLElement;\n private mouseGate = false;\n private linkWrapper?: HTMLUListElement;\n\n @Element() el: HTMLIcNavigationGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownOpen = false;\n @State() focusStyle: IcBrandForegroundNoDefault | IcBrandForeground =\n getBrandForegroundAppearance();\n @State() inTopNavSideMenu = false;\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement | null;\n @State() isSideNavExpanded = false;\n\n /**\n * If `true`, the group will be expandable when in an ic-side-navigation component, or, when in an ic-top-navigation component, in the side menu displayed at small screen sizes.\n */\n @Prop() expandable = false;\n\n /**\n * If `true`, the expandable group will be expanded by default when in an ic-side-navigation component. To enable this prop, `expandable` must also be set to `true`.\n */\n @Prop({ mutable: true }) expanded = true;\n\n /**\n * The label to display on the group.\n */\n @Prop() label!: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * @internal Emitted when a navigation group is opened - when within an ic-top-navigation at large screen sizes.\n */\n @Event() navigationGroupOpened: EventEmitter<IcNavigationOpenEventDetail>;\n\n /**\n * @internal Emitted when a navigation group is expanded - when within an ic-top-navigation at small screen sizes.\n */\n @Event() navigationGroupExpanded: EventEmitter<IcNavigationExpandEventDetail>;\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl?.removeEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler as EventListener\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl?.removeEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler as EventListener\n );\n }\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.parentEl = parent;\n\n if (this.navigationType === \"side\") {\n this.parentEl?.addEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler as EventListener\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl?.addEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler as EventListener\n );\n if (\n this.deviceSize <=\n (this.parentEl as HTMLIcTopNavigationElement).customMobileBreakpoint\n )\n this.inTopNavSideMenu = true;\n }\n }\n\n componentDidLoad(): void {\n this.allGroupedNavigationItemHeights = `${Array.from(\n this.el.querySelectorAll(IC_NAVIGATION_ITEM)\n ).reduce(\n (childrenHeights, { offsetHeight }) => childrenHeights + offsetHeight,\n 0\n )}px`;\n\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(() => {\n if (!this.linkWrapper || !this.expanded) return;\n\n if (!this.isSideNavExpanded)\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n else this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n\n @Listen(\"childBlur\")\n childBlurHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"navigationGroupOpened\", { target: \"document\" })\n handleNavigationGroupOpened(event: CustomEvent): void {\n if (event.detail.source !== this.el) {\n this.hideDropdown();\n }\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.focusStyle = ev.detail.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.groupEl?.focus();\n }\n\n private sideNavExpandHandler = (event: CustomEvent) => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n\n if (!this.linkWrapper || !this.expanded) return;\n\n const navItemsHeight = this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight;\n\n if (navItemsHeight) {\n this.setGroupedLinksElementHeight(navItemsHeight);\n } else {\n setTimeout(() => {\n if (this.isSideNavExpanded) {\n this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n } else {\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n }\n\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n };\n\n private topNavResizedHandler = ({\n detail: { size },\n }: CustomEvent<{ size: number }>) => {\n if (size === this.deviceSize) return;\n\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n ((this.parentEl as HTMLIcTopNavigationElement)?.customMobileBreakpoint ||\n DEVICE_SIZES.L);\n };\n\n private toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n if (this.inTopNavSideMenu) {\n this.navigationGroupExpanded.emit({ expanded: this.dropdownOpen });\n }\n }\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n if (!this.linkWrapper) return;\n\n this.setGroupedLinksElementHeight(\n !this.expanded\n ? \"0\"\n : this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight\n );\n\n this.el.querySelectorAll(IC_NAVIGATION_ITEM).forEach((navigationItem) => {\n const navItem =\n navigationItem.shadowRoot?.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n navItem?.setAttribute(\"tabindex\", this.expanded ? \"0\" : \"-1\");\n });\n };\n\n private showDropdown() {\n if (!this.dropdownOpen) {\n this.navigationGroupOpened.emit({\n source: this.el,\n });\n\n this.toggleDropdown();\n }\n }\n\n private hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n } else {\n this.toggleExpanded();\n }\n };\n\n private handleBlur = (ev: FocusEvent) => {\n if (!this.el.contains(ev.relatedTarget as HTMLElement)) {\n this.hideDropdown();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n const { key } = ev;\n if (key !== \"Enter\" && key !== \" \" && key !== \"Escape\") return;\n\n switch (this.navigationType) {\n case \"top\":\n if (key === \" \" || key === \"Enter\") {\n this.toggleDropdown();\n } else if (!this.inTopNavSideMenu) {\n this.hideDropdown();\n }\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n };\n\n private handleMouseLeave = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n\n this.mouseGate = false;\n\n if (\n this.el.contains(relTarget) ||\n relTarget === this.dropdown ||\n this.el.contains(document.activeElement)\n )\n return;\n\n if (\n document.activeElement !== this.el &&\n relTarget?.nodeName === NODE_NAME &&\n this.dropdownOpen\n ) {\n this.mouseGate = true;\n this.hideDropdown();\n } else {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n\n private handleMouseEnter = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement | null;\n document.addEventListener(\"keydown\", this.handleKeydown);\n\n if (relTarget?.nodeName === NODE_NAME && this.mouseGate) {\n this.showDropdown();\n } else if (!this.dropdownOpen && !this.mouseGate) {\n this.mouseGate = true;\n setTimeout(() => {\n if (this.mouseGate) this.showDropdown();\n }, 500);\n }\n };\n\n private renderGroupTitleText = () => (\n <ic-typography\n id=\"nav-group-title\"\n variant={this.navigationType === \"side\" ? \"caption\" : \"label\"}\n >\n {this.label}\n </ic-typography>\n );\n\n private renderNavigationItems = () => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return (\n <div\n class={{\n [this.inTopNavSideMenu\n ? \"navigation-group-dropdown-side-menu\"\n : \"navigation-group-dropdown\"]: true,\n selected: this.dropdownOpen && !this.inTopNavSideMenu,\n }}\n onMouseLeave={\n !this.inTopNavSideMenu ? this.handleMouseLeave : undefined\n }\n ref={(el) => (this.dropdown = el)}\n >\n <nav\n class={{\n \"navigation-group-dropdown-items\": !this.inTopNavSideMenu,\n }}\n aria-labelledby=\"nav-group-title\"\n >\n <ul>\n <slot></slot>\n </ul>\n </nav>\n </div>\n );\n }\n\n if (this.navigationType !== \"top\") {\n return (\n <ul ref={(el) => (this.linkWrapper = el)} class=\"grouped-links-wrapper\">\n <slot></slot>\n </ul>\n );\n }\n\n return null;\n };\n\n private setGroupedLinksElementHeight = (height: string | null) => {\n this.linkWrapper?.style.setProperty(\n \"--navigation-child-items-height\",\n height\n );\n };\n\n render() {\n const {\n dropdownOpen,\n expanded,\n inTopNavSideMenu,\n expandable,\n theme,\n isSideNavExpanded,\n focusStyle,\n } = this;\n\n const getExpandedClassSuffix = (prop: boolean) =>\n prop ? \"expanded\" : \"collapsed\";\n\n const navGroupTitleClassNames = {\n \"navigation-group\": true,\n [focusStyle]: !inTopNavSideMenu,\n [`navigation-group-side-menu-${getExpandedClassSuffix(dropdownOpen)}`]:\n inTopNavSideMenu && expandable,\n selected: dropdownOpen && !inTopNavSideMenu,\n };\n\n const isSideNav = this.navigationType === \"side\";\n const isTopNav = this.navigationType === \"top\";\n const isTopNavDesktop = !inTopNavSideMenu && isTopNav;\n\n const ariaExpanded = (isSideNav && expanded) || (isTopNav && dropdownOpen);\n\n return (\n <Host\n class={{\n \"in-side-menu\": inTopNavSideMenu,\n \"ic-navigation-group-expandable\": expandable,\n \"ic-navigation-group-side-nav\": isSideNav,\n [`ic-navigation-group-${getExpandedClassSuffix(expanded)}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n role=\"listitem\"\n >\n {expandable || isTopNavDesktop ? (\n <button\n onMouseEnter={isTopNavDesktop ? this.handleMouseEnter : undefined}\n onMouseLeave={isTopNav ? this.handleMouseLeave : undefined}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onKeyDown={this.handleKeydown}\n class={navGroupTitleClassNames}\n ref={(el) => (this.groupEl = el)}\n aria-expanded={`${ariaExpanded}`}\n aria-haspopup={`${isTopNavDesktop}`}\n >\n {this.renderGroupTitleText()}\n {isSideNav && expandable && (\n <div\n class={{\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": !!expanded,\n }}\n innerHTML={chevronIcon}\n ></div>\n )}\n </button>\n ) : (\n (!isSideNav || isSideNavExpanded) && (\n <div class={navGroupTitleClassNames}>\n {this.renderGroupTitleText()}\n </div>\n )\n )}\n {this.renderNavigationItems()}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|