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
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, f as forceUpdate, h, H as Host, g as getElement } from './index-
|
|
2
|
-
import { G as GridPagination } from './grid-pagination-
|
|
3
|
-
import { i as isObjectLike, b as baseGetTag, a as isArray, S as Symbol, c as isObject, g as getNative, e as eq, d as isPrototype, f as isArrayLike, h as arrayLikeKeys, M as MapCache, o as overArg, k as keys, r as root, j as getSymbols, s as stubArray, l as arrayPush, m as baseGetAllKeys, U as Uint8Array$1, n as getTag, p as baseUnary, q as nodeUtil, t as isBuffer, u as Stack, v as getAllKeys, w as isEqual } from './
|
|
1
|
+
import { r as registerInstance, c as createEvent, f as forceUpdate, h, H as Host, g as getElement } from './index-4f282598.js';
|
|
2
|
+
import { G as GridPagination } from './grid-pagination-f7b01e2e.js';
|
|
3
|
+
import { i as isObjectLike, b as baseGetTag, a as isArray, S as Symbol, c as isObject, g as getNative, e as eq, d as isPrototype, f as isArrayLike, h as arrayLikeKeys, M as MapCache, o as overArg, k as keys, r as root, j as getSymbols, s as stubArray, l as arrayPush, m as baseGetAllKeys, U as Uint8Array$1, n as getTag, p as baseUnary, q as nodeUtil, t as isBuffer, u as Stack, v as getAllKeys, w as keyboardShortcutFromKeyboardEvent, x as isEqual } from './keyboard-event-ba3d20e7.js';
|
|
4
|
+
import './helpers-a21ae7d0.js';
|
|
4
5
|
|
|
5
6
|
function getSortOrderInteger(sortOrder) {
|
|
6
7
|
switch (sortOrder) {
|
|
@@ -1176,7 +1177,51 @@ function cloneDeep(value) {
|
|
|
1176
1177
|
return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
|
|
1177
1178
|
}
|
|
1178
1179
|
|
|
1179
|
-
|
|
1180
|
+
/**
|
|
1181
|
+
* We follow this https://www.w3.org/WAI/ARIA/apg/patterns/grid/
|
|
1182
|
+
* @param event
|
|
1183
|
+
* @param type
|
|
1184
|
+
*/
|
|
1185
|
+
function getActionForKeyboardEvent(event, type) {
|
|
1186
|
+
const keyboardShortcut = keyboardShortcutFromKeyboardEvent(event);
|
|
1187
|
+
if (keyboardShortcut === 'UNKNOWN') {
|
|
1188
|
+
return [];
|
|
1189
|
+
}
|
|
1190
|
+
switch (keyboardShortcut) {
|
|
1191
|
+
case "UP_ARROW":
|
|
1192
|
+
return [{ kind: 'FocusCell', target: 'up' }];
|
|
1193
|
+
case "DOWN_ARROW":
|
|
1194
|
+
return [{ kind: 'FocusCell', target: 'down' }];
|
|
1195
|
+
case "LEFT_ARROW":
|
|
1196
|
+
return [{ kind: 'FocusCell', target: 'left' }];
|
|
1197
|
+
case "RIGHT_ARROW":
|
|
1198
|
+
return [{ kind: 'FocusCell', target: 'right' }];
|
|
1199
|
+
case "HOME":
|
|
1200
|
+
return [{ kind: 'FocusCell', target: 'first_of_row' }];
|
|
1201
|
+
case "END":
|
|
1202
|
+
return [{ kind: 'FocusCell', target: 'last_of_row' }];
|
|
1203
|
+
case "MAJ+SPACE":
|
|
1204
|
+
switch (type) {
|
|
1205
|
+
case "grid_selection_single":
|
|
1206
|
+
case "grid_selection_multiple":
|
|
1207
|
+
return [{ kind: 'SelectRow', target: 'one' }];
|
|
1208
|
+
}
|
|
1209
|
+
break;
|
|
1210
|
+
case "CTRL+A":
|
|
1211
|
+
switch (type) {
|
|
1212
|
+
case "grid_selection_multiple":
|
|
1213
|
+
return [{ kind: 'SelectRow', target: 'all' }];
|
|
1214
|
+
}
|
|
1215
|
+
break;
|
|
1216
|
+
case "CTRL+HOME":
|
|
1217
|
+
return [{ kind: 'FocusCell', target: 'first_of_grid' }];
|
|
1218
|
+
case "CTRL+END":
|
|
1219
|
+
return [{ kind: 'FocusCell', target: 'last_of_grid' }];
|
|
1220
|
+
}
|
|
1221
|
+
return [];
|
|
1222
|
+
}
|
|
1223
|
+
|
|
1224
|
+
const gridCss = ":host{display:block;--wcs-grid-highlight-color:var(--wcs-light)}:host th{background-color:var(--wcs-light)}:host th:not(:first-child){border-left:solid 1px var(--wcs-text-light)}:host ::slotted([slot=grid-column]:first-child){--wcs-grid-column-border-left:none}:host table{width:100%;border-spacing:0}:host td{color:var(--wcs-gray-light);margin:0;padding:calc(var(--wcs-padding) / 2) var(--wcs-padding)}:host td:focus-visible{outline:2px dashed var(--wcs-primary);outline-offset:0;border-radius:0.1rem}:host tr:not(:last-child) td{border-bottom:solid 1px var(--wcs-text-light)}:host .wcs-grid-selection-column{padding:calc(var(--wcs-padding) / 2) var(--wcs-padding);width:40px}:host tr.selected{background-color:var(--wcs-grid-highlight-color)}:host .loading{text-align:center}:host([selection]) ::slotted([slot=grid-column]:first-child){--wcs-grid-column-border-left:solid 1px var(--wcs-text-light) !important}";
|
|
1180
1225
|
|
|
1181
1226
|
const Grid = class {
|
|
1182
1227
|
constructor(hostRef) {
|
|
@@ -1193,6 +1238,11 @@ const Grid = class {
|
|
|
1193
1238
|
this.columns = undefined;
|
|
1194
1239
|
this.paginationEl = undefined;
|
|
1195
1240
|
this.rows = [];
|
|
1241
|
+
this.cursorPosition = { col: 0, row: 1 };
|
|
1242
|
+
}
|
|
1243
|
+
onCursorPositionChange(newValue) {
|
|
1244
|
+
// Notify all grid columns that the cursorPosition has changed
|
|
1245
|
+
this.getGridColumnsFromTemplate().forEach(g => g.cursorPosition = newValue);
|
|
1196
1246
|
}
|
|
1197
1247
|
onDataChange(newValue) {
|
|
1198
1248
|
this.updateGridRows(newValue);
|
|
@@ -1201,10 +1251,141 @@ const Grid = class {
|
|
|
1201
1251
|
onSelectedItemsPropertyChange(newValue) {
|
|
1202
1252
|
this.updateSelectionWithValues(newValue);
|
|
1203
1253
|
}
|
|
1254
|
+
onFocus() {
|
|
1255
|
+
var _a;
|
|
1256
|
+
(_a = this.getElementToFocusAtCursorPosition()) === null || _a === void 0 ? void 0 : _a.focus();
|
|
1257
|
+
}
|
|
1258
|
+
/**
|
|
1259
|
+
* If selectionConfig is different from `none`, that means that an extra column for radio or checkbox is rendered
|
|
1260
|
+
* in the table.
|
|
1261
|
+
*/
|
|
1262
|
+
hasSelectionColumn() {
|
|
1263
|
+
return this.selectionConfig !== 'none';
|
|
1264
|
+
}
|
|
1265
|
+
/**
|
|
1266
|
+
* Returns the element to focus at the current cursor position : it can be a cell (td, th) to focus or a nested
|
|
1267
|
+
* checkbox / radio element if the selection mode is single or multiple
|
|
1268
|
+
*/
|
|
1269
|
+
getElementToFocusAtCursorPosition() {
|
|
1270
|
+
var _a, _b;
|
|
1271
|
+
const el = (_a = this.gridElementsWithCoordinates.find(cell => { var _a, _b; return cell.col === ((_a = this.cursorPosition) === null || _a === void 0 ? void 0 : _a.col) && cell.row === ((_b = this.cursorPosition) === null || _b === void 0 ? void 0 : _b.row); })) === null || _a === void 0 ? void 0 : _a.el;
|
|
1272
|
+
return this.hasSelectionColumn()
|
|
1273
|
+
? (_b = el.querySelector('wcs-checkbox,wcs-radio')) !== null && _b !== void 0 ? _b : el
|
|
1274
|
+
: el;
|
|
1275
|
+
}
|
|
1276
|
+
moveCursorPosition(directionX, directionY) {
|
|
1277
|
+
var _a;
|
|
1278
|
+
this.cursorPosition = {
|
|
1279
|
+
col: directionX === 'first' ? 0 :
|
|
1280
|
+
directionX === 'last' ? this.totalDisplayedColumnCount() - 1 :
|
|
1281
|
+
Math.min(Math.max(this.cursorPosition.col + directionX, 0), this.totalDisplayedColumnCount() - 1),
|
|
1282
|
+
row: directionY === 'first' ? 0 :
|
|
1283
|
+
directionY === 'last' ? this.getRowsForCurrentPage().length :
|
|
1284
|
+
Math.min(Math.max(this.cursorPosition.row + directionY, 0), this.getRowsForCurrentPage().length)
|
|
1285
|
+
};
|
|
1286
|
+
this.handleCursorPositionOnEmptyTh();
|
|
1287
|
+
(_a = this.getElementToFocusAtCursorPosition()) === null || _a === void 0 ? void 0 : _a.focus();
|
|
1288
|
+
}
|
|
1289
|
+
/**
|
|
1290
|
+
* When the grid has selectionConfig single, an empty th appears at col=0, row=0.
|
|
1291
|
+
* It should not be focusable so the cursor navigates to col=1, row=0 instead.
|
|
1292
|
+
*/
|
|
1293
|
+
handleCursorPositionOnEmptyTh() {
|
|
1294
|
+
if (this.selectionConfig === 'single' && this.cursorPosition.col === 0 && this.cursorPosition.row === 0) {
|
|
1295
|
+
this.cursorPosition = {
|
|
1296
|
+
col: 1,
|
|
1297
|
+
row: 0
|
|
1298
|
+
};
|
|
1299
|
+
}
|
|
1300
|
+
}
|
|
1204
1301
|
onHiddenColumnChange() {
|
|
1205
1302
|
// We use forceUpdate because the fact of hiding a column or not does not modify the internal structure of the grid (WcsGridRow).
|
|
1206
1303
|
// Hide a column only impacts the way it is rendered but the grid-column remains in the dom and in our internal model.
|
|
1207
1304
|
forceUpdate(this);
|
|
1305
|
+
this.cursorPosition = { col: 0, row: 1 };
|
|
1306
|
+
}
|
|
1307
|
+
onKeyDown(_event) {
|
|
1308
|
+
var _a;
|
|
1309
|
+
if (((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.tagName) === 'WCS-GRID-PAGINATION') {
|
|
1310
|
+
return;
|
|
1311
|
+
}
|
|
1312
|
+
let type;
|
|
1313
|
+
switch (this.selectionConfig) {
|
|
1314
|
+
case "multiple":
|
|
1315
|
+
type = 'grid_selection_multiple';
|
|
1316
|
+
break;
|
|
1317
|
+
case "single":
|
|
1318
|
+
type = 'grid_selection_single';
|
|
1319
|
+
break;
|
|
1320
|
+
case "none":
|
|
1321
|
+
type = 'grid_no_selection';
|
|
1322
|
+
break;
|
|
1323
|
+
}
|
|
1324
|
+
const actionsFromKeyboardEvents = getActionForKeyboardEvent(_event, type);
|
|
1325
|
+
// If we have at least one associated actions, we prevent the default behavior of the event.
|
|
1326
|
+
// Except if the action is a focus move (we have to handle the preventDefault behavior ourselves in the action implementation)
|
|
1327
|
+
if (actionsFromKeyboardEvents.length != 0) {
|
|
1328
|
+
_event.preventDefault();
|
|
1329
|
+
}
|
|
1330
|
+
for (const actionFromKeyboardEvent of actionsFromKeyboardEvents) {
|
|
1331
|
+
this.doActionFromKeyboardEventAssociatedAction(actionFromKeyboardEvent, _event);
|
|
1332
|
+
}
|
|
1333
|
+
}
|
|
1334
|
+
doActionFromKeyboardEventAssociatedAction(actionFromKeyboardEvent, event) {
|
|
1335
|
+
switch (actionFromKeyboardEvent.kind) {
|
|
1336
|
+
case "FocusCell":
|
|
1337
|
+
switch (actionFromKeyboardEvent.target) {
|
|
1338
|
+
case "up":
|
|
1339
|
+
this.moveCursorPosition(0, -1);
|
|
1340
|
+
break;
|
|
1341
|
+
case "down":
|
|
1342
|
+
this.moveCursorPosition(0, 1);
|
|
1343
|
+
break;
|
|
1344
|
+
case "left":
|
|
1345
|
+
this.moveCursorPosition(-1, 0);
|
|
1346
|
+
break;
|
|
1347
|
+
case "right":
|
|
1348
|
+
this.moveCursorPosition(1, 0);
|
|
1349
|
+
break;
|
|
1350
|
+
case "first_of_row":
|
|
1351
|
+
this.moveCursorPosition('first', 0);
|
|
1352
|
+
break;
|
|
1353
|
+
case "last_of_row":
|
|
1354
|
+
this.moveCursorPosition('last', 0);
|
|
1355
|
+
break;
|
|
1356
|
+
case "first_of_grid":
|
|
1357
|
+
this.moveCursorPosition('first', 'first');
|
|
1358
|
+
break;
|
|
1359
|
+
case "last_of_grid":
|
|
1360
|
+
this.moveCursorPosition('last', 'last');
|
|
1361
|
+
break;
|
|
1362
|
+
}
|
|
1363
|
+
case "SelectRow":
|
|
1364
|
+
switch (actionFromKeyboardEvent.target) {
|
|
1365
|
+
case "one":
|
|
1366
|
+
event.preventDefault();
|
|
1367
|
+
if (this.cursorPosition.row > 0) {
|
|
1368
|
+
this.onRowSelection(this.rows[this.cursorPosition.row - 1]);
|
|
1369
|
+
}
|
|
1370
|
+
break;
|
|
1371
|
+
case "all":
|
|
1372
|
+
this.selectAllRows();
|
|
1373
|
+
break;
|
|
1374
|
+
}
|
|
1375
|
+
break;
|
|
1376
|
+
default:
|
|
1377
|
+
throw new Error("Internal error");
|
|
1378
|
+
}
|
|
1379
|
+
}
|
|
1380
|
+
onClick(_event) {
|
|
1381
|
+
const clickedGridElement = _event.composedPath()
|
|
1382
|
+
.filter(x => ['TD', 'TH']
|
|
1383
|
+
.includes(x.nodeName))[0];
|
|
1384
|
+
const clickedGridElementWithCoordinates = this.gridElementsWithCoordinates.find(e => e.el === clickedGridElement);
|
|
1385
|
+
this.cursorPosition = {
|
|
1386
|
+
col: clickedGridElementWithCoordinates.col,
|
|
1387
|
+
row: clickedGridElementWithCoordinates.row,
|
|
1388
|
+
};
|
|
1208
1389
|
}
|
|
1209
1390
|
updateSelectionWithValues(values) {
|
|
1210
1391
|
if (this.selectionConfig === 'single') {
|
|
@@ -1240,7 +1421,10 @@ const Grid = class {
|
|
|
1240
1421
|
selected: false,
|
|
1241
1422
|
cells: []
|
|
1242
1423
|
};
|
|
1424
|
+
let index = 0;
|
|
1243
1425
|
for (const column of this.columns) {
|
|
1426
|
+
column.columnPosition = index + (this.hasSelectionColumn() ? 1 : 0);
|
|
1427
|
+
index++;
|
|
1244
1428
|
row.cells.push({
|
|
1245
1429
|
content: get(data[i], column.path),
|
|
1246
1430
|
column,
|
|
@@ -1268,14 +1452,14 @@ const Grid = class {
|
|
|
1268
1452
|
* Handle existing column's filters (defined before the grid is instantiated)
|
|
1269
1453
|
* @private
|
|
1270
1454
|
*/
|
|
1271
|
-
refreshSort(
|
|
1455
|
+
refreshSort(refreshOthersColumnsSortOrderState) {
|
|
1272
1456
|
//fixme: why the column property can be null or undefined?
|
|
1273
1457
|
if (this.columns) {
|
|
1274
1458
|
const [first, ...other] = this.columns.filter(c => c.sortOrder !== 'none');
|
|
1275
1459
|
if (first && !this.serverMode) {
|
|
1276
1460
|
this.sortBy(first);
|
|
1277
1461
|
}
|
|
1278
|
-
|
|
1462
|
+
refreshOthersColumnsSortOrderState && this.disableSortOrderForColumns(other);
|
|
1279
1463
|
}
|
|
1280
1464
|
}
|
|
1281
1465
|
disableSortOrderForColumns(columns) {
|
|
@@ -1289,6 +1473,34 @@ const Grid = class {
|
|
|
1289
1473
|
const slotted = this.el.shadowRoot.querySelector('slot[name="grid-pagination"]');
|
|
1290
1474
|
return slotted.assignedElements();
|
|
1291
1475
|
}
|
|
1476
|
+
get gridElementsWithCoordinates() {
|
|
1477
|
+
const gridElements = [];
|
|
1478
|
+
// If selection multiple, the first cell should be added to the list
|
|
1479
|
+
if (this.selectionConfig === 'multiple') {
|
|
1480
|
+
gridElements.push({
|
|
1481
|
+
el: this.el.shadowRoot.querySelector('th'),
|
|
1482
|
+
row: 0,
|
|
1483
|
+
col: 0
|
|
1484
|
+
});
|
|
1485
|
+
}
|
|
1486
|
+
this.getGridColumnsFromTemplate()
|
|
1487
|
+
.filter(col => !col.hidden)
|
|
1488
|
+
.forEach((col, index) => {
|
|
1489
|
+
gridElements.push({
|
|
1490
|
+
el: col.shadowRoot.querySelector('th'),
|
|
1491
|
+
row: 0,
|
|
1492
|
+
col: index + (this.hasSelectionColumn() ? 1 : 0),
|
|
1493
|
+
});
|
|
1494
|
+
});
|
|
1495
|
+
this.el.shadowRoot.querySelectorAll('td').forEach((cell, index) => {
|
|
1496
|
+
gridElements.push({
|
|
1497
|
+
el: cell,
|
|
1498
|
+
row: 1 + Math.floor(index / this.totalDisplayedColumnCount()),
|
|
1499
|
+
col: index % this.totalDisplayedColumnCount(),
|
|
1500
|
+
});
|
|
1501
|
+
});
|
|
1502
|
+
return gridElements;
|
|
1503
|
+
}
|
|
1292
1504
|
sortChangeEventHandler(event) {
|
|
1293
1505
|
if (event.detail.order === 'none')
|
|
1294
1506
|
return;
|
|
@@ -1301,19 +1513,19 @@ const Grid = class {
|
|
|
1301
1513
|
}
|
|
1302
1514
|
/**
|
|
1303
1515
|
* Sorts the grid rows according to the given column's configuration
|
|
1304
|
-
* @param
|
|
1516
|
+
* @param column Column from which to extract the sorting configuration
|
|
1305
1517
|
* @private
|
|
1306
1518
|
*/
|
|
1307
|
-
sortBy(
|
|
1308
|
-
if (
|
|
1519
|
+
sortBy(column) {
|
|
1520
|
+
if (column.sortFn) {
|
|
1309
1521
|
this.rows = cloneDeep(this.rows)
|
|
1310
|
-
.sort((a, b) =>
|
|
1522
|
+
.sort((a, b) => column.sortFn(a.data, b.data, column) * getSortOrderInteger(column.sortOrder));
|
|
1311
1523
|
}
|
|
1312
1524
|
else {
|
|
1313
1525
|
this.rows = cloneDeep(this.rows)
|
|
1314
1526
|
.sort((a, b) => {
|
|
1315
|
-
const path =
|
|
1316
|
-
return ((get(a.data, path) < get(b.data, path)) ? -1 : (get(a.data, path) > get(b.data, path)) ? 1 : 0) * getSortOrderInteger(
|
|
1527
|
+
const path = column.path;
|
|
1528
|
+
return ((get(a.data, path) < get(b.data, path)) ? -1 : (get(a.data, path) > get(b.data, path)) ? 1 : 0) * getSortOrderInteger(column.sortOrder);
|
|
1317
1529
|
});
|
|
1318
1530
|
}
|
|
1319
1531
|
}
|
|
@@ -1354,15 +1566,25 @@ const Grid = class {
|
|
|
1354
1566
|
}
|
|
1355
1567
|
row.selected = !row.selected;
|
|
1356
1568
|
if (this.selectionConfig !== 'single' || row.selected) {
|
|
1357
|
-
this.wcsGridSelectionChange.emit({
|
|
1569
|
+
this.wcsGridSelectionChange.emit({
|
|
1570
|
+
selectedRows: this.selectedRows.map(row => this.wcsGridRowToWcsGridRowData(row)),
|
|
1571
|
+
changedRow: this.wcsGridRowToWcsGridRowData(row)
|
|
1572
|
+
});
|
|
1358
1573
|
}
|
|
1359
1574
|
this.rows = cloneDeep(this.rows);
|
|
1360
1575
|
}
|
|
1576
|
+
get selectedRows() {
|
|
1577
|
+
return this.rows.filter(r => r.selected);
|
|
1578
|
+
}
|
|
1361
1579
|
selectAllRows() {
|
|
1362
1580
|
const rows = this.getRowsForCurrentPage();
|
|
1363
1581
|
const selected = !this.allRowsAreSelected();
|
|
1364
1582
|
rows.map(r => r.selected = selected);
|
|
1365
1583
|
this.wcsGridAllSelectionChange.emit({ rows: selected ? rows.map(row => this.wcsGridRowToWcsGridRowData(row)) : [] });
|
|
1584
|
+
this.wcsGridSelectionChange.emit({
|
|
1585
|
+
selectedRows: this.selectedRows.map(row => this.wcsGridRowToWcsGridRowData(row)),
|
|
1586
|
+
changedRow: 'allCheckbox'
|
|
1587
|
+
});
|
|
1366
1588
|
this.rows = cloneDeep(this.rows);
|
|
1367
1589
|
}
|
|
1368
1590
|
allRowsAreSelected() {
|
|
@@ -1375,14 +1597,15 @@ const Grid = class {
|
|
|
1375
1597
|
}
|
|
1376
1598
|
return this.rows;
|
|
1377
1599
|
}
|
|
1378
|
-
renderSelectionColumn(row) {
|
|
1600
|
+
renderSelectionColumn(row, rowIndex) {
|
|
1601
|
+
var _a, _b, _c, _d;
|
|
1379
1602
|
switch (this.selectionConfig) {
|
|
1380
1603
|
case 'none':
|
|
1381
1604
|
return;
|
|
1382
1605
|
case 'single':
|
|
1383
|
-
return h("td", null, h("wcs-radio", { checked: row.selected, onWcsRadioClick: this.onRowSelection.bind(this, row) }));
|
|
1606
|
+
return h("td", { "aria-colindex": this.atLeastOneColumnHidden() ? 1 : null, tabIndex: ((_a = this.cursorPosition) === null || _a === void 0 ? void 0 : _a.col) === 0 && rowIndex + 1 === ((_b = this.cursorPosition) === null || _b === void 0 ? void 0 : _b.row) ? 0 : -1 }, h("wcs-radio", { tabIndex: -1, checked: row.selected, onWcsRadioClick: this.onRowSelection.bind(this, row) }));
|
|
1384
1607
|
case 'multiple':
|
|
1385
|
-
return h("td", null, h("wcs-checkbox", { checked: row.selected, onWcsChange: this.onRowSelection.bind(this, row) }));
|
|
1608
|
+
return h("td", { "aria-colindex": this.atLeastOneColumnHidden() ? 1 : null, tabIndex: ((_c = this.cursorPosition) === null || _c === void 0 ? void 0 : _c.col) === 0 && rowIndex + 1 === ((_d = this.cursorPosition) === null || _d === void 0 ? void 0 : _d.row) ? 0 : -1 }, h("wcs-checkbox", { tabIndex: -1, checked: row.selected, onWcsChange: this.onRowSelection.bind(this, row) }));
|
|
1386
1609
|
}
|
|
1387
1610
|
}
|
|
1388
1611
|
getCellContent(row, cell) {
|
|
@@ -1391,34 +1614,66 @@ const Grid = class {
|
|
|
1391
1614
|
}
|
|
1392
1615
|
return cell.content;
|
|
1393
1616
|
}
|
|
1617
|
+
/**
|
|
1618
|
+
* Returns the total number of columns
|
|
1619
|
+
* @private
|
|
1620
|
+
*/
|
|
1394
1621
|
totalColumnCount() {
|
|
1395
1622
|
if (!this.columns) {
|
|
1396
1623
|
return 0;
|
|
1397
1624
|
}
|
|
1398
|
-
return this.columns.length + (this.
|
|
1625
|
+
return this.columns.length + (this.hasSelectionColumn() ? 1 : 0);
|
|
1626
|
+
}
|
|
1627
|
+
/**
|
|
1628
|
+
* Returns the total number of columns that are not hidden
|
|
1629
|
+
* @private
|
|
1630
|
+
*/
|
|
1631
|
+
totalDisplayedColumnCount() {
|
|
1632
|
+
var _a, _b;
|
|
1633
|
+
return (_b = this.totalColumnCount() - ((_a = this.columns) === null || _a === void 0 ? void 0 : _a.filter(col => col.hidden).length)) !== null && _b !== void 0 ? _b : 0;
|
|
1634
|
+
}
|
|
1635
|
+
/**
|
|
1636
|
+
* Returns true if at least one column is hidden from the table
|
|
1637
|
+
* @private
|
|
1638
|
+
*/
|
|
1639
|
+
atLeastOneColumnHidden() {
|
|
1640
|
+
return this.totalDisplayedColumnCount() !== this.totalColumnCount();
|
|
1399
1641
|
}
|
|
1400
1642
|
render() {
|
|
1401
|
-
var _a;
|
|
1402
|
-
return (h(Host, null, h("table", null, h("thead", null, this.selectionConfig === 'none' ? ''
|
|
1643
|
+
var _a, _b, _c, _d;
|
|
1644
|
+
return (h(Host, null, h("table", { role: "grid", "aria-rowcount": !this.loading && ((_a = this.rows) === null || _a === void 0 ? void 0 : _a.length), "aria-colcount": !this.loading && this.totalDisplayedColumnCount() }, h("thead", null, h("tr", { "aria-rowindex": "1" }, this.selectionConfig === 'none' ? ''
|
|
1403
1645
|
: h("th", { class: "wcs-grid-selection-column" }, this.selectionConfig === 'single' ? '' :
|
|
1404
|
-
h("wcs-checkbox", {
|
|
1405
|
-
|
|
1406
|
-
|
|
1646
|
+
h("wcs-checkbox", { tabIndex: ((_b = this.cursorPosition) === null || _b === void 0 ? void 0 : _b.col) === 0
|
|
1647
|
+
&& ((_c = this.cursorPosition) === null || _c === void 0 ? void 0 : _c.row) === 0 ? 0 : -1, checked: this.allRowsAreSelected(), onWcsChange: this.selectAllRows.bind(this) })), h("slot", { name: "grid-column" }))), h("tbody", null, this.loading
|
|
1648
|
+
? h("tr", { "aria-busy": "true" }, h("td", { colSpan: this.totalColumnCount(), class: "loading" }, h("wcs-spinner", null)))
|
|
1649
|
+
: (_d = this.rows) === null || _d === void 0 ? void 0 : _d.filter(row => this.serverMode || !this.paginationEl || row.page === this.paginationEl.currentPage).map((row, index) => this.renderRow(row, index)))), h("slot", { name: "grid-pagination" })));
|
|
1407
1650
|
}
|
|
1408
|
-
|
|
1651
|
+
/**
|
|
1652
|
+
* Returns the row with all mapped cells inside.
|
|
1653
|
+
* The aria-rowindex here starts at 2 because the header row starts at index 1.
|
|
1654
|
+
* @private
|
|
1655
|
+
*/
|
|
1656
|
+
renderRow(row, rowIndex) {
|
|
1409
1657
|
var _a;
|
|
1410
|
-
|
|
1411
|
-
|
|
1658
|
+
let hiddenColumnCount = 0;
|
|
1659
|
+
return h("tr", { class: row.selected ? 'selected' : '', "aria-selected": row.selected ? 'true' : null, "aria-rowindex": rowIndex + 2 }, this.renderSelectionColumn(row, rowIndex), (_a = row.cells) === null || _a === void 0 ? void 0 :
|
|
1660
|
+
_a.map((cell, cellIndex) => {
|
|
1661
|
+
var _a, _b;
|
|
1412
1662
|
if (cell.column.hidden) {
|
|
1663
|
+
hiddenColumnCount++;
|
|
1413
1664
|
return;
|
|
1414
1665
|
}
|
|
1666
|
+
const nonHiddenColumnIndex = cellIndex - hiddenColumnCount + 1 + (this.hasSelectionColumn() ? 1 : 0);
|
|
1667
|
+
const cursorIsOnCell = nonHiddenColumnIndex - 1 === ((_a = this.cursorPosition) === null || _a === void 0 ? void 0 : _a.col)
|
|
1668
|
+
&& rowIndex + 1 === ((_b = this.cursorPosition) === null || _b === void 0 ? void 0 : _b.row);
|
|
1415
1669
|
return cell.column.customCells
|
|
1416
|
-
? (h("td", null, h("slot", { name: cell.column.id + '-' + row.data[this.rowIdPath] })))
|
|
1417
|
-
: (h("td", { part: cell.column.path + '-column' }, this.getCellContent(row, cell)));
|
|
1670
|
+
? (h("td", { tabIndex: cursorIsOnCell ? 0 : -1, "aria-colindex": this.atLeastOneColumnHidden() ? nonHiddenColumnIndex : null }, h("slot", { name: cell.column.id + '-' + row.data[this.rowIdPath] })))
|
|
1671
|
+
: (h("td", { tabIndex: cursorIsOnCell ? 0 : -1, "aria-colindex": this.atLeastOneColumnHidden() ? nonHiddenColumnIndex : null, part: cell.column.path + '-column' }, this.getCellContent(row, cell)));
|
|
1418
1672
|
}));
|
|
1419
1673
|
}
|
|
1420
1674
|
get el() { return getElement(this); }
|
|
1421
1675
|
static get watchers() { return {
|
|
1676
|
+
"cursorPosition": ["onCursorPositionChange"],
|
|
1422
1677
|
"data": ["onDataChange"],
|
|
1423
1678
|
"selectedItems": ["onSelectedItemsPropertyChange"]
|
|
1424
1679
|
}; }
|