wcs-core 7.3.0 → 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.
Files changed (251) hide show
  1. package/README.md +11 -9
  2. package/design-tokens/dist/sncf-groupe-root-scoped.css +227 -227
  3. package/design-tokens/dist/sncf-groupe.css +227 -227
  4. package/design-tokens/dist/sncf-holding-root-scoped.css +227 -227
  5. package/design-tokens/dist/sncf-holding.css +227 -227
  6. package/design-tokens/dist/sncf-reseau-root-scoped.css +227 -227
  7. package/design-tokens/dist/sncf-reseau.css +227 -227
  8. package/design-tokens/dist/sncf-voyageurs-root-scoped.css +242 -242
  9. package/design-tokens/dist/sncf-voyageurs.css +242 -242
  10. package/dist/cjs/{popper-8d6e7fca.js → popper-1b61df21.js} +10 -17
  11. package/dist/cjs/popper-1b61df21.js.map +1 -0
  12. package/dist/cjs/wcs-breadcrumb.cjs.entry.js +1 -1
  13. package/dist/cjs/wcs-breadcrumb.cjs.entry.js.map +1 -1
  14. package/dist/cjs/wcs-com-nav-item.cjs.entry.js +1 -1
  15. package/dist/cjs/wcs-com-nav-item.cjs.entry.js.map +1 -1
  16. package/dist/cjs/wcs-com-nav.cjs.entry.js +3 -3
  17. package/dist/cjs/wcs-com-nav.cjs.entry.js.map +1 -1
  18. package/dist/cjs/wcs-dropdown.cjs.entry.js +1 -1
  19. package/dist/cjs/wcs-error_3.cjs.entry.js +1 -1
  20. package/dist/cjs/wcs-error_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +1 -1
  22. package/dist/cjs/wcs-grid.cjs.entry.js +5 -4
  23. package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
  24. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +3 -2
  25. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js.map +1 -1
  26. package/dist/cjs/wcs-modal.cjs.entry.js +2 -2
  27. package/dist/cjs/wcs-modal.cjs.entry.js.map +1 -1
  28. package/dist/cjs/wcs-select_2.cjs.entry.js +59 -24
  29. package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
  30. package/dist/cjs/wcs-tabs.cjs.entry.js +1 -1
  31. package/dist/cjs/wcs-tooltip.cjs.entry.js +1 -1
  32. package/dist/collection/components/accordion/{accordion.e2e.js → accordion.e2e.playwright.js} +51 -55
  33. package/dist/collection/components/accordion/accordion.e2e.playwright.js.map +1 -0
  34. package/dist/collection/components/accordion-panel/accordion-panel.js +1 -1
  35. package/dist/collection/components/alert/alert.e2e.playwright.js +125 -0
  36. package/dist/collection/components/alert/alert.e2e.playwright.js.map +1 -0
  37. package/dist/collection/components/alert-drawer/alert-drawer.e2e.playwright.js +107 -0
  38. package/dist/collection/components/alert-drawer/alert-drawer.e2e.playwright.js.map +1 -0
  39. package/dist/collection/components/breadcrumb/breadcrumb.e2e.playwright.js +188 -0
  40. package/dist/collection/components/breadcrumb/breadcrumb.e2e.playwright.js.map +1 -0
  41. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  42. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  43. package/dist/collection/components/button/button.e2e.playwright.js +26 -0
  44. package/dist/collection/components/button/button.e2e.playwright.js.map +1 -0
  45. package/dist/collection/components/button/button.js +1 -1
  46. package/dist/collection/components/checkbox/checkbox.e2e.playwright.js +39 -0
  47. package/dist/collection/components/checkbox/checkbox.e2e.playwright.js.map +1 -0
  48. package/dist/collection/components/checkbox/checkbox.js +1 -1
  49. package/dist/collection/components/chip/chip.e2e.playwright.js +190 -0
  50. package/dist/collection/components/chip/chip.e2e.playwright.js.map +1 -0
  51. package/dist/collection/components/com-nav/com-nav.css +15 -0
  52. package/dist/collection/components/com-nav/{com-nav.e2e.js → com-nav.e2e.playwright.js} +60 -44
  53. package/dist/collection/components/com-nav/com-nav.e2e.playwright.js.map +1 -0
  54. package/dist/collection/components/com-nav/com-nav.js +3 -3
  55. package/dist/collection/components/com-nav/com-nav.js.map +1 -1
  56. package/dist/collection/components/com-nav-category/com-nav-category.js +1 -1
  57. package/dist/collection/components/com-nav-item/com-nav-item.css +2 -2
  58. package/dist/collection/components/com-nav-submenu/com-nav-submenu.js +1 -1
  59. package/dist/collection/components/counter/counter.e2e.playwright.js +187 -0
  60. package/dist/collection/components/counter/counter.e2e.playwright.js.map +1 -0
  61. package/dist/collection/components/counter/counter.js +1 -1
  62. package/dist/collection/components/dropdown/dropdown.e2e.playwright.js +320 -0
  63. package/dist/collection/components/dropdown/dropdown.e2e.playwright.js.map +1 -0
  64. package/dist/collection/components/dropdown/dropdown.js +1 -1
  65. package/dist/collection/components/editable-field/editable-field.e2e.playwright.js +156 -0
  66. package/dist/collection/components/editable-field/editable-field.e2e.playwright.js.map +1 -0
  67. package/dist/collection/components/form-field/form-field.e2e.playwright.js +104 -0
  68. package/dist/collection/components/form-field/form-field.e2e.playwright.js.map +1 -0
  69. package/dist/collection/components/galactic-menu/galactic-menu.js +1 -1
  70. package/dist/collection/components/grid/grid.e2e.playwright.js +153 -0
  71. package/dist/collection/components/grid/grid.e2e.playwright.js.map +1 -0
  72. package/dist/collection/components/grid/grid.js +6 -5
  73. package/dist/collection/components/grid/grid.js.map +1 -1
  74. package/dist/collection/components/grid-column/grid-column.js +1 -1
  75. package/dist/collection/components/grid-pagination/grid-pagination.js +1 -1
  76. package/dist/collection/components/header/header.js +1 -1
  77. package/dist/collection/components/horizontal-stepper/horizontal-step.js +2 -1
  78. package/dist/collection/components/horizontal-stepper/horizontal-step.js.map +1 -1
  79. package/dist/collection/components/horizontal-stepper/horizontal-stepper-interface.js.map +1 -1
  80. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +5 -1
  81. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js.map +1 -1
  82. package/dist/collection/components/icon/icon.js +1 -1
  83. package/dist/collection/components/input/input.e2e.playwright.js +157 -0
  84. package/dist/collection/components/input/input.e2e.playwright.js.map +1 -0
  85. package/dist/collection/components/input/input.js +2 -2
  86. package/dist/collection/components/label/label.css +4 -6
  87. package/dist/collection/components/label/label.js +1 -1
  88. package/dist/collection/components/mat-icon/mat-icon.js +1 -1
  89. package/dist/collection/components/modal/modal.css +4 -0
  90. package/dist/collection/components/modal/modal.e2e.playwright.js +35 -0
  91. package/dist/collection/components/modal/modal.e2e.playwright.js.map +1 -0
  92. package/dist/collection/components/modal/modal.js +2 -2
  93. package/dist/collection/components/modal/modal.js.map +1 -1
  94. package/dist/collection/components/native-select/native-select.js +1 -1
  95. package/dist/collection/components/nav/nav.js +1 -1
  96. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  97. package/dist/collection/components/progress-radial/progress-radial.js +1 -1
  98. package/dist/collection/components/radio/radio.js +1 -1
  99. package/dist/collection/components/radio-group/radio-group.e2e.playwright.js +231 -0
  100. package/dist/collection/components/radio-group/radio-group.e2e.playwright.js.map +1 -0
  101. package/dist/collection/components/radio-group/radio-group.js +1 -1
  102. package/dist/collection/components/select/select.e2e.playwright.js +1702 -0
  103. package/dist/collection/components/select/select.e2e.playwright.js.map +1 -0
  104. package/dist/collection/components/select/select.js +49 -20
  105. package/dist/collection/components/select/select.js.map +1 -1
  106. package/dist/collection/components/select-option/select-option.js +3 -3
  107. package/dist/collection/components/select-option/select-option.js.map +1 -1
  108. package/dist/collection/components/switch/switch.e2e.playwright.js +40 -0
  109. package/dist/collection/components/switch/switch.e2e.playwright.js.map +1 -0
  110. package/dist/collection/components/switch/switch.js +1 -1
  111. package/dist/collection/components/tabs/tabs.e2e.playwright.js +205 -0
  112. package/dist/collection/components/tabs/tabs.e2e.playwright.js.map +1 -0
  113. package/dist/collection/components/tabs/tabs.js +1 -1
  114. package/dist/collection/components/textarea/textarea.e2e.playwright.js +133 -0
  115. package/dist/collection/components/textarea/textarea.e2e.playwright.js.map +1 -0
  116. package/dist/collection/components/textarea/textarea.js +1 -1
  117. package/dist/collection/utils/playwright/test-expect.js +2 -0
  118. package/dist/collection/utils/playwright/test-expect.js.map +1 -0
  119. package/dist/collection/utils/playwright/test.js +16 -0
  120. package/dist/collection/utils/playwright/test.js.map +1 -0
  121. package/dist/esm/{popper-e491c314.js → popper-ac238961.js} +10 -17
  122. package/dist/esm/popper-ac238961.js.map +1 -0
  123. package/dist/esm/wcs-breadcrumb.entry.js +1 -1
  124. package/dist/esm/wcs-breadcrumb.entry.js.map +1 -1
  125. package/dist/esm/wcs-com-nav-item.entry.js +1 -1
  126. package/dist/esm/wcs-com-nav-item.entry.js.map +1 -1
  127. package/dist/esm/wcs-com-nav.entry.js +3 -3
  128. package/dist/esm/wcs-com-nav.entry.js.map +1 -1
  129. package/dist/esm/wcs-dropdown.entry.js +1 -1
  130. package/dist/esm/wcs-error_3.entry.js +1 -1
  131. package/dist/esm/wcs-error_3.entry.js.map +1 -1
  132. package/dist/esm/wcs-galactic-menu.entry.js +1 -1
  133. package/dist/esm/wcs-grid.entry.js +5 -4
  134. package/dist/esm/wcs-grid.entry.js.map +1 -1
  135. package/dist/esm/wcs-horizontal-stepper.entry.js +3 -2
  136. package/dist/esm/wcs-horizontal-stepper.entry.js.map +1 -1
  137. package/dist/esm/wcs-modal.entry.js +2 -2
  138. package/dist/esm/wcs-modal.entry.js.map +1 -1
  139. package/dist/esm/wcs-select_2.entry.js +59 -24
  140. package/dist/esm/wcs-select_2.entry.js.map +1 -1
  141. package/dist/esm/wcs-tabs.entry.js +1 -1
  142. package/dist/esm/wcs-tooltip.entry.js +1 -1
  143. package/dist/types/components/accordion/accordion.e2e.playwright.d.ts +1 -0
  144. package/dist/types/components/alert/alert.e2e.playwright.d.ts +1 -0
  145. package/dist/types/components/alert-drawer/alert-drawer.e2e.playwright.d.ts +1 -0
  146. package/dist/types/components/breadcrumb/breadcrumb.e2e.playwright.d.ts +1 -0
  147. package/dist/types/components/button/button.e2e.playwright.d.ts +1 -0
  148. package/dist/types/components/checkbox/checkbox.e2e.playwright.d.ts +1 -0
  149. package/dist/types/components/chip/chip.e2e.playwright.d.ts +1 -0
  150. package/dist/types/components/com-nav/com-nav.e2e.playwright.d.ts +1 -0
  151. package/dist/types/components/counter/counter.e2e.playwright.d.ts +1 -0
  152. package/dist/types/components/dropdown/dropdown.e2e.playwright.d.ts +1 -0
  153. package/dist/types/components/editable-field/editable-field.e2e.playwright.d.ts +1 -0
  154. package/dist/types/components/form-field/form-field.e2e.playwright.d.ts +1 -0
  155. package/dist/types/components/grid/grid.e2e.playwright.d.ts +1 -0
  156. package/dist/types/components/horizontal-stepper/horizontal-stepper-interface.d.ts +2 -0
  157. package/dist/types/components/horizontal-stepper/horizontal-stepper.d.ts +4 -0
  158. package/dist/types/components/input/input.e2e.playwright.d.ts +1 -0
  159. package/dist/types/components/modal/modal.e2e.playwright.d.ts +1 -0
  160. package/dist/types/components/radio-group/radio-group.e2e.playwright.d.ts +1 -0
  161. package/dist/types/components/select/select.d.ts +7 -1
  162. package/dist/types/components/select/select.e2e.playwright.d.ts +1 -0
  163. package/dist/types/components/switch/switch.e2e.playwright.d.ts +1 -0
  164. package/dist/types/components/tabs/tabs.e2e.playwright.d.ts +1 -0
  165. package/dist/types/components/textarea/textarea.e2e.playwright.d.ts +1 -0
  166. package/dist/types/components.d.ts +12 -0
  167. package/dist/types/utils/playwright/test-expect.d.ts +33 -0
  168. package/dist/types/utils/playwright/test.d.ts +7 -0
  169. package/dist/wcs/{p-8e9bd0f1.entry.js → p-0326f834.entry.js} +2 -2
  170. package/dist/wcs/{p-8e9bd0f1.entry.js.map → p-0326f834.entry.js.map} +1 -1
  171. package/dist/wcs/p-2221bf0c.entry.js +16 -0
  172. package/dist/wcs/p-2221bf0c.entry.js.map +1 -0
  173. package/dist/wcs/p-4ae08567.entry.js +2 -0
  174. package/dist/wcs/p-4ae08567.entry.js.map +1 -0
  175. package/dist/wcs/p-4e2d6227.entry.js +2 -0
  176. package/dist/wcs/p-4e2d6227.entry.js.map +1 -0
  177. package/dist/wcs/p-8332a7e3.entry.js +2 -0
  178. package/dist/wcs/p-8332a7e3.entry.js.map +1 -0
  179. package/dist/wcs/{p-ec383729.entry.js → p-9b76b8e6.entry.js} +2 -2
  180. package/dist/wcs/{p-ec383729.entry.js.map → p-9b76b8e6.entry.js.map} +1 -1
  181. package/dist/wcs/{p-1f593d06.entry.js → p-abd8d5a0.entry.js} +2 -2
  182. package/dist/wcs/{p-622f7403.entry.js → p-c6f8c45c.entry.js} +2 -2
  183. package/dist/wcs/{p-a94e685c.entry.js → p-db7ba599.entry.js} +2 -2
  184. package/dist/wcs/p-e1fb3625.js +2 -0
  185. package/dist/wcs/p-e1fb3625.js.map +1 -0
  186. package/dist/wcs/{p-a956dc84.entry.js → p-f2f7595e.entry.js} +2 -2
  187. package/dist/wcs/{p-a956dc84.entry.js.map → p-f2f7595e.entry.js.map} +1 -1
  188. package/dist/wcs/p-fbd68522.entry.js +2 -0
  189. package/dist/wcs/p-fbd68522.entry.js.map +1 -0
  190. package/dist/wcs/{p-8c2605fd.entry.js → p-fe303f58.entry.js} +2 -2
  191. package/dist/wcs/wcs.esm.js +1 -1
  192. package/package.json +18 -24
  193. package/dist/cjs/popper-8d6e7fca.js.map +0 -1
  194. package/dist/collection/components/accordion/accordion.e2e.js.map +0 -1
  195. package/dist/collection/components/alert/alert.e2e.js +0 -142
  196. package/dist/collection/components/alert/alert.e2e.js.map +0 -1
  197. package/dist/collection/components/alert-drawer/alert-drawer.e2e.js +0 -111
  198. package/dist/collection/components/alert-drawer/alert-drawer.e2e.js.map +0 -1
  199. package/dist/collection/components/breadcrumb/breadcrumb.e2e.js +0 -223
  200. package/dist/collection/components/breadcrumb/breadcrumb.e2e.js.map +0 -1
  201. package/dist/collection/components/button/button.e2e.js +0 -25
  202. package/dist/collection/components/button/button.e2e.js.map +0 -1
  203. package/dist/collection/components/checkbox/checkbox.e2e.js +0 -45
  204. package/dist/collection/components/checkbox/checkbox.e2e.js.map +0 -1
  205. package/dist/collection/components/chip/chip.e2e.js +0 -209
  206. package/dist/collection/components/chip/chip.e2e.js.map +0 -1
  207. package/dist/collection/components/com-nav/com-nav.e2e.js.map +0 -1
  208. package/dist/collection/components/counter/counter.e2e.js +0 -206
  209. package/dist/collection/components/counter/counter.e2e.js.map +0 -1
  210. package/dist/collection/components/dropdown/dropdown.e2e.js +0 -156
  211. package/dist/collection/components/dropdown/dropdown.e2e.js.map +0 -1
  212. package/dist/collection/components/editable-field/editable-field.e2e.js +0 -176
  213. package/dist/collection/components/editable-field/editable-field.e2e.js.map +0 -1
  214. package/dist/collection/components/form-field/form-field.e2e.js +0 -122
  215. package/dist/collection/components/form-field/form-field.e2e.js.map +0 -1
  216. package/dist/collection/components/grid/grid.e2e.js +0 -147
  217. package/dist/collection/components/grid/grid.e2e.js.map +0 -1
  218. package/dist/collection/components/input/input.e2e.js +0 -152
  219. package/dist/collection/components/input/input.e2e.js.map +0 -1
  220. package/dist/collection/components/modal/modal.e2e.js +0 -36
  221. package/dist/collection/components/modal/modal.e2e.js.map +0 -1
  222. package/dist/collection/components/radio-group/radio-group.e2e.js +0 -239
  223. package/dist/collection/components/radio-group/radio-group.e2e.js.map +0 -1
  224. package/dist/collection/components/select/select.e2e.js +0 -1081
  225. package/dist/collection/components/select/select.e2e.js.map +0 -1
  226. package/dist/collection/components/switch/switch.e2e.js +0 -45
  227. package/dist/collection/components/switch/switch.e2e.js.map +0 -1
  228. package/dist/collection/components/tabs/tabs.e2e.js +0 -207
  229. package/dist/collection/components/tabs/tabs.e2e.js.map +0 -1
  230. package/dist/collection/components/textarea/textarea.e2e.js +0 -132
  231. package/dist/collection/components/textarea/textarea.e2e.js.map +0 -1
  232. package/dist/collection/utils/tests.js +0 -23
  233. package/dist/collection/utils/tests.js.map +0 -1
  234. package/dist/esm/popper-e491c314.js.map +0 -1
  235. package/dist/types/utils/tests.d.ts +0 -4
  236. package/dist/wcs/p-0dd07842.entry.js +0 -2
  237. package/dist/wcs/p-0dd07842.entry.js.map +0 -1
  238. package/dist/wcs/p-0f864e86.js +0 -2
  239. package/dist/wcs/p-0f864e86.js.map +0 -1
  240. package/dist/wcs/p-1244daa0.entry.js +0 -2
  241. package/dist/wcs/p-1244daa0.entry.js.map +0 -1
  242. package/dist/wcs/p-1fbe0328.entry.js +0 -2
  243. package/dist/wcs/p-1fbe0328.entry.js.map +0 -1
  244. package/dist/wcs/p-b94a09b6.entry.js +0 -16
  245. package/dist/wcs/p-b94a09b6.entry.js.map +0 -1
  246. package/dist/wcs/p-fd187bce.entry.js +0 -2
  247. package/dist/wcs/p-fd187bce.entry.js.map +0 -1
  248. /package/dist/wcs/{p-1f593d06.entry.js.map → p-abd8d5a0.entry.js.map} +0 -0
  249. /package/dist/wcs/{p-622f7403.entry.js.map → p-c6f8c45c.entry.js.map} +0 -0
  250. /package/dist/wcs/{p-a94e685c.entry.js.map → p-db7ba599.entry.js.map} +0 -0
  251. /package/dist/wcs/{p-8c2605fd.entry.js.map → p-fe303f58.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('Form field component', () => {
5
+ test.describe('Global', () => {
6
+ test.describe('Accessibility', () => {
7
+ test('Should put form-field label to aria-label of the spied element when non empty', async ({ page }) => {
8
+ // Given
9
+ await setWcsContent(page, `
10
+ <wcs-form-field>
11
+ <wcs-label>Label form field</wcs-label>
12
+ <wcs-input/>
13
+ </wcs-form-field>
14
+ `);
15
+ // When
16
+ const input = page.locator('wcs-input').locator('input');
17
+ // Then
18
+ await expect(input).toHaveAttribute('aria-label', 'Label form field');
19
+ });
20
+ test('Should not put form-field label to aria-label of the spied element when empty', async ({ page }) => {
21
+ // Given
22
+ await setWcsContent(page, `
23
+ <wcs-form-field>
24
+ <wcs-label></wcs-label>
25
+ <wcs-input/>
26
+ </wcs-form-field>
27
+ `);
28
+ // When
29
+ const input = page.locator('wcs-input').locator('input');
30
+ // Then
31
+ await expect(input).not.toHaveAttribute('aria-label');
32
+ });
33
+ test('Should not concatenate form-field label with form control (switch, checkbox label when form-field label is empty', async ({ page }) => {
34
+ // Given
35
+ await setWcsContent(page, `
36
+ <wcs-form-field>
37
+ <wcs-label></wcs-label>
38
+ <wcs-switch>Label switch</wcs-switch>
39
+ </wcs-form-field>
40
+ `);
41
+ // When
42
+ const switchInput = page.locator('wcs-switch').locator('input');
43
+ // Then
44
+ await expect(switchInput).toHaveAttribute('aria-label', 'Label switch');
45
+ });
46
+ });
47
+ });
48
+ test.describe('With switch', () => {
49
+ test.describe('Accessibility', () => {
50
+ test('Should concatenate form-field label with switch label', async ({ page }) => {
51
+ // Given
52
+ await setWcsContent(page, `
53
+ <wcs-form-field>
54
+ <wcs-label>Label form field</wcs-label>
55
+ <wcs-switch>Label switch</wcs-switch>
56
+ </wcs-form-field>
57
+ `);
58
+ // When
59
+ const switchInput = page.locator('wcs-switch').locator('input');
60
+ // Then
61
+ await expect(switchInput).toHaveAttribute('aria-label', 'Label form field Label switch');
62
+ });
63
+ });
64
+ });
65
+ test.describe('With checkbox', () => {
66
+ test.describe('Accessibility', () => {
67
+ test('Should concatenate form-field label with checkbox label', async ({ page }) => {
68
+ // Given
69
+ await setWcsContent(page, `
70
+ <wcs-form-field>
71
+ <wcs-label>Label form field</wcs-label>
72
+ <wcs-checkbox>Label checkbox</wcs-checkbox>
73
+ </wcs-form-field>
74
+ `);
75
+ // When
76
+ const checkboxInput = page.locator('wcs-checkbox').locator('input');
77
+ // Then
78
+ await expect(checkboxInput).toHaveAttribute('aria-label', 'Label form field Label checkbox');
79
+ });
80
+ });
81
+ });
82
+ test.describe('With radio-group', () => {
83
+ test.describe('Accessibility', () => {
84
+ test('Should set aria-label on radio-group element', async ({ page }) => {
85
+ // Given
86
+ await setWcsContent(page, `
87
+ <wcs-form-field>
88
+ <wcs-label>Label form field</wcs-label>
89
+ <wcs-radio-group>
90
+ <wcs-radio name="SA" label="SNCF" value="1"></wcs-radio>
91
+ <wcs-radio name="SA" label="SNCF Réseau" value="2"></wcs-radio>
92
+ <wcs-radio name="SA" label="SNCF Voyageurs" value="3"></wcs-radio>
93
+ </wcs-radio-group>
94
+ </wcs-form-field>
95
+ `);
96
+ // When
97
+ const radioGroup = page.locator('wcs-radio-group');
98
+ // Then
99
+ await expect(radioGroup).toHaveAttribute('aria-label', 'Label form field');
100
+ });
101
+ });
102
+ });
103
+ });
104
+ //# sourceMappingURL=form-field.e2e.playwright.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-field.e2e.playwright.js","sourceRoot":"","sources":["../../../src/components/form-field/form-field.e2e.playwright.ts"],"names":[],"mappings":"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","sourcesContent":["import { setWcsContent } from '../../utils/playwright/test';\nimport { test, E2EPage } from \"@stencil/playwright\";\n\nimport { expect } from \"@playwright/test\";\n\ntest.describe('Form field component', () => {\n test.describe('Global', () => {\n test.describe('Accessibility', () => {\n test('Should put form-field label to aria-label of the spied element when non empty', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label>Label form field</wcs-label>\n <wcs-input/>\n </wcs-form-field>\n `);\n\n // When\n const input = page.locator('wcs-input').locator('input');\n\n // Then\n await expect(input).toHaveAttribute('aria-label', 'Label form field');\n });\n\n test('Should not put form-field label to aria-label of the spied element when empty', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label></wcs-label>\n <wcs-input/>\n </wcs-form-field>\n `);\n\n // When\n const input = page.locator('wcs-input').locator('input');\n\n // Then\n await expect(input).not.toHaveAttribute('aria-label');\n });\n\n test('Should not concatenate form-field label with form control (switch, checkbox label when form-field label is empty', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label></wcs-label>\n <wcs-switch>Label switch</wcs-switch>\n </wcs-form-field>\n `);\n\n // When\n const switchInput = page.locator('wcs-switch').locator('input');\n\n // Then\n await expect(switchInput).toHaveAttribute('aria-label', 'Label switch');\n });\n });\n });\n\n test.describe('With switch', () => {\n test.describe('Accessibility', () => {\n test('Should concatenate form-field label with switch label', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label>Label form field</wcs-label>\n <wcs-switch>Label switch</wcs-switch>\n </wcs-form-field>\n `);\n\n // When\n const switchInput = page.locator('wcs-switch').locator('input');\n\n // Then\n await expect(switchInput).toHaveAttribute('aria-label', 'Label form field Label switch');\n });\n });\n });\n\n test.describe('With checkbox', () => {\n test.describe('Accessibility', () => {\n test('Should concatenate form-field label with checkbox label', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label>Label form field</wcs-label>\n <wcs-checkbox>Label checkbox</wcs-checkbox>\n </wcs-form-field>\n `);\n\n // When\n const checkboxInput = page.locator('wcs-checkbox').locator('input');\n\n // Then\n await expect(checkboxInput).toHaveAttribute('aria-label', 'Label form field Label checkbox');\n });\n });\n });\n\n test.describe('With radio-group', () => {\n test.describe('Accessibility', () => {\n test('Should set aria-label on radio-group element', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-form-field>\n <wcs-label>Label form field</wcs-label>\n <wcs-radio-group>\n <wcs-radio name=\"SA\" label=\"SNCF\" value=\"1\"></wcs-radio>\n <wcs-radio name=\"SA\" label=\"SNCF Réseau\" value=\"2\"></wcs-radio>\n <wcs-radio name=\"SA\" label=\"SNCF Voyageurs\" value=\"3\"></wcs-radio>\n </wcs-radio-group>\n </wcs-form-field>\n `);\n\n // When\n const radioGroup = page.locator('wcs-radio-group');\n\n // Then\n await expect(radioGroup).toHaveAttribute('aria-label', 'Label form field');\n });\n });\n });\n});\n"]}
@@ -120,7 +120,7 @@ export class Galactic {
120
120
  "signature": "(attr: AriaAttributeName, value: string | null | undefined) => Promise<void>",
121
121
  "parameters": [{
122
122
  "name": "attr",
123
- "type": "\"role\" | `aria-${string}`",
123
+ "type": "`aria-${string}` | \"role\"",
124
124
  "docs": ""
125
125
  }, {
126
126
  "name": "value",
@@ -0,0 +1,153 @@
1
+ import { setWcsContent } from "../../utils/playwright/test";
2
+ import { test } from "@stencil/playwright";
3
+ import { expect } from "@playwright/test";
4
+ test.describe('Grid component', () => {
5
+ test.describe('Events', () => {
6
+ test.describe('simple', () => {
7
+ test('should emit a wcsGridSelectionChange event when a row is selected', async ({ page }) => {
8
+ // Given
9
+ const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
10
+ await setWcsContent(page, `
11
+ <wcs-grid id="simpleGrid" selection-config="single" sort="">
12
+ <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
13
+ </wcs-grid>
14
+ `);
15
+ const simpleGrid = page.locator('#simpleGrid');
16
+ await simpleGrid.evaluate((el, d) => el.data = d, data);
17
+ const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');
18
+ // When
19
+ const gridRadioFirstRow = simpleGrid.locator('table tbody tr:first-child td .grid-radio');
20
+ await gridRadioFirstRow.click();
21
+ await page.waitForChanges();
22
+ // Then
23
+ expect(selectionSpy).toHaveReceivedEventTimes(1);
24
+ const detail = selectionSpy.events[0].detail;
25
+ expect(detail.selectedRows[0].data).toEqual(data[0]);
26
+ expect(detail.selectedRows[0].selected).toBe(true);
27
+ expect(detail.changedRow.selected).toBe(true);
28
+ expect(detail.changedRow.data).toEqual(data[0]);
29
+ });
30
+ });
31
+ test.describe('multiple', () => {
32
+ test('should emit a wcsGridSelectionChange event when a row is selected', async ({ page }) => {
33
+ // Given
34
+ const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
35
+ await setWcsContent(page, `
36
+ <wcs-grid id="simpleGrid" selection-config="multiple" sort="">
37
+ <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
38
+ </wcs-grid>
39
+ `);
40
+ const simpleGrid = page.locator('#simpleGrid');
41
+ await simpleGrid.evaluate((el, d) => el.data = d, data);
42
+ const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');
43
+ // When
44
+ const wcsCheckboxFirstRow = simpleGrid.locator('table tbody tr:first-child td wcs-checkbox');
45
+ await wcsCheckboxFirstRow.click();
46
+ await page.waitForChanges();
47
+ // Then
48
+ expect(selectionSpy).toHaveReceivedEventTimes(1);
49
+ const detail = selectionSpy.events[0].detail;
50
+ expect(detail.selectedRows[0].data).toEqual(data[0]);
51
+ expect(detail.selectedRows[0].selected).toBe(true);
52
+ expect(detail.changedRow.selected).toBe(true);
53
+ expect(detail.changedRow.data).toEqual(data[0]);
54
+ });
55
+ test('should emit a wcsGridSelectionChange event when a row is unselected', async ({ page }) => {
56
+ // Given
57
+ const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
58
+ await setWcsContent(page, `
59
+ <wcs-grid id="simpleGrid" selection-config="multiple" sort="">
60
+ <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
61
+ </wcs-grid>
62
+ `);
63
+ const simpleGrid = page.locator('#simpleGrid');
64
+ await simpleGrid.evaluate((el, d) => el.data = d, data);
65
+ const wcsCheckboxFirstRow = simpleGrid.locator('table tbody tr:first-child td wcs-checkbox');
66
+ await wcsCheckboxFirstRow.click(); // Row is selected
67
+ await page.waitForChanges();
68
+ const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');
69
+ // When
70
+ await wcsCheckboxFirstRow.click(); // Row is unselected
71
+ await page.waitForChanges();
72
+ // Then
73
+ expect(selectionSpy).toHaveReceivedEventTimes(1);
74
+ const detail = selectionSpy.events[0].detail;
75
+ expect(detail.selectedRows).toEqual([]);
76
+ expect(detail.changedRow.selected).toBe(false);
77
+ expect(detail.changedRow.data).toEqual(data[0]);
78
+ });
79
+ test('should emit a wcsGridSelectionChange event when a new row is selected while another are already selected', async ({ page }) => {
80
+ // Given
81
+ const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
82
+ await setWcsContent(page, `
83
+ <wcs-grid id="simpleGrid" selection-config="multiple" sort="">
84
+ <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
85
+ </wcs-grid>
86
+ `);
87
+ const simpleGrid = page.locator('#simpleGrid');
88
+ await simpleGrid.evaluate((el, d) => el.data = d, data);
89
+ const wcsCheckboxFirstRow = simpleGrid.locator('table tbody tr:first-child td wcs-checkbox');
90
+ await wcsCheckboxFirstRow.click();
91
+ await page.waitForChanges();
92
+ const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');
93
+ // When
94
+ const wcsCheckboxLastChild = simpleGrid.locator('table tbody tr:last-child td wcs-checkbox');
95
+ await wcsCheckboxLastChild.click();
96
+ await page.waitForChanges();
97
+ // Then
98
+ expect(selectionSpy).toHaveReceivedEventTimes(1);
99
+ const detail = selectionSpy.events[0].detail;
100
+ expect(detail.selectedRows.length).toBe(2);
101
+ expect(detail.selectedRows[0].data).toEqual(data[0]);
102
+ expect(detail.selectedRows[1].data).toEqual(data[data.length - 1]);
103
+ expect(detail.changedRow.selected).toBe(true);
104
+ expect(detail.changedRow.data).toEqual(data[data.length - 1]);
105
+ });
106
+ test('should emit a wcsGridSelectionChange event when all rows are selected', async ({ page }) => {
107
+ // Given
108
+ const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
109
+ await setWcsContent(page, `
110
+ <wcs-grid id="simpleGrid" selection-config="multiple" sort="">
111
+ <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
112
+ </wcs-grid>
113
+ `);
114
+ const simpleGrid = page.locator('#simpleGrid');
115
+ await simpleGrid.evaluate((el, d) => el.data = d, data);
116
+ const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');
117
+ // When
118
+ const wcsCheckboxAll = simpleGrid.locator('table thead th:first-child wcs-checkbox');
119
+ await wcsCheckboxAll.click();
120
+ await page.waitForChanges();
121
+ // Then
122
+ expect(selectionSpy).toHaveReceivedEventTimes(1);
123
+ const detail = selectionSpy.events[0].detail;
124
+ expect(detail.selectedRows.length).toBe(data.length);
125
+ expect(detail.changedRow).toBe('allCheckbox');
126
+ });
127
+ });
128
+ });
129
+ test.describe('Sort', () => {
130
+ test('should well sort with pagination', async ({ page }) => {
131
+ const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Zoe' }];
132
+ await setWcsContent(page, `
133
+ <wcs-grid id="simpleGrid" selection-config="multiple">
134
+ <wcs-grid-column path="first_name" name="First Name" sort sort-order="desc"></wcs-grid-column>
135
+ <wcs-grid-pagination available-page-sizes="2"></wcs-grid-pagination>
136
+ </wcs-grid>
137
+ `);
138
+ const simpleGrid = page.locator('#simpleGrid');
139
+ await simpleGrid.evaluate((el, d) => el.data = d, data);
140
+ // First page should contain 2 elements (page-size = 2) sorted descending by first_name
141
+ // Data order before sort: John, Doe, Jane, Zoe
142
+ // After descending sort: Zoe, John, Jane, Doe
143
+ // Page 1 should show Zoe, John
144
+ const firstRowFirstCell = simpleGrid.locator('table tbody tr:first-child td:last-child');
145
+ const secondRowFirstCell = simpleGrid.locator('table tbody tr:nth-child(2) td:last-child');
146
+ await expect(async () => {
147
+ await expect(firstRowFirstCell).toHaveText('Zoe');
148
+ await expect(secondRowFirstCell).toHaveText('John');
149
+ }).toPass();
150
+ });
151
+ });
152
+ });
153
+ //# sourceMappingURL=grid.e2e.playwright.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.e2e.playwright.js","sourceRoot":"","sources":["../../../src/components/grid/grid.e2e.playwright.ts"],"names":[],"mappings":"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","sourcesContent":["import { setWcsContent } from '../../utils/playwright/test';\nimport { test, E2EPage } from \"@stencil/playwright\";\n\nimport { expect } from \"@playwright/test\";\n\ntest.describe('Grid component', () => {\n test.describe('Events', () => {\n test.describe('simple', () => {\n test('should emit a wcsGridSelectionChange event when a row is selected', async ({ page }: { page: E2EPage }) => {\n // Given\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"single\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const gridRadioFirstRow = simpleGrid.locator('table tbody tr:first-child td .grid-radio');\n await gridRadioFirstRow.click();\n await page.waitForChanges();\n\n // Then\n expect(selectionSpy).toHaveReceivedEventTimes(1);\n const detail = selectionSpy.events[0].detail;\n expect(detail.selectedRows[0].data).toEqual(data[0]);\n expect(detail.selectedRows[0].selected).toBe(true);\n expect(detail.changedRow.selected).toBe(true);\n expect(detail.changedRow.data).toEqual(data[0]);\n });\n });\n\n test.describe('multiple', () => {\n test('should emit a wcsGridSelectionChange event when a row is selected', async ({ page }: { page: E2EPage }) => {\n // Given\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const wcsCheckboxFirstRow = simpleGrid.locator('table tbody tr:first-child td wcs-checkbox');\n await wcsCheckboxFirstRow.click();\n await page.waitForChanges();\n\n // Then\n expect(selectionSpy).toHaveReceivedEventTimes(1);\n const detail = selectionSpy.events[0].detail;\n expect(detail.selectedRows[0].data).toEqual(data[0]);\n expect(detail.selectedRows[0].selected).toBe(true);\n expect(detail.changedRow.selected).toBe(true);\n expect(detail.changedRow.data).toEqual(data[0]);\n });\n\n test('should emit a wcsGridSelectionChange event when a row is unselected', async ({ page }: { page: E2EPage }) => {\n // Given\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n const wcsCheckboxFirstRow = simpleGrid.locator('table tbody tr:first-child td wcs-checkbox');\n await wcsCheckboxFirstRow.click(); // Row is selected\n await page.waitForChanges();\n\n const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');\n\n // When\n await wcsCheckboxFirstRow.click(); // Row is unselected\n await page.waitForChanges();\n\n // Then\n expect(selectionSpy).toHaveReceivedEventTimes(1);\n const detail = selectionSpy.events[0].detail;\n expect(detail.selectedRows).toEqual([]);\n expect(detail.changedRow.selected).toBe(false);\n expect(detail.changedRow.data).toEqual(data[0]);\n });\n\n test('should emit a wcsGridSelectionChange event when a new row is selected while another are already selected', async ({ page }: { page: E2EPage }) => {\n // Given\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n const wcsCheckboxFirstRow = simpleGrid.locator('table tbody tr:first-child td wcs-checkbox');\n await wcsCheckboxFirstRow.click();\n await page.waitForChanges();\n\n const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const wcsCheckboxLastChild = simpleGrid.locator('table tbody tr:last-child td wcs-checkbox');\n await wcsCheckboxLastChild.click();\n await page.waitForChanges();\n\n // Then\n expect(selectionSpy).toHaveReceivedEventTimes(1);\n const detail = selectionSpy.events[0].detail;\n expect(detail.selectedRows.length).toBe(2);\n expect(detail.selectedRows[0].data).toEqual(data[0]);\n expect(detail.selectedRows[1].data).toEqual(data[data.length - 1]);\n expect(detail.changedRow.selected).toBe(true);\n expect(detail.changedRow.data).toEqual(data[data.length - 1]);\n });\n\n test('should emit a wcsGridSelectionChange event when all rows are selected', async ({ page }: { page: E2EPage }) => {\n // Given\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\" sort=\"\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n </wcs-grid>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n const selectionSpy = await page.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const wcsCheckboxAll = simpleGrid.locator('table thead th:first-child wcs-checkbox');\n await wcsCheckboxAll.click();\n await page.waitForChanges();\n\n // Then\n expect(selectionSpy).toHaveReceivedEventTimes(1);\n const detail = selectionSpy.events[0].detail;\n expect(detail.selectedRows.length).toBe(data.length);\n expect(detail.changedRow).toBe('allCheckbox');\n });\n });\n });\n\n test.describe('Sort', () => {\n test('should well sort with pagination', async ({ page }: { page: E2EPage }) => {\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Zoe' }];\n await setWcsContent(page, `\n <wcs-grid id=\"simpleGrid\" selection-config=\"multiple\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\" sort sort-order=\"desc\"></wcs-grid-column>\n <wcs-grid-pagination available-page-sizes=\"2\"></wcs-grid-pagination>\n </wcs-grid>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n // First page should contain 2 elements (page-size = 2) sorted descending by first_name\n // Data order before sort: John, Doe, Jane, Zoe\n // After descending sort: Zoe, John, Jane, Doe\n // Page 1 should show Zoe, John\n\n const firstRowFirstCell = simpleGrid.locator('table tbody tr:first-child td:last-child');\n const secondRowFirstCell = simpleGrid.locator('table tbody tr:nth-child(2) td:last-child');\n\n await expect(async () => {\n await expect(firstRowFirstCell).toHaveText('Zoe');\n await expect(secondRowFirstCell).toHaveText('John');\n }).toPass();\n });\n });\n});\n"]}
@@ -77,6 +77,7 @@ export class Grid {
77
77
  onDataChange(newValue) {
78
78
  this.updateGridRows(newValue);
79
79
  this.refreshSort(false);
80
+ this.updatePageIndex();
80
81
  }
81
82
  onSelectedItemsPropertyChange(newValue) {
82
83
  this.updateSelectionWithValues(newValue);
@@ -282,7 +283,6 @@ export class Grid {
282
283
  rows.push(row);
283
284
  }
284
285
  this.rows = rows;
285
- this.updatePageIndex();
286
286
  }
287
287
  }
288
288
  componentDidLoad() {
@@ -295,6 +295,7 @@ export class Grid {
295
295
  this.updateSelectionWithValues(this.selectedItems);
296
296
  }
297
297
  this.refreshSort(true);
298
+ this.updatePageIndex();
298
299
  }
299
300
  componentWillLoad() {
300
301
  this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, GRID_INHERITED_ATTRS));
@@ -505,12 +506,12 @@ export class Grid {
505
506
  }
506
507
  render() {
507
508
  var _a, _b, _c, _d;
508
- return (h(Host, { key: '98d13e7497ec9d9ecd3e149b3f6986e16bc5cc2a' }, h("table", Object.assign({ key: 'a44825cf71ff284a5204e9d922c0eba2c2ca23f4', role: "grid", ref: (el) => (this.nativeTable = el), "aria-rowcount": !this.loading && ((_a = this.rows) === null || _a === void 0 ? void 0 : _a.length), "aria-colcount": !this.loading && this.totalDisplayedColumnCount() }, this.inheritedAttributes), h("thead", { key: '336578d350ae8082a19fa6798af35f2fdd015ff9' }, h("tr", { key: 'fdb38402ea5c58dd77dad7df2ef97d54c521123c', "aria-rowindex": "1" }, this.selectionConfig === 'none' ? ''
509
+ return (h(Host, { key: '1e9b1d5dc405c67428750276de3e38e8e163d20e' }, h("table", Object.assign({ key: '42e610c403c108f36c2f5e4eb276b9e1c6349b8c', role: "grid", ref: (el) => (this.nativeTable = el), "aria-rowcount": !this.loading && ((_a = this.rows) === null || _a === void 0 ? void 0 : _a.length), "aria-colcount": !this.loading && this.totalDisplayedColumnCount() }, this.inheritedAttributes), h("thead", { key: '365bf4de9329c94c5c891040b14ca844c6e8fd99' }, h("tr", { key: '9d1e4c4cf0418f585679a055edbb88ca08493d3d', "aria-rowindex": "1" }, this.selectionConfig === 'none' ? ''
509
510
  : h("th", { class: "wcs-grid-selection-column" }, this.selectionConfig === 'single' ? '' :
510
511
  h("wcs-checkbox", { tabIndex: ((_b = this.cursorPosition) === null || _b === void 0 ? void 0 : _b.col) === 0
511
- && ((_c = this.cursorPosition) === null || _c === void 0 ? void 0 : _c.row) === 0 ? 0 : -1, part: "all-rows-checkbox", checked: this.allRowsAreSelected(), onWcsChange: this.selectAllRows.bind(this) })), h("slot", { key: '2d68b72fac0251dab9f519cf84c25c96262c193b', name: "grid-column" }))), h("tbody", { key: '4156e796ac5a81170b5dba011159f8e6bb7a7e60' }, this.loading
512
+ && ((_c = this.cursorPosition) === null || _c === void 0 ? void 0 : _c.row) === 0 ? 0 : -1, part: "all-rows-checkbox", checked: this.allRowsAreSelected(), onWcsChange: this.selectAllRows.bind(this) })), h("slot", { key: '4c1ed31eeaf61d0f94a156cc97b393abafdfb6e3', name: "grid-column" }))), h("tbody", { key: '5758c76c248e9e54759bd008310047a5c670339a' }, this.loading
512
513
  ? h("tr", { "aria-busy": "true" }, h("td", { colSpan: this.totalColumnCount(), class: "loading" }, h("wcs-spinner", null)))
513
- : (_d = this.rows) === null || _d === void 0 ? void 0 : _d.filter(row => this.serverMode || !this.paginationEl || row.page === this.paginationEl.currentPage).map((row, index) => this.renderRow(row, index)))), h("slot", { key: 'c683eb883707ffbd1fed22d86ececb595f70c2c0', name: "grid-pagination" })));
514
+ : (_d = this.rows) === null || _d === void 0 ? void 0 : _d.filter(row => this.serverMode || !this.paginationEl || row.page === this.paginationEl.currentPage).map((row, index) => this.renderRow(row, index)))), h("slot", { key: '170e79b086e8235ae736c8cc54512b0e3bb0e7ab', name: "grid-pagination" })));
514
515
  }
515
516
  /**
516
517
  * Returns the row with all mapped cells inside.
@@ -820,7 +821,7 @@ export class Grid {
820
821
  "signature": "(attr: AriaAttributeName, value: string | null | undefined) => Promise<void>",
821
822
  "parameters": [{
822
823
  "name": "attr",
823
- "type": "\"role\" | `aria-${string}`",
824
+ "type": "`aria-${string}` | \"role\"",
824
825
  "docs": ""
825
826
  }, {
826
827
  "name": "value",