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.
Files changed (302) 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/accessibility-5f681a74.js.map +1 -1
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/{popper-8d6e7fca.js → popper-1b61df21.js} +10 -17
  13. package/dist/cjs/popper-1b61df21.js.map +1 -0
  14. package/dist/cjs/wcs-accordion-panel.cjs.entry.js +1 -1
  15. package/dist/cjs/wcs-accordion-panel.cjs.entry.js.map +1 -1
  16. package/dist/cjs/wcs-accordion.cjs.entry.js +2 -1
  17. package/dist/cjs/wcs-accordion.cjs.entry.js.map +1 -1
  18. package/dist/cjs/wcs-breadcrumb.cjs.entry.js +1 -1
  19. package/dist/cjs/wcs-breadcrumb.cjs.entry.js.map +1 -1
  20. package/dist/cjs/wcs-checkbox.cjs.entry.js +3 -2
  21. package/dist/cjs/wcs-checkbox.cjs.entry.js.map +1 -1
  22. package/dist/cjs/wcs-chip.cjs.entry.js +102 -0
  23. package/dist/cjs/wcs-chip.cjs.entry.js.map +1 -0
  24. package/dist/cjs/wcs-com-nav-item.cjs.entry.js +1 -1
  25. package/dist/cjs/wcs-com-nav-item.cjs.entry.js.map +1 -1
  26. package/dist/cjs/wcs-com-nav.cjs.entry.js +3 -3
  27. package/dist/cjs/wcs-com-nav.cjs.entry.js.map +1 -1
  28. package/dist/cjs/wcs-dropdown.cjs.entry.js +1 -1
  29. package/dist/cjs/wcs-error_3.cjs.entry.js +1 -1
  30. package/dist/cjs/wcs-error_3.cjs.entry.js.map +1 -1
  31. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +1 -1
  32. package/dist/cjs/wcs-grid.cjs.entry.js +5 -4
  33. package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
  34. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +3 -2
  35. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js.map +1 -1
  36. package/dist/cjs/wcs-modal.cjs.entry.js +2 -2
  37. package/dist/cjs/wcs-modal.cjs.entry.js.map +1 -1
  38. package/dist/cjs/wcs-select_2.cjs.entry.js +59 -24
  39. package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
  40. package/dist/cjs/wcs-tabs.cjs.entry.js +1 -1
  41. package/dist/cjs/wcs-tooltip.cjs.entry.js +1 -1
  42. package/dist/cjs/wcs.cjs.js +1 -1
  43. package/dist/collection/collection-manifest.json +1 -0
  44. package/dist/collection/components/accordion/accordion.e2e.playwright.js +183 -0
  45. package/dist/collection/components/accordion/accordion.e2e.playwright.js.map +1 -0
  46. package/dist/collection/components/accordion/accordion.js +2 -1
  47. package/dist/collection/components/accordion/accordion.js.map +1 -1
  48. package/dist/collection/components/accordion-panel/accordion-panel.js +3 -3
  49. package/dist/collection/components/accordion-panel/accordion-panel.js.map +1 -1
  50. package/dist/collection/components/alert/alert.e2e.playwright.js +125 -0
  51. package/dist/collection/components/alert/alert.e2e.playwright.js.map +1 -0
  52. package/dist/collection/components/alert-drawer/alert-drawer.e2e.playwright.js +107 -0
  53. package/dist/collection/components/alert-drawer/alert-drawer.e2e.playwright.js.map +1 -0
  54. package/dist/collection/components/breadcrumb/breadcrumb.e2e.playwright.js +188 -0
  55. package/dist/collection/components/breadcrumb/breadcrumb.e2e.playwright.js.map +1 -0
  56. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  57. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  58. package/dist/collection/components/button/button.e2e.playwright.js +26 -0
  59. package/dist/collection/components/button/button.e2e.playwright.js.map +1 -0
  60. package/dist/collection/components/button/button.js +1 -1
  61. package/dist/collection/components/checkbox/checkbox.css +3 -0
  62. package/dist/collection/components/checkbox/checkbox.e2e.playwright.js +39 -0
  63. package/dist/collection/components/checkbox/checkbox.e2e.playwright.js.map +1 -0
  64. package/dist/collection/components/checkbox/checkbox.js +21 -2
  65. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  66. package/dist/collection/components/chip/chip-interface.js +2 -0
  67. package/dist/collection/components/chip/chip-interface.js.map +1 -0
  68. package/dist/collection/components/chip/chip.css +220 -0
  69. package/dist/collection/components/chip/chip.e2e.playwright.js +190 -0
  70. package/dist/collection/components/chip/chip.e2e.playwright.js.map +1 -0
  71. package/dist/collection/components/chip/chip.js +341 -0
  72. package/dist/collection/components/chip/chip.js.map +1 -0
  73. package/dist/collection/components/com-nav/com-nav.css +15 -0
  74. package/dist/collection/components/com-nav/{com-nav.e2e.js → com-nav.e2e.playwright.js} +60 -44
  75. package/dist/collection/components/com-nav/com-nav.e2e.playwright.js.map +1 -0
  76. package/dist/collection/components/com-nav/com-nav.js +3 -3
  77. package/dist/collection/components/com-nav/com-nav.js.map +1 -1
  78. package/dist/collection/components/com-nav-category/com-nav-category.js +1 -1
  79. package/dist/collection/components/com-nav-item/com-nav-item.css +2 -2
  80. package/dist/collection/components/com-nav-submenu/com-nav-submenu.js +1 -1
  81. package/dist/collection/components/counter/counter.e2e.playwright.js +187 -0
  82. package/dist/collection/components/counter/counter.e2e.playwright.js.map +1 -0
  83. package/dist/collection/components/counter/counter.js +1 -1
  84. package/dist/collection/components/dropdown/dropdown.e2e.playwright.js +320 -0
  85. package/dist/collection/components/dropdown/dropdown.e2e.playwright.js.map +1 -0
  86. package/dist/collection/components/dropdown/dropdown.js +1 -1
  87. package/dist/collection/components/editable-field/editable-field.e2e.playwright.js +156 -0
  88. package/dist/collection/components/editable-field/editable-field.e2e.playwright.js.map +1 -0
  89. package/dist/collection/components/form-field/form-field.e2e.playwright.js +104 -0
  90. package/dist/collection/components/form-field/form-field.e2e.playwright.js.map +1 -0
  91. package/dist/collection/components/galactic-menu/galactic-menu.js +1 -1
  92. package/dist/collection/components/grid/grid.e2e.playwright.js +153 -0
  93. package/dist/collection/components/grid/grid.e2e.playwright.js.map +1 -0
  94. package/dist/collection/components/grid/grid.js +6 -5
  95. package/dist/collection/components/grid/grid.js.map +1 -1
  96. package/dist/collection/components/grid-column/grid-column.js +1 -1
  97. package/dist/collection/components/grid-pagination/grid-pagination.js +1 -1
  98. package/dist/collection/components/header/header.js +1 -1
  99. package/dist/collection/components/horizontal-stepper/horizontal-step.js +2 -1
  100. package/dist/collection/components/horizontal-stepper/horizontal-step.js.map +1 -1
  101. package/dist/collection/components/horizontal-stepper/horizontal-stepper-interface.js.map +1 -1
  102. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +5 -1
  103. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js.map +1 -1
  104. package/dist/collection/components/icon/icon.js +1 -1
  105. package/dist/collection/components/input/input.e2e.playwright.js +157 -0
  106. package/dist/collection/components/input/input.e2e.playwright.js.map +1 -0
  107. package/dist/collection/components/input/input.js +2 -2
  108. package/dist/collection/components/label/label.css +4 -6
  109. package/dist/collection/components/label/label.js +1 -1
  110. package/dist/collection/components/mat-icon/mat-icon.js +1 -1
  111. package/dist/collection/components/modal/modal.css +4 -0
  112. package/dist/collection/components/modal/modal.e2e.playwright.js +35 -0
  113. package/dist/collection/components/modal/modal.e2e.playwright.js.map +1 -0
  114. package/dist/collection/components/modal/modal.js +2 -2
  115. package/dist/collection/components/modal/modal.js.map +1 -1
  116. package/dist/collection/components/native-select/native-select.js +1 -1
  117. package/dist/collection/components/nav/nav.js +1 -1
  118. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  119. package/dist/collection/components/progress-radial/progress-radial.js +1 -1
  120. package/dist/collection/components/radio/radio.js +1 -1
  121. package/dist/collection/components/radio-group/radio-group.e2e.playwright.js +231 -0
  122. package/dist/collection/components/radio-group/radio-group.e2e.playwright.js.map +1 -0
  123. package/dist/collection/components/radio-group/radio-group.js +1 -1
  124. package/dist/collection/components/select/select.e2e.playwright.js +1702 -0
  125. package/dist/collection/components/select/select.e2e.playwright.js.map +1 -0
  126. package/dist/collection/components/select/select.js +49 -20
  127. package/dist/collection/components/select/select.js.map +1 -1
  128. package/dist/collection/components/select-option/select-option.js +3 -3
  129. package/dist/collection/components/select-option/select-option.js.map +1 -1
  130. package/dist/collection/components/switch/switch.e2e.playwright.js +40 -0
  131. package/dist/collection/components/switch/switch.e2e.playwright.js.map +1 -0
  132. package/dist/collection/components/switch/switch.js +1 -1
  133. package/dist/collection/components/tabs/tabs.e2e.playwright.js +205 -0
  134. package/dist/collection/components/tabs/tabs.e2e.playwright.js.map +1 -0
  135. package/dist/collection/components/tabs/tabs.js +1 -1
  136. package/dist/collection/components/textarea/textarea.e2e.playwright.js +133 -0
  137. package/dist/collection/components/textarea/textarea.e2e.playwright.js.map +1 -0
  138. package/dist/collection/components/textarea/textarea.js +1 -1
  139. package/dist/collection/utils/accessibility.js +16 -0
  140. package/dist/collection/utils/accessibility.js.map +1 -1
  141. package/dist/collection/utils/playwright/test-expect.js +2 -0
  142. package/dist/collection/utils/playwright/test-expect.js.map +1 -0
  143. package/dist/collection/utils/playwright/test.js +16 -0
  144. package/dist/collection/utils/playwright/test.js.map +1 -0
  145. package/dist/esm/accessibility-069640cf.js.map +1 -1
  146. package/dist/esm/loader.js +1 -1
  147. package/dist/esm/{popper-e491c314.js → popper-ac238961.js} +10 -17
  148. package/dist/esm/popper-ac238961.js.map +1 -0
  149. package/dist/esm/wcs-accordion-panel.entry.js +1 -1
  150. package/dist/esm/wcs-accordion-panel.entry.js.map +1 -1
  151. package/dist/esm/wcs-accordion.entry.js +2 -1
  152. package/dist/esm/wcs-accordion.entry.js.map +1 -1
  153. package/dist/esm/wcs-breadcrumb.entry.js +1 -1
  154. package/dist/esm/wcs-breadcrumb.entry.js.map +1 -1
  155. package/dist/esm/wcs-checkbox.entry.js +3 -2
  156. package/dist/esm/wcs-checkbox.entry.js.map +1 -1
  157. package/dist/esm/wcs-chip.entry.js +98 -0
  158. package/dist/esm/wcs-chip.entry.js.map +1 -0
  159. package/dist/esm/wcs-com-nav-item.entry.js +1 -1
  160. package/dist/esm/wcs-com-nav-item.entry.js.map +1 -1
  161. package/dist/esm/wcs-com-nav.entry.js +3 -3
  162. package/dist/esm/wcs-com-nav.entry.js.map +1 -1
  163. package/dist/esm/wcs-dropdown.entry.js +1 -1
  164. package/dist/esm/wcs-error_3.entry.js +1 -1
  165. package/dist/esm/wcs-error_3.entry.js.map +1 -1
  166. package/dist/esm/wcs-galactic-menu.entry.js +1 -1
  167. package/dist/esm/wcs-grid.entry.js +5 -4
  168. package/dist/esm/wcs-grid.entry.js.map +1 -1
  169. package/dist/esm/wcs-horizontal-stepper.entry.js +3 -2
  170. package/dist/esm/wcs-horizontal-stepper.entry.js.map +1 -1
  171. package/dist/esm/wcs-modal.entry.js +2 -2
  172. package/dist/esm/wcs-modal.entry.js.map +1 -1
  173. package/dist/esm/wcs-select_2.entry.js +59 -24
  174. package/dist/esm/wcs-select_2.entry.js.map +1 -1
  175. package/dist/esm/wcs-tabs.entry.js +1 -1
  176. package/dist/esm/wcs-tooltip.entry.js +1 -1
  177. package/dist/esm/wcs.js +1 -1
  178. package/dist/types/components/accordion/accordion.e2e.playwright.d.ts +1 -0
  179. package/dist/types/components/accordion-panel/accordion-panel.d.ts +5 -0
  180. package/dist/types/components/alert/alert.e2e.playwright.d.ts +1 -0
  181. package/dist/types/components/alert-drawer/alert-drawer.e2e.playwright.d.ts +1 -0
  182. package/dist/types/components/breadcrumb/breadcrumb.e2e.playwright.d.ts +1 -0
  183. package/dist/types/components/button/button.e2e.playwright.d.ts +1 -0
  184. package/dist/types/components/checkbox/checkbox.d.ts +4 -0
  185. package/dist/types/components/checkbox/checkbox.e2e.playwright.d.ts +1 -0
  186. package/dist/types/components/chip/chip-interface.d.ts +4 -0
  187. package/dist/types/components/chip/chip.d.ts +132 -0
  188. package/dist/types/components/chip/chip.e2e.playwright.d.ts +1 -0
  189. package/dist/types/components/com-nav/com-nav.e2e.playwright.d.ts +1 -0
  190. package/dist/types/components/counter/counter.e2e.playwright.d.ts +1 -0
  191. package/dist/types/components/dropdown/dropdown.e2e.playwright.d.ts +1 -0
  192. package/dist/types/components/editable-field/editable-field.e2e.playwright.d.ts +1 -0
  193. package/dist/types/components/form-field/form-field.e2e.playwright.d.ts +1 -0
  194. package/dist/types/components/grid/grid.e2e.playwright.d.ts +1 -0
  195. package/dist/types/components/horizontal-stepper/horizontal-stepper-interface.d.ts +2 -0
  196. package/dist/types/components/horizontal-stepper/horizontal-stepper.d.ts +4 -0
  197. package/dist/types/components/input/input.e2e.playwright.d.ts +1 -0
  198. package/dist/types/components/modal/modal.e2e.playwright.d.ts +1 -0
  199. package/dist/types/components/radio-group/radio-group.e2e.playwright.d.ts +1 -0
  200. package/dist/types/components/select/select.d.ts +7 -1
  201. package/dist/types/components/select/select.e2e.playwright.d.ts +1 -0
  202. package/dist/types/components/switch/switch.e2e.playwright.d.ts +1 -0
  203. package/dist/types/components/tabs/tabs.e2e.playwright.d.ts +1 -0
  204. package/dist/types/components/textarea/textarea.e2e.playwright.d.ts +1 -0
  205. package/dist/types/components.d.ts +354 -0
  206. package/dist/types/utils/accessibility.d.ts +7 -0
  207. package/dist/types/utils/playwright/test-expect.d.ts +33 -0
  208. package/dist/types/utils/playwright/test.d.ts +7 -0
  209. package/dist/wcs/{p-8e9bd0f1.entry.js → p-0326f834.entry.js} +2 -2
  210. package/dist/wcs/{p-8e9bd0f1.entry.js.map → p-0326f834.entry.js.map} +1 -1
  211. package/dist/wcs/p-2221bf0c.entry.js +16 -0
  212. package/dist/wcs/p-2221bf0c.entry.js.map +1 -0
  213. package/dist/wcs/p-4ae08567.entry.js +2 -0
  214. package/dist/wcs/p-4ae08567.entry.js.map +1 -0
  215. package/dist/wcs/p-4e2d6227.entry.js +2 -0
  216. package/dist/wcs/p-4e2d6227.entry.js.map +1 -0
  217. package/dist/wcs/p-828b45b4.entry.js +2 -0
  218. package/dist/wcs/p-828b45b4.entry.js.map +1 -0
  219. package/dist/wcs/p-8332a7e3.entry.js +2 -0
  220. package/dist/wcs/p-8332a7e3.entry.js.map +1 -0
  221. package/dist/wcs/p-990698a7.entry.js +2 -0
  222. package/dist/wcs/p-990698a7.entry.js.map +1 -0
  223. package/dist/wcs/{p-ec383729.entry.js → p-9b76b8e6.entry.js} +2 -2
  224. package/dist/wcs/{p-ec383729.entry.js.map → p-9b76b8e6.entry.js.map} +1 -1
  225. package/dist/wcs/{p-1f593d06.entry.js → p-abd8d5a0.entry.js} +2 -2
  226. package/dist/wcs/{p-622f7403.entry.js → p-c6f8c45c.entry.js} +2 -2
  227. package/dist/wcs/{p-a94e685c.entry.js → p-db7ba599.entry.js} +2 -2
  228. package/dist/wcs/p-e1fb3625.js +2 -0
  229. package/dist/wcs/p-e1fb3625.js.map +1 -0
  230. package/dist/wcs/p-ed3b0709.entry.js +2 -0
  231. package/dist/wcs/p-ed3b0709.entry.js.map +1 -0
  232. package/dist/wcs/{p-6c6079ee.entry.js → p-f2eeb249.entry.js} +2 -2
  233. package/dist/wcs/{p-6c6079ee.entry.js.map → p-f2eeb249.entry.js.map} +1 -1
  234. package/dist/wcs/{p-a956dc84.entry.js → p-f2f7595e.entry.js} +2 -2
  235. package/dist/wcs/{p-a956dc84.entry.js.map → p-f2f7595e.entry.js.map} +1 -1
  236. package/dist/wcs/p-fb2751c2.js.map +1 -1
  237. package/dist/wcs/p-fbd68522.entry.js +2 -0
  238. package/dist/wcs/p-fbd68522.entry.js.map +1 -0
  239. package/dist/wcs/{p-8c2605fd.entry.js → p-fe303f58.entry.js} +2 -2
  240. package/dist/wcs/wcs.esm.js +1 -1
  241. package/dist/wcs/wcs.esm.js.map +1 -1
  242. package/package.json +18 -24
  243. package/dist/cjs/popper-8d6e7fca.js.map +0 -1
  244. package/dist/collection/components/alert/alert.e2e.js +0 -142
  245. package/dist/collection/components/alert/alert.e2e.js.map +0 -1
  246. package/dist/collection/components/alert-drawer/alert-drawer.e2e.js +0 -111
  247. package/dist/collection/components/alert-drawer/alert-drawer.e2e.js.map +0 -1
  248. package/dist/collection/components/breadcrumb/breadcrumb.e2e.js +0 -223
  249. package/dist/collection/components/breadcrumb/breadcrumb.e2e.js.map +0 -1
  250. package/dist/collection/components/button/button.e2e.js +0 -25
  251. package/dist/collection/components/button/button.e2e.js.map +0 -1
  252. package/dist/collection/components/checkbox/checkbox.e2e.js +0 -45
  253. package/dist/collection/components/checkbox/checkbox.e2e.js.map +0 -1
  254. package/dist/collection/components/com-nav/com-nav.e2e.js.map +0 -1
  255. package/dist/collection/components/counter/counter.e2e.js +0 -206
  256. package/dist/collection/components/counter/counter.e2e.js.map +0 -1
  257. package/dist/collection/components/dropdown/dropdown.e2e.js +0 -156
  258. package/dist/collection/components/dropdown/dropdown.e2e.js.map +0 -1
  259. package/dist/collection/components/editable-field/editable-field.e2e.js +0 -176
  260. package/dist/collection/components/editable-field/editable-field.e2e.js.map +0 -1
  261. package/dist/collection/components/form-field/form-field.e2e.js +0 -122
  262. package/dist/collection/components/form-field/form-field.e2e.js.map +0 -1
  263. package/dist/collection/components/grid/grid.e2e.js +0 -147
  264. package/dist/collection/components/grid/grid.e2e.js.map +0 -1
  265. package/dist/collection/components/input/input.e2e.js +0 -152
  266. package/dist/collection/components/input/input.e2e.js.map +0 -1
  267. package/dist/collection/components/modal/modal.e2e.js +0 -36
  268. package/dist/collection/components/modal/modal.e2e.js.map +0 -1
  269. package/dist/collection/components/radio-group/radio-group.e2e.js +0 -239
  270. package/dist/collection/components/radio-group/radio-group.e2e.js.map +0 -1
  271. package/dist/collection/components/select/select.e2e.js +0 -1081
  272. package/dist/collection/components/select/select.e2e.js.map +0 -1
  273. package/dist/collection/components/switch/switch.e2e.js +0 -45
  274. package/dist/collection/components/switch/switch.e2e.js.map +0 -1
  275. package/dist/collection/components/tabs/tabs.e2e.js +0 -207
  276. package/dist/collection/components/tabs/tabs.e2e.js.map +0 -1
  277. package/dist/collection/components/textarea/textarea.e2e.js +0 -132
  278. package/dist/collection/components/textarea/textarea.e2e.js.map +0 -1
  279. package/dist/collection/utils/tests.js +0 -23
  280. package/dist/collection/utils/tests.js.map +0 -1
  281. package/dist/esm/popper-e491c314.js.map +0 -1
  282. package/dist/types/utils/tests.d.ts +0 -4
  283. package/dist/wcs/p-02f31010.entry.js +0 -2
  284. package/dist/wcs/p-02f31010.entry.js.map +0 -1
  285. package/dist/wcs/p-0dd07842.entry.js +0 -2
  286. package/dist/wcs/p-0dd07842.entry.js.map +0 -1
  287. package/dist/wcs/p-0f864e86.js +0 -2
  288. package/dist/wcs/p-0f864e86.js.map +0 -1
  289. package/dist/wcs/p-1244daa0.entry.js +0 -2
  290. package/dist/wcs/p-1244daa0.entry.js.map +0 -1
  291. package/dist/wcs/p-1fbe0328.entry.js +0 -2
  292. package/dist/wcs/p-1fbe0328.entry.js.map +0 -1
  293. package/dist/wcs/p-4fb2d985.entry.js +0 -2
  294. package/dist/wcs/p-4fb2d985.entry.js.map +0 -1
  295. package/dist/wcs/p-b94a09b6.entry.js +0 -16
  296. package/dist/wcs/p-b94a09b6.entry.js.map +0 -1
  297. package/dist/wcs/p-fd187bce.entry.js +0 -2
  298. package/dist/wcs/p-fd187bce.entry.js.map +0 -1
  299. /package/dist/wcs/{p-1f593d06.entry.js.map → p-abd8d5a0.entry.js.map} +0 -0
  300. /package/dist/wcs/{p-622f7403.entry.js.map → p-c6f8c45c.entry.js.map} +0 -0
  301. /package/dist/wcs/{p-a94e685c.entry.js.map → p-db7ba599.entry.js.map} +0 -0
  302. /package/dist/wcs/{p-8c2605fd.entry.js.map → p-fe303f58.entry.js.map} +0 -0
@@ -1,122 +0,0 @@
1
- import { newE2EPage } from "@stencil/core/testing";
2
- import { setWcsContent } from "../../utils/tests";
3
- describe('Form field component', () => {
4
- describe('Global', () => {
5
- describe('Accessibility', () => {
6
- it('Should put form-field label to aria-label of the spied element when non empty', async () => {
7
- // Given
8
- const page = await newE2EPage();
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 = await page.find('wcs-input >>> input');
17
- await page.waitForChanges();
18
- // Then
19
- const ariaLabel = input.getAttribute('aria-label');
20
- expect(ariaLabel).toBe('Label form field');
21
- });
22
- it('Should not put form-field label to aria-label of the spied element when empty', async () => {
23
- // Given
24
- const page = await newE2EPage();
25
- await setWcsContent(page, `
26
- <wcs-form-field>
27
- <wcs-label></wcs-label>
28
- <wcs-input/>
29
- </wcs-form-field>
30
- `);
31
- // When
32
- const input = await page.find('wcs-input >>> input');
33
- await page.waitForChanges();
34
- // Then
35
- const ariaLabel = input.getAttribute('aria-label');
36
- expect(ariaLabel).toBe(null);
37
- });
38
- it('Should not concatenate form-field label with form control (switch, checkbox label when form-field label is empty', async () => {
39
- // Given
40
- const page = await newE2EPage();
41
- await setWcsContent(page, `
42
- <wcs-form-field>
43
- <wcs-label></wcs-label>
44
- <wcs-switch>Label switch</wcs-switch>
45
- </wcs-form-field>
46
- `);
47
- // When
48
- const switchInput = await page.find('wcs-switch >>> input');
49
- await page.waitForChanges();
50
- // Then
51
- const ariaLabel = switchInput.getAttribute('aria-label');
52
- expect(ariaLabel).toBe('Label switch');
53
- });
54
- });
55
- });
56
- describe('With switch', () => {
57
- describe('Accessibility', () => {
58
- it('Should concatenate form-field label with switch label', async () => {
59
- // Given
60
- const page = await newE2EPage();
61
- await setWcsContent(page, `
62
- <wcs-form-field>
63
- <wcs-label>Label form field</wcs-label>
64
- <wcs-switch>Label switch</wcs-switch>
65
- </wcs-form-field>
66
- `);
67
- // When
68
- const switchInput = await page.find('wcs-switch >>> input');
69
- await page.waitForChanges();
70
- // Then
71
- const ariaLabel = switchInput.getAttribute('aria-label');
72
- expect(ariaLabel).toBe('Label form field Label switch');
73
- });
74
- });
75
- });
76
- describe('With checkbox', () => {
77
- describe('Accessibility', () => {
78
- it('Should concatenate form-field label with checkbox label', async () => {
79
- // Given
80
- const page = await newE2EPage();
81
- await setWcsContent(page, `
82
- <wcs-form-field>
83
- <wcs-label>Label form field</wcs-label>
84
- <wcs-checkbox>Label checkbox</wcs-checkbox>
85
- </wcs-form-field>
86
- `);
87
- // When
88
- const checkboxInput = await page.find('wcs-checkbox >>> input');
89
- await page.waitForChanges();
90
- // Then
91
- const ariaLabel = checkboxInput.getAttribute('aria-label');
92
- expect(ariaLabel).toBe('Label form field Label checkbox');
93
- });
94
- });
95
- });
96
- describe('With radio-group', () => {
97
- describe('Accessibility', () => {
98
- it('Should set aria-label on radio-group element', async () => {
99
- // Given
100
- const page = await newE2EPage();
101
- await setWcsContent(page, `
102
- <wcs-form-field>
103
- <wcs-label>Label form field</wcs-label>
104
- <wcs-radio-group>
105
- <wcs-radio name="SA" label="SNCF" value="1"></wcs-radio>
106
- <wcs-radio name="SA" label="SNCF Réseau" value="2"></wcs-radio>
107
- <wcs-radio name="SA" label="SNCF Voyageurs" value="3"></wcs-radio>
108
- </wcs-radio>
109
- </wcs-radio-group>
110
- </wcs-form-field>
111
- `);
112
- // When
113
- const radioGroup = await page.find('wcs-radio-group');
114
- await page.waitForChanges();
115
- // Then
116
- const ariaLabel = radioGroup.getAttribute('aria-label');
117
- expect(ariaLabel).toBe('Label form field');
118
- });
119
- });
120
- });
121
- });
122
- //# sourceMappingURL=form-field.e2e.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-field.e2e.js","sourceRoot":"","sources":["../../../src/components/form-field/form-field.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\nimport { setWcsContent } from \"../../utils/tests\";\n\ndescribe('Form field component', () => {\n describe('Global', () => {\n describe('Accessibility', () => {\n it('Should put form-field label to aria-label of the spied element when non empty', async () => {\n // Given\n const page = await newE2EPage();\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 = await page.find('wcs-input >>> input');\n await page.waitForChanges();\n\n // Then\n const ariaLabel = input.getAttribute('aria-label');\n expect(ariaLabel).toBe('Label form field');\n });\n it('Should not put form-field label to aria-label of the spied element when empty', async () => {\n // Given\n const page = await newE2EPage();\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 = await page.find('wcs-input >>> input');\n await page.waitForChanges();\n\n // Then\n const ariaLabel = input.getAttribute('aria-label');\n expect(ariaLabel).toBe(null);\n });\n it('Should not concatenate form-field label with form control (switch, checkbox label when form-field label is empty', async () => {\n // Given\n const page = await newE2EPage();\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 = await page.find('wcs-switch >>> input');\n await page.waitForChanges();\n\n // Then\n const ariaLabel = switchInput.getAttribute('aria-label');\n expect(ariaLabel).toBe('Label switch');\n });\n });\n });\n describe('With switch', () => {\n describe('Accessibility', () => {\n it('Should concatenate form-field label with switch label', async () => {\n // Given\n const page = await newE2EPage();\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 = await page.find('wcs-switch >>> input');\n await page.waitForChanges();\n\n // Then\n const ariaLabel = switchInput.getAttribute('aria-label');\n expect(ariaLabel).toBe('Label form field Label switch');\n });\n });\n });\n\n describe('With checkbox', () => {\n describe('Accessibility', () => {\n it('Should concatenate form-field label with checkbox label', async () => {\n // Given\n const page = await newE2EPage();\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 = await page.find('wcs-checkbox >>> input');\n await page.waitForChanges();\n\n // Then\n const ariaLabel = checkboxInput.getAttribute('aria-label');\n expect(ariaLabel).toBe('Label form field Label checkbox');\n });\n });\n });\n describe('With radio-group', () => {\n describe('Accessibility', () => {\n it('Should set aria-label on radio-group element', async () => {\n // Given\n const page = await newE2EPage();\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>\n </wcs-radio-group>\n </wcs-form-field>\n `);\n\n // When\n const radioGroup = await page.find('wcs-radio-group');\n await page.waitForChanges();\n\n // Then\n const ariaLabel = radioGroup.getAttribute('aria-label');\n expect(ariaLabel).toBe('Label form field');\n });\n });\n });\n});\n"]}
@@ -1,147 +0,0 @@
1
- import { newE2EPage } from "@stencil/core/testing";
2
- import { setWcsContent } from "../../utils/tests";
3
- describe('Grid component', () => {
4
- describe('Events', () => {
5
- describe('simple', () => {
6
- it('should emit a wcsGridSelectionChange event when a row is selected', async () => {
7
- // Given
8
- const page = await newE2EPage();
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 = await page.find('#simpleGrid');
16
- simpleGrid.setProperty('data', data);
17
- await page.waitForChanges();
18
- const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');
19
- // When
20
- const gridRadioFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td .grid-radio');
21
- await gridRadioFirstRow.click();
22
- // Then
23
- expect(eventSpy)
24
- .toHaveReceivedEventDetail({
25
- selectedRows: [{ data: data[0], selected: true }], // compare by reference (deep equality)
26
- changedRow: {
27
- selected: true,
28
- data: data[0], // compare by reference (deep equality)
29
- // page is not present because we don't have any pagination with <wcs-grid-pagination>
30
- }
31
- });
32
- });
33
- });
34
- describe('multiple', () => {
35
- it('should emit a wcsGridSelectionChange event when a row is selected', async () => {
36
- // Given
37
- const page = await newE2EPage();
38
- const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
39
- await setWcsContent(page, `
40
- <wcs-grid id="simpleGrid" selection-config="multiple" sort="">
41
- <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
42
- </wcs-grid>
43
- `);
44
- const simpleGrid = await page.find('#simpleGrid');
45
- simpleGrid.setProperty('data', data);
46
- await page.waitForChanges();
47
- const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');
48
- // When
49
- const wcsCheckboxFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td wcs-checkbox');
50
- await wcsCheckboxFirstRow.click();
51
- // Then
52
- expect(eventSpy)
53
- .toHaveReceivedEventDetail({
54
- selectedRows: [{ data: data[0], selected: true }], // compare by reference (deep equality)
55
- changedRow: {
56
- selected: true,
57
- data: data[0], // compare by reference (deep equality)
58
- // page is not present because we don't have any pagination with <wcs-grid-pagination>
59
- }
60
- });
61
- });
62
- it('should emit a wcsGridSelectionChange event when a row is unselected', async () => {
63
- // Given
64
- const page = await newE2EPage();
65
- const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
66
- await setWcsContent(page, `
67
- <wcs-grid id="simpleGrid" selection-config="multiple" sort="">
68
- <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
69
- </wcs-grid>
70
- `);
71
- const simpleGrid = await page.find('#simpleGrid');
72
- simpleGrid.setProperty('data', data);
73
- await page.waitForChanges();
74
- const wcsCheckboxFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td wcs-checkbox');
75
- await wcsCheckboxFirstRow.click(); // Row is selected
76
- const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');
77
- // When
78
- await wcsCheckboxFirstRow.click(); // Row is unselected
79
- // Then
80
- expect(eventSpy)
81
- .toHaveReceivedEventDetail({
82
- selectedRows: [],
83
- changedRow: {
84
- selected: false,
85
- data: data[0], // compare by reference (deep equality)
86
- // page is not present because we don't have any pagination with <wcs-grid-pagination>
87
- }
88
- });
89
- });
90
- it('should emit a wcsGridSelectionChange event when a new row is selected while another are already selected', async () => {
91
- // Given
92
- const page = await newE2EPage();
93
- const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
94
- await setWcsContent(page, `
95
- <wcs-grid id="simpleGrid" selection-config="multiple" sort="">
96
- <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
97
- </wcs-grid>
98
- `);
99
- const simpleGrid = await page.find('#simpleGrid');
100
- simpleGrid.setProperty('data', data);
101
- await page.waitForChanges();
102
- const wcsCheckboxFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td wcs-checkbox');
103
- await wcsCheckboxFirstRow.click();
104
- const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');
105
- // When
106
- const wcsCheckboxLastChild = await page.find('wcs-grid >>> table tbody tr:last-child td wcs-checkbox');
107
- await wcsCheckboxLastChild.click();
108
- // Then
109
- expect(eventSpy)
110
- .toHaveReceivedEventDetail({
111
- selectedRows: [{ data: data[0], selected: true }, { data: data[data.length - 1], selected: true }], // compare by reference (deep equality)
112
- changedRow: {
113
- selected: true,
114
- data: data[data.length - 1], // compare by reference (deep equality)
115
- // page is not present because we don't have any pagination with <wcs-grid-pagination>
116
- }
117
- });
118
- });
119
- it('should emit a wcsGridSelectionChange event when all rows are selected', async () => {
120
- // Given
121
- const page = await newE2EPage();
122
- const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }, { id: 4, first_name: 'Smith' }];
123
- await setWcsContent(page, `
124
- <wcs-grid id="simpleGrid" selection-config="multiple" sort="">
125
- <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
126
- </wcs-grid>
127
- `);
128
- const simpleGrid = await page.find('#simpleGrid');
129
- simpleGrid.setProperty('data', data);
130
- await page.waitForChanges();
131
- const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');
132
- // When
133
- const wcsCheckboxAll = await page.find('wcs-grid >>> table thead th:first-child wcs-checkbox');
134
- await wcsCheckboxAll.click();
135
- // Then
136
- expect(eventSpy)
137
- .toHaveReceivedEventDetail({
138
- selectedRows: data.map(d => {
139
- return { data: d, selected: true };
140
- }), // compare by reference (deep equality)
141
- changedRow: 'allCheckbox'
142
- });
143
- });
144
- });
145
- });
146
- });
147
- //# sourceMappingURL=grid.e2e.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.e2e.js","sourceRoot":"","sources":["../../../src/components/grid/grid.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\nimport { setWcsContent } from \"../../utils/tests\";\n\ndescribe('Grid component', () => {\n describe('Events', () => {\n describe('simple', () => {\n it('should emit a wcsGridSelectionChange event when a row is selected', async () => {\n // Given\n const page = await newE2EPage();\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 = await page.find('#simpleGrid');\n simpleGrid.setProperty('data', data);\n await page.waitForChanges();\n\n const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const gridRadioFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td .grid-radio');\n\n await gridRadioFirstRow.click();\n\n // Then\n expect(eventSpy)\n .toHaveReceivedEventDetail({\n selectedRows: [{ data: data[0], selected: true }], // compare by reference (deep equality)\n changedRow: {\n selected: true,\n data: data[0], // compare by reference (deep equality)\n // page is not present because we don't have any pagination with <wcs-grid-pagination>\n }\n });\n });\n });\n\n describe('multiple', () => {\n it('should emit a wcsGridSelectionChange event when a row is selected', async () => {\n // Given\n const page = await newE2EPage();\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 = await page.find('#simpleGrid');\n simpleGrid.setProperty('data', data);\n await page.waitForChanges();\n\n const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const wcsCheckboxFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td wcs-checkbox');\n await wcsCheckboxFirstRow.click();\n\n // Then\n expect(eventSpy)\n .toHaveReceivedEventDetail({\n selectedRows: [{ data: data[0], selected: true }], // compare by reference (deep equality)\n changedRow: {\n selected: true,\n data: data[0], // compare by reference (deep equality)\n // page is not present because we don't have any pagination with <wcs-grid-pagination>\n }\n });\n });\n it('should emit a wcsGridSelectionChange event when a row is unselected', async () => {\n // Given\n const page = await newE2EPage();\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 = await page.find('#simpleGrid');\n simpleGrid.setProperty('data', data);\n await page.waitForChanges();\n\n const wcsCheckboxFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td wcs-checkbox');\n await wcsCheckboxFirstRow.click(); // Row is selected\n\n const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');\n\n // When\n await wcsCheckboxFirstRow.click(); // Row is unselected\n\n // Then\n expect(eventSpy)\n .toHaveReceivedEventDetail({\n selectedRows: [],\n changedRow: {\n selected: false,\n data: data[0], // compare by reference (deep equality)\n // page is not present because we don't have any pagination with <wcs-grid-pagination>\n }\n });\n });\n it('should emit a wcsGridSelectionChange event when a new row is selected while another are already selected', async () => {\n // Given\n const page = await newE2EPage();\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 = await page.find('#simpleGrid');\n simpleGrid.setProperty('data', data);\n await page.waitForChanges();\n\n const wcsCheckboxFirstRow = await page.find('wcs-grid >>> table tbody tr:first-child td wcs-checkbox');\n await wcsCheckboxFirstRow.click();\n\n const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const wcsCheckboxLastChild = await page.find('wcs-grid >>> table tbody tr:last-child td wcs-checkbox');\n await wcsCheckboxLastChild.click();\n\n // Then\n expect(eventSpy)\n .toHaveReceivedEventDetail({\n selectedRows: [{ data: data[0], selected: true }, { data: data[data.length - 1], selected: true }], // compare by reference (deep equality)\n changedRow: {\n selected: true,\n data: data[data.length - 1], // compare by reference (deep equality)\n // page is not present because we don't have any pagination with <wcs-grid-pagination>\n }\n });\n });\n it('should emit a wcsGridSelectionChange event when all rows are selected', async () => {\n // Given\n const page = await newE2EPage();\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 = await page.find('#simpleGrid');\n simpleGrid.setProperty('data', data);\n await page.waitForChanges();\n\n const eventSpy = await simpleGrid.spyOnEvent('wcsGridSelectionChange');\n\n // When\n const wcsCheckboxAll = await page.find('wcs-grid >>> table thead th:first-child wcs-checkbox');\n await wcsCheckboxAll.click();\n\n // Then\n expect(eventSpy)\n .toHaveReceivedEventDetail({\n selectedRows: data.map(d => {\n return { data: d, selected: true };\n }), // compare by reference (deep equality)\n changedRow: 'allCheckbox'\n });\n });\n });\n });\n});\n"]}
@@ -1,152 +0,0 @@
1
- import { newE2EPage } from "@stencil/core/testing";
2
- import { setWcsContent } from "../../utils/tests";
3
- describe('Input component', () => {
4
- it('Should fire wcsInput event once when user typing one char', async () => {
5
- // Given
6
- const page = await newE2EPage();
7
- await setWcsContent(page, `
8
- <wcs-input name="wcs-input-1" />
9
- `);
10
- const input = await page.find('wcs-input');
11
- const inputEvent = await page.spyOnEvent('wcsInput');
12
- // When
13
- await input.click();
14
- await input.press('B');
15
- // Then
16
- expect(inputEvent).toHaveReceivedEventTimes(1);
17
- });
18
- it('Should fire wcsInput event multiple times when user typing multiple chars', async () => {
19
- // Given
20
- const page = await newE2EPage();
21
- await setWcsContent(page, `
22
- <wcs-input name="wcs-input-1" />
23
- `);
24
- const input = await page.find('wcs-input');
25
- const inputEvent = await page.spyOnEvent('wcsInput');
26
- // When
27
- await input.click();
28
- await input.press('B');
29
- await input.press('o');
30
- await input.press('n');
31
- await input.press('j');
32
- await input.press('o');
33
- await input.press('u');
34
- await input.press('r');
35
- // Then
36
- expect(inputEvent).toHaveReceivedEventTimes(7);
37
- });
38
- it('Should fire wcsChange event when user commit change with blur (tab)', async () => {
39
- // Given
40
- const page = await newE2EPage();
41
- await setWcsContent(page, `
42
- <wcs-input name="wcs-input-1" />
43
- <button>Focus</button>
44
- `);
45
- const input = await page.find('wcs-input');
46
- const changeEvent = await page.spyOnEvent('wcsChange');
47
- // When
48
- await input.click();
49
- await input.press('B');
50
- await input.press('l');
51
- await input.press('u');
52
- await input.press('r');
53
- await input.press('Tab');
54
- await page.waitForChanges();
55
- // Then
56
- expect(changeEvent).toHaveReceivedEventTimes(1);
57
- expect(changeEvent).toHaveReceivedEventDetail({ value: 'Blur' });
58
- });
59
- it('Should fire wcsChange event when user commit change with blur (click)', async () => {
60
- // Given
61
- const page = await newE2EPage();
62
- await setWcsContent(page, `
63
- <wcs-input name="wcs-input-1"></wcs-input>
64
- <button>Focus</button>
65
- `);
66
- const input = await page.find('wcs-input');
67
- const button = await page.find('button');
68
- const changeEvent = await page.spyOnEvent('wcsChange');
69
- // When
70
- await input.click();
71
- await input.press('B');
72
- await input.press('l');
73
- await input.press('u');
74
- await input.press('r');
75
- await button.focus();
76
- // Then
77
- expect(changeEvent).toHaveReceivedEventTimes(1);
78
- expect(changeEvent).toHaveReceivedEventDetail({ value: 'Blur' });
79
- });
80
- it('Should fire wcsChange event when user commit change with enter', async () => {
81
- // Given
82
- const page = await newE2EPage();
83
- await setWcsContent(page, `
84
- <wcs-input name="wcs-input-1" />
85
- `);
86
- const input = await page.find('wcs-input');
87
- const changeEvent = await page.spyOnEvent('wcsChange');
88
- // When
89
- await input.click();
90
- await input.press('E');
91
- await input.press('n');
92
- await input.press('t');
93
- await input.press('e');
94
- await input.press('r');
95
- await input.press('Enter');
96
- // Then
97
- expect(changeEvent).toHaveReceivedEventTimes(1);
98
- expect(changeEvent).toHaveReceivedEventDetail({ value: 'Enter' });
99
- });
100
- it('Should not fire wcsChange event when value is programmatically set', async () => {
101
- // Given
102
- const page = await newE2EPage();
103
- await setWcsContent(page, `
104
- <wcs-input name="wcs-input-1" />
105
- `);
106
- const input = await page.find('wcs-input');
107
- const changeEvent = await page.spyOnEvent('wcsChange');
108
- // When
109
- input.setProperty('value', 'Programmatically set value');
110
- // Then
111
- expect(changeEvent).toHaveReceivedEventTimes(0);
112
- });
113
- it('Should not fire wcsInput event when value is programmatically set', async () => {
114
- // Given
115
- const page = await newE2EPage();
116
- await setWcsContent(page, `
117
- <wcs-input name="wcs-input-1" />
118
- `);
119
- const input = await page.find('wcs-input');
120
- const inputEvent = await page.spyOnEvent('wcsInput');
121
- // When
122
- input.setProperty('value', 'Programmatically set value');
123
- // Then
124
- expect(inputEvent).toHaveReceivedEventTimes(0);
125
- });
126
- it('Should have a default value when value attribute is set', async () => {
127
- // Given
128
- const page = await newE2EPage();
129
- await setWcsContent(page, `
130
- <wcs-input name="wcs-input-1" value="Default value" />
131
- `);
132
- const input = await page.find('wcs-input');
133
- // Then
134
- expect(await input.getProperty('value')).toBe('Default value');
135
- expect(await (await page.find('wcs-input >>> input')).getProperty('value')).toBe('Default value');
136
- });
137
- it('Should have a default value when value property is set', async () => {
138
- // Given
139
- const page = await newE2EPage();
140
- await setWcsContent(page, `
141
- <wcs-input name="wcs-input-1" />
142
- `);
143
- const input = await page.find('wcs-input');
144
- // When
145
- input.setProperty('value', 'Default value');
146
- await page.waitForChanges();
147
- // Then
148
- expect(await input.getProperty('value')).toBe('Default value');
149
- expect(await (await page.find('wcs-input >>> input')).getProperty('value')).toBe('Default value');
150
- });
151
- });
152
- //# sourceMappingURL=input.e2e.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.e2e.js","sourceRoot":"","sources":["../../../src/components/input/input.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\nimport { setWcsContent } from \"../../utils/tests\";\n\ndescribe('Input component', () => {\n it('Should fire wcsInput event once when user typing one char', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n `);\n const input = await page.find('wcs-input');\n const inputEvent = await page.spyOnEvent('wcsInput');\n\n // When\n await input.click();\n await input.press('B');\n\n // Then\n expect(inputEvent).toHaveReceivedEventTimes(1);\n });\n it('Should fire wcsInput event multiple times when user typing multiple chars', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n `);\n const input = await page.find('wcs-input');\n const inputEvent = await page.spyOnEvent('wcsInput');\n\n // When\n await input.click();\n await input.press('B');\n await input.press('o');\n await input.press('n');\n await input.press('j');\n await input.press('o');\n await input.press('u');\n await input.press('r');\n\n // Then\n expect(inputEvent).toHaveReceivedEventTimes(7);\n });\n it('Should fire wcsChange event when user commit change with blur (tab)', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n <button>Focus</button>\n `);\n const input = await page.find('wcs-input');\n const changeEvent = await page.spyOnEvent('wcsChange');\n\n // When\n await input.click();\n await input.press('B');\n await input.press('l');\n await input.press('u');\n await input.press('r');\n await input.press('Tab');\n\n await page.waitForChanges();\n\n // Then\n expect(changeEvent).toHaveReceivedEventTimes(1);\n expect(changeEvent).toHaveReceivedEventDetail({ value: 'Blur' });\n });\n it('Should fire wcsChange event when user commit change with blur (click)', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\"></wcs-input>\n <button>Focus</button>\n `);\n const input = await page.find('wcs-input');\n const button = await page.find('button');\n const changeEvent = await page.spyOnEvent('wcsChange');\n\n // When\n await input.click();\n await input.press('B');\n await input.press('l');\n await input.press('u');\n await input.press('r');\n await button.focus();\n\n // Then\n expect(changeEvent).toHaveReceivedEventTimes(1);\n expect(changeEvent).toHaveReceivedEventDetail({ value: 'Blur' });\n });\n it('Should fire wcsChange event when user commit change with enter', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n `);\n const input = await page.find('wcs-input');\n const changeEvent = await page.spyOnEvent('wcsChange');\n\n // When\n await input.click();\n await input.press('E');\n await input.press('n');\n await input.press('t');\n await input.press('e');\n await input.press('r');\n await input.press('Enter');\n\n // Then\n expect(changeEvent).toHaveReceivedEventTimes(1);\n expect(changeEvent).toHaveReceivedEventDetail({ value: 'Enter' });\n });\n it('Should not fire wcsChange event when value is programmatically set', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n `);\n const input = await page.find('wcs-input');\n const changeEvent = await page.spyOnEvent('wcsChange');\n\n // When\n input.setProperty('value', 'Programmatically set value');\n\n // Then\n expect(changeEvent).toHaveReceivedEventTimes(0);\n });\n it('Should not fire wcsInput event when value is programmatically set', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n `);\n const input = await page.find('wcs-input');\n const inputEvent = await page.spyOnEvent('wcsInput');\n\n // When\n input.setProperty('value', 'Programmatically set value');\n\n // Then\n expect(inputEvent).toHaveReceivedEventTimes(0);\n });\n it('Should have a default value when value attribute is set', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" value=\"Default value\" />\n `);\n const input = await page.find('wcs-input');\n\n // Then\n expect(await input.getProperty('value')).toBe('Default value');\n expect(await (await page.find('wcs-input >>> input')).getProperty('value')).toBe('Default value');\n });\n it('Should have a default value when value property is set', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-input name=\"wcs-input-1\" />\n `);\n const input = await page.find('wcs-input');\n\n // When\n input.setProperty('value', 'Default value');\n await page.waitForChanges();\n\n // Then\n expect(await input.getProperty('value')).toBe('Default value');\n expect(await (await page.find('wcs-input >>> input')).getProperty('value')).toBe('Default value');\n });\n});\n"]}
@@ -1,36 +0,0 @@
1
- import { newE2EPage } from "@stencil/core/testing";
2
- import { setWcsContent } from "../../utils/tests";
3
- describe('modal', () => {
4
- it('should trap the focus inside', async () => {
5
- // Given
6
- const page = await newE2EPage();
7
- await setWcsContent(page, `
8
- <wcs-modal show-close-button>
9
- <wcs-input id="first-input" type="text"></wcs-input>
10
- <wcs-button id="last-button" disabled class="wcs-primary" type="button">Envoyer</wcs-button>
11
- </wcs-modal>
12
- `); // Modal is opened by default in this test
13
- const modal = await page.find('wcs-modal');
14
- modal.setProperty('show', true);
15
- await page.waitForChanges();
16
- const button = await page.find('wcs-modal wcs-button');
17
- const showCloseButton = await page.find('wcs-modal .wcs-modal-header wcs-button');
18
- const input = await page.find('wcs-modal wcs-input');
19
- // When / Then
20
- let activeElementId = await page.evaluate(() => document.activeElement.id);
21
- expect(activeElementId).toEqual(showCloseButton.id);
22
- await page.keyboard.press('Tab');
23
- activeElementId = await page.evaluate(() => document.activeElement.id);
24
- expect(activeElementId).toEqual(input.id);
25
- await page.keyboard.press('Tab');
26
- activeElementId = await page.evaluate(() => document.activeElement.id);
27
- expect(activeElementId).toEqual(showCloseButton.id);
28
- await page.keyboard.press('Tab'); // input receives the focus
29
- button.setProperty('disabled', false);
30
- await page.waitForChanges();
31
- await page.keyboard.press('Tab');
32
- activeElementId = await page.evaluate(() => document.activeElement.id);
33
- expect(activeElementId).toEqual(button.id);
34
- });
35
- });
36
- //# sourceMappingURL=modal.e2e.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modal.e2e.js","sourceRoot":"","sources":["../../../src/components/modal/modal.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACnB,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC1C,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,aAAa,CAAC,IAAI,EAAE;;;;;SAKzB,CAAC,CAAC,CAAC,0CAA0C;QAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAErD,cAAc;QACd,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE1C,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,2BAA2B;QAE7D,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\nimport { setWcsContent } from \"../../utils/tests\";\n\ndescribe('modal', () => {\n it('should trap the focus inside', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-modal show-close-button>\n <wcs-input id=\"first-input\" type=\"text\"></wcs-input>\n <wcs-button id=\"last-button\" disabled class=\"wcs-primary\" type=\"button\">Envoyer</wcs-button>\n </wcs-modal>\n `); // Modal is opened by default in this test\n const modal = await page.find('wcs-modal');\n modal.setProperty('show', true);\n await page.waitForChanges();\n\n const button = await page.find('wcs-modal wcs-button');\n const showCloseButton = await page.find('wcs-modal .wcs-modal-header wcs-button');\n const input = await page.find('wcs-modal wcs-input');\n\n // When / Then\n let activeElementId = await page.evaluate(() => document.activeElement.id);\n expect(activeElementId).toEqual(showCloseButton.id);\n\n await page.keyboard.press('Tab');\n activeElementId = await page.evaluate(() => document.activeElement.id);\n expect(activeElementId).toEqual(input.id);\n\n await page.keyboard.press('Tab');\n activeElementId = await page.evaluate(() => document.activeElement.id);\n expect(activeElementId).toEqual(showCloseButton.id);\n\n await page.keyboard.press('Tab'); // input receives the focus\n\n button.setProperty('disabled', false);\n await page.waitForChanges();\n\n await page.keyboard.press('Tab');\n activeElementId = await page.evaluate(() => document.activeElement.id);\n expect(activeElementId).toEqual(button.id);\n });\n});\n"]}