wcs-core 4.2.0 → 5.0.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/{accessibility-e99b032d.js → accessibility-c0c4e648.js} +8 -2
- package/dist/cjs/accessibility-c0c4e648.js.map +1 -0
- package/dist/cjs/button-interface-044a8a8a.js +12 -0
- package/dist/cjs/button-interface-044a8a8a.js.map +1 -0
- package/dist/cjs/grid-pagination-3511fdfa.js +111 -0
- package/dist/cjs/grid-pagination-3511fdfa.js.map +1 -0
- package/dist/cjs/{helpers-4a14051a.js → helpers-6280db6e.js} +75 -2
- package/dist/cjs/helpers-6280db6e.js.map +1 -0
- package/dist/cjs/{index-ca67a6dc.js → index-749d999e.js} +4 -1
- package/dist/cjs/index-749d999e.js.map +1 -0
- package/dist/cjs/{isEqual-9ea7ee49.js → keyboard-event-1cad4036.js} +77 -1
- package/dist/cjs/keyboard-event-1cad4036.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{select-arrow-c9583ea9.js → select-arrow-8169c0cb.js} +2 -2
- package/dist/cjs/{select-arrow-c9583ea9.js.map → select-arrow-8169c0cb.js.map} +1 -1
- package/dist/cjs/wcs-accordion-content.cjs.entry.js +1 -1
- package/dist/cjs/wcs-accordion-header.cjs.entry.js +1 -1
- package/dist/cjs/wcs-accordion-panel.cjs.entry.js +2 -2
- package/dist/cjs/wcs-accordion.cjs.entry.js +1 -1
- package/dist/cjs/wcs-action-bar.cjs.entry.js +1 -1
- package/dist/cjs/wcs-app.cjs.entry.js +1 -1
- package/dist/cjs/wcs-badge.cjs.entry.js +3 -2
- package/dist/cjs/wcs-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/{wcs-button.cjs.entry.js → wcs-button_2.cjs.entry.js} +21 -12
- package/dist/cjs/wcs-button_2.cjs.entry.js.map +1 -0
- package/dist/cjs/wcs-card-body.cjs.entry.js +1 -1
- package/dist/cjs/wcs-card.cjs.entry.js +1 -1
- package/dist/cjs/wcs-checkbox.cjs.entry.js +5 -2
- package/dist/cjs/wcs-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-com-nav-category.cjs.entry.js +2 -2
- package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js +2 -2
- package/dist/cjs/wcs-com-nav.cjs.entry.js +2 -2
- package/dist/cjs/wcs-counter.cjs.entry.js +16 -6
- package/dist/cjs/wcs-counter.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-divider.cjs.entry.js +1 -1
- package/dist/cjs/wcs-dropdown-divider.cjs.entry.js +1 -1
- package/dist/cjs/wcs-dropdown-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-dropdown-header.cjs.entry.js +1 -1
- package/dist/cjs/wcs-dropdown-header.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-dropdown-item.cjs.entry.js +2 -2
- package/dist/cjs/wcs-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-dropdown.cjs.entry.js +12 -6
- package/dist/cjs/wcs-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-editable-field.cjs.entry.js +18 -3
- package/dist/cjs/wcs-editable-field.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-error_2.cjs.entry.js +36 -2
- package/dist/cjs/wcs-error_2.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-field-content.cjs.entry.js +1 -1
- package/dist/cjs/wcs-field-label.cjs.entry.js +1 -1
- package/dist/cjs/wcs-field.cjs.entry.js +1 -1
- package/dist/cjs/wcs-footer.cjs.entry.js +1 -1
- package/dist/cjs/wcs-galactic-menu.cjs.entry.js +2 -2
- package/dist/cjs/wcs-galactic.cjs.entry.js +1 -1
- package/dist/cjs/wcs-grid-column.cjs.entry.js +25 -4
- package/dist/cjs/wcs-grid-column.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-grid-custom-cell.cjs.entry.js +1 -1
- package/dist/cjs/wcs-grid-pagination.cjs.entry.js +2 -2
- package/dist/cjs/wcs-grid.cjs.entry.js +320 -65
- package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-header.cjs.entry.js +1 -1
- package/dist/cjs/wcs-hint.cjs.entry.js +1 -1
- package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +1 -1
- package/dist/cjs/wcs-icon.cjs.entry.js +1 -1
- package/dist/cjs/wcs-input.cjs.entry.js +15 -15
- package/dist/cjs/wcs-input.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-label.cjs.entry.js +1 -1
- package/dist/cjs/wcs-label.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-list-item-properties.cjs.entry.js +1 -1
- package/dist/cjs/wcs-list-item-property.cjs.entry.js +1 -1
- package/dist/cjs/wcs-list-item.cjs.entry.js +1 -1
- package/dist/cjs/wcs-mat-icon.cjs.entry.js +2 -2
- package/dist/cjs/wcs-mat-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-modal.cjs.entry.js +35 -5
- package/dist/cjs/wcs-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-native-select.cjs.entry.js +6 -3
- package/dist/cjs/wcs-native-select.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-nav-item.cjs.entry.js +2 -2
- package/dist/cjs/wcs-nav.cjs.entry.js +1 -1
- package/dist/cjs/wcs-progress-bar.cjs.entry.js +4 -6
- package/dist/cjs/wcs-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-progress-radial.cjs.entry.js +14 -6
- package/dist/cjs/wcs-progress-radial.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-radio-group.cjs.entry.js +22 -15
- package/dist/cjs/wcs-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-radio.cjs.entry.js +14 -7
- package/dist/cjs/wcs-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-select_2.cjs.entry.js +603 -111
- package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-skeleton-circle.cjs.entry.js +1 -1
- package/dist/cjs/wcs-skeleton-rectangle.cjs.entry.js +1 -1
- package/dist/cjs/wcs-skeleton-text.cjs.entry.js +1 -1
- package/dist/cjs/wcs-switch.cjs.entry.js +5 -2
- package/dist/cjs/wcs-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-tab.cjs.entry.js +4 -1
- package/dist/cjs/wcs-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-tabs.cjs.entry.js +4 -4
- package/dist/cjs/wcs-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-textarea.cjs.entry.js +13 -11
- package/dist/cjs/wcs-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/wcs.cjs.js +2 -2
- package/dist/collection/components/badge/badge-interface.js.map +1 -1
- package/dist/collection/components/badge/badge.css +19 -1
- package/dist/collection/components/badge/badge.js +24 -0
- package/dist/collection/components/badge/badge.js.map +1 -1
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/checkbox/checkbox.js +34 -1
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/counter/counter.css +6 -1
- package/dist/collection/components/counter/counter.js +61 -3
- package/dist/collection/components/counter/counter.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.css +15 -4
- package/dist/collection/components/dropdown/dropdown.js +37 -1
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/dropdown-divider/dropdown-divider.js +3 -0
- package/dist/collection/components/dropdown-divider/dropdown-divider.js.map +1 -1
- package/dist/collection/components/dropdown-header/dropdown-header.js +4 -0
- package/dist/collection/components/dropdown-header/dropdown-header.js.map +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.js +5 -1
- package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
- package/dist/collection/components/editable-field/editable-field.js +17 -2
- package/dist/collection/components/editable-field/editable-field.js.map +1 -1
- package/dist/collection/components/error/error.js +1 -1
- package/dist/collection/components/error/error.js.map +1 -1
- package/dist/collection/components/form-field/form-field.js +31 -0
- package/dist/collection/components/form-field/form-field.js.map +1 -1
- package/dist/collection/components/grid/grid-interface.js.map +1 -1
- package/dist/collection/components/grid/grid-keyboard-event.js +52 -0
- package/dist/collection/components/grid/grid-keyboard-event.js.map +1 -0
- package/dist/collection/components/grid/grid.css +5 -0
- package/dist/collection/components/grid/grid.js +265 -29
- package/dist/collection/components/grid/grid.js.map +1 -1
- package/dist/collection/components/grid-column/grid-column.css +5 -0
- package/dist/collection/components/grid-column/grid-column.js +60 -1
- package/dist/collection/components/grid-column/grid-column.js.map +1 -1
- package/dist/collection/components/grid-column/grid-sort-arrow.js +1 -1
- package/dist/collection/components/grid-column/grid-sort-arrow.js.map +1 -1
- package/dist/collection/components/grid-pagination/grid-pagination-arrow.js +32 -23
- package/dist/collection/components/grid-pagination/grid-pagination-arrow.js.map +1 -1
- package/dist/collection/components/grid-pagination/grid-pagination.css +17 -0
- package/dist/collection/components/grid-pagination/grid-pagination.js +1 -1
- package/dist/collection/components/grid-pagination/grid-pagination.js.map +1 -1
- package/dist/collection/components/input/input.js +64 -28
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/label/label.js.map +1 -1
- package/dist/collection/components/mat-icon/mat-icon.js +1 -1
- package/dist/collection/components/mat-icon/mat-icon.js.map +1 -1
- package/dist/collection/components/modal/modal.css +2 -2
- package/dist/collection/components/modal/modal.js +73 -2
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/native-select/native-select.css +6 -5
- package/dist/collection/components/native-select/native-select.js +29 -0
- package/dist/collection/components/native-select/native-select.js.map +1 -1
- package/dist/collection/components/progress-bar/progress-bar.css +12 -11
- package/dist/collection/components/progress-bar/progress-bar.js +22 -13
- package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
- package/dist/collection/components/progress-radial/progress-radial.css +5 -0
- package/dist/collection/components/progress-radial/progress-radial.js +18 -7
- package/dist/collection/components/progress-radial/progress-radial.js.map +1 -1
- package/dist/collection/components/radio/radio.css +8 -16
- package/dist/collection/components/radio/radio.js +12 -5
- package/dist/collection/components/radio/radio.js.map +1 -1
- package/dist/collection/components/radio-group/radio-group.js +50 -13
- package/dist/collection/components/radio-group/radio-group.js.map +1 -1
- package/dist/collection/components/select/select-interface.js +10 -0
- package/dist/collection/components/select/select-interface.js.map +1 -1
- package/dist/collection/components/select/select-keyboard-event.js +306 -0
- package/dist/collection/components/select/select-keyboard-event.js.map +1 -0
- package/dist/collection/components/select/select.css +59 -6
- package/dist/collection/components/select/select.js +435 -111
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select-option/select-option.css +15 -0
- package/dist/collection/components/select-option/select-option.js +30 -5
- package/dist/collection/components/select-option/select-option.js.map +1 -1
- package/dist/collection/components/switch/switch.js +34 -1
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/components/tab/tab.css +7 -0
- package/dist/collection/components/tab/tab.js +11 -1
- package/dist/collection/components/tab/tab.js.map +1 -1
- package/dist/collection/components/tabs/tabs.js +7 -3
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/components/textarea/textarea.css +8 -3
- package/dist/collection/components/textarea/textarea.js +41 -12
- package/dist/collection/components/textarea/textarea.js.map +1 -1
- package/dist/collection/utils/accessibility.js +7 -1
- package/dist/collection/utils/accessibility.js.map +1 -1
- package/dist/collection/utils/helpers.js +76 -1
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/keyboard-event.js +74 -0
- package/dist/collection/utils/keyboard-event.js.map +1 -0
- package/dist/collection/utils/mutable-aria-attribute.js +4 -0
- package/dist/collection/utils/mutable-aria-attribute.js.map +1 -0
- package/dist/esm/{accessibility-ffa12842.js → accessibility-64feea8a.js} +8 -2
- package/dist/esm/accessibility-64feea8a.js.map +1 -0
- package/dist/esm/button-interface-c21c265f.js +9 -0
- package/dist/esm/button-interface-c21c265f.js.map +1 -0
- package/dist/esm/grid-pagination-f7b01e2e.js +109 -0
- package/dist/esm/grid-pagination-f7b01e2e.js.map +1 -0
- package/dist/esm/{helpers-1d55b67f.js → helpers-a21ae7d0.js} +75 -3
- package/dist/esm/helpers-a21ae7d0.js.map +1 -0
- package/dist/esm/{index-dc4d96d4.js → index-4f282598.js} +4 -1
- package/dist/esm/index-4f282598.js.map +1 -0
- package/dist/esm/{isEqual-20881bca.js → keyboard-event-ba3d20e7.js} +77 -2
- package/dist/esm/keyboard-event-ba3d20e7.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{select-arrow-81d069f7.js → select-arrow-28e8687b.js} +2 -2
- package/dist/esm/{select-arrow-81d069f7.js.map → select-arrow-28e8687b.js.map} +1 -1
- package/dist/esm/wcs-accordion-content.entry.js +1 -1
- package/dist/esm/wcs-accordion-header.entry.js +1 -1
- package/dist/esm/wcs-accordion-panel.entry.js +2 -2
- package/dist/esm/wcs-accordion.entry.js +1 -1
- package/dist/esm/wcs-action-bar.entry.js +1 -1
- package/dist/esm/wcs-app.entry.js +1 -1
- package/dist/esm/wcs-badge.entry.js +3 -2
- package/dist/esm/wcs-badge.entry.js.map +1 -1
- package/dist/esm/{wcs-button.entry.js → wcs-button_2.entry.js} +19 -11
- package/dist/esm/wcs-button_2.entry.js.map +1 -0
- package/dist/esm/wcs-card-body.entry.js +1 -1
- package/dist/esm/wcs-card.entry.js +1 -1
- package/dist/esm/wcs-checkbox.entry.js +5 -2
- package/dist/esm/wcs-checkbox.entry.js.map +1 -1
- package/dist/esm/wcs-com-nav-category.entry.js +2 -2
- package/dist/esm/wcs-com-nav-submenu.entry.js +2 -2
- package/dist/esm/wcs-com-nav.entry.js +2 -2
- package/dist/esm/wcs-counter.entry.js +16 -6
- package/dist/esm/wcs-counter.entry.js.map +1 -1
- package/dist/esm/wcs-divider.entry.js +1 -1
- package/dist/esm/wcs-dropdown-divider.entry.js +1 -1
- package/dist/esm/wcs-dropdown-divider.entry.js.map +1 -1
- package/dist/esm/wcs-dropdown-header.entry.js +1 -1
- package/dist/esm/wcs-dropdown-header.entry.js.map +1 -1
- package/dist/esm/wcs-dropdown-item.entry.js +2 -2
- package/dist/esm/wcs-dropdown-item.entry.js.map +1 -1
- package/dist/esm/wcs-dropdown.entry.js +12 -6
- package/dist/esm/wcs-dropdown.entry.js.map +1 -1
- package/dist/esm/wcs-editable-field.entry.js +18 -3
- package/dist/esm/wcs-editable-field.entry.js.map +1 -1
- package/dist/esm/wcs-error_2.entry.js +36 -2
- package/dist/esm/wcs-error_2.entry.js.map +1 -1
- package/dist/esm/wcs-field-content.entry.js +1 -1
- package/dist/esm/wcs-field-label.entry.js +1 -1
- package/dist/esm/wcs-field.entry.js +1 -1
- package/dist/esm/wcs-footer.entry.js +1 -1
- package/dist/esm/wcs-galactic-menu.entry.js +2 -2
- package/dist/esm/wcs-galactic.entry.js +1 -1
- package/dist/esm/wcs-grid-column.entry.js +25 -4
- package/dist/esm/wcs-grid-column.entry.js.map +1 -1
- package/dist/esm/wcs-grid-custom-cell.entry.js +1 -1
- package/dist/esm/wcs-grid-pagination.entry.js +2 -2
- package/dist/esm/wcs-grid.entry.js +282 -27
- package/dist/esm/wcs-grid.entry.js.map +1 -1
- package/dist/esm/wcs-header.entry.js +1 -1
- package/dist/esm/wcs-hint.entry.js +1 -1
- package/dist/esm/wcs-horizontal-stepper.entry.js +1 -1
- package/dist/esm/wcs-icon.entry.js +1 -1
- package/dist/esm/wcs-input.entry.js +15 -15
- package/dist/esm/wcs-input.entry.js.map +1 -1
- package/dist/esm/wcs-label.entry.js +1 -1
- package/dist/esm/wcs-label.entry.js.map +1 -1
- package/dist/esm/wcs-list-item-properties.entry.js +1 -1
- package/dist/esm/wcs-list-item-property.entry.js +1 -1
- package/dist/esm/wcs-list-item.entry.js +1 -1
- package/dist/esm/wcs-mat-icon.entry.js +2 -2
- package/dist/esm/wcs-mat-icon.entry.js.map +1 -1
- package/dist/esm/wcs-modal.entry.js +35 -5
- package/dist/esm/wcs-modal.entry.js.map +1 -1
- package/dist/esm/wcs-native-select.entry.js +6 -3
- package/dist/esm/wcs-native-select.entry.js.map +1 -1
- package/dist/esm/wcs-nav-item.entry.js +2 -2
- package/dist/esm/wcs-nav.entry.js +1 -1
- package/dist/esm/wcs-progress-bar.entry.js +4 -6
- package/dist/esm/wcs-progress-bar.entry.js.map +1 -1
- package/dist/esm/wcs-progress-radial.entry.js +14 -6
- package/dist/esm/wcs-progress-radial.entry.js.map +1 -1
- package/dist/esm/wcs-radio-group.entry.js +22 -15
- package/dist/esm/wcs-radio-group.entry.js.map +1 -1
- package/dist/esm/wcs-radio.entry.js +14 -7
- package/dist/esm/wcs-radio.entry.js.map +1 -1
- package/dist/esm/wcs-select_2.entry.js +602 -110
- package/dist/esm/wcs-select_2.entry.js.map +1 -1
- package/dist/esm/wcs-skeleton-circle.entry.js +1 -1
- package/dist/esm/wcs-skeleton-rectangle.entry.js +1 -1
- package/dist/esm/wcs-skeleton-text.entry.js +1 -1
- package/dist/esm/wcs-switch.entry.js +5 -2
- package/dist/esm/wcs-switch.entry.js.map +1 -1
- package/dist/esm/wcs-tab.entry.js +4 -1
- package/dist/esm/wcs-tab.entry.js.map +1 -1
- package/dist/esm/wcs-tabs.entry.js +4 -4
- package/dist/esm/wcs-tabs.entry.js.map +1 -1
- package/dist/esm/wcs-textarea.entry.js +13 -11
- package/dist/esm/wcs-textarea.entry.js.map +1 -1
- package/dist/esm/wcs-tooltip.entry.js +1 -1
- package/dist/esm/wcs.js +3 -3
- package/dist/types/components/badge/badge-interface.d.ts +2 -0
- package/dist/types/components/badge/badge.d.ts +5 -1
- package/dist/types/components/checkbox/checkbox.d.ts +4 -1
- package/dist/types/components/counter/counter.d.ts +8 -1
- package/dist/types/components/dropdown/dropdown.d.ts +10 -1
- package/dist/types/components/dropdown-divider/dropdown-divider.d.ts +3 -0
- package/dist/types/components/dropdown-header/dropdown-header.d.ts +4 -0
- package/dist/types/components/dropdown-item/dropdown-item.d.ts +7 -0
- package/dist/types/components/editable-field/editable-field.d.ts +7 -0
- package/dist/types/components/form-field/form-field.d.ts +4 -0
- package/dist/types/components/grid/grid-interface.d.ts +14 -2
- package/dist/types/components/grid/grid-keyboard-event.d.ts +16 -0
- package/dist/types/components/grid/grid.d.ts +59 -4
- package/dist/types/components/grid-column/grid-column.d.ts +17 -0
- package/dist/types/components/input/input.d.ts +40 -17
- package/dist/types/components/modal/modal.d.ts +37 -1
- package/dist/types/components/native-select/native-select.d.ts +3 -1
- package/dist/types/components/progress-bar/progress-bar.d.ts +8 -3
- package/dist/types/components/progress-radial/progress-radial.d.ts +12 -0
- package/dist/types/components/radio/radio.d.ts +3 -0
- package/dist/types/components/radio-group/radio-group.d.ts +3 -1
- package/dist/types/components/select/select-interface.d.ts +12 -0
- package/dist/types/components/select/select-keyboard-event.d.ts +38 -0
- package/dist/types/components/select/select.d.ts +76 -15
- package/dist/types/components/select-option/select-option.d.ts +10 -4
- package/dist/types/components/switch/switch.d.ts +4 -1
- package/dist/types/components/tab/tab.d.ts +3 -0
- package/dist/types/components/tabs/tabs.d.ts +4 -0
- package/dist/types/components/textarea/textarea.d.ts +8 -4
- package/dist/types/components.d.ts +357 -55
- package/dist/types/utils/accessibility.d.ts +4 -0
- package/dist/types/utils/helpers.d.ts +12 -1
- package/dist/types/utils/keyboard-event.d.ts +13 -0
- package/dist/types/utils/mutable-aria-attribute.d.ts +5 -0
- package/dist/wcs/{p-7a3f70da.entry.js → p-00f6a79a.entry.js} +2 -2
- package/dist/wcs/{p-ee453b6e.entry.js → p-016e4dd9.entry.js} +2 -2
- package/dist/wcs/p-0ae177cf.js +2 -0
- package/dist/wcs/p-0ae177cf.js.map +1 -0
- package/dist/wcs/{p-f06f48f3.entry.js → p-0d02d9e4.entry.js} +2 -2
- package/dist/wcs/p-0d02d9e4.entry.js.map +1 -0
- package/dist/wcs/{p-30d8f9c3.entry.js → p-11ab4ffc.entry.js} +2 -2
- package/dist/wcs/p-13548191.entry.js +2 -0
- package/dist/wcs/p-13548191.entry.js.map +1 -0
- package/dist/wcs/p-13ffe5f3.entry.js +2 -0
- package/dist/wcs/p-13ffe5f3.entry.js.map +1 -0
- package/dist/wcs/{p-dfddec76.entry.js → p-17442a2f.entry.js} +2 -2
- package/dist/wcs/p-1d49a02e.entry.js +2 -0
- package/dist/wcs/p-1d49a02e.entry.js.map +1 -0
- package/dist/wcs/{p-d6c3e615.js → p-24611014.js} +2 -2
- package/dist/wcs/p-250b3794.entry.js +2 -0
- package/dist/wcs/{p-91b3e4b5.entry.js.map → p-250b3794.entry.js.map} +1 -1
- package/dist/wcs/{p-292ca644.entry.js → p-2d62b3dd.entry.js} +2 -2
- package/dist/wcs/{p-d6b3f742.entry.js → p-33a5594d.entry.js} +2 -2
- package/dist/wcs/p-33a570ee.js +2 -0
- package/dist/wcs/p-33a570ee.js.map +1 -0
- package/dist/wcs/{p-e86c6cbb.entry.js → p-34079054.entry.js} +2 -2
- package/dist/wcs/{p-e86c6cbb.entry.js.map → p-34079054.entry.js.map} +1 -1
- package/dist/wcs/{p-257b15b9.entry.js → p-36e83879.entry.js} +2 -2
- package/dist/wcs/p-44410e32.entry.js +2 -0
- package/dist/wcs/p-44410e32.entry.js.map +1 -0
- package/dist/wcs/{p-7269272f.entry.js → p-46184d47.entry.js} +2 -2
- package/dist/wcs/p-46975b1e.entry.js +2 -0
- package/dist/wcs/p-46975b1e.entry.js.map +1 -0
- package/dist/wcs/{p-4a9f8e94.entry.js → p-46d56c4e.entry.js} +3 -3
- package/dist/wcs/{p-fc3f5b53.entry.js → p-4820154c.entry.js} +2 -2
- package/dist/wcs/p-49b0de03.entry.js +2 -0
- package/dist/wcs/p-49b0de03.entry.js.map +1 -0
- package/dist/wcs/{p-ff9967eb.entry.js → p-4af68f13.entry.js} +2 -2
- package/dist/wcs/{p-1f8c73eb.entry.js → p-5f0ab1dc.entry.js} +2 -2
- package/dist/wcs/p-5f0ab1dc.entry.js.map +1 -0
- package/dist/wcs/p-5f3e6b0c.entry.js +2 -0
- package/dist/wcs/p-5f3e6b0c.entry.js.map +1 -0
- package/dist/wcs/{p-50dce764.entry.js → p-61b934a7.entry.js} +2 -2
- package/dist/wcs/p-64855188.js +2 -0
- package/dist/wcs/p-64855188.js.map +1 -0
- package/dist/wcs/p-680b107c.entry.js +2 -0
- package/dist/wcs/p-68d654da.js +2 -0
- package/dist/wcs/p-68d654da.js.map +1 -0
- package/dist/wcs/p-69d1223c.js +3 -0
- package/dist/wcs/p-69d1223c.js.map +1 -0
- package/dist/wcs/p-6f538b67.entry.js +2 -0
- package/dist/wcs/p-6f538b67.entry.js.map +1 -0
- package/dist/wcs/p-7c145ed0.entry.js +2 -0
- package/dist/wcs/p-7c145ed0.entry.js.map +1 -0
- package/dist/wcs/p-8724a296.entry.js +2 -0
- package/dist/wcs/p-8724a296.entry.js.map +1 -0
- package/dist/wcs/{p-d084dd61.entry.js → p-88b1cdfe.entry.js} +2 -2
- package/dist/wcs/{p-c7494651.entry.js → p-8ff7e463.entry.js} +2 -2
- package/dist/wcs/p-90a7fd68.entry.js +2 -0
- package/dist/wcs/p-90a7fd68.entry.js.map +1 -0
- package/dist/wcs/{p-cfcacc44.entry.js → p-914aa964.entry.js} +2 -2
- package/dist/wcs/p-93fcef08.entry.js +2 -0
- package/dist/wcs/p-93fcef08.entry.js.map +1 -0
- package/dist/wcs/{p-429bd9fb.entry.js → p-9b1c73b3.entry.js} +2 -2
- package/dist/wcs/p-9cc48d75.js +2 -0
- package/dist/wcs/p-9cc48d75.js.map +1 -0
- package/dist/wcs/p-a3518f66.entry.js +2 -0
- package/dist/wcs/p-a361d9f1.entry.js +2 -0
- package/dist/wcs/{p-31a8d23f.entry.js → p-a85208ca.entry.js} +2 -2
- package/dist/wcs/{p-d3f1cafe.entry.js → p-b91323fc.entry.js} +2 -2
- package/dist/wcs/{p-47d8ece5.entry.js → p-bd4029f8.entry.js} +2 -2
- package/dist/wcs/{p-e348058b.entry.js → p-bed4e3ce.entry.js} +2 -2
- package/dist/wcs/{p-f489793d.entry.js → p-c261353f.entry.js} +2 -2
- package/dist/wcs/p-c261353f.entry.js.map +1 -0
- package/dist/wcs/p-c3227f01.entry.js +2 -0
- package/dist/wcs/p-c3227f01.entry.js.map +1 -0
- package/dist/wcs/{p-810aff71.entry.js → p-c38adf4b.entry.js} +2 -2
- package/dist/wcs/{p-2185bf8b.entry.js → p-c6a8c6f9.entry.js} +2 -2
- package/dist/wcs/p-c9478849.entry.js +2 -0
- package/dist/wcs/p-c9478849.entry.js.map +1 -0
- package/dist/wcs/p-ce3ef5d0.entry.js +2 -0
- package/dist/wcs/p-ce3ef5d0.entry.js.map +1 -0
- package/dist/wcs/{p-54e29233.entry.js → p-ce40b012.entry.js} +2 -2
- package/dist/wcs/{p-54e29233.entry.js.map → p-ce40b012.entry.js.map} +1 -1
- package/dist/wcs/p-d6c482fc.entry.js +2 -0
- package/dist/wcs/p-d6c482fc.entry.js.map +1 -0
- package/dist/wcs/{p-1e43122f.entry.js → p-d84cee70.entry.js} +2 -2
- package/dist/wcs/p-d895b92c.entry.js +16 -0
- package/dist/wcs/p-d895b92c.entry.js.map +1 -0
- package/dist/wcs/p-dca2f42c.entry.js +2 -0
- package/dist/wcs/{p-7519a270.entry.js → p-e0d5908a.entry.js} +2 -2
- package/dist/wcs/{p-a5cd4c07.entry.js → p-e487ff2c.entry.js} +2 -2
- package/dist/wcs/p-e487ff2c.entry.js.map +1 -0
- package/dist/wcs/{p-3b1fc676.entry.js → p-e52c11e4.entry.js} +2 -2
- package/dist/wcs/{p-0ede0c37.entry.js → p-e7661047.entry.js} +2 -2
- package/dist/wcs/p-ea6e33ee.entry.js +2 -0
- package/dist/wcs/{p-cc03627c.entry.js → p-f7ce4e0d.entry.js} +2 -2
- package/dist/wcs/{p-b6160b7c.entry.js → p-faf04401.entry.js} +2 -2
- package/dist/wcs/p-fc1767ae.entry.js +2 -0
- package/dist/wcs/p-fc1767ae.entry.js.map +1 -0
- package/dist/wcs/p-feebc469.entry.js +2 -0
- package/dist/wcs/p-feebc469.entry.js.map +1 -0
- package/dist/wcs/wcs.css +1 -1
- package/dist/wcs/wcs.esm.js +1 -1
- package/dist/wcs/wcs.esm.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/accessibility-e99b032d.js.map +0 -1
- package/dist/cjs/grid-pagination-4b55c908.js +0 -101
- package/dist/cjs/grid-pagination-4b55c908.js.map +0 -1
- package/dist/cjs/helpers-4a14051a.js.map +0 -1
- package/dist/cjs/index-ca67a6dc.js.map +0 -1
- package/dist/cjs/isEqual-9ea7ee49.js.map +0 -1
- package/dist/cjs/wcs-button.cjs.entry.js.map +0 -1
- package/dist/cjs/wcs-spinner.cjs.entry.js +0 -22
- package/dist/cjs/wcs-spinner.cjs.entry.js.map +0 -1
- package/dist/esm/accessibility-ffa12842.js.map +0 -1
- package/dist/esm/grid-pagination-41354861.js +0 -99
- package/dist/esm/grid-pagination-41354861.js.map +0 -1
- package/dist/esm/helpers-1d55b67f.js.map +0 -1
- package/dist/esm/index-dc4d96d4.js.map +0 -1
- package/dist/esm/isEqual-20881bca.js.map +0 -1
- package/dist/esm/wcs-button.entry.js.map +0 -1
- package/dist/esm/wcs-spinner.entry.js +0 -18
- package/dist/esm/wcs-spinner.entry.js.map +0 -1
- package/dist/wcs/p-02b95dbf.entry.js +0 -2
- package/dist/wcs/p-02b95dbf.entry.js.map +0 -1
- package/dist/wcs/p-0f8db386.js +0 -2
- package/dist/wcs/p-0f8db386.js.map +0 -1
- package/dist/wcs/p-17630eea.entry.js +0 -2
- package/dist/wcs/p-1f8c73eb.entry.js.map +0 -1
- package/dist/wcs/p-269d244c.entry.js +0 -2
- package/dist/wcs/p-269d244c.entry.js.map +0 -1
- package/dist/wcs/p-2f63d6c5.entry.js +0 -2
- package/dist/wcs/p-2f63d6c5.entry.js.map +0 -1
- package/dist/wcs/p-39821dd2.entry.js +0 -2
- package/dist/wcs/p-39821dd2.entry.js.map +0 -1
- package/dist/wcs/p-3dc6b507.js +0 -2
- package/dist/wcs/p-3dc6b507.js.map +0 -1
- package/dist/wcs/p-463667c9.entry.js +0 -2
- package/dist/wcs/p-475ac7c5.js +0 -2
- package/dist/wcs/p-475ac7c5.js.map +0 -1
- package/dist/wcs/p-4ffe4539.entry.js +0 -2
- package/dist/wcs/p-4ffe4539.entry.js.map +0 -1
- package/dist/wcs/p-57560d7d.entry.js +0 -2
- package/dist/wcs/p-57560d7d.entry.js.map +0 -1
- package/dist/wcs/p-61cab06f.entry.js +0 -2
- package/dist/wcs/p-61cab06f.entry.js.map +0 -1
- package/dist/wcs/p-627bbb6a.entry.js +0 -2
- package/dist/wcs/p-627bbb6a.entry.js.map +0 -1
- package/dist/wcs/p-6de70331.entry.js +0 -2
- package/dist/wcs/p-6de70331.entry.js.map +0 -1
- package/dist/wcs/p-747a5962.entry.js +0 -2
- package/dist/wcs/p-8181f8cd.js +0 -2
- package/dist/wcs/p-8181f8cd.js.map +0 -1
- package/dist/wcs/p-8c4ed883.entry.js +0 -2
- package/dist/wcs/p-8c4ed883.entry.js.map +0 -1
- package/dist/wcs/p-8d57835f.entry.js +0 -2
- package/dist/wcs/p-8fed8b1c.entry.js +0 -2
- package/dist/wcs/p-8fed8b1c.entry.js.map +0 -1
- package/dist/wcs/p-91b3e4b5.entry.js +0 -2
- package/dist/wcs/p-9910fedd.entry.js +0 -2
- package/dist/wcs/p-9910fedd.entry.js.map +0 -1
- package/dist/wcs/p-9d798de4.entry.js +0 -2
- package/dist/wcs/p-9d798de4.entry.js.map +0 -1
- package/dist/wcs/p-9ecdeaf9.entry.js +0 -2
- package/dist/wcs/p-9ecdeaf9.entry.js.map +0 -1
- package/dist/wcs/p-a2df3a49.js +0 -3
- package/dist/wcs/p-a2df3a49.js.map +0 -1
- package/dist/wcs/p-a5cd4c07.entry.js.map +0 -1
- package/dist/wcs/p-ac106663.entry.js +0 -2
- package/dist/wcs/p-ac106663.entry.js.map +0 -1
- package/dist/wcs/p-cb90bc3a.entry.js +0 -2
- package/dist/wcs/p-cb90bc3a.entry.js.map +0 -1
- package/dist/wcs/p-cdd172b4.entry.js +0 -2
- package/dist/wcs/p-d5a0e271.entry.js +0 -2
- package/dist/wcs/p-d5a0e271.entry.js.map +0 -1
- package/dist/wcs/p-ec84d6fd.entry.js +0 -16
- package/dist/wcs/p-ec84d6fd.entry.js.map +0 -1
- package/dist/wcs/p-ed3132be.entry.js +0 -2
- package/dist/wcs/p-ed3132be.entry.js.map +0 -1
- package/dist/wcs/p-f06f48f3.entry.js.map +0 -1
- package/dist/wcs/p-f20b9024.entry.js +0 -2
- package/dist/wcs/p-f20b9024.entry.js.map +0 -1
- package/dist/wcs/p-f489793d.entry.js.map +0 -1
- /package/dist/wcs/{p-7a3f70da.entry.js.map → p-00f6a79a.entry.js.map} +0 -0
- /package/dist/wcs/{p-ee453b6e.entry.js.map → p-016e4dd9.entry.js.map} +0 -0
- /package/dist/wcs/{p-30d8f9c3.entry.js.map → p-11ab4ffc.entry.js.map} +0 -0
- /package/dist/wcs/{p-dfddec76.entry.js.map → p-17442a2f.entry.js.map} +0 -0
- /package/dist/wcs/{p-d6c3e615.js.map → p-24611014.js.map} +0 -0
- /package/dist/wcs/{p-292ca644.entry.js.map → p-2d62b3dd.entry.js.map} +0 -0
- /package/dist/wcs/{p-d6b3f742.entry.js.map → p-33a5594d.entry.js.map} +0 -0
- /package/dist/wcs/{p-257b15b9.entry.js.map → p-36e83879.entry.js.map} +0 -0
- /package/dist/wcs/{p-7269272f.entry.js.map → p-46184d47.entry.js.map} +0 -0
- /package/dist/wcs/{p-4a9f8e94.entry.js.map → p-46d56c4e.entry.js.map} +0 -0
- /package/dist/wcs/{p-fc3f5b53.entry.js.map → p-4820154c.entry.js.map} +0 -0
- /package/dist/wcs/{p-ff9967eb.entry.js.map → p-4af68f13.entry.js.map} +0 -0
- /package/dist/wcs/{p-50dce764.entry.js.map → p-61b934a7.entry.js.map} +0 -0
- /package/dist/wcs/{p-17630eea.entry.js.map → p-680b107c.entry.js.map} +0 -0
- /package/dist/wcs/{p-d084dd61.entry.js.map → p-88b1cdfe.entry.js.map} +0 -0
- /package/dist/wcs/{p-c7494651.entry.js.map → p-8ff7e463.entry.js.map} +0 -0
- /package/dist/wcs/{p-cfcacc44.entry.js.map → p-914aa964.entry.js.map} +0 -0
- /package/dist/wcs/{p-429bd9fb.entry.js.map → p-9b1c73b3.entry.js.map} +0 -0
- /package/dist/wcs/{p-8d57835f.entry.js.map → p-a3518f66.entry.js.map} +0 -0
- /package/dist/wcs/{p-463667c9.entry.js.map → p-a361d9f1.entry.js.map} +0 -0
- /package/dist/wcs/{p-31a8d23f.entry.js.map → p-a85208ca.entry.js.map} +0 -0
- /package/dist/wcs/{p-d3f1cafe.entry.js.map → p-b91323fc.entry.js.map} +0 -0
- /package/dist/wcs/{p-47d8ece5.entry.js.map → p-bd4029f8.entry.js.map} +0 -0
- /package/dist/wcs/{p-e348058b.entry.js.map → p-bed4e3ce.entry.js.map} +0 -0
- /package/dist/wcs/{p-810aff71.entry.js.map → p-c38adf4b.entry.js.map} +0 -0
- /package/dist/wcs/{p-2185bf8b.entry.js.map → p-c6a8c6f9.entry.js.map} +0 -0
- /package/dist/wcs/{p-1e43122f.entry.js.map → p-d84cee70.entry.js.map} +0 -0
- /package/dist/wcs/{p-747a5962.entry.js.map → p-dca2f42c.entry.js.map} +0 -0
- /package/dist/wcs/{p-7519a270.entry.js.map → p-e0d5908a.entry.js.map} +0 -0
- /package/dist/wcs/{p-3b1fc676.entry.js.map → p-e52c11e4.entry.js.map} +0 -0
- /package/dist/wcs/{p-0ede0c37.entry.js.map → p-e7661047.entry.js.map} +0 -0
- /package/dist/wcs/{p-cdd172b4.entry.js.map → p-ea6e33ee.entry.js.map} +0 -0
- /package/dist/wcs/{p-cc03627c.entry.js.map → p-f7ce4e0d.entry.js.map} +0 -0
- /package/dist/wcs/{p-b6160b7c.entry.js.map → p-faf04401.entry.js.map} +0 -0
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
6
|
-
const selectArrow = require('./select-arrow-
|
|
7
|
-
const helpers = require('./helpers-
|
|
8
|
-
const
|
|
5
|
+
const index = require('./index-749d999e.js');
|
|
6
|
+
const selectArrow = require('./select-arrow-8169c0cb.js');
|
|
7
|
+
const helpers = require('./helpers-6280db6e.js');
|
|
8
|
+
const keyboardEvent = require('./keyboard-event-1cad4036.js');
|
|
9
|
+
const accessibility = require('./accessibility-c0c4e648.js');
|
|
9
10
|
const popper = require('./popper-e3b74571.js');
|
|
10
11
|
const component = require('./component-2a26e37d.js');
|
|
11
12
|
|
|
@@ -4966,6 +4967,16 @@ function Machine(config, options, initialContext) {
|
|
|
4966
4967
|
return new StateNode(config, options, initialContext);
|
|
4967
4968
|
}
|
|
4968
4969
|
|
|
4970
|
+
/**
|
|
4971
|
+
* Default filtering function. Compares the string start of wcs-select-option element's text content
|
|
4972
|
+
* with your filter input.
|
|
4973
|
+
* @param optionEl - wcs-select-option element
|
|
4974
|
+
* @param filter - input filter field value
|
|
4975
|
+
* @constructor
|
|
4976
|
+
*/
|
|
4977
|
+
const WcsDefaultSelectFilterFn = (optionEl, filter) => {
|
|
4978
|
+
return optionEl.textContent.toLowerCase().startsWith(filter.toLowerCase());
|
|
4979
|
+
};
|
|
4969
4980
|
const WcsSelectSizeValue = ['m', 'l']; // as const keyword is used to infer and preserve the exact literal values of an array or object.
|
|
4970
4981
|
function isWcsSelectSize(size) {
|
|
4971
4982
|
// @ts-ignore : ignore size type, as it is checked with WcsInputSizeValues
|
|
@@ -4989,7 +5000,260 @@ const SelectChips = ({ disabled, option, onRemove }) => {
|
|
|
4989
5000
|
index.h("path", { d: "M2,0 6,4 10,0 12,2 8,6 12,10 10,12 6,8 2,12 0,10 4,6 0,2 2,0", fill: option.chipColor, transform: "translate(8 0)" })))));
|
|
4990
5001
|
};
|
|
4991
5002
|
|
|
4992
|
-
|
|
5003
|
+
/**
|
|
5004
|
+
* We follow this https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/
|
|
5005
|
+
* @param event
|
|
5006
|
+
* @param currentState
|
|
5007
|
+
* @param type
|
|
5008
|
+
*/
|
|
5009
|
+
function getActionForKeyboardEvent(event, currentState, type) {
|
|
5010
|
+
const keyboardShortcut = keyboardEvent.keyboardShortcutFromKeyboardEvent(event);
|
|
5011
|
+
if (keyboardShortcut === 'UNKNOWN') {
|
|
5012
|
+
return [];
|
|
5013
|
+
}
|
|
5014
|
+
switch (currentState) {
|
|
5015
|
+
case "closed":
|
|
5016
|
+
// We handle every available shortcut for the closed state
|
|
5017
|
+
switch (keyboardShortcut) {
|
|
5018
|
+
case "MAJ+TAB":
|
|
5019
|
+
switch (type) {
|
|
5020
|
+
case "unique":
|
|
5021
|
+
case "multiple":
|
|
5022
|
+
return [];
|
|
5023
|
+
case "autocomplete_unique":
|
|
5024
|
+
case "autocomplete_multiple":
|
|
5025
|
+
// We need to move focus to previous focusable element in order to ignore the wcs-select component
|
|
5026
|
+
return [{ kind: 'MoveFocus', target: 'previous' }];
|
|
5027
|
+
}
|
|
5028
|
+
break;
|
|
5029
|
+
case 'DOWN_ARROW':
|
|
5030
|
+
switch (type) {
|
|
5031
|
+
case "unique":
|
|
5032
|
+
return [{ kind: 'SelectOption', target: 'next' }];
|
|
5033
|
+
case "autocomplete_multiple":
|
|
5034
|
+
case "autocomplete_unique":
|
|
5035
|
+
return [{ kind: 'OpenSelect' }, { kind: 'HighlightOption', target: 'first' }];
|
|
5036
|
+
case "multiple":
|
|
5037
|
+
return [{ kind: 'OpenSelect' }, { kind: 'FocusOption', target: 'first' }];
|
|
5038
|
+
}
|
|
5039
|
+
break;
|
|
5040
|
+
case 'RIGHT_ARROW':
|
|
5041
|
+
switch (type) {
|
|
5042
|
+
case "autocomplete_unique":
|
|
5043
|
+
case "autocomplete_multiple":
|
|
5044
|
+
// Do nothing, we navigate between characters inside input field
|
|
5045
|
+
return [];
|
|
5046
|
+
case "unique":
|
|
5047
|
+
return [{ kind: 'SelectOption', target: 'next' }];
|
|
5048
|
+
case "multiple":
|
|
5049
|
+
return [{ kind: 'OpenSelect' }, { kind: 'FocusOption', target: 'first' }];
|
|
5050
|
+
}
|
|
5051
|
+
break;
|
|
5052
|
+
case 'UP_ARROW':
|
|
5053
|
+
switch (type) {
|
|
5054
|
+
case "autocomplete_unique":
|
|
5055
|
+
case "autocomplete_multiple":
|
|
5056
|
+
return [{ kind: 'OpenSelect' }, { kind: 'HighlightOption', target: 'last' }];
|
|
5057
|
+
case "multiple":
|
|
5058
|
+
break;
|
|
5059
|
+
case "unique":
|
|
5060
|
+
return [{ kind: 'SelectOption', target: 'previous' }];
|
|
5061
|
+
}
|
|
5062
|
+
break;
|
|
5063
|
+
case 'LEFT_ARROW':
|
|
5064
|
+
switch (type) {
|
|
5065
|
+
case "autocomplete_unique":
|
|
5066
|
+
case "autocomplete_multiple":
|
|
5067
|
+
// Do nothing, we navigate between characters inside input field
|
|
5068
|
+
return [];
|
|
5069
|
+
case "unique":
|
|
5070
|
+
return [{ kind: 'SelectOption', target: 'previous' }];
|
|
5071
|
+
}
|
|
5072
|
+
break;
|
|
5073
|
+
case 'ALT+DOWN_ARROW':
|
|
5074
|
+
case 'ALT+UP_ARROW':
|
|
5075
|
+
switch (type) {
|
|
5076
|
+
case "unique":
|
|
5077
|
+
return [{ kind: 'OpenSelect' }, { kind: 'FocusOption', target: 'first' }];
|
|
5078
|
+
case "autocomplete_unique":
|
|
5079
|
+
case "autocomplete_multiple":
|
|
5080
|
+
case "multiple":
|
|
5081
|
+
return [{ kind: 'OpenSelect' }];
|
|
5082
|
+
}
|
|
5083
|
+
break;
|
|
5084
|
+
case 'SPACE':
|
|
5085
|
+
case 'ENTER':
|
|
5086
|
+
switch (type) {
|
|
5087
|
+
case "autocomplete_unique":
|
|
5088
|
+
case "autocomplete_multiple":
|
|
5089
|
+
return [];
|
|
5090
|
+
case "unique":
|
|
5091
|
+
case "multiple":
|
|
5092
|
+
return [{ kind: 'OpenSelect' }, { kind: 'FocusOption', target: 'lastFocused' }];
|
|
5093
|
+
}
|
|
5094
|
+
break;
|
|
5095
|
+
case 'ESCAPE':
|
|
5096
|
+
switch (type) {
|
|
5097
|
+
case "autocomplete_unique":
|
|
5098
|
+
case "autocomplete_multiple":
|
|
5099
|
+
return [{ kind: 'ClearAutocompleteInput' }];
|
|
5100
|
+
case 'unique':
|
|
5101
|
+
case 'multiple':
|
|
5102
|
+
return [];
|
|
5103
|
+
}
|
|
5104
|
+
break;
|
|
5105
|
+
case 'PAGE_UP':
|
|
5106
|
+
switch (type) {
|
|
5107
|
+
case "autocomplete_unique":
|
|
5108
|
+
return [];
|
|
5109
|
+
case "autocomplete_multiple":
|
|
5110
|
+
return [];
|
|
5111
|
+
case "unique":
|
|
5112
|
+
return [{ kind: 'SelectOption', target: 'first' }];
|
|
5113
|
+
case "multiple":
|
|
5114
|
+
return [];
|
|
5115
|
+
}
|
|
5116
|
+
break;
|
|
5117
|
+
case 'PAGE_DOWN':
|
|
5118
|
+
switch (type) {
|
|
5119
|
+
case "autocomplete_unique":
|
|
5120
|
+
return [];
|
|
5121
|
+
case "autocomplete_multiple":
|
|
5122
|
+
return [];
|
|
5123
|
+
case "unique":
|
|
5124
|
+
return [{ kind: 'SelectOption', target: 'last' }];
|
|
5125
|
+
case "multiple":
|
|
5126
|
+
return [];
|
|
5127
|
+
}
|
|
5128
|
+
break;
|
|
5129
|
+
}
|
|
5130
|
+
break;
|
|
5131
|
+
case 'opened':
|
|
5132
|
+
// We handle every available shortcut for the opened state
|
|
5133
|
+
switch (keyboardShortcut) {
|
|
5134
|
+
case 'ESCAPE':
|
|
5135
|
+
switch (type) {
|
|
5136
|
+
case 'unique':
|
|
5137
|
+
case 'multiple':
|
|
5138
|
+
case 'autocomplete_unique':
|
|
5139
|
+
case 'autocomplete_multiple':
|
|
5140
|
+
return [{ kind: 'CloseSelect', shouldBlur: false }];
|
|
5141
|
+
}
|
|
5142
|
+
break;
|
|
5143
|
+
case 'ALT+UP_ARROW':
|
|
5144
|
+
switch (type) {
|
|
5145
|
+
case 'unique':
|
|
5146
|
+
case 'multiple':
|
|
5147
|
+
return [{ kind: 'CloseSelect', shouldBlur: false }];
|
|
5148
|
+
case 'autocomplete_unique':
|
|
5149
|
+
case 'autocomplete_multiple':
|
|
5150
|
+
// We must keep select autocomplete opened
|
|
5151
|
+
return [];
|
|
5152
|
+
}
|
|
5153
|
+
break;
|
|
5154
|
+
case 'TAB':
|
|
5155
|
+
switch (type) {
|
|
5156
|
+
case "autocomplete_unique":
|
|
5157
|
+
return [{ kind: 'SelectOption', target: 'lastHighlighted' }, { kind: 'CloseSelect', shouldBlur: false }];
|
|
5158
|
+
case "autocomplete_multiple":
|
|
5159
|
+
return [{ kind: 'CloseSelect', shouldBlur: false }];
|
|
5160
|
+
case "unique":
|
|
5161
|
+
case "multiple":
|
|
5162
|
+
return [{ kind: 'CloseSelect', shouldBlur: true }];
|
|
5163
|
+
}
|
|
5164
|
+
break;
|
|
5165
|
+
case 'MAJ+TAB':
|
|
5166
|
+
switch (type) {
|
|
5167
|
+
case "autocomplete_unique":
|
|
5168
|
+
// We don't blur the select when we close it because we move the focus manually just after closing it.
|
|
5169
|
+
return [{ kind: 'SelectOption', target: 'lastHighlighted' }, { kind: 'CloseSelect', shouldBlur: false }, { kind: 'MoveFocus', target: 'previous' }];
|
|
5170
|
+
case "autocomplete_multiple":
|
|
5171
|
+
// We don't blur the select when we close it because we move the focus manually just after closing it.
|
|
5172
|
+
return [{ kind: 'CloseSelect', shouldBlur: false }, { kind: 'MoveFocus', target: 'previous' }];
|
|
5173
|
+
case "unique":
|
|
5174
|
+
case "multiple":
|
|
5175
|
+
return [{ kind: 'CloseSelect', shouldBlur: true }];
|
|
5176
|
+
}
|
|
5177
|
+
break;
|
|
5178
|
+
case 'UP_ARROW':
|
|
5179
|
+
switch (type) {
|
|
5180
|
+
case "autocomplete_unique":
|
|
5181
|
+
case "autocomplete_multiple":
|
|
5182
|
+
return [{ kind: 'HighlightOption', target: 'previous' }];
|
|
5183
|
+
case "unique":
|
|
5184
|
+
case "multiple":
|
|
5185
|
+
return [{ kind: 'FocusOption', target: 'previous' }];
|
|
5186
|
+
}
|
|
5187
|
+
break;
|
|
5188
|
+
case 'LEFT_ARROW':
|
|
5189
|
+
switch (type) {
|
|
5190
|
+
case "autocomplete_unique":
|
|
5191
|
+
case "autocomplete_multiple":
|
|
5192
|
+
// We do nothing (navigate between characters in input field)
|
|
5193
|
+
return [];
|
|
5194
|
+
case "unique":
|
|
5195
|
+
case "multiple":
|
|
5196
|
+
return [{ kind: 'FocusOption', target: 'previous' }];
|
|
5197
|
+
}
|
|
5198
|
+
break;
|
|
5199
|
+
case 'DOWN_ARROW':
|
|
5200
|
+
switch (type) {
|
|
5201
|
+
case "autocomplete_unique":
|
|
5202
|
+
case "autocomplete_multiple":
|
|
5203
|
+
return [{ kind: 'HighlightOption', target: 'next' }];
|
|
5204
|
+
case "unique":
|
|
5205
|
+
case "multiple":
|
|
5206
|
+
return [{ kind: 'FocusOption', target: 'next' }];
|
|
5207
|
+
}
|
|
5208
|
+
break;
|
|
5209
|
+
case 'RIGHT_ARROW':
|
|
5210
|
+
switch (type) {
|
|
5211
|
+
case "autocomplete_unique":
|
|
5212
|
+
case "autocomplete_multiple":
|
|
5213
|
+
// We do nothing (navigate between characters in input field)
|
|
5214
|
+
return [];
|
|
5215
|
+
case "unique":
|
|
5216
|
+
case "multiple":
|
|
5217
|
+
return [{ kind: 'FocusOption', target: 'next' }];
|
|
5218
|
+
}
|
|
5219
|
+
break;
|
|
5220
|
+
case "PAGE_UP":
|
|
5221
|
+
switch (type) {
|
|
5222
|
+
case "autocomplete_unique":
|
|
5223
|
+
case "autocomplete_multiple":
|
|
5224
|
+
return [{ kind: 'HighlightOption', target: 'first' }];
|
|
5225
|
+
case "unique":
|
|
5226
|
+
case "multiple":
|
|
5227
|
+
return [{ kind: 'FocusOption', target: 'first' }];
|
|
5228
|
+
}
|
|
5229
|
+
break;
|
|
5230
|
+
case "PAGE_DOWN":
|
|
5231
|
+
switch (type) {
|
|
5232
|
+
case "autocomplete_unique":
|
|
5233
|
+
case "autocomplete_multiple":
|
|
5234
|
+
return [{ kind: 'HighlightOption', target: 'last' }];
|
|
5235
|
+
case "unique":
|
|
5236
|
+
case "multiple":
|
|
5237
|
+
return [{ kind: 'FocusOption', target: 'last' }];
|
|
5238
|
+
}
|
|
5239
|
+
break;
|
|
5240
|
+
case "ENTER":
|
|
5241
|
+
switch (type) {
|
|
5242
|
+
case "autocomplete_unique":
|
|
5243
|
+
return [{ kind: 'SelectOption', target: 'lastHighlighted' }];
|
|
5244
|
+
case "autocomplete_multiple":
|
|
5245
|
+
return [{ kind: 'SelectOption', target: 'lastHighlighted' }];
|
|
5246
|
+
}
|
|
5247
|
+
break;
|
|
5248
|
+
}
|
|
5249
|
+
break;
|
|
5250
|
+
default:
|
|
5251
|
+
throw Error('Unknown error');
|
|
5252
|
+
}
|
|
5253
|
+
return [];
|
|
5254
|
+
}
|
|
5255
|
+
|
|
5256
|
+
const selectCss = "@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;position:relative;outline:none;overflow:hidden}.mdc-ripple-surface::before,.mdc-ripple-surface::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface::before,.mdc-ripple-surface::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-upgraded--unbounded::before,.mdc-ripple-upgraded--unbounded::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface::before,.mdc-ripple-surface::after{background-color:#000;background-color:var(--mdc-ripple-color, #000)}.mdc-ripple-surface:hover::before,.mdc-ripple-surface.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}:host{--wcs-select-ligther-percentage:40;--wcs-select-border-radius:var(--wcs-border-radius);--wcs-select-background-color:var(--wcs-light);--wcs-select-placeholder-color:var(--wcs-text-medium);--wcs-select-value-color:var(--wcs-primary);--wcs-select-border-color:transparent;--wcs-select-overlay-max-height:360px;--wcs-select-option-height:var(--wcs-size-m);--wcs-select-border-width:1px;display:block;position:relative;outline:none;user-select:none;box-sizing:border-box}:host svg{flex-shrink:0}:host .arrow{fill:var(--wcs-select-value-color)}:host .chip{fill:var(--wcs-contrast);opacity:calc((100 - var(--wcs-select-ligther-percentage)) / 100)}:host .chip:hover{opacity:100}:host(.expanded){--wcs-select-border-color:var(--wcs-text-light)}:host(.expanded) .wcs-select-options{display:block}:host(:not(.expanded):focus-visible) .wcs-select-control{outline:2px dashed var(--wcs-primary);outline-offset:0;border-radius:var(--wcs-select-border-radius)}:host([disabled]){cursor:not-allowed}:host([disabled]) .wcs-select-control,:host([disabled]) label{cursor:default;pointer-events:none}:host([disabled]) label{color:var(--wcs-text-disabled)}:host([disabled]) .arrow{fill:var(--wcs-text-medium)}label{padding-left:calc(var(--wcs-padding) / 2 - var(--wcs-select-border-width));padding-right:calc(var(--wcs-padding) - var(--wcs-select-border-width));font-weight:500;cursor:pointer;color:var(--wcs-select-color);transition:color 125ms ease-in;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([size=m]){min-height:var(--wcs-size-m);--wcs-select-font-size:1rem;--wcs-internal-select-chip-size:calc(var(--wcs-size-s) - 2px)}:host([size=m]) .wcs-select-control{min-height:var(--wcs-size-m)}:host([size=m]):host([autocomplete]) .autocomplete-field{height:calc(var(--wcs-size-s) - 2px)}:host([size=m]):host([autocomplete]) .wcs-select-value-container{padding-top:calc((var(--wcs-size-m) - var(--wcs-internal-select-chip-size)) / 2 - var(--wcs-select-border-width));padding-bottom:calc((var(--wcs-size-m) - var(--wcs-internal-select-chip-size)) / 2 - var(--wcs-select-border-width))}:host([size=l]){min-height:var(--wcs-size-l);--wcs-select-font-size:1.0625rem;--wcs-internal-select-chip-size:var(--wcs-size-s)}:host([size=l]) .wcs-select-control{min-height:var(--wcs-size-l)}:host([size=l]):host([autocomplete]) .autocomplete-field{height:var(--wcs-size-s)}:host([size=l]):host([autocomplete]) .wcs-select-value-container{padding-top:calc((var(--wcs-size-l) - var(--wcs-internal-select-chip-size)) / 2 - var(--wcs-select-border-width));padding-bottom:calc((var(--wcs-size-l) - var(--wcs-internal-select-chip-size)) / 2 - var(--wcs-select-border-width))}:host([chips]) .wcs-select-control{flex-wrap:wrap}.wcs-select-control{box-sizing:border-box;--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;overflow:hidden;display:flex;align-items:center;padding-right:var(--wcs-text-padding);background-color:var(--wcs-select-background-color);border-radius:var(--wcs-select-border-radius);border:var(--wcs-select-border-color) solid var(--wcs-select-border-width);font-size:var(--wcs-select-font-size, 1rem);line-height:1.5;cursor:pointer}.wcs-select-control::before,.wcs-select-control::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.wcs-select-control::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.wcs-select-control::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.wcs-select-control.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.wcs-select-control.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.wcs-select-control.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.wcs-select-control.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.wcs-select-control.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.wcs-select-control::before,.wcs-select-control::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.wcs-select-control.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.wcs-select-control::before,.wcs-select-control::after{background-color:#999;background-color:var(--mdc-ripple-color, #999)}.wcs-select-control:hover::before,.wcs-select-control.mdc-ripple-surface--hover::before{opacity:0.1;opacity:var(--mdc-ripple-hover-opacity, 0.1)}.wcs-select-control.mdc-ripple-upgraded--background-focused::before,.wcs-select-control:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-focus-opacity, 0.2)}.wcs-select-control:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.wcs-select-control:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.3;opacity:var(--mdc-ripple-press-opacity, 0.3)}.wcs-select-control.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.3)}.wcs-select-placeholder{color:var(--wcs-select-placeholder-color);font-style:italic;font-weight:400}.wcs-select-value{color:var(--wcs-select-value-color);font-weight:var(--wcs-font-weight-form-value)}.wcs-select-value-container{margin-top:4px;margin-bottom:4px;margin-left:calc(var(--wcs-margin) / 2);max-width:calc(100% - (24px + var(--wcs-base-margin)));display:flex;flex-direction:row;gap:4px;align-items:center;flex-wrap:wrap}.wcs-select-chip{box-sizing:border-box;height:var(--wcs-internal-select-chip-size);line-height:1.375;color:var(--wcs-contrast);background-color:var(--wcs-base);border-radius:0.75rem;display:flex;align-items:center;padding:calc((var(--wcs-padding) - 8px) / 2) var(--wcs-padding);overflow:initial;z-index:1}.wcs-select-options{display:none;position:absolute;z-index:999999999;border:solid var(--wcs-select-border-width) var(--wcs-select-border-color);border-radius:var(--wcs-select-border-radius);max-height:var(--wcs-select-overlay-max-height);overflow-y:auto;width:calc(100% - 2 * var(--wcs-select-border-width));background-color:var(--wcs-white);color:var(--wcs-text-medium)}:host([autocomplete]) .wcs-select-value-container{margin:0;width:100%;padding-left:var(--wcs-padding-m)}:host([autocomplete]) input{border-radius:var(--wcs-border-radius);font:unset;background-color:transparent;outline:none;border:none;padding:0 var(--wcs-margin);color:var(--wcs-primary);font-weight:var(--wcs-font-weight-form-value) !important;font-size:var(--wcs-select-font-size);line-height:1.5}:host([autocomplete]) input:focus-within{outline:2px dashed var(--wcs-primary);outline-offset:0;border-radius:var(--wcs-border-radius)}:host([autocomplete]) input::placeholder{font-style:italic;font-weight:400}.autocomplete-field{width:0;min-width:50px;border-radius:var(--wcs-border-radius);flex-grow:1}.noresult-container{margin:var(--wcs-margin)}";
|
|
4993
5257
|
|
|
4994
5258
|
const SELECT_MACHINE_CONFIG = {
|
|
4995
5259
|
key: 'select',
|
|
@@ -5019,20 +5283,24 @@ const Select = class {
|
|
|
5019
5283
|
this.wcsChange = index.createEvent(this, "wcsChange", 7);
|
|
5020
5284
|
this.wcsFocus = index.createEvent(this, "wcsFocus", 7);
|
|
5021
5285
|
this.wcsBlur = index.createEvent(this, "wcsBlur", 7);
|
|
5286
|
+
this.wcsFilterChange = index.createEvent(this, "wcsFilterChange", 7);
|
|
5022
5287
|
this.selectId = `wcs-select-${selectIds++}`;
|
|
5023
5288
|
this.optionsId = helpers.generateUniqueId("OPTIONS");
|
|
5024
5289
|
this.expanded = false;
|
|
5025
5290
|
this.size = 'm';
|
|
5026
|
-
this.hasLoaded = false;
|
|
5027
5291
|
this.displayText = undefined;
|
|
5028
5292
|
this.focused = undefined;
|
|
5029
5293
|
this.value = undefined;
|
|
5030
5294
|
this.placeholder = undefined;
|
|
5031
5295
|
this.disabled = false;
|
|
5032
5296
|
this.multiple = false;
|
|
5297
|
+
this.autocomplete = false;
|
|
5298
|
+
this.filterFn = undefined;
|
|
5033
5299
|
this.chips = false;
|
|
5034
5300
|
this.name = undefined;
|
|
5035
|
-
this.compareWith = (optionValue, selectedValue) =>
|
|
5301
|
+
this.compareWith = (optionValue, selectedValue) => keyboardEvent.isEqual(optionValue, selectedValue);
|
|
5302
|
+
this.showNoResultFoundLabel = false;
|
|
5303
|
+
this.autocompleteValue = undefined;
|
|
5036
5304
|
this.overlayDirection = 'bottom';
|
|
5037
5305
|
}
|
|
5038
5306
|
/** Open the component. */
|
|
@@ -5045,7 +5313,6 @@ const Select = class {
|
|
|
5045
5313
|
}
|
|
5046
5314
|
onValueChangeHandler(newValue) {
|
|
5047
5315
|
this.updateSelectedValue(newValue);
|
|
5048
|
-
this.emitChange(this.value);
|
|
5049
5316
|
}
|
|
5050
5317
|
updateSelectedValue(value) {
|
|
5051
5318
|
// If no value is passed, the select is reset.
|
|
@@ -5082,6 +5349,9 @@ const Select = class {
|
|
|
5082
5349
|
const isSelected = this.compareWith(opt.value, value);
|
|
5083
5350
|
if (isSelected) {
|
|
5084
5351
|
this.displayText = opt.innerText;
|
|
5352
|
+
if (this.autocomplete) {
|
|
5353
|
+
this.autocompleteValue = opt.innerText;
|
|
5354
|
+
}
|
|
5085
5355
|
}
|
|
5086
5356
|
opt.selected = isSelected;
|
|
5087
5357
|
});
|
|
@@ -5094,6 +5364,9 @@ const Select = class {
|
|
|
5094
5364
|
reset() {
|
|
5095
5365
|
this.values = [];
|
|
5096
5366
|
this.displayText = undefined;
|
|
5367
|
+
if (this.autocomplete) {
|
|
5368
|
+
this.autocompleteValue = undefined;
|
|
5369
|
+
}
|
|
5097
5370
|
this.options.forEach((opt) => {
|
|
5098
5371
|
opt.selected = false;
|
|
5099
5372
|
});
|
|
@@ -5124,8 +5397,6 @@ const Select = class {
|
|
|
5124
5397
|
if (this.labelElement) {
|
|
5125
5398
|
this.labelElement.id = this.selectId + "-lbl";
|
|
5126
5399
|
}
|
|
5127
|
-
// TODO: is this still usefull for anything ?
|
|
5128
|
-
this.hasLoaded = true;
|
|
5129
5400
|
}
|
|
5130
5401
|
createPopperInstance() {
|
|
5131
5402
|
return popper.createPopper(this.controlEl, this.optionsEl, {
|
|
@@ -5164,16 +5435,24 @@ const Select = class {
|
|
|
5164
5435
|
});
|
|
5165
5436
|
observer.observe(this.el, { childList: true });
|
|
5166
5437
|
}
|
|
5438
|
+
componentWillRender() {
|
|
5439
|
+
if (this.multiple) {
|
|
5440
|
+
this.options
|
|
5441
|
+
.forEach((opt) => opt.multiple = true);
|
|
5442
|
+
}
|
|
5443
|
+
}
|
|
5167
5444
|
componentWillLoad() {
|
|
5168
5445
|
if (!isWcsSelectSize(this.size)) {
|
|
5169
5446
|
console.error(`Invalid size value for wcs-select : "${this.size}". Must be one of "${WcsSelectSizeValue.join(', ')}"`);
|
|
5170
5447
|
this.size = "m"; // Default fallback value
|
|
5171
5448
|
}
|
|
5172
5449
|
}
|
|
5173
|
-
|
|
5174
|
-
if (this.
|
|
5175
|
-
this.
|
|
5176
|
-
|
|
5450
|
+
async setAriaAttribute(attr, value) {
|
|
5451
|
+
if (this.autocomplete === false) {
|
|
5452
|
+
this.el.setAttribute(attr, value);
|
|
5453
|
+
}
|
|
5454
|
+
else {
|
|
5455
|
+
this.autocompleteInput.setAttribute(attr, value);
|
|
5177
5456
|
}
|
|
5178
5457
|
}
|
|
5179
5458
|
get options() {
|
|
@@ -5186,7 +5465,7 @@ const Select = class {
|
|
|
5186
5465
|
}
|
|
5187
5466
|
get notDisabledOptions() {
|
|
5188
5467
|
var _a;
|
|
5189
|
-
const opts = (_a = this.el) === null || _a === void 0 ? void 0 : _a.querySelectorAll('wcs-select-option:not([disabled])');
|
|
5468
|
+
const opts = (_a = this.el) === null || _a === void 0 ? void 0 : _a.querySelectorAll('wcs-select-option:not([disabled]):not([aria-hidden])');
|
|
5190
5469
|
if (opts && opts.length !== 0) {
|
|
5191
5470
|
return opts;
|
|
5192
5471
|
}
|
|
@@ -5196,15 +5475,25 @@ const Select = class {
|
|
|
5196
5475
|
return {
|
|
5197
5476
|
actions: {
|
|
5198
5477
|
open: () => {
|
|
5199
|
-
var _a;
|
|
5478
|
+
var _a, _b;
|
|
5200
5479
|
if (!this.disabled) {
|
|
5201
5480
|
this.expanded = true;
|
|
5202
5481
|
this.focused = false;
|
|
5482
|
+
if (this.multiple === false && this.autocomplete && this.hasValue === false) {
|
|
5483
|
+
// If we open the select in single autocomplete mode, we update the autocomplete value at
|
|
5484
|
+
// the blur event so that the displayed value reflect the current select value.
|
|
5485
|
+
// Indeed, we have to tell the component to take the current filter state manually at the
|
|
5486
|
+
// opening (because the input event of the autocomplete field is not fired at this point).
|
|
5487
|
+
this.handleAutocompleteValueChange((_a = this.autocompleteValue) !== null && _a !== void 0 ? _a : '');
|
|
5488
|
+
}
|
|
5489
|
+
this.clearHighlightOnLastHighlightedOption();
|
|
5203
5490
|
if (this.notDisabledOptions.length > 0) {
|
|
5204
|
-
this.lastFocusedOptionElement = (
|
|
5491
|
+
this.lastFocusedOptionElement = (_b = this.lastModifiedOptionElement) !== null && _b !== void 0 ? _b : this.notDisabledOptions[0];
|
|
5205
5492
|
requestAnimationFrame(() => {
|
|
5206
|
-
var _a;
|
|
5207
|
-
|
|
5493
|
+
var _a, _b;
|
|
5494
|
+
this.autocomplete
|
|
5495
|
+
? (_a = this.autocompleteInput) === null || _a === void 0 ? void 0 : _a.focus()
|
|
5496
|
+
: (_b = this.lastFocusedOptionElement) === null || _b === void 0 ? void 0 : _b.focus();
|
|
5208
5497
|
});
|
|
5209
5498
|
}
|
|
5210
5499
|
}
|
|
@@ -5212,12 +5501,21 @@ const Select = class {
|
|
|
5212
5501
|
close: (_, event) => {
|
|
5213
5502
|
var _a, _b;
|
|
5214
5503
|
if (event.type === 'CLOSE') {
|
|
5504
|
+
this.clearHighlightOnLastHighlightedOption();
|
|
5215
5505
|
if ((_a = event.value) === null || _a === void 0 ? void 0 : _a.shouldBlur) {
|
|
5216
|
-
(_b = this.el.closest("wcs-select")) === null || _b === void 0 ? void 0 : _b.focus();
|
|
5217
5506
|
this.focused = false;
|
|
5218
5507
|
}
|
|
5219
5508
|
else {
|
|
5220
|
-
this.
|
|
5509
|
+
if (this.autocomplete && ((_b = event.value) === null || _b === void 0 ? void 0 : _b.fromKeyboard)) {
|
|
5510
|
+
// If we're in autocomplete mode, a keyboard event (e.g. escape) doesn't change the
|
|
5511
|
+
// focus (so this.el.focus() aren't called because the select was already focused)
|
|
5512
|
+
// but you still have to go back to the autocomplete input.
|
|
5513
|
+
this.focusAutocompleteInput();
|
|
5514
|
+
}
|
|
5515
|
+
else {
|
|
5516
|
+
// Otherwise, we focus the select element
|
|
5517
|
+
this.el.focus();
|
|
5518
|
+
}
|
|
5221
5519
|
this.focused = true;
|
|
5222
5520
|
}
|
|
5223
5521
|
}
|
|
@@ -5225,7 +5523,24 @@ const Select = class {
|
|
|
5225
5523
|
},
|
|
5226
5524
|
selectOption: (_, event) => {
|
|
5227
5525
|
if (event.type === 'OPTION_SELECTED') {
|
|
5228
|
-
this.
|
|
5526
|
+
if (this.multiple) {
|
|
5527
|
+
this.handleOptionSelectedOnMultiple(event.value.option);
|
|
5528
|
+
}
|
|
5529
|
+
else {
|
|
5530
|
+
this.handleOptionSelectedOnSingle(event.value.option);
|
|
5531
|
+
this.stateService.send('CLOSE', { value: { fromKeyboard: event.value.fromKeyboard } });
|
|
5532
|
+
}
|
|
5533
|
+
if (this.autocomplete) {
|
|
5534
|
+
if (this.multiple) {
|
|
5535
|
+
requestAnimationFrame(() => {
|
|
5536
|
+
this.autocompleteInput.focus();
|
|
5537
|
+
});
|
|
5538
|
+
}
|
|
5539
|
+
else {
|
|
5540
|
+
this.autocompleteValue = event.value.option.displayText;
|
|
5541
|
+
}
|
|
5542
|
+
}
|
|
5543
|
+
this.emitChange(this.value);
|
|
5229
5544
|
}
|
|
5230
5545
|
}
|
|
5231
5546
|
},
|
|
@@ -5234,28 +5549,18 @@ const Select = class {
|
|
|
5234
5549
|
}
|
|
5235
5550
|
};
|
|
5236
5551
|
}
|
|
5237
|
-
|
|
5238
|
-
if (this.multiple) {
|
|
5239
|
-
this.handleClickOnMultiple(event);
|
|
5240
|
-
}
|
|
5241
|
-
else {
|
|
5242
|
-
this.handleNormalClick(event);
|
|
5243
|
-
}
|
|
5244
|
-
}
|
|
5245
|
-
handleClickOnMultiple(event) {
|
|
5552
|
+
handleOptionSelectedOnMultiple(event) {
|
|
5246
5553
|
const index = this.values.findIndex(v => v.value === event.value);
|
|
5247
5554
|
if (index === -1) {
|
|
5248
5555
|
const { value, displayText, chipColor, chipBackgroundColor } = event;
|
|
5249
5556
|
this.values.push({ value, displayText, chipColor, chipBackgroundColor });
|
|
5250
5557
|
event.source.selected = true;
|
|
5251
|
-
this.lastSelectedOptionElement = event.source;
|
|
5252
5558
|
}
|
|
5253
5559
|
else {
|
|
5254
5560
|
event.source.selected = false;
|
|
5255
5561
|
this.values.splice(index, 1);
|
|
5256
|
-
if (this.lastSelectedOptionElement === event.source)
|
|
5257
|
-
this.lastSelectedOptionElement = null;
|
|
5258
5562
|
}
|
|
5563
|
+
this.lastModifiedOptionElement = event.source;
|
|
5259
5564
|
this.updateValueWithValues();
|
|
5260
5565
|
}
|
|
5261
5566
|
updateValueWithValues() {
|
|
@@ -5264,7 +5569,7 @@ const Select = class {
|
|
|
5264
5569
|
? this.values.map(v => v.displayText).join(', ')
|
|
5265
5570
|
: undefined;
|
|
5266
5571
|
}
|
|
5267
|
-
|
|
5572
|
+
handleOptionSelectedOnSingle(event) {
|
|
5268
5573
|
// Reset other options to false if they were selected.
|
|
5269
5574
|
this.options
|
|
5270
5575
|
.forEach(option => {
|
|
@@ -5274,8 +5579,7 @@ const Select = class {
|
|
|
5274
5579
|
event.source.selected = true;
|
|
5275
5580
|
this.value = event.value;
|
|
5276
5581
|
this.displayText = event.displayText;
|
|
5277
|
-
this.
|
|
5278
|
-
this.stateService.send('CLOSE');
|
|
5582
|
+
this.lastModifiedOptionElement = event.source;
|
|
5279
5583
|
}
|
|
5280
5584
|
disconnectedCallback() {
|
|
5281
5585
|
var _a;
|
|
@@ -5311,107 +5615,201 @@ const Select = class {
|
|
|
5311
5615
|
// TODO: Move this logic in the state machine
|
|
5312
5616
|
// FIXME: Doesnt work with single + disabled option
|
|
5313
5617
|
if (this.expanded && !clickOnCurrentSelect) {
|
|
5314
|
-
this.stateService.send('CLOSE');
|
|
5618
|
+
this.stateService.send({ type: 'CLOSE', value: { shouldBlur: true, fromKeyboard: false } });
|
|
5315
5619
|
}
|
|
5316
5620
|
}
|
|
5317
5621
|
onKeyDown(_event) {
|
|
5318
|
-
|
|
5319
|
-
|
|
5320
|
-
|
|
5321
|
-
|
|
5322
|
-
|
|
5622
|
+
const currentState = this.stateService.getSnapshot().matches("closed") ? 'closed' : 'opened';
|
|
5623
|
+
let type;
|
|
5624
|
+
if (this.autocomplete) {
|
|
5625
|
+
type = this.multiple ? 'autocomplete_multiple' : 'autocomplete_unique';
|
|
5626
|
+
}
|
|
5627
|
+
else {
|
|
5628
|
+
type = this.multiple ? 'multiple' : 'unique';
|
|
5629
|
+
}
|
|
5630
|
+
const actionsFromKeyboardEvents = getActionForKeyboardEvent(_event, currentState, type);
|
|
5631
|
+
// If we have at least one associated actions, we prevent the default behavior of the event.
|
|
5632
|
+
// Except if the action is a focus move (we have to handle the preventDefault behavior ourselves in the action implementation)
|
|
5633
|
+
if (actionsFromKeyboardEvents.length != 0 && actionsFromKeyboardEvents.filter(a => a.kind === 'MoveFocus').length === 0) {
|
|
5634
|
+
_event.preventDefault();
|
|
5635
|
+
}
|
|
5636
|
+
for (const actionFromKeyboardEvent of actionsFromKeyboardEvents) {
|
|
5637
|
+
this.doActionFromKeyboardEventAssociatedAction(actionFromKeyboardEvent, _event);
|
|
5638
|
+
}
|
|
5639
|
+
}
|
|
5640
|
+
doActionFromKeyboardEventAssociatedAction(actionFromKeyboardEvent, event) {
|
|
5641
|
+
var _a, _b;
|
|
5642
|
+
switch (actionFromKeyboardEvent.kind) {
|
|
5643
|
+
case "CloseSelect":
|
|
5644
|
+
this.stateService.send({
|
|
5645
|
+
type: 'CLOSE',
|
|
5646
|
+
value: { shouldBlur: actionFromKeyboardEvent.shouldBlur, fromKeyboard: true }
|
|
5647
|
+
});
|
|
5648
|
+
break;
|
|
5649
|
+
case "OpenSelect":
|
|
5323
5650
|
this.stateService.send('OPEN');
|
|
5324
|
-
|
|
5325
|
-
|
|
5326
|
-
|
|
5327
|
-
|
|
5328
|
-
|
|
5329
|
-
|
|
5330
|
-
|
|
5331
|
-
|
|
5332
|
-
|
|
5333
|
-
|
|
5334
|
-
|
|
5651
|
+
break;
|
|
5652
|
+
case "SelectOption":
|
|
5653
|
+
switch (actionFromKeyboardEvent.target) {
|
|
5654
|
+
case "next":
|
|
5655
|
+
this.selectClosestOption('next');
|
|
5656
|
+
break;
|
|
5657
|
+
case "previous":
|
|
5658
|
+
this.selectClosestOption('previous');
|
|
5659
|
+
break;
|
|
5660
|
+
case "first":
|
|
5661
|
+
this.selectFirstOption();
|
|
5662
|
+
break;
|
|
5663
|
+
case "last":
|
|
5664
|
+
this.selectLastOption();
|
|
5665
|
+
break;
|
|
5666
|
+
case "lastHighlighted": {
|
|
5667
|
+
// We have to handle enterKey here because with autocomplete mode, a wcs-select-option
|
|
5668
|
+
// is only highlighted, therefore the event is not fired
|
|
5669
|
+
const indexToSelect = Array.from(this.notDisabledOptions).indexOf(this.lastHighlightedOptionElement);
|
|
5670
|
+
if (indexToSelect !== -1) {
|
|
5671
|
+
this.lastModifiedOptionElement = this.lastHighlightedOptionElement;
|
|
5672
|
+
this.selectOption(indexToSelect, true);
|
|
5673
|
+
}
|
|
5674
|
+
break;
|
|
5675
|
+
}
|
|
5335
5676
|
}
|
|
5336
|
-
|
|
5337
|
-
|
|
5338
|
-
|
|
5677
|
+
break;
|
|
5678
|
+
case "ClearAutocompleteInput":
|
|
5679
|
+
this.autocompleteValue = '';
|
|
5680
|
+
break;
|
|
5681
|
+
case "ClearHighlight":
|
|
5682
|
+
this.clearHighlightOnLastHighlightedOption();
|
|
5683
|
+
break;
|
|
5684
|
+
case "HighlightOption":
|
|
5685
|
+
switch (actionFromKeyboardEvent.target) {
|
|
5686
|
+
case "next":
|
|
5687
|
+
this.highlightClosestOption('next');
|
|
5688
|
+
break;
|
|
5689
|
+
case "previous":
|
|
5690
|
+
this.highlightClosestOption('previous');
|
|
5691
|
+
break;
|
|
5692
|
+
case "first":
|
|
5693
|
+
this.highlightFirstOption();
|
|
5694
|
+
break;
|
|
5695
|
+
case "last":
|
|
5696
|
+
this.highlightLastOption();
|
|
5697
|
+
break;
|
|
5339
5698
|
}
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
|
|
5699
|
+
break;
|
|
5700
|
+
case "FocusOption":
|
|
5701
|
+
switch (actionFromKeyboardEvent.target) {
|
|
5702
|
+
case "next":
|
|
5703
|
+
this.focusClosestOption('next');
|
|
5704
|
+
break;
|
|
5705
|
+
case "previous":
|
|
5706
|
+
this.focusClosestOption('previous');
|
|
5707
|
+
break;
|
|
5708
|
+
case "first":
|
|
5709
|
+
this.focusFirstOption();
|
|
5710
|
+
break;
|
|
5711
|
+
case "last":
|
|
5712
|
+
this.focusLastOption();
|
|
5713
|
+
break;
|
|
5714
|
+
case "lastFocused":
|
|
5715
|
+
if (this.lastFocusedOptionElement != null) {
|
|
5716
|
+
this.focusOption(Array.from(this.notDisabledOptions).indexOf(this.lastFocusedOptionElement));
|
|
5717
|
+
}
|
|
5718
|
+
break;
|
|
5343
5719
|
}
|
|
5344
|
-
|
|
5345
|
-
|
|
5346
|
-
|
|
5720
|
+
break;
|
|
5721
|
+
case "MoveFocus":
|
|
5722
|
+
switch (actionFromKeyboardEvent.target) {
|
|
5723
|
+
case "previous": {
|
|
5724
|
+
let elementToFocus = (_a = this.el.previousElementSibling) !== null && _a !== void 0 ? _a : this.el.parentElement;
|
|
5725
|
+
while (elementToFocus) {
|
|
5726
|
+
if (accessibility.isFocusable(elementToFocus))
|
|
5727
|
+
break;
|
|
5728
|
+
elementToFocus = (_b = elementToFocus.previousElementSibling) !== null && _b !== void 0 ? _b : elementToFocus.parentElement;
|
|
5729
|
+
}
|
|
5730
|
+
if (elementToFocus) {
|
|
5731
|
+
event.preventDefault();
|
|
5732
|
+
elementToFocus.focus();
|
|
5733
|
+
}
|
|
5734
|
+
break;
|
|
5735
|
+
}
|
|
5347
5736
|
}
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5351
|
-
else if (this.stateService.getSnapshot().matches("opened")) {
|
|
5352
|
-
if (helpers.isEscapeKey(_event) || (_event.altKey && helpers.isUpArrowKey(_event))) {
|
|
5353
|
-
this.stateService.send({ type: "CLOSE", value: { shouldBlur: false } });
|
|
5354
|
-
}
|
|
5355
|
-
else if (helpers.isTabKey(_event) || (_event.shiftKey && helpers.isTabKey(_event))) {
|
|
5356
|
-
this.stateService.send({ type: "CLOSE", value: { shouldBlur: true } });
|
|
5357
|
-
}
|
|
5358
|
-
else if (helpers.isDownArrowKey(_event)) {
|
|
5359
|
-
_event.preventDefault();
|
|
5360
|
-
this.focusClosestOption("next");
|
|
5361
|
-
}
|
|
5362
|
-
else if (helpers.isUpArrowKey(_event)) {
|
|
5363
|
-
_event.preventDefault();
|
|
5364
|
-
this.focusClosestOption("previous");
|
|
5365
|
-
}
|
|
5366
|
-
else if (helpers.isPageUpKey(_event) || helpers.isHomeKey(_event)) {
|
|
5367
|
-
_event.preventDefault();
|
|
5368
|
-
this.focusFirstOption();
|
|
5369
|
-
}
|
|
5370
|
-
else if (helpers.isPageDownKey(_event)) {
|
|
5371
|
-
_event.preventDefault();
|
|
5372
|
-
this.focusLastOption();
|
|
5373
|
-
}
|
|
5737
|
+
break;
|
|
5738
|
+
default:
|
|
5739
|
+
throw new Error("Internal error");
|
|
5374
5740
|
}
|
|
5375
5741
|
}
|
|
5376
5742
|
getClosestActiveOptionIndexForState(direction, state) {
|
|
5377
|
-
let
|
|
5378
|
-
|
|
5743
|
+
let concernedOption;
|
|
5744
|
+
switch (state) {
|
|
5745
|
+
case 'focused':
|
|
5746
|
+
concernedOption = this.lastFocusedOptionElement;
|
|
5747
|
+
break;
|
|
5748
|
+
case 'modified':
|
|
5749
|
+
concernedOption = this.lastModifiedOptionElement;
|
|
5750
|
+
break;
|
|
5751
|
+
case 'highlighted':
|
|
5752
|
+
concernedOption = this.lastHighlightedOptionElement;
|
|
5753
|
+
break;
|
|
5754
|
+
default:
|
|
5755
|
+
concernedOption = null;
|
|
5756
|
+
}
|
|
5757
|
+
let currentIndex = Array.from(this.notDisabledOptions).indexOf(concernedOption);
|
|
5758
|
+
const MIN_INDEX = 0;
|
|
5759
|
+
const MAX_INDEX = this.notDisabledOptions.length - 1;
|
|
5760
|
+
if (direction === 'next' && currentIndex < MAX_INDEX) {
|
|
5379
5761
|
currentIndex++;
|
|
5380
5762
|
}
|
|
5381
|
-
else if (direction === 'previous' && currentIndex >
|
|
5763
|
+
else if (direction === 'previous' && currentIndex > MIN_INDEX) {
|
|
5382
5764
|
currentIndex--;
|
|
5383
5765
|
}
|
|
5384
5766
|
else {
|
|
5385
|
-
|
|
5767
|
+
if (!this.autocomplete)
|
|
5768
|
+
return 'nothing';
|
|
5769
|
+
// Used to scroll options infinitely with keyboard (autocomplete mode only)
|
|
5770
|
+
if (direction === 'next' && currentIndex >= MAX_INDEX) {
|
|
5771
|
+
currentIndex = 0;
|
|
5772
|
+
}
|
|
5773
|
+
if (direction === 'previous' && currentIndex === MIN_INDEX) {
|
|
5774
|
+
currentIndex = MAX_INDEX;
|
|
5775
|
+
}
|
|
5386
5776
|
}
|
|
5387
5777
|
return currentIndex;
|
|
5388
5778
|
}
|
|
5389
|
-
|
|
5390
|
-
|
|
5391
|
-
|
|
5779
|
+
/**
|
|
5780
|
+
* Selects the non-disabled option with the index passed as a parameter.
|
|
5781
|
+
* The method sends an event to the state machine (the same as when clicking on an option with the mouse)
|
|
5782
|
+
* @param indexToSelect Option index within non-deactivated options list
|
|
5783
|
+
* @param fromKeyboard
|
|
5784
|
+
* @private
|
|
5785
|
+
*/
|
|
5786
|
+
selectOption(indexToSelect, fromKeyboard = false) {
|
|
5787
|
+
const optionToSelect = this.notDisabledOptions[indexToSelect];
|
|
5788
|
+
if (!optionToSelect)
|
|
5789
|
+
return;
|
|
5392
5790
|
this.sendOptionSelectedToStateMachine({
|
|
5393
|
-
source:
|
|
5394
|
-
value:
|
|
5395
|
-
displayText:
|
|
5396
|
-
});
|
|
5791
|
+
source: optionToSelect,
|
|
5792
|
+
value: optionToSelect.value,
|
|
5793
|
+
displayText: optionToSelect.innerText
|
|
5794
|
+
}, fromKeyboard);
|
|
5397
5795
|
}
|
|
5398
5796
|
selectClosestOption(direction) {
|
|
5399
|
-
const indexToSelect = this.getClosestActiveOptionIndexForState(direction, '
|
|
5797
|
+
const indexToSelect = this.getClosestActiveOptionIndexForState(direction, 'modified');
|
|
5400
5798
|
if (indexToSelect === 'nothing')
|
|
5401
5799
|
return;
|
|
5402
|
-
this.selectOption(indexToSelect);
|
|
5800
|
+
this.selectOption(indexToSelect, true);
|
|
5403
5801
|
}
|
|
5404
5802
|
selectFirstOption() {
|
|
5405
5803
|
if (this.notDisabledOptions.length < 1) {
|
|
5406
5804
|
return;
|
|
5407
5805
|
}
|
|
5408
|
-
this.selectOption(0);
|
|
5806
|
+
this.selectOption(0, true);
|
|
5409
5807
|
}
|
|
5410
5808
|
selectLastOption() {
|
|
5411
5809
|
if (this.notDisabledOptions.length < 1) {
|
|
5412
5810
|
return;
|
|
5413
5811
|
}
|
|
5414
|
-
this.selectOption(this.notDisabledOptions.length - 1);
|
|
5812
|
+
this.selectOption(this.notDisabledOptions.length - 1, true);
|
|
5415
5813
|
}
|
|
5416
5814
|
focusOption(indexToFocus) {
|
|
5417
5815
|
var _a;
|
|
@@ -5434,8 +5832,8 @@ const Select = class {
|
|
|
5434
5832
|
selectedOptionChanged(event) {
|
|
5435
5833
|
this.sendOptionSelectedToStateMachine(event.detail);
|
|
5436
5834
|
}
|
|
5437
|
-
sendOptionSelectedToStateMachine(event) {
|
|
5438
|
-
this.stateService.send({ type: 'OPTION_SELECTED', value: event });
|
|
5835
|
+
sendOptionSelectedToStateMachine(event, fromKeyboard = false) {
|
|
5836
|
+
this.stateService.send({ type: 'OPTION_SELECTED', value: { option: event, fromKeyboard } });
|
|
5439
5837
|
}
|
|
5440
5838
|
onSlotchange() {
|
|
5441
5839
|
this.updateSelectedValue(this.value);
|
|
@@ -5448,22 +5846,115 @@ const Select = class {
|
|
|
5448
5846
|
}
|
|
5449
5847
|
});
|
|
5450
5848
|
}
|
|
5849
|
+
//region Autocomplete mode
|
|
5850
|
+
highlightOption(indexToHighlight) {
|
|
5851
|
+
this.clearHighlightOnLastHighlightedOption();
|
|
5852
|
+
this.lastHighlightedOptionElement = this.notDisabledOptions[indexToHighlight];
|
|
5853
|
+
if (this.lastHighlightedOptionElement) {
|
|
5854
|
+
this.lastHighlightedOptionElement.highlighted = true;
|
|
5855
|
+
this.autocompleteInput.setAttribute("aria-activedescendant", this.lastHighlightedOptionElement.id);
|
|
5856
|
+
requestAnimationFrame(() => {
|
|
5857
|
+
this.lastHighlightedOptionElement.scrollIntoView({ block: "nearest", inline: "nearest" });
|
|
5858
|
+
});
|
|
5859
|
+
}
|
|
5860
|
+
}
|
|
5861
|
+
highlightFirstOption() {
|
|
5862
|
+
this.highlightOption(0);
|
|
5863
|
+
}
|
|
5864
|
+
highlightLastOption() {
|
|
5865
|
+
this.highlightOption(this.notDisabledOptions.length - 1);
|
|
5866
|
+
}
|
|
5867
|
+
highlightClosestOption(direction) {
|
|
5868
|
+
const indexToHighlight = this.getClosestActiveOptionIndexForState(direction, 'highlighted');
|
|
5869
|
+
if (indexToHighlight === 'nothing')
|
|
5870
|
+
return;
|
|
5871
|
+
this.highlightOption(indexToHighlight);
|
|
5872
|
+
}
|
|
5873
|
+
/**
|
|
5874
|
+
* This method removes the highlight that applies to the last highlighted option if any.
|
|
5875
|
+
* This is used only for accessibility of autocomplete mode.
|
|
5876
|
+
* @private
|
|
5877
|
+
*/
|
|
5878
|
+
clearHighlightOnLastHighlightedOption() {
|
|
5879
|
+
if (this.lastHighlightedOptionElement) {
|
|
5880
|
+
this.lastHighlightedOptionElement.highlighted = false;
|
|
5881
|
+
this.lastHighlightedOptionElement = null;
|
|
5882
|
+
}
|
|
5883
|
+
}
|
|
5884
|
+
onAutocompleteInputEvent(e) {
|
|
5885
|
+
var _a;
|
|
5886
|
+
const filter = (_a = this.autocompleteInput.value) !== null && _a !== void 0 ? _a : '';
|
|
5887
|
+
this.handleAutocompleteValueChange(filter);
|
|
5888
|
+
// Avoid the inputEvent event to bubble and be emitted, we rather use wcsFilterChange in this case :
|
|
5889
|
+
e.stopPropagation();
|
|
5890
|
+
}
|
|
5891
|
+
handleAutocompleteValueChange(filter) {
|
|
5892
|
+
var _a, _b;
|
|
5893
|
+
this.clearHighlightOnLastHighlightedOption();
|
|
5894
|
+
const newValueIsDifferentFromLastModifiedOption = this.lastModifiedOptionElement == null || ((_a = this.lastModifiedOptionElement) === null || _a === void 0 ? void 0 : _a.textContent) !== this.autocompleteValue;
|
|
5895
|
+
if (!this.expanded && newValueIsDifferentFromLastModifiedOption) {
|
|
5896
|
+
this.open();
|
|
5897
|
+
}
|
|
5898
|
+
if (filter.length) {
|
|
5899
|
+
const [matchingOptions, optionsToHide] = [[], []];
|
|
5900
|
+
const filteringFunction = (_b = this.filterFn) !== null && _b !== void 0 ? _b : WcsDefaultSelectFilterFn;
|
|
5901
|
+
this.options.forEach((optionEl) => (filteringFunction(optionEl, filter) ? matchingOptions : optionsToHide).push(optionEl));
|
|
5902
|
+
this.showNoResultFoundLabel = matchingOptions.length === 0;
|
|
5903
|
+
matchingOptions.forEach(o => {
|
|
5904
|
+
o.hidden = false;
|
|
5905
|
+
o.removeAttribute("aria-hidden");
|
|
5906
|
+
});
|
|
5907
|
+
optionsToHide.forEach(o => {
|
|
5908
|
+
o.hidden = true;
|
|
5909
|
+
o.setAttribute("aria-hidden", "true");
|
|
5910
|
+
});
|
|
5911
|
+
}
|
|
5912
|
+
else {
|
|
5913
|
+
this.showNoResultFoundLabel = false;
|
|
5914
|
+
this.options.forEach(o => {
|
|
5915
|
+
o.hidden = false;
|
|
5916
|
+
o.removeAttribute("aria-hidden");
|
|
5917
|
+
});
|
|
5918
|
+
}
|
|
5919
|
+
this.autocompleteValue = filter;
|
|
5920
|
+
this.wcsFilterChange.emit({
|
|
5921
|
+
value: filter,
|
|
5922
|
+
});
|
|
5923
|
+
}
|
|
5924
|
+
onFocus() {
|
|
5925
|
+
if (this.autocomplete) {
|
|
5926
|
+
this.focusAutocompleteInput();
|
|
5927
|
+
}
|
|
5928
|
+
}
|
|
5929
|
+
focusAutocompleteInput() {
|
|
5930
|
+
var _a;
|
|
5931
|
+
(_a = this.autocompleteInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
5932
|
+
}
|
|
5933
|
+
//endregion
|
|
5451
5934
|
componentDidRender() {
|
|
5452
5935
|
var _a;
|
|
5453
5936
|
(_a = this.popper) === null || _a === void 0 ? void 0 : _a.update();
|
|
5454
5937
|
}
|
|
5455
5938
|
render() {
|
|
5939
|
+
var _a;
|
|
5456
5940
|
const ariaLabelValue = `${this.labelElement ? this.labelElement.innerText : ''} ${this.hasValue ? this.displayText : ''}`.trimEnd();
|
|
5457
|
-
return (index.h(index.Host, Object.assign({ class: this.expanded ? 'expanded ' : '', overlayDirection: this.overlayDirection }, this.focusedAttributes(), { role: "combobox", "aria-haspopup": "listbox", "aria-
|
|
5941
|
+
return (index.h(index.Host, Object.assign({ class: this.expanded ? 'expanded ' : '', overlayDirection: this.overlayDirection }, this.focusedAttributes(), { role: !this.autocomplete ? "combobox" : null, "aria-haspopup": !this.autocomplete ? "listbox" : null, "aria-owns": !this.autocomplete ? this.optionsId : null, "aria-controls": !this.autocomplete ? this.optionsId : null, "aria-disabled": this.disabled ? 'true' : null, "aria-expanded": this.expanded ? 'true' : 'false', "aria-multiselectable": this.multiple ? 'true' : 'false', "aria-label": ariaLabelValue }), index.h("div", { class: "wcs-select-control" }, index.h("div", { class: "wcs-select-value-container" }, this.hasValue
|
|
5458
5942
|
?
|
|
5459
5943
|
(this.chips ?
|
|
5460
5944
|
this.values.map((option) => index.h(SelectChips, { disabled: this.disabled, option: option, onRemove: this.removeChip.bind(this) }))
|
|
5461
|
-
:
|
|
5462
|
-
|
|
5945
|
+
: (!this.autocomplete || this.autocomplete && this.multiple) &&
|
|
5946
|
+
index.h("label", { class: "wcs-select-value" }, this.displayText))
|
|
5947
|
+
: !this.autocomplete && index.h("label", { class: "wcs-select-placeholder" }, this.placeholder), this.autocomplete && index.h("input", { class: "autocomplete-field", value: this.autocompleteValue, role: "combobox", "aria-haspopup": "listbox", "aria-label": ariaLabelValue, "aria-disabled": this.disabled ? 'true' : null, "aria-expanded": this.expanded ? 'true' : 'false', "aria-controls": this.optionsId, "aria-owns": this.optionsId, "aria-multiselectable": this.multiple ? 'true' : 'false', "aria-autocomplete": "list", onBlur: (e) => this.onAutocompleteFieldBlur(e), placeholder: ((_a = this.values) === null || _a === void 0 ? void 0 : _a.length) ? null : this.placeholder, onInput: (e) => this.onAutocompleteInputEvent(e), ref: el => this.autocompleteInput = el })), index.h(selectArrow.SelectArrow, { up: this.expanded })), index.h("div", { class: "wcs-select-options", id: this.optionsId, role: "listbox" }, index.h("slot", { name: "options", onSlotchange: this.onSlotchange.bind(this) }), (this.autocomplete && this.showNoResultFoundLabel) &&
|
|
5948
|
+
index.h("div", { class: "noresult-container" }, index.h("slot", { name: "filter-no-result" }, index.h("span", null, "Aucun r\u00E9sultat"))))));
|
|
5463
5949
|
}
|
|
5464
5950
|
focusedAttributes() {
|
|
5465
5951
|
return !this.disabled ? { tabIndex: 0 } : {};
|
|
5466
5952
|
}
|
|
5953
|
+
onAutocompleteFieldBlur(_e) {
|
|
5954
|
+
if (this.multiple === false && this.autocomplete === true) {
|
|
5955
|
+
this.autocompleteValue = this.displayText;
|
|
5956
|
+
}
|
|
5957
|
+
}
|
|
5467
5958
|
get el() { return index.getElement(this); }
|
|
5468
5959
|
static get watchers() { return {
|
|
5469
5960
|
"value": ["onValueChangeHandler"]
|
|
@@ -5472,7 +5963,7 @@ const Select = class {
|
|
|
5472
5963
|
let selectIds = 0;
|
|
5473
5964
|
Select.style = selectCss;
|
|
5474
5965
|
|
|
5475
|
-
const selectOptionCss = "@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;position:relative;outline:none;overflow:hidden}.mdc-ripple-surface::before,.mdc-ripple-surface::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface::before,.mdc-ripple-surface::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-upgraded--unbounded::before,.mdc-ripple-upgraded--unbounded::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface::before,.mdc-ripple-surface::after{background-color:#000;background-color:var(--mdc-ripple-color, #000)}.mdc-ripple-surface:hover::before,.mdc-ripple-surface.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}wcs-select-option{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;overflow:hidden;display:flex;padding:0 var(--wcs-padding);height:var(--wcs-select-option-height);line-height:42px;cursor:pointer;user-select:none;font-weight:500;font-size:1rem;color:var(--wcs-black)}wcs-select-option::before,wcs-select-option::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}wcs-select-option::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}wcs-select-option::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}wcs-select-option.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}wcs-select-option.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}wcs-select-option.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}wcs-select-option.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}wcs-select-option.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}wcs-select-option::before,wcs-select-option::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}wcs-select-option.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}wcs-select-option::before,wcs-select-option::after{background-color:#999;background-color:var(--mdc-ripple-color, #999)}wcs-select-option:hover::before,wcs-select-option.mdc-ripple-surface--hover::before{opacity:0.1;opacity:var(--mdc-ripple-hover-opacity, 0.1)}wcs-select-option.mdc-ripple-upgraded--background-focused::before,wcs-select-option:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-focus-opacity, 0.2)}wcs-select-option:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}wcs-select-option:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.3;opacity:var(--mdc-ripple-press-opacity, 0.3)}wcs-select-option.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.3)}wcs-select-option:hover{color:var(--wcs-primary);background-color:var(--wcs-light)}wcs-select-option:focus{outline:none}wcs-select-option[disabled]{cursor:not-allowed;pointer-events:none;color:var(--wcs-text-disabled)}wcs-select-option[selected]{color:var(--wcs-primary);background-color:var(--wcs-light)}wcs-select-option[multiple] wcs-checkbox{pointer-events:none;margin-right:10px}wcs-select-option[multiple]:hover wcs-checkbox{--wcs-checkbox-border-color:var(--wcs-primary)}";
|
|
5966
|
+
const selectOptionCss = "@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;position:relative;outline:none;overflow:hidden}.mdc-ripple-surface::before,.mdc-ripple-surface::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface::before,.mdc-ripple-surface::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-upgraded--unbounded::before,.mdc-ripple-upgraded--unbounded::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface::before,.mdc-ripple-surface::after{background-color:#000;background-color:var(--mdc-ripple-color, #000)}.mdc-ripple-surface:hover::before,.mdc-ripple-surface.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}wcs-select-option{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;overflow:hidden;display:flex;padding:0 var(--wcs-padding);height:var(--wcs-select-option-height);line-height:42px;cursor:pointer;user-select:none;font-weight:500;font-size:1rem;color:var(--wcs-black)}wcs-select-option::before,wcs-select-option::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}wcs-select-option::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}wcs-select-option::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}wcs-select-option.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}wcs-select-option.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}wcs-select-option.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}wcs-select-option.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}wcs-select-option.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}wcs-select-option::before,wcs-select-option::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}wcs-select-option.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}wcs-select-option::before,wcs-select-option::after{background-color:#999;background-color:var(--mdc-ripple-color, #999)}wcs-select-option:hover::before,wcs-select-option.mdc-ripple-surface--hover::before{opacity:0.1;opacity:var(--mdc-ripple-hover-opacity, 0.1)}wcs-select-option.mdc-ripple-upgraded--background-focused::before,wcs-select-option:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-focus-opacity, 0.2)}wcs-select-option:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}wcs-select-option:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.3;opacity:var(--mdc-ripple-press-opacity, 0.3)}wcs-select-option.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.3)}wcs-select-option:hover{color:var(--wcs-primary);background-color:var(--wcs-light)}wcs-select-option:focus{outline:none}wcs-select-option[disabled]{cursor:not-allowed;pointer-events:none;color:var(--wcs-text-disabled)}wcs-select-option[hidden]{display:none}wcs-select-option[selected]{color:var(--wcs-primary);background-color:var(--wcs-light)}wcs-select-option[multiple] wcs-checkbox{pointer-events:none;margin-right:10px}wcs-select-option[multiple]:hover wcs-checkbox{--wcs-checkbox-border-color:var(--wcs-primary)}wcs-select-option[highlighted]{outline:solid 1px var(--wcs-primary);outline-offset:-1px;border-radius:var(--wcs-border-radius);color:var(--wcs-primary);background-color:var(--wcs-light)}wcs-select-option[highlighted] wcs-checkbox{--wcs-checkbox-border-color:var(--wcs-primary)}";
|
|
5476
5967
|
|
|
5477
5968
|
const SelectOption = class {
|
|
5478
5969
|
constructor(hostRef) {
|
|
@@ -5481,6 +5972,7 @@ const SelectOption = class {
|
|
|
5481
5972
|
this.selectOptionId = helpers.generateUniqueId(this.el.tagName);
|
|
5482
5973
|
this.disabled = false;
|
|
5483
5974
|
this.selected = false;
|
|
5975
|
+
this.highlighted = false;
|
|
5484
5976
|
this.value = undefined;
|
|
5485
5977
|
this.chipColor = undefined;
|
|
5486
5978
|
this.chipBackgroundColor = undefined;
|
|
@@ -5522,7 +6014,7 @@ const SelectOption = class {
|
|
|
5522
6014
|
}
|
|
5523
6015
|
}
|
|
5524
6016
|
render() {
|
|
5525
|
-
return (index.h(index.Host, { id: this.selectOptionId, "aria-selected": this.selected ? 'true' : 'false', slot: "
|
|
6017
|
+
return (index.h(index.Host, { id: this.selectOptionId, "aria-selected": this.selected || this.highlighted ? 'true' : 'false', slot: "options", role: "option", tabindex: "-1" }, this.multiple &&
|
|
5526
6018
|
index.h("wcs-checkbox", { tabindex: "-1", checked: this.selected }), index.h("slot", null)));
|
|
5527
6019
|
}
|
|
5528
6020
|
get el() { return index.getElement(this); }
|