wcs-core 7.2.2 → 7.4.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/README.md +11 -9
- 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/accessibility-5f681a74.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- 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 +1 -1
- package/dist/cjs/wcs-accordion-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-accordion.cjs.entry.js +2 -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-checkbox.cjs.entry.js +3 -2
- package/dist/cjs/wcs-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-chip.cjs.entry.js +102 -0
- package/dist/cjs/wcs-chip.cjs.entry.js.map +1 -0
- 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/cjs/wcs.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/accordion/accordion.e2e.playwright.js +183 -0
- package/dist/collection/components/accordion/accordion.e2e.playwright.js.map +1 -0
- package/dist/collection/components/accordion/accordion.js +2 -1
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/accordion-panel/accordion-panel.js +3 -3
- 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.css +3 -0
- 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 +21 -2
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/chip/chip-interface.js +2 -0
- package/dist/collection/components/chip/chip-interface.js.map +1 -0
- package/dist/collection/components/chip/chip.css +220 -0
- 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/chip/chip.js +341 -0
- package/dist/collection/components/chip/chip.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/accessibility.js +16 -0
- package/dist/collection/utils/accessibility.js.map +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/accessibility-069640cf.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- 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 +1 -1
- package/dist/esm/wcs-accordion-panel.entry.js.map +1 -1
- package/dist/esm/wcs-accordion.entry.js +2 -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-checkbox.entry.js +3 -2
- package/dist/esm/wcs-checkbox.entry.js.map +1 -1
- package/dist/esm/wcs-chip.entry.js +98 -0
- package/dist/esm/wcs-chip.entry.js.map +1 -0
- 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/esm/wcs.js +1 -1
- package/dist/types/components/accordion/accordion.e2e.playwright.d.ts +1 -0
- package/dist/types/components/accordion-panel/accordion-panel.d.ts +5 -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.d.ts +4 -0
- package/dist/types/components/checkbox/checkbox.e2e.playwright.d.ts +1 -0
- package/dist/types/components/chip/chip-interface.d.ts +4 -0
- package/dist/types/components/chip/chip.d.ts +132 -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 +354 -0
- package/dist/types/utils/accessibility.d.ts +7 -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-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-828b45b4.entry.js +2 -0
- package/dist/wcs/p-828b45b4.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-990698a7.entry.js +2 -0
- package/dist/wcs/p-990698a7.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-ed3b0709.entry.js +2 -0
- package/dist/wcs/p-ed3b0709.entry.js.map +1 -0
- package/dist/wcs/{p-6c6079ee.entry.js → p-f2eeb249.entry.js} +2 -2
- package/dist/wcs/{p-6c6079ee.entry.js.map → p-f2eeb249.entry.js.map} +1 -1
- 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-fb2751c2.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/dist/wcs/wcs.esm.js.map +1 -1
- package/package.json +18 -24
- package/dist/cjs/popper-8d6e7fca.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/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-02f31010.entry.js +0 -2
- package/dist/wcs/p-02f31010.entry.js.map +0 -1
- 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-4fb2d985.entry.js +0 -2
- package/dist/wcs/p-4fb2d985.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"com-nav.js","sourceRoot":"","sources":["../../../src/components/com-nav/com-nav.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Element,\n forceUpdate,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { comNavDidLoadWithResizeObserver, registerCloseHandlerForFocusOutEventOn } from \"./com-nav-utils\";\nimport { inheritAriaAttributes, inheritAttributes, isEscapeKey } from \"../../utils/helpers\";\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\nimport { ComNavSize } from \"./com-nav-size\";\n\n\nconst COM_NAV_INHERITED_ATTRS = ['title'];\n\nconst WCS_COM_NAV_SUBMENU_TAG_NAME = 'WCS-COM-NAV-SUBMENU';\n\n/**\n * *Part of communication design system*\n *\n * The com-nav component is a container for navigation links to external or internal pages of the website.\n *\n * @slot <no-name> - Default slot containing all the menu declarations\n * @slot app-name - (Optional) Extra slot for the application name\n * @slot actions - Slot for actions placed on the right part of the container\n * \n * @cssprop --wcs-com-nav-menu-bar-height - Height of the menu bar\n * @cssprop --wcs-com-nav-border-color - Border color of the bottom border of the com-nav\n * @cssprop --wcs-com-nav-border-width - Border width of the border below com-nav\n * @cssprop --wcs-com-nav-background-color - Background color of the com-nav;\n * @cssprop --wcs-com-nav-app-name-color - App name color\n * @cssprop --wcs-com-nav-app-name-font-weight - App name font-weight\n * @cssprop --wcs-com-nav-app-name-font-size - Font size of the App name text\n * @cssprop --wcs-com-nav-app-name-line-height - Line height of the App name text\n * @cssprop --wcs-com-nav-item-color - Color of the wcs-nav-item inside menu-bar\n * @cssprop --wcs-com-nav-item-font-weight - Font weight of the wcs-nav-item inside menu-bar\n * @cssprop --wcs-com-nav-focus-outline-color - Focus outline color of the wcs-nav-item inside menu-bar\n * @cssprop --wcs-com-nav-horizontal-padding - Horizontal padding of wcs-com-nav\n * @cssprop --wcs-com-nav-vertical-padding - Vertical padding of wcs-com-nav\n * @cssprop --wcs-com-nav-mobile-overlay-gap - Gap between each items section in mobile overlay\n * @cssprop --wcs-com-nav-mobile-overlay-padding - Padding inside mobile overlay\n * @cssprop --wcs-com-nav-mobile-menu-icon-border-color - Bar border color on the left of icon mobile menu\n * @cssprop --wcs-com-nav-mobile-menu-icon-gap- Gap between icon mobile menu and separator on the left\n * @cssprop --wcs-com-nav-mobile-menu-icon-margin-left - Margin left of icon mobile menu\n * @cssprop --wcs-com-nav-menu-bar-gap - Gap between each item inside menu-bar\n * @cssprop --wcs-com-nav-menu-bar-margin-left - Margin left between menu bar and the app-name section\n */\n@Component({\n tag: 'wcs-com-nav',\n styleUrl: 'com-nav.scss',\n shadow: true,\n})\nexport class ComNav implements ComponentInterface, MutableAriaAttribute {\n @Element() private el!: HTMLWcsComNavElement;\n private inheritedAttributes: { [k: string]: any } = {};\n\n /** Name of the application to be displayed in the menu bar */\n @Prop() appName: string;\n\n @State() private mobileMenuOpen: boolean = false;\n @State() public currentActiveSizing: ComNavSize;\n private resizeObserver: ResizeObserver;\n\n private mobileMenuIconClick() {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): Promise<void> | void {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, COM_NAV_INHERITED_ATTRS)\n };\n\n const slottedNavigableItems = this.el.querySelectorAll(':scope > wcs-com-nav-submenu:not([slot]), :scope > a:not([slot])');\n registerCloseHandlerForFocusOutEventOn<HTMLWcsComNavSubmenuElement>(slottedNavigableItems, WCS_COM_NAV_SUBMENU_TAG_NAME);\n }\n\n componentDidLoad(): void {\n if(!this.resizeObserver) {\n this.resizeObserver = comNavDidLoadWithResizeObserver(this);\n this.resizeObserver.observe(document.body);\n }\n }\n \n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n // XXX: Special case on this component because of the desktop / mobile mode that re-renders the <nav> element,\n // making it lose all its attribute\n this.inheritedAttributes[attr] = value;\n forceUpdate(this);\n }\n\n private closeMobileMenu() {\n this.mobileMenuOpen = false;\n }\n\n // In mobile mode, we have only one global drawer to display the menu, that why we have to listen the clicks events\n // in the root component (this component). In desktop mode, all submenus and categories manage their drawer its\n // opening state.\n //\n // We listen to the click events fired by the submenu component and we close the mobile menu.\n // In desktop mode, the submenu itself manages the closing of the menu.\n @Listen('wcsClickOnFinalAction')\n onClickOnFinalAction() {\n this.closeMobileMenu();\n }\n \n render() {\n const menuAriaLabel = this.inheritedAttributes['aria-label'] || undefined;\n \n return (\n <Host>\n <div class=\"container\">\n <div class=\"container-left\">\n <div class=\"app-name\">{this.appName}\n <slot name=\"app-name\"/>\n </div>\n {this.currentActiveSizing === 'desktop' ?\n <nav role=\"navigation\" {...this.inheritedAttributes}>\n <div class=\"menu-bar\" role=\"list\">\n {this.currentActiveSizing === 'desktop' \n ? <slot/> \n : null}\n </div>\n </nav>\n : null}\n </div>\n <div class=\"container-right\">\n <slot name=\"actions\"/>\n {this.currentActiveSizing === 'mobile' ?\n <nav id=\"wcs-com-nav-mobile-menu\" role=\"navigation\" {...this.inheritedAttributes}>\n <button id=\"mobile-menu-icon\"\n aria-label={menuAriaLabel}\n aria-expanded={this.mobileMenuOpen ? \"true\" : \"false\"}\n aria-controls=\"wcs-com-nav-mobile-menu\"\n onClick={() => this.mobileMenuIconClick()}></button>\n {this.currentActiveSizing === 'mobile'\n ? <div class=\"mobile-overlay\" data-mobile-open={this.mobileMenuOpen} role=\"list\"><slot /></div>\n : null}\n </nav>\n : null}\n </div>\n </div>\n </Host>\n );\n }\n\n /**\n * Close the mobile menu if the user press escape.\n * @param evt keydown event on window target.\n */\n @Listen('keydown', {target: 'window'})\n exitMobileMenuOnKeyDown(evt: KeyboardEvent) {\n if (isEscapeKey(evt)) {\n this.closeMobileMenu();\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"com-nav.js","sourceRoot":"","sources":["../../../src/components/com-nav/com-nav.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Element,\n forceUpdate,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { comNavDidLoadWithResizeObserver, registerCloseHandlerForFocusOutEventOn } from \"./com-nav-utils\";\nimport { inheritAriaAttributes, inheritAttributes, isEscapeKey } from \"../../utils/helpers\";\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\nimport { ComNavSize } from \"./com-nav-size\";\n\n\nconst COM_NAV_INHERITED_ATTRS = ['title'];\n\nconst WCS_COM_NAV_SUBMENU_TAG_NAME = 'WCS-COM-NAV-SUBMENU';\n\n/**\n * *Part of communication design system*\n *\n * The com-nav component is a container for navigation links to external or internal pages of the website.\n *\n * @slot <no-name> - Default slot containing all the menu declarations\n * @slot app-name - (Optional) Extra slot for the application name\n * @slot actions - Slot for actions placed on the right part of the container\n * \n * @cssprop --wcs-com-nav-menu-bar-height - Height of the menu bar\n * @cssprop --wcs-com-nav-border-color - Border color of the bottom border of the com-nav\n * @cssprop --wcs-com-nav-border-width - Border width of the border below com-nav\n * @cssprop --wcs-com-nav-background-color - Background color of the com-nav;\n * @cssprop --wcs-com-nav-app-name-color - App name color\n * @cssprop --wcs-com-nav-app-name-font-weight - App name font-weight\n * @cssprop --wcs-com-nav-app-name-font-size - Font size of the App name text\n * @cssprop --wcs-com-nav-app-name-line-height - Line height of the App name text\n * @cssprop --wcs-com-nav-item-color - Color of the wcs-nav-item inside menu-bar\n * @cssprop --wcs-com-nav-item-font-weight - Font weight of the wcs-nav-item inside menu-bar\n * @cssprop --wcs-com-nav-focus-outline-color - Focus outline color of the wcs-nav-item inside menu-bar\n * @cssprop --wcs-com-nav-horizontal-padding - Horizontal padding of wcs-com-nav\n * @cssprop --wcs-com-nav-vertical-padding - Vertical padding of wcs-com-nav\n * @cssprop --wcs-com-nav-mobile-overlay-gap - Gap between each items section in mobile overlay\n * @cssprop --wcs-com-nav-mobile-overlay-padding - Padding inside mobile overlay\n * @cssprop --wcs-com-nav-mobile-menu-icon-border-color - Bar border color on the left of icon mobile menu\n * @cssprop --wcs-com-nav-mobile-menu-icon-gap- Gap between icon mobile menu and separator on the left\n * @cssprop --wcs-com-nav-mobile-menu-icon-margin-left - Margin left of icon mobile menu\n * @cssprop --wcs-com-nav-menu-bar-gap - Gap between each item inside menu-bar\n * @cssprop --wcs-com-nav-menu-bar-margin-left - Margin left between menu bar and the app-name section\n */\n@Component({\n tag: 'wcs-com-nav',\n styleUrl: 'com-nav.scss',\n shadow: true,\n})\nexport class ComNav implements ComponentInterface, MutableAriaAttribute {\n @Element() private el!: HTMLWcsComNavElement;\n private inheritedAttributes: { [k: string]: any } = {};\n\n /** Name of the application to be displayed in the menu bar */\n @Prop() appName: string;\n\n @State() private mobileMenuOpen: boolean = false;\n @State() public currentActiveSizing: ComNavSize;\n private resizeObserver: ResizeObserver;\n\n private mobileMenuIconClick() {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): Promise<void> | void {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, COM_NAV_INHERITED_ATTRS)\n };\n\n const slottedNavigableItems = this.el.querySelectorAll(':scope > wcs-com-nav-submenu:not([slot]), :scope > a:not([slot])');\n registerCloseHandlerForFocusOutEventOn<HTMLWcsComNavSubmenuElement>(slottedNavigableItems, WCS_COM_NAV_SUBMENU_TAG_NAME);\n }\n\n componentDidLoad(): void {\n if(!this.resizeObserver) {\n this.resizeObserver = comNavDidLoadWithResizeObserver(this);\n this.resizeObserver.observe(document.body);\n }\n }\n \n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n // XXX: Special case on this component because of the desktop / mobile mode that re-renders the <nav> element,\n // making it lose all its attribute\n this.inheritedAttributes[attr] = value;\n forceUpdate(this);\n }\n\n private closeMobileMenu() {\n this.mobileMenuOpen = false;\n }\n\n // In mobile mode, we have only one global drawer to display the menu, that why we have to listen the clicks events\n // in the root component (this component). In desktop mode, all submenus and categories manage their drawer its\n // opening state.\n //\n // We listen to the click events fired by the submenu component and we close the mobile menu.\n // In desktop mode, the submenu itself manages the closing of the menu.\n @Listen('wcsClickOnFinalAction')\n onClickOnFinalAction() {\n this.closeMobileMenu();\n }\n \n render() {\n const menuAriaLabel = this.inheritedAttributes['aria-label'] || undefined;\n \n return (\n <Host>\n <div class=\"container\">\n <div class=\"container-left\">\n <div class=\"app-name\">\n {this.appName}\n <slot name=\"app-name\"/>\n </div>\n {this.currentActiveSizing === 'desktop' ?\n <nav role=\"navigation\" {...this.inheritedAttributes}>\n <div class=\"menu-bar\" role=\"list\">\n {this.currentActiveSizing === 'desktop' \n ? <slot/> \n : null}\n </div>\n </nav>\n : null}\n </div>\n <div class=\"container-right\">\n <slot name=\"actions\"/>\n {this.currentActiveSizing === 'mobile' ?\n <nav id=\"wcs-com-nav-mobile-menu\" role=\"navigation\" {...this.inheritedAttributes}>\n <button id=\"mobile-menu-icon\"\n aria-label={menuAriaLabel}\n aria-expanded={this.mobileMenuOpen ? \"true\" : \"false\"}\n aria-controls=\"wcs-com-nav-mobile-menu\"\n onClick={() => this.mobileMenuIconClick()}></button>\n {this.currentActiveSizing === 'mobile'\n ? <div class=\"mobile-overlay\" data-mobile-open={this.mobileMenuOpen} role=\"list\"><slot /></div>\n : null}\n </nav>\n : null}\n </div>\n </div>\n </Host>\n );\n }\n\n /**\n * Close the mobile menu if the user press escape.\n * @param evt keydown event on window target.\n */\n @Listen('keydown', {target: 'window'})\n exitMobileMenuOnKeyDown(evt: KeyboardEvent) {\n if (isEscapeKey(evt)) {\n this.closeMobileMenu();\n }\n }\n}\n"]}
|
|
@@ -177,7 +177,7 @@ export class ComNavCategory {
|
|
|
177
177
|
"signature": "(attr: AriaAttributeName, value: string | null | undefined) => Promise<void>",
|
|
178
178
|
"parameters": [{
|
|
179
179
|
"name": "attr",
|
|
180
|
-
"type": "
|
|
180
|
+
"type": "`aria-${string}` | \"role\"",
|
|
181
181
|
"docs": ""
|
|
182
182
|
}, {
|
|
183
183
|
"name": "value",
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
/**
|
|
6
6
|
Applies all the outline properties useful to show a dashed-focus ring around a component.
|
|
7
7
|
TODO: replace `$border-radius: 0.1rem` with semantic border-radius but keep in mind some components that must stay at 2px border-radius: checkbox, radio, links, ...
|
|
8
|
-
*/
|
|
8
|
+
*/
|
|
9
|
+
/* Default style and mobile behaviour */
|
|
9
10
|
:host {
|
|
10
11
|
--wcs-com-nav-item-gap: var(--wcs-semantic-spacing-base);
|
|
11
12
|
--wcs-com-nav-item-font-size: var(--wcs-semantic-font-size-label-1);
|
|
@@ -29,7 +30,6 @@
|
|
|
29
30
|
user-select: none;
|
|
30
31
|
cursor: pointer;
|
|
31
32
|
text-decoration: none;
|
|
32
|
-
font-size: var(--wcs-com-nav-item-font-size);
|
|
33
33
|
color: inherit;
|
|
34
34
|
font-weight: inherit;
|
|
35
35
|
display: flex;
|
|
@@ -229,7 +229,7 @@ export class ComNavSubmenu {
|
|
|
229
229
|
"signature": "(attr: AriaAttributeName, value: string | null | undefined) => Promise<void>",
|
|
230
230
|
"parameters": [{
|
|
231
231
|
"name": "attr",
|
|
232
|
-
"type": "
|
|
232
|
+
"type": "`aria-${string}` | \"role\"",
|
|
233
233
|
"docs": ""
|
|
234
234
|
}, {
|
|
235
235
|
"name": "value",
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { setWcsContent } from "../../utils/playwright/test";
|
|
2
|
+
import { test } from "@stencil/playwright";
|
|
3
|
+
import { expect } from "@playwright/test";
|
|
4
|
+
test.describe('counter', () => {
|
|
5
|
+
test('should increment the counter when click on plus button', async ({ page }) => {
|
|
6
|
+
// Given
|
|
7
|
+
await setWcsContent(page, `
|
|
8
|
+
<wcs-counter></wcs-counter>
|
|
9
|
+
`);
|
|
10
|
+
const changeSpy = await page.locator('wcs-counter').spyOnEvent('wcsChange');
|
|
11
|
+
const incrementButton = page.locator('wcs-counter wcs-button').last();
|
|
12
|
+
// When
|
|
13
|
+
await incrementButton.click();
|
|
14
|
+
await page.waitForChanges();
|
|
15
|
+
// Then
|
|
16
|
+
expect(changeSpy).toHaveReceivedEventTimes(1);
|
|
17
|
+
expect(changeSpy).toHaveReceivedEventDetail({ value: 1 });
|
|
18
|
+
});
|
|
19
|
+
test('should decrement the counter when click on minus button', async ({ page }) => {
|
|
20
|
+
// Given
|
|
21
|
+
await setWcsContent(page, `
|
|
22
|
+
<wcs-counter></wcs-counter>
|
|
23
|
+
`);
|
|
24
|
+
const changeSpy = await page.locator('wcs-counter').spyOnEvent('wcsChange');
|
|
25
|
+
const decrementButton = page.locator('wcs-counter wcs-button').first();
|
|
26
|
+
// When
|
|
27
|
+
await decrementButton.click();
|
|
28
|
+
await page.waitForChanges();
|
|
29
|
+
// Then
|
|
30
|
+
expect(changeSpy).toHaveReceivedEventTimes(1);
|
|
31
|
+
expect(changeSpy).toHaveReceivedEventDetail({ value: -1 });
|
|
32
|
+
});
|
|
33
|
+
test('should have 0 as default value', async ({ page }) => {
|
|
34
|
+
// Given
|
|
35
|
+
await setWcsContent(page, `
|
|
36
|
+
<wcs-counter></wcs-counter>
|
|
37
|
+
`);
|
|
38
|
+
const currentDisplayedValue = page.locator('wcs-counter .current-value');
|
|
39
|
+
// Then
|
|
40
|
+
await expect(currentDisplayedValue).toHaveText('0');
|
|
41
|
+
});
|
|
42
|
+
test('should respect the step attribute', async ({ page }) => {
|
|
43
|
+
// Given
|
|
44
|
+
await setWcsContent(page, `
|
|
45
|
+
<wcs-counter step="5"></wcs-counter>
|
|
46
|
+
`);
|
|
47
|
+
const changeSpy = await page.locator('wcs-counter').spyOnEvent('wcsChange');
|
|
48
|
+
const incrementButton = page.locator('wcs-counter wcs-button').last();
|
|
49
|
+
// When
|
|
50
|
+
await incrementButton.click();
|
|
51
|
+
await page.waitForChanges();
|
|
52
|
+
// Then
|
|
53
|
+
expect(changeSpy).toHaveReceivedEventTimes(1);
|
|
54
|
+
expect(changeSpy).toHaveReceivedEventDetail({ value: 5 });
|
|
55
|
+
});
|
|
56
|
+
test('should respect the min attribute', async ({ page }) => {
|
|
57
|
+
// Given
|
|
58
|
+
await setWcsContent(page, `
|
|
59
|
+
<wcs-counter min="-1" value="0"></wcs-counter>
|
|
60
|
+
`);
|
|
61
|
+
const changeSpy = await page.spyOnEvent('wcsChange');
|
|
62
|
+
const decrementButton = page.locator('wcs-counter wcs-button').first();
|
|
63
|
+
// When
|
|
64
|
+
await decrementButton.click();
|
|
65
|
+
await decrementButton.click();
|
|
66
|
+
await page.waitForChanges();
|
|
67
|
+
// Then - Should only emit once since second click would go below min
|
|
68
|
+
expect(changeSpy).toHaveReceivedEventTimes(1);
|
|
69
|
+
expect(changeSpy).toHaveReceivedEventDetail({ value: -1 });
|
|
70
|
+
});
|
|
71
|
+
test('should use the min attribute as default value when value is not set', async ({ page }) => {
|
|
72
|
+
// Given
|
|
73
|
+
await setWcsContent(page, `
|
|
74
|
+
<wcs-counter min="5"></wcs-counter>
|
|
75
|
+
`);
|
|
76
|
+
const currentDisplayedValue = page.locator('wcs-counter .current-value');
|
|
77
|
+
// Then
|
|
78
|
+
await expect(currentDisplayedValue).toHaveText('5');
|
|
79
|
+
});
|
|
80
|
+
test('should respect the max attribute', async ({ page }) => {
|
|
81
|
+
// Given
|
|
82
|
+
await setWcsContent(page, `
|
|
83
|
+
<wcs-counter max="1"></wcs-counter>
|
|
84
|
+
`);
|
|
85
|
+
const changeSpy = await page.locator('wcs-counter').spyOnEvent('wcsChange');
|
|
86
|
+
const incrementButton = page.locator('wcs-counter wcs-button').last();
|
|
87
|
+
// When
|
|
88
|
+
await incrementButton.click();
|
|
89
|
+
await incrementButton.click();
|
|
90
|
+
await page.waitForChanges();
|
|
91
|
+
// Then - Should only emit once since second click would go above max
|
|
92
|
+
expect(changeSpy).toHaveReceivedEventTimes(1);
|
|
93
|
+
expect(changeSpy).toHaveReceivedEventDetail({ value: 1 });
|
|
94
|
+
});
|
|
95
|
+
test('should respect the value attribute', async ({ page }) => {
|
|
96
|
+
// Given
|
|
97
|
+
await setWcsContent(page, `
|
|
98
|
+
<wcs-counter value="5"></wcs-counter>
|
|
99
|
+
`);
|
|
100
|
+
const currentDisplayedValue = page.locator('wcs-counter .current-value');
|
|
101
|
+
// Then
|
|
102
|
+
await expect(currentDisplayedValue).toHaveText('5');
|
|
103
|
+
});
|
|
104
|
+
test('should use the min value as default when min is greater than 0', async ({ page }) => {
|
|
105
|
+
// Given
|
|
106
|
+
await setWcsContent(page, `
|
|
107
|
+
<wcs-counter min="5"></wcs-counter>
|
|
108
|
+
`);
|
|
109
|
+
const currentDisplayedValue = page.locator('wcs-counter .current-value');
|
|
110
|
+
// Then
|
|
111
|
+
await expect(currentDisplayedValue).toHaveText('5');
|
|
112
|
+
});
|
|
113
|
+
test('should use the min value as default when min is greater than value', async ({ page }) => {
|
|
114
|
+
// Given
|
|
115
|
+
await setWcsContent(page, `
|
|
116
|
+
<wcs-counter min="5" value="3"></wcs-counter>
|
|
117
|
+
`);
|
|
118
|
+
const currentDisplayedValue = page.locator('wcs-counter .current-value');
|
|
119
|
+
// Then
|
|
120
|
+
await expect(currentDisplayedValue).toHaveText('5');
|
|
121
|
+
});
|
|
122
|
+
test('should fire wcsBlur event when the counter loose focus', async ({ page }) => {
|
|
123
|
+
// Given
|
|
124
|
+
await setWcsContent(page, `
|
|
125
|
+
<button id="first">first</button>
|
|
126
|
+
<wcs-counter></wcs-counter>
|
|
127
|
+
<button id="last">last</button>
|
|
128
|
+
`);
|
|
129
|
+
const blurSpy = await page.locator('wcs-counter').spyOnEvent('wcsBlur');
|
|
130
|
+
const firstButton = page.locator('#first');
|
|
131
|
+
// When
|
|
132
|
+
await firstButton.click();
|
|
133
|
+
await page.keyboard.press('Tab');
|
|
134
|
+
await page.keyboard.press('Tab');
|
|
135
|
+
await page.waitForChanges();
|
|
136
|
+
// Then
|
|
137
|
+
expect(blurSpy).toHaveReceivedEventTimes(1);
|
|
138
|
+
});
|
|
139
|
+
test('should fire wcsBlur event when the user click on decrement button and leave', async ({ page }) => {
|
|
140
|
+
// Given
|
|
141
|
+
await setWcsContent(page, `
|
|
142
|
+
<wcs-counter></wcs-counter>
|
|
143
|
+
<button>last</button>
|
|
144
|
+
`);
|
|
145
|
+
const blurSpy = await page.locator('wcs-counter').spyOnEvent('wcsBlur');
|
|
146
|
+
const decrementButton = page.locator('wcs-counter wcs-button').first();
|
|
147
|
+
const button = page.getByRole('button', { name: 'last' });
|
|
148
|
+
// When
|
|
149
|
+
await decrementButton.click();
|
|
150
|
+
await button.click();
|
|
151
|
+
await page.waitForChanges();
|
|
152
|
+
// Then
|
|
153
|
+
expect(blurSpy).toHaveReceivedEventTimes(1);
|
|
154
|
+
});
|
|
155
|
+
test('should fire wcsBlur event when the user click on increment button and leave', async ({ page }) => {
|
|
156
|
+
// Given
|
|
157
|
+
await setWcsContent(page, `
|
|
158
|
+
<wcs-counter></wcs-counter>
|
|
159
|
+
<button>last</button>
|
|
160
|
+
`);
|
|
161
|
+
const blurSpy = await page.locator('wcs-counter').spyOnEvent('wcsBlur');
|
|
162
|
+
const incrementButton = page.locator('wcs-counter wcs-button').last();
|
|
163
|
+
const button = page.getByRole('button', { name: 'last' });
|
|
164
|
+
// When
|
|
165
|
+
await incrementButton.click();
|
|
166
|
+
await button.click();
|
|
167
|
+
await page.waitForChanges();
|
|
168
|
+
// Then
|
|
169
|
+
expect(blurSpy).toHaveReceivedEventTimes(1);
|
|
170
|
+
});
|
|
171
|
+
test('should not be interactive when disabled', async ({ page }) => {
|
|
172
|
+
// Given
|
|
173
|
+
await setWcsContent(page, `
|
|
174
|
+
<wcs-counter disabled="true"></wcs-counter>
|
|
175
|
+
`);
|
|
176
|
+
const changeSpy = await page.locator('wcs-counter').spyOnEvent('wcsChange');
|
|
177
|
+
const incrementButton = page.locator('wcs-counter wcs-button').last();
|
|
178
|
+
// When
|
|
179
|
+
await incrementButton.click({ force: true });
|
|
180
|
+
await page.waitForChanges();
|
|
181
|
+
// Then
|
|
182
|
+
expect(changeSpy).toHaveReceivedEventTimes(0);
|
|
183
|
+
await expect(page.locator('wcs-counter')).toHaveJSProperty('value', 0);
|
|
184
|
+
await expect(incrementButton).toHaveJSProperty('disabled', true);
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
//# sourceMappingURL=counter.e2e.playwright.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"counter.e2e.playwright.js","sourceRoot":"","sources":["../../../src/components/counter/counter.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('counter', () => {\n test('should increment the counter when click on plus button', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-counter></wcs-counter>\n `);\n\n const changeSpy = await page.locator('wcs-counter').spyOnEvent('wcsChange');\n\n const incrementButton = page.locator('wcs-counter wcs-button').last();\n\n // When\n await incrementButton.click();\n await page.waitForChanges();\n\n // Then\n expect(changeSpy).toHaveReceivedEventTimes(1);\n expect(changeSpy).toHaveReceivedEventDetail({ value: 1 });\n });\n\n test('should decrement the counter when click on minus button', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-counter></wcs-counter>\n `);\n\n const changeSpy = await page.locator('wcs-counter').spyOnEvent('wcsChange');\n\n const decrementButton = page.locator('wcs-counter wcs-button').first();\n\n // When\n await decrementButton.click();\n await page.waitForChanges();\n\n // Then\n expect(changeSpy).toHaveReceivedEventTimes(1);\n expect(changeSpy).toHaveReceivedEventDetail({ value: -1 });\n });\n\n test('should have 0 as default value', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-counter></wcs-counter>\n `);\n\n const currentDisplayedValue = page.locator('wcs-counter .current-value');\n\n // Then\n await expect(currentDisplayedValue).toHaveText('0');\n });\n\n test('should respect the step attribute', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-counter step=\"5\"></wcs-counter>\n `);\n\n const changeSpy = await page.locator('wcs-counter').spyOnEvent('wcsChange');\n\n const incrementButton = page.locator('wcs-counter wcs-button').last();\n\n // When\n await incrementButton.click();\n await page.waitForChanges();\n\n // Then\n expect(changeSpy).toHaveReceivedEventTimes(1);\n expect(changeSpy).toHaveReceivedEventDetail({ value: 5 });\n });\n\n test('should respect the min attribute', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-counter min=\"-1\" value=\"0\"></wcs-counter>\n `);\n\n const changeSpy = await page.spyOnEvent('wcsChange');\n\n const decrementButton = page.locator('wcs-counter wcs-button').first();\n\n // When\n await decrementButton.click();\n await decrementButton.click();\n await page.waitForChanges();\n\n // Then - Should only emit once since second click would go below min\n expect(changeSpy).toHaveReceivedEventTimes(1);\n expect(changeSpy).toHaveReceivedEventDetail({ value: -1 });\n });\n\n test('should use the min attribute as default value when value is not set', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-counter min=\"5\"></wcs-counter>\n `);\n\n const currentDisplayedValue = page.locator('wcs-counter .current-value');\n\n // Then\n await expect(currentDisplayedValue).toHaveText('5');\n });\n\n test('should respect the max attribute', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-counter max=\"1\"></wcs-counter>\n `);\n\n const changeSpy = await page.locator('wcs-counter').spyOnEvent('wcsChange');\n\n const incrementButton = page.locator('wcs-counter wcs-button').last();\n\n // When\n await incrementButton.click();\n await incrementButton.click();\n await page.waitForChanges();\n\n // Then - Should only emit once since second click would go above max\n expect(changeSpy).toHaveReceivedEventTimes(1);\n expect(changeSpy).toHaveReceivedEventDetail({ value: 1 });\n });\n\n test('should respect the value attribute', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-counter value=\"5\"></wcs-counter>\n `);\n\n const currentDisplayedValue = page.locator('wcs-counter .current-value');\n\n // Then\n await expect(currentDisplayedValue).toHaveText('5');\n });\n\n test('should use the min value as default when min is greater than 0', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-counter min=\"5\"></wcs-counter>\n `);\n\n const currentDisplayedValue = page.locator('wcs-counter .current-value');\n\n // Then\n await expect(currentDisplayedValue).toHaveText('5');\n });\n\n test('should use the min value as default when min is greater than value', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-counter min=\"5\" value=\"3\"></wcs-counter>\n `);\n\n const currentDisplayedValue = page.locator('wcs-counter .current-value');\n\n // Then\n await expect(currentDisplayedValue).toHaveText('5');\n });\n\n test('should fire wcsBlur event when the counter loose focus', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <button id=\"first\">first</button>\n <wcs-counter></wcs-counter>\n <button id=\"last\">last</button>\n `);\n\n const blurSpy = await page.locator('wcs-counter').spyOnEvent('wcsBlur');\n\n const firstButton = page.locator('#first');\n\n // When\n await firstButton.click();\n await page.keyboard.press('Tab');\n await page.keyboard.press('Tab');\n await page.waitForChanges();\n\n // Then\n expect(blurSpy).toHaveReceivedEventTimes(1);\n });\n\n test('should fire wcsBlur event when the user click on decrement button and leave', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-counter></wcs-counter>\n <button>last</button>\n `);\n\n const blurSpy = await page.locator('wcs-counter').spyOnEvent('wcsBlur');\n\n const decrementButton = page.locator('wcs-counter wcs-button').first();\n const button = page.getByRole('button', { name: 'last' });\n\n // When\n await decrementButton.click();\n await button.click();\n await page.waitForChanges();\n\n // Then\n expect(blurSpy).toHaveReceivedEventTimes(1);\n });\n\n test('should fire wcsBlur event when the user click on increment button and leave', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-counter></wcs-counter>\n <button>last</button>\n `);\n\n const blurSpy = await page.locator('wcs-counter').spyOnEvent('wcsBlur');\n\n const incrementButton = page.locator('wcs-counter wcs-button').last();\n const button = page.getByRole('button', { name: 'last' });\n\n // When\n await incrementButton.click();\n await button.click();\n await page.waitForChanges();\n\n // Then\n expect(blurSpy).toHaveReceivedEventTimes(1);\n });\n\n test('should not be interactive when disabled', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-counter disabled=\"true\"></wcs-counter>\n `);\n\n const changeSpy = await page.locator('wcs-counter').spyOnEvent('wcsChange');\n\n const incrementButton = page.locator('wcs-counter wcs-button').last();\n\n // When\n await incrementButton.click({ force: true });\n await page.waitForChanges();\n\n // Then\n expect(changeSpy).toHaveReceivedEventTimes(0);\n await expect(page.locator('wcs-counter')).toHaveJSProperty('value', 0);\n await expect(incrementButton).toHaveJSProperty('disabled', true);\n });\n});\n"]}
|
|
@@ -368,7 +368,7 @@ export class Counter {
|
|
|
368
368
|
"signature": "(attr: AriaAttributeName, value: string | null | undefined) => Promise<void>",
|
|
369
369
|
"parameters": [{
|
|
370
370
|
"name": "attr",
|
|
371
|
-
"type": "
|
|
371
|
+
"type": "`aria-${string}` | \"role\"",
|
|
372
372
|
"docs": ""
|
|
373
373
|
}, {
|
|
374
374
|
"name": "value",
|