@ukic/web-components 2.0.0-alpha.124 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-9d4961dc.js → helpers-60fda93f.js} +49 -21
- package/dist/cjs/helpers-60fda93f.js.map +1 -0
- package/dist/cjs/ic-alert.cjs.entry.js +4 -3
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +3 -2
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/{ic-breadcrumbs.cjs.entry.js → ic-breadcrumb-group.cjs.entry.js} +7 -6
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +3 -2
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +26 -30
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +3 -2
- package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -2
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +3 -2
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-entity.cjs.entry.js +6 -6
- package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +6 -5
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +3 -2
- package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +12 -11
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +8 -7
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +16 -15
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +9 -8
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +84 -29
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +5 -4
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +11 -10
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +8 -7
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -2
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +3 -2
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +6 -5
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +3 -2
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +3 -2
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +16 -19
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +219 -25
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -3
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +10 -10
- package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +9 -8
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +2 -1
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +2 -1
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +8 -7
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +12 -11
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +146 -0
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +5 -4
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +10 -10
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +2 -1
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +7 -6
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +4 -4
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/index-3ef30d9d.js +4 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/types-3eb02246.js +16 -0
- package/dist/cjs/types-3eb02246.js.map +1 -0
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/ic-alert/ic-alert.js +1 -1
- package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +1 -1
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +1 -2
- package/dist/collection/components/{ic-breadcrumbs/ic-breadcrumbs-test-examples.js → ic-breadcrumb-group/ic-breadcrumb-group-test-examples.js} +7 -7
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group-test-examples.js.map +1 -0
- package/dist/collection/components/{ic-breadcrumbs/ic-breadcrumbs.css → ic-breadcrumb-group/ic-breadcrumb-group.css} +1 -0
- package/dist/collection/components/{ic-breadcrumbs/ic-breadcrumbs.js → ic-breadcrumb-group/ic-breadcrumb-group.js} +5 -5
- package/dist/{core/p-ed1d8712.entry.js.map → collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map} +1 -1
- package/dist/collection/components/{ic-breadcrumbs/ic-breadcrumbs.test.a11y.js → ic-breadcrumb-group/ic-breadcrumb-group.test.a11y.js} +6 -6
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-button/ic-button.css +5 -11
- package/dist/collection/components/ic-button/ic-button.js +22 -52
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.types.js.map +1 -1
- package/dist/collection/components/ic-card/ic-card.js +1 -1
- package/dist/collection/components/ic-card/ic-card.js.map +1 -1
- package/dist/collection/components/ic-checkbox/ic-checkbox.css +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +4 -4
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
- package/dist/collection/components/ic-data-entity/ic-data-entity.css +2 -2
- package/dist/collection/components/ic-data-entity/ic-data-entity.js +8 -8
- package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
- package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
- package/dist/collection/components/ic-data-row/ic-data-row.js +6 -6
- package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
- package/dist/collection/components/ic-footer/ic-footer.css +2 -2
- package/dist/collection/components/ic-footer/ic-footer.js +14 -14
- package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
- package/dist/collection/components/ic-footer/ic-footer.types.js.map +1 -1
- package/dist/collection/components/ic-footer-link/ic-footer-link.css +2 -2
- package/dist/collection/components/ic-footer-link/ic-footer-link.js +5 -5
- package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +8 -8
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +10 -10
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
- package/dist/collection/components/ic-hero/ic-hero.css +17 -12
- package/dist/collection/components/ic-hero/ic-hero.js +9 -9
- package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +6 -5
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +6 -6
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
- package/dist/collection/components/ic-link/ic-link.css +1 -1
- package/dist/collection/components/ic-link/ic-link.js +9 -9
- package/dist/collection/components/ic-link/ic-link.js.map +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +2 -2
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +26 -25
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
- package/dist/collection/components/ic-menu/ic-menu.css +5 -4
- package/dist/collection/components/ic-menu/ic-menu.js +82 -25
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +7 -7
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +1 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +1 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
- package/dist/collection/components/ic-page-header/ic-page-header.css +1 -1
- package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
- package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
- package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
- package/dist/collection/components/ic-radio-option/ic-radio-option.css +2 -2
- package/dist/collection/components/ic-search-bar/ic-search-bar.css +7 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +13 -35
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-select/ic-select.css +70 -9
- package/dist/collection/components/ic-select/ic-select.js +341 -28
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
- package/dist/collection/components/ic-skeleton/ic-skeleton.css +4 -4
- package/dist/collection/components/ic-skeleton/ic-skeleton.js +14 -14
- package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
- package/dist/collection/components/ic-skeleton/ic-skeleton.types.js.map +1 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.css +9 -9
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +14 -14
- package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.types.js.map +1 -1
- package/dist/collection/components/ic-switch/ic-switch.css +6 -6
- package/dist/collection/components/ic-switch/ic-switch.js +8 -8
- package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
- package/dist/collection/components/ic-tab/ic-tab.js +17 -11
- package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +25 -19
- package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js +2 -2
- package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js.map +1 -1
- package/dist/collection/components/{ic-tab-list → ic-tab-group}/assets/left-arrow.svg +0 -0
- package/dist/collection/components/{ic-tab-list → ic-tab-group}/assets/right-arrow.svg +0 -0
- package/dist/collection/components/{ic-tab-list/ic-tab-list.css → ic-tab-group/ic-tab-group.css} +2 -2
- package/dist/collection/components/{ic-tab-list/ic-tab-list.js → ic-tab-group/ic-tab-group.js} +37 -31
- package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -0
- package/dist/collection/components/ic-text-field/ic-text-field.js +6 -25
- package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.css +4 -4
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +6 -6
- package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.test.a11y.js +1 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.test.a11y.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +4 -4
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
- package/dist/collection/components/ic-typography/ic-typography.css +17 -10
- package/dist/collection/components/ic-typography/ic-typography.js +6 -6
- package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
- package/dist/collection/utils/helpers.js +39 -1
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +41 -14
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-alert.js +3 -2
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-back-to-top.js +1 -1
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/{ic-breadcrumbs.d.ts → ic-breadcrumb-group.d.ts} +4 -4
- package/dist/components/{ic-breadcrumbs.js → ic-breadcrumb-group.js} +10 -10
- package/dist/{cjs/ic-breadcrumbs.cjs.entry.js.map → components/ic-breadcrumb-group.js.map} +1 -1
- package/dist/components/ic-breadcrumb2.js +1 -1
- package/dist/components/ic-breadcrumb2.js.map +1 -1
- package/dist/components/ic-button2.js +19 -25
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card.js +1 -1
- package/dist/components/ic-card.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +2 -2
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +1 -1
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-data-entity.js +7 -7
- package/dist/components/ic-data-entity.js.map +1 -1
- package/dist/components/ic-data-row.js +5 -5
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-divider2.js +2 -1
- package/dist/components/ic-divider2.js.map +1 -1
- package/dist/components/ic-footer-link-group.js +12 -12
- package/dist/components/ic-footer-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js +7 -7
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-footer.js +14 -13
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-hero.js +9 -8
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +7 -6
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-label2.js +1 -1
- package/dist/components/ic-input-validation2.js +2 -1
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-link2.js +10 -9
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +8 -7
- package/dist/components/ic-loading-indicator2.js.map +1 -1
- package/dist/components/ic-menu2.js +78 -24
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-button.js +9 -8
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +1 -1
- package/dist/components/ic-navigation-item.js +2 -2
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +2 -2
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js +5 -5
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-radio-group.js +2 -2
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +2 -2
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +13 -17
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-select.js +229 -25
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-side-navigation.js +3 -2
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +11 -11
- package/dist/components/ic-skeleton.js.map +1 -1
- package/dist/components/ic-status-tag.js +9 -9
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-switch.js +7 -7
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +13 -12
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/{ic-tab-list.d.ts → ic-tab-group.d.ts} +4 -4
- package/dist/components/{ic-tab-list.js → ic-tab-group.js} +31 -30
- package/dist/components/ic-tab-group.js.map +1 -0
- package/dist/components/ic-tab.js +5 -4
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +6 -7
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js +1 -1
- package/dist/components/ic-tooltip2.js +5 -5
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +6 -5
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-typography2.js +5 -5
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/components/index.d.ts +2 -2
- package/dist/components/index.js +2 -2
- package/dist/components/types.js +16 -0
- package/dist/components/types.js.map +1 -0
- package/dist/core/core.css +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-0522eb9a.entry.js +2 -0
- package/dist/core/p-0522eb9a.entry.js.map +1 -0
- package/dist/core/{p-b9253509.entry.js → p-0992a2ee.entry.js} +2 -2
- package/dist/core/p-0992a2ee.entry.js.map +1 -0
- package/dist/core/p-14153fa0.entry.js +2 -0
- package/dist/core/p-14153fa0.entry.js.map +1 -0
- package/dist/core/p-1bec5ccb.entry.js +2 -0
- package/dist/core/p-1bec5ccb.entry.js.map +1 -0
- package/dist/core/p-21025b10.entry.js +2 -0
- package/dist/core/p-21025b10.entry.js.map +1 -0
- package/dist/core/p-27528d04.entry.js +2 -0
- package/dist/core/{p-44355e34.entry.js.map → p-27528d04.entry.js.map} +1 -1
- package/dist/core/p-3013158d.entry.js +2 -0
- package/dist/core/{p-016fcce8.entry.js.map → p-3013158d.entry.js.map} +1 -1
- package/dist/core/p-36b25af4.entry.js +2 -0
- package/dist/core/p-36b25af4.entry.js.map +1 -0
- package/dist/core/p-3d6902a3.entry.js +2 -0
- package/dist/core/{p-0d4ac3c9.entry.js.map → p-3d6902a3.entry.js.map} +1 -1
- package/dist/core/p-400b34b9.entry.js +2 -0
- package/dist/core/{p-3b9d4007.entry.js.map → p-400b34b9.entry.js.map} +1 -1
- package/dist/core/p-438e327e.entry.js +2 -0
- package/dist/core/{p-bbe0b521.entry.js.map → p-438e327e.entry.js.map} +1 -1
- package/dist/core/p-4aa8c1e1.entry.js +2 -0
- package/dist/core/{p-836c93b1.entry.js.map → p-4aa8c1e1.entry.js.map} +1 -1
- package/dist/core/p-4af4a9e7.entry.js +2 -0
- package/dist/core/p-4af4a9e7.entry.js.map +1 -0
- package/dist/core/p-4c1e1d04.entry.js +2 -0
- package/dist/core/p-4c1e1d04.entry.js.map +1 -0
- package/dist/core/p-4e498c03.entry.js +2 -0
- package/dist/core/{p-5e0b88fa.entry.js.map → p-4e498c03.entry.js.map} +1 -1
- package/dist/core/p-530b7fe0.entry.js +2 -0
- package/dist/core/p-530b7fe0.entry.js.map +1 -0
- package/dist/core/p-59a917d4.entry.js +2 -0
- package/dist/core/p-59a917d4.entry.js.map +1 -0
- package/dist/core/p-605e4270.entry.js +2 -0
- package/dist/core/p-605e4270.entry.js.map +1 -0
- package/dist/core/p-682686a6.entry.js +2 -0
- package/dist/core/p-682686a6.entry.js.map +1 -0
- package/dist/core/p-6ac7757f.entry.js +2 -0
- package/dist/core/{p-85a32ec7.entry.js.map → p-6ac7757f.entry.js.map} +1 -1
- package/dist/core/p-6d0eaaeb.entry.js +2 -0
- package/dist/core/p-6d0eaaeb.entry.js.map +1 -0
- package/dist/core/p-6f57b13c.js +2 -0
- package/dist/core/p-6f57b13c.js.map +1 -0
- package/dist/core/p-71282f37.entry.js +2 -0
- package/dist/core/{p-012dc33c.entry.js.map → p-71282f37.entry.js.map} +1 -1
- package/dist/core/p-73d41c36.entry.js +2 -0
- package/dist/core/{p-8af2a343.entry.js.map → p-73d41c36.entry.js.map} +1 -1
- package/dist/core/p-8bcadf55.entry.js +2 -0
- package/dist/core/p-8bcadf55.entry.js.map +1 -0
- package/dist/core/p-98e9eccc.entry.js +2 -0
- package/dist/core/p-98e9eccc.entry.js.map +1 -0
- package/dist/core/p-994111b7.entry.js +2 -0
- package/dist/core/{p-bdd2f166.entry.js.map → p-994111b7.entry.js.map} +1 -1
- package/dist/core/p-9bf3f413.entry.js +2 -0
- package/dist/core/p-9bf3f413.entry.js.map +1 -0
- package/dist/core/p-a301cf67.entry.js +2 -0
- package/dist/core/{p-7152788d.entry.js.map → p-a301cf67.entry.js.map} +1 -1
- package/dist/core/p-aebc7562.entry.js +2 -0
- package/dist/core/{p-85436343.entry.js.map → p-aebc7562.entry.js.map} +1 -1
- package/dist/core/p-be583c9b.entry.js +2 -0
- package/dist/core/{p-a968ff18.entry.js.map → p-be583c9b.entry.js.map} +1 -1
- package/dist/core/p-c15bb762.js +2 -0
- package/dist/core/p-c15bb762.js.map +1 -0
- package/dist/core/p-c817e46b.entry.js +2 -0
- package/dist/core/p-c817e46b.entry.js.map +1 -0
- package/dist/core/p-c8772106.entry.js +2 -0
- package/dist/core/p-c8772106.entry.js.map +1 -0
- package/dist/core/p-c96985bc.entry.js +2 -0
- package/dist/core/{p-d198ae1f.entry.js.map → p-c96985bc.entry.js.map} +1 -1
- package/dist/core/p-d4c6f4fb.entry.js +2 -0
- package/dist/core/{p-44af91df.entry.js.map → p-d4c6f4fb.entry.js.map} +1 -1
- package/dist/core/p-d78bded9.entry.js +2 -0
- package/dist/core/p-d78bded9.entry.js.map +1 -0
- package/dist/core/p-d8973266.entry.js +2 -0
- package/dist/core/p-d8973266.entry.js.map +1 -0
- package/dist/core/p-d8b6271d.entry.js +2 -0
- package/dist/core/{p-7f6ba60a.entry.js.map → p-d8b6271d.entry.js.map} +1 -1
- package/dist/core/p-da6f09cd.entry.js +2 -0
- package/dist/core/p-da6f09cd.entry.js.map +1 -0
- package/dist/core/{p-5316e421.entry.js → p-eb33ece2.entry.js} +2 -2
- package/dist/core/{p-5316e421.entry.js.map → p-eb33ece2.entry.js.map} +1 -1
- package/dist/core/p-f37a732a.entry.js +2 -0
- package/dist/core/{p-5d3dd182.entry.js.map → p-f37a732a.entry.js.map} +1 -1
- package/dist/core/p-fca84a85.entry.js +2 -0
- package/dist/core/p-fca84a85.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-db00eae1.js → helpers-8b43d0d4.js} +42 -15
- package/dist/esm/helpers-8b43d0d4.js.map +1 -0
- package/dist/esm/ic-alert.entry.js +3 -2
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +3 -2
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/{ic-breadcrumbs.entry.js → ic-breadcrumb-group.entry.js} +7 -6
- package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -0
- package/dist/esm/ic-breadcrumb.entry.js +3 -2
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +25 -29
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +3 -2
- package/dist/esm/ic-card.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +3 -2
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +3 -2
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-data-entity.entry.js +6 -6
- package/dist/esm/ic-data-entity.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +6 -5
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +2 -1
- package/dist/esm/ic-divider.entry.js.map +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +12 -11
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +8 -7
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +14 -13
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +8 -7
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +83 -28
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +2 -1
- package/dist/esm/ic-input-label_2.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +9 -8
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +8 -7
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +2 -1
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +3 -2
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +3 -2
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +6 -5
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +3 -2
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +3 -2
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +12 -15
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +218 -24
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +3 -2
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +10 -10
- package/dist/esm/ic-skeleton.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +9 -8
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +2 -1
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +2 -1
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +8 -7
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +12 -11
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +142 -0
- package/dist/esm/ic-tab-group.entry.js.map +1 -0
- package/dist/esm/ic-tab-panel.entry.js +2 -1
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +5 -4
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +5 -5
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +2 -1
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +6 -5
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +4 -4
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/index-1500de1f.js +4 -4
- package/dist/esm/loader.js +1 -1
- package/dist/esm/types-dd515332.js +16 -0
- package/dist/esm/types-dd515332.js.map +1 -0
- package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group-test-examples.d.ts +2 -0
- package/dist/types/components/{ic-breadcrumbs/ic-breadcrumbs.d.ts → ic-breadcrumb-group/ic-breadcrumb-group.d.ts} +2 -2
- package/dist/types/components/{ic-breadcrumbs/ic-breadcrumbs.test.a11y.d.ts → ic-breadcrumb-group/ic-breadcrumb-group.test.a11y.d.ts} +0 -0
- package/dist/types/components/ic-button/ic-button.d.ts +5 -11
- package/dist/types/components/ic-button/ic-button.types.d.ts +1 -2
- package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +2 -2
- package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +2 -2
- package/dist/types/components/ic-data-row/ic-data-row.d.ts +2 -2
- package/dist/types/components/ic-footer/ic-footer.d.ts +2 -2
- package/dist/types/components/ic-footer/ic-footer.types.d.ts +1 -1
- package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +1 -1
- package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +2 -2
- package/dist/types/components/ic-hero/ic-hero.d.ts +3 -3
- package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +2 -2
- package/dist/types/components/ic-link/ic-link.d.ts +2 -2
- package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +6 -5
- package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +0 -1
- package/dist/types/components/ic-menu/ic-menu.d.ts +4 -2
- package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -0
- package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -1
- package/dist/types/components/ic-page-header/ic-page-header.d.ts +2 -2
- package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +2 -2
- package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +2 -6
- package/dist/types/components/ic-select/ic-select.d.ts +46 -4
- package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +2 -2
- package/dist/types/components/ic-skeleton/ic-skeleton.types.d.ts +1 -1
- package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +3 -3
- package/dist/types/components/ic-status-tag/ic-status-tag.types.d.ts +1 -1
- package/dist/types/components/ic-switch/ic-switch.d.ts +2 -2
- package/dist/types/components/ic-tab/ic-tab.d.ts +3 -2
- package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +4 -4
- package/dist/types/components/{ic-tab-list/ic-tab-list.d.ts → ic-tab-group/ic-tab-group.d.ts} +6 -5
- package/dist/types/components/ic-text-field/ic-text-field.d.ts +2 -6
- package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +2 -2
- package/dist/types/components/ic-typography/ic-typography.d.ts +2 -2
- package/dist/types/components.d.ts +239 -215
- package/dist/types/utils/helpers.d.ts +11 -2
- package/dist/types/utils/types.d.ts +2 -0
- package/hydrate/index.js +558 -277
- package/package.json +4 -4
- package/dist/cjs/helpers-9d4961dc.js.map +0 -1
- package/dist/cjs/ic-tab-list.cjs.entry.js +0 -145
- package/dist/cjs/ic-tab-list.cjs.entry.js.map +0 -1
- package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs-test-examples.js.map +0 -1
- package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs.js.map +0 -1
- package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-tab-list/ic-tab-list.js.map +0 -1
- package/dist/components/ic-breadcrumbs.js.map +0 -1
- package/dist/components/ic-tab-list.js.map +0 -1
- package/dist/core/p-012dc33c.entry.js +0 -2
- package/dist/core/p-016fcce8.entry.js +0 -2
- package/dist/core/p-0d4ac3c9.entry.js +0 -2
- package/dist/core/p-13854b65.entry.js +0 -2
- package/dist/core/p-13854b65.entry.js.map +0 -1
- package/dist/core/p-16a81e12.entry.js +0 -2
- package/dist/core/p-16a81e12.entry.js.map +0 -1
- package/dist/core/p-17420c90.entry.js +0 -2
- package/dist/core/p-17420c90.entry.js.map +0 -1
- package/dist/core/p-17f3a2bd.entry.js +0 -2
- package/dist/core/p-17f3a2bd.entry.js.map +0 -1
- package/dist/core/p-22eb7fc8.entry.js +0 -2
- package/dist/core/p-22eb7fc8.entry.js.map +0 -1
- package/dist/core/p-263018da.entry.js +0 -2
- package/dist/core/p-263018da.entry.js.map +0 -1
- package/dist/core/p-3b9d4007.entry.js +0 -2
- package/dist/core/p-44355e34.entry.js +0 -2
- package/dist/core/p-44af91df.entry.js +0 -2
- package/dist/core/p-4b1b46f5.entry.js +0 -2
- package/dist/core/p-4b1b46f5.entry.js.map +0 -1
- package/dist/core/p-4cf60a22.entry.js +0 -2
- package/dist/core/p-4cf60a22.entry.js.map +0 -1
- package/dist/core/p-4fba6cae.entry.js +0 -2
- package/dist/core/p-4fba6cae.entry.js.map +0 -1
- package/dist/core/p-5d3dd182.entry.js +0 -2
- package/dist/core/p-5e0b88fa.entry.js +0 -2
- package/dist/core/p-6238313f.entry.js +0 -2
- package/dist/core/p-6238313f.entry.js.map +0 -1
- package/dist/core/p-7152788d.entry.js +0 -2
- package/dist/core/p-7ed79493.entry.js +0 -2
- package/dist/core/p-7ed79493.entry.js.map +0 -1
- package/dist/core/p-7f6ba60a.entry.js +0 -2
- package/dist/core/p-836c93b1.entry.js +0 -2
- package/dist/core/p-85436343.entry.js +0 -2
- package/dist/core/p-856d9516.entry.js +0 -2
- package/dist/core/p-856d9516.entry.js.map +0 -1
- package/dist/core/p-85a32ec7.entry.js +0 -2
- package/dist/core/p-8a677ff1.entry.js +0 -2
- package/dist/core/p-8a677ff1.entry.js.map +0 -1
- package/dist/core/p-8af2a343.entry.js +0 -2
- package/dist/core/p-a3df537f.entry.js +0 -2
- package/dist/core/p-a3df537f.entry.js.map +0 -1
- package/dist/core/p-a968ff18.entry.js +0 -2
- package/dist/core/p-b858dc5a.entry.js +0 -2
- package/dist/core/p-b858dc5a.entry.js.map +0 -1
- package/dist/core/p-b9253509.entry.js.map +0 -1
- package/dist/core/p-bbe0b521.entry.js +0 -2
- package/dist/core/p-bdd2f166.entry.js +0 -2
- package/dist/core/p-bddb885a.entry.js +0 -2
- package/dist/core/p-bddb885a.entry.js.map +0 -1
- package/dist/core/p-c09e9589.entry.js +0 -2
- package/dist/core/p-c09e9589.entry.js.map +0 -1
- package/dist/core/p-d10ce0a7.entry.js +0 -2
- package/dist/core/p-d10ce0a7.entry.js.map +0 -1
- package/dist/core/p-d198ae1f.entry.js +0 -2
- package/dist/core/p-dc79694a.entry.js +0 -2
- package/dist/core/p-dc79694a.entry.js.map +0 -1
- package/dist/core/p-e5a09372.js +0 -2
- package/dist/core/p-e5a09372.js.map +0 -1
- package/dist/core/p-ea93611e.entry.js +0 -2
- package/dist/core/p-ea93611e.entry.js.map +0 -1
- package/dist/core/p-ed1d8712.entry.js +0 -2
- package/dist/esm/helpers-db00eae1.js.map +0 -1
- package/dist/esm/ic-breadcrumbs.entry.js.map +0 -1
- package/dist/esm/ic-tab-list.entry.js +0 -141
- package/dist/esm/ic-tab-list.entry.js.map +0 -1
- package/dist/types/components/ic-breadcrumbs/ic-breadcrumbs-test-examples.d.ts +0 -2
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Host, h, } from "@stencil/core";
|
2
|
-
import { getInputDescribedByText, getLabelFromValue, hasValidationStatus, inheritAttributes, onComponentRequiredPropUndefined, renderHiddenInput, isMobileOrTablet, } from "../../utils/helpers";
|
2
|
+
import { getInputDescribedByText, getLabelFromValue, hasValidationStatus, inheritAttributes, onComponentRequiredPropUndefined, renderHiddenInput, isMobileOrTablet, getFilteredMenuOptions, } from "../../utils/helpers";
|
3
3
|
import { IC_INHERITED_ARIA } from "../../utils/constants";
|
4
4
|
import { IcInformationStatus, IcThemeForegroundEnum, } from "../../utils/types";
|
5
5
|
import Expand from "./assets/Expand.svg";
|
@@ -10,6 +10,23 @@ export class Select {
|
|
10
10
|
this.inputId = `ic-select-input-${inputIds++}`;
|
11
11
|
this.menuId = `${this.inputId}-menu`;
|
12
12
|
this.inheritedAttributes = {};
|
13
|
+
this.isMenuEnabled = () => {
|
14
|
+
return (((this.searchableSelectInputValue === null ||
|
15
|
+
this.searchableSelectInputValue === "") &&
|
16
|
+
this.charactersUntilSuggestions === 0) ||
|
17
|
+
(this.searchableSelectInputValue &&
|
18
|
+
this.searchableSelectInputValue.length >=
|
19
|
+
this.charactersUntilSuggestions));
|
20
|
+
};
|
21
|
+
this.setOptionsValuesFromLabels = () => {
|
22
|
+
if (this.options.length > 0) {
|
23
|
+
this.options.map((option) => {
|
24
|
+
if (!option.value) {
|
25
|
+
option.value = option.label;
|
26
|
+
}
|
27
|
+
});
|
28
|
+
}
|
29
|
+
};
|
13
30
|
this.setTextColor = () => {
|
14
31
|
if (this.nativeSelectElement.selectedIndex === 0) {
|
15
32
|
this.nativeSelectElement.className = "placeholder";
|
@@ -18,18 +35,53 @@ export class Select {
|
|
18
35
|
this.nativeSelectElement.className = "select-option-selected";
|
19
36
|
}
|
20
37
|
};
|
38
|
+
this.setMenuChange = (open) => {
|
39
|
+
if (this.open !== open) {
|
40
|
+
this.open = open;
|
41
|
+
}
|
42
|
+
};
|
21
43
|
this.getLabelFromValue = (value) => {
|
22
44
|
return getLabelFromValue(value, this.options);
|
23
45
|
};
|
46
|
+
this.getValueFromLabel = (label) => {
|
47
|
+
var _a;
|
48
|
+
const value = (_a = this.options.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value;
|
49
|
+
return value;
|
50
|
+
};
|
51
|
+
this.getFilteredChildMenuOptions = (option) => {
|
52
|
+
let children = option.children;
|
53
|
+
children = getFilteredMenuOptions(option.children, this.includeDescriptionsInSearch, this.searchableSelectInputValue, this.searchMatchPosition);
|
54
|
+
const newOption = Object.assign({}, option);
|
55
|
+
newOption.children = children;
|
56
|
+
return newOption;
|
57
|
+
};
|
24
58
|
this.handleNativeSelectChange = () => {
|
25
59
|
this.icChange.emit({ value: this.nativeSelectElement.value });
|
26
60
|
this.setTextColor();
|
27
61
|
};
|
28
62
|
this.handleCustomSelectChange = (event) => {
|
63
|
+
if (this.searchable && event.detail.label === this.emptyOptionListText) {
|
64
|
+
this.searchableSelectElement.focus();
|
65
|
+
return;
|
66
|
+
}
|
67
|
+
if (this.searchable) {
|
68
|
+
this.searchableSelectInputValue = this.getLabelFromValue(event.detail.value);
|
69
|
+
}
|
70
|
+
this.ariaActiveDescendant = event.detail.optionId;
|
29
71
|
this.icChange.emit({ value: event.detail.value });
|
30
72
|
};
|
31
73
|
this.handleMenuChange = (event) => {
|
32
74
|
this.open = event.detail.open;
|
75
|
+
this.searchable && this.handleFocusIndicatorDisplay();
|
76
|
+
};
|
77
|
+
this.handleFocusIndicatorDisplay = () => {
|
78
|
+
const focusIndicator = this.host.shadowRoot.querySelector(".focus-indicator");
|
79
|
+
if (this.open) {
|
80
|
+
focusIndicator.classList.add("focus-indicator-enabled");
|
81
|
+
}
|
82
|
+
else {
|
83
|
+
focusIndicator.classList.remove("focus-indicator-enabled");
|
84
|
+
}
|
33
85
|
};
|
34
86
|
this.handleMouseDown = (event) => {
|
35
87
|
if (!this.open) {
|
@@ -37,17 +89,52 @@ export class Select {
|
|
37
89
|
}
|
38
90
|
};
|
39
91
|
this.handleClick = (event) => {
|
40
|
-
|
92
|
+
this.noOptions = null;
|
93
|
+
this.menu.options = this.options;
|
94
|
+
if (event.detail !== 0 && this.isMenuEnabled()) {
|
41
95
|
this.menu.handleClickOpen();
|
42
96
|
}
|
43
97
|
};
|
98
|
+
this.handleExpandIconMouseDown = (event) => {
|
99
|
+
if (!this.disabled) {
|
100
|
+
event.preventDefault();
|
101
|
+
this.searchableSelectElement.focus();
|
102
|
+
this.handleClick(event);
|
103
|
+
}
|
104
|
+
};
|
44
105
|
this.handleClear = (event) => {
|
45
106
|
event.stopPropagation();
|
107
|
+
this.noOptions = null;
|
46
108
|
this.icChange.emit({ value: null });
|
47
|
-
this.
|
109
|
+
if (this.searchable) {
|
110
|
+
this.searchableSelectElement.value = null;
|
111
|
+
this.searchableSelectInputValue = null;
|
112
|
+
this.menu.options = this.options;
|
113
|
+
this.searchableSelectElement.focus();
|
114
|
+
if (!this.isMenuEnabled()) {
|
115
|
+
this.setMenuChange(false);
|
116
|
+
}
|
117
|
+
}
|
118
|
+
else {
|
119
|
+
this.customSelectElement.focus();
|
120
|
+
}
|
48
121
|
};
|
49
122
|
this.handleKeyDown = (event) => {
|
50
|
-
|
123
|
+
event.cancelBubble = true;
|
124
|
+
if (!this.open) {
|
125
|
+
this.noOptions = null;
|
126
|
+
this.menu.options = this.options;
|
127
|
+
}
|
128
|
+
if (this.open && event.key === "Enter") {
|
129
|
+
this.setMenuChange(false);
|
130
|
+
}
|
131
|
+
else {
|
132
|
+
if (!((event.key === "ArrowDown" || event.key === "ArrowUp") &&
|
133
|
+
this.noOptions !== null) &&
|
134
|
+
this.isMenuEnabled()) {
|
135
|
+
this.menu.handleKeyboardOpen(event);
|
136
|
+
}
|
137
|
+
}
|
51
138
|
};
|
52
139
|
this.handleClearButtonFocus = () => {
|
53
140
|
this.clearButtonFocused = true;
|
@@ -55,10 +142,82 @@ export class Select {
|
|
55
142
|
this.handleClearButtonBlur = () => {
|
56
143
|
this.clearButtonFocused = false;
|
57
144
|
};
|
145
|
+
this.handleSearchableSelectInput = (event) => {
|
146
|
+
this.searchableSelectInputValue = event.target.value;
|
147
|
+
if (this.getValueFromLabel(this.searchableSelectInputValue) === undefined) {
|
148
|
+
this.icChange.emit({ value: null });
|
149
|
+
}
|
150
|
+
if (this.isMenuEnabled()) {
|
151
|
+
this.setMenuChange(true);
|
152
|
+
}
|
153
|
+
else {
|
154
|
+
this.setMenuChange(false);
|
155
|
+
}
|
156
|
+
const options = [...this.options];
|
157
|
+
let isGrouped = false;
|
158
|
+
let newFilteredOptions = [];
|
159
|
+
options.map((option) => {
|
160
|
+
if (option.children)
|
161
|
+
isGrouped = true;
|
162
|
+
});
|
163
|
+
const menuOptionsFiltered = getFilteredMenuOptions(options, this.includeDescriptionsInSearch, this.searchableSelectInputValue, this.searchMatchPosition);
|
164
|
+
if (!isGrouped) {
|
165
|
+
newFilteredOptions = menuOptionsFiltered;
|
166
|
+
}
|
167
|
+
else {
|
168
|
+
options.map((option) => {
|
169
|
+
if (this.includeGroupTitlesInSearch) {
|
170
|
+
if (menuOptionsFiltered.indexOf(option) !== -1) {
|
171
|
+
newFilteredOptions.push(option);
|
172
|
+
}
|
173
|
+
else {
|
174
|
+
newFilteredOptions.push(this.getFilteredChildMenuOptions(option));
|
175
|
+
}
|
176
|
+
}
|
177
|
+
else {
|
178
|
+
newFilteredOptions.push(this.getFilteredChildMenuOptions(option));
|
179
|
+
}
|
180
|
+
});
|
181
|
+
}
|
182
|
+
let noChildOptionsWhenFiltered = false;
|
183
|
+
if (isGrouped) {
|
184
|
+
noChildOptionsWhenFiltered = true;
|
185
|
+
newFilteredOptions.map((option) => {
|
186
|
+
if (option.children.length > 0) {
|
187
|
+
noChildOptionsWhenFiltered = false;
|
188
|
+
}
|
189
|
+
});
|
190
|
+
}
|
191
|
+
const noOptions = [{ label: this.emptyOptionListText, value: "" }];
|
192
|
+
if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {
|
193
|
+
this.noOptions = null;
|
194
|
+
this.filteredOptions = newFilteredOptions;
|
195
|
+
}
|
196
|
+
else {
|
197
|
+
this.noOptions = noOptions;
|
198
|
+
this.filteredOptions = this.noOptions;
|
199
|
+
}
|
200
|
+
this.debounceAriaLiveUpdate();
|
201
|
+
};
|
202
|
+
this.updateSearchableSelectResultAriaLive = () => {
|
203
|
+
const searchableSelectResultsStatusEl = this.host.shadowRoot.querySelector(".searchable-select-results-status");
|
204
|
+
if (this.noOptions !== null) {
|
205
|
+
searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;
|
206
|
+
}
|
207
|
+
else {
|
208
|
+
searchableSelectResultsStatusEl.innerText = "";
|
209
|
+
}
|
210
|
+
};
|
58
211
|
this.onFocus = () => {
|
59
212
|
this.icFocus.emit();
|
60
213
|
};
|
61
|
-
this.onBlur = () => {
|
214
|
+
this.onBlur = (event) => {
|
215
|
+
if (this.searchable &&
|
216
|
+
event.relatedTarget !== this.menu &&
|
217
|
+
!(this.clearButton && event.relatedTarget === this.clearButton)) {
|
218
|
+
this.setMenuChange(false);
|
219
|
+
this.handleFocusIndicatorDisplay();
|
220
|
+
}
|
62
221
|
this.icBlur.emit();
|
63
222
|
};
|
64
223
|
this.label = undefined;
|
@@ -69,15 +228,29 @@ export class Select {
|
|
69
228
|
this.readonly = false;
|
70
229
|
this.placeholder = "Select an option";
|
71
230
|
this.helperText = "";
|
72
|
-
this.
|
231
|
+
this.small = false;
|
73
232
|
this.fullWidth = false;
|
74
233
|
this.validationStatus = "";
|
75
234
|
this.validationText = "";
|
76
235
|
this.value = undefined;
|
77
236
|
this.name = this.inputId;
|
78
237
|
this.showClearButton = false;
|
238
|
+
this.searchable = false;
|
239
|
+
this.includeDescriptionsInSearch = false;
|
240
|
+
this.includeGroupTitlesInSearch = false;
|
241
|
+
this.searchMatchPosition = "anywhere";
|
242
|
+
this.charactersUntilSuggestions = 0;
|
243
|
+
this.emptyOptionListText = "No results found";
|
79
244
|
this.open = false;
|
80
245
|
this.clearButtonFocused = false;
|
246
|
+
this.searchableSelectInputValue = null;
|
247
|
+
this.filteredOptions = this.options;
|
248
|
+
this.ariaActiveDescendant = undefined;
|
249
|
+
this.noOptions = null;
|
250
|
+
}
|
251
|
+
watchOptionsHandler() {
|
252
|
+
this.setOptionsValuesFromLabels();
|
253
|
+
this.filteredOptions = this.options;
|
81
254
|
}
|
82
255
|
/**
|
83
256
|
* Sets focus on the input box.
|
@@ -89,6 +262,15 @@ export class Select {
|
|
89
262
|
else if (this.customSelectElement) {
|
90
263
|
this.customSelectElement.focus();
|
91
264
|
}
|
265
|
+
else if (this.searchableSelectElement) {
|
266
|
+
this.searchableSelectElement.focus();
|
267
|
+
}
|
268
|
+
}
|
269
|
+
debounceAriaLiveUpdate() {
|
270
|
+
clearTimeout(this.debounce);
|
271
|
+
window.setTimeout(() => {
|
272
|
+
this.updateSearchableSelectResultAriaLive();
|
273
|
+
}, 800);
|
92
274
|
}
|
93
275
|
componentWillLoad() {
|
94
276
|
this.inheritedAttributes = inheritAttributes(this.host, [
|
@@ -96,13 +278,7 @@ export class Select {
|
|
96
278
|
"tabindex",
|
97
279
|
"title",
|
98
280
|
]);
|
99
|
-
|
100
|
-
this.options.map((option) => {
|
101
|
-
if (!option.value) {
|
102
|
-
option.value = option.label;
|
103
|
-
}
|
104
|
-
});
|
105
|
-
}
|
281
|
+
this.setOptionsValuesFromLabels();
|
106
282
|
}
|
107
283
|
componentDidRender() {
|
108
284
|
if (this.nativeSelectElement && !this.disabled) {
|
@@ -113,32 +289,46 @@ export class Select {
|
|
113
289
|
onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Select");
|
114
290
|
}
|
115
291
|
render() {
|
116
|
-
const {
|
292
|
+
const { small, disabled, fullWidth, helperText, hideLabel, label, menuId, name, options, placeholder, readonly, required, searchable, showClearButton, validationStatus, validationText, value, } = this;
|
117
293
|
renderHiddenInput(true, this.host, name, value, disabled);
|
118
294
|
const invalid = validationStatus === IcInformationStatus.Error ? "true" : "false";
|
119
|
-
const describedBy = getInputDescribedByText(inputId, helperText !== "", hasValidationStatus(this.validationStatus, this.disabled)).trim();
|
120
|
-
return (h(Host, null, h("ic-input-container", { readonly: readonly }, !hideLabel && (h("ic-input-label", { for: inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly })), h("ic-input-component-container", { ref: (el) => (this.anchorEl = el), class: { "menu-open": open },
|
295
|
+
const describedBy = getInputDescribedByText(this.inputId, helperText !== "", hasValidationStatus(this.validationStatus, this.disabled)).trim();
|
296
|
+
return (h(Host, null, h("ic-input-container", { readonly: readonly }, !hideLabel && (h("ic-input-label", { for: this.inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly })), h("ic-input-component-container", { ref: (el) => (this.anchorEl = el), class: { "menu-open": this.open }, small: small, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, readonly ? (h("ic-typography", null, h("p", null, this.getLabelFromValue(value)))) : isMobileOrTablet() ? (h("select", Object.assign({ ref: (el) => (this.nativeSelectElement = el), disabled: disabled, onChange: this.handleNativeSelectChange, required: required, id: this.inputId, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, onBlur: this.onBlur, onFocus: this.onFocus }, this.inheritedAttributes), h("option", { value: "", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => {
|
121
297
|
if (option.children) {
|
122
298
|
return (h("optgroup", { label: option.label }, option.children.map((option) => (h("option", { value: option.value, disabled: option.disabled, selected: option.value === value }, option.label)))));
|
123
299
|
}
|
124
300
|
else {
|
125
301
|
return (h("option", { value: option.value, disabled: option.disabled, selected: option.value === value }, option.label));
|
126
302
|
}
|
127
|
-
}))) : (h("
|
303
|
+
}))) : searchable ? (h("div", { class: "searchable-select-container" }, h("input", { class: "select-input", role: "combobox", "aria-label": label, "aria-describedby": describedBy, "aria-activedescendant": this.ariaActiveDescendant, "aria-autocomplete": "list", "aria-expanded": this.open ? "true" : "false", "aria-invalid": invalid, "aria-required": required ? "true" : "false", "aria-controls": menuId, ref: (el) => (this.searchableSelectElement = el), id: this.inputId, value: this.searchableSelectInputValue, placeholder: placeholder, disabled: disabled, onInput: this.handleSearchableSelectInput, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onFocus: this.onFocus, onBlur: this.onBlur }), this.searchableSelectInputValue &&
|
304
|
+
(showClearButton || searchable) && (h("div", { class: "clear-button-container" }, h("ic-button", { id: "clear-button", ref: (el) => (this.clearButton = el), "aria-label": this.searchableSelectInputValue && value === null
|
305
|
+
? "Clear input"
|
306
|
+
: "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: small ? "small" : "default", variant: "icon", appearance: this.clearButtonFocused
|
307
|
+
? IcThemeForegroundEnum.Light
|
308
|
+
: IcThemeForegroundEnum.Dark }), h("div", { class: "divider" }))), h("span", { onMouseDown: this.handleExpandIconMouseDown, class: {
|
309
|
+
"expand-icon": true,
|
310
|
+
"expand-icon-open": this.open,
|
311
|
+
"expand-icon-filled": !(value == null || value === ""),
|
312
|
+
"expand-icon-disabled": !this.isMenuEnabled(),
|
313
|
+
}, innerHTML: Expand, "aria-hidden": "true" }), h("div", { "aria-live": "polite", role: "status", class: "searchable-select-results-status" }))) : (h("div", { class: "select-container" }, h("button", { class: "select-input", ref: (el) => (this.customSelectElement = el), id: this.inputId, "aria-label": `${label}, ${this.getLabelFromValue(value) || placeholder}${required ? ", required" : ""}`, "aria-describedby": describedBy, "aria-invalid": invalid, "aria-haspopup": "listbox", "aria-expanded": this.open ? "true" : "false", "aria-owns": menuId, "aria-controls": menuId, disabled: disabled, onBlur: this.onBlur, onFocus: this.onFocus, onClick: this.handleClick, onMouseDown: this.handleMouseDown, onKeyDown: this.handleKeyDown }, h("ic-typography", { variant: "body", class: {
|
128
314
|
"value-text": true,
|
129
315
|
placeholder: this.getLabelFromValue(value) === undefined,
|
130
|
-
} }, h("p", null, this.getLabelFromValue(value) || placeholder)), h("div", { class: "select-input-end" }, value && showClearButton &&
|
131
|
-
? IcThemeForegroundEnum.Light
|
132
|
-
: IcThemeForegroundEnum.Dark }), h("div", { class: "divider" }))), h("span", { class: {
|
316
|
+
} }, h("p", null, this.getLabelFromValue(value) || placeholder)), h("div", { class: "select-input-end" }, value && showClearButton && h("div", { class: "divider" }), h("span", { class: {
|
133
317
|
"expand-icon": true,
|
134
318
|
"expand-icon-open": this.open,
|
135
|
-
"expand-icon-filled": !(
|
136
|
-
}, innerHTML: Expand, "aria-hidden": "true" })))
|
319
|
+
"expand-icon-filled": !(value == null || value === ""),
|
320
|
+
}, innerHTML: Expand, "aria-hidden": "true" }))), value && showClearButton && (h("ic-button", { id: "clear-button", "aria-label": "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: small ? "small" : "default", variant: "icon", appearance: this.clearButtonFocused
|
321
|
+
? IcThemeForegroundEnum.Light
|
322
|
+
: IcThemeForegroundEnum.Dark }))))), !isMobileOrTablet() && (h("ic-menu", { class: {
|
323
|
+
"no-results": this.noOptions !== null,
|
324
|
+
}, ref: (el) => (this.menu = el), inputEl: searchable
|
325
|
+
? this.searchableSelectElement
|
326
|
+
: this.customSelectElement, inputLabel: label, anchorEl: this.anchorEl, small: small, menuId: menuId, open: this.open, options: searchable ? this.filteredOptions : options, value: value, fullWidth: fullWidth, onMenuChange: this.handleMenuChange, onOptionSelect: this.handleCustomSelectChange, parentEl: this.host })), h("ic-input-validation", { class: { "menu-open": this.open }, ariaLiveMode: "polite", status: hasValidationStatus(this.validationStatus, this.disabled) ===
|
137
327
|
false
|
138
328
|
? ""
|
139
329
|
: validationStatus, message: hasValidationStatus(this.validationStatus, this.disabled)
|
140
330
|
? validationText
|
141
|
-
: "", for: inputId }))));
|
331
|
+
: "", for: this.inputId }))));
|
142
332
|
}
|
143
333
|
static get is() { return "ic-select"; }
|
144
334
|
static get encapsulation() { return "shadow"; }
|
@@ -300,7 +490,7 @@ export class Select {
|
|
300
490
|
"reflect": false,
|
301
491
|
"defaultValue": "\"\""
|
302
492
|
},
|
303
|
-
"
|
493
|
+
"small": {
|
304
494
|
"type": "boolean",
|
305
495
|
"mutable": false,
|
306
496
|
"complexType": {
|
@@ -312,9 +502,9 @@ export class Select {
|
|
312
502
|
"optional": true,
|
313
503
|
"docs": {
|
314
504
|
"tags": [],
|
315
|
-
"text": "Specify whether
|
505
|
+
"text": "Specify whether small styling is to be applied to the element."
|
316
506
|
},
|
317
|
-
"attribute": "
|
507
|
+
"attribute": "small",
|
318
508
|
"reflect": false,
|
319
509
|
"defaultValue": "false"
|
320
510
|
},
|
@@ -424,18 +614,135 @@ export class Select {
|
|
424
614
|
"optional": true,
|
425
615
|
"docs": {
|
426
616
|
"tags": [],
|
427
|
-
"text": "Display a button which clears the input when clicked."
|
617
|
+
"text": "Display a button which clears the input when clicked. The button will always appear on the searchable select."
|
428
618
|
},
|
429
619
|
"attribute": "show-clear-button",
|
430
620
|
"reflect": false,
|
431
621
|
"defaultValue": "false"
|
622
|
+
},
|
623
|
+
"searchable": {
|
624
|
+
"type": "boolean",
|
625
|
+
"mutable": false,
|
626
|
+
"complexType": {
|
627
|
+
"original": "boolean",
|
628
|
+
"resolved": "boolean",
|
629
|
+
"references": {}
|
630
|
+
},
|
631
|
+
"required": false,
|
632
|
+
"optional": true,
|
633
|
+
"docs": {
|
634
|
+
"tags": [],
|
635
|
+
"text": "If true, the select can be typed in to filter options."
|
636
|
+
},
|
637
|
+
"attribute": "searchable",
|
638
|
+
"reflect": false,
|
639
|
+
"defaultValue": "false"
|
640
|
+
},
|
641
|
+
"includeDescriptionsInSearch": {
|
642
|
+
"type": "boolean",
|
643
|
+
"mutable": false,
|
644
|
+
"complexType": {
|
645
|
+
"original": "boolean",
|
646
|
+
"resolved": "boolean",
|
647
|
+
"references": {}
|
648
|
+
},
|
649
|
+
"required": false,
|
650
|
+
"optional": true,
|
651
|
+
"docs": {
|
652
|
+
"tags": [],
|
653
|
+
"text": "If true, descriptions of options are included when filtering options in a searchable select."
|
654
|
+
},
|
655
|
+
"attribute": "include-descriptions-in-search",
|
656
|
+
"reflect": false,
|
657
|
+
"defaultValue": "false"
|
658
|
+
},
|
659
|
+
"includeGroupTitlesInSearch": {
|
660
|
+
"type": "boolean",
|
661
|
+
"mutable": false,
|
662
|
+
"complexType": {
|
663
|
+
"original": "boolean",
|
664
|
+
"resolved": "boolean",
|
665
|
+
"references": {}
|
666
|
+
},
|
667
|
+
"required": false,
|
668
|
+
"optional": true,
|
669
|
+
"docs": {
|
670
|
+
"tags": [],
|
671
|
+
"text": "If true, group titles of grouped options are included when filtering options in a searchable select."
|
672
|
+
},
|
673
|
+
"attribute": "include-group-titles-in-search",
|
674
|
+
"reflect": false,
|
675
|
+
"defaultValue": "false"
|
676
|
+
},
|
677
|
+
"searchMatchPosition": {
|
678
|
+
"type": "string",
|
679
|
+
"mutable": false,
|
680
|
+
"complexType": {
|
681
|
+
"original": "IcSearchMatchPositions",
|
682
|
+
"resolved": "\"anywhere\" | \"start\"",
|
683
|
+
"references": {
|
684
|
+
"IcSearchMatchPositions": {
|
685
|
+
"location": "import",
|
686
|
+
"path": "../../utils/types"
|
687
|
+
}
|
688
|
+
}
|
689
|
+
},
|
690
|
+
"required": false,
|
691
|
+
"optional": true,
|
692
|
+
"docs": {
|
693
|
+
"tags": [],
|
694
|
+
"text": "Whether the search string of the searchable select should match the start of or anywhere in the options."
|
695
|
+
},
|
696
|
+
"attribute": "search-match-position",
|
697
|
+
"reflect": false,
|
698
|
+
"defaultValue": "\"anywhere\""
|
699
|
+
},
|
700
|
+
"charactersUntilSuggestions": {
|
701
|
+
"type": "number",
|
702
|
+
"mutable": false,
|
703
|
+
"complexType": {
|
704
|
+
"original": "number",
|
705
|
+
"resolved": "number",
|
706
|
+
"references": {}
|
707
|
+
},
|
708
|
+
"required": false,
|
709
|
+
"optional": true,
|
710
|
+
"docs": {
|
711
|
+
"tags": [],
|
712
|
+
"text": "Number of characters until suggestions appear for a searchable select."
|
713
|
+
},
|
714
|
+
"attribute": "characters-until-suggestions",
|
715
|
+
"reflect": false,
|
716
|
+
"defaultValue": "0"
|
717
|
+
},
|
718
|
+
"emptyOptionListText": {
|
719
|
+
"type": "string",
|
720
|
+
"mutable": false,
|
721
|
+
"complexType": {
|
722
|
+
"original": "string",
|
723
|
+
"resolved": "string",
|
724
|
+
"references": {}
|
725
|
+
},
|
726
|
+
"required": false,
|
727
|
+
"optional": false,
|
728
|
+
"docs": {
|
729
|
+
"tags": [],
|
730
|
+
"text": "Provide text for empty results list"
|
731
|
+
},
|
732
|
+
"attribute": "empty-option-list-text",
|
733
|
+
"reflect": false,
|
734
|
+
"defaultValue": "\"No results found\""
|
432
735
|
}
|
433
736
|
};
|
434
737
|
}
|
435
738
|
static get states() {
|
436
739
|
return {
|
437
740
|
"open": {},
|
438
|
-
"clearButtonFocused": {}
|
741
|
+
"clearButtonFocused": {},
|
742
|
+
"searchableSelectInputValue": {},
|
743
|
+
"filteredOptions": {},
|
744
|
+
"ariaActiveDescendant": {},
|
745
|
+
"noOptions": {}
|
439
746
|
};
|
440
747
|
}
|
441
748
|
static get events() {
|
@@ -512,5 +819,11 @@ export class Select {
|
|
512
819
|
};
|
513
820
|
}
|
514
821
|
static get elementRef() { return "host"; }
|
822
|
+
static get watchers() {
|
823
|
+
return [{
|
824
|
+
"propName": "options",
|
825
|
+
"methodName": "watchOptionsHandler"
|
826
|
+
}];
|
827
|
+
}
|
515
828
|
}
|
516
829
|
//# sourceMappingURL=ic-select.js.map
|