wcs-core 7.3.0 → 7.4.1
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/README.md +11 -9
- package/bundle/index.d.ts +45 -0
- package/bundle/index.js +2 -0
- package/bundle/index.js.map +1 -0
- package/bundle/p-010cf905.js +2 -0
- package/bundle/p-010cf905.js.map +1 -0
- package/bundle/p-2751ddc1.js +2 -0
- package/bundle/p-2751ddc1.js.map +1 -0
- package/bundle/p-2bef72c7.js +2 -0
- package/bundle/p-2bef72c7.js.map +1 -0
- package/bundle/p-2e9b9605.js +2 -0
- package/bundle/p-2e9b9605.js.map +1 -0
- package/bundle/p-35d7af48.js +2 -0
- package/bundle/p-35d7af48.js.map +1 -0
- package/bundle/p-38e45350.js +2 -0
- package/bundle/p-38e45350.js.map +1 -0
- package/bundle/p-3abf8a42.js +2 -0
- package/bundle/p-3abf8a42.js.map +1 -0
- package/bundle/p-44a3b0b9.js +2 -0
- package/bundle/p-44a3b0b9.js.map +1 -0
- package/bundle/p-60193ef5.js +2 -0
- package/bundle/p-60193ef5.js.map +1 -0
- package/bundle/p-6bc981dd.js +156 -0
- package/bundle/p-6bc981dd.js.map +1 -0
- package/bundle/p-763371a0.js +16 -0
- package/bundle/p-763371a0.js.map +1 -0
- package/bundle/p-8bfdf6f6.js +2 -0
- package/bundle/p-8bfdf6f6.js.map +1 -0
- package/bundle/p-97e70e10.js +2 -0
- package/bundle/p-97e70e10.js.map +1 -0
- package/bundle/p-98bd8a96.js +2 -0
- package/bundle/p-98bd8a96.js.map +1 -0
- package/bundle/p-a0f32ead.js +2 -0
- package/bundle/p-a0f32ead.js.map +1 -0
- package/bundle/p-a7468a3a.js +2 -0
- package/bundle/p-a7468a3a.js.map +1 -0
- package/bundle/p-c8b73e93.js +2 -0
- package/bundle/p-c8b73e93.js.map +1 -0
- package/bundle/p-d23d7658.js +2 -0
- package/bundle/p-d23d7658.js.map +1 -0
- package/bundle/p-d3404c52.js +2 -0
- package/bundle/p-d3404c52.js.map +1 -0
- package/bundle/p-e1fb3625.js +2 -0
- package/bundle/p-e1fb3625.js.map +1 -0
- package/bundle/p-f0dda0b8.js +2 -0
- package/bundle/p-f0dda0b8.js.map +1 -0
- package/bundle/p-fb2751c2.js +2 -0
- package/bundle/p-fb2751c2.js.map +1 -0
- package/bundle/p-fc9ba34d.js +2 -0
- package/bundle/p-fc9ba34d.js.map +1 -0
- package/bundle/package.json +8 -0
- package/bundle/wcs-accordion-content.d.ts +11 -0
- package/bundle/wcs-accordion-content.js +2 -0
- package/bundle/wcs-accordion-content.js.map +1 -0
- package/bundle/wcs-accordion-header.d.ts +11 -0
- package/bundle/wcs-accordion-header.js +2 -0
- package/bundle/wcs-accordion-header.js.map +1 -0
- package/bundle/wcs-accordion-panel.d.ts +11 -0
- package/bundle/wcs-accordion-panel.js +2 -0
- package/bundle/wcs-accordion-panel.js.map +1 -0
- package/bundle/wcs-accordion.d.ts +11 -0
- package/bundle/wcs-accordion.js +2 -0
- package/bundle/wcs-accordion.js.map +1 -0
- package/bundle/wcs-action-bar.d.ts +11 -0
- package/bundle/wcs-action-bar.js +2 -0
- package/bundle/wcs-action-bar.js.map +1 -0
- package/bundle/wcs-alert-drawer.d.ts +11 -0
- package/bundle/wcs-alert-drawer.js +2 -0
- package/bundle/wcs-alert-drawer.js.map +1 -0
- package/bundle/wcs-alert.d.ts +11 -0
- package/bundle/wcs-alert.js +2 -0
- package/bundle/wcs-alert.js.map +1 -0
- package/bundle/wcs-app.d.ts +11 -0
- package/bundle/wcs-app.js +2 -0
- package/bundle/wcs-app.js.map +1 -0
- package/bundle/wcs-badge.d.ts +11 -0
- package/bundle/wcs-badge.js +2 -0
- package/bundle/wcs-badge.js.map +1 -0
- package/bundle/wcs-breadcrumb-item.d.ts +11 -0
- package/bundle/wcs-breadcrumb-item.js +2 -0
- package/bundle/wcs-breadcrumb-item.js.map +1 -0
- package/bundle/wcs-breadcrumb.d.ts +11 -0
- package/bundle/wcs-breadcrumb.js +2 -0
- package/bundle/wcs-breadcrumb.js.map +1 -0
- package/bundle/wcs-button.d.ts +11 -0
- package/bundle/wcs-button.js +2 -0
- package/bundle/wcs-button.js.map +1 -0
- package/bundle/wcs-card-body.d.ts +11 -0
- package/bundle/wcs-card-body.js +2 -0
- package/bundle/wcs-card-body.js.map +1 -0
- package/bundle/wcs-card-content.d.ts +11 -0
- package/bundle/wcs-card-content.js +2 -0
- package/bundle/wcs-card-content.js.map +1 -0
- package/bundle/wcs-card-footer.d.ts +11 -0
- package/bundle/wcs-card-footer.js +2 -0
- package/bundle/wcs-card-footer.js.map +1 -0
- package/bundle/wcs-card-header.d.ts +11 -0
- package/bundle/wcs-card-header.js +2 -0
- package/bundle/wcs-card-header.js.map +1 -0
- package/bundle/wcs-card-media.d.ts +11 -0
- package/bundle/wcs-card-media.js +2 -0
- package/bundle/wcs-card-media.js.map +1 -0
- package/bundle/wcs-card.d.ts +11 -0
- package/bundle/wcs-card.js +2 -0
- package/bundle/wcs-card.js.map +1 -0
- package/bundle/wcs-checkbox.d.ts +11 -0
- package/bundle/wcs-checkbox.js +2 -0
- package/bundle/wcs-checkbox.js.map +1 -0
- package/bundle/wcs-chip.d.ts +11 -0
- package/bundle/wcs-chip.js +2 -0
- package/bundle/wcs-chip.js.map +1 -0
- package/bundle/wcs-com-nav-category.d.ts +11 -0
- package/bundle/wcs-com-nav-category.js +2 -0
- package/bundle/wcs-com-nav-category.js.map +1 -0
- package/bundle/wcs-com-nav-item.d.ts +11 -0
- package/bundle/wcs-com-nav-item.js +2 -0
- package/bundle/wcs-com-nav-item.js.map +1 -0
- package/bundle/wcs-com-nav-submenu.d.ts +11 -0
- package/bundle/wcs-com-nav-submenu.js +2 -0
- package/bundle/wcs-com-nav-submenu.js.map +1 -0
- package/bundle/wcs-com-nav.d.ts +11 -0
- package/bundle/wcs-com-nav.js +2 -0
- package/bundle/wcs-com-nav.js.map +1 -0
- package/bundle/wcs-counter.d.ts +11 -0
- package/bundle/wcs-counter.js +2 -0
- package/bundle/wcs-counter.js.map +1 -0
- package/bundle/wcs-divider.d.ts +11 -0
- package/bundle/wcs-divider.js +2 -0
- package/bundle/wcs-divider.js.map +1 -0
- package/bundle/wcs-dropdown-divider.d.ts +11 -0
- package/bundle/wcs-dropdown-divider.js +2 -0
- package/bundle/wcs-dropdown-divider.js.map +1 -0
- package/bundle/wcs-dropdown-header.d.ts +11 -0
- package/bundle/wcs-dropdown-header.js +2 -0
- package/bundle/wcs-dropdown-header.js.map +1 -0
- package/bundle/wcs-dropdown-item.d.ts +11 -0
- package/bundle/wcs-dropdown-item.js +2 -0
- package/bundle/wcs-dropdown-item.js.map +1 -0
- package/bundle/wcs-dropdown.d.ts +11 -0
- package/bundle/wcs-dropdown.js +2 -0
- package/bundle/wcs-dropdown.js.map +1 -0
- package/bundle/wcs-editable-field.d.ts +11 -0
- package/bundle/wcs-editable-field.js +2 -0
- package/bundle/wcs-editable-field.js.map +1 -0
- package/bundle/wcs-error.d.ts +11 -0
- package/bundle/wcs-error.js +2 -0
- package/bundle/wcs-error.js.map +1 -0
- package/bundle/wcs-field-content.d.ts +11 -0
- package/bundle/wcs-field-content.js +2 -0
- package/bundle/wcs-field-content.js.map +1 -0
- package/bundle/wcs-field-label.d.ts +11 -0
- package/bundle/wcs-field-label.js +2 -0
- package/bundle/wcs-field-label.js.map +1 -0
- package/bundle/wcs-field.d.ts +11 -0
- package/bundle/wcs-field.js +2 -0
- package/bundle/wcs-field.js.map +1 -0
- package/bundle/wcs-footer.d.ts +11 -0
- package/bundle/wcs-footer.js +2 -0
- package/bundle/wcs-footer.js.map +1 -0
- package/bundle/wcs-form-field.d.ts +11 -0
- package/bundle/wcs-form-field.js +2 -0
- package/bundle/wcs-form-field.js.map +1 -0
- package/bundle/wcs-galactic-menu.d.ts +11 -0
- package/bundle/wcs-galactic-menu.js +2 -0
- package/bundle/wcs-galactic-menu.js.map +1 -0
- package/bundle/wcs-galactic.d.ts +11 -0
- package/bundle/wcs-galactic.js +2 -0
- package/bundle/wcs-galactic.js.map +1 -0
- package/bundle/wcs-grid-column.d.ts +11 -0
- package/bundle/wcs-grid-column.js +2 -0
- package/bundle/wcs-grid-column.js.map +1 -0
- package/bundle/wcs-grid-custom-cell.d.ts +11 -0
- package/bundle/wcs-grid-custom-cell.js +2 -0
- package/bundle/wcs-grid-custom-cell.js.map +1 -0
- package/bundle/wcs-grid-pagination.d.ts +11 -0
- package/bundle/wcs-grid-pagination.js +2 -0
- package/bundle/wcs-grid-pagination.js.map +1 -0
- package/bundle/wcs-grid.d.ts +11 -0
- package/bundle/wcs-grid.js +2 -0
- package/bundle/wcs-grid.js.map +1 -0
- package/bundle/wcs-header.d.ts +11 -0
- package/bundle/wcs-header.js +2 -0
- package/bundle/wcs-header.js.map +1 -0
- package/bundle/wcs-hint.d.ts +11 -0
- package/bundle/wcs-hint.js +2 -0
- package/bundle/wcs-hint.js.map +1 -0
- package/bundle/wcs-horizontal-stepper.d.ts +11 -0
- package/bundle/wcs-horizontal-stepper.js +2 -0
- package/bundle/wcs-horizontal-stepper.js.map +1 -0
- package/bundle/wcs-icon.d.ts +11 -0
- package/bundle/wcs-icon.js +2 -0
- package/bundle/wcs-icon.js.map +1 -0
- package/bundle/wcs-input.d.ts +11 -0
- package/bundle/wcs-input.js +2 -0
- package/bundle/wcs-input.js.map +1 -0
- package/bundle/wcs-label.d.ts +11 -0
- package/bundle/wcs-label.js +2 -0
- package/bundle/wcs-label.js.map +1 -0
- package/bundle/wcs-list-item-properties.d.ts +11 -0
- package/bundle/wcs-list-item-properties.js +2 -0
- package/bundle/wcs-list-item-properties.js.map +1 -0
- package/bundle/wcs-list-item-property.d.ts +11 -0
- package/bundle/wcs-list-item-property.js +2 -0
- package/bundle/wcs-list-item-property.js.map +1 -0
- package/bundle/wcs-list-item.d.ts +11 -0
- package/bundle/wcs-list-item.js +2 -0
- package/bundle/wcs-list-item.js.map +1 -0
- package/bundle/wcs-mat-icon.d.ts +11 -0
- package/bundle/wcs-mat-icon.js +2 -0
- package/bundle/wcs-mat-icon.js.map +1 -0
- package/bundle/wcs-modal.d.ts +11 -0
- package/bundle/wcs-modal.js +2 -0
- package/bundle/wcs-modal.js.map +1 -0
- package/bundle/wcs-native-select.d.ts +11 -0
- package/bundle/wcs-native-select.js +2 -0
- package/bundle/wcs-native-select.js.map +1 -0
- package/bundle/wcs-nav-item.d.ts +11 -0
- package/bundle/wcs-nav-item.js +2 -0
- package/bundle/wcs-nav-item.js.map +1 -0
- package/bundle/wcs-nav.d.ts +11 -0
- package/bundle/wcs-nav.js +2 -0
- package/bundle/wcs-nav.js.map +1 -0
- package/bundle/wcs-progress-bar.d.ts +11 -0
- package/bundle/wcs-progress-bar.js +2 -0
- package/bundle/wcs-progress-bar.js.map +1 -0
- package/bundle/wcs-progress-radial.d.ts +11 -0
- package/bundle/wcs-progress-radial.js +2 -0
- package/bundle/wcs-progress-radial.js.map +1 -0
- package/bundle/wcs-radio-group.d.ts +11 -0
- package/bundle/wcs-radio-group.js +2 -0
- package/bundle/wcs-radio-group.js.map +1 -0
- package/bundle/wcs-radio.d.ts +11 -0
- package/bundle/wcs-radio.js +2 -0
- package/bundle/wcs-radio.js.map +1 -0
- package/bundle/wcs-select-option.d.ts +11 -0
- package/bundle/wcs-select-option.js +2 -0
- package/bundle/wcs-select-option.js.map +1 -0
- package/bundle/wcs-select.d.ts +11 -0
- package/bundle/wcs-select.js +2 -0
- package/bundle/wcs-select.js.map +1 -0
- package/bundle/wcs-skeleton-circle.d.ts +11 -0
- package/bundle/wcs-skeleton-circle.js +2 -0
- package/bundle/wcs-skeleton-circle.js.map +1 -0
- package/bundle/wcs-skeleton-rectangle.d.ts +11 -0
- package/bundle/wcs-skeleton-rectangle.js +2 -0
- package/bundle/wcs-skeleton-rectangle.js.map +1 -0
- package/bundle/wcs-skeleton-text.d.ts +11 -0
- package/bundle/wcs-skeleton-text.js +2 -0
- package/bundle/wcs-skeleton-text.js.map +1 -0
- package/bundle/wcs-spinner.d.ts +11 -0
- package/bundle/wcs-spinner.js +2 -0
- package/bundle/wcs-spinner.js.map +1 -0
- package/bundle/wcs-switch.d.ts +11 -0
- package/bundle/wcs-switch.js +2 -0
- package/bundle/wcs-switch.js.map +1 -0
- package/bundle/wcs-tab.d.ts +11 -0
- package/bundle/wcs-tab.js +2 -0
- package/bundle/wcs-tab.js.map +1 -0
- package/bundle/wcs-tabs.d.ts +11 -0
- package/bundle/wcs-tabs.js +2 -0
- package/bundle/wcs-tabs.js.map +1 -0
- package/bundle/wcs-textarea.d.ts +11 -0
- package/bundle/wcs-textarea.js +2 -0
- package/bundle/wcs-textarea.js.map +1 -0
- package/bundle/wcs-tooltip.d.ts +11 -0
- package/bundle/wcs-tooltip.js +7 -0
- package/bundle/wcs-tooltip.js.map +1 -0
- package/composite-elements/index.d.ts +33 -0
- package/composite-elements/index.js +2 -0
- package/composite-elements/index.js.map +1 -0
- package/composite-elements/p-04663560.js +2 -0
- package/composite-elements/p-04663560.js.map +1 -0
- package/composite-elements/p-0c306f8c.js +2 -0
- package/composite-elements/p-0c306f8c.js.map +1 -0
- package/composite-elements/p-2454bcae.js +2 -0
- package/composite-elements/p-2454bcae.js.map +1 -0
- package/composite-elements/p-2bef72c7.js +2 -0
- package/composite-elements/p-2bef72c7.js.map +1 -0
- package/composite-elements/p-35d7af48.js +2 -0
- package/composite-elements/p-35d7af48.js.map +1 -0
- package/composite-elements/p-3abf8a42.js +2 -0
- package/composite-elements/p-3abf8a42.js.map +1 -0
- package/composite-elements/p-46f752d5.js +2 -0
- package/composite-elements/p-46f752d5.js.map +1 -0
- package/composite-elements/p-55668982.js +2 -0
- package/composite-elements/p-55668982.js.map +1 -0
- package/composite-elements/p-5a3d7fec.js +2 -0
- package/composite-elements/p-5a3d7fec.js.map +1 -0
- package/composite-elements/p-6dd2b564.js +156 -0
- package/composite-elements/p-6dd2b564.js.map +1 -0
- package/composite-elements/p-a0f32ead.js +2 -0
- package/composite-elements/p-a0f32ead.js.map +1 -0
- package/composite-elements/p-a14aec19.js +2 -0
- package/composite-elements/p-a14aec19.js.map +1 -0
- package/composite-elements/p-a7468a3a.js +2 -0
- package/composite-elements/p-a7468a3a.js.map +1 -0
- package/composite-elements/p-a90bb01e.js +2 -0
- package/composite-elements/p-a90bb01e.js.map +1 -0
- package/composite-elements/p-af24fb0d.js +16 -0
- package/composite-elements/p-af24fb0d.js.map +1 -0
- package/composite-elements/p-b83afff9.js +2 -0
- package/composite-elements/p-b83afff9.js.map +1 -0
- package/composite-elements/p-b92e818b.js +2 -0
- package/composite-elements/p-b92e818b.js.map +1 -0
- package/composite-elements/p-d3404c52.js +2 -0
- package/composite-elements/p-d3404c52.js.map +1 -0
- package/composite-elements/p-e1fb3625.js +2 -0
- package/composite-elements/p-e1fb3625.js.map +1 -0
- package/composite-elements/p-e803bb26.js +2 -0
- package/composite-elements/p-e803bb26.js.map +1 -0
- package/composite-elements/p-ef26b4d8.js +2 -0
- package/composite-elements/p-ef26b4d8.js.map +1 -0
- package/composite-elements/p-fb2751c2.js +2 -0
- package/composite-elements/p-fb2751c2.js.map +1 -0
- package/composite-elements/p-fe1f9cc5.js +2 -0
- package/composite-elements/p-fe1f9cc5.js.map +1 -0
- package/composite-elements/package.json +12 -0
- package/composite-elements/wcs-accordion-content.d.ts +11 -0
- package/composite-elements/wcs-accordion-content.js +2 -0
- package/composite-elements/wcs-accordion-content.js.map +1 -0
- package/composite-elements/wcs-accordion-header.d.ts +11 -0
- package/composite-elements/wcs-accordion-header.js +2 -0
- package/composite-elements/wcs-accordion-header.js.map +1 -0
- package/composite-elements/wcs-accordion-panel.d.ts +11 -0
- package/composite-elements/wcs-accordion-panel.js +2 -0
- package/composite-elements/wcs-accordion-panel.js.map +1 -0
- package/composite-elements/wcs-accordion.d.ts +11 -0
- package/composite-elements/wcs-accordion.js +2 -0
- package/composite-elements/wcs-accordion.js.map +1 -0
- package/composite-elements/wcs-action-bar.d.ts +11 -0
- package/composite-elements/wcs-action-bar.js +2 -0
- package/composite-elements/wcs-action-bar.js.map +1 -0
- package/composite-elements/wcs-alert-drawer.d.ts +11 -0
- package/composite-elements/wcs-alert-drawer.js +2 -0
- package/composite-elements/wcs-alert-drawer.js.map +1 -0
- package/composite-elements/wcs-alert.d.ts +11 -0
- package/composite-elements/wcs-alert.js +2 -0
- package/composite-elements/wcs-alert.js.map +1 -0
- package/composite-elements/wcs-app.d.ts +11 -0
- package/composite-elements/wcs-app.js +2 -0
- package/composite-elements/wcs-app.js.map +1 -0
- package/composite-elements/wcs-badge.d.ts +11 -0
- package/composite-elements/wcs-badge.js +2 -0
- package/composite-elements/wcs-badge.js.map +1 -0
- package/composite-elements/wcs-breadcrumb-item.d.ts +11 -0
- package/composite-elements/wcs-breadcrumb-item.js +2 -0
- package/composite-elements/wcs-breadcrumb-item.js.map +1 -0
- package/composite-elements/wcs-breadcrumb.d.ts +11 -0
- package/composite-elements/wcs-breadcrumb.js +2 -0
- package/composite-elements/wcs-breadcrumb.js.map +1 -0
- package/composite-elements/wcs-button.d.ts +11 -0
- package/composite-elements/wcs-button.js +2 -0
- package/composite-elements/wcs-button.js.map +1 -0
- package/composite-elements/wcs-card-body.d.ts +11 -0
- package/composite-elements/wcs-card-body.js +2 -0
- package/composite-elements/wcs-card-body.js.map +1 -0
- package/composite-elements/wcs-card-content.d.ts +11 -0
- package/composite-elements/wcs-card-content.js +2 -0
- package/composite-elements/wcs-card-content.js.map +1 -0
- package/composite-elements/wcs-card-footer.d.ts +11 -0
- package/composite-elements/wcs-card-footer.js +2 -0
- package/composite-elements/wcs-card-footer.js.map +1 -0
- package/composite-elements/wcs-card-header.d.ts +11 -0
- package/composite-elements/wcs-card-header.js +2 -0
- package/composite-elements/wcs-card-header.js.map +1 -0
- package/composite-elements/wcs-card-media.d.ts +11 -0
- package/composite-elements/wcs-card-media.js +2 -0
- package/composite-elements/wcs-card-media.js.map +1 -0
- package/composite-elements/wcs-card.d.ts +11 -0
- package/composite-elements/wcs-card.js +2 -0
- package/composite-elements/wcs-card.js.map +1 -0
- package/composite-elements/wcs-checkbox.d.ts +11 -0
- package/composite-elements/wcs-checkbox.js +2 -0
- package/composite-elements/wcs-checkbox.js.map +1 -0
- package/composite-elements/wcs-chip.d.ts +11 -0
- package/composite-elements/wcs-chip.js +2 -0
- package/composite-elements/wcs-chip.js.map +1 -0
- package/composite-elements/wcs-com-nav-category.d.ts +11 -0
- package/composite-elements/wcs-com-nav-category.js +2 -0
- package/composite-elements/wcs-com-nav-category.js.map +1 -0
- package/composite-elements/wcs-com-nav-item.d.ts +11 -0
- package/composite-elements/wcs-com-nav-item.js +2 -0
- package/composite-elements/wcs-com-nav-item.js.map +1 -0
- package/composite-elements/wcs-com-nav-submenu.d.ts +11 -0
- package/composite-elements/wcs-com-nav-submenu.js +2 -0
- package/composite-elements/wcs-com-nav-submenu.js.map +1 -0
- package/composite-elements/wcs-com-nav.d.ts +11 -0
- package/composite-elements/wcs-com-nav.js +2 -0
- package/composite-elements/wcs-com-nav.js.map +1 -0
- package/composite-elements/wcs-counter.d.ts +11 -0
- package/composite-elements/wcs-counter.js +2 -0
- package/composite-elements/wcs-counter.js.map +1 -0
- package/composite-elements/wcs-divider.d.ts +11 -0
- package/composite-elements/wcs-divider.js +2 -0
- package/composite-elements/wcs-divider.js.map +1 -0
- package/composite-elements/wcs-dropdown-divider.d.ts +11 -0
- package/composite-elements/wcs-dropdown-divider.js +2 -0
- package/composite-elements/wcs-dropdown-divider.js.map +1 -0
- package/composite-elements/wcs-dropdown-header.d.ts +11 -0
- package/composite-elements/wcs-dropdown-header.js +2 -0
- package/composite-elements/wcs-dropdown-header.js.map +1 -0
- package/composite-elements/wcs-dropdown-item.d.ts +11 -0
- package/composite-elements/wcs-dropdown-item.js +2 -0
- package/composite-elements/wcs-dropdown-item.js.map +1 -0
- package/composite-elements/wcs-dropdown.d.ts +11 -0
- package/composite-elements/wcs-dropdown.js +2 -0
- package/composite-elements/wcs-dropdown.js.map +1 -0
- package/composite-elements/wcs-editable-field.d.ts +11 -0
- package/composite-elements/wcs-editable-field.js +2 -0
- package/composite-elements/wcs-editable-field.js.map +1 -0
- package/composite-elements/wcs-error.d.ts +11 -0
- package/composite-elements/wcs-error.js +2 -0
- package/composite-elements/wcs-error.js.map +1 -0
- package/composite-elements/wcs-field-content.d.ts +11 -0
- package/composite-elements/wcs-field-content.js +2 -0
- package/composite-elements/wcs-field-content.js.map +1 -0
- package/composite-elements/wcs-field-label.d.ts +11 -0
- package/composite-elements/wcs-field-label.js +2 -0
- package/composite-elements/wcs-field-label.js.map +1 -0
- package/composite-elements/wcs-field.d.ts +11 -0
- package/composite-elements/wcs-field.js +2 -0
- package/composite-elements/wcs-field.js.map +1 -0
- package/composite-elements/wcs-footer.d.ts +11 -0
- package/composite-elements/wcs-footer.js +2 -0
- package/composite-elements/wcs-footer.js.map +1 -0
- package/composite-elements/wcs-form-field.d.ts +11 -0
- package/composite-elements/wcs-form-field.js +2 -0
- package/composite-elements/wcs-form-field.js.map +1 -0
- package/composite-elements/wcs-galactic-menu.d.ts +11 -0
- package/composite-elements/wcs-galactic-menu.js +2 -0
- package/composite-elements/wcs-galactic-menu.js.map +1 -0
- package/composite-elements/wcs-galactic.d.ts +11 -0
- package/composite-elements/wcs-galactic.js +2 -0
- package/composite-elements/wcs-galactic.js.map +1 -0
- package/composite-elements/wcs-grid-column.d.ts +11 -0
- package/composite-elements/wcs-grid-column.js +2 -0
- package/composite-elements/wcs-grid-column.js.map +1 -0
- package/composite-elements/wcs-grid-custom-cell.d.ts +11 -0
- package/composite-elements/wcs-grid-custom-cell.js +2 -0
- package/composite-elements/wcs-grid-custom-cell.js.map +1 -0
- package/composite-elements/wcs-grid-pagination.d.ts +11 -0
- package/composite-elements/wcs-grid-pagination.js +2 -0
- package/composite-elements/wcs-grid-pagination.js.map +1 -0
- package/composite-elements/wcs-grid.d.ts +11 -0
- package/composite-elements/wcs-grid.js +2 -0
- package/composite-elements/wcs-grid.js.map +1 -0
- package/composite-elements/wcs-header.d.ts +11 -0
- package/composite-elements/wcs-header.js +2 -0
- package/composite-elements/wcs-header.js.map +1 -0
- package/composite-elements/wcs-hint.d.ts +11 -0
- package/composite-elements/wcs-hint.js +2 -0
- package/composite-elements/wcs-hint.js.map +1 -0
- package/composite-elements/wcs-horizontal-stepper.d.ts +11 -0
- package/composite-elements/wcs-horizontal-stepper.js +2 -0
- package/composite-elements/wcs-horizontal-stepper.js.map +1 -0
- package/composite-elements/wcs-icon.d.ts +11 -0
- package/composite-elements/wcs-icon.js +2 -0
- package/composite-elements/wcs-icon.js.map +1 -0
- package/composite-elements/wcs-input.d.ts +11 -0
- package/composite-elements/wcs-input.js +2 -0
- package/composite-elements/wcs-input.js.map +1 -0
- package/composite-elements/wcs-label.d.ts +11 -0
- package/composite-elements/wcs-label.js +2 -0
- package/composite-elements/wcs-label.js.map +1 -0
- package/composite-elements/wcs-list-item-properties.d.ts +11 -0
- package/composite-elements/wcs-list-item-properties.js +2 -0
- package/composite-elements/wcs-list-item-properties.js.map +1 -0
- package/composite-elements/wcs-list-item-property.d.ts +11 -0
- package/composite-elements/wcs-list-item-property.js +2 -0
- package/composite-elements/wcs-list-item-property.js.map +1 -0
- package/composite-elements/wcs-list-item.d.ts +11 -0
- package/composite-elements/wcs-list-item.js +2 -0
- package/composite-elements/wcs-list-item.js.map +1 -0
- package/composite-elements/wcs-mat-icon.d.ts +11 -0
- package/composite-elements/wcs-mat-icon.js +2 -0
- package/composite-elements/wcs-mat-icon.js.map +1 -0
- package/composite-elements/wcs-modal.d.ts +11 -0
- package/composite-elements/wcs-modal.js +2 -0
- package/composite-elements/wcs-modal.js.map +1 -0
- package/composite-elements/wcs-native-select.d.ts +11 -0
- package/composite-elements/wcs-native-select.js +2 -0
- package/composite-elements/wcs-native-select.js.map +1 -0
- package/composite-elements/wcs-nav-item.d.ts +11 -0
- package/composite-elements/wcs-nav-item.js +2 -0
- package/composite-elements/wcs-nav-item.js.map +1 -0
- package/composite-elements/wcs-nav.d.ts +11 -0
- package/composite-elements/wcs-nav.js +2 -0
- package/composite-elements/wcs-nav.js.map +1 -0
- package/composite-elements/wcs-progress-bar.d.ts +11 -0
- package/composite-elements/wcs-progress-bar.js +2 -0
- package/composite-elements/wcs-progress-bar.js.map +1 -0
- package/composite-elements/wcs-progress-radial.d.ts +11 -0
- package/composite-elements/wcs-progress-radial.js +2 -0
- package/composite-elements/wcs-progress-radial.js.map +1 -0
- package/composite-elements/wcs-radio-group.d.ts +11 -0
- package/composite-elements/wcs-radio-group.js +2 -0
- package/composite-elements/wcs-radio-group.js.map +1 -0
- package/composite-elements/wcs-radio.d.ts +11 -0
- package/composite-elements/wcs-radio.js +2 -0
- package/composite-elements/wcs-radio.js.map +1 -0
- package/composite-elements/wcs-select-option.d.ts +11 -0
- package/composite-elements/wcs-select-option.js +2 -0
- package/composite-elements/wcs-select-option.js.map +1 -0
- package/composite-elements/wcs-select.d.ts +11 -0
- package/composite-elements/wcs-select.js +2 -0
- package/composite-elements/wcs-select.js.map +1 -0
- package/composite-elements/wcs-skeleton-circle.d.ts +11 -0
- package/composite-elements/wcs-skeleton-circle.js +2 -0
- package/composite-elements/wcs-skeleton-circle.js.map +1 -0
- package/composite-elements/wcs-skeleton-rectangle.d.ts +11 -0
- package/composite-elements/wcs-skeleton-rectangle.js +2 -0
- package/composite-elements/wcs-skeleton-rectangle.js.map +1 -0
- package/composite-elements/wcs-skeleton-text.d.ts +11 -0
- package/composite-elements/wcs-skeleton-text.js +2 -0
- package/composite-elements/wcs-skeleton-text.js.map +1 -0
- package/composite-elements/wcs-spinner.d.ts +11 -0
- package/composite-elements/wcs-spinner.js +2 -0
- package/composite-elements/wcs-spinner.js.map +1 -0
- package/composite-elements/wcs-switch.d.ts +11 -0
- package/composite-elements/wcs-switch.js +2 -0
- package/composite-elements/wcs-switch.js.map +1 -0
- package/composite-elements/wcs-tab.d.ts +11 -0
- package/composite-elements/wcs-tab.js +2 -0
- package/composite-elements/wcs-tab.js.map +1 -0
- package/composite-elements/wcs-tabs.d.ts +11 -0
- package/composite-elements/wcs-tabs.js +2 -0
- package/composite-elements/wcs-tabs.js.map +1 -0
- package/composite-elements/wcs-textarea.d.ts +11 -0
- package/composite-elements/wcs-textarea.js +2 -0
- package/composite-elements/wcs-textarea.js.map +1 -0
- package/composite-elements/wcs-tooltip.d.ts +11 -0
- package/composite-elements/wcs-tooltip.js +7 -0
- package/composite-elements/wcs-tooltip.js.map +1 -0
- package/design-tokens/dist/sncf-groupe-root-scoped.css +227 -227
- package/design-tokens/dist/sncf-groupe.css +227 -227
- package/design-tokens/dist/sncf-holding-root-scoped.css +227 -227
- package/design-tokens/dist/sncf-holding.css +227 -227
- package/design-tokens/dist/sncf-reseau-root-scoped.css +227 -227
- package/design-tokens/dist/sncf-reseau.css +227 -227
- package/design-tokens/dist/sncf-voyageurs-root-scoped.css +242 -242
- package/design-tokens/dist/sncf-voyageurs.css +242 -242
- package/dist/cjs/{popper-8d6e7fca.js → popper-1b61df21.js} +10 -17
- package/dist/cjs/popper-1b61df21.js.map +1 -0
- package/dist/cjs/wcs-accordion-panel.cjs.entry.js +2 -1
- package/dist/cjs/wcs-accordion-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-accordion.cjs.entry.js +5 -1
- package/dist/cjs/wcs-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/wcs-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-com-nav-item.cjs.entry.js +1 -1
- package/dist/cjs/wcs-com-nav-item.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-com-nav.cjs.entry.js +3 -3
- package/dist/cjs/wcs-com-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/wcs-error_3.cjs.entry.js +1 -1
- package/dist/cjs/wcs-error_3.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-galactic-menu.cjs.entry.js +1 -1
- package/dist/cjs/wcs-grid.cjs.entry.js +5 -4
- package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +3 -2
- package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-modal.cjs.entry.js +2 -2
- package/dist/cjs/wcs-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-select_2.cjs.entry.js +59 -24
- package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-tabs.cjs.entry.js +1 -1
- package/dist/cjs/wcs-tooltip.cjs.entry.js +1 -1
- package/dist/collection/components/accordion/accordion.e2e.playwright.js +245 -0
- package/dist/collection/components/accordion/accordion.e2e.playwright.js.map +1 -0
- package/dist/collection/components/accordion/accordion.js +5 -1
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/accordion-panel/accordion-panel.js +3 -2
- package/dist/collection/components/accordion-panel/accordion-panel.js.map +1 -1
- package/dist/collection/components/alert/alert.e2e.playwright.js +125 -0
- package/dist/collection/components/alert/alert.e2e.playwright.js.map +1 -0
- package/dist/collection/components/alert-drawer/alert-drawer.e2e.playwright.js +107 -0
- package/dist/collection/components/alert-drawer/alert-drawer.e2e.playwright.js.map +1 -0
- package/dist/collection/components/breadcrumb/breadcrumb.e2e.playwright.js +188 -0
- package/dist/collection/components/breadcrumb/breadcrumb.e2e.playwright.js.map +1 -0
- package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/collection/components/button/button.e2e.playwright.js +26 -0
- package/dist/collection/components/button/button.e2e.playwright.js.map +1 -0
- package/dist/collection/components/button/button.js +1 -1
- package/dist/collection/components/checkbox/checkbox.e2e.playwright.js +39 -0
- package/dist/collection/components/checkbox/checkbox.e2e.playwright.js.map +1 -0
- package/dist/collection/components/checkbox/checkbox.js +1 -1
- package/dist/collection/components/chip/chip.e2e.playwright.js +190 -0
- package/dist/collection/components/chip/chip.e2e.playwright.js.map +1 -0
- package/dist/collection/components/com-nav/com-nav.css +15 -0
- package/dist/collection/components/com-nav/{com-nav.e2e.js → com-nav.e2e.playwright.js} +60 -44
- package/dist/collection/components/com-nav/com-nav.e2e.playwright.js.map +1 -0
- package/dist/collection/components/com-nav/com-nav.js +3 -3
- package/dist/collection/components/com-nav/com-nav.js.map +1 -1
- package/dist/collection/components/com-nav-category/com-nav-category.js +1 -1
- package/dist/collection/components/com-nav-item/com-nav-item.css +2 -2
- package/dist/collection/components/com-nav-submenu/com-nav-submenu.js +1 -1
- package/dist/collection/components/counter/counter.e2e.playwright.js +187 -0
- package/dist/collection/components/counter/counter.e2e.playwright.js.map +1 -0
- package/dist/collection/components/counter/counter.js +1 -1
- package/dist/collection/components/dropdown/dropdown.e2e.playwright.js +320 -0
- package/dist/collection/components/dropdown/dropdown.e2e.playwright.js.map +1 -0
- package/dist/collection/components/dropdown/dropdown.js +1 -1
- package/dist/collection/components/editable-field/editable-field.e2e.playwright.js +156 -0
- package/dist/collection/components/editable-field/editable-field.e2e.playwright.js.map +1 -0
- package/dist/collection/components/form-field/form-field.e2e.playwright.js +104 -0
- package/dist/collection/components/form-field/form-field.e2e.playwright.js.map +1 -0
- package/dist/collection/components/galactic-menu/galactic-menu.js +1 -1
- package/dist/collection/components/grid/grid.e2e.playwright.js +153 -0
- package/dist/collection/components/grid/grid.e2e.playwright.js.map +1 -0
- package/dist/collection/components/grid/grid.js +6 -5
- package/dist/collection/components/grid/grid.js.map +1 -1
- package/dist/collection/components/grid-column/grid-column.js +1 -1
- package/dist/collection/components/grid-pagination/grid-pagination.js +1 -1
- package/dist/collection/components/header/header.js +1 -1
- package/dist/collection/components/horizontal-stepper/horizontal-step.js +2 -1
- package/dist/collection/components/horizontal-stepper/horizontal-step.js.map +1 -1
- package/dist/collection/components/horizontal-stepper/horizontal-stepper-interface.js.map +1 -1
- package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +5 -1
- package/dist/collection/components/horizontal-stepper/horizontal-stepper.js.map +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/input/input.e2e.playwright.js +157 -0
- package/dist/collection/components/input/input.e2e.playwright.js.map +1 -0
- package/dist/collection/components/input/input.js +2 -2
- package/dist/collection/components/label/label.css +4 -6
- package/dist/collection/components/label/label.js +1 -1
- package/dist/collection/components/mat-icon/mat-icon.js +1 -1
- package/dist/collection/components/modal/modal.css +4 -0
- package/dist/collection/components/modal/modal.e2e.playwright.js +35 -0
- package/dist/collection/components/modal/modal.e2e.playwright.js.map +1 -0
- package/dist/collection/components/modal/modal.js +2 -2
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/native-select/native-select.js +1 -1
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/progress-radial/progress-radial.js +1 -1
- package/dist/collection/components/radio/radio.js +1 -1
- package/dist/collection/components/radio-group/radio-group.e2e.playwright.js +231 -0
- package/dist/collection/components/radio-group/radio-group.e2e.playwright.js.map +1 -0
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- package/dist/collection/components/select/select.e2e.playwright.js +1702 -0
- package/dist/collection/components/select/select.e2e.playwright.js.map +1 -0
- package/dist/collection/components/select/select.js +49 -20
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select-option/select-option.js +3 -3
- package/dist/collection/components/select-option/select-option.js.map +1 -1
- package/dist/collection/components/switch/switch.e2e.playwright.js +40 -0
- package/dist/collection/components/switch/switch.e2e.playwright.js.map +1 -0
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/tabs/tabs.e2e.playwright.js +205 -0
- package/dist/collection/components/tabs/tabs.e2e.playwright.js.map +1 -0
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/textarea/textarea.e2e.playwright.js +133 -0
- package/dist/collection/components/textarea/textarea.e2e.playwright.js.map +1 -0
- package/dist/collection/components/textarea/textarea.js +1 -1
- package/dist/collection/utils/playwright/test-expect.js +2 -0
- package/dist/collection/utils/playwright/test-expect.js.map +1 -0
- package/dist/collection/utils/playwright/test.js +16 -0
- package/dist/collection/utils/playwright/test.js.map +1 -0
- package/dist/esm/{popper-e491c314.js → popper-ac238961.js} +10 -17
- package/dist/esm/popper-ac238961.js.map +1 -0
- package/dist/esm/wcs-accordion-panel.entry.js +2 -1
- package/dist/esm/wcs-accordion-panel.entry.js.map +1 -1
- package/dist/esm/wcs-accordion.entry.js +5 -1
- package/dist/esm/wcs-accordion.entry.js.map +1 -1
- package/dist/esm/wcs-breadcrumb.entry.js +1 -1
- package/dist/esm/wcs-breadcrumb.entry.js.map +1 -1
- package/dist/esm/wcs-com-nav-item.entry.js +1 -1
- package/dist/esm/wcs-com-nav-item.entry.js.map +1 -1
- package/dist/esm/wcs-com-nav.entry.js +3 -3
- package/dist/esm/wcs-com-nav.entry.js.map +1 -1
- package/dist/esm/wcs-dropdown.entry.js +1 -1
- package/dist/esm/wcs-error_3.entry.js +1 -1
- package/dist/esm/wcs-error_3.entry.js.map +1 -1
- package/dist/esm/wcs-galactic-menu.entry.js +1 -1
- package/dist/esm/wcs-grid.entry.js +5 -4
- package/dist/esm/wcs-grid.entry.js.map +1 -1
- package/dist/esm/wcs-horizontal-stepper.entry.js +3 -2
- package/dist/esm/wcs-horizontal-stepper.entry.js.map +1 -1
- package/dist/esm/wcs-modal.entry.js +2 -2
- package/dist/esm/wcs-modal.entry.js.map +1 -1
- package/dist/esm/wcs-select_2.entry.js +59 -24
- package/dist/esm/wcs-select_2.entry.js.map +1 -1
- package/dist/esm/wcs-tabs.entry.js +1 -1
- package/dist/esm/wcs-tooltip.entry.js +1 -1
- package/dist/types/components/accordion/accordion.d.ts +1 -0
- package/dist/types/components/accordion/accordion.e2e.playwright.d.ts +1 -0
- package/dist/types/components/alert/alert.e2e.playwright.d.ts +1 -0
- package/dist/types/components/alert-drawer/alert-drawer.e2e.playwright.d.ts +1 -0
- package/dist/types/components/breadcrumb/breadcrumb.e2e.playwright.d.ts +1 -0
- package/dist/types/components/button/button.e2e.playwright.d.ts +1 -0
- package/dist/types/components/checkbox/checkbox.e2e.playwright.d.ts +1 -0
- package/dist/types/components/chip/chip.e2e.playwright.d.ts +1 -0
- package/dist/types/components/com-nav/com-nav.e2e.playwright.d.ts +1 -0
- package/dist/types/components/counter/counter.e2e.playwright.d.ts +1 -0
- package/dist/types/components/dropdown/dropdown.e2e.playwright.d.ts +1 -0
- package/dist/types/components/editable-field/editable-field.e2e.playwright.d.ts +1 -0
- package/dist/types/components/form-field/form-field.e2e.playwright.d.ts +1 -0
- package/dist/types/components/grid/grid.e2e.playwright.d.ts +1 -0
- package/dist/types/components/horizontal-stepper/horizontal-stepper-interface.d.ts +2 -0
- package/dist/types/components/horizontal-stepper/horizontal-stepper.d.ts +4 -0
- package/dist/types/components/input/input.e2e.playwright.d.ts +1 -0
- package/dist/types/components/modal/modal.e2e.playwright.d.ts +1 -0
- package/dist/types/components/radio-group/radio-group.e2e.playwright.d.ts +1 -0
- package/dist/types/components/select/select.d.ts +7 -1
- package/dist/types/components/select/select.e2e.playwright.d.ts +1 -0
- package/dist/types/components/switch/switch.e2e.playwright.d.ts +1 -0
- package/dist/types/components/tabs/tabs.e2e.playwright.d.ts +1 -0
- package/dist/types/components/textarea/textarea.e2e.playwright.d.ts +1 -0
- package/dist/types/components.d.ts +12 -0
- package/dist/types/utils/playwright/test-expect.d.ts +33 -0
- package/dist/types/utils/playwright/test.d.ts +7 -0
- package/dist/wcs/{p-8e9bd0f1.entry.js → p-0326f834.entry.js} +2 -2
- package/dist/wcs/{p-8e9bd0f1.entry.js.map → p-0326f834.entry.js.map} +1 -1
- package/dist/wcs/p-2221bf0c.entry.js +16 -0
- package/dist/wcs/p-2221bf0c.entry.js.map +1 -0
- package/dist/wcs/{p-f2eeb249.entry.js → p-2329af04.entry.js} +2 -2
- package/dist/wcs/{p-f2eeb249.entry.js.map → p-2329af04.entry.js.map} +1 -1
- package/dist/wcs/p-4ae08567.entry.js +2 -0
- package/dist/wcs/p-4ae08567.entry.js.map +1 -0
- package/dist/wcs/p-4e2d6227.entry.js +2 -0
- package/dist/wcs/p-4e2d6227.entry.js.map +1 -0
- package/dist/wcs/p-5d598d35.entry.js +2 -0
- package/dist/wcs/p-5d598d35.entry.js.map +1 -0
- package/dist/wcs/p-8332a7e3.entry.js +2 -0
- package/dist/wcs/p-8332a7e3.entry.js.map +1 -0
- package/dist/wcs/{p-ec383729.entry.js → p-9b76b8e6.entry.js} +2 -2
- package/dist/wcs/{p-ec383729.entry.js.map → p-9b76b8e6.entry.js.map} +1 -1
- package/dist/wcs/{p-1f593d06.entry.js → p-abd8d5a0.entry.js} +2 -2
- package/dist/wcs/{p-622f7403.entry.js → p-c6f8c45c.entry.js} +2 -2
- package/dist/wcs/{p-a94e685c.entry.js → p-db7ba599.entry.js} +2 -2
- package/dist/wcs/p-e1fb3625.js +2 -0
- package/dist/wcs/p-e1fb3625.js.map +1 -0
- package/dist/wcs/{p-a956dc84.entry.js → p-f2f7595e.entry.js} +2 -2
- package/dist/wcs/{p-a956dc84.entry.js.map → p-f2f7595e.entry.js.map} +1 -1
- package/dist/wcs/p-fbd68522.entry.js +2 -0
- package/dist/wcs/p-fbd68522.entry.js.map +1 -0
- package/dist/wcs/{p-8c2605fd.entry.js → p-fe303f58.entry.js} +2 -2
- package/dist/wcs/wcs.esm.js +1 -1
- package/package.json +18 -24
- package/dist/cjs/popper-8d6e7fca.js.map +0 -1
- package/dist/collection/components/accordion/accordion.e2e.js +0 -187
- package/dist/collection/components/accordion/accordion.e2e.js.map +0 -1
- package/dist/collection/components/alert/alert.e2e.js +0 -142
- package/dist/collection/components/alert/alert.e2e.js.map +0 -1
- package/dist/collection/components/alert-drawer/alert-drawer.e2e.js +0 -111
- package/dist/collection/components/alert-drawer/alert-drawer.e2e.js.map +0 -1
- package/dist/collection/components/breadcrumb/breadcrumb.e2e.js +0 -223
- package/dist/collection/components/breadcrumb/breadcrumb.e2e.js.map +0 -1
- package/dist/collection/components/button/button.e2e.js +0 -25
- package/dist/collection/components/button/button.e2e.js.map +0 -1
- package/dist/collection/components/checkbox/checkbox.e2e.js +0 -45
- package/dist/collection/components/checkbox/checkbox.e2e.js.map +0 -1
- package/dist/collection/components/chip/chip.e2e.js +0 -209
- package/dist/collection/components/chip/chip.e2e.js.map +0 -1
- package/dist/collection/components/com-nav/com-nav.e2e.js.map +0 -1
- package/dist/collection/components/counter/counter.e2e.js +0 -206
- package/dist/collection/components/counter/counter.e2e.js.map +0 -1
- package/dist/collection/components/dropdown/dropdown.e2e.js +0 -156
- package/dist/collection/components/dropdown/dropdown.e2e.js.map +0 -1
- package/dist/collection/components/editable-field/editable-field.e2e.js +0 -176
- package/dist/collection/components/editable-field/editable-field.e2e.js.map +0 -1
- package/dist/collection/components/form-field/form-field.e2e.js +0 -122
- package/dist/collection/components/form-field/form-field.e2e.js.map +0 -1
- package/dist/collection/components/grid/grid.e2e.js +0 -147
- package/dist/collection/components/grid/grid.e2e.js.map +0 -1
- package/dist/collection/components/input/input.e2e.js +0 -152
- package/dist/collection/components/input/input.e2e.js.map +0 -1
- package/dist/collection/components/modal/modal.e2e.js +0 -36
- package/dist/collection/components/modal/modal.e2e.js.map +0 -1
- package/dist/collection/components/radio-group/radio-group.e2e.js +0 -239
- package/dist/collection/components/radio-group/radio-group.e2e.js.map +0 -1
- package/dist/collection/components/select/select.e2e.js +0 -1081
- package/dist/collection/components/select/select.e2e.js.map +0 -1
- package/dist/collection/components/switch/switch.e2e.js +0 -45
- package/dist/collection/components/switch/switch.e2e.js.map +0 -1
- package/dist/collection/components/tabs/tabs.e2e.js +0 -207
- package/dist/collection/components/tabs/tabs.e2e.js.map +0 -1
- package/dist/collection/components/textarea/textarea.e2e.js +0 -132
- package/dist/collection/components/textarea/textarea.e2e.js.map +0 -1
- package/dist/collection/utils/tests.js +0 -23
- package/dist/collection/utils/tests.js.map +0 -1
- package/dist/esm/popper-e491c314.js.map +0 -1
- package/dist/types/utils/tests.d.ts +0 -4
- package/dist/wcs/p-0dd07842.entry.js +0 -2
- package/dist/wcs/p-0dd07842.entry.js.map +0 -1
- package/dist/wcs/p-0f864e86.js +0 -2
- package/dist/wcs/p-0f864e86.js.map +0 -1
- package/dist/wcs/p-1244daa0.entry.js +0 -2
- package/dist/wcs/p-1244daa0.entry.js.map +0 -1
- package/dist/wcs/p-1fbe0328.entry.js +0 -2
- package/dist/wcs/p-1fbe0328.entry.js.map +0 -1
- package/dist/wcs/p-828b45b4.entry.js +0 -2
- package/dist/wcs/p-828b45b4.entry.js.map +0 -1
- package/dist/wcs/p-b94a09b6.entry.js +0 -16
- package/dist/wcs/p-b94a09b6.entry.js.map +0 -1
- package/dist/wcs/p-fd187bce.entry.js +0 -2
- package/dist/wcs/p-fd187bce.entry.js.map +0 -1
- /package/dist/wcs/{p-1f593d06.entry.js.map → p-abd8d5a0.entry.js.map} +0 -0
- /package/dist/wcs/{p-622f7403.entry.js.map → p-c6f8c45c.entry.js.map} +0 -0
- /package/dist/wcs/{p-a94e685c.entry.js.map → p-db7ba599.entry.js.map} +0 -0
- /package/dist/wcs/{p-8c2605fd.entry.js.map → p-fe303f58.entry.js.map} +0 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { setWcsContent } from "../../utils/playwright/test";
|
|
2
|
+
import { test } from "@stencil/playwright";
|
|
3
|
+
import { expect } from "@playwright/test";
|
|
4
|
+
test.describe('wcs-editable-field', () => {
|
|
5
|
+
test('renders with input element and default props', async ({ page }) => {
|
|
6
|
+
await setWcsContent(page, `
|
|
7
|
+
<wcs-editable-field label="Test Input" value="Initial value" type="input" id="test">
|
|
8
|
+
<wcs-input></wcs-input>
|
|
9
|
+
</wcs-editable-field>
|
|
10
|
+
`);
|
|
11
|
+
const displayContainer = page.locator('wcs-editable-field .display-container');
|
|
12
|
+
await expect(displayContainer).toContainText('Initial value');
|
|
13
|
+
const label = page.locator('wcs-editable-field .label');
|
|
14
|
+
await expect(label).toHaveText('Test Input');
|
|
15
|
+
});
|
|
16
|
+
test('transitions from DISPLAY to EDIT state when clicked', async ({ page }) => {
|
|
17
|
+
await setWcsContent(page, `
|
|
18
|
+
<wcs-editable-field label="Test Input" value="Initial value" type="input" id="test">
|
|
19
|
+
<wcs-input></wcs-input>
|
|
20
|
+
</wcs-editable-field>
|
|
21
|
+
`);
|
|
22
|
+
const displayContainer = page.locator('wcs-editable-field .display-container');
|
|
23
|
+
await displayContainer.click();
|
|
24
|
+
const editContainer = page.locator('wcs-editable-field .edit-container:not(.display-none)');
|
|
25
|
+
await expect(editContainer).toBeVisible();
|
|
26
|
+
});
|
|
27
|
+
test('properly handles validation', async ({ page }) => {
|
|
28
|
+
await setWcsContent(page, `
|
|
29
|
+
<wcs-editable-field id="validate-test" label="Test Validation" value="Valid" error-msg="Value is invalid" type="input">
|
|
30
|
+
<wcs-input></wcs-input>
|
|
31
|
+
</wcs-editable-field>
|
|
32
|
+
`);
|
|
33
|
+
// Set up validation function
|
|
34
|
+
await page.evaluate(() => {
|
|
35
|
+
const el = document.querySelector('wcs-editable-field');
|
|
36
|
+
el.validateFn = (val) => val === 'Valid';
|
|
37
|
+
});
|
|
38
|
+
// Go to edit mode
|
|
39
|
+
const displayContainer = page.locator('wcs-editable-field .display-container');
|
|
40
|
+
await displayContainer.click();
|
|
41
|
+
// Input invalid value
|
|
42
|
+
const wcsInput = page.locator('wcs-input');
|
|
43
|
+
const nativeInput = page.locator('wcs-input input');
|
|
44
|
+
await nativeInput.fill('Invalid');
|
|
45
|
+
// Trigger validation (simulate Enter key)
|
|
46
|
+
await wcsInput.press('Enter');
|
|
47
|
+
await page.waitForChanges();
|
|
48
|
+
// Check error message is displayed
|
|
49
|
+
const errorElement = page.locator('wcs-editable-field wcs-error');
|
|
50
|
+
await expect(errorElement).toBeVisible();
|
|
51
|
+
await expect(errorElement).toHaveText('Value is invalid');
|
|
52
|
+
});
|
|
53
|
+
test('emits wcsChange event with correct data', async ({ page }) => {
|
|
54
|
+
await setWcsContent(page, `
|
|
55
|
+
<wcs-editable-field label="Test Events" value="Old value" type="input" id="event-test">
|
|
56
|
+
<wcs-input id="test-input"></wcs-input>
|
|
57
|
+
</wcs-editable-field>
|
|
58
|
+
`);
|
|
59
|
+
const changeSpy = await page.spyOnEvent('wcsChange');
|
|
60
|
+
// Go to edit mode
|
|
61
|
+
const displayContainer = page.locator('wcs-editable-field .display-container');
|
|
62
|
+
await displayContainer.click();
|
|
63
|
+
await page.waitForChanges();
|
|
64
|
+
const input = page.locator('wcs-input');
|
|
65
|
+
await input.press('Backspace'); // Clear value (backspace is easier than selecting all)
|
|
66
|
+
await input.pressSequentially('New value'); // send input event
|
|
67
|
+
await page.waitForChanges();
|
|
68
|
+
// Submit the form by pressing Enter
|
|
69
|
+
await input.press('Enter');
|
|
70
|
+
await page.waitForChanges();
|
|
71
|
+
// Note: Functions defined in the event's detail object (successHandler and errorHandler)
|
|
72
|
+
// are not cloned by the DOM's structured clone algorithm.
|
|
73
|
+
// This means that when the event is emitted, these functions will not be present in the
|
|
74
|
+
// event.detail object when accessed in E2E tests, even though they exist in the browser.
|
|
75
|
+
expect(changeSpy).toHaveNthReceivedEventDetail(0, {
|
|
76
|
+
newValue: 'New value',
|
|
77
|
+
successHandler: undefined,
|
|
78
|
+
errorHandler: undefined
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
test('respects readonly property', async ({ page }) => {
|
|
82
|
+
await setWcsContent(page, `
|
|
83
|
+
<wcs-editable-field label="Read Only Field" value="Readonly value" readonly="true" type="input" id="test">
|
|
84
|
+
<wcs-input></wcs-input>
|
|
85
|
+
</wcs-editable-field>
|
|
86
|
+
`);
|
|
87
|
+
// Check readonly icon is displayed
|
|
88
|
+
const readonlyIcon = page.locator('wcs-editable-field .readonly-icon');
|
|
89
|
+
await expect(readonlyIcon).toBeVisible();
|
|
90
|
+
// Try clicking
|
|
91
|
+
const displayContainer = page.locator('wcs-editable-field .display-container');
|
|
92
|
+
await displayContainer.click();
|
|
93
|
+
// Should still be in display mode
|
|
94
|
+
const editContainer = page.locator('wcs-editable-field .edit-container:not(.display-none)');
|
|
95
|
+
await expect(editContainer).toHaveCount(0);
|
|
96
|
+
});
|
|
97
|
+
test('works correctly with textarea', async ({ page }) => {
|
|
98
|
+
await setWcsContent(page, `
|
|
99
|
+
<wcs-editable-field label="Textarea Test" type="textarea" value="Multiline\nText" id="test">
|
|
100
|
+
<wcs-textarea></wcs-textarea>
|
|
101
|
+
</wcs-editable-field>
|
|
102
|
+
`);
|
|
103
|
+
// Check it renders correctly
|
|
104
|
+
const displayContainer = page.locator('wcs-editable-field .display-container');
|
|
105
|
+
await expect(displayContainer).toContainText('Multiline\nText');
|
|
106
|
+
// Go to edit mode
|
|
107
|
+
await displayContainer.click();
|
|
108
|
+
// Should need Ctrl+Enter to submit with textarea
|
|
109
|
+
const textarea = page.locator('wcs-textarea');
|
|
110
|
+
await textarea.press('Enter'); // This should NOT submit
|
|
111
|
+
// Should still be in edit mode
|
|
112
|
+
const editContainerVisible = page.locator('wcs-editable-field .edit-container:not(.display-none)');
|
|
113
|
+
await expect(editContainerVisible).toBeVisible();
|
|
114
|
+
});
|
|
115
|
+
test('works correctly with select', async ({ page }) => {
|
|
116
|
+
await setWcsContent(page, `
|
|
117
|
+
<wcs-editable-field label="Select Test" type="select" value="option1" id="test">
|
|
118
|
+
<wcs-select>
|
|
119
|
+
<wcs-select-option value="option1">Option 1</wcs-select-option>
|
|
120
|
+
<wcs-select-option value="option2">Option 2</wcs-select-option>
|
|
121
|
+
</wcs-select>
|
|
122
|
+
</wcs-editable-field>
|
|
123
|
+
`);
|
|
124
|
+
// Go to edit mode
|
|
125
|
+
const displayContainer = page.locator('wcs-editable-field .display-container');
|
|
126
|
+
await displayContainer.click();
|
|
127
|
+
// We get the select element
|
|
128
|
+
const select = page.locator('wcs-select');
|
|
129
|
+
await select.focus();
|
|
130
|
+
await select.press('ArrowDown');
|
|
131
|
+
// press CTRL + ENTER (combined) to validate
|
|
132
|
+
await page.keyboard.down('Control');
|
|
133
|
+
await page.keyboard.press('Enter');
|
|
134
|
+
await page.keyboard.up('Control');
|
|
135
|
+
await page.waitForChanges();
|
|
136
|
+
// Should be in load state after change
|
|
137
|
+
const loadContainer = page.locator('wcs-editable-field .load-container:not(.display-none)');
|
|
138
|
+
await expect(loadContainer).toBeVisible();
|
|
139
|
+
});
|
|
140
|
+
test('properly handles custom formatting function', async ({ page }) => {
|
|
141
|
+
await setWcsContent(page, `
|
|
142
|
+
<wcs-editable-field id="format-test" label="Formatting Test" value="test value" type="input">
|
|
143
|
+
<wcs-input></wcs-input>
|
|
144
|
+
</wcs-editable-field>
|
|
145
|
+
`);
|
|
146
|
+
// Set custom formatter
|
|
147
|
+
await page.evaluate(() => {
|
|
148
|
+
const el = document.querySelector('wcs-editable-field');
|
|
149
|
+
el.formatFn = (val) => val ? val.toUpperCase() : '';
|
|
150
|
+
});
|
|
151
|
+
// Check formatted output
|
|
152
|
+
const displayContainer = page.locator('wcs-editable-field .display-container');
|
|
153
|
+
await expect(displayContainer).toContainText('TEST VALUE');
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
//# sourceMappingURL=editable-field.e2e.playwright.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editable-field.e2e.playwright.js","sourceRoot":"","sources":["../../../src/components/editable-field/editable-field.e2e.playwright.ts"],"names":[],"mappings":"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","sourcesContent":["import { setWcsContent } from '../../utils/playwright/test';\nimport { test, E2EPage } from \"@stencil/playwright\";\n\nimport { expect } from \"@playwright/test\";\n\ntest.describe('wcs-editable-field', () => {\n test('renders with input element and default props', async ({ page }: { page: E2EPage }) => {\n await setWcsContent(page, `\n <wcs-editable-field label=\"Test Input\" value=\"Initial value\" type=\"input\" id=\"test\">\n <wcs-input></wcs-input>\n </wcs-editable-field>\n `);\n\n const displayContainer = page.locator('wcs-editable-field .display-container');\n await expect(displayContainer).toContainText('Initial value');\n\n const label = page.locator('wcs-editable-field .label');\n await expect(label).toHaveText('Test Input');\n });\n\n test('transitions from DISPLAY to EDIT state when clicked', async ({ page }: { page: E2EPage }) => {\n await setWcsContent(page, `\n <wcs-editable-field label=\"Test Input\" value=\"Initial value\" type=\"input\" id=\"test\">\n <wcs-input></wcs-input>\n </wcs-editable-field>\n `);\n\n const displayContainer = page.locator('wcs-editable-field .display-container');\n await displayContainer.click();\n\n const editContainer = page.locator('wcs-editable-field .edit-container:not(.display-none)');\n await expect(editContainer).toBeVisible();\n });\n\n test('properly handles validation', async ({ page }: { page: E2EPage }) => {\n await setWcsContent(page, `\n <wcs-editable-field id=\"validate-test\" label=\"Test Validation\" value=\"Valid\" error-msg=\"Value is invalid\" type=\"input\">\n <wcs-input></wcs-input>\n </wcs-editable-field>\n `);\n\n // Set up validation function\n await page.evaluate(() => {\n const el = document.querySelector('wcs-editable-field') as any;\n el.validateFn = (val: string) => val === 'Valid';\n });\n\n // Go to edit mode\n const displayContainer = page.locator('wcs-editable-field .display-container');\n await displayContainer.click();\n\n // Input invalid value\n const wcsInput = page.locator('wcs-input');\n const nativeInput = page.locator('wcs-input input');\n await nativeInput.fill('Invalid');\n\n // Trigger validation (simulate Enter key)\n await wcsInput.press('Enter');\n await page.waitForChanges();\n\n // Check error message is displayed\n const errorElement = page.locator('wcs-editable-field wcs-error');\n await expect(errorElement).toBeVisible();\n await expect(errorElement).toHaveText('Value is invalid');\n });\n\n test('emits wcsChange event with correct data', async ({ page }: { page: E2EPage }) => {\n await setWcsContent(page, `\n <wcs-editable-field label=\"Test Events\" value=\"Old value\" type=\"input\" id=\"event-test\">\n <wcs-input id=\"test-input\"></wcs-input>\n </wcs-editable-field>\n `);\n\n const changeSpy = await page.spyOnEvent('wcsChange');\n\n // Go to edit mode\n const displayContainer = page.locator('wcs-editable-field .display-container');\n await displayContainer.click();\n await page.waitForChanges();\n\n const input = page.locator('wcs-input');\n await input.press('Backspace'); // Clear value (backspace is easier than selecting all)\n await input.pressSequentially('New value'); // send input event\n await page.waitForChanges();\n\n // Submit the form by pressing Enter\n await input.press('Enter');\n await page.waitForChanges();\n\n // Note: Functions defined in the event's detail object (successHandler and errorHandler)\n // are not cloned by the DOM's structured clone algorithm.\n // This means that when the event is emitted, these functions will not be present in the\n // event.detail object when accessed in E2E tests, even though they exist in the browser.\n\n expect(changeSpy).toHaveNthReceivedEventDetail(0, {\n newValue: 'New value',\n successHandler: undefined,\n errorHandler: undefined\n });\n });\n\n test('respects readonly property', async ({ page }: { page: E2EPage }) => {\n await setWcsContent(page, `\n <wcs-editable-field label=\"Read Only Field\" value=\"Readonly value\" readonly=\"true\" type=\"input\" id=\"test\">\n <wcs-input></wcs-input>\n </wcs-editable-field>\n `);\n\n // Check readonly icon is displayed\n const readonlyIcon = page.locator('wcs-editable-field .readonly-icon');\n await expect(readonlyIcon).toBeVisible();\n\n // Try clicking\n const displayContainer = page.locator('wcs-editable-field .display-container');\n await displayContainer.click();\n\n // Should still be in display mode\n const editContainer = page.locator('wcs-editable-field .edit-container:not(.display-none)');\n await expect(editContainer).toHaveCount(0);\n });\n\n test('works correctly with textarea', async ({ page }: { page: E2EPage }) => {\n await setWcsContent(page, `\n <wcs-editable-field label=\"Textarea Test\" type=\"textarea\" value=\"Multiline\\nText\" id=\"test\">\n <wcs-textarea></wcs-textarea>\n </wcs-editable-field>\n `);\n\n // Check it renders correctly\n const displayContainer = page.locator('wcs-editable-field .display-container');\n await expect(displayContainer).toContainText('Multiline\\nText');\n\n // Go to edit mode\n await displayContainer.click();\n\n // Should need Ctrl+Enter to submit with textarea\n const textarea = page.locator('wcs-textarea');\n await textarea.press('Enter'); // This should NOT submit\n\n // Should still be in edit mode\n const editContainerVisible = page.locator('wcs-editable-field .edit-container:not(.display-none)');\n await expect(editContainerVisible).toBeVisible();\n });\n\n test('works correctly with select', async ({ page }: { page: E2EPage }) => {\n await setWcsContent(page, `\n <wcs-editable-field label=\"Select Test\" type=\"select\" value=\"option1\" id=\"test\">\n <wcs-select>\n <wcs-select-option value=\"option1\">Option 1</wcs-select-option>\n <wcs-select-option value=\"option2\">Option 2</wcs-select-option>\n </wcs-select>\n </wcs-editable-field>\n `);\n\n // Go to edit mode\n const displayContainer = page.locator('wcs-editable-field .display-container');\n await displayContainer.click();\n\n // We get the select element\n const select = page.locator('wcs-select');\n await select.focus();\n await select.press('ArrowDown');\n\n // press CTRL + ENTER (combined) to validate\n await page.keyboard.down('Control');\n await page.keyboard.press('Enter');\n await page.keyboard.up('Control');\n await page.waitForChanges();\n\n // Should be in load state after change\n const loadContainer = page.locator('wcs-editable-field .load-container:not(.display-none)');\n await expect(loadContainer).toBeVisible();\n });\n\n test('properly handles custom formatting function', async ({ page }: { page: E2EPage }) => {\n await setWcsContent(page, `\n <wcs-editable-field id=\"format-test\" label=\"Formatting Test\" value=\"test value\" type=\"input\">\n <wcs-input></wcs-input>\n </wcs-editable-field>\n `);\n\n // Set custom formatter\n await page.evaluate(() => {\n const el = document.querySelector('wcs-editable-field') as any;\n el.formatFn = (val: string) => val ? val.toUpperCase() : '';\n });\n\n // Check formatted output\n const displayContainer = page.locator('wcs-editable-field .display-container');\n await expect(displayContainer).toContainText('TEST VALUE');\n });\n});\n"]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { setWcsContent } from "../../utils/playwright/test";
|
|
2
|
+
import { test } from "@stencil/playwright";
|
|
3
|
+
import { expect } from "@playwright/test";
|
|
4
|
+
test.describe('Form field component', () => {
|
|
5
|
+
test.describe('Global', () => {
|
|
6
|
+
test.describe('Accessibility', () => {
|
|
7
|
+
test('Should put form-field label to aria-label of the spied element when non empty', async ({ page }) => {
|
|
8
|
+
// Given
|
|
9
|
+
await setWcsContent(page, `
|
|
10
|
+
<wcs-form-field>
|
|
11
|
+
<wcs-label>Label form field</wcs-label>
|
|
12
|
+
<wcs-input/>
|
|
13
|
+
</wcs-form-field>
|
|
14
|
+
`);
|
|
15
|
+
// When
|
|
16
|
+
const input = page.locator('wcs-input').locator('input');
|
|
17
|
+
// Then
|
|
18
|
+
await expect(input).toHaveAttribute('aria-label', 'Label form field');
|
|
19
|
+
});
|
|
20
|
+
test('Should not put form-field label to aria-label of the spied element when empty', async ({ page }) => {
|
|
21
|
+
// Given
|
|
22
|
+
await setWcsContent(page, `
|
|
23
|
+
<wcs-form-field>
|
|
24
|
+
<wcs-label></wcs-label>
|
|
25
|
+
<wcs-input/>
|
|
26
|
+
</wcs-form-field>
|
|
27
|
+
`);
|
|
28
|
+
// When
|
|
29
|
+
const input = page.locator('wcs-input').locator('input');
|
|
30
|
+
// Then
|
|
31
|
+
await expect(input).not.toHaveAttribute('aria-label');
|
|
32
|
+
});
|
|
33
|
+
test('Should not concatenate form-field label with form control (switch, checkbox label when form-field label is empty', async ({ page }) => {
|
|
34
|
+
// Given
|
|
35
|
+
await setWcsContent(page, `
|
|
36
|
+
<wcs-form-field>
|
|
37
|
+
<wcs-label></wcs-label>
|
|
38
|
+
<wcs-switch>Label switch</wcs-switch>
|
|
39
|
+
</wcs-form-field>
|
|
40
|
+
`);
|
|
41
|
+
// When
|
|
42
|
+
const switchInput = page.locator('wcs-switch').locator('input');
|
|
43
|
+
// Then
|
|
44
|
+
await expect(switchInput).toHaveAttribute('aria-label', 'Label switch');
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
test.describe('With switch', () => {
|
|
49
|
+
test.describe('Accessibility', () => {
|
|
50
|
+
test('Should concatenate form-field label with switch label', async ({ page }) => {
|
|
51
|
+
// Given
|
|
52
|
+
await setWcsContent(page, `
|
|
53
|
+
<wcs-form-field>
|
|
54
|
+
<wcs-label>Label form field</wcs-label>
|
|
55
|
+
<wcs-switch>Label switch</wcs-switch>
|
|
56
|
+
</wcs-form-field>
|
|
57
|
+
`);
|
|
58
|
+
// When
|
|
59
|
+
const switchInput = page.locator('wcs-switch').locator('input');
|
|
60
|
+
// Then
|
|
61
|
+
await expect(switchInput).toHaveAttribute('aria-label', 'Label form field Label switch');
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
test.describe('With checkbox', () => {
|
|
66
|
+
test.describe('Accessibility', () => {
|
|
67
|
+
test('Should concatenate form-field label with checkbox label', async ({ page }) => {
|
|
68
|
+
// Given
|
|
69
|
+
await setWcsContent(page, `
|
|
70
|
+
<wcs-form-field>
|
|
71
|
+
<wcs-label>Label form field</wcs-label>
|
|
72
|
+
<wcs-checkbox>Label checkbox</wcs-checkbox>
|
|
73
|
+
</wcs-form-field>
|
|
74
|
+
`);
|
|
75
|
+
// When
|
|
76
|
+
const checkboxInput = page.locator('wcs-checkbox').locator('input');
|
|
77
|
+
// Then
|
|
78
|
+
await expect(checkboxInput).toHaveAttribute('aria-label', 'Label form field Label checkbox');
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
test.describe('With radio-group', () => {
|
|
83
|
+
test.describe('Accessibility', () => {
|
|
84
|
+
test('Should set aria-label on radio-group element', async ({ page }) => {
|
|
85
|
+
// Given
|
|
86
|
+
await setWcsContent(page, `
|
|
87
|
+
<wcs-form-field>
|
|
88
|
+
<wcs-label>Label form field</wcs-label>
|
|
89
|
+
<wcs-radio-group>
|
|
90
|
+
<wcs-radio name="SA" label="SNCF" value="1"></wcs-radio>
|
|
91
|
+
<wcs-radio name="SA" label="SNCF Réseau" value="2"></wcs-radio>
|
|
92
|
+
<wcs-radio name="SA" label="SNCF Voyageurs" value="3"></wcs-radio>
|
|
93
|
+
</wcs-radio-group>
|
|
94
|
+
</wcs-form-field>
|
|
95
|
+
`);
|
|
96
|
+
// When
|
|
97
|
+
const radioGroup = page.locator('wcs-radio-group');
|
|
98
|
+
// Then
|
|
99
|
+
await expect(radioGroup).toHaveAttribute('aria-label', 'Label form field');
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
//# sourceMappingURL=form-field.e2e.playwright.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-field.e2e.playwright.js","sourceRoot":"","sources":["../../../src/components/form-field/form-field.e2e.playwright.ts"],"names":[],"mappings":"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","sourcesContent":["import { setWcsContent } from '../../utils/playwright/test';\nimport { test, E2EPage } from \"@stencil/playwright\";\n\nimport { expect } from \"@playwright/test\";\n\ntest.describe('Form field component', () => {\n test.describe('Global', () => {\n test.describe('Accessibility', () => {\n test('Should put form-field label to aria-label of the spied element when non empty', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label>Label form field</wcs-label>\n <wcs-input/>\n </wcs-form-field>\n `);\n\n // When\n const input = page.locator('wcs-input').locator('input');\n\n // Then\n await expect(input).toHaveAttribute('aria-label', 'Label form field');\n });\n\n test('Should not put form-field label to aria-label of the spied element when empty', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label></wcs-label>\n <wcs-input/>\n </wcs-form-field>\n `);\n\n // When\n const input = page.locator('wcs-input').locator('input');\n\n // Then\n await expect(input).not.toHaveAttribute('aria-label');\n });\n\n test('Should not concatenate form-field label with form control (switch, checkbox label when form-field label is empty', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label></wcs-label>\n <wcs-switch>Label switch</wcs-switch>\n </wcs-form-field>\n `);\n\n // When\n const switchInput = page.locator('wcs-switch').locator('input');\n\n // Then\n await expect(switchInput).toHaveAttribute('aria-label', 'Label switch');\n });\n });\n });\n\n test.describe('With switch', () => {\n test.describe('Accessibility', () => {\n test('Should concatenate form-field label with switch label', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label>Label form field</wcs-label>\n <wcs-switch>Label switch</wcs-switch>\n </wcs-form-field>\n `);\n\n // When\n const switchInput = page.locator('wcs-switch').locator('input');\n\n // Then\n await expect(switchInput).toHaveAttribute('aria-label', 'Label form field Label switch');\n });\n });\n });\n\n test.describe('With checkbox', () => {\n test.describe('Accessibility', () => {\n test('Should concatenate form-field label with checkbox label', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label>Label form field</wcs-label>\n <wcs-checkbox>Label checkbox</wcs-checkbox>\n </wcs-form-field>\n `);\n\n // When\n const checkboxInput = page.locator('wcs-checkbox').locator('input');\n\n // Then\n await expect(checkboxInput).toHaveAttribute('aria-label', 'Label form field Label checkbox');\n });\n });\n });\n\n test.describe('With radio-group', () => {\n test.describe('Accessibility', () => {\n test('Should set aria-label on radio-group element', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label>Label form field</wcs-label>\n <wcs-radio-group>\n <wcs-radio name=\"SA\" label=\"SNCF\" value=\"1\"></wcs-radio>\n <wcs-radio name=\"SA\" label=\"SNCF Réseau\" value=\"2\"></wcs-radio>\n <wcs-radio name=\"SA\" label=\"SNCF Voyageurs\" value=\"3\"></wcs-radio>\n </wcs-radio-group>\n </wcs-form-field>\n `);\n\n // When\n const radioGroup = page.locator('wcs-radio-group');\n\n // Then\n await expect(radioGroup).toHaveAttribute('aria-label', 'Label form field');\n });\n });\n });\n});\n"]}
|
|
@@ -120,7 +120,7 @@ export class Galactic {
|
|
|
120
120
|
"signature": "(attr: AriaAttributeName, value: string | null | undefined) => Promise<void>",
|
|
121
121
|
"parameters": [{
|
|
122
122
|
"name": "attr",
|
|
123
|
-
"type": "
|
|
123
|
+
"type": "`aria-${string}` | \"role\"",
|
|
124
124
|
"docs": ""
|
|
125
125
|
}, {
|
|
126
126
|
"name": "value",
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { setWcsContent } from "../../utils/playwright/test";
|
|
2
|
+
import { test } from "@stencil/playwright";
|
|
3
|
+
import { expect } from "@playwright/test";
|
|
4
|
+
test.describe('Grid component', () => {
|
|
5
|
+
test.describe('Events', () => {
|
|
6
|
+
test.describe('simple', () => {
|
|
7
|
+
test('should emit a wcsGridSelectionChange event when a row is selected', async ({ page }) => {
|
|
8
|
+
// Given
|
|
9
|
+
const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
|
|
10
|
+
await setWcsContent(page, `
|
|
11
|
+
<wcs-grid id="simpleGrid" selection-config="single" sort="">
|
|
12
|
+
<wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
|
|
13
|
+
</wcs-grid>
|
|
14
|
+
`);
|
|
15
|
+
const simpleGrid = page.locator('#simpleGrid');
|
|
16
|
+
await simpleGrid.evaluate((el, d) => el.data = d, data);
|
|
17
|
+
const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');
|
|
18
|
+
// When
|
|
19
|
+
const gridRadioFirstRow = simpleGrid.locator('table tbody tr:first-child td .grid-radio');
|
|
20
|
+
await gridRadioFirstRow.click();
|
|
21
|
+
await page.waitForChanges();
|
|
22
|
+
// Then
|
|
23
|
+
expect(selectionSpy).toHaveReceivedEventTimes(1);
|
|
24
|
+
const detail = selectionSpy.events[0].detail;
|
|
25
|
+
expect(detail.selectedRows[0].data).toEqual(data[0]);
|
|
26
|
+
expect(detail.selectedRows[0].selected).toBe(true);
|
|
27
|
+
expect(detail.changedRow.selected).toBe(true);
|
|
28
|
+
expect(detail.changedRow.data).toEqual(data[0]);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
test.describe('multiple', () => {
|
|
32
|
+
test('should emit a wcsGridSelectionChange event when a row is selected', async ({ page }) => {
|
|
33
|
+
// Given
|
|
34
|
+
const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
|
|
35
|
+
await setWcsContent(page, `
|
|
36
|
+
<wcs-grid id="simpleGrid" selection-config="multiple" sort="">
|
|
37
|
+
<wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
|
|
38
|
+
</wcs-grid>
|
|
39
|
+
`);
|
|
40
|
+
const simpleGrid = page.locator('#simpleGrid');
|
|
41
|
+
await simpleGrid.evaluate((el, d) => el.data = d, data);
|
|
42
|
+
const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');
|
|
43
|
+
// When
|
|
44
|
+
const wcsCheckboxFirstRow = simpleGrid.locator('table tbody tr:first-child td wcs-checkbox');
|
|
45
|
+
await wcsCheckboxFirstRow.click();
|
|
46
|
+
await page.waitForChanges();
|
|
47
|
+
// Then
|
|
48
|
+
expect(selectionSpy).toHaveReceivedEventTimes(1);
|
|
49
|
+
const detail = selectionSpy.events[0].detail;
|
|
50
|
+
expect(detail.selectedRows[0].data).toEqual(data[0]);
|
|
51
|
+
expect(detail.selectedRows[0].selected).toBe(true);
|
|
52
|
+
expect(detail.changedRow.selected).toBe(true);
|
|
53
|
+
expect(detail.changedRow.data).toEqual(data[0]);
|
|
54
|
+
});
|
|
55
|
+
test('should emit a wcsGridSelectionChange event when a row is unselected', async ({ page }) => {
|
|
56
|
+
// Given
|
|
57
|
+
const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
|
|
58
|
+
await setWcsContent(page, `
|
|
59
|
+
<wcs-grid id="simpleGrid" selection-config="multiple" sort="">
|
|
60
|
+
<wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
|
|
61
|
+
</wcs-grid>
|
|
62
|
+
`);
|
|
63
|
+
const simpleGrid = page.locator('#simpleGrid');
|
|
64
|
+
await simpleGrid.evaluate((el, d) => el.data = d, data);
|
|
65
|
+
const wcsCheckboxFirstRow = simpleGrid.locator('table tbody tr:first-child td wcs-checkbox');
|
|
66
|
+
await wcsCheckboxFirstRow.click(); // Row is selected
|
|
67
|
+
await page.waitForChanges();
|
|
68
|
+
const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');
|
|
69
|
+
// When
|
|
70
|
+
await wcsCheckboxFirstRow.click(); // Row is unselected
|
|
71
|
+
await page.waitForChanges();
|
|
72
|
+
// Then
|
|
73
|
+
expect(selectionSpy).toHaveReceivedEventTimes(1);
|
|
74
|
+
const detail = selectionSpy.events[0].detail;
|
|
75
|
+
expect(detail.selectedRows).toEqual([]);
|
|
76
|
+
expect(detail.changedRow.selected).toBe(false);
|
|
77
|
+
expect(detail.changedRow.data).toEqual(data[0]);
|
|
78
|
+
});
|
|
79
|
+
test('should emit a wcsGridSelectionChange event when a new row is selected while another are already selected', async ({ page }) => {
|
|
80
|
+
// Given
|
|
81
|
+
const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
|
|
82
|
+
await setWcsContent(page, `
|
|
83
|
+
<wcs-grid id="simpleGrid" selection-config="multiple" sort="">
|
|
84
|
+
<wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
|
|
85
|
+
</wcs-grid>
|
|
86
|
+
`);
|
|
87
|
+
const simpleGrid = page.locator('#simpleGrid');
|
|
88
|
+
await simpleGrid.evaluate((el, d) => el.data = d, data);
|
|
89
|
+
const wcsCheckboxFirstRow = simpleGrid.locator('table tbody tr:first-child td wcs-checkbox');
|
|
90
|
+
await wcsCheckboxFirstRow.click();
|
|
91
|
+
await page.waitForChanges();
|
|
92
|
+
const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');
|
|
93
|
+
// When
|
|
94
|
+
const wcsCheckboxLastChild = simpleGrid.locator('table tbody tr:last-child td wcs-checkbox');
|
|
95
|
+
await wcsCheckboxLastChild.click();
|
|
96
|
+
await page.waitForChanges();
|
|
97
|
+
// Then
|
|
98
|
+
expect(selectionSpy).toHaveReceivedEventTimes(1);
|
|
99
|
+
const detail = selectionSpy.events[0].detail;
|
|
100
|
+
expect(detail.selectedRows.length).toBe(2);
|
|
101
|
+
expect(detail.selectedRows[0].data).toEqual(data[0]);
|
|
102
|
+
expect(detail.selectedRows[1].data).toEqual(data[data.length - 1]);
|
|
103
|
+
expect(detail.changedRow.selected).toBe(true);
|
|
104
|
+
expect(detail.changedRow.data).toEqual(data[data.length - 1]);
|
|
105
|
+
});
|
|
106
|
+
test('should emit a wcsGridSelectionChange event when all rows are selected', async ({ page }) => {
|
|
107
|
+
// Given
|
|
108
|
+
const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
|
|
109
|
+
await setWcsContent(page, `
|
|
110
|
+
<wcs-grid id="simpleGrid" selection-config="multiple" sort="">
|
|
111
|
+
<wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
|
|
112
|
+
</wcs-grid>
|
|
113
|
+
`);
|
|
114
|
+
const simpleGrid = page.locator('#simpleGrid');
|
|
115
|
+
await simpleGrid.evaluate((el, d) => el.data = d, data);
|
|
116
|
+
const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');
|
|
117
|
+
// When
|
|
118
|
+
const wcsCheckboxAll = simpleGrid.locator('table thead th:first-child wcs-checkbox');
|
|
119
|
+
await wcsCheckboxAll.click();
|
|
120
|
+
await page.waitForChanges();
|
|
121
|
+
// Then
|
|
122
|
+
expect(selectionSpy).toHaveReceivedEventTimes(1);
|
|
123
|
+
const detail = selectionSpy.events[0].detail;
|
|
124
|
+
expect(detail.selectedRows.length).toBe(data.length);
|
|
125
|
+
expect(detail.changedRow).toBe('allCheckbox');
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
test.describe('Sort', () => {
|
|
130
|
+
test('should well sort with pagination', async ({ page }) => {
|
|
131
|
+
const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Zoe' }];
|
|
132
|
+
await setWcsContent(page, `
|
|
133
|
+
<wcs-grid id="simpleGrid" selection-config="multiple">
|
|
134
|
+
<wcs-grid-column path="first_name" name="First Name" sort sort-order="desc"></wcs-grid-column>
|
|
135
|
+
<wcs-grid-pagination available-page-sizes="2"></wcs-grid-pagination>
|
|
136
|
+
</wcs-grid>
|
|
137
|
+
`);
|
|
138
|
+
const simpleGrid = page.locator('#simpleGrid');
|
|
139
|
+
await simpleGrid.evaluate((el, d) => el.data = d, data);
|
|
140
|
+
// First page should contain 2 elements (page-size = 2) sorted descending by first_name
|
|
141
|
+
// Data order before sort: John, Doe, Jane, Zoe
|
|
142
|
+
// After descending sort: Zoe, John, Jane, Doe
|
|
143
|
+
// Page 1 should show Zoe, John
|
|
144
|
+
const firstRowFirstCell = simpleGrid.locator('table tbody tr:first-child td:last-child');
|
|
145
|
+
const secondRowFirstCell = simpleGrid.locator('table tbody tr:nth-child(2) td:last-child');
|
|
146
|
+
await expect(async () => {
|
|
147
|
+
await expect(firstRowFirstCell).toHaveText('Zoe');
|
|
148
|
+
await expect(secondRowFirstCell).toHaveText('John');
|
|
149
|
+
}).toPass();
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
//# sourceMappingURL=grid.e2e.playwright.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.e2e.playwright.js","sourceRoot":"","sources":["../../../src/components/grid/grid.e2e.playwright.ts"],"names":[],"mappings":"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","sourcesContent":["import { setWcsContent } from '../../utils/playwright/test';\nimport { test, E2EPage } from \"@stencil/playwright\";\n\nimport { expect } from \"@playwright/test\";\n\ntest.describe('Grid component', () => {\n test.describe('Events', () => {\n test.describe('simple', () => {\n test('should emit a wcsGridSelectionChange event when a row is selected', async ({ page }: { page: E2EPage }) => {\n // Given\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"single\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const gridRadioFirstRow = simpleGrid.locator('table tbody tr:first-child td .grid-radio');\n await gridRadioFirstRow.click();\n await page.waitForChanges();\n\n // Then\n expect(selectionSpy).toHaveReceivedEventTimes(1);\n const detail = selectionSpy.events[0].detail;\n expect(detail.selectedRows[0].data).toEqual(data[0]);\n expect(detail.selectedRows[0].selected).toBe(true);\n expect(detail.changedRow.selected).toBe(true);\n expect(detail.changedRow.data).toEqual(data[0]);\n });\n });\n\n test.describe('multiple', () => {\n test('should emit a wcsGridSelectionChange event when a row is selected', async ({ page }: { page: E2EPage }) => {\n // Given\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const wcsCheckboxFirstRow = simpleGrid.locator('table tbody tr:first-child td wcs-checkbox');\n await wcsCheckboxFirstRow.click();\n await page.waitForChanges();\n\n // Then\n expect(selectionSpy).toHaveReceivedEventTimes(1);\n const detail = selectionSpy.events[0].detail;\n expect(detail.selectedRows[0].data).toEqual(data[0]);\n expect(detail.selectedRows[0].selected).toBe(true);\n expect(detail.changedRow.selected).toBe(true);\n expect(detail.changedRow.data).toEqual(data[0]);\n });\n\n test('should emit a wcsGridSelectionChange event when a row is unselected', async ({ page }: { page: E2EPage }) => {\n // Given\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n const wcsCheckboxFirstRow = simpleGrid.locator('table tbody tr:first-child td wcs-checkbox');\n await wcsCheckboxFirstRow.click(); // Row is selected\n await page.waitForChanges();\n\n const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');\n\n // When\n await wcsCheckboxFirstRow.click(); // Row is unselected\n await page.waitForChanges();\n\n // Then\n expect(selectionSpy).toHaveReceivedEventTimes(1);\n const detail = selectionSpy.events[0].detail;\n expect(detail.selectedRows).toEqual([]);\n expect(detail.changedRow.selected).toBe(false);\n expect(detail.changedRow.data).toEqual(data[0]);\n });\n\n test('should emit a wcsGridSelectionChange event when a new row is selected while another are already selected', async ({ page }: { page: E2EPage }) => {\n // Given\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n const wcsCheckboxFirstRow = simpleGrid.locator('table tbody tr:first-child td wcs-checkbox');\n await wcsCheckboxFirstRow.click();\n await page.waitForChanges();\n\n const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const wcsCheckboxLastChild = simpleGrid.locator('table tbody tr:last-child td wcs-checkbox');\n await wcsCheckboxLastChild.click();\n await page.waitForChanges();\n\n // Then\n expect(selectionSpy).toHaveReceivedEventTimes(1);\n const detail = selectionSpy.events[0].detail;\n expect(detail.selectedRows.length).toBe(2);\n expect(detail.selectedRows[0].data).toEqual(data[0]);\n expect(detail.selectedRows[1].data).toEqual(data[data.length - 1]);\n expect(detail.changedRow.selected).toBe(true);\n expect(detail.changedRow.data).toEqual(data[data.length - 1]);\n });\n\n test('should emit a wcsGridSelectionChange event when all rows are selected', async ({ page }: { page: E2EPage }) => {\n // Given\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const wcsCheckboxAll = simpleGrid.locator('table thead th:first-child wcs-checkbox');\n await wcsCheckboxAll.click();\n await page.waitForChanges();\n\n // Then\n expect(selectionSpy).toHaveReceivedEventTimes(1);\n const detail = selectionSpy.events[0].detail;\n expect(detail.selectedRows.length).toBe(data.length);\n expect(detail.changedRow).toBe('allCheckbox');\n });\n });\n });\n\n test.describe('Sort', () => {\n test('should well sort with pagination', async ({ page }: { page: E2EPage }) => {\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Zoe' }];\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\" sort sort-order=\"desc\"></wcs-grid-column>\n <wcs-grid-pagination available-page-sizes=\"2\"></wcs-grid-pagination>\n </wcs-grid>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n // First page should contain 2 elements (page-size = 2) sorted descending by first_name\n // Data order before sort: John, Doe, Jane, Zoe\n // After descending sort: Zoe, John, Jane, Doe\n // Page 1 should show Zoe, John\n\n const firstRowFirstCell = simpleGrid.locator('table tbody tr:first-child td:last-child');\n const secondRowFirstCell = simpleGrid.locator('table tbody tr:nth-child(2) td:last-child');\n\n await expect(async () => {\n await expect(firstRowFirstCell).toHaveText('Zoe');\n await expect(secondRowFirstCell).toHaveText('John');\n }).toPass();\n });\n });\n});\n"]}
|
|
@@ -77,6 +77,7 @@ export class Grid {
|
|
|
77
77
|
onDataChange(newValue) {
|
|
78
78
|
this.updateGridRows(newValue);
|
|
79
79
|
this.refreshSort(false);
|
|
80
|
+
this.updatePageIndex();
|
|
80
81
|
}
|
|
81
82
|
onSelectedItemsPropertyChange(newValue) {
|
|
82
83
|
this.updateSelectionWithValues(newValue);
|
|
@@ -282,7 +283,6 @@ export class Grid {
|
|
|
282
283
|
rows.push(row);
|
|
283
284
|
}
|
|
284
285
|
this.rows = rows;
|
|
285
|
-
this.updatePageIndex();
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
288
|
componentDidLoad() {
|
|
@@ -295,6 +295,7 @@ export class Grid {
|
|
|
295
295
|
this.updateSelectionWithValues(this.selectedItems);
|
|
296
296
|
}
|
|
297
297
|
this.refreshSort(true);
|
|
298
|
+
this.updatePageIndex();
|
|
298
299
|
}
|
|
299
300
|
componentWillLoad() {
|
|
300
301
|
this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, GRID_INHERITED_ATTRS));
|
|
@@ -505,12 +506,12 @@ export class Grid {
|
|
|
505
506
|
}
|
|
506
507
|
render() {
|
|
507
508
|
var _a, _b, _c, _d;
|
|
508
|
-
return (h(Host, { key: '
|
|
509
|
+
return (h(Host, { key: '1e9b1d5dc405c67428750276de3e38e8e163d20e' }, h("table", Object.assign({ key: '42e610c403c108f36c2f5e4eb276b9e1c6349b8c', role: "grid", ref: (el) => (this.nativeTable = el), "aria-rowcount": !this.loading && ((_a = this.rows) === null || _a === void 0 ? void 0 : _a.length), "aria-colcount": !this.loading && this.totalDisplayedColumnCount() }, this.inheritedAttributes), h("thead", { key: '365bf4de9329c94c5c891040b14ca844c6e8fd99' }, h("tr", { key: '9d1e4c4cf0418f585679a055edbb88ca08493d3d', "aria-rowindex": "1" }, this.selectionConfig === 'none' ? ''
|
|
509
510
|
: h("th", { class: "wcs-grid-selection-column" }, this.selectionConfig === 'single' ? '' :
|
|
510
511
|
h("wcs-checkbox", { tabIndex: ((_b = this.cursorPosition) === null || _b === void 0 ? void 0 : _b.col) === 0
|
|
511
|
-
&& ((_c = this.cursorPosition) === null || _c === void 0 ? void 0 : _c.row) === 0 ? 0 : -1, part: "all-rows-checkbox", checked: this.allRowsAreSelected(), onWcsChange: this.selectAllRows.bind(this) })), h("slot", { key: '
|
|
512
|
+
&& ((_c = this.cursorPosition) === null || _c === void 0 ? void 0 : _c.row) === 0 ? 0 : -1, part: "all-rows-checkbox", checked: this.allRowsAreSelected(), onWcsChange: this.selectAllRows.bind(this) })), h("slot", { key: '4c1ed31eeaf61d0f94a156cc97b393abafdfb6e3', name: "grid-column" }))), h("tbody", { key: '5758c76c248e9e54759bd008310047a5c670339a' }, this.loading
|
|
512
513
|
? h("tr", { "aria-busy": "true" }, h("td", { colSpan: this.totalColumnCount(), class: "loading" }, h("wcs-spinner", null)))
|
|
513
|
-
: (_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", { key: '
|
|
514
|
+
: (_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", { key: '170e79b086e8235ae736c8cc54512b0e3bb0e7ab', name: "grid-pagination" })));
|
|
514
515
|
}
|
|
515
516
|
/**
|
|
516
517
|
* Returns the row with all mapped cells inside.
|
|
@@ -820,7 +821,7 @@ export class Grid {
|
|
|
820
821
|
"signature": "(attr: AriaAttributeName, value: string | null | undefined) => Promise<void>",
|
|
821
822
|
"parameters": [{
|
|
822
823
|
"name": "attr",
|
|
823
|
-
"type": "
|
|
824
|
+
"type": "`aria-${string}` | \"role\"",
|
|
824
825
|
"docs": ""
|
|
825
826
|
}, {
|
|
826
827
|
"name": "value",
|