@ukic/web-components 3.23.0 → 3.25.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-81cd6930.js → helpers-51bab4b5.js} +9 -68
- package/dist/cjs/helpers-51bab4b5.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
- package/dist/cjs/ic-action-chip.cjs.entry.js +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +17 -9
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-horizontal.cjs.entry.js +6 -6
- package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-checkbox.cjs.entry.js +5 -5
- package/dist/cjs/ic-chip.cjs.entry.js +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 +41 -29
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +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 +3 -3
- 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 +6 -6
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +35 -34
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +6 -6
- 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 +2 -2
- 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 +2 -2
- package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
- package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
- package/dist/cjs/ic-pagination-bar.cjs.entry.js +6 -6
- package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-pagination_3.cjs.entry.js +28 -26
- package/dist/cjs/ic-pagination_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
- package/dist/cjs/ic-radio-group.cjs.entry.js +7 -7
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +9 -7
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
- package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
- package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
- 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-switch.cjs.entry.js +7 -9
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab.cjs.entry.js +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 +6 -6
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
- package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +3 -3
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +5 -5
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -4
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +2 -2
- 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 +41 -29
- package/dist/collection/components/ic-dialog/ic-dialog.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.js +2 -2
- package/dist/collection/components/ic-hero/ic-hero.js +4 -4
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
- package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
- package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
- package/dist/collection/components/ic-input-validation/ic-input-validation.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.js +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
- package/dist/collection/components/ic-menu/ic-menu.js +3 -3
- package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
- package/dist/collection/components/ic-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.js +5 -5
- 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.css +15 -0
- package/dist/collection/components/ic-radio-group/ic-radio-group.js +9 -9
- package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +48 -4
- package/dist/collection/components/ic-radio-option/ic-radio-option.css +29 -444
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +7 -5
- package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +10 -10
- package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
- package/dist/collection/components/ic-select/ic-select.js +18 -16
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-select/ic-select.types.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
- package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
- package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
- package/dist/collection/components/ic-step/ic-step.js +13 -13
- package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
- package/dist/collection/components/ic-switch/ic-switch.css +108 -43
- package/dist/collection/components/ic-switch/ic-switch.js +9 -11
- package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
- package/dist/collection/components/ic-switch/ic-switch.stories.js +8 -4
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +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 +5 -5
- 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.js +2 -2
- package/dist/collection/components/ic-tooltip/ic-tooltip.css +21 -0
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +33 -3
- package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +128 -6
- package/dist/collection/components/ic-typography/ic-typography.js +2 -2
- package/dist/collection/utils/helpers.js +8 -66
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/components/helpers.js +9 -67
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-action-chip.js +1 -1
- package/dist/components/ic-alert.js +1 -1
- package/dist/components/ic-card-horizontal.js +6 -6
- package/dist/components/ic-card-vertical.js +1 -1
- package/dist/components/ic-checkbox-group.js +2 -2
- package/dist/components/ic-checkbox.js +4 -4
- package/dist/components/ic-chip.js +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 +41 -29
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-divider2.js +1 -1
- package/dist/components/ic-empty-state.js +3 -3
- package/dist/components/ic-footer-link.js +2 -2
- package/dist/components/ic-footer.js +1 -1
- package/dist/components/ic-hero.js +5 -5
- package/dist/components/ic-horizontal-scroll2.js +6 -6
- package/dist/components/ic-input-component-container2.js +4 -4
- package/dist/components/ic-input-container2.js +2 -2
- package/dist/components/ic-input-label2.js +2 -2
- 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 +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 +30 -29
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-button.js +1 -1
- package/dist/components/ic-navigation-group.js +2 -2
- package/dist/components/ic-navigation-item.js +1 -1
- package/dist/components/ic-navigation-menu2.js +5 -5
- package/dist/components/ic-page-header.js +6 -6
- package/dist/components/ic-pagination-bar.js +6 -6
- package/dist/components/ic-pagination-item2.js +2 -2
- package/dist/components/ic-pagination2.js +4 -4
- package/dist/components/ic-popover-menu.js +4 -4
- package/dist/components/ic-radio-group.js +6 -6
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +8 -6
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +10 -10
- package/dist/components/ic-section-container2.js +2 -2
- package/dist/components/ic-select2.js +19 -17
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +5 -5
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +2 -2
- package/dist/components/ic-skeleton.js.map +1 -1
- 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-switch.js +6 -8
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +1 -1
- package/dist/components/ic-tab-group.js +2 -2
- package/dist/components/ic-tab-panel.js +2 -2
- package/dist/components/ic-text-field2.js +6 -6
- package/dist/components/ic-theme.js +2 -2
- package/dist/components/ic-toast-region.js +1 -1
- package/dist/components/ic-toast.js +6 -6
- package/dist/components/ic-toggle-button-group.js +2 -2
- package/dist/components/ic-toggle-button.js +3 -3
- package/dist/components/ic-tooltip2.js +13 -4
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +1 -1
- package/dist/components/ic-typography2.js +2 -2
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-3aed13ba.entry.js → p-023cf5d9.entry.js} +2 -2
- package/dist/core/{p-fb9376f0.entry.js → p-043a5677.entry.js} +2 -2
- package/dist/core/p-171a19bf.entry.js +3 -0
- package/dist/core/p-171a19bf.entry.js.map +1 -0
- package/dist/core/{p-347cc084.entry.js → p-19056c16.entry.js} +2 -2
- package/dist/core/{p-b777f0a1.entry.js → p-1cfaa962.entry.js} +2 -2
- package/dist/core/{p-659d048d.entry.js → p-23fb87be.entry.js} +2 -2
- package/dist/core/{p-f661ba76.entry.js → p-2424f82f.entry.js} +2 -2
- package/dist/core/{p-2691cc80.entry.js → p-243ae8fe.entry.js} +2 -2
- package/dist/core/{p-aad03a3c.entry.js → p-271ee0bc.entry.js} +2 -2
- package/dist/core/{p-67de1290.entry.js → p-2b1ce5b7.entry.js} +2 -2
- package/dist/core/p-343670b4.entry.js +2 -0
- package/dist/core/p-343670b4.entry.js.map +1 -0
- package/dist/core/{p-61d79fc6.entry.js → p-3da9774b.entry.js} +2 -2
- package/dist/core/{p-0fb7f915.entry.js → p-3ee66d00.entry.js} +2 -2
- package/dist/core/{p-ea7a3d30.entry.js → p-3f001e75.entry.js} +2 -2
- package/dist/core/{p-09505807.entry.js → p-406647b8.entry.js} +2 -2
- package/dist/core/{p-9cb83a2e.entry.js → p-44d043f7.entry.js} +2 -2
- package/dist/core/{p-4f56acff.entry.js → p-46e5a58b.entry.js} +2 -2
- package/dist/core/{p-cfbacca1.entry.js → p-4dbc72f4.entry.js} +2 -2
- package/dist/core/p-526dd099.entry.js +2 -0
- package/dist/core/p-526dd099.entry.js.map +1 -0
- package/dist/core/{p-f64996f1.entry.js → p-5fc0dc36.entry.js} +2 -2
- package/dist/core/{p-7b538fd1.entry.js → p-61799a8b.entry.js} +2 -2
- package/dist/core/{p-90678e67.entry.js → p-6b5edd6b.entry.js} +2 -2
- package/dist/core/p-70ca7796.entry.js +2 -0
- package/dist/core/p-70ca7796.entry.js.map +1 -0
- package/dist/core/{p-daec7e69.entry.js → p-72f52f20.entry.js} +2 -2
- package/dist/core/{p-9c2b2cb9.entry.js → p-74a3a450.entry.js} +2 -2
- package/dist/core/{p-c156e6e9.entry.js → p-796fc111.entry.js} +2 -2
- package/dist/core/{p-b52c44eb.entry.js → p-85232cec.entry.js} +2 -2
- package/dist/core/{p-b997ad5e.entry.js → p-85ac0d78.entry.js} +2 -2
- package/dist/core/{p-1b81ec88.entry.js → p-8fc5e9f9.entry.js} +2 -2
- package/dist/core/p-8fc5e9f9.entry.js.map +1 -0
- package/dist/core/{p-48a628f0.entry.js → p-9267c160.entry.js} +2 -2
- package/dist/core/{p-393af2bc.entry.js → p-970e190c.entry.js} +2 -2
- package/dist/core/p-98dee727.entry.js +2 -0
- package/dist/core/p-98dee727.entry.js.map +1 -0
- package/dist/core/{p-e938eb31.entry.js → p-99b20121.entry.js} +2 -2
- package/dist/core/{p-aaf4e367.entry.js → p-9ae157de.entry.js} +2 -2
- package/dist/core/{p-80d85403.entry.js → p-9b48971f.entry.js} +2 -2
- package/dist/core/{p-73043f57.entry.js → p-9ced00a7.entry.js} +2 -2
- package/dist/core/{p-bb7652cd.entry.js → p-a0c54a50.entry.js} +2 -2
- package/dist/core/{p-880f7548.entry.js → p-a5fcb9c1.entry.js} +2 -2
- package/dist/core/{p-a780a34b.entry.js → p-a7c263bd.entry.js} +2 -2
- package/dist/core/{p-99433296.entry.js → p-ab104baa.entry.js} +2 -2
- package/dist/core/{p-ef70ea50.entry.js → p-b27e147d.entry.js} +2 -2
- package/dist/core/{p-9502fb86.entry.js → p-b58fb588.entry.js} +2 -2
- package/dist/core/p-bb52e752.entry.js +2 -0
- package/dist/core/p-bb52e752.entry.js.map +1 -0
- package/dist/core/{p-2b87c592.entry.js → p-c0b70c08.entry.js} +2 -2
- package/dist/core/{p-46fd555f.entry.js → p-c41fd2cf.entry.js} +2 -2
- package/dist/core/{p-5900cb65.entry.js → p-c82c2362.entry.js} +2 -2
- package/dist/core/{p-e7767c0d.entry.js → p-ca64b7ba.entry.js} +2 -2
- package/dist/core/{p-cad23b7d.entry.js → p-cd963de6.entry.js} +2 -2
- package/dist/core/{p-735d3096.entry.js → p-cf669574.entry.js} +2 -2
- package/dist/core/{p-83578f1d.entry.js → p-cf87b6db.entry.js} +2 -2
- package/dist/core/{p-05fd2707.entry.js → p-d0d324b4.entry.js} +2 -2
- package/dist/core/{p-ea890d3d.entry.js → p-d0dd9f2c.entry.js} +2 -2
- package/dist/core/{p-5976de6e.entry.js → p-d1220d2a.entry.js} +2 -2
- package/dist/core/{p-50dca790.entry.js → p-d5fcd4f9.entry.js} +2 -2
- package/dist/core/{p-56de4f4b.entry.js → p-d7c6fc8d.entry.js} +2 -2
- package/dist/core/{p-506d428a.entry.js → p-d8de5b88.entry.js} +2 -2
- package/dist/core/{p-53ab3c0f.entry.js → p-e35f15ec.entry.js} +2 -2
- package/dist/core/p-e5266c19.entry.js +2 -0
- package/dist/core/p-e5266c19.entry.js.map +1 -0
- package/dist/core/{p-09caf7ed.entry.js → p-ec1ea1a7.entry.js} +2 -2
- package/dist/core/{p-b77b1e1f.js → p-eeb8d98a.js} +2 -2
- package/dist/core/p-eeb8d98a.js.map +1 -0
- package/dist/core/{p-2a124daf.entry.js → p-ef96e1aa.entry.js} +2 -2
- package/dist/core/{p-2bd80913.entry.js → p-fc4b7d2b.entry.js} +2 -2
- package/dist/core/{p-8a833e82.entry.js → p-fd9ea62a.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-66681c73.js → helpers-33039856.js} +10 -68
- package/dist/esm/helpers-33039856.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-action-chip.entry.js +1 -1
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js +1 -1
- package/dist/esm/ic-badge.entry.js +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +17 -9
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-horizontal.entry.js +6 -6
- package/dist/esm/ic-card-vertical.entry.js +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +3 -3
- package/dist/esm/ic-checkbox.entry.js +5 -5
- package/dist/esm/ic-chip.entry.js +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 +41 -29
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +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 +3 -3
- 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 +6 -6
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +35 -34
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +6 -6
- 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 +2 -2
- 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 +2 -2
- package/dist/esm/ic-navigation-item.entry.js +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +5 -5
- package/dist/esm/ic-page-header.entry.js +7 -7
- package/dist/esm/ic-pagination-bar.entry.js +6 -6
- package/dist/esm/ic-pagination-item.entry.js +2 -2
- package/dist/esm/ic-pagination_3.entry.js +28 -26
- package/dist/esm/ic-pagination_3.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +5 -5
- package/dist/esm/ic-radio-group.entry.js +7 -7
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +9 -7
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +10 -10
- package/dist/esm/ic-section-container.entry.js +2 -2
- package/dist/esm/ic-side-navigation.entry.js +5 -5
- 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-switch.entry.js +7 -9
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +1 -1
- package/dist/esm/ic-tab-group.entry.js +3 -3
- package/dist/esm/ic-tab-panel.entry.js +2 -2
- package/dist/esm/ic-tab.entry.js +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 +6 -6
- package/dist/esm/ic-toggle-button-group.entry.js +3 -3
- package/dist/esm/ic-toggle-button.entry.js +3 -3
- package/dist/esm/ic-top-navigation.entry.js +1 -1
- package/dist/esm/ic-typography.entry.js +3 -3
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-dialog/ic-dialog.d.ts +2 -1
- package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +2 -2
- package/dist/types/components/ic-select/ic-select.types.d.ts +2 -1
- package/dist/types/components/ic-switch/ic-switch.d.ts +2 -2
- package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +8 -0
- package/dist/types/components.d.ts +12 -4
- package/dist/types/utils/helpers.d.ts +0 -31
- package/hydrate/index.js +263 -294
- package/hydrate/index.mjs +263 -294
- package/package.json +10 -9
- package/vscode-data.json +13 -3
- package/dist/cjs/helpers-81cd6930.js.map +0 -1
- package/dist/core/p-1b81ec88.entry.js.map +0 -1
- package/dist/core/p-6b4ec95f.entry.js +0 -3
- package/dist/core/p-6b4ec95f.entry.js.map +0 -1
- package/dist/core/p-a08d6b46.entry.js +0 -2
- package/dist/core/p-a08d6b46.entry.js.map +0 -1
- package/dist/core/p-a2953aad.entry.js +0 -2
- package/dist/core/p-a2953aad.entry.js.map +0 -1
- package/dist/core/p-a321feee.entry.js +0 -2
- package/dist/core/p-a321feee.entry.js.map +0 -1
- package/dist/core/p-b77b1e1f.js.map +0 -1
- package/dist/core/p-cbca04bb.entry.js +0 -2
- package/dist/core/p-cbca04bb.entry.js.map +0 -1
- package/dist/core/p-cc64e5ef.entry.js +0 -2
- package/dist/core/p-cc64e5ef.entry.js.map +0 -1
- package/dist/core/p-f84ac9c6.entry.js +0 -2
- package/dist/core/p-f84ac9c6.entry.js.map +0 -1
- package/dist/esm/helpers-66681c73.js.map +0 -1
- /package/dist/core/{p-3aed13ba.entry.js.map → p-023cf5d9.entry.js.map} +0 -0
- /package/dist/core/{p-fb9376f0.entry.js.map → p-043a5677.entry.js.map} +0 -0
- /package/dist/core/{p-347cc084.entry.js.map → p-19056c16.entry.js.map} +0 -0
- /package/dist/core/{p-b777f0a1.entry.js.map → p-1cfaa962.entry.js.map} +0 -0
- /package/dist/core/{p-659d048d.entry.js.map → p-23fb87be.entry.js.map} +0 -0
- /package/dist/core/{p-f661ba76.entry.js.map → p-2424f82f.entry.js.map} +0 -0
- /package/dist/core/{p-2691cc80.entry.js.map → p-243ae8fe.entry.js.map} +0 -0
- /package/dist/core/{p-aad03a3c.entry.js.map → p-271ee0bc.entry.js.map} +0 -0
- /package/dist/core/{p-67de1290.entry.js.map → p-2b1ce5b7.entry.js.map} +0 -0
- /package/dist/core/{p-61d79fc6.entry.js.map → p-3da9774b.entry.js.map} +0 -0
- /package/dist/core/{p-0fb7f915.entry.js.map → p-3ee66d00.entry.js.map} +0 -0
- /package/dist/core/{p-ea7a3d30.entry.js.map → p-3f001e75.entry.js.map} +0 -0
- /package/dist/core/{p-09505807.entry.js.map → p-406647b8.entry.js.map} +0 -0
- /package/dist/core/{p-9cb83a2e.entry.js.map → p-44d043f7.entry.js.map} +0 -0
- /package/dist/core/{p-4f56acff.entry.js.map → p-46e5a58b.entry.js.map} +0 -0
- /package/dist/core/{p-cfbacca1.entry.js.map → p-4dbc72f4.entry.js.map} +0 -0
- /package/dist/core/{p-f64996f1.entry.js.map → p-5fc0dc36.entry.js.map} +0 -0
- /package/dist/core/{p-7b538fd1.entry.js.map → p-61799a8b.entry.js.map} +0 -0
- /package/dist/core/{p-90678e67.entry.js.map → p-6b5edd6b.entry.js.map} +0 -0
- /package/dist/core/{p-daec7e69.entry.js.map → p-72f52f20.entry.js.map} +0 -0
- /package/dist/core/{p-9c2b2cb9.entry.js.map → p-74a3a450.entry.js.map} +0 -0
- /package/dist/core/{p-c156e6e9.entry.js.map → p-796fc111.entry.js.map} +0 -0
- /package/dist/core/{p-b52c44eb.entry.js.map → p-85232cec.entry.js.map} +0 -0
- /package/dist/core/{p-b997ad5e.entry.js.map → p-85ac0d78.entry.js.map} +0 -0
- /package/dist/core/{p-48a628f0.entry.js.map → p-9267c160.entry.js.map} +0 -0
- /package/dist/core/{p-393af2bc.entry.js.map → p-970e190c.entry.js.map} +0 -0
- /package/dist/core/{p-e938eb31.entry.js.map → p-99b20121.entry.js.map} +0 -0
- /package/dist/core/{p-aaf4e367.entry.js.map → p-9ae157de.entry.js.map} +0 -0
- /package/dist/core/{p-80d85403.entry.js.map → p-9b48971f.entry.js.map} +0 -0
- /package/dist/core/{p-73043f57.entry.js.map → p-9ced00a7.entry.js.map} +0 -0
- /package/dist/core/{p-bb7652cd.entry.js.map → p-a0c54a50.entry.js.map} +0 -0
- /package/dist/core/{p-880f7548.entry.js.map → p-a5fcb9c1.entry.js.map} +0 -0
- /package/dist/core/{p-a780a34b.entry.js.map → p-a7c263bd.entry.js.map} +0 -0
- /package/dist/core/{p-99433296.entry.js.map → p-ab104baa.entry.js.map} +0 -0
- /package/dist/core/{p-ef70ea50.entry.js.map → p-b27e147d.entry.js.map} +0 -0
- /package/dist/core/{p-9502fb86.entry.js.map → p-b58fb588.entry.js.map} +0 -0
- /package/dist/core/{p-2b87c592.entry.js.map → p-c0b70c08.entry.js.map} +0 -0
- /package/dist/core/{p-46fd555f.entry.js.map → p-c41fd2cf.entry.js.map} +0 -0
- /package/dist/core/{p-5900cb65.entry.js.map → p-c82c2362.entry.js.map} +0 -0
- /package/dist/core/{p-e7767c0d.entry.js.map → p-ca64b7ba.entry.js.map} +0 -0
- /package/dist/core/{p-cad23b7d.entry.js.map → p-cd963de6.entry.js.map} +0 -0
- /package/dist/core/{p-735d3096.entry.js.map → p-cf669574.entry.js.map} +0 -0
- /package/dist/core/{p-83578f1d.entry.js.map → p-cf87b6db.entry.js.map} +0 -0
- /package/dist/core/{p-05fd2707.entry.js.map → p-d0d324b4.entry.js.map} +0 -0
- /package/dist/core/{p-ea890d3d.entry.js.map → p-d0dd9f2c.entry.js.map} +0 -0
- /package/dist/core/{p-5976de6e.entry.js.map → p-d1220d2a.entry.js.map} +0 -0
- /package/dist/core/{p-50dca790.entry.js.map → p-d5fcd4f9.entry.js.map} +0 -0
- /package/dist/core/{p-56de4f4b.entry.js.map → p-d7c6fc8d.entry.js.map} +0 -0
- /package/dist/core/{p-506d428a.entry.js.map → p-d8de5b88.entry.js.map} +0 -0
- /package/dist/core/{p-53ab3c0f.entry.js.map → p-e35f15ec.entry.js.map} +0 -0
- /package/dist/core/{p-09caf7ed.entry.js.map → p-ec1ea1a7.entry.js.map} +0 -0
- /package/dist/core/{p-2a124daf.entry.js.map → p-ef96e1aa.entry.js.map} +0 -0
- /package/dist/core/{p-2bd80913.entry.js.map → p-fc4b7d2b.entry.js.map} +0 -0
- /package/dist/core/{p-8a833e82.entry.js.map → p-fd9ea62a.entry.js.map} +0 -0
|
@@ -527,39 +527,39 @@ export class SearchBar {
|
|
|
527
527
|
const menuRendered = menuOpen && value.length >= charactersUntilSuggestion;
|
|
528
528
|
const labelValue = getLabelFromValue(value, options, valueField, labelField);
|
|
529
529
|
renderHiddenInput(this.el, value, name, disabledMode);
|
|
530
|
-
return (h(Host, { key: '
|
|
530
|
+
return (h(Host, { key: 'f9ec3f2c47607e817cf0352546d0f72653b433ae', class: {
|
|
531
531
|
"ic-search-bar-search": true,
|
|
532
532
|
"ic-search-bar-full-width": fullWidth,
|
|
533
533
|
"ic-search-bar-disabled": disabled,
|
|
534
534
|
"ic-search-bar-small": size === "small",
|
|
535
535
|
[`ic-theme-${theme}`]: theme !== "inherit",
|
|
536
|
-
}, onFocus: this.handleHostFocus, onBlur: this.handleHostBlur }, h("ic-input-container", { key: '
|
|
536
|
+
}, onFocus: this.handleHostFocus, onBlur: this.handleHostBlur }, h("ic-input-container", { key: 'fde0dc358fd80f81d23927eb18b6bd73e9694bcc', readonly: readonly, disabled: disabledMode }, !hideLabel && (h("ic-input-label", { key: '3c2a138a07c5a637842bf0330a857cd8a4c05be5', for: inputId, label: label, helperText: helperText, required: required, disabled: disabledMode && !readonly, readonly: readonly }, h("slot", { key: '4e5d465c5f4486826f3a634a4dd5ed2ecf01b249', name: "helper-text", slot: "helper-text" }))), h("ic-input-component-container", { key: '62ad9581a1280af102d990de7fcac4055f800bec', ref: (el) => (this.anchorEl = el), size: size, disabled: disabledMode, readonly: readonly, fullWidth: fullWidth }, h("input", { key: '196cad9c551d68276d99af9a60bd07a141130bd9', id: inputId, name: name, ref: (el) => (this.inputEl = el), value: options && !!labelValue ? labelValue : value, class: {
|
|
537
537
|
"no-left-pad": readonly,
|
|
538
538
|
readonly,
|
|
539
539
|
"truncate-value": truncateValue,
|
|
540
|
-
}, placeholder: placeholder, required: required, disabled: disabledMode, readonly: readonly, onInput: this.onInput, onBlur: this.onInputBlur, onFocus: this.onInputFocus, "aria-label": hideLabel ? label : undefined, "aria-activedescendant": ariaActiveDescendant, "aria-expanded": options.length > 0 && menuRendered ? `${menuOpen}` : undefined, "aria-owns": menuRendered ? menuId : undefined, "aria-describedby": describedById, "aria-controls": menuRendered ? menuId : undefined, "aria-haspopup": options.length > 0 ? "listbox" : undefined, "aria-autocomplete": hasSuggestedSearch ? "list" : undefined, role: options.length > 0 && menuRendered ? "combobox" : undefined, autocomplete: autocomplete, autocapitalize: autocapitalize, autoFocus: autofocus, spellcheck: spellcheck, inputmode: "search" }), h("div", { key: '
|
|
540
|
+
}, placeholder: placeholder, required: required, disabled: disabledMode, readonly: readonly, onInput: this.onInput, onBlur: this.onInputBlur, onFocus: this.onInputFocus, "aria-label": hideLabel ? label : undefined, "aria-activedescendant": ariaActiveDescendant, "aria-expanded": options.length > 0 && menuRendered ? `${menuOpen}` : undefined, "aria-owns": menuRendered ? menuId : undefined, "aria-describedby": describedById, "aria-controls": menuRendered ? menuId : undefined, "aria-haspopup": options.length > 0 ? "listbox" : undefined, "aria-autocomplete": hasSuggestedSearch ? "list" : undefined, role: options.length > 0 && menuRendered ? "combobox" : undefined, autocomplete: autocomplete, autocapitalize: autocapitalize, autoFocus: autofocus, spellcheck: spellcheck, inputmode: "search" }), h("div", { key: '94889d1ffab13321ea522704aacd7ebf0e0c3d00', class: {
|
|
541
541
|
"clear-button-container": true,
|
|
542
542
|
"clear-button-visible": !!value && !disabledMode && showClearButton,
|
|
543
|
-
} }, h("ic-button", { key: '
|
|
543
|
+
} }, h("ic-button", { key: 'd0a3c5b6288c249ba8be2a4bcbbd2a33f1a30025', id: "clear-button", class: {
|
|
544
544
|
"clear-button": true,
|
|
545
545
|
"clear-button-unfocused": !clearButtonFocused,
|
|
546
|
-
}, "aria-label": "Clear", innerHTML: clearIcon, onClick: this.handleClear, onMouseDown: this.handleMouseDown, size: size, onFocus: this.handleFocusClearButton, onBlur: this.handleClearBlur, onKeyDown: this.handleClear, type: "button", variant: "icon-tertiary", theme: clearButtonFocused ? "light" : "dark" }), h("div", { key: '
|
|
546
|
+
}, "aria-label": "Clear", innerHTML: clearIcon, onClick: this.handleClear, onMouseDown: this.handleMouseDown, size: size, onFocus: this.handleFocusClearButton, onBlur: this.handleClearBlur, onKeyDown: this.handleClear, type: "button", variant: "icon-tertiary", theme: clearButtonFocused ? "light" : "dark" }), h("div", { key: '3965e828aba0dd8f88051ec717c7fafcb237a271', class: "divider" })), h("div", { key: 'c143dbc227dce558f5f87e1e2f7e3a014b9d250c', class: {
|
|
547
547
|
"search-submit-button-container": true,
|
|
548
548
|
"search-submit-button-disabled": this.isSubmitDisabled(),
|
|
549
|
-
} }, h("ic-button", { key: '
|
|
549
|
+
} }, h("ic-button", { key: '98e79886a69703ab39c8d6f5f97c147fb406870d', id: "search-submit-button", "aria-label": "Search", ref: (el) => (this.searchSubmitButton = el), class: {
|
|
550
550
|
"search-submit-button": true,
|
|
551
551
|
"search-submit-button-small": size === "small",
|
|
552
552
|
"search-submit-button-unfocused": !searchSubmitFocused,
|
|
553
553
|
"search-submit-button-disabled": this.isSubmitDisabled(),
|
|
554
|
-
}, disabled: this.isSubmitDisabled(), innerHTML: searchIcon, size: size, onClick: this.handleSubmitSearch, onMouseDown: this.handleMouseDown, onBlur: this.handleSubmitSearchBlur, onFocus: this.handleSubmitSearchFocus, onKeyDown: this.handleSubmitSearchKeyDown, type: searchButtonType, variant: "icon-tertiary", theme: searchSubmitFocused ? "light" : "dark" }))), h("div", { key: '
|
|
554
|
+
}, disabled: this.isSubmitDisabled(), innerHTML: searchIcon, size: size, onClick: this.handleSubmitSearch, onMouseDown: this.handleMouseDown, onBlur: this.handleSubmitSearchBlur, onFocus: this.handleSubmitSearchFocus, onKeyDown: this.handleSubmitSearchKeyDown, type: searchButtonType, variant: "icon-tertiary", theme: searchSubmitFocused ? "light" : "dark" }))), h("div", { key: '4b0377230ac437eda9f5674876e87a7a72a0779c', class: {
|
|
555
555
|
"menu-container": true,
|
|
556
556
|
fullwidth: fullWidth,
|
|
557
|
-
} }, menuRendered && this.anchorEl && this.inputEl && (h("ic-menu", { key: '
|
|
557
|
+
} }, menuRendered && this.anchorEl && this.inputEl && (h("ic-menu", { key: '8be3e2accba616f85a408e8c82304433e98f7715', class: {
|
|
558
558
|
"no-results": this.hadNoOptions() ||
|
|
559
559
|
(filteredOptions.length === 1 &&
|
|
560
560
|
(filteredOptions[0][labelField] === loadingLabel ||
|
|
561
561
|
filteredOptions[0][labelField] === loadingErrorLabel)),
|
|
562
|
-
}, activationType: "manual", anchorEl: this.anchorEl, autofocusOnSelected: false, searchMode: searchMode, inputEl: this.inputEl, inputLabel: label, ref: (el) => (this.menu = el), fullWidth: fullWidth, menuId: menuId, open: true, options: filteredOptions, onMenuOptionSelect: this.handleOptionSelect, onMenuStateChange: this.handleMenuChange, onMenuOptionId: this.handleMenuOptionHighlight, onRetryButtonClicked: this.handleRetry, parentEl: this.el, value: value, labelField: labelField, valueField: valueField, searchBar: true })))), h("div", { key: '
|
|
562
|
+
}, activationType: "manual", anchorEl: this.anchorEl, autofocusOnSelected: false, searchMode: searchMode, inputEl: this.inputEl, inputLabel: label, ref: (el) => (this.menu = el), fullWidth: fullWidth, menuId: menuId, open: true, options: filteredOptions, onMenuOptionSelect: this.handleOptionSelect, onMenuStateChange: this.handleMenuChange, onMenuOptionId: this.handleMenuOptionHighlight, onRetryButtonClicked: this.handleRetry, parentEl: this.el, value: value, labelField: labelField, valueField: valueField, searchBar: true })))), h("div", { key: '09953fbff84f3e27a6522da365ef49e96b21fa62', "aria-live": "polite", role: "status", class: "search-results-status" })));
|
|
563
563
|
}
|
|
564
564
|
static get is() { return "ic-search-bar"; }
|
|
565
565
|
static get encapsulation() { return "shadow"; }
|
|
@@ -601,7 +601,7 @@ export class SearchBar {
|
|
|
601
601
|
"mutable": false,
|
|
602
602
|
"complexType": {
|
|
603
603
|
"original": "IcAutocompleteTypes",
|
|
604
|
-
"resolved": "\"
|
|
604
|
+
"resolved": "\"on\" | \"off\" | \"name\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"email\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"url\" | \"photo\"",
|
|
605
605
|
"references": {
|
|
606
606
|
"IcAutocompleteTypes": {
|
|
607
607
|
"location": "import",
|
|
@@ -12,12 +12,12 @@ export class SectionContainer {
|
|
|
12
12
|
}
|
|
13
13
|
render() {
|
|
14
14
|
const { aligned, fullHeight } = this;
|
|
15
|
-
return (h(Host, { key: '
|
|
15
|
+
return (h(Host, { key: 'b72248434ac227221b9854880dd5103733052170', class: {
|
|
16
16
|
["aligned-left"]: aligned === "left" || aligned === null,
|
|
17
17
|
["aligned-center"]: aligned === "center",
|
|
18
18
|
["aligned-full-width"]: aligned === "full-width",
|
|
19
19
|
["no-vertical-padding"]: !!fullHeight,
|
|
20
|
-
} }, h("slot", { key: '
|
|
20
|
+
} }, h("slot", { key: '749c9299c6116291ec9555bbd2a9586585e7480d' })));
|
|
21
21
|
}
|
|
22
22
|
static get is() { return "ic-section-container"; }
|
|
23
23
|
static get encapsulation() { return "shadow"; }
|
|
@@ -338,7 +338,9 @@ export class Select {
|
|
|
338
338
|
if (filteredOptions.length > 0) {
|
|
339
339
|
const firstOption = filteredOptions[0];
|
|
340
340
|
if ("children" in firstOption) {
|
|
341
|
-
|
|
341
|
+
if (firstOption.children) {
|
|
342
|
+
this.value = firstOption.children[0].value;
|
|
343
|
+
}
|
|
342
344
|
}
|
|
343
345
|
else {
|
|
344
346
|
this.value = firstOption.value;
|
|
@@ -605,19 +607,19 @@ export class Select {
|
|
|
605
607
|
"loading" in menuOptions[0] ||
|
|
606
608
|
"timedOut" in menuOptions[0]));
|
|
607
609
|
renderHiddenInput(this.el, value, name || inputId, disabled);
|
|
608
|
-
const ClearButton = () => (h("ic-button", { key: '
|
|
609
|
-
const NativeSelect = () => (h("select", Object.assign({ key: '
|
|
610
|
-
const SelectButton = () => (h("div", { key: '
|
|
610
|
+
const ClearButton = () => (h("ic-button", { key: '3892a327f660eb5c8add2dad6b0234e98c1763df', ref: (el) => (this.clearButton = el), id: "clear-button", "aria-label": this.searchable ? "Clear input" : "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onBlur: this.handleBlur, size: size, variant: "icon-tertiary" }));
|
|
611
|
+
const NativeSelect = () => (h("select", Object.assign({ key: '9dbff7cad48e70c9ecb5bdaf5188bf76ebb21bc9', ref: (el) => (this.nativeSelectElement = el), disabled: disabled, onChange: this.handleNativeSelectChange, required: required, id: inputId, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid ? "true" : "false", onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyDown: this.handleNativeSelectKeyDown, form: form }, inheritedAttributes), h("option", { key: '4899ac51e4735de3a3a6d1674a107d496d136f8d', value: "", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => "children" in option && option.children ? (h("optgroup", { label: option.label }, option.children.map((child) => this.renderNativeOption(child)))) : (this.renderNativeOption(option)))));
|
|
612
|
+
const SelectButton = () => (h("div", { key: 'a54b55c792c30da50db55cdf579a7b5112733ab2', class: "select-container" }, h("button", { key: '566288c0b7ba2c08f437d0894f1e7e8d050dbec9', class: "select-input", role: "combobox", ref: (el) => (this.selectElement = el), id: inputId, "aria-label": `${label}, ${(multiple && value
|
|
611
613
|
? `${value.length} of ${this.flatOptions.length} selected, ${this.getLabelString()}`
|
|
612
|
-
: this.getLabelString()) || placeholder}`, onClick: this.handleClick, "aria-describedby": describedBy, "aria-invalid": invalid ? "true" : "false", "aria-haspopup": "listbox", "aria-expanded": `${open}`, "aria-controls": menuId, "aria-required": `${required}`, disabled: disabled, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, "aria-activedescendant": ariaActiveDescendant }, h("ic-typography", { key: '
|
|
614
|
+
: this.getLabelString()) || placeholder}`, onClick: this.handleClick, "aria-describedby": describedBy, "aria-invalid": invalid ? "true" : "false", "aria-haspopup": "listbox", "aria-expanded": `${open}`, "aria-controls": menuId, "aria-required": `${required}`, disabled: disabled, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, "aria-activedescendant": ariaActiveDescendant }, h("ic-typography", { key: 'f5fb6dcd933444aa16b0e481f3cfcd606d266027', variant: "body", class: {
|
|
613
615
|
"value-text": true,
|
|
614
616
|
"with-clear-button": !!isClearable,
|
|
615
617
|
placeholder: !value,
|
|
616
|
-
} }, this.getLabelString()), h("div", { key: '
|
|
618
|
+
} }, this.getLabelString()), h("div", { key: '2a0f71ba4314bf48c042c08d6542a7e5d290cfa1', class: "select-input-end" }, isClearable && h("div", { key: 'aab9235d7bed234a7faa3b76f946723a6fd733b5', class: "divider" }), h("span", { key: 'bbcb55feda8598bed785a7d97ffbfda9beace9b6', class: {
|
|
617
619
|
"expand-icon": true,
|
|
618
620
|
"expand-icon-open": open,
|
|
619
|
-
}, innerHTML: Expand, "aria-hidden": "true" }))), isClearable && h(ClearButton, { key: '
|
|
620
|
-
const SelectInput = () => (h("div", { key: '
|
|
621
|
+
}, innerHTML: Expand, "aria-hidden": "true" }))), isClearable && h(ClearButton, { key: '7be9270208022eec818d3d11e787e97b3e9781a4' }), h("div", { key: '66a002a41aaae04ff167acd5bc41df446d1c7185', "aria-live": "polite", "aria-atomic": "true", class: "aria-live-hidden-text" }, selectButtonAriaLiveText)));
|
|
622
|
+
const SelectInput = () => (h("div", { key: '8c8bc17e0e8d6b2a19c2b6546a7dc1927003ffe6', class: "searchable-select-container" }, h("input", { key: 'b9f94d2533162b38c766f003a9befcbadff6def8', class: {
|
|
621
623
|
"value-text": true,
|
|
622
624
|
"select-input": true,
|
|
623
625
|
"with-clear-button": !!searchableSelectInputValue,
|
|
@@ -625,25 +627,25 @@ export class Select {
|
|
|
625
627
|
? ""
|
|
626
628
|
: value
|
|
627
629
|
? this.getLabelString()
|
|
628
|
-
: searchableSelectInputValue || undefined, disabled: disabled, placeholder: placeholder, onInput: this.handleSearchableSelectInput, onClick: this.handleClick, onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown, form: form }), isClearable && (h("div", { key: '
|
|
630
|
+
: searchableSelectInputValue || undefined, disabled: disabled, placeholder: placeholder, onInput: this.handleSearchableSelectInput, onClick: this.handleClick, onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown, form: form }), isClearable && (h("div", { key: '2fa369c2f909206cda3e533fdc1b4f61f49e5367', class: "clear-button-container" }, h(ClearButton, { key: '7c6f3009ca83d1f1ad53bbfe9356663a777b01b8' }), h("div", { key: 'f7928645b4eac91f7a65e88fa493032f9036e520', class: "divider" }))), h("span", { key: '01223cbc2bb20344cc6e18d6d7c899ed9eb73565', onMouseDown: this.handleExpandIconMouseDown, class: {
|
|
629
631
|
"expand-icon": true,
|
|
630
632
|
"expand-icon-open": open,
|
|
631
|
-
}, innerHTML: Expand, "aria-hidden": "true" }), h("div", { key: '
|
|
632
|
-
const ReadOnly = () => (h("ic-typography", { key: '
|
|
633
|
-
return (h(Host, { key: '
|
|
633
|
+
}, innerHTML: Expand, "aria-hidden": "true" }), h("div", { key: '3ad6ae8f699743bdf8277a4b5c50afa4fa0ddc22', "aria-live": "polite", role: "status", class: "aria-live-hidden-text" }, selectInputAriaLiveText)));
|
|
634
|
+
const ReadOnly = () => (h("ic-typography", { key: 'dac815c30b87420c94c68e65eaa27ec3b0902a12' }, h("p", { key: '828de16f7df4fa23e8387f2ef9cf84b1994a91a3' }, this.getLabelString() === placeholder ? "" : this.getLabelString())));
|
|
635
|
+
return (h(Host, { key: '91899d31f22ef6d7417710d110499cc72e97f230', class: {
|
|
634
636
|
"ic-select-disabled": disabled,
|
|
635
637
|
"ic-select-searchable": searchable,
|
|
636
638
|
[`ic-select-${size}`]: size !== "medium",
|
|
637
639
|
"ic-select-full-width": fullWidth,
|
|
638
640
|
[`ic-theme-${theme}`]: theme !== "inherit",
|
|
639
|
-
} }, h("ic-input-container", { key: '
|
|
641
|
+
} }, h("ic-input-container", { key: '2c314323d9b410363eefdfb6fbdcb8b4360109d0', readonly: readonly }, !hideLabel && (h("ic-input-label", { key: '28269a9d64624f0c646fa46bf8199716cefdc220', for: inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly }, h("slot", { key: '235bdb195e5feeae8d82360efa17aa576df9cff4', name: "helper-text", slot: "helper-text" }))), h("ic-input-component-container", { key: 'a936a39d3dbdf43d406d994594b4dd72f1aa59e2', ref: (el) => (this.anchorEl = el), class: { "menu-open": open }, size: size, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, isSlotUsed(this.el, "icon") &&
|
|
640
642
|
!disabled &&
|
|
641
|
-
(!readonly || !!value) && (h("span", { key: '
|
|
643
|
+
(!readonly || !!value) && (h("span", { key: '67c88b6a8c00524eff7575fc71150ea5aabeb847', slot: "left-icon", class: {
|
|
642
644
|
readonly,
|
|
643
645
|
"has-value": !!value,
|
|
644
|
-
} }, h("slot", { key: '
|
|
646
|
+
} }, h("slot", { key: '92f2c3c41210287a28e524afa4511a08204a5544', name: "icon" }))), isMobileOrTablet() && this.useNativeSelectOnMobile && !multiple ? (h(NativeSelect, null)) : readonly ? (h(ReadOnly, null)) : !searchable ? (h(SelectButton, null)) : (h(SelectInput, null))), !(isMobileOrTablet() &&
|
|
645
647
|
this.useNativeSelectOnMobile &&
|
|
646
|
-
!multiple) && (h("ic-menu", { key: '
|
|
648
|
+
!multiple) && (h("ic-menu", { key: '644f853a4caad5efbcab0c9228e0bf18595ecb91', ref: (el) => (this.menu = el), class: { "no-results": noOptions }, inputEl: searchable ? this.searchableSelectElement : this.selectElement, allowMenuFocus: false, inputLabel: label, anchorEl: this.anchorEl, size: size, menuId: menuId, open: open, options: this.getOptions(), value: multiple ? value : value, fullWidth: fullWidth, selectOnEnter: selectOnEnter, onMenuStateChange: this.handleMenuChange, onMenuOptionSelect: this.handleSelectChange, onMenuOptionSelectAll: this.handleSelectAllChange, onTimeoutBlur: this.handleTimeoutBlur, onMenuOptionId: this.updateAriaActiveDescendant, onClick: this.setFocus, parentEl: this.el, activationType: searchable || multiple || selectOnEnter ? "manual" : "automatic", onRetryButtonClicked: this.handleRetry, closeOnSelect: !multiple, multiSelect: multiple, searchableSelect: searchable })), h("ic-input-validation", { key: '00ca9a2788bf404fb096c2497e46aa138c32ea76', class: {
|
|
647
649
|
"menu-open": open,
|
|
648
650
|
}, ariaLiveMode: validationAriaLive, status: showValidation ? validationStatus : "", message: showValidation ? validationText : "", for: inputId }))));
|
|
649
651
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ic-select.js","sourceRoot":"","sources":["../../../src/components/ic-select/ic-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n State,\n Watch,\n forceUpdate,\n Method,\n} from \"@stencil/core\";\nimport {\n addFormResetListener,\n checkSlotInChildMutations,\n getInputDescribedByText,\n isMobileOrTablet,\n isSlotUsed,\n removeDisabledFalse,\n removeFormResetListener,\n renderHiddenInput,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcAriaLive,\n IcInformationStatusOrEmpty,\n IcSearchMatchPositions,\n IcMultiValueEventDetail,\n IcSizes,\n IcThemeMode,\n IcInformationStatus,\n} from \"../../utils/types\";\nimport {\n IcSelectOption,\n IcSelectOptionBase,\n IcSelectOptionFlat,\n IcSelectOptionGroup,\n} from \"./ic-select.types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\nimport {\n IcMenuChangeEventDetail,\n IcMenuOptionIdEventDetail,\n IcOptionSelectEventDetail,\n} from \"../ic-menu/ic-menu.types\";\nimport { IcMenuCustomEvent } from \"../../components\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"tabindex\", \"title\"];\n\n/**\n * @slot helper-text - Content is set as the helper text for the select.\n * @slot icon - Content will be placed to the left of the select text input.\n */\n@Component({\n tag: \"ic-select\",\n styleUrl: \"ic-select.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Select {\n private inputId = `ic-select-input-${inputIds++}`;\n private menu?: HTMLIcMenuElement;\n private menuId = `${this.inputId}-menu`;\n private inheritedAttributes: { [k: string]: string } = {};\n private anchorEl?: HTMLElement;\n private nativeSelectElement?: HTMLSelectElement;\n private hostMutationObserver: MutationObserver | null = null;\n private clearButton?: HTMLIcButtonElement;\n private searchableSelectElement?: HTMLInputElement;\n private timeoutTimer: number | null = null;\n private hasTimedOut: boolean = false;\n private selectElement?: HTMLButtonElement;\n private initialRender: boolean = true;\n private characterKeyPressTimer?: number;\n private pressedCharacters = \"\";\n\n @Element() el!: HTMLIcSelectElement;\n\n @State() ariaActiveDescendant?: string;\n @State() debounceIcInput?: number;\n @State() hiddenInputValue: string | null;\n @State() hasError: boolean = false;\n @State() searchableSelectInputValue: string = \"\";\n @State() selectButtonAriaLiveText: string = \"\";\n @State() selectInputAriaLiveText: string = \"\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop({ reflect: true }) disabled = false;\n\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.\n */\n @Prop() disableAutoFiltering = false;\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * The <form> element to associate the select with.\n */\n @Prop() form?: string;\n\n /**\n * If `true`, the select will fill the width of the container.\n */\n @Prop() fullWidth = 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 label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel = false;\n\n /**\n * If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeDescriptionsInSearch = false;\n\n /**\n * If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeGroupTitlesInSearch = false;\n\n /**\n * The label for the select.\n */\n @Prop() label!: string;\n\n /**\n * The message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel = \"Loading Error\";\n\n /**\n * The message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel = \"Loading...\";\n\n /**\n * If `true`, multiple options can be selected.\n */\n @Prop() multiple = false;\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 = \"Select an option\";\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly = false;\n\n /**\n * If `true`, the select will require a value.\n */\n @Prop() required = false;\n\n /**\n * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options. This functionality is only available on the single-select variant of the select component.\n */\n @Prop() searchable = false;\n\n /**\n * Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\n */\n @Prop() searchMatchPosition: IcSearchMatchPositions = \"anywhere\";\n\n /**\n * If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown on the single select.\n */\n @Prop() selectOnEnter = false;\n\n /**\n * If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\n */\n @Prop() showClearButton = false;\n\n /**\n * The size of the select.\n */\n @Prop() size: IcSizes = \"medium\";\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The value of the `aria-live` attribute on the validation message.\n */\n @Prop() validationAriaLive: IcAriaLive = \"polite\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText = \"\";\n\n /**\n * If `true` and on a mobile or tablet device, the native select element will be used instead of the custom select component for better usability.\n */\n @Prop() useNativeSelectOnMobile = true;\n\n /**\n * If `true`, the loading state will be triggered when fetching options asynchronously.\n */\n @Prop({ mutable: true }) loading = false;\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n this.hasTimedOut = false;\n\n if (newValue) {\n this.hasError = false;\n if (this.timeout) {\n if (this.timeoutTimer) {\n this.clearTimer();\n }\n this.timeoutTimer = window.setTimeout(() => {\n this.loading = false;\n this.hasTimedOut = true;\n forceUpdate(this);\n }, this.timeout);\n }\n } else {\n if (this.timeoutTimer) {\n this.clearTimer();\n }\n }\n }\n\n private clearTimer() {\n if (this.timeoutTimer) {\n clearTimeout(this.timeoutTimer);\n this.timeoutTimer = null;\n }\n }\n\n /**\n * The possible selection options.\n */\n @Prop() options: IcSelectOption[] = [];\n @State() flatOptions: IcSelectOptionFlat[] = [];\n @Watch(\"options\")\n optionsChangedHandler(): void {\n const flat = this.getFlatOptions(this.options)\n .filter((option) => option.value != null || option.label != null) // filter out options missing both value and label\n .map((option) => ({\n ...option,\n value: option.value ?? option.label, // if an option is missing a value, use the label as the value\n label: option.label ?? option.value, // vice versa\n }));\n this.flatOptions = this.getDeduplicatedOptions(flat);\n\n if (!this.initialRender) this.loading = false;\n this.clearTimer();\n this.updateSelectButtonAriaLive();\n }\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icInput` event after each keystroke.\n */\n @Prop() debounce = 0;\n @State() currDebounce = this.debounce;\n @Watch(\"debounce\")\n debounceChangedHandler(newValue: number): void {\n if (this.currDebounce !== newValue) {\n this.currDebounce = newValue;\n }\n }\n\n /**\n * The value of the select, reflected by the value of the currently selected option.\n * For the searchable variant, the value is also reflected by the user input.\n * For the multi-select variant, the value must be an array of option values.\n */\n @Prop({ mutable: true }) value: string | string[] | null = null;\n @State() initialValue = this.value;\n @Watch(\"value\")\n valueChangedHandler(newValue: string | string[] | null): void {\n const validated = this.getValidatedValue(newValue);\n\n const isEqual =\n Array.isArray(validated) && Array.isArray(this.value)\n ? validated.length === this.value.length &&\n validated.every((v, i) => v === (this.value as string[])[i])\n : validated === this.value;\n\n if (!isEqual) {\n this.value = validated;\n return;\n }\n\n this.updateSelectButtonAriaLive();\n this.icChange.emit({ value: this.value });\n }\n\n @State() open = false;\n @Watch(\"open\")\n openChangedHandler(): void {\n this.open ? this.icOpen.emit() : this.icClose.emit();\n if (!this.open) {\n this.ariaActiveDescendant = undefined;\n }\n this.handleFocusIndicatorDisplay();\n }\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() icBlur: EventEmitter<void>;\n\n /**\n * Emitted when the value changes.\n */\n @Event() icChange: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Emitted when the clear or clear all button is clicked.\n */\n @Event() icClear: EventEmitter<void>;\n\n /**\n * Emitted when the select options menu is closed.\n */\n @Event() icClose: EventEmitter<void>;\n\n /**\n * Emitted when the select gains focus.\n */\n @Event() icFocus: EventEmitter<void>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Emitted when the select options menu is opened.\n */\n @Event() icOpen: EventEmitter<void>;\n\n /**\n * Emitted when an option is selected.\n * Selecting an option will also trigger an `icChange/onIcChange` due to the value being updated.\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when `multiple` is `true` and an option is deselected.\n */\n @Event() icOptionDeselect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when the 'retry loading' button is clicked for a searchable variant.\n */\n @Event() icRetryLoad: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Sets focus on the select component.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.focus();\n } else if (this.selectElement) {\n this.selectElement.focus();\n } else if (this.searchableSelectElement) {\n this.searchableSelectElement.focus();\n }\n }\n\n componentDidRender(): void {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n this.initialRender = false;\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n this.clearTimer();\n }\n\n componentDidLoad(): void {\n forceUpdate(this);\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n }\n\n private getValidatedValue = (\n value: string | string[] | null\n ): string | string[] | null => {\n const validValues = this.flatOptions.map((opt) => opt.value);\n\n if (validValues.length === 0) return value;\n\n if (this.multiple) {\n if (!value) return null;\n const arr = Array.isArray(value) ? value : [value]; // Ensure value is an array\n const filtered = validValues.filter((v) => arr.includes(v)); // Keep only valid values\n return filtered.length > 0 ? filtered : null;\n } else {\n return validValues.includes(value as string) ? value : null;\n }\n };\n\n componentWillLoad(): void {\n this.optionsChangedHandler();\n this.value = this.getValidatedValue(this.value);\n this.initialValue = this.value;\n\n if (this.loading) this.loadingHandler(true);\n\n addFormResetListener(this.el, this.handleFormReset);\n }\n\n private getFilteredOptions = (\n searchString: string,\n searchMatchPosition: \"anywhere\" | \"start\",\n includeDescriptionsInSearch: boolean,\n includeGroupTitlesInSearch: boolean\n ): IcSelectOption[] => {\n const search = searchString.toLowerCase();\n const match = (text: string, method: \"anywhere\" | \"start\") =>\n method === \"anywhere\" ? text.includes(search) : text.startsWith(search);\n\n return this.unflattenOptions(\n this.flatOptions.filter((option) => {\n const label = option.label.toLowerCase();\n const group = option.group?.toLowerCase() ?? \"\";\n const description = option.description?.toLowerCase() ?? \"\";\n return (\n match(label, searchMatchPosition) ||\n (includeDescriptionsInSearch &&\n match(description, searchMatchPosition)) ||\n (includeGroupTitlesInSearch && match(group, searchMatchPosition))\n );\n })\n );\n };\n\n private getOptions = (): IcSelectOption[] => {\n const options =\n this.searchable &&\n !this.disableAutoFiltering &&\n this.searchableSelectInputValue\n ? this.getFilteredOptions(\n this.searchableSelectInputValue,\n this.searchMatchPosition,\n this.includeDescriptionsInSearch,\n this.includeGroupTitlesInSearch\n )\n : this.unflattenOptions(this.flatOptions);\n\n if (this.hasTimedOut)\n return [{ label: this.loadingErrorLabel, value: \"\", timedOut: true }];\n\n if (this.loading)\n return [{ label: this.loadingLabel, value: \"\", loading: true }];\n\n if (options.length > 0) return options;\n\n return [{ label: this.emptyOptionListText, value: \"\" }];\n };\n\n private getFlatOptions = (options: IcSelectOption[]): IcSelectOptionFlat[] =>\n options.flatMap(\n (item) =>\n (\"children\" in item && item.children\n ? [...item.children.map((child) => ({ group: item.label, ...child }))]\n : [item]) as IcSelectOptionFlat[]\n );\n\n private unflattenOptions = (\n flatOptions: IcSelectOptionFlat[]\n ): IcSelectOption[] => {\n const groupMap = new Map<string, IcSelectOptionGroup>();\n const result: IcSelectOption[] = [];\n\n for (const option of flatOptions) {\n if (option.group) {\n let group = groupMap.get(option.group);\n if (!group) {\n group = { label: option.group, children: [] };\n groupMap.set(option.group, group);\n result.push(group);\n }\n const { group: _, ...rest } = option;\n group.children.push(rest as IcSelectOptionBase);\n } else {\n result.push(option);\n }\n }\n return result;\n };\n\n private getLabelFromValue = (value: string | null): string =>\n this.flatOptions.find((option) => option.value === value)?.label ?? \"\";\n\n // Construct the string that will be shown in the select input or button\n private getLabelString = (): string => {\n if (Array.isArray(this.value)) {\n return this.value.map(this.getLabelFromValue).filter(Boolean).join(\", \");\n }\n return (\n this.getLabelFromValue(this.value) ||\n (this.searchable ? \"\" : this.placeholder)\n );\n };\n\n private handleClick = (event: MouseEvent) => {\n if (event.detail !== 0) {\n this.menu?.handleClickOpen();\n }\n };\n\n private handleExpandIconMouseDown = (event: MouseEvent) => {\n if (!this.disabled) {\n event.preventDefault();\n this.searchableSelectElement?.focus();\n this.handleClick(event);\n }\n };\n\n private handleBlur = ({ relatedTarget }: FocusEvent) => {\n const target = relatedTarget as HTMLElement;\n if (\n this.el.contains(target) ||\n this.el.shadowRoot?.contains(target) ||\n this.menu?.contains(target) ||\n target === this.clearButton\n ) {\n return;\n }\n\n this.open = false;\n this.handleFocusIndicatorDisplay();\n\n if (this.searchable) {\n this.searchableSelectInputValue = \"\";\n }\n this.icBlur.emit();\n };\n\n private handleTimeoutBlur = (event: CustomEvent<{ ev: FocusEvent }>) => {\n this.handleBlur(event.detail.ev);\n };\n\n private handleFocus = () => {\n this.icFocus.emit();\n };\n\n private handleClear = () => {\n this.clearTimer();\n this.loading = false;\n this.value = null;\n this.searchableSelectInputValue = \"\";\n\n this.icClear.emit();\n\n this.setFocus();\n };\n\n private setTextColor = () => {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.className =\n this.nativeSelectElement.selectedIndex === 0\n ? \"placeholder\"\n : \"select-option-selected\";\n }\n };\n\n private handleNativeSelectChange = () => {\n if (this.nativeSelectElement) {\n this.icOptionSelect.emit({ value: this.nativeSelectElement.value });\n this.icChange.emit({ value: this.nativeSelectElement.value });\n }\n this.setTextColor();\n };\n\n private handleFocusIndicatorDisplay = () => {\n const focusIndicator =\n this.el.shadowRoot?.querySelector(\".focus-indicator\");\n\n if (focusIndicator) {\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n } else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\n }\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (!(event.key === \" \" && this.pressedCharacters.length > 0)) {\n if (this.open) {\n this.menu?.handleMenuKeyDown(event);\n } else {\n this.menu?.handleKeyboardOpen(event);\n }\n }\n\n if (\n !this.multiple &&\n !this.searchable &&\n !this.selectOnEnter &&\n /^[a-zA-Z0-9 ]$/.test(event.key)\n ) {\n this.handleCharacterKeyDown(event.key);\n }\n };\n\n private handleCharacterKeyDown = (key: string) => {\n // Only close menu when space is pressed if not being used alongside character keys to quickly select options\n if (this.open && key === \" \" && this.pressedCharacters.length === 0) {\n this.open = false;\n }\n\n if (key.length !== 1 || this.searchable) {\n this.pressedCharacters = \"\";\n return;\n }\n\n window.clearTimeout(this.characterKeyPressTimer);\n this.characterKeyPressTimer = window.setTimeout(\n () => (this.pressedCharacters = \"\"),\n 1000\n );\n\n if (key !== \" \" || !!this.pressedCharacters) {\n this.pressedCharacters += key;\n const filteredOptions = this.getFilteredOptions(\n this.pressedCharacters,\n \"start\",\n false,\n false\n );\n\n if (filteredOptions.length > 0) {\n const firstOption = filteredOptions[0];\n if (\"children\" in firstOption) {\n this.value = firstOption.children[0].value;\n } else {\n this.value = firstOption.value;\n }\n }\n }\n };\n\n private handleNativeSelectKeyDown = (event: KeyboardEvent) => {\n this.handleKeyDown(event);\n };\n\n private handleSelectChange = (\n event: CustomEvent<IcOptionSelectEventDetail>\n ) => {\n const { value } = event.detail;\n if (!value || this.getLabelFromValue(value) === this.emptyOptionListText) {\n this.value = null;\n return;\n }\n\n if (this.multiple) {\n let valueArray = Array.isArray(this.value) ? [...this.value] : [];\n const index = valueArray.indexOf(value);\n\n if (index > -1) {\n valueArray.splice(index, 1);\n this.icOptionDeselect.emit({ value });\n } else {\n this.icOptionSelect.emit({ value });\n valueArray.push(value);\n valueArray = this.getValidatedValue(valueArray) as string[];\n }\n this.value = valueArray.length ? valueArray : null;\n } else {\n this.icOptionSelect.emit({ value });\n this.value = value;\n if (this.searchable) this.searchableSelectInputValue = \"\";\n }\n };\n\n private handleSelectAllChange = ({\n detail,\n }: CustomEvent<{ select: boolean }>) => {\n const allSelectableValues = this.flatOptions\n .filter((option) => !option.disabled)\n .map((option) => option.value);\n if (detail.select) {\n allSelectableValues\n .filter((value) => !((this.value ?? []) as string[]).includes(value))\n .forEach((value) => {\n this.icOptionSelect.emit({ value });\n });\n\n this.value = allSelectableValues;\n } else {\n (this.value as string[]).forEach((value) =>\n this.icOptionDeselect.emit({ value })\n );\n this.value = null;\n }\n };\n\n private handleFormReset = () => {\n this.value = this.initialValue;\n this.searchableSelectInputValue = \"\";\n if (this.searchable) {\n this.hiddenInputValue = this.initialValue as string;\n }\n };\n\n private handleRetry = () => {\n this.clearTimer();\n this.hasTimedOut = false;\n this.hasError = false;\n this.loading = true;\n this.icRetryLoad.emit({\n value: this.searchable\n ? this.searchableSelectInputValue\n : this.hiddenInputValue,\n });\n this.setFocus();\n };\n\n private handleSearchableSelectInput = (event: Event) => {\n this.updateSearchableSelectResultAriaLive();\n if (!this.multiple) {\n this.value = null;\n }\n\n this.searchableSelectInputValue =\n (event.target as HTMLInputElement).value ?? \"\";\n this.open = true;\n\n clearTimeout(this.debounceIcInput);\n this.debounceIcInput = window.setTimeout(\n () => this.icInput.emit({ value: this.searchableSelectInputValue }),\n this.currDebounce\n );\n };\n\n private hostMutationCallback = (mutationList: MutationRecord[]) => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n private updateSelectButtonAriaLive = () => {\n const value_label = this.getLabelFromValue(this.value as string);\n this.selectButtonAriaLiveText = this.multiple\n ? `${this.value ? this.value.length : 0} of ${\n this.flatOptions.length\n } selected`\n : this.value\n ? value_label ?? `${value_label} selected`\n : \"\";\n };\n\n private updateSearchableSelectResultAriaLive = () => {\n this.selectInputAriaLiveText =\n this.getOptions()?.[0]?.label == this.emptyOptionListText\n ? this.emptyOptionListText\n : \"\";\n };\n\n private updateAriaActiveDescendant = (\n event: IcMenuCustomEvent<IcMenuOptionIdEventDetail>\n ) => {\n this.ariaActiveDescendant = event.detail.optionId;\n };\n\n private handleMenuChange = (event: CustomEvent<IcMenuChangeEventDetail>) => {\n this.open = event.detail.open;\n this.pressedCharacters = \"\";\n };\n\n private getDeduplicatedOptions = (\n flatOptions: IcSelectOptionFlat[]\n ): IcSelectOptionFlat[] => {\n const seen = new Set();\n return flatOptions.filter((option) => {\n if (option.value && seen.has(option.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${option.value}) which has been removed.`\n );\n return false;\n }\n if (option.value) seen.add(option.value);\n return true;\n });\n };\n\n private renderNativeOption = (option: IcSelectOptionBase) => (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === this.value}\n >\n {option.label}\n </option>\n );\n\n render() {\n const {\n disabled,\n searchable,\n size,\n fullWidth,\n theme,\n readonly,\n hideLabel,\n inputId,\n label,\n helperText,\n required,\n value,\n options,\n menuId,\n multiple,\n validationStatus,\n open,\n showClearButton,\n selectOnEnter,\n loading,\n searchableSelectInputValue,\n validationText,\n validationAriaLive,\n form,\n ariaActiveDescendant,\n placeholder,\n name,\n inheritedAttributes,\n selectInputAriaLiveText,\n selectButtonAriaLiveText,\n } = this;\n\n const hasValue = !!value;\n const hasInput = !!searchableSelectInputValue;\n const isClearable =\n !disabled &&\n ((searchable && (hasInput || hasValue)) ||\n (!searchable && hasValue && !loading && showClearButton));\n\n const showValidation = !!validationStatus && !disabled;\n\n const invalid = validationStatus === IcInformationStatus.Error;\n\n const describedBy = getInputDescribedByText(\n this.el,\n inputId,\n helperText !== \"\",\n showValidation\n ).trim();\n\n const menuOptions = this.getOptions();\n const noOptions =\n disabled ||\n (menuOptions.length === 1 &&\n (menuOptions[0].label === this.emptyOptionListText ||\n \"loading\" in menuOptions[0] ||\n \"timedOut\" in menuOptions[0]));\n\n renderHiddenInput(this.el, value as string, name || inputId, disabled);\n\n const ClearButton = () => (\n <ic-button\n ref={(el) => (this.clearButton = el)}\n id=\"clear-button\"\n aria-label={this.searchable ? \"Clear input\" : \"Clear selection\"}\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onBlur={this.handleBlur}\n size={size}\n variant=\"icon-tertiary\"\n ></ic-button>\n );\n\n const NativeSelect = () => (\n <select\n ref={(el) => (this.nativeSelectElement = el)}\n disabled={disabled}\n onChange={this.handleNativeSelectChange}\n required={required}\n id={inputId}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid ? \"true\" : \"false\"}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onKeyDown={this.handleNativeSelectKeyDown}\n form={form}\n {...inheritedAttributes}\n >\n <option value=\"\" selected disabled={!showClearButton}>\n {placeholder}\n </option>\n {options.map((option) =>\n \"children\" in option ? (\n <optgroup label={option.label}>\n {option.children.map((child) =>\n this.renderNativeOption(child as IcSelectOptionBase)\n )}\n </optgroup>\n ) : (\n this.renderNativeOption(option as IcSelectOptionBase)\n )\n )}\n </select>\n );\n\n const SelectButton = () => (\n <div class=\"select-container\">\n <button\n class=\"select-input\"\n role=\"combobox\"\n ref={(el) => (this.selectElement = el)}\n id={inputId}\n aria-label={`${label}, ${\n (multiple && value\n ? `${value.length} of ${\n this.flatOptions.length\n } selected, ${this.getLabelString()}`\n : this.getLabelString()) || placeholder\n }`}\n onClick={this.handleClick}\n aria-describedby={describedBy}\n aria-invalid={invalid ? \"true\" : \"false\"}\n aria-haspopup=\"listbox\"\n aria-expanded={`${open}`}\n aria-controls={menuId}\n aria-required={`${required}`}\n disabled={disabled}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-activedescendant={ariaActiveDescendant}\n >\n <ic-typography\n variant=\"body\"\n class={{\n \"value-text\": true,\n \"with-clear-button\": !!isClearable,\n placeholder: !value,\n }}\n >\n {this.getLabelString()}\n </ic-typography>\n <div class=\"select-input-end\">\n {isClearable && <div class=\"divider\"></div>}\n <span\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": open,\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n </div>\n </button>\n {isClearable && <ClearButton></ClearButton>}\n <div\n aria-live=\"polite\"\n aria-atomic=\"true\"\n class=\"aria-live-hidden-text\"\n >\n {selectButtonAriaLiveText}\n </div>\n </div>\n );\n\n const SelectInput = () => (\n <div class=\"searchable-select-container\">\n <input\n class={{\n \"value-text\": true,\n \"select-input\": true,\n \"with-clear-button\": !!searchableSelectInputValue,\n }}\n role=\"combobox\"\n autocomplete=\"off\"\n aria-label={label}\n aria-describedby={describedBy}\n aria-activedescendant={ariaActiveDescendant}\n aria-autocomplete=\"list\"\n aria-expanded={`${open}`}\n aria-invalid={invalid ? \"true\" : \"false\"}\n aria-required={`${required}`}\n aria-controls={menuId}\n ref={(el) => (this.searchableSelectElement = el)}\n id={inputId}\n value={\n multiple\n ? \"\"\n : value\n ? this.getLabelString()\n : searchableSelectInputValue || undefined\n }\n disabled={disabled}\n placeholder={placeholder}\n onInput={this.handleSearchableSelectInput}\n onClick={this.handleClick}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n form={form}\n ></input>\n {isClearable && (\n <div class=\"clear-button-container\">\n <ClearButton></ClearButton>\n <div class=\"divider\"></div>\n </div>\n )}\n <span\n onMouseDown={this.handleExpandIconMouseDown}\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": open,\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n <div aria-live=\"polite\" role=\"status\" class=\"aria-live-hidden-text\">\n {selectInputAriaLiveText}\n </div>\n </div>\n );\n\n const ReadOnly = () => (\n <ic-typography>\n <p>\n {this.getLabelString() === placeholder ? \"\" : this.getLabelString()}\n </p>\n </ic-typography>\n );\n\n return (\n <Host\n class={{\n \"ic-select-disabled\": disabled,\n \"ic-select-searchable\": searchable,\n [`ic-select-${size}`]: size !== \"medium\",\n \"ic-select-full-width\": fullWidth,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <ic-input-container readonly={readonly}>\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n readonly={readonly}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n <ic-input-component-container\n ref={(el) => (this.anchorEl = el)}\n class={{ \"menu-open\": open }}\n size={size}\n fullWidth={fullWidth}\n disabled={disabled}\n readonly={readonly}\n validationStatus={validationStatus}\n >\n {isSlotUsed(this.el, \"icon\") &&\n !disabled &&\n (!readonly || !!value) && (\n <span\n slot=\"left-icon\"\n class={{\n readonly,\n \"has-value\": !!value,\n }}\n >\n <slot name=\"icon\" />\n </span>\n )}\n {isMobileOrTablet() && this.useNativeSelectOnMobile && !multiple ? (\n <NativeSelect />\n ) : readonly ? (\n <ReadOnly />\n ) : !searchable ? (\n <SelectButton />\n ) : (\n <SelectInput />\n )}\n </ic-input-component-container>\n {!(\n isMobileOrTablet() &&\n this.useNativeSelectOnMobile &&\n !multiple\n ) && (\n <ic-menu\n ref={(el) => (this.menu = el)}\n class={{ \"no-results\": noOptions }}\n inputEl={\n searchable ? this.searchableSelectElement : this.selectElement\n }\n allowMenuFocus={false}\n inputLabel={label}\n anchorEl={this.anchorEl}\n size={size}\n menuId={menuId}\n open={open}\n options={this.getOptions()}\n value={multiple ? (value as string[]) : (value as string)}\n fullWidth={fullWidth}\n selectOnEnter={selectOnEnter}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionSelect={this.handleSelectChange}\n onMenuOptionSelectAll={this.handleSelectAllChange}\n onTimeoutBlur={this.handleTimeoutBlur}\n onMenuOptionId={this.updateAriaActiveDescendant}\n onClick={this.setFocus}\n parentEl={this.el}\n activationType={\n searchable || multiple || selectOnEnter ? \"manual\" : \"automatic\"\n }\n onRetryButtonClicked={this.handleRetry}\n closeOnSelect={!multiple}\n multiSelect={multiple}\n searchableSelect={searchable}\n ></ic-menu>\n )}\n <ic-input-validation\n class={{\n \"menu-open\": open,\n }}\n ariaLiveMode={validationAriaLive}\n status={showValidation ? validationStatus : \"\"}\n message={showValidation ? validationText : \"\"}\n for={inputId}\n ></ic-input-validation>\n </ic-input-container>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ic-select.js","sourceRoot":"","sources":["../../../src/components/ic-select/ic-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n State,\n Watch,\n forceUpdate,\n Method,\n} from \"@stencil/core\";\nimport {\n addFormResetListener,\n checkSlotInChildMutations,\n getInputDescribedByText,\n isMobileOrTablet,\n isSlotUsed,\n removeDisabledFalse,\n removeFormResetListener,\n renderHiddenInput,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcAriaLive,\n IcInformationStatusOrEmpty,\n IcSearchMatchPositions,\n IcMultiValueEventDetail,\n IcSizes,\n IcThemeMode,\n IcInformationStatus,\n} from \"../../utils/types\";\nimport {\n IcSelectOption,\n IcSelectOptionBase,\n IcSelectOptionFlat,\n IcSelectOptionGroup,\n} from \"./ic-select.types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\nimport {\n IcMenuChangeEventDetail,\n IcMenuOptionIdEventDetail,\n IcOptionSelectEventDetail,\n} from \"../ic-menu/ic-menu.types\";\nimport { IcMenuCustomEvent } from \"../../components\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"tabindex\", \"title\"];\n\n/**\n * @slot helper-text - Content is set as the helper text for the select.\n * @slot icon - Content will be placed to the left of the select text input.\n */\n@Component({\n tag: \"ic-select\",\n styleUrl: \"ic-select.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Select {\n private inputId = `ic-select-input-${inputIds++}`;\n private menu?: HTMLIcMenuElement;\n private menuId = `${this.inputId}-menu`;\n private inheritedAttributes: { [k: string]: string } = {};\n private anchorEl?: HTMLElement;\n private nativeSelectElement?: HTMLSelectElement;\n private hostMutationObserver: MutationObserver | null = null;\n private clearButton?: HTMLIcButtonElement;\n private searchableSelectElement?: HTMLInputElement;\n private timeoutTimer: number | null = null;\n private hasTimedOut: boolean = false;\n private selectElement?: HTMLButtonElement;\n private initialRender: boolean = true;\n private characterKeyPressTimer?: number;\n private pressedCharacters = \"\";\n\n @Element() el!: HTMLIcSelectElement;\n\n @State() ariaActiveDescendant?: string;\n @State() debounceIcInput?: number;\n @State() hiddenInputValue: string | null;\n @State() hasError: boolean = false;\n @State() searchableSelectInputValue: string = \"\";\n @State() selectButtonAriaLiveText: string = \"\";\n @State() selectInputAriaLiveText: string = \"\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop({ reflect: true }) disabled = false;\n\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.\n */\n @Prop() disableAutoFiltering = false;\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * The <form> element to associate the select with.\n */\n @Prop() form?: string;\n\n /**\n * If `true`, the select will fill the width of the container.\n */\n @Prop() fullWidth = 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 label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel = false;\n\n /**\n * If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeDescriptionsInSearch = false;\n\n /**\n * If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeGroupTitlesInSearch = false;\n\n /**\n * The label for the select.\n */\n @Prop() label!: string;\n\n /**\n * The message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel = \"Loading Error\";\n\n /**\n * The message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel = \"Loading...\";\n\n /**\n * If `true`, multiple options can be selected.\n */\n @Prop() multiple = false;\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 = \"Select an option\";\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly = false;\n\n /**\n * If `true`, the select will require a value.\n */\n @Prop() required = false;\n\n /**\n * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options. This functionality is only available on the single-select variant of the select component.\n */\n @Prop() searchable = false;\n\n /**\n * Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\n */\n @Prop() searchMatchPosition: IcSearchMatchPositions = \"anywhere\";\n\n /**\n * If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown on the single select.\n */\n @Prop() selectOnEnter = false;\n\n /**\n * If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\n */\n @Prop() showClearButton = false;\n\n /**\n * The size of the select.\n */\n @Prop() size: IcSizes = \"medium\";\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The value of the `aria-live` attribute on the validation message.\n */\n @Prop() validationAriaLive: IcAriaLive = \"polite\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText = \"\";\n\n /**\n * If `true` and on a mobile or tablet device, the native select element will be used instead of the custom select component for better usability.\n */\n @Prop() useNativeSelectOnMobile = true;\n\n /**\n * If `true`, the loading state will be triggered when fetching options asynchronously.\n */\n @Prop({ mutable: true }) loading = false;\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n this.hasTimedOut = false;\n\n if (newValue) {\n this.hasError = false;\n if (this.timeout) {\n if (this.timeoutTimer) {\n this.clearTimer();\n }\n this.timeoutTimer = window.setTimeout(() => {\n this.loading = false;\n this.hasTimedOut = true;\n forceUpdate(this);\n }, this.timeout);\n }\n } else {\n if (this.timeoutTimer) {\n this.clearTimer();\n }\n }\n }\n\n private clearTimer() {\n if (this.timeoutTimer) {\n clearTimeout(this.timeoutTimer);\n this.timeoutTimer = null;\n }\n }\n\n /**\n * The possible selection options.\n */\n @Prop() options: IcSelectOption[] = [];\n @State() flatOptions: IcSelectOptionFlat[] = [];\n @Watch(\"options\")\n optionsChangedHandler(): void {\n const flat = this.getFlatOptions(this.options)\n .filter((option) => option.value != null || option.label != null) // filter out options missing both value and label\n .map((option) => ({\n ...option,\n value: option.value ?? option.label, // if an option is missing a value, use the label as the value\n label: option.label ?? option.value, // vice versa\n }));\n this.flatOptions = this.getDeduplicatedOptions(flat);\n\n if (!this.initialRender) this.loading = false;\n this.clearTimer();\n this.updateSelectButtonAriaLive();\n }\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icInput` event after each keystroke.\n */\n @Prop() debounce = 0;\n @State() currDebounce = this.debounce;\n @Watch(\"debounce\")\n debounceChangedHandler(newValue: number): void {\n if (this.currDebounce !== newValue) {\n this.currDebounce = newValue;\n }\n }\n\n /**\n * The value of the select, reflected by the value of the currently selected option.\n * For the searchable variant, the value is also reflected by the user input.\n * For the multi-select variant, the value must be an array of option values.\n */\n @Prop({ mutable: true }) value: string | string[] | null = null;\n @State() initialValue = this.value;\n @Watch(\"value\")\n valueChangedHandler(newValue: string | string[] | null): void {\n const validated = this.getValidatedValue(newValue);\n\n const isEqual =\n Array.isArray(validated) && Array.isArray(this.value)\n ? validated.length === this.value.length &&\n validated.every((v, i) => v === (this.value as string[])[i])\n : validated === this.value;\n\n if (!isEqual) {\n this.value = validated;\n return;\n }\n\n this.updateSelectButtonAriaLive();\n this.icChange.emit({ value: this.value });\n }\n\n @State() open = false;\n @Watch(\"open\")\n openChangedHandler(): void {\n this.open ? this.icOpen.emit() : this.icClose.emit();\n if (!this.open) {\n this.ariaActiveDescendant = undefined;\n }\n this.handleFocusIndicatorDisplay();\n }\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() icBlur: EventEmitter<void>;\n\n /**\n * Emitted when the value changes.\n */\n @Event() icChange: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Emitted when the clear or clear all button is clicked.\n */\n @Event() icClear: EventEmitter<void>;\n\n /**\n * Emitted when the select options menu is closed.\n */\n @Event() icClose: EventEmitter<void>;\n\n /**\n * Emitted when the select gains focus.\n */\n @Event() icFocus: EventEmitter<void>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Emitted when the select options menu is opened.\n */\n @Event() icOpen: EventEmitter<void>;\n\n /**\n * Emitted when an option is selected.\n * Selecting an option will also trigger an `icChange/onIcChange` due to the value being updated.\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when `multiple` is `true` and an option is deselected.\n */\n @Event() icOptionDeselect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when the 'retry loading' button is clicked for a searchable variant.\n */\n @Event() icRetryLoad: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Sets focus on the select component.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.focus();\n } else if (this.selectElement) {\n this.selectElement.focus();\n } else if (this.searchableSelectElement) {\n this.searchableSelectElement.focus();\n }\n }\n\n componentDidRender(): void {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n this.initialRender = false;\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n this.clearTimer();\n }\n\n componentDidLoad(): void {\n forceUpdate(this);\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n }\n\n private getValidatedValue = (\n value: string | string[] | null\n ): string | string[] | null => {\n const validValues = this.flatOptions.map((opt) => opt.value);\n\n if (validValues.length === 0) return value;\n\n if (this.multiple) {\n if (!value) return null;\n const arr = Array.isArray(value) ? value : [value]; // Ensure value is an array\n const filtered = validValues.filter((v) => arr.includes(v)); // Keep only valid values\n return filtered.length > 0 ? filtered : null;\n } else {\n return validValues.includes(value as string) ? value : null;\n }\n };\n\n componentWillLoad(): void {\n this.optionsChangedHandler();\n this.value = this.getValidatedValue(this.value);\n this.initialValue = this.value;\n\n if (this.loading) this.loadingHandler(true);\n\n addFormResetListener(this.el, this.handleFormReset);\n }\n\n private getFilteredOptions = (\n searchString: string,\n searchMatchPosition: \"anywhere\" | \"start\",\n includeDescriptionsInSearch: boolean,\n includeGroupTitlesInSearch: boolean\n ): IcSelectOption[] => {\n const search = searchString.toLowerCase();\n const match = (text: string, method: \"anywhere\" | \"start\") =>\n method === \"anywhere\" ? text.includes(search) : text.startsWith(search);\n\n return this.unflattenOptions(\n this.flatOptions.filter((option) => {\n const label = option.label.toLowerCase();\n const group = option.group?.toLowerCase() ?? \"\";\n const description = option.description?.toLowerCase() ?? \"\";\n return (\n match(label, searchMatchPosition) ||\n (includeDescriptionsInSearch &&\n match(description, searchMatchPosition)) ||\n (includeGroupTitlesInSearch && match(group, searchMatchPosition))\n );\n })\n );\n };\n\n private getOptions = (): IcSelectOption[] => {\n const options =\n this.searchable &&\n !this.disableAutoFiltering &&\n this.searchableSelectInputValue\n ? this.getFilteredOptions(\n this.searchableSelectInputValue,\n this.searchMatchPosition,\n this.includeDescriptionsInSearch,\n this.includeGroupTitlesInSearch\n )\n : this.unflattenOptions(this.flatOptions);\n\n if (this.hasTimedOut)\n return [{ label: this.loadingErrorLabel, value: \"\", timedOut: true }];\n\n if (this.loading)\n return [{ label: this.loadingLabel, value: \"\", loading: true }];\n\n if (options.length > 0) return options;\n\n return [{ label: this.emptyOptionListText, value: \"\" }];\n };\n\n private getFlatOptions = (options: IcSelectOption[]): IcSelectOptionFlat[] =>\n options.flatMap(\n (item) =>\n (\"children\" in item && item.children\n ? [...item.children.map((child) => ({ group: item.label, ...child }))]\n : [item]) as IcSelectOptionFlat[]\n );\n\n private unflattenOptions = (\n flatOptions: IcSelectOptionFlat[]\n ): IcSelectOption[] => {\n const groupMap = new Map<string, IcSelectOptionGroup>();\n const result: IcSelectOption[] = [];\n\n for (const option of flatOptions) {\n if (option.group) {\n let group = groupMap.get(option.group);\n if (!group) {\n group = { label: option.group, children: [] };\n groupMap.set(option.group, group);\n result.push(group);\n }\n const { group: _, ...rest } = option;\n group.children.push(rest as IcSelectOptionBase);\n } else {\n result.push(option);\n }\n }\n return result;\n };\n\n private getLabelFromValue = (value: string | null): string =>\n this.flatOptions.find((option) => option.value === value)?.label ?? \"\";\n\n // Construct the string that will be shown in the select input or button\n private getLabelString = (): string => {\n if (Array.isArray(this.value)) {\n return this.value.map(this.getLabelFromValue).filter(Boolean).join(\", \");\n }\n return (\n this.getLabelFromValue(this.value) ||\n (this.searchable ? \"\" : this.placeholder)\n );\n };\n\n private handleClick = (event: MouseEvent) => {\n if (event.detail !== 0) {\n this.menu?.handleClickOpen();\n }\n };\n\n private handleExpandIconMouseDown = (event: MouseEvent) => {\n if (!this.disabled) {\n event.preventDefault();\n this.searchableSelectElement?.focus();\n this.handleClick(event);\n }\n };\n\n private handleBlur = ({ relatedTarget }: FocusEvent) => {\n const target = relatedTarget as HTMLElement;\n if (\n this.el.contains(target) ||\n this.el.shadowRoot?.contains(target) ||\n this.menu?.contains(target) ||\n target === this.clearButton\n ) {\n return;\n }\n\n this.open = false;\n this.handleFocusIndicatorDisplay();\n\n if (this.searchable) {\n this.searchableSelectInputValue = \"\";\n }\n this.icBlur.emit();\n };\n\n private handleTimeoutBlur = (event: CustomEvent<{ ev: FocusEvent }>) => {\n this.handleBlur(event.detail.ev);\n };\n\n private handleFocus = () => {\n this.icFocus.emit();\n };\n\n private handleClear = () => {\n this.clearTimer();\n this.loading = false;\n this.value = null;\n this.searchableSelectInputValue = \"\";\n\n this.icClear.emit();\n\n this.setFocus();\n };\n\n private setTextColor = () => {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.className =\n this.nativeSelectElement.selectedIndex === 0\n ? \"placeholder\"\n : \"select-option-selected\";\n }\n };\n\n private handleNativeSelectChange = () => {\n if (this.nativeSelectElement) {\n this.icOptionSelect.emit({ value: this.nativeSelectElement.value });\n this.icChange.emit({ value: this.nativeSelectElement.value });\n }\n this.setTextColor();\n };\n\n private handleFocusIndicatorDisplay = () => {\n const focusIndicator =\n this.el.shadowRoot?.querySelector(\".focus-indicator\");\n\n if (focusIndicator) {\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n } else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\n }\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (!(event.key === \" \" && this.pressedCharacters.length > 0)) {\n if (this.open) {\n this.menu?.handleMenuKeyDown(event);\n } else {\n this.menu?.handleKeyboardOpen(event);\n }\n }\n\n if (\n !this.multiple &&\n !this.searchable &&\n !this.selectOnEnter &&\n /^[a-zA-Z0-9 ]$/.test(event.key)\n ) {\n this.handleCharacterKeyDown(event.key);\n }\n };\n\n private handleCharacterKeyDown = (key: string) => {\n // Only close menu when space is pressed if not being used alongside character keys to quickly select options\n if (this.open && key === \" \" && this.pressedCharacters.length === 0) {\n this.open = false;\n }\n\n if (key.length !== 1 || this.searchable) {\n this.pressedCharacters = \"\";\n return;\n }\n\n window.clearTimeout(this.characterKeyPressTimer);\n this.characterKeyPressTimer = window.setTimeout(\n () => (this.pressedCharacters = \"\"),\n 1000\n );\n\n if (key !== \" \" || !!this.pressedCharacters) {\n this.pressedCharacters += key;\n const filteredOptions = this.getFilteredOptions(\n this.pressedCharacters,\n \"start\",\n false,\n false\n );\n\n if (filteredOptions.length > 0) {\n const firstOption = filteredOptions[0];\n if (\"children\" in firstOption) {\n if (firstOption.children) {\n this.value = firstOption.children[0].value;\n }\n } else {\n this.value = firstOption.value;\n }\n }\n }\n };\n\n private handleNativeSelectKeyDown = (event: KeyboardEvent) => {\n this.handleKeyDown(event);\n };\n\n private handleSelectChange = (\n event: CustomEvent<IcOptionSelectEventDetail>\n ) => {\n const { value } = event.detail;\n if (!value || this.getLabelFromValue(value) === this.emptyOptionListText) {\n this.value = null;\n return;\n }\n\n if (this.multiple) {\n let valueArray = Array.isArray(this.value) ? [...this.value] : [];\n const index = valueArray.indexOf(value);\n\n if (index > -1) {\n valueArray.splice(index, 1);\n this.icOptionDeselect.emit({ value });\n } else {\n this.icOptionSelect.emit({ value });\n valueArray.push(value);\n valueArray = this.getValidatedValue(valueArray) as string[];\n }\n this.value = valueArray.length ? valueArray : null;\n } else {\n this.icOptionSelect.emit({ value });\n this.value = value;\n if (this.searchable) this.searchableSelectInputValue = \"\";\n }\n };\n\n private handleSelectAllChange = ({\n detail,\n }: CustomEvent<{ select: boolean }>) => {\n const allSelectableValues = this.flatOptions\n .filter((option) => !option.disabled)\n .map((option) => option.value);\n if (detail.select) {\n allSelectableValues\n .filter((value) => !((this.value ?? []) as string[]).includes(value))\n .forEach((value) => {\n this.icOptionSelect.emit({ value });\n });\n\n this.value = allSelectableValues;\n } else {\n (this.value as string[]).forEach((value) =>\n this.icOptionDeselect.emit({ value })\n );\n this.value = null;\n }\n };\n\n private handleFormReset = () => {\n this.value = this.initialValue;\n this.searchableSelectInputValue = \"\";\n if (this.searchable) {\n this.hiddenInputValue = this.initialValue as string;\n }\n };\n\n private handleRetry = () => {\n this.clearTimer();\n this.hasTimedOut = false;\n this.hasError = false;\n this.loading = true;\n this.icRetryLoad.emit({\n value: this.searchable\n ? this.searchableSelectInputValue\n : this.hiddenInputValue,\n });\n this.setFocus();\n };\n\n private handleSearchableSelectInput = (event: Event) => {\n this.updateSearchableSelectResultAriaLive();\n if (!this.multiple) {\n this.value = null;\n }\n\n this.searchableSelectInputValue =\n (event.target as HTMLInputElement).value ?? \"\";\n this.open = true;\n\n clearTimeout(this.debounceIcInput);\n this.debounceIcInput = window.setTimeout(\n () => this.icInput.emit({ value: this.searchableSelectInputValue }),\n this.currDebounce\n );\n };\n\n private hostMutationCallback = (mutationList: MutationRecord[]) => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n private updateSelectButtonAriaLive = () => {\n const value_label = this.getLabelFromValue(this.value as string);\n this.selectButtonAriaLiveText = this.multiple\n ? `${this.value ? this.value.length : 0} of ${\n this.flatOptions.length\n } selected`\n : this.value\n ? value_label ?? `${value_label} selected`\n : \"\";\n };\n\n private updateSearchableSelectResultAriaLive = () => {\n this.selectInputAriaLiveText =\n this.getOptions()?.[0]?.label == this.emptyOptionListText\n ? this.emptyOptionListText\n : \"\";\n };\n\n private updateAriaActiveDescendant = (\n event: IcMenuCustomEvent<IcMenuOptionIdEventDetail>\n ) => {\n this.ariaActiveDescendant = event.detail.optionId;\n };\n\n private handleMenuChange = (event: CustomEvent<IcMenuChangeEventDetail>) => {\n this.open = event.detail.open;\n this.pressedCharacters = \"\";\n };\n\n private getDeduplicatedOptions = (\n flatOptions: IcSelectOptionFlat[]\n ): IcSelectOptionFlat[] => {\n const seen = new Set();\n return flatOptions.filter((option) => {\n if (option.value && seen.has(option.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${option.value}) which has been removed.`\n );\n return false;\n }\n if (option.value) seen.add(option.value);\n return true;\n });\n };\n\n private renderNativeOption = (option: IcSelectOptionBase) => (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === this.value}\n >\n {option.label}\n </option>\n );\n\n render() {\n const {\n disabled,\n searchable,\n size,\n fullWidth,\n theme,\n readonly,\n hideLabel,\n inputId,\n label,\n helperText,\n required,\n value,\n options,\n menuId,\n multiple,\n validationStatus,\n open,\n showClearButton,\n selectOnEnter,\n loading,\n searchableSelectInputValue,\n validationText,\n validationAriaLive,\n form,\n ariaActiveDescendant,\n placeholder,\n name,\n inheritedAttributes,\n selectInputAriaLiveText,\n selectButtonAriaLiveText,\n } = this;\n\n const hasValue = !!value;\n const hasInput = !!searchableSelectInputValue;\n const isClearable =\n !disabled &&\n ((searchable && (hasInput || hasValue)) ||\n (!searchable && hasValue && !loading && showClearButton));\n\n const showValidation = !!validationStatus && !disabled;\n\n const invalid = validationStatus === IcInformationStatus.Error;\n\n const describedBy = getInputDescribedByText(\n this.el,\n inputId,\n helperText !== \"\",\n showValidation\n ).trim();\n\n const menuOptions = this.getOptions();\n const noOptions =\n disabled ||\n (menuOptions.length === 1 &&\n (menuOptions[0].label === this.emptyOptionListText ||\n \"loading\" in menuOptions[0] ||\n \"timedOut\" in menuOptions[0]));\n\n renderHiddenInput(this.el, value as string, name || inputId, disabled);\n\n const ClearButton = () => (\n <ic-button\n ref={(el) => (this.clearButton = el)}\n id=\"clear-button\"\n aria-label={this.searchable ? \"Clear input\" : \"Clear selection\"}\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onBlur={this.handleBlur}\n size={size}\n variant=\"icon-tertiary\"\n ></ic-button>\n );\n\n const NativeSelect = () => (\n <select\n ref={(el) => (this.nativeSelectElement = el)}\n disabled={disabled}\n onChange={this.handleNativeSelectChange}\n required={required}\n id={inputId}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid ? \"true\" : \"false\"}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onKeyDown={this.handleNativeSelectKeyDown}\n form={form}\n {...inheritedAttributes}\n >\n <option value=\"\" selected disabled={!showClearButton}>\n {placeholder}\n </option>\n {options.map((option) =>\n \"children\" in option && option.children ? (\n <optgroup label={option.label}>\n {option.children.map((child) =>\n this.renderNativeOption(child as IcSelectOptionBase)\n )}\n </optgroup>\n ) : (\n this.renderNativeOption(option as IcSelectOptionBase)\n )\n )}\n </select>\n );\n\n const SelectButton = () => (\n <div class=\"select-container\">\n <button\n class=\"select-input\"\n role=\"combobox\"\n ref={(el) => (this.selectElement = el)}\n id={inputId}\n aria-label={`${label}, ${\n (multiple && value\n ? `${value.length} of ${\n this.flatOptions.length\n } selected, ${this.getLabelString()}`\n : this.getLabelString()) || placeholder\n }`}\n onClick={this.handleClick}\n aria-describedby={describedBy}\n aria-invalid={invalid ? \"true\" : \"false\"}\n aria-haspopup=\"listbox\"\n aria-expanded={`${open}`}\n aria-controls={menuId}\n aria-required={`${required}`}\n disabled={disabled}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-activedescendant={ariaActiveDescendant}\n >\n <ic-typography\n variant=\"body\"\n class={{\n \"value-text\": true,\n \"with-clear-button\": !!isClearable,\n placeholder: !value,\n }}\n >\n {this.getLabelString()}\n </ic-typography>\n <div class=\"select-input-end\">\n {isClearable && <div class=\"divider\"></div>}\n <span\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": open,\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n </div>\n </button>\n {isClearable && <ClearButton></ClearButton>}\n <div\n aria-live=\"polite\"\n aria-atomic=\"true\"\n class=\"aria-live-hidden-text\"\n >\n {selectButtonAriaLiveText}\n </div>\n </div>\n );\n\n const SelectInput = () => (\n <div class=\"searchable-select-container\">\n <input\n class={{\n \"value-text\": true,\n \"select-input\": true,\n \"with-clear-button\": !!searchableSelectInputValue,\n }}\n role=\"combobox\"\n autocomplete=\"off\"\n aria-label={label}\n aria-describedby={describedBy}\n aria-activedescendant={ariaActiveDescendant}\n aria-autocomplete=\"list\"\n aria-expanded={`${open}`}\n aria-invalid={invalid ? \"true\" : \"false\"}\n aria-required={`${required}`}\n aria-controls={menuId}\n ref={(el) => (this.searchableSelectElement = el)}\n id={inputId}\n value={\n multiple\n ? \"\"\n : value\n ? this.getLabelString()\n : searchableSelectInputValue || undefined\n }\n disabled={disabled}\n placeholder={placeholder}\n onInput={this.handleSearchableSelectInput}\n onClick={this.handleClick}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n form={form}\n ></input>\n {isClearable && (\n <div class=\"clear-button-container\">\n <ClearButton></ClearButton>\n <div class=\"divider\"></div>\n </div>\n )}\n <span\n onMouseDown={this.handleExpandIconMouseDown}\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": open,\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n <div aria-live=\"polite\" role=\"status\" class=\"aria-live-hidden-text\">\n {selectInputAriaLiveText}\n </div>\n </div>\n );\n\n const ReadOnly = () => (\n <ic-typography>\n <p>\n {this.getLabelString() === placeholder ? \"\" : this.getLabelString()}\n </p>\n </ic-typography>\n );\n\n return (\n <Host\n class={{\n \"ic-select-disabled\": disabled,\n \"ic-select-searchable\": searchable,\n [`ic-select-${size}`]: size !== \"medium\",\n \"ic-select-full-width\": fullWidth,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <ic-input-container readonly={readonly}>\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n readonly={readonly}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n <ic-input-component-container\n ref={(el) => (this.anchorEl = el)}\n class={{ \"menu-open\": open }}\n size={size}\n fullWidth={fullWidth}\n disabled={disabled}\n readonly={readonly}\n validationStatus={validationStatus}\n >\n {isSlotUsed(this.el, \"icon\") &&\n !disabled &&\n (!readonly || !!value) && (\n <span\n slot=\"left-icon\"\n class={{\n readonly,\n \"has-value\": !!value,\n }}\n >\n <slot name=\"icon\" />\n </span>\n )}\n {isMobileOrTablet() && this.useNativeSelectOnMobile && !multiple ? (\n <NativeSelect />\n ) : readonly ? (\n <ReadOnly />\n ) : !searchable ? (\n <SelectButton />\n ) : (\n <SelectInput />\n )}\n </ic-input-component-container>\n {!(\n isMobileOrTablet() &&\n this.useNativeSelectOnMobile &&\n !multiple\n ) && (\n <ic-menu\n ref={(el) => (this.menu = el)}\n class={{ \"no-results\": noOptions }}\n inputEl={\n searchable ? this.searchableSelectElement : this.selectElement\n }\n allowMenuFocus={false}\n inputLabel={label}\n anchorEl={this.anchorEl}\n size={size}\n menuId={menuId}\n open={open}\n options={this.getOptions()}\n value={multiple ? (value as string[]) : (value as string)}\n fullWidth={fullWidth}\n selectOnEnter={selectOnEnter}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionSelect={this.handleSelectChange}\n onMenuOptionSelectAll={this.handleSelectAllChange}\n onTimeoutBlur={this.handleTimeoutBlur}\n onMenuOptionId={this.updateAriaActiveDescendant}\n onClick={this.setFocus}\n parentEl={this.el}\n activationType={\n searchable || multiple || selectOnEnter ? \"manual\" : \"automatic\"\n }\n onRetryButtonClicked={this.handleRetry}\n closeOnSelect={!multiple}\n multiSelect={multiple}\n searchableSelect={searchable}\n ></ic-menu>\n )}\n <ic-input-validation\n class={{\n \"menu-open\": open,\n }}\n ariaLiveMode={validationAriaLive}\n status={showValidation ? validationStatus : \"\"}\n message={showValidation ? validationText : \"\"}\n for={inputId}\n ></ic-input-validation>\n </ic-input-container>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ic-select.types.js","sourceRoot":"","sources":["../../../src/components/ic-select/ic-select.types.ts"],"names":[],"mappings":"","sourcesContent":["// Compatible with IcMenuOption, but stricter\nexport type IcSelectOption =\n | IcSelectOptionBase\n | IcSelectOptionGroup\n | IcSelectOptionLoading\n | IcSelectOptionTimedOut;\n\ntype IcSelectOptionElement = {\n component: any;\n ariaLabel: string;\n};\n\nexport type IcSelectOptionBase = {\n label: string;\n value: string;\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n icon?: string;\n hideLabel?: boolean;\n htmlProps?: Record<string, string>;\n element?: IcSelectOptionElement;\n};\n\nexport type IcSelectOptionGroup = {\n label: string;\n children: IcSelectOptionBase[];\n};\n\ntype IcSelectOptionLoading = {\n label: string;\n value: \"\";\n loading: true;\n};\n\ntype IcSelectOptionTimedOut = {\n label: string;\n value: \"\";\n timedOut: true;\n};\n\nexport type IcSelectOptionFlat = {\n label: string;\n value: string;\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n icon?: string;\n hideLabel?: boolean;\n htmlProps?: Record<string, string>;\n element?: IcSelectOptionElement;\n group?: string;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ic-select.types.js","sourceRoot":"","sources":["../../../src/components/ic-select/ic-select.types.ts"],"names":[],"mappings":"","sourcesContent":["import { IcMenuOption } from \"../../components\";\n\n// Compatible with IcMenuOption, but stricter\nexport type IcSelectOption =\n | IcSelectOptionBase\n | IcSelectOptionGroup\n | IcSelectOptionLoading\n | IcSelectOptionTimedOut\n | IcMenuOption;\n\ntype IcSelectOptionElement = {\n component: any;\n ariaLabel: string;\n};\n\nexport type IcSelectOptionBase = {\n label: string;\n value: string;\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n icon?: string;\n hideLabel?: boolean;\n htmlProps?: Record<string, string>;\n element?: IcSelectOptionElement;\n};\n\nexport type IcSelectOptionGroup = {\n label: string;\n children: IcSelectOptionBase[];\n};\n\ntype IcSelectOptionLoading = {\n label: string;\n value: \"\";\n loading: true;\n};\n\ntype IcSelectOptionTimedOut = {\n label: string;\n value: \"\";\n timedOut: true;\n};\n\nexport type IcSelectOptionFlat = {\n label: string;\n value: string;\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n icon?: string;\n hideLabel?: boolean;\n htmlProps?: Record<string, string>;\n element?: IcSelectOptionElement;\n group?: string;\n};\n"]}
|
|
@@ -466,7 +466,7 @@ export class SideNavigation {
|
|
|
466
466
|
isAppNameSubtitleVariant,
|
|
467
467
|
appTitle: appTitle || "",
|
|
468
468
|
};
|
|
469
|
-
return (h(Host, { key: '
|
|
469
|
+
return (h(Host, { key: '467270372cb15a90984978cb333a6756c7ffcb8d', class: {
|
|
470
470
|
"xs-menu-open": menuOpen && isSDevice,
|
|
471
471
|
"xs-menu-close": !menuOpen && isSDevice,
|
|
472
472
|
"sm-collapsed": !isSDevice && !menuExpanded,
|
|
@@ -475,12 +475,12 @@ export class SideNavigation {
|
|
|
475
475
|
[`ic-side-navigation-${IcBrandForegroundEnum.Dark}`]: foregroundColor === IcBrandForegroundEnum.Dark,
|
|
476
476
|
["collapsed-labels"]: !isSDevice && !menuExpanded && !!collapsedIconLabels,
|
|
477
477
|
["ic-side-navigation-inline"]: !!inline,
|
|
478
|
-
} }, isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h("div", { key: '
|
|
478
|
+
} }, isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h("div", { key: '51b75422befcc62a8b9a866ab9ab7c58b799db2c', class: "side-navigation", id: "side-navigation" }, !isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h("div", { key: 'fbcb14963d2ce5567297bdf794d1dd5f7a6209bb', class: "side-navigation-inner" }, isSlotUsed(this.el, "primary-navigation") && (h("nav", { key: '24da45c7237f1152c1e93db9b928120bcca1ba14', class: "primary-navigation", "aria-labelledby": "primary-navigation-landmark" }, h("span", { key: 'e57f1521e37ecc9b770b35339059564ff23fe945', "aria-hidden": "true", class: "navigation-landmark-title", id: "primary-navigation-landmark" }, "Primary"), h("ul", { key: '88ffcdc33e0ebb348a3f8851dfb85020625293d7', class: "navigation-list" }, h("slot", { key: '91243f0760b0a67226f4c83a0393f669443ee356', name: "primary-navigation" }))))), h("div", { key: '77eaa1bf6bd8951c5a77902c75b0664aa36f0b44', class: {
|
|
479
479
|
["bottom-wrapper"]: true,
|
|
480
480
|
["classification-spacing"]: hasClassificationBanner(),
|
|
481
|
-
} }, isSlotUsed(this.el, "secondary-navigation") && (h("nav", { key: '
|
|
481
|
+
} }, isSlotUsed(this.el, "secondary-navigation") && (h("nav", { key: 'ad66580f2b2f753f4ce2d1be8128fdcb5fb69c9f', class: "secondary-navigation", "aria-labelledby": "secondary-navigation-landmark" }, h("span", { key: '3f503502795535166e14d6d52ee1b8f72dfe9551', "aria-hidden": "true", class: "navigation-landmark-title", id: "secondary-navigation-landmark" }, "Secondary"), h("ul", { key: 'cfd5af2f79b1ca9e309fc160c5b4b00385f017d2', class: "navigation-list" }, h("slot", { key: 'a975b85e39c977ea241a976df63699337f6507d7', name: "secondary-navigation" })))), h("div", { key: 'b0f3f81a20589100389495ded413bf1bfe09e096', class: "bottom-side-nav" }, this.hasSecondaryNavigation && h("ic-divider", { key: '3ee7716a6a6ed2e8f776b9ba376a54274c84f873' }), displayExpandBtn && (h("button", { key: 'c7f04012bfcb7f727431a9d7e6e53d714cc49e5e', class: "menu-expand-button", innerHTML: chevronIcon, onClick: () => this.toggleMenuExpanded(!this.menuExpanded), "aria-label": `${menuExpanded ? "Collapse" : "Expand"} side navigation` })), h("div", { key: 'a3d90469e6d05790dd84a00ea1e4c4c35ecb8955', class: "app-status-wrapper" }, status && (h("div", { key: '6dddec89dbd4e81f2d5b0132c648e53e72092d14', class: {
|
|
482
482
|
["app-status"]: true,
|
|
483
|
-
} }, h("ic-typography", { key: '
|
|
483
|
+
} }, h("ic-typography", { key: '21635fd5640f74861ede6840073a112753d13a29', "aria-label": "app tag", variant: "label-uppercase", class: "app-status-text" }, status))), version && (h("ic-typography", { key: '7a95df03f61c13f2a6ed23e43be42959ae98fd88', variant: "label", class: "app-version", "aria-label": "app version" }, version))))))));
|
|
484
484
|
}
|
|
485
485
|
static get is() { return "ic-side-navigation"; }
|
|
486
486
|
static get encapsulation() { return "shadow"; }
|
|
@@ -38,11 +38,11 @@ export class Skeleton {
|
|
|
38
38
|
width: el.style.width || width || DEFAULT_WIDTHS[variant],
|
|
39
39
|
}
|
|
40
40
|
: undefined;
|
|
41
|
-
return (h(Host, { key: '
|
|
41
|
+
return (h(Host, { key: '67c1971600feaaaf5849048b4bc5ad3d4903ffb4', class: {
|
|
42
42
|
skeleton: true,
|
|
43
43
|
"ic-skeleton-circle": variant === "circle",
|
|
44
44
|
[`ic-theme-${theme}`]: theme !== "inherit",
|
|
45
|
-
}, style: style, "aria-disabled": "true" }, h("slot", { key: '
|
|
45
|
+
}, style: style, "aria-disabled": "true" }, h("slot", { key: 'caf8562f7997131daa69e85d6766b3edf2531259' })));
|
|
46
46
|
}
|
|
47
47
|
static get is() { return "ic-skeleton"; }
|
|
48
48
|
static get encapsulation() { return "shadow"; }
|
|
@@ -35,9 +35,9 @@ export class SkipLink {
|
|
|
35
35
|
}
|
|
36
36
|
render() {
|
|
37
37
|
const { fullWidth, inline, label, monochrome, target, theme, transparentBackground, } = this;
|
|
38
|
-
return (h(Host, { key: '
|
|
38
|
+
return (h(Host, { key: '2f344a07df5cb31b39b5cd4ca8bc257229646b31', class: {
|
|
39
39
|
[`ic-theme-${theme}`]: theme !== "inherit",
|
|
40
|
-
} }, h("ic-link", { key: '
|
|
40
|
+
} }, h("ic-link", { key: '9b844b5a2f207d08eaa8cbb621d54ed56f5cc28d', class: {
|
|
41
41
|
"display-top": !inline,
|
|
42
42
|
"full-width": !!fullWidth,
|
|
43
43
|
"show-background": !transparentBackground,
|