wcs-core 7.5.0 → 7.6.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/bundle/{p-763371a0.js → p-1329a1af.js} +3 -3
- package/bundle/p-1329a1af.js.map +1 -0
- package/bundle/p-2f7bca1e.js +2 -0
- package/bundle/p-2f7bca1e.js.map +1 -0
- package/bundle/p-475be4d2.js +2 -0
- package/bundle/{p-010cf905.js → p-5ef2bc63.js} +2 -2
- package/bundle/{p-44a3b0b9.js → p-7a06295b.js} +2 -2
- package/bundle/{p-2751ddc1.js → p-8b186fcf.js} +2 -2
- package/bundle/{p-d23d7658.js → p-a0268a31.js} +2 -2
- package/bundle/{p-c8b73e93.js → p-bce8c93f.js} +2 -2
- package/bundle/{p-2e9b9605.js → p-bf326ae8.js} +2 -2
- package/bundle/{p-98bd8a96.js → p-d018450c.js} +2 -2
- package/bundle/p-d05140f5.js +2 -0
- package/bundle/p-d05140f5.js.map +1 -0
- package/bundle/{p-f0dda0b8.js → p-d3fe6951.js} +2 -2
- package/bundle/{p-9c2aa87a.js → p-ee6ff5f8.js} +2 -2
- package/bundle/{p-cdc6f6c2.js → p-ff261e50.js} +2 -2
- package/bundle/wcs-accordion-panel.js +1 -1
- package/bundle/wcs-alert-drawer.js +1 -1
- package/bundle/wcs-alert.js +1 -1
- package/bundle/wcs-breadcrumb.js +1 -1
- package/bundle/wcs-button.js +1 -1
- package/bundle/wcs-card-content.js +1 -1
- package/bundle/wcs-card-content.js.map +1 -1
- package/bundle/wcs-card.js +1 -1
- package/bundle/wcs-card.js.map +1 -1
- package/bundle/wcs-checkbox.js +1 -1
- package/bundle/wcs-com-nav-category.js +1 -1
- package/bundle/wcs-com-nav-submenu.js +1 -1
- package/bundle/wcs-com-nav.js +1 -1
- package/bundle/wcs-counter.js +1 -1
- package/bundle/wcs-dropdown-item.js +1 -1
- package/bundle/wcs-dropdown.js +1 -1
- package/bundle/wcs-dropdown.js.map +1 -1
- package/bundle/wcs-editable-field.js +1 -1
- package/bundle/wcs-editable-field.js.map +1 -1
- package/bundle/wcs-form-field.js +1 -1
- package/bundle/wcs-galactic-menu.js +1 -1
- package/bundle/wcs-grid-column.js +1 -1
- package/bundle/wcs-grid-column.js.map +1 -1
- package/bundle/wcs-grid-custom-cell.js +1 -1
- package/bundle/wcs-grid-custom-cell.js.map +1 -1
- package/bundle/wcs-grid-pagination.js +1 -1
- package/bundle/wcs-grid.js +1 -1
- package/bundle/wcs-grid.js.map +1 -1
- package/bundle/wcs-header.js +1 -1
- package/bundle/wcs-hint.js +1 -1
- package/bundle/wcs-horizontal-stepper.js +1 -1
- package/bundle/wcs-icon.js +1 -1
- package/bundle/wcs-input.js +1 -1
- package/bundle/wcs-input.js.map +1 -1
- package/bundle/wcs-label.js +1 -1
- package/bundle/wcs-list-item-properties.js +1 -1
- package/bundle/wcs-list-item-property.js +1 -1
- package/bundle/wcs-list-item.js +1 -1
- package/bundle/wcs-mat-icon.js +1 -1
- package/bundle/wcs-modal.js +1 -1
- package/bundle/wcs-native-select.js +1 -1
- package/bundle/wcs-nav-item.js +1 -1
- package/bundle/wcs-nav.js +1 -1
- package/bundle/wcs-progress-bar.js +1 -1
- package/bundle/wcs-progress-radial.js +1 -1
- package/bundle/wcs-radio-group.js +1 -1
- package/bundle/wcs-radio-group.js.map +1 -1
- package/bundle/wcs-radio.js +1 -1
- package/bundle/wcs-radio.js.map +1 -1
- package/bundle/wcs-select-option.js +1 -1
- package/bundle/wcs-select.js +1 -1
- package/bundle/wcs-skeleton-circle.js +1 -1
- package/bundle/wcs-skeleton-rectangle.js +1 -1
- package/bundle/wcs-skeleton-text.js +1 -1
- package/bundle/wcs-spinner.js +1 -1
- package/bundle/wcs-switch.js +1 -1
- package/bundle/wcs-tab.js +1 -1
- package/bundle/wcs-tabs.js +1 -1
- package/bundle/wcs-textarea.js +1 -1
- package/bundle/wcs-tooltip.js +2 -2
- package/composite-elements/{p-af24fb0d.js → p-00dd13c3.js} +3 -3
- package/composite-elements/p-00dd13c3.js.map +1 -0
- package/composite-elements/p-6b91c7bd.js +2 -0
- package/composite-elements/p-6b91c7bd.js.map +1 -0
- package/{bundle/p-30d83d3d.js → composite-elements/p-7feba658.js} +2 -2
- package/composite-elements/p-7feba658.js.map +1 -0
- package/composite-elements/{p-b83afff9.js → p-87e97a2e.js} +2 -2
- package/composite-elements/{p-b92e818b.js → p-a70a3379.js} +2 -2
- package/composite-elements/{p-55668982.js → p-c028b8e6.js} +2 -2
- package/composite-elements/{p-2a51c239.js → p-c6adb221.js} +2 -2
- package/composite-elements/{p-04663560.js → p-e4e3ed2c.js} +2 -2
- package/composite-elements/{p-51517fda.js → p-ec3ce4d4.js} +2 -2
- package/composite-elements/wcs-alert-drawer.js +1 -1
- package/composite-elements/wcs-alert.js +1 -1
- package/composite-elements/wcs-breadcrumb.js +1 -1
- package/composite-elements/wcs-button.js +1 -1
- package/composite-elements/wcs-card-content.js +1 -1
- package/composite-elements/wcs-card-content.js.map +1 -1
- package/composite-elements/wcs-card.js +1 -1
- package/composite-elements/wcs-card.js.map +1 -1
- package/composite-elements/wcs-counter.js +1 -1
- package/composite-elements/wcs-dropdown.js +1 -1
- package/composite-elements/wcs-dropdown.js.map +1 -1
- package/composite-elements/wcs-editable-field.js +1 -1
- package/composite-elements/wcs-editable-field.js.map +1 -1
- package/composite-elements/wcs-galactic-menu.js +1 -1
- package/composite-elements/wcs-grid-column.js +1 -1
- package/composite-elements/wcs-grid-column.js.map +1 -1
- package/composite-elements/wcs-grid-custom-cell.js +1 -1
- package/composite-elements/wcs-grid-custom-cell.js.map +1 -1
- package/composite-elements/wcs-grid-pagination.js +1 -1
- package/composite-elements/wcs-grid.js +1 -1
- package/composite-elements/wcs-grid.js.map +1 -1
- package/composite-elements/wcs-header.js +1 -1
- package/composite-elements/wcs-hint.js +1 -1
- package/composite-elements/wcs-horizontal-stepper.js +1 -1
- package/composite-elements/wcs-icon.js +1 -1
- package/composite-elements/wcs-input.js +1 -1
- package/composite-elements/wcs-input.js.map +1 -1
- package/composite-elements/wcs-label.js +1 -1
- package/composite-elements/wcs-list-item-properties.js +1 -1
- package/composite-elements/wcs-list-item-property.js +1 -1
- package/composite-elements/wcs-list-item.js +1 -1
- package/composite-elements/wcs-mat-icon.js +1 -1
- package/composite-elements/wcs-modal.js +1 -1
- package/composite-elements/wcs-native-select.js +1 -1
- package/composite-elements/wcs-nav-item.js +1 -1
- package/composite-elements/wcs-nav.js +1 -1
- package/composite-elements/wcs-progress-bar.js +1 -1
- package/composite-elements/wcs-progress-radial.js +1 -1
- package/composite-elements/wcs-radio-group.js +1 -1
- package/composite-elements/wcs-radio.js +1 -1
- package/composite-elements/wcs-radio.js.map +1 -1
- package/composite-elements/wcs-select-option.js +1 -1
- package/composite-elements/wcs-select.js +1 -1
- package/composite-elements/wcs-skeleton-circle.js +1 -1
- package/composite-elements/wcs-skeleton-rectangle.js +1 -1
- package/composite-elements/wcs-skeleton-text.js +1 -1
- package/composite-elements/wcs-spinner.js +1 -1
- package/composite-elements/wcs-switch.js +1 -1
- package/composite-elements/wcs-tab.js +1 -1
- package/composite-elements/wcs-tabs.js +1 -1
- package/composite-elements/wcs-textarea.js +1 -1
- package/composite-elements/wcs-tooltip.js +1 -1
- package/dist/cjs/{grid-pagination-4505d7b6.js → grid-pagination-ded127cc.js} +2 -2
- package/dist/cjs/grid-pagination-ded127cc.js.map +1 -0
- package/dist/cjs/{isEqual-8a0a6936.js → isEqual-be8e5a57.js} +2 -2
- package/dist/cjs/{isEqual-8a0a6936.js.map → isEqual-be8e5a57.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/wcs-button_2.cjs.entry.js +1 -1
- package/dist/cjs/wcs-card-content.cjs.entry.js +1 -1
- package/dist/cjs/wcs-card-content.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-card.cjs.entry.js +1 -1
- package/dist/cjs/wcs-card.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/wcs-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-editable-field.cjs.entry.js +34 -10
- package/dist/cjs/wcs-editable-field.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-error_3.cjs.entry.js +2 -2
- package/dist/cjs/wcs-error_3.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-grid-column.cjs.entry.js +1 -1
- package/dist/cjs/wcs-grid-custom-cell.cjs.entry.js +1 -1
- package/dist/cjs/wcs-grid-pagination.cjs.entry.js +1 -1
- package/dist/cjs/wcs-grid.cjs.entry.js +6 -6
- 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 +1 -6
- package/dist/cjs/wcs-input.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 +1 -1
- package/dist/cjs/wcs-modal.cjs.entry.js +1 -1
- package/dist/cjs/wcs-native-select.cjs.entry.js +1 -1
- package/dist/cjs/wcs-nav-item.cjs.entry.js +1 -1
- package/dist/cjs/wcs-nav.cjs.entry.js +1 -1
- package/dist/cjs/wcs-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/wcs-progress-radial.cjs.entry.js +2 -2
- package/dist/cjs/wcs-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/wcs-radio.cjs.entry.js +24 -20
- package/dist/cjs/wcs-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-select_2.cjs.entry.js +19 -9
- 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 +1 -1
- package/dist/cjs/wcs-tab.cjs.entry.js +1 -1
- package/dist/cjs/wcs-tabs.cjs.entry.js +1 -1
- package/dist/cjs/wcs-textarea.cjs.entry.js +1 -1
- package/dist/cjs/wcs-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/wcs.cjs.js +1 -1
- package/dist/collection/components/card/card.js +11 -4
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/card-content/card-content.js +8 -3
- package/dist/collection/components/card-content/card-content.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.css +8 -0
- package/dist/collection/components/dropdown/dropdown.e2e.playwright.js +53 -0
- package/dist/collection/components/dropdown/dropdown.e2e.playwright.js.map +1 -1
- package/dist/collection/components/editable-field/editable-field.e2e.playwright.js +214 -0
- package/dist/collection/components/editable-field/editable-field.e2e.playwright.js.map +1 -1
- package/dist/collection/components/editable-field/editable-field.js +34 -10
- package/dist/collection/components/editable-field/editable-field.js.map +1 -1
- package/dist/collection/components/grid/grid-radio.css +8 -0
- package/dist/collection/components/grid/grid.e2e.playwright.js +55 -0
- package/dist/collection/components/grid/grid.e2e.playwright.js.map +1 -1
- package/dist/collection/components/grid/grid.js +3 -3
- package/dist/collection/components/grid-column/grid-column.js +1 -1
- package/dist/collection/components/grid-custom-cell/grid-custom-cell.js +1 -1
- package/dist/collection/components/grid-pagination/grid-pagination.js +4 -1
- package/dist/collection/components/grid-pagination/grid-pagination.js.map +1 -1
- package/dist/collection/components/header/header.js +1 -1
- package/dist/collection/components/hint/hint.js +1 -1
- package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/input/input.js +2 -7
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/label/label.css +12 -9
- package/dist/collection/components/label/label.e2e.playwright.js +104 -0
- package/dist/collection/components/label/label.e2e.playwright.js.map +1 -0
- package/dist/collection/components/label/label.js +1 -1
- package/dist/collection/components/label/label.js.map +1 -1
- package/dist/collection/components/list-item/list-item.js +1 -1
- package/dist/collection/components/list-item-properties/list-item-properties.js +1 -1
- package/dist/collection/components/list-item-property/list-item-property.js +1 -1
- package/dist/collection/components/mat-icon/mat-icon.js +1 -1
- package/dist/collection/components/modal/modal.js +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/nav-item/nav-item.js +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +2 -2
- package/dist/collection/components/progress-radial/progress-radial.js +2 -2
- package/dist/collection/components/radio/radio.css +48 -37
- package/dist/collection/components/radio/radio.js +24 -20
- package/dist/collection/components/radio/radio.js.map +1 -1
- package/dist/collection/components/radio-group/radio-group.e2e.playwright.js +92 -7
- package/dist/collection/components/radio-group/radio-group.e2e.playwright.js.map +1 -1
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- package/dist/collection/components/select/select-interface.js.map +1 -1
- package/dist/collection/components/select/select.e2e.playwright.js +9 -9
- package/dist/collection/components/select/select.e2e.playwright.js.map +1 -1
- package/dist/collection/components/select/select.js +16 -6
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select-option/select-option.js +2 -2
- package/dist/collection/components/skeleton-circle/skeleton-circle.js +1 -1
- package/dist/collection/components/skeleton-rectangle/skeleton-rectangle.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +1 -1
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/tab/tab.js +1 -1
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/textarea/textarea.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +1 -1
- package/dist/collection/utils/playwright/test.js +6 -0
- package/dist/collection/utils/playwright/test.js.map +1 -1
- package/dist/esm/{com-nav-utils-ee7bf77c.js → com-nav-utils-27c1efdf.js} +2 -2
- package/dist/esm/{com-nav-utils-ee7bf77c.js.map → com-nav-utils-27c1efdf.js.map} +1 -1
- package/dist/esm/{grid-pagination-731726a6.js → grid-pagination-23102986.js} +3 -3
- package/dist/esm/grid-pagination-23102986.js.map +1 -0
- package/dist/esm/{helpers-ece6a2d3.js → helpers-89faa1b1.js} +2 -2
- package/dist/esm/{helpers-ece6a2d3.js.map → helpers-89faa1b1.js.map} +1 -1
- package/dist/esm/{isEqual-f2a07f4c.js → isEqual-89e74e17.js} +2 -2
- package/dist/esm/{isEqual-f2a07f4c.js.map → isEqual-89e74e17.js.map} +1 -1
- package/dist/esm/{keyboard-event-26b65ae5.js → keyboard-event-dd35bb6b.js} +2 -2
- package/dist/esm/{keyboard-event-26b65ae5.js.map → keyboard-event-dd35bb6b.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/wcs-accordion-panel.entry.js +1 -1
- package/dist/esm/wcs-alert-drawer.entry.js +1 -1
- package/dist/esm/wcs-breadcrumb.entry.js +1 -1
- package/dist/esm/wcs-button_2.entry.js +2 -2
- package/dist/esm/wcs-card-content.entry.js +1 -1
- package/dist/esm/wcs-card-content.entry.js.map +1 -1
- package/dist/esm/wcs-card.entry.js +1 -1
- package/dist/esm/wcs-card.entry.js.map +1 -1
- package/dist/esm/wcs-checkbox.entry.js +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 +1 -1
- package/dist/esm/wcs-dropdown-item.entry.js +1 -1
- package/dist/esm/wcs-dropdown.entry.js +3 -3
- package/dist/esm/wcs-dropdown.entry.js.map +1 -1
- package/dist/esm/wcs-editable-field.entry.js +35 -11
- package/dist/esm/wcs-editable-field.entry.js.map +1 -1
- package/dist/esm/wcs-error_3.entry.js +3 -3
- 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-column.entry.js +2 -2
- 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 +8 -8
- package/dist/esm/wcs-grid.entry.js.map +1 -1
- package/dist/esm/wcs-header.entry.js +2 -2
- 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 +2 -2
- package/dist/esm/wcs-input.entry.js +2 -7
- package/dist/esm/wcs-input.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-modal.entry.js +2 -2
- package/dist/esm/wcs-native-select.entry.js +1 -1
- package/dist/esm/wcs-nav-item.entry.js +2 -2
- package/dist/esm/wcs-nav.entry.js +2 -2
- package/dist/esm/wcs-progress-bar.entry.js +3 -3
- package/dist/esm/wcs-progress-radial.entry.js +3 -3
- package/dist/esm/wcs-radio-group.entry.js +2 -2
- package/dist/esm/wcs-radio.entry.js +25 -21
- package/dist/esm/wcs-radio.entry.js.map +1 -1
- package/dist/esm/wcs-select_2.entry.js +21 -11
- 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 +2 -2
- package/dist/esm/wcs-tab.entry.js +1 -1
- package/dist/esm/wcs-tabs.entry.js +2 -2
- package/dist/esm/wcs-textarea.entry.js +2 -2
- package/dist/esm/wcs-tooltip.entry.js +2 -2
- package/dist/esm/wcs.js +1 -1
- package/dist/types/components/card/card.d.ts +10 -3
- package/dist/types/components/card-content/card-content.d.ts +7 -2
- package/dist/types/components/editable-field/editable-field.d.ts +3 -0
- package/dist/types/components/grid-pagination/grid-pagination.d.ts +3 -0
- package/dist/types/components/label/label.e2e.playwright.d.ts +1 -0
- package/dist/types/components/radio/radio.d.ts +4 -5
- package/dist/types/components/select/select-interface.d.ts +4 -0
- package/dist/types/components.d.ts +52 -16
- package/dist/wcs/{p-1ba616c2.entry.js → p-03838b42.entry.js} +2 -2
- package/dist/wcs/{p-b0a6eec6.entry.js → p-0cbf08fb.entry.js} +2 -2
- package/dist/wcs/{p-cad10435.entry.js → p-0d233c6a.entry.js} +2 -2
- package/dist/wcs/{p-db7ba599.entry.js → p-14dfa087.entry.js} +3 -3
- package/dist/wcs/p-1c356201.entry.js +2 -0
- package/dist/wcs/p-1c356201.entry.js.map +1 -0
- package/dist/wcs/{p-b28b2fba.entry.js → p-218b5f3d.entry.js} +2 -2
- package/dist/wcs/{p-aadf37e7.entry.js → p-25d7b2f8.entry.js} +2 -2
- package/dist/wcs/{p-850fa9c9.entry.js → p-3e57c746.entry.js} +2 -2
- package/dist/wcs/{p-52d77e1f.js → p-5314a64d.js} +2 -2
- package/dist/wcs/{p-27b438c0.entry.js → p-53bc2cae.entry.js} +2 -2
- package/dist/wcs/p-5443c9af.entry.js +2 -0
- package/dist/wcs/p-5443c9af.entry.js.map +1 -0
- package/dist/wcs/{p-ad286030.entry.js → p-56d9554a.entry.js} +2 -2
- package/dist/wcs/p-59f96b21.entry.js +2 -0
- package/dist/wcs/{p-ff826ebe.js → p-5cea30cb.js} +1 -1
- package/dist/wcs/{p-ff826ebe.js.map → p-5cea30cb.js.map} +1 -1
- package/dist/wcs/{p-2329af04.entry.js → p-63a8e5cc.entry.js} +2 -2
- package/dist/wcs/{p-fbd68522.entry.js → p-6d8f0040.entry.js} +2 -2
- package/dist/wcs/p-6e7db56e.entry.js +2 -0
- package/dist/wcs/p-6e7db56e.entry.js.map +1 -0
- package/dist/wcs/{p-c84ae00d.entry.js → p-6f937b20.entry.js} +2 -2
- package/dist/wcs/p-7af9a2f3.js +2 -0
- package/dist/wcs/p-7b60d4c7.js +2 -0
- package/dist/wcs/p-7b60d4c7.js.map +1 -0
- package/dist/wcs/{p-2221bf0c.entry.js → p-82838611.entry.js} +3 -3
- package/dist/wcs/p-82838611.entry.js.map +1 -0
- package/dist/wcs/{p-bc009574.entry.js → p-8f95bbf3.entry.js} +2 -2
- package/dist/wcs/{p-9fd3366c.entry.js → p-912c2c9b.entry.js} +2 -2
- package/dist/wcs/p-9197e9b5.entry.js +2 -0
- package/dist/wcs/p-9197e9b5.entry.js.map +1 -0
- package/dist/wcs/{p-1e7ea63c.entry.js → p-9388283a.entry.js} +2 -2
- package/dist/wcs/{p-18fa39f4.entry.js → p-9c6db857.entry.js} +2 -2
- package/dist/wcs/{p-637ec45a.entry.js → p-9d4c8f84.entry.js} +2 -2
- package/dist/wcs/p-9d4c8f84.entry.js.map +1 -0
- package/dist/wcs/{p-dfb52a1c.entry.js → p-9e091c53.entry.js} +2 -2
- package/dist/wcs/{p-450942b1.entry.js → p-a60ba874.entry.js} +3 -3
- package/dist/wcs/{p-c6f8c45c.entry.js → p-a6d64e5b.entry.js} +2 -2
- package/dist/wcs/{p-9c73744c.entry.js → p-ae299c3f.entry.js} +2 -2
- package/dist/wcs/{p-a0f6ef30.entry.js → p-b04471f5.entry.js} +2 -2
- package/dist/wcs/p-b04471f5.entry.js.map +1 -0
- package/dist/wcs/{p-4ae08567.entry.js → p-b3b31d43.entry.js} +2 -2
- package/dist/wcs/{p-abd8d5a0.entry.js → p-b42f441f.entry.js} +2 -2
- package/dist/wcs/{p-5202b323.entry.js → p-b9368690.entry.js} +2 -2
- package/dist/wcs/{p-e56b9ce2.entry.js → p-beeec782.entry.js} +2 -2
- package/dist/wcs/{p-c261eaf9.entry.js → p-c169d496.entry.js} +2 -2
- package/dist/wcs/p-c3b733ff.entry.js +2 -0
- package/dist/wcs/{p-9b76b8e6.entry.js → p-c42a6c1c.entry.js} +2 -2
- package/dist/wcs/p-c42a6c1c.entry.js.map +1 -0
- package/dist/wcs/p-c6808cab.entry.js +2 -0
- package/dist/wcs/{p-ed3b0709.entry.js → p-cb9147b8.entry.js} +2 -2
- package/dist/wcs/{p-f2f7595e.entry.js → p-cceee683.entry.js} +2 -2
- package/dist/wcs/{p-f2f7595e.entry.js.map → p-cceee683.entry.js.map} +1 -1
- package/dist/wcs/p-d3afc02f.entry.js +2 -0
- package/dist/wcs/{p-5e8fff73.entry.js → p-d89ad962.entry.js} +2 -2
- package/dist/wcs/{p-4e2d6227.entry.js → p-d8c4dbc3.entry.js} +2 -2
- package/dist/wcs/p-dbf82cb9.js +2 -0
- package/dist/wcs/{p-dff8641e.entry.js → p-e35b138e.entry.js} +2 -2
- package/dist/wcs/{p-fdeae83e.entry.js → p-f2c49d83.entry.js} +2 -2
- package/dist/wcs/{p-cbda74f6.entry.js → p-f411974e.entry.js} +2 -2
- package/dist/wcs/{p-0326f834.entry.js → p-f974210c.entry.js} +2 -2
- package/dist/wcs/{p-352e1f99.entry.js → p-ff48a8b2.entry.js} +2 -2
- package/dist/wcs/wcs.esm.js +1 -1
- package/dist/wcs/wcs.esm.js.map +1 -1
- package/package.json +2 -2
- package/bundle/p-30d83d3d.js.map +0 -1
- package/bundle/p-763371a0.js.map +0 -1
- package/bundle/p-97e70e10.js +0 -2
- package/bundle/p-fc9ba34d.js +0 -2
- package/bundle/p-fc9ba34d.js.map +0 -1
- package/composite-elements/p-0c306f8c.js +0 -2
- package/composite-elements/p-0c306f8c.js.map +0 -1
- package/composite-elements/p-af24fb0d.js.map +0 -1
- package/composite-elements/p-bc4c736d.js +0 -2
- package/composite-elements/p-bc4c736d.js.map +0 -1
- package/dist/cjs/grid-pagination-4505d7b6.js.map +0 -1
- package/dist/esm/grid-pagination-731726a6.js.map +0 -1
- package/dist/wcs/p-0017d766.js +0 -2
- package/dist/wcs/p-0b8157e7.entry.js +0 -2
- package/dist/wcs/p-2221bf0c.entry.js.map +0 -1
- package/dist/wcs/p-3823f54e.entry.js +0 -2
- package/dist/wcs/p-580b3142.entry.js +0 -2
- package/dist/wcs/p-5da0534f.entry.js +0 -2
- package/dist/wcs/p-5da0534f.entry.js.map +0 -1
- package/dist/wcs/p-637ec45a.entry.js.map +0 -1
- package/dist/wcs/p-86ec9ead.entry.js +0 -2
- package/dist/wcs/p-86ec9ead.entry.js.map +0 -1
- package/dist/wcs/p-89b8c724.js +0 -2
- package/dist/wcs/p-98a8b806.entry.js +0 -2
- package/dist/wcs/p-98a8b806.entry.js.map +0 -1
- package/dist/wcs/p-9b76b8e6.entry.js.map +0 -1
- package/dist/wcs/p-a0f6ef30.entry.js.map +0 -1
- package/dist/wcs/p-ad5192cd.entry.js +0 -2
- package/dist/wcs/p-c5bad0b8.js +0 -2
- package/dist/wcs/p-c5bad0b8.js.map +0 -1
- package/dist/wcs/p-fe303f58.entry.js +0 -2
- package/dist/wcs/p-fe303f58.entry.js.map +0 -1
- /package/bundle/{p-97e70e10.js.map → p-475be4d2.js.map} +0 -0
- /package/bundle/{p-010cf905.js.map → p-5ef2bc63.js.map} +0 -0
- /package/bundle/{p-44a3b0b9.js.map → p-7a06295b.js.map} +0 -0
- /package/bundle/{p-2751ddc1.js.map → p-8b186fcf.js.map} +0 -0
- /package/bundle/{p-d23d7658.js.map → p-a0268a31.js.map} +0 -0
- /package/bundle/{p-c8b73e93.js.map → p-bce8c93f.js.map} +0 -0
- /package/bundle/{p-2e9b9605.js.map → p-bf326ae8.js.map} +0 -0
- /package/bundle/{p-98bd8a96.js.map → p-d018450c.js.map} +0 -0
- /package/bundle/{p-f0dda0b8.js.map → p-d3fe6951.js.map} +0 -0
- /package/bundle/{p-9c2aa87a.js.map → p-ee6ff5f8.js.map} +0 -0
- /package/bundle/{p-cdc6f6c2.js.map → p-ff261e50.js.map} +0 -0
- /package/composite-elements/{p-b83afff9.js.map → p-87e97a2e.js.map} +0 -0
- /package/composite-elements/{p-b92e818b.js.map → p-a70a3379.js.map} +0 -0
- /package/composite-elements/{p-55668982.js.map → p-c028b8e6.js.map} +0 -0
- /package/composite-elements/{p-2a51c239.js.map → p-c6adb221.js.map} +0 -0
- /package/composite-elements/{p-04663560.js.map → p-e4e3ed2c.js.map} +0 -0
- /package/composite-elements/{p-51517fda.js.map → p-ec3ce4d4.js.map} +0 -0
- /package/dist/wcs/{p-1ba616c2.entry.js.map → p-03838b42.entry.js.map} +0 -0
- /package/dist/wcs/{p-b0a6eec6.entry.js.map → p-0cbf08fb.entry.js.map} +0 -0
- /package/dist/wcs/{p-cad10435.entry.js.map → p-0d233c6a.entry.js.map} +0 -0
- /package/dist/wcs/{p-db7ba599.entry.js.map → p-14dfa087.entry.js.map} +0 -0
- /package/dist/wcs/{p-b28b2fba.entry.js.map → p-218b5f3d.entry.js.map} +0 -0
- /package/dist/wcs/{p-aadf37e7.entry.js.map → p-25d7b2f8.entry.js.map} +0 -0
- /package/dist/wcs/{p-850fa9c9.entry.js.map → p-3e57c746.entry.js.map} +0 -0
- /package/dist/wcs/{p-52d77e1f.js.map → p-5314a64d.js.map} +0 -0
- /package/dist/wcs/{p-27b438c0.entry.js.map → p-53bc2cae.entry.js.map} +0 -0
- /package/dist/wcs/{p-ad286030.entry.js.map → p-56d9554a.entry.js.map} +0 -0
- /package/dist/wcs/{p-3823f54e.entry.js.map → p-59f96b21.entry.js.map} +0 -0
- /package/dist/wcs/{p-2329af04.entry.js.map → p-63a8e5cc.entry.js.map} +0 -0
- /package/dist/wcs/{p-fbd68522.entry.js.map → p-6d8f0040.entry.js.map} +0 -0
- /package/dist/wcs/{p-c84ae00d.entry.js.map → p-6f937b20.entry.js.map} +0 -0
- /package/dist/wcs/{p-89b8c724.js.map → p-7af9a2f3.js.map} +0 -0
- /package/dist/wcs/{p-bc009574.entry.js.map → p-8f95bbf3.entry.js.map} +0 -0
- /package/dist/wcs/{p-9fd3366c.entry.js.map → p-912c2c9b.entry.js.map} +0 -0
- /package/dist/wcs/{p-1e7ea63c.entry.js.map → p-9388283a.entry.js.map} +0 -0
- /package/dist/wcs/{p-18fa39f4.entry.js.map → p-9c6db857.entry.js.map} +0 -0
- /package/dist/wcs/{p-dfb52a1c.entry.js.map → p-9e091c53.entry.js.map} +0 -0
- /package/dist/wcs/{p-450942b1.entry.js.map → p-a60ba874.entry.js.map} +0 -0
- /package/dist/wcs/{p-c6f8c45c.entry.js.map → p-a6d64e5b.entry.js.map} +0 -0
- /package/dist/wcs/{p-9c73744c.entry.js.map → p-ae299c3f.entry.js.map} +0 -0
- /package/dist/wcs/{p-4ae08567.entry.js.map → p-b3b31d43.entry.js.map} +0 -0
- /package/dist/wcs/{p-abd8d5a0.entry.js.map → p-b42f441f.entry.js.map} +0 -0
- /package/dist/wcs/{p-5202b323.entry.js.map → p-b9368690.entry.js.map} +0 -0
- /package/dist/wcs/{p-e56b9ce2.entry.js.map → p-beeec782.entry.js.map} +0 -0
- /package/dist/wcs/{p-c261eaf9.entry.js.map → p-c169d496.entry.js.map} +0 -0
- /package/dist/wcs/{p-0b8157e7.entry.js.map → p-c3b733ff.entry.js.map} +0 -0
- /package/dist/wcs/{p-580b3142.entry.js.map → p-c6808cab.entry.js.map} +0 -0
- /package/dist/wcs/{p-ed3b0709.entry.js.map → p-cb9147b8.entry.js.map} +0 -0
- /package/dist/wcs/{p-ad5192cd.entry.js.map → p-d3afc02f.entry.js.map} +0 -0
- /package/dist/wcs/{p-5e8fff73.entry.js.map → p-d89ad962.entry.js.map} +0 -0
- /package/dist/wcs/{p-4e2d6227.entry.js.map → p-d8c4dbc3.entry.js.map} +0 -0
- /package/dist/wcs/{p-0017d766.js.map → p-dbf82cb9.js.map} +0 -0
- /package/dist/wcs/{p-dff8641e.entry.js.map → p-e35b138e.entry.js.map} +0 -0
- /package/dist/wcs/{p-fdeae83e.entry.js.map → p-f2c49d83.entry.js.map} +0 -0
- /package/dist/wcs/{p-cbda74f6.entry.js.map → p-f411974e.entry.js.map} +0 -0
- /package/dist/wcs/{p-0326f834.entry.js.map → p-f974210c.entry.js.map} +0 -0
- /package/dist/wcs/{p-352e1f99.entry.js.map → p-ff48a8b2.entry.js.map} +0 -0
|
@@ -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('Label component', () => {
|
|
5
|
+
test('Should wrap text correctly', async ({ page }) => {
|
|
6
|
+
// Given
|
|
7
|
+
await setWcsContent(page, `
|
|
8
|
+
<wcs-label>Label loooooooooooooooooooooooooooooooooong text</wcs-label>
|
|
9
|
+
`);
|
|
10
|
+
page.setViewportSize({ width: 300, height: 300 });
|
|
11
|
+
const label = page.locator('label');
|
|
12
|
+
// Then
|
|
13
|
+
const box = await label.boundingBox();
|
|
14
|
+
expect(box.height).toBeGreaterThan(0);
|
|
15
|
+
// Assuming that the line height is around 20px, if the text is wrapped, the height should be greater than 20px
|
|
16
|
+
expect(box.height).toBeGreaterThan(20);
|
|
17
|
+
});
|
|
18
|
+
test('Should keep same height with and without icon', async ({ page }) => {
|
|
19
|
+
// Given
|
|
20
|
+
await setWcsContent(page, `
|
|
21
|
+
<wcs-form-field id="form-field-with-icon">
|
|
22
|
+
<wcs-label>
|
|
23
|
+
Enter your name
|
|
24
|
+
<wcs-mat-icon id="icon-help" icon="help" family="filled" size="s"></wcs-mat-icon>
|
|
25
|
+
</wcs-label>
|
|
26
|
+
<wcs-input placeholder="John Doe"></wcs-input>
|
|
27
|
+
</wcs-form-field>
|
|
28
|
+
|
|
29
|
+
<wcs-form-field id="form-field-without-icon">
|
|
30
|
+
<wcs-label>Enter your name</wcs-label>
|
|
31
|
+
<wcs-input placeholder="John Doe"></wcs-input>
|
|
32
|
+
</wcs-form-field>
|
|
33
|
+
`);
|
|
34
|
+
const formFieldWithIcon = page.locator('#form-field-with-icon');
|
|
35
|
+
const formFieldWithoutIcon = page.locator('#form-field-without-icon');
|
|
36
|
+
// Then
|
|
37
|
+
const formFieldBoundingBoxWithIcon = await formFieldWithIcon.boundingBox();
|
|
38
|
+
const formFieldBoundingBoxWithoutIcon = await formFieldWithoutIcon.boundingBox();
|
|
39
|
+
expect(formFieldBoundingBoxWithIcon.height).toEqual(formFieldBoundingBoxWithoutIcon.height);
|
|
40
|
+
});
|
|
41
|
+
test('Should place required marker right after last word when label wraps', async ({ page }) => {
|
|
42
|
+
// Given
|
|
43
|
+
await setWcsContent(page, `
|
|
44
|
+
<wcs-form-field style="width: 180px">
|
|
45
|
+
<wcs-label>
|
|
46
|
+
This label is long enough to wrap on multiple lines and end with
|
|
47
|
+
<span id="last-word">word</span>
|
|
48
|
+
</wcs-label>
|
|
49
|
+
<wcs-input required></wcs-input>
|
|
50
|
+
</wcs-form-field>
|
|
51
|
+
`);
|
|
52
|
+
const lastWord = page.locator('#last-word');
|
|
53
|
+
const requiredMarker = page.locator('.required-marker');
|
|
54
|
+
// Then
|
|
55
|
+
await expect(requiredMarker).toBeVisible();
|
|
56
|
+
const lastWordBox = await lastWord.boundingBox();
|
|
57
|
+
const requiredMarkerBox = await requiredMarker.boundingBox();
|
|
58
|
+
const horizontalGap = requiredMarkerBox.x - (lastWordBox.x + lastWordBox.width);
|
|
59
|
+
expect(horizontalGap).toBeGreaterThanOrEqual(0);
|
|
60
|
+
expect(horizontalGap).toBeLessThanOrEqual(8 + 2); // assuming a gap of Xpx plus some tolerance
|
|
61
|
+
expect(Math.abs((lastWordBox.y + lastWordBox.height) - (requiredMarkerBox.y + requiredMarkerBox.height))).toBeLessThanOrEqual(2);
|
|
62
|
+
});
|
|
63
|
+
test('Should keep same height with and without required marker', async ({ page }) => {
|
|
64
|
+
// Given
|
|
65
|
+
await setWcsContent(page, `
|
|
66
|
+
<wcs-form-field id="form-field-with-required">
|
|
67
|
+
<wcs-label>Enter your name</wcs-label>
|
|
68
|
+
<wcs-input required placeholder="John Doe"></wcs-input>
|
|
69
|
+
</wcs-form-field>
|
|
70
|
+
|
|
71
|
+
<wcs-form-field id="form-field-without-required">
|
|
72
|
+
<wcs-label>Enter your name</wcs-label>
|
|
73
|
+
<wcs-input placeholder="John Doe"></wcs-input>
|
|
74
|
+
</wcs-form-field>
|
|
75
|
+
`);
|
|
76
|
+
const formFieldWithRequired = page.locator('#form-field-with-required');
|
|
77
|
+
const formFieldWithoutRequired = page.locator('#form-field-without-required');
|
|
78
|
+
// Then
|
|
79
|
+
const formFieldBoundingBoxWithRequired = await formFieldWithRequired.boundingBox();
|
|
80
|
+
const formFieldBoundingBoxWithoutRequired = await formFieldWithoutRequired.boundingBox();
|
|
81
|
+
expect(formFieldBoundingBoxWithRequired.height).toEqual(formFieldBoundingBoxWithoutRequired.height);
|
|
82
|
+
});
|
|
83
|
+
test('Should well update of the required marker when property required is toggled', async ({ page }) => {
|
|
84
|
+
// Given
|
|
85
|
+
await setWcsContent(page, `
|
|
86
|
+
<wcs-form-field>
|
|
87
|
+
<wcs-label id="label">
|
|
88
|
+
This label is long enough to wrap on multiple lines and end with
|
|
89
|
+
<span id="last-word">word</span>
|
|
90
|
+
</wcs-label>
|
|
91
|
+
<wcs-input required></wcs-input>
|
|
92
|
+
</wcs-form-field>
|
|
93
|
+
`);
|
|
94
|
+
const wcsInput = page.locator('wcs-input');
|
|
95
|
+
const requiredMarker = page.locator('.required-marker');
|
|
96
|
+
// Then
|
|
97
|
+
await expect(requiredMarker).toBeVisible();
|
|
98
|
+
// When
|
|
99
|
+
await wcsInput.evaluate((el) => el.required = false);
|
|
100
|
+
// Then
|
|
101
|
+
await expect(requiredMarker).toBeHidden();
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
//# sourceMappingURL=label.e2e.playwright.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.e2e.playwright.js","sourceRoot":"","sources":["../../../src/components/label/label.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('Label component', () => {\n test('Should wrap text correctly', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-label>Label loooooooooooooooooooooooooooooooooong text</wcs-label>\n `);\n page.setViewportSize({ width: 300, height: 300 });\n\n const label = page.locator('label');\n\n // Then\n const box = await label.boundingBox();\n expect(box.height).toBeGreaterThan(0);\n // Assuming that the line height is around 20px, if the text is wrapped, the height should be greater than 20px\n expect(box.height).toBeGreaterThan(20);\n });\n\n test('Should keep same height with and without icon', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field id=\"form-field-with-icon\">\n <wcs-label>\n Enter your name\n <wcs-mat-icon id=\"icon-help\" icon=\"help\" family=\"filled\" size=\"s\"></wcs-mat-icon>\n </wcs-label>\n <wcs-input placeholder=\"John Doe\"></wcs-input>\n </wcs-form-field>\n\n <wcs-form-field id=\"form-field-without-icon\">\n <wcs-label>Enter your name</wcs-label>\n <wcs-input placeholder=\"John Doe\"></wcs-input>\n </wcs-form-field>\n `);\n const formFieldWithIcon = page.locator('#form-field-with-icon');\n const formFieldWithoutIcon = page.locator('#form-field-without-icon');\n\n // Then\n const formFieldBoundingBoxWithIcon = await formFieldWithIcon.boundingBox();\n const formFieldBoundingBoxWithoutIcon = await formFieldWithoutIcon.boundingBox();\n expect(formFieldBoundingBoxWithIcon.height).toEqual(formFieldBoundingBoxWithoutIcon.height);\n });\n\n test('Should place required marker right after last word when label wraps', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field style=\"width: 180px\">\n <wcs-label>\n This label is long enough to wrap on multiple lines and end with\n <span id=\"last-word\">word</span>\n </wcs-label>\n <wcs-input required></wcs-input>\n </wcs-form-field>\n `);\n\n const lastWord = page.locator('#last-word');\n const requiredMarker = page.locator('.required-marker');\n\n // Then\n await expect(requiredMarker).toBeVisible();\n\n const lastWordBox = await lastWord.boundingBox();\n const requiredMarkerBox = await requiredMarker.boundingBox();\n\n const horizontalGap = requiredMarkerBox.x - (lastWordBox.x + lastWordBox.width);\n expect(horizontalGap).toBeGreaterThanOrEqual(0);\n expect(horizontalGap).toBeLessThanOrEqual(8 + 2); // assuming a gap of Xpx plus some tolerance\n\n expect(Math.abs((lastWordBox.y + lastWordBox.height) - (requiredMarkerBox.y + requiredMarkerBox.height))).toBeLessThanOrEqual(2);\n });\n\n test('Should keep same height with and without required marker', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field id=\"form-field-with-required\">\n <wcs-label>Enter your name</wcs-label>\n <wcs-input required placeholder=\"John Doe\"></wcs-input>\n </wcs-form-field>\n\n <wcs-form-field id=\"form-field-without-required\">\n <wcs-label>Enter your name</wcs-label>\n <wcs-input placeholder=\"John Doe\"></wcs-input>\n </wcs-form-field>\n `);\n const formFieldWithRequired = page.locator('#form-field-with-required');\n const formFieldWithoutRequired = page.locator('#form-field-without-required');\n\n // Then\n const formFieldBoundingBoxWithRequired = await formFieldWithRequired.boundingBox();\n const formFieldBoundingBoxWithoutRequired = await formFieldWithoutRequired.boundingBox();\n expect(formFieldBoundingBoxWithRequired.height).toEqual(formFieldBoundingBoxWithoutRequired.height);\n });\n\n test('Should well update of the required marker when property required is toggled', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label id=\"label\">\n This label is long enough to wrap on multiple lines and end with\n <span id=\"last-word\">word</span>\n </wcs-label>\n <wcs-input required></wcs-input>\n </wcs-form-field>\n `);\n\n const wcsInput = page.locator('wcs-input');\n const requiredMarker = page.locator('.required-marker');\n\n // Then\n await expect(requiredMarker).toBeVisible();\n\n // When\n await wcsInput.evaluate((el: any) => el.required = false);\n\n // Then\n await expect(requiredMarker).toBeHidden();\n });\n});\n"]}
|
|
@@ -28,7 +28,7 @@ export class Label {
|
|
|
28
28
|
setOrRemoveAttribute(this.nativeLabel, attr, value);
|
|
29
29
|
}
|
|
30
30
|
render() {
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: 'bd18c1a58190a8a8ada92b47f3b77e58c89c3169', slot: "label" }, h("label", Object.assign({ key: '7fc3b63d96cf88eb8b31abd2b0055feebe02f696', ref: (el) => this.nativeLabel = el }, this.inheritedAttributes), h("slot", { key: 'b997f691e437b758f3ebe0f0899605430b10388a' }), this.required && h("span", { key: '529194ed383d724c570a9bca56ee23dc9b9f0fce', "aria-hidden": "true", class: "required-marker" }, "*"))));
|
|
32
32
|
}
|
|
33
33
|
static get is() { return "wcs-label"; }
|
|
34
34
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../../src/components/label/label.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAErG,MAAM,qBAAqB,GAAG,CAAC,OAAO,CAAC,CAAC;AAExC;;;;;;;;;;;;;;GAcG;AAMH,MAAM,OAAO,KAAK;;QAGN,wBAAmB,GAAyB,EAAE,CAAC;wBAMV,KAAK;;IAElD,iBAAiB;QACb,IAAI,CAAC,mBAAmB,mCACjB,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,GAC9B,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,CAAC,CACvD,CAAC;IACN,CAAC;IAGD,KAAK,CAAC,gBAAgB,CAAC,IAAuB,EAAE,KAAgC;QAC5E,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,MAAM;QACF,OAAO,CACH,EAAC,IAAI,qDAAC,IAAI,EAAC,OAAO;YACd,4EAAO,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,IAAM,IAAI,CAAC,mBAAmB;gBACnE,8DAAQ,
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../../src/components/label/label.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAErG,MAAM,qBAAqB,GAAG,CAAC,OAAO,CAAC,CAAC;AAExC;;;;;;;;;;;;;;GAcG;AAMH,MAAM,OAAO,KAAK;;QAGN,wBAAmB,GAAyB,EAAE,CAAC;wBAMV,KAAK;;IAElD,iBAAiB;QACb,IAAI,CAAC,mBAAmB,mCACjB,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,GAC9B,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,CAAC,CACvD,CAAC;IACN,CAAC;IAGD,KAAK,CAAC,gBAAgB,CAAC,IAAuB,EAAE,KAAgC;QAC5E,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,MAAM;QACF,OAAO,CACH,EAAC,IAAI,qDAAC,IAAI,EAAC,OAAO;YACd,4EAAO,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,IAAM,IAAI,CAAC,mBAAmB;gBACnE,8DAAQ;gBACP,IAAI,CAAC,QAAQ,IAAI,4EAAkB,MAAM,EAAC,KAAK,EAAC,iBAAiB,QAAS,CACvE,CACL,CACV,CAAC;IACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, ComponentInterface, h, Host, Method, Prop, Element } from '@stencil/core';\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\nimport { inheritAriaAttributes, inheritAttributes, setOrRemoveAttribute } from \"../../utils/helpers\";\n\nconst LABEL_INHERITED_ATTRS = ['title'];\n\n/**\n * The `wcs-label` should always be wrapped in a `wcs-form-field`.\n * It is used to caption a form control component.\n *\n * ## Accessibility guidelines 💡\n * - Use concise name for the label. If you want to describe more your form control, add a `wcs-hint`\n * - Use the required flag only as an indication to inform users that the form control is required\n * \n * @cssprop --wcs-label-color - Color of the text\n * @cssprop --wcs-label-font-weight - Font weight of the text\n * \n * @cssprop --wcs-label-required-marker-color - Color of the required marker\n * \n * @cssprop --wcs-label-gap - Gap between text and required marker\n */\n@Component({\n tag: 'wcs-label',\n styleUrl: 'label.scss',\n shadow: true,\n})\nexport class Label implements ComponentInterface, MutableAriaAttribute {\n @Element() private el!: HTMLElement;\n private nativeLabel?: HTMLLabelElement;\n private inheritedAttributes: { [k: string]: any } = {};\n \n /**\n * If `true`, marks the label with a red star.\n * Automatically added if the wrapped component inside the `wcs-form-field` already has the `required` attribute. \n */\n @Prop({ reflect: true }) required: boolean = false;\n\n componentWillLoad() {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, LABEL_INHERITED_ATTRS),\n };\n }\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.nativeLabel, attr, value);\n }\n\n render() {\n return (\n <Host slot=\"label\">\n <label ref={(el) => this.nativeLabel = el} {...this.inheritedAttributes}>\n <slot />\n {this.required && <span aria-hidden=\"true\" class=\"required-marker\">*</span>}\n </label>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -35,7 +35,7 @@ export class ListItem {
|
|
|
35
35
|
this.activated = false;
|
|
36
36
|
}
|
|
37
37
|
render() {
|
|
38
|
-
return (h(Host, { key: '
|
|
38
|
+
return (h(Host, { key: '1137c9770d8b50d24e8bb3187e586aca7a1ee3b9' }, h("slot", { key: '0c44655427e84534f1d6932ac3458d828cd31159', name: "icon" }), h("div", { key: '369bbe90f5d5c7a332732c3ba819b5959d09a25b', class: "content" }, h("div", { key: 'cd9c45f16a2455d1fe227d7d1e7e077d0327617d', class: "header" }, h("div", { key: 'c51172bf63657b2dde77836600ba3940ddde092b' }, h("slot", { key: '32452ee6fe06aa7d1652c5246c42afa3a2a66fbf', name: "title" }), h("slot", { key: '0bc5cf05d0fae6688ebb842bdeff3d88aa8682d8', name: "properties" })), h("slot", { key: '57ad3703881078ebd491166d874bd9593f6a405f', name: "actions" })), h("slot", { key: '70f35aa3d2034a8fb04c934d2659997a8b4c268b', name: "description" }))));
|
|
39
39
|
}
|
|
40
40
|
static get is() { return "wcs-list-item"; }
|
|
41
41
|
static get encapsulation() { return "shadow"; }
|
|
@@ -11,7 +11,7 @@ import { h, Host } from "@stencil/core";
|
|
|
11
11
|
*/
|
|
12
12
|
export class ListItemProperties {
|
|
13
13
|
render() {
|
|
14
|
-
return (h(Host, { key: '
|
|
14
|
+
return (h(Host, { key: '168f5a846e64177a50b350cb90bee3b15a7eb871', slot: "properties" }, h("slot", { key: 'f5f3a8caa0da9384d409340f51f41c11971a0904', name: "property" })));
|
|
15
15
|
}
|
|
16
16
|
static get is() { return "wcs-list-item-properties"; }
|
|
17
17
|
static get encapsulation() { return "shadow"; }
|
|
@@ -10,7 +10,7 @@ import { h, Host } from "@stencil/core";
|
|
|
10
10
|
*/
|
|
11
11
|
export class ListItemProperty {
|
|
12
12
|
render() {
|
|
13
|
-
return (h(Host, { key: '
|
|
13
|
+
return (h(Host, { key: '036366a768b3e90eb028cbdf18d006a595282420', slot: "property" }, h("slot", { key: 'f5ad277671ba35e014635562b97a279813e5bb0c' })));
|
|
14
14
|
}
|
|
15
15
|
static get is() { return "wcs-list-item-property"; }
|
|
16
16
|
static get encapsulation() { return "shadow"; }
|
|
@@ -25,7 +25,7 @@ export class MatIcon {
|
|
|
25
25
|
setOrRemoveAttribute(this.nativeIcon, attr, value);
|
|
26
26
|
}
|
|
27
27
|
render() {
|
|
28
|
-
return (h(Host, { key: '
|
|
28
|
+
return (h(Host, { key: 'dec260ca9c57892e17402365e179a17a0e085b18' }, h("i", Object.assign({ key: 'f9e8fb980b2a99bff272b08c629347f6c1b28d49', "aria-hidden": "true", class: ICON_FAMILY_CLASS_NAME[this.family] + ' size-' + this.size, ref: (el) => (this.nativeIcon = el) }, this.inheritedAttributes), this.icon)));
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "wcs-mat-icon"; }
|
|
31
31
|
static get encapsulation() { return "shadow"; }
|
|
@@ -169,7 +169,7 @@ export class Modal {
|
|
|
169
169
|
}
|
|
170
170
|
render() {
|
|
171
171
|
const modalTitleId = `wcs-modal-title-${this.modalId}`;
|
|
172
|
-
return (h(Host, { key: '
|
|
172
|
+
return (h(Host, { key: '2d08c87dcf9936d24dae178ee6a9cf84fb181faf' }, h("div", Object.assign({ key: '51c1cbdb0bfc0fbba675508fb7e9fafdc6adc8e4', class: "wcs-modal-container", "data-size": this.size, "aria-modal": "true", role: "dialog", "aria-labelledby": modalTitleId, ref: (el) => (this.nativeDivDialog = el) }, this.inheritedAttributes), h("div", { key: 'b62c495d23a0040eb160a93ccf858f7f0f60f83f', class: "wcs-modal-header" }, h("h1", { key: '8ea9cf9b9623305b79ed8f7cab3c2bf7e8ff242d', id: modalTitleId }, h("slot", { key: '972069f3d03047d4c56d8ea3c129f4296de4eb16', name: "header" })), this.showCloseButton && (h("wcs-button", { key: '49bf558d8092030497d29b399efb84c78f1c8748', shape: "round", mode: "clear", id: "wcs-modal-close-button", "aria-label": this.closeButtonAriaLabel, onClick: ($event) => this.onCloseButtonClick($event) }, h("wcs-mat-icon", { key: '1f2354939c40f22c2661a8a7383dfb9416b9c9da', icon: "close" })))), h("div", { key: '8f3fca88fa36f779c3d67f8694bee5a6386346e8', class: "wcs-modal-content" }, h("slot", { key: '4a65490518cbb450e825a9149e8516a3102f8ae3', onSlotchange: () => this.handleSlotContentChange() })), h("div", { key: 'be4cb11ff95787c58c6ac690a46522fcc04a6249', class: "wcs-modal-actions" }, h("slot", { key: '13a989d259e04ecdb1f89fcaafb7ab13898aee71', name: "actions" })))));
|
|
173
173
|
}
|
|
174
174
|
static get is() { return "wcs-modal"; }
|
|
175
175
|
static get originalStyleUrls() {
|
|
@@ -190,7 +190,7 @@ export class NativeSelect {
|
|
|
190
190
|
this._updateStyles();
|
|
191
191
|
}
|
|
192
192
|
render() {
|
|
193
|
-
return (h(Host, { key: '
|
|
193
|
+
return (h(Host, { key: '12431927c41eb386de134e92e5583fc0ff582b44', class: `${this.expanded ? 'expanded' : ''}`, "data-disabled": this.disabled, "data-size": this.size }, h("div", { key: 'b935ff599bc9829b0c771bf5aa13ae3605cddd98', class: "select-wrapper" }, h("slot", { key: 'c02ba432172f6b608f808a6365487b4ec7528a68' }), h("div", { key: '53841e3831eeb19165511caabe0f49e6b0a693d4', class: "arrow-container" }, h(SelectArrow, { key: '6b474db9957a98e8dada3ce4cda752a7299c5bf9', up: this.expanded })))));
|
|
194
194
|
}
|
|
195
195
|
static get is() { return "wcs-native-select"; }
|
|
196
196
|
static get encapsulation() { return "shadow"; }
|
|
@@ -21,7 +21,7 @@ export class Nav {
|
|
|
21
21
|
setOrRemoveAttribute(this.nativeNav, attr, value);
|
|
22
22
|
}
|
|
23
23
|
render() {
|
|
24
|
-
return (h("nav", Object.assign({ key: '
|
|
24
|
+
return (h("nav", Object.assign({ key: '73683911e6d8f624fb152a40e723d1b0920a6265', role: "navigation", class: "wcs-nav-container", ref: (el) => (this.nativeNav = el) }, this.inheritedAttributes), h("div", { key: 'e381eab2ef05be7bf28c3eff3e02034d7605015d', role: "list" }, h("slot", { key: '714a44e78e9d8495e1da0fd3f002e9cf769cdf95' }), h("slot", { key: '570a520fd2f16386c14a250e5786bd97ed3ba293', name: "bottom" }))));
|
|
25
25
|
}
|
|
26
26
|
static get is() { return "wcs-nav"; }
|
|
27
27
|
static get encapsulation() { return "shadow"; }
|
|
@@ -45,7 +45,7 @@ export class NavItem {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
render() {
|
|
48
|
-
return (h(Host, { key: '
|
|
48
|
+
return (h(Host, { key: '3d329f63e895cf09a57e1a0d8304cf833b0ba434', role: "listitem" }, h("slot", { key: 'bc4dadc9a3b665412880da1671aa518d7ecf290f' })));
|
|
49
49
|
}
|
|
50
50
|
static get is() { return "wcs-nav-item"; }
|
|
51
51
|
static get originalStyleUrls() {
|
|
@@ -54,8 +54,8 @@ export class ProgressBar {
|
|
|
54
54
|
const style = {
|
|
55
55
|
width: this.value + '%'
|
|
56
56
|
};
|
|
57
|
-
return (h("div", Object.assign({ key: '
|
|
58
|
-
h("span", { key: '
|
|
57
|
+
return (h("div", Object.assign({ key: 'f13a43d675ed082f811784a998e8bcd54e45a782', class: this.rootClasses(), role: "progressbar", "aria-valuemin": "0", "aria-valuemax": "100", "aria-valuenow": this.value, "aria-valuetext": this.value + '%', ref: (el) => (this.nativeProgress = el) }, this.inheritedAttributes), h("div", { key: '861383fa1ae516512a730cad52d1b9dc2ee55809', class: "progress-bar", style: style }, this.showLabel &&
|
|
58
|
+
h("span", { key: '0f0a9f0ce03562199f6a743f8dc653e276719b37', class: "progress-label" }, this.value, h("sup", { key: '8fa2735668eea7f46562e52748122e2e4fad9908' }, "%")))));
|
|
59
59
|
}
|
|
60
60
|
rootClasses() {
|
|
61
61
|
let classes = 'progress';
|
|
@@ -45,8 +45,8 @@ export class ProgressRadial {
|
|
|
45
45
|
}
|
|
46
46
|
render() {
|
|
47
47
|
const { backgroundImageSize, halfSize } = { backgroundImageSize: this.backgroundImageSize, halfSize: this.backgroundImageSize / 2 };
|
|
48
|
-
return (h("div", Object.assign({ key: '
|
|
49
|
-
h("div", { key: '
|
|
48
|
+
return (h("div", Object.assign({ key: 'cd493dcab22c92a8683a89e394f51abfbabd0781', class: "progress-circle", "data-component": "radial-progress", style: this.getSize(), role: "progressbar", "aria-valuemin": "0", "aria-valuemax": "100", "aria-valuenow": this.value, "aria-valuetext": this.value + '%', ref: (el) => (this.nativeProgress = el) }, this.inheritedAttributes), h("svg", { key: 'e2c4ff80a735815ebbaf051f94108ca5e9a246fa', "data-role": "figure", class: "circle-rail", viewBox: `0 0 ${backgroundImageSize} ${backgroundImageSize}` }, h("circle", { key: '375db58b06b0f2c75dbd390e547ccc81258fdf43', cx: halfSize, cy: halfSize, r: 54, "stroke-width": 12 })), h("svg", { key: '6cf1fe11b1ec49d8f7cc7b1d53819bad47b24e3d', class: "progress-circle-figure", "data-role": "figure", viewBox: `0 0 ${backgroundImageSize} ${backgroundImageSize}`, style: this.getSvgStyle() }, h("circle", { key: '657a8ba78283a98c568eb436d9bfafdebf354934', class: "progress-circle-value", cx: halfSize, cy: halfSize, r: "54", "stroke-width": "12" })), this.showLabel &&
|
|
49
|
+
h("div", { key: '7ac452d83ad4bf88fc1e3d2bf63506e30185d115', class: "progress-circle-label", "data-role": "label" }, h("span", { key: 'e8827e91faeb2b1a36737ba35250ca0e9d64b830' }, h("span", { key: 'de2c9502060d10e020acbdc939efdcae4abc74d8', "data-role": "labelvalue" }, this.value), h("sup", { key: '9c872051b94e6ca06eae6a967c75173a0d03ee9a' }, "%")))));
|
|
50
50
|
}
|
|
51
51
|
getSvgStyle() {
|
|
52
52
|
return {
|
|
@@ -53,6 +53,14 @@
|
|
|
53
53
|
--wcs-radio-option-padding-right: var(--wcs-semantic-spacing-large);
|
|
54
54
|
--wcs-radio-option-padding-bottom: var(--wcs-semantic-spacing-base);
|
|
55
55
|
--wcs-radio-option-padding-left: var(--wcs-semantic-spacing-large);
|
|
56
|
+
/*
|
|
57
|
+
* DO NOT REMOVE:
|
|
58
|
+
* The native input is absolutely positioned.
|
|
59
|
+
* This `position: relative` makes `wcs-radio` its containing block.
|
|
60
|
+
* Without it, the input can be laid out relative to another ancestor higher in the DOM,
|
|
61
|
+
* so when the browser focuses the native control it may scroll the window unexpectedly.
|
|
62
|
+
*/
|
|
63
|
+
position: relative;
|
|
56
64
|
}
|
|
57
65
|
|
|
58
66
|
:host([mode=radio]) input,
|
|
@@ -65,15 +73,15 @@
|
|
|
65
73
|
clip-path: inset(50%);
|
|
66
74
|
white-space: nowrap;
|
|
67
75
|
}
|
|
68
|
-
:host([mode=radio]) label,
|
|
69
|
-
:host([mode=horizontal]) label {
|
|
76
|
+
:host([mode=radio]) .label,
|
|
77
|
+
:host([mode=horizontal]) .label {
|
|
70
78
|
margin-bottom: 0;
|
|
71
79
|
color: var(--wcs-radio-text-color-default);
|
|
72
80
|
font-weight: var(--wcs-radio-text-font-weight-default) !important;
|
|
73
81
|
display: inline-block;
|
|
74
82
|
}
|
|
75
|
-
:host([mode=radio]) label:before,
|
|
76
|
-
:host([mode=horizontal]) label:before {
|
|
83
|
+
:host([mode=radio]) .label:before,
|
|
84
|
+
:host([mode=horizontal]) .label:before {
|
|
77
85
|
border-radius: var(--wcs-radio-checkmark-border-radius);
|
|
78
86
|
border: var(--wcs-radio-checkmark-border-width) solid var(--wcs-radio-checkmark-border-color-default);
|
|
79
87
|
position: relative;
|
|
@@ -83,87 +91,90 @@
|
|
|
83
91
|
content: "";
|
|
84
92
|
background-color: var(--wcs-radio-checkmark-background-color-default);
|
|
85
93
|
}
|
|
86
|
-
|
|
87
|
-
:host(
|
|
94
|
+
|
|
95
|
+
:host(:focus-visible) {
|
|
96
|
+
outline: none;
|
|
97
|
+
}
|
|
98
|
+
:host(:focus-visible) .label {
|
|
88
99
|
transition: none;
|
|
89
100
|
outline: var(--wcs-semantic-border-width-large) dashed var(--wcs-radio-outline-color-focus);
|
|
90
101
|
outline-offset: var(--wcs-semantic-spacing-small);
|
|
91
102
|
border-radius: var(--wcs-radio-border-radius);
|
|
92
103
|
}
|
|
93
104
|
|
|
94
|
-
:host([disabled]) label {
|
|
105
|
+
:host([disabled]) .label {
|
|
95
106
|
color: var(--wcs-radio-text-color-disabled);
|
|
96
107
|
cursor: not-allowed;
|
|
97
108
|
}
|
|
98
|
-
:host([disabled]) label:before {
|
|
109
|
+
:host([disabled]) .label:before {
|
|
99
110
|
border-color: var(--wcs-radio-checkmark-border-color-disabled);
|
|
100
111
|
}
|
|
101
112
|
|
|
102
|
-
:host(:not([disabled])) label {
|
|
113
|
+
:host(:not([disabled])) .label {
|
|
103
114
|
cursor: pointer;
|
|
104
115
|
}
|
|
105
116
|
|
|
106
|
-
:host([mode=radio].checked) label,
|
|
107
|
-
:host([mode=horizontal].checked) label {
|
|
117
|
+
:host([mode=radio].checked) .label,
|
|
118
|
+
:host([mode=horizontal].checked) .label {
|
|
108
119
|
color: var(--wcs-radio-text-color-selected);
|
|
109
120
|
font-weight: var(--wcs-radio-text-font-weight-selected) !important;
|
|
110
121
|
}
|
|
111
|
-
:host([mode=radio].checked) label:before,
|
|
112
|
-
:host([mode=horizontal].checked) label:before {
|
|
122
|
+
:host([mode=radio].checked) .label:before,
|
|
123
|
+
:host([mode=horizontal].checked) .label:before {
|
|
113
124
|
border-color: var(--wcs-radio-checkmark-border-color-selected);
|
|
114
125
|
background-color: var(--wcs-radio-checkmark-background-color-selected);
|
|
115
126
|
outline: solid var(--wcs-radio-checkmark-outline-width) var(--wcs-radio-checkmark-outline-color);
|
|
116
127
|
outline-offset: calc(-1 * var(--wcs-radio-checkmark-outline-distance-with-checkmark-circle));
|
|
117
128
|
}
|
|
118
129
|
|
|
119
|
-
:host([mode=radio][disabled].checked) label,
|
|
120
|
-
:host([mode=horizontal][disabled].checked) label {
|
|
130
|
+
:host([mode=radio][disabled].checked) .label,
|
|
131
|
+
:host([mode=horizontal][disabled].checked) .label {
|
|
121
132
|
color: var(--wcs-radio-text-color-disabled);
|
|
122
133
|
}
|
|
123
|
-
:host([mode=radio][disabled].checked) label:before,
|
|
124
|
-
:host([mode=horizontal][disabled].checked) label:before {
|
|
134
|
+
:host([mode=radio][disabled].checked) .label:before,
|
|
135
|
+
:host([mode=horizontal][disabled].checked) .label:before {
|
|
125
136
|
border-color: var(--wcs-radio-checkmark-border-color-disabled);
|
|
126
137
|
background-color: var(--wcs-radio-checkmark-background-color-selected-disabled);
|
|
127
138
|
}
|
|
128
139
|
|
|
129
|
-
:host([mode=radio]:hover:not([disabled])) label,
|
|
130
|
-
:host([mode=horizontal]:hover:not([disabled])) label {
|
|
140
|
+
:host([mode=radio]:hover:not([disabled])) .label,
|
|
141
|
+
:host([mode=horizontal]:hover:not([disabled])) .label {
|
|
131
142
|
color: var(--wcs-radio-text-color-hover);
|
|
132
143
|
}
|
|
133
|
-
:host([mode=radio]:hover:not([disabled])) label:before,
|
|
134
|
-
:host([mode=horizontal]:hover:not([disabled])) label:before {
|
|
144
|
+
:host([mode=radio]:hover:not([disabled])) .label:before,
|
|
145
|
+
:host([mode=horizontal]:hover:not([disabled])) .label:before {
|
|
135
146
|
border-color: var(--wcs-radio-checkmark-border-color-hover);
|
|
136
147
|
background-color: var(--wcs-radio-checkmark-background-color-selected-hover);
|
|
137
148
|
}
|
|
138
149
|
|
|
139
|
-
:host([mode=radio]:hover:not([disabled]):not(.checked)) label:before,
|
|
140
|
-
:host([mode=horizontal]:hover:not([disabled]):not(.checked)) label:before {
|
|
150
|
+
:host([mode=radio]:hover:not([disabled]):not(.checked)) .label:before,
|
|
151
|
+
:host([mode=horizontal]:hover:not([disabled]):not(.checked)) .label:before {
|
|
141
152
|
background-color: var(--wcs-radio-checkmark-background-color-default);
|
|
142
153
|
}
|
|
143
154
|
|
|
144
|
-
:host([mode=radio]) label {
|
|
155
|
+
:host([mode=radio]) .label {
|
|
145
156
|
border: none;
|
|
146
157
|
}
|
|
147
|
-
:host([mode=radio]) label:before {
|
|
158
|
+
:host([mode=radio]) .label:before {
|
|
148
159
|
transition: background-color var(--wcs-radio-transition-duration) ease-in-out;
|
|
149
160
|
margin-right: var(--wcs-radio-gap);
|
|
150
161
|
display: inline-block;
|
|
151
162
|
top: 3px;
|
|
152
163
|
box-sizing: border-box;
|
|
153
164
|
}
|
|
154
|
-
:host([mode=radio]) label:empty::before {
|
|
165
|
+
:host([mode=radio]) .label:empty::before {
|
|
155
166
|
margin-right: 0;
|
|
156
167
|
}
|
|
157
168
|
|
|
158
169
|
:host([mode=horizontal]) {
|
|
159
170
|
height: fit-content;
|
|
160
171
|
}
|
|
161
|
-
:host([mode=horizontal]) label:before {
|
|
172
|
+
:host([mode=horizontal]) .label:before {
|
|
162
173
|
transition: background-color var(--wcs-radio-transition-duration) ease-in-out;
|
|
163
174
|
margin: auto auto var(--wcs-radio-gap);
|
|
164
175
|
display: block;
|
|
165
176
|
}
|
|
166
|
-
:host([mode=horizontal]) label:empty::before {
|
|
177
|
+
:host([mode=horizontal]) .label:empty::before {
|
|
167
178
|
margin-bottom: 0;
|
|
168
179
|
}
|
|
169
180
|
|
|
@@ -177,7 +188,7 @@
|
|
|
177
188
|
box-sizing: border-box;
|
|
178
189
|
padding: 0;
|
|
179
190
|
}
|
|
180
|
-
:host([mode=option]) label {
|
|
191
|
+
:host([mode=option]) .label {
|
|
181
192
|
padding: var(--wcs-radio-option-padding-top) var(--wcs-radio-option-padding-right) var(--wcs-radio-option-padding-bottom) var(--wcs-radio-option-padding-left);
|
|
182
193
|
margin-bottom: 0;
|
|
183
194
|
color: var(--wcs-radio-option-text-color-default);
|
|
@@ -186,45 +197,45 @@
|
|
|
186
197
|
transition: background-color var(--wcs-radio-transition-duration) ease-in-out;
|
|
187
198
|
background-color: var(--wcs-radio-option-background-color-default);
|
|
188
199
|
}
|
|
189
|
-
:host([mode=option]) input:focus-visible + label {
|
|
200
|
+
:host([mode=option]) input:focus-visible + .label {
|
|
190
201
|
outline: var(--wcs-semantic-border-width-large) dashed var(--wcs-radio-outline-color-focus);
|
|
191
202
|
outline-offset: 0;
|
|
192
203
|
border-radius: var(--wcs-radio-border-radius);
|
|
193
204
|
}
|
|
194
205
|
|
|
195
|
-
:host([mode=option][disabled]) label {
|
|
206
|
+
:host([mode=option][disabled]) .label {
|
|
196
207
|
color: var(--wcs-radio-option-text-color-disabled);
|
|
197
208
|
background-color: var(--wcs-radio-option-background-color-disabled);
|
|
198
209
|
}
|
|
199
210
|
|
|
200
|
-
:host([mode=option][disabled].checked) label {
|
|
211
|
+
:host([mode=option][disabled].checked) .label {
|
|
201
212
|
color: var(--wcs-radio-option-text-color-disabled);
|
|
202
213
|
background-color: var(--wcs-radio-option-background-color-selected-disabled);
|
|
203
214
|
}
|
|
204
215
|
|
|
205
|
-
:host([mode=option].checked) label {
|
|
216
|
+
:host([mode=option].checked) .label {
|
|
206
217
|
font-weight: var(--wcs-radio-option-text-font-weight-selected) !important;
|
|
207
218
|
color: var(--wcs-radio-option-text-color-selected-default);
|
|
208
219
|
background-color: var(--wcs-radio-option-background-color-selected-default);
|
|
209
220
|
}
|
|
210
221
|
|
|
211
|
-
:host([mode=option]:hover.checked:not([disabled])) label {
|
|
222
|
+
:host([mode=option]:hover.checked:not([disabled])) .label {
|
|
212
223
|
color: var(--wcs-radio-option-text-color-selected-hover);
|
|
213
224
|
background-color: var(--wcs-radio-option-background-color-selected-hover);
|
|
214
225
|
}
|
|
215
226
|
|
|
216
|
-
:host([mode=option]:active.checked:not([disabled])) label {
|
|
227
|
+
:host([mode=option]:active.checked:not([disabled])) .label {
|
|
217
228
|
color: var(--wcs-radio-option-text-color-selected-press);
|
|
218
229
|
background-color: var(--wcs-radio-option-background-color-selected-press);
|
|
219
230
|
}
|
|
220
231
|
|
|
221
|
-
:host([mode=option]:hover:not(.checked):not([disabled])) label {
|
|
232
|
+
:host([mode=option]:hover:not(.checked):not([disabled])) .label {
|
|
222
233
|
color: var(--wcs-radio-option-text-color-hover);
|
|
223
234
|
background-color: var(--wcs-radio-option-background-color-hover);
|
|
224
235
|
outline: var(--wcs-radio-option-border-width) solid var(--wcs-radio-option-border-color-hover);
|
|
225
236
|
}
|
|
226
237
|
|
|
227
|
-
:host([mode=option]:active:not(.checked):not([disabled])) label {
|
|
238
|
+
:host([mode=option]:active:not(.checked):not([disabled])) .label {
|
|
228
239
|
color: var(--wcs-radio-option-text-color-press);
|
|
229
240
|
background-color: var(--wcs-radio-option-background-color-press);
|
|
230
241
|
outline: var(--wcs-radio-option-border-width) solid var(--wcs-radio-option-border-color-press);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
|
2
|
-
import {
|
|
3
|
-
const RADIO_INHERITED_ATTRS = ['title'];
|
|
2
|
+
import { setOrRemoveAttribute } from "../../utils/helpers";
|
|
4
3
|
/**
|
|
5
4
|
* The radio component should always be wrapped in a `wcs-radio-group`.
|
|
6
5
|
*
|
|
@@ -69,8 +68,18 @@ const RADIO_INHERITED_ATTRS = ['title'];
|
|
|
69
68
|
*/
|
|
70
69
|
export class Radio {
|
|
71
70
|
constructor() {
|
|
72
|
-
this.
|
|
73
|
-
|
|
71
|
+
this.handleClick = () => {
|
|
72
|
+
this.selectRadio();
|
|
73
|
+
};
|
|
74
|
+
this.handleKeyDown = (event) => {
|
|
75
|
+
if (this.disabled)
|
|
76
|
+
return;
|
|
77
|
+
if (event.key === ' ' || event.key === 'Enter') {
|
|
78
|
+
event.preventDefault();
|
|
79
|
+
event.stopPropagation();
|
|
80
|
+
this.selectRadio();
|
|
81
|
+
}
|
|
82
|
+
};
|
|
74
83
|
this.checked = false;
|
|
75
84
|
this.radioTabIndex = -1;
|
|
76
85
|
this.value = undefined;
|
|
@@ -94,7 +103,7 @@ export class Radio {
|
|
|
94
103
|
this.radioTabIndex = value;
|
|
95
104
|
}
|
|
96
105
|
async setAriaAttribute(attr, value) {
|
|
97
|
-
setOrRemoveAttribute(this.
|
|
106
|
+
setOrRemoveAttribute(this.el, attr, value);
|
|
98
107
|
}
|
|
99
108
|
onFocus(ev) {
|
|
100
109
|
this.wcsFocus.emit(ev);
|
|
@@ -110,18 +119,6 @@ export class Radio {
|
|
|
110
119
|
// If no value was given we use the text content instead.
|
|
111
120
|
this.value = this.el.innerText || '';
|
|
112
121
|
}
|
|
113
|
-
this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, RADIO_INHERITED_ATTRS));
|
|
114
|
-
}
|
|
115
|
-
onChange(_) {
|
|
116
|
-
if (this.disabled)
|
|
117
|
-
return;
|
|
118
|
-
// If the radio is unchecked, then the change represents its transition to the check state.
|
|
119
|
-
// Only emit the change event when going from unchecked to checked, like the native behavior.
|
|
120
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event
|
|
121
|
-
if (!this.checked) {
|
|
122
|
-
this.checked = true;
|
|
123
|
-
this.emitRadioChangeEvent();
|
|
124
|
-
}
|
|
125
122
|
}
|
|
126
123
|
emitRadioChangeEvent() {
|
|
127
124
|
this.wcsRadioClick.emit({
|
|
@@ -130,12 +127,20 @@ export class Radio {
|
|
|
130
127
|
value: this.value
|
|
131
128
|
});
|
|
132
129
|
}
|
|
130
|
+
selectRadio() {
|
|
131
|
+
if (this.disabled || this.checked) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
this.checked = true;
|
|
135
|
+
// Only emit the change event when going from unchecked to checked, like the native behavior.
|
|
136
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event
|
|
137
|
+
this.emitRadioChangeEvent();
|
|
138
|
+
}
|
|
133
139
|
render() {
|
|
134
|
-
return (h(Host, { key: '
|
|
140
|
+
return (h(Host, { key: '0720e7983a66998bef080116aec041f3309d70dd', slot: "option", role: "radio", "aria-checked": this.checked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', tabIndex: this.disabled ? -1 : this.radioTabIndex, class: this.checked ? 'checked' : '', onClick: this.handleClick.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this), onKeyDown: this.handleKeyDown.bind(this) }, h("span", { key: 'bb2fb56fa6c5354a54b4debba078b0c129534e74', class: "label" }, this.label)));
|
|
135
141
|
}
|
|
136
142
|
static get is() { return "wcs-radio"; }
|
|
137
143
|
static get encapsulation() { return "shadow"; }
|
|
138
|
-
static get delegatesFocus() { return true; }
|
|
139
144
|
static get originalStyleUrls() {
|
|
140
145
|
return {
|
|
141
146
|
"$": ["radio.scss"]
|
|
@@ -399,5 +404,4 @@ export class Radio {
|
|
|
399
404
|
}
|
|
400
405
|
static get elementRef() { return "el"; }
|
|
401
406
|
}
|
|
402
|
-
let radioButtonIds = 0;
|
|
403
407
|
//# sourceMappingURL=radio.js.map
|