wcs-core 7.5.1 → 7.7.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 (768) hide show
  1. package/bundle/index.js +1 -1
  2. package/bundle/p-035ad27f.js +2 -0
  3. package/bundle/{p-010cf905.js → p-16c7ed2e.js} +2 -2
  4. package/bundle/p-34ecd856.js +2 -0
  5. package/bundle/p-34ecd856.js.map +1 -0
  6. package/bundle/p-53550684.js +2 -0
  7. package/bundle/p-53550684.js.map +1 -0
  8. package/bundle/{p-97e70e10.js → p-5a997d17.js} +2 -2
  9. package/bundle/p-68ab4391.js +16 -0
  10. package/bundle/p-68ab4391.js.map +1 -0
  11. package/bundle/{p-60193ef5.js → p-791fce94.js} +2 -2
  12. package/bundle/{p-44a3b0b9.js → p-87b9556d.js} +2 -2
  13. package/bundle/{p-d23d7658.js → p-886109ed.js} +2 -2
  14. package/bundle/p-9138985e.js +2 -0
  15. package/bundle/p-9138985e.js.map +1 -0
  16. package/bundle/p-95eb2e54.js +2 -0
  17. package/bundle/p-95eb2e54.js.map +1 -0
  18. package/bundle/{p-2751ddc1.js → p-a9a83300.js} +2 -2
  19. package/bundle/{p-cdc6f6c2.js → p-c13e9bb6.js} +8 -8
  20. package/bundle/p-c13e9bb6.js.map +1 -0
  21. package/bundle/p-c70a403e.js +2 -0
  22. package/bundle/p-c70a403e.js.map +1 -0
  23. package/bundle/{p-c8b73e93.js → p-d7d1ea63.js} +2 -2
  24. package/bundle/p-f6d5c242.js +2 -0
  25. package/bundle/p-f6d5c242.js.map +1 -0
  26. package/bundle/wcs-accordion-panel.js +1 -1
  27. package/bundle/wcs-alert-drawer.js +1 -1
  28. package/bundle/wcs-alert-drawer.js.map +1 -1
  29. package/bundle/wcs-alert.js +1 -1
  30. package/bundle/wcs-app.js +1 -1
  31. package/bundle/wcs-badge.js +1 -1
  32. package/bundle/wcs-breadcrumb-item.js +1 -1
  33. package/bundle/wcs-breadcrumb.js +1 -1
  34. package/bundle/wcs-button.js +1 -1
  35. package/bundle/wcs-card-body.js +1 -1
  36. package/bundle/wcs-card-body.js.map +1 -1
  37. package/bundle/wcs-card-content.js +1 -1
  38. package/bundle/wcs-card-content.js.map +1 -1
  39. package/bundle/wcs-card-footer.js +1 -1
  40. package/bundle/wcs-card-header.js +1 -1
  41. package/bundle/wcs-card-media.js +1 -1
  42. package/bundle/wcs-card.js +1 -1
  43. package/bundle/wcs-card.js.map +1 -1
  44. package/bundle/wcs-checkbox.js +1 -1
  45. package/bundle/wcs-chip.js +1 -1
  46. package/bundle/wcs-chip.js.map +1 -1
  47. package/bundle/wcs-com-nav-category.js +1 -1
  48. package/bundle/wcs-com-nav-item.js +1 -1
  49. package/bundle/wcs-com-nav-submenu.js +1 -1
  50. package/bundle/wcs-com-nav.js +1 -1
  51. package/bundle/wcs-com-nav.js.map +1 -1
  52. package/bundle/wcs-counter.js +1 -1
  53. package/bundle/wcs-divider.js +1 -1
  54. package/bundle/wcs-dropdown-divider.js +1 -1
  55. package/bundle/wcs-dropdown-header.js +1 -1
  56. package/bundle/wcs-dropdown-item.js +1 -1
  57. package/bundle/wcs-dropdown.js +1 -1
  58. package/bundle/wcs-dropdown.js.map +1 -1
  59. package/bundle/wcs-editable-field.js +1 -1
  60. package/bundle/wcs-editable-field.js.map +1 -1
  61. package/bundle/wcs-error.js +1 -1
  62. package/bundle/wcs-field-content.js +1 -1
  63. package/bundle/wcs-field-content.js.map +1 -1
  64. package/bundle/wcs-field-label.js +1 -1
  65. package/bundle/wcs-field.js +1 -1
  66. package/bundle/wcs-field.js.map +1 -1
  67. package/bundle/wcs-footer.js +1 -1
  68. package/bundle/wcs-form-field.js +1 -1
  69. package/bundle/wcs-galactic-menu.js +1 -1
  70. package/bundle/wcs-galactic.js +1 -1
  71. package/bundle/wcs-grid-column.js +1 -1
  72. package/bundle/wcs-grid-custom-cell.js +1 -1
  73. package/bundle/wcs-grid-custom-cell.js.map +1 -1
  74. package/bundle/wcs-grid-pagination.js +1 -1
  75. package/bundle/wcs-grid.js +1 -1
  76. package/bundle/wcs-grid.js.map +1 -1
  77. package/bundle/wcs-header.js +1 -1
  78. package/bundle/wcs-hint.js +1 -1
  79. package/bundle/wcs-horizontal-stepper.js +1 -1
  80. package/bundle/wcs-icon.js +1 -1
  81. package/bundle/wcs-input.js +1 -1
  82. package/bundle/wcs-input.js.map +1 -1
  83. package/bundle/wcs-label.js +1 -1
  84. package/bundle/wcs-list-item-properties.js +1 -1
  85. package/bundle/wcs-list-item-property.js +1 -1
  86. package/bundle/wcs-list-item.js +1 -1
  87. package/bundle/wcs-mat-icon.js +1 -1
  88. package/bundle/wcs-message.d.ts +11 -0
  89. package/bundle/wcs-message.js +2 -0
  90. package/bundle/wcs-message.js.map +1 -0
  91. package/bundle/wcs-modal.js +1 -1
  92. package/bundle/wcs-native-select.js +1 -1
  93. package/bundle/wcs-nav-item.js +1 -1
  94. package/bundle/wcs-nav.js +1 -1
  95. package/bundle/wcs-progress-bar.js +1 -1
  96. package/bundle/wcs-progress-radial.js +1 -1
  97. package/bundle/wcs-radio-group.js +1 -1
  98. package/bundle/wcs-radio-group.js.map +1 -1
  99. package/bundle/wcs-radio.js +1 -1
  100. package/bundle/wcs-radio.js.map +1 -1
  101. package/bundle/wcs-select-option.js +1 -1
  102. package/bundle/wcs-select.js +1 -1
  103. package/bundle/wcs-skeleton-circle.js +1 -1
  104. package/bundle/wcs-skeleton-rectangle.js +1 -1
  105. package/bundle/wcs-skeleton-text.js +1 -1
  106. package/bundle/wcs-spinner.js +1 -1
  107. package/bundle/wcs-switch.js +1 -1
  108. package/bundle/wcs-tab.js +1 -1
  109. package/bundle/wcs-tab.js.map +1 -1
  110. package/bundle/wcs-tabs.js +1 -1
  111. package/bundle/wcs-textarea.js +1 -1
  112. package/bundle/wcs-tooltip.js +2 -2
  113. package/composite-elements/{p-a90bb01e.js → p-061ccda5.js} +2 -2
  114. package/composite-elements/{p-ef26b4d8.js → p-2181568b.js} +2 -2
  115. package/composite-elements/{p-b83afff9.js → p-61886571.js} +2 -2
  116. package/composite-elements/p-846e40e9.js +16 -0
  117. package/composite-elements/p-846e40e9.js.map +1 -0
  118. package/composite-elements/p-8a2107d4.js +2 -0
  119. package/composite-elements/p-8a2107d4.js.map +1 -0
  120. package/composite-elements/p-8cafb0b4.js +2 -0
  121. package/composite-elements/p-8cafb0b4.js.map +1 -0
  122. package/composite-elements/p-8f51f4cb.js +2 -0
  123. package/composite-elements/p-8f51f4cb.js.map +1 -0
  124. package/composite-elements/p-b53ae1a8.js +2 -0
  125. package/composite-elements/p-b53ae1a8.js.map +1 -0
  126. package/composite-elements/p-b6d0a6b4.js +2 -0
  127. package/composite-elements/p-cb9faa9b.js +2 -0
  128. package/composite-elements/{p-5a3d7fec.js → p-cd6cca64.js} +2 -2
  129. package/composite-elements/{p-04663560.js → p-d2d79425.js} +2 -2
  130. package/composite-elements/{p-b92e818b.js → p-f0b064a2.js} +2 -2
  131. package/composite-elements/{p-51517fda.js → p-f161f50b.js} +8 -8
  132. package/composite-elements/p-f161f50b.js.map +1 -0
  133. package/composite-elements/p-f6d5c242.js +2 -0
  134. package/composite-elements/p-f6d5c242.js.map +1 -0
  135. package/composite-elements/p-f85cc676.js +2 -0
  136. package/composite-elements/p-f85cc676.js.map +1 -0
  137. package/composite-elements/wcs-accordion-panel.js +1 -1
  138. package/composite-elements/wcs-alert-drawer.js +1 -1
  139. package/composite-elements/wcs-alert-drawer.js.map +1 -1
  140. package/composite-elements/wcs-alert.js +1 -1
  141. package/composite-elements/wcs-app.js +1 -1
  142. package/composite-elements/wcs-badge.js +1 -1
  143. package/composite-elements/wcs-breadcrumb-item.js +1 -1
  144. package/composite-elements/wcs-breadcrumb.js +1 -1
  145. package/composite-elements/wcs-button.js +1 -1
  146. package/composite-elements/wcs-card-body.js +1 -1
  147. package/composite-elements/wcs-card-body.js.map +1 -1
  148. package/composite-elements/wcs-card-content.js +1 -1
  149. package/composite-elements/wcs-card-content.js.map +1 -1
  150. package/composite-elements/wcs-card-footer.js +1 -1
  151. package/composite-elements/wcs-card-header.js +1 -1
  152. package/composite-elements/wcs-card-media.js +1 -1
  153. package/composite-elements/wcs-card.js +1 -1
  154. package/composite-elements/wcs-card.js.map +1 -1
  155. package/composite-elements/wcs-checkbox.js +1 -1
  156. package/composite-elements/wcs-chip.js +1 -1
  157. package/composite-elements/wcs-chip.js.map +1 -1
  158. package/composite-elements/wcs-com-nav-category.js +1 -1
  159. package/composite-elements/wcs-com-nav-item.js +1 -1
  160. package/composite-elements/wcs-com-nav-submenu.js +1 -1
  161. package/composite-elements/wcs-com-nav.js +1 -1
  162. package/composite-elements/wcs-com-nav.js.map +1 -1
  163. package/composite-elements/wcs-counter.js +1 -1
  164. package/composite-elements/wcs-divider.js +1 -1
  165. package/composite-elements/wcs-dropdown-divider.js +1 -1
  166. package/composite-elements/wcs-dropdown-header.js +1 -1
  167. package/composite-elements/wcs-dropdown-item.js +1 -1
  168. package/composite-elements/wcs-dropdown.js +1 -1
  169. package/composite-elements/wcs-dropdown.js.map +1 -1
  170. package/composite-elements/wcs-editable-field.js +1 -1
  171. package/composite-elements/wcs-editable-field.js.map +1 -1
  172. package/composite-elements/wcs-error.js +1 -1
  173. package/composite-elements/wcs-field-content.js +1 -1
  174. package/composite-elements/wcs-field-content.js.map +1 -1
  175. package/composite-elements/wcs-field-label.js +1 -1
  176. package/composite-elements/wcs-field.js +1 -1
  177. package/composite-elements/wcs-field.js.map +1 -1
  178. package/composite-elements/wcs-footer.js +1 -1
  179. package/composite-elements/wcs-form-field.js +1 -1
  180. package/composite-elements/wcs-galactic-menu.js +1 -1
  181. package/composite-elements/wcs-galactic.js +1 -1
  182. package/composite-elements/wcs-grid-column.js +1 -1
  183. package/composite-elements/wcs-grid-custom-cell.js +1 -1
  184. package/composite-elements/wcs-grid-custom-cell.js.map +1 -1
  185. package/composite-elements/wcs-grid-pagination.js +1 -1
  186. package/composite-elements/wcs-grid.js +1 -1
  187. package/composite-elements/wcs-grid.js.map +1 -1
  188. package/composite-elements/wcs-header.js +1 -1
  189. package/composite-elements/wcs-hint.js +1 -1
  190. package/composite-elements/wcs-horizontal-stepper.js +1 -1
  191. package/composite-elements/wcs-icon.js +1 -1
  192. package/composite-elements/wcs-input.js +1 -1
  193. package/composite-elements/wcs-input.js.map +1 -1
  194. package/composite-elements/wcs-label.js +1 -1
  195. package/composite-elements/wcs-list-item-properties.js +1 -1
  196. package/composite-elements/wcs-list-item-property.js +1 -1
  197. package/composite-elements/wcs-list-item.js +1 -1
  198. package/composite-elements/wcs-mat-icon.js +1 -1
  199. package/composite-elements/wcs-message.d.ts +11 -0
  200. package/composite-elements/wcs-message.js +2 -0
  201. package/composite-elements/wcs-message.js.map +1 -0
  202. package/composite-elements/wcs-modal.js +1 -1
  203. package/composite-elements/wcs-native-select.js +1 -1
  204. package/composite-elements/wcs-nav-item.js +1 -1
  205. package/composite-elements/wcs-nav.js +1 -1
  206. package/composite-elements/wcs-progress-bar.js +1 -1
  207. package/composite-elements/wcs-progress-radial.js +1 -1
  208. package/composite-elements/wcs-radio-group.js +1 -1
  209. package/composite-elements/wcs-radio.js +1 -1
  210. package/composite-elements/wcs-radio.js.map +1 -1
  211. package/composite-elements/wcs-select-option.js +1 -1
  212. package/composite-elements/wcs-select.js +1 -1
  213. package/composite-elements/wcs-skeleton-circle.js +1 -1
  214. package/composite-elements/wcs-skeleton-rectangle.js +1 -1
  215. package/composite-elements/wcs-skeleton-text.js +1 -1
  216. package/composite-elements/wcs-spinner.js +1 -1
  217. package/composite-elements/wcs-switch.js +1 -1
  218. package/composite-elements/wcs-tab.js +1 -1
  219. package/composite-elements/wcs-tab.js.map +1 -1
  220. package/composite-elements/wcs-tabs.js +1 -1
  221. package/composite-elements/wcs-textarea.js +1 -1
  222. package/composite-elements/wcs-tooltip.js +2 -2
  223. package/dist/cjs/alert-close-button-4435ed57.js +10 -0
  224. package/dist/cjs/alert-close-button-4435ed57.js.map +1 -0
  225. package/dist/cjs/{com-nav-utils-ff4f0bef.js → com-nav-utils-e081e998.js} +2 -2
  226. package/dist/cjs/{com-nav-utils-ff4f0bef.js.map → com-nav-utils-e081e998.js.map} +1 -1
  227. package/dist/cjs/{grid-pagination-4505d7b6.js → grid-pagination-e92dca78.js} +4 -4
  228. package/dist/cjs/grid-pagination-e92dca78.js.map +1 -0
  229. package/dist/cjs/{helpers-2f1a8ddc.js → helpers-eaafd588.js} +1 -9
  230. package/dist/cjs/helpers-eaafd588.js.map +1 -0
  231. package/dist/cjs/{isEqual-8a0a6936.js → isEqual-be8e5a57.js} +2 -2
  232. package/dist/cjs/{isEqual-8a0a6936.js.map → isEqual-be8e5a57.js.map} +1 -1
  233. package/dist/cjs/{keyboard-event-40ecdc27.js → keyboard-event-4890c60e.js} +2 -2
  234. package/dist/cjs/{keyboard-event-40ecdc27.js.map → keyboard-event-4890c60e.js.map} +1 -1
  235. package/dist/cjs/loader.cjs.js +1 -1
  236. package/dist/cjs/wcs-accordion-panel.cjs.entry.js +1 -1
  237. package/dist/cjs/wcs-alert-drawer.cjs.entry.js +14 -2
  238. package/dist/cjs/wcs-alert-drawer.cjs.entry.js.map +1 -1
  239. package/dist/cjs/wcs-alert.cjs.entry.js +3 -2
  240. package/dist/cjs/wcs-alert.cjs.entry.js.map +1 -1
  241. package/dist/cjs/wcs-app.cjs.entry.js +3 -3
  242. package/dist/cjs/wcs-badge.cjs.entry.js +1 -1
  243. package/dist/cjs/wcs-breadcrumb-item.cjs.entry.js +1 -1
  244. package/dist/cjs/wcs-breadcrumb.cjs.entry.js +2 -2
  245. package/dist/cjs/{wcs-button_2.cjs.entry.js → wcs-button_3.cjs.entry.js} +40 -5
  246. package/dist/cjs/wcs-button_3.cjs.entry.js.map +1 -0
  247. package/dist/cjs/wcs-card-body.cjs.entry.js +1 -1
  248. package/dist/cjs/wcs-card-content.cjs.entry.js +1 -1
  249. package/dist/cjs/wcs-card-content.cjs.entry.js.map +1 -1
  250. package/dist/cjs/wcs-card-footer.cjs.entry.js +1 -1
  251. package/dist/cjs/wcs-card-header.cjs.entry.js +1 -1
  252. package/dist/cjs/wcs-card-media.cjs.entry.js +1 -1
  253. package/dist/cjs/wcs-card.cjs.entry.js +1 -1
  254. package/dist/cjs/wcs-card.cjs.entry.js.map +1 -1
  255. package/dist/cjs/wcs-checkbox.cjs.entry.js +2 -2
  256. package/dist/cjs/wcs-chip.cjs.entry.js +18 -6
  257. package/dist/cjs/wcs-chip.cjs.entry.js.map +1 -1
  258. package/dist/cjs/wcs-com-nav-category.cjs.entry.js +4 -4
  259. package/dist/cjs/wcs-com-nav-item.cjs.entry.js +1 -1
  260. package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js +4 -4
  261. package/dist/cjs/wcs-com-nav.cjs.entry.js +4 -4
  262. package/dist/cjs/wcs-counter.cjs.entry.js +2 -2
  263. package/dist/cjs/wcs-divider.cjs.entry.js +1 -1
  264. package/dist/cjs/wcs-dropdown-divider.cjs.entry.js +1 -1
  265. package/dist/cjs/wcs-dropdown-header.cjs.entry.js +1 -1
  266. package/dist/cjs/wcs-dropdown-item.cjs.entry.js +2 -2
  267. package/dist/cjs/wcs-dropdown.cjs.entry.js +4 -4
  268. package/dist/cjs/wcs-dropdown.cjs.entry.js.map +1 -1
  269. package/dist/cjs/wcs-editable-field.cjs.entry.js +35 -11
  270. package/dist/cjs/wcs-editable-field.cjs.entry.js.map +1 -1
  271. package/dist/cjs/wcs-error_3.cjs.entry.js +5 -5
  272. package/dist/cjs/wcs-error_3.cjs.entry.js.map +1 -1
  273. package/dist/cjs/wcs-field-content.cjs.entry.js +1 -1
  274. package/dist/cjs/wcs-field-label.cjs.entry.js +1 -1
  275. package/dist/cjs/wcs-field.cjs.entry.js +1 -1
  276. package/dist/cjs/wcs-footer.cjs.entry.js +1 -1
  277. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +3 -3
  278. package/dist/cjs/wcs-galactic.cjs.entry.js +1 -1
  279. package/dist/cjs/wcs-grid-column.cjs.entry.js +2 -2
  280. package/dist/cjs/wcs-grid-custom-cell.cjs.entry.js +1 -1
  281. package/dist/cjs/wcs-grid-pagination.cjs.entry.js +2 -2
  282. package/dist/cjs/wcs-grid.cjs.entry.js +15 -8
  283. package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
  284. package/dist/cjs/wcs-header.cjs.entry.js +2 -2
  285. package/dist/cjs/wcs-hint.cjs.entry.js +1 -1
  286. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +1 -1
  287. package/dist/cjs/wcs-icon.cjs.entry.js +2 -2
  288. package/dist/cjs/wcs-input.cjs.entry.js +2 -7
  289. package/dist/cjs/wcs-input.cjs.entry.js.map +1 -1
  290. package/dist/cjs/wcs-list-item-properties.cjs.entry.js +1 -1
  291. package/dist/cjs/wcs-list-item-property.cjs.entry.js +1 -1
  292. package/dist/cjs/wcs-list-item.cjs.entry.js +1 -1
  293. package/dist/cjs/wcs-message.cjs.entry.js +56 -0
  294. package/dist/cjs/wcs-message.cjs.entry.js.map +1 -0
  295. package/dist/cjs/wcs-modal.cjs.entry.js +2 -2
  296. package/dist/cjs/wcs-native-select.cjs.entry.js +1 -1
  297. package/dist/cjs/wcs-nav-item.cjs.entry.js +2 -2
  298. package/dist/cjs/wcs-nav.cjs.entry.js +2 -2
  299. package/dist/cjs/wcs-progress-bar.cjs.entry.js +3 -3
  300. package/dist/cjs/wcs-progress-radial.cjs.entry.js +3 -3
  301. package/dist/cjs/wcs-radio-group.cjs.entry.js +2 -2
  302. package/dist/cjs/wcs-radio.cjs.entry.js +25 -21
  303. package/dist/cjs/wcs-radio.cjs.entry.js.map +1 -1
  304. package/dist/cjs/wcs-select_2.cjs.entry.js +25 -23
  305. package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
  306. package/dist/cjs/wcs-skeleton-circle.cjs.entry.js +1 -1
  307. package/dist/cjs/wcs-skeleton-rectangle.cjs.entry.js +1 -1
  308. package/dist/cjs/wcs-skeleton-text.cjs.entry.js +1 -1
  309. package/dist/cjs/wcs-switch.cjs.entry.js +2 -2
  310. package/dist/cjs/wcs-tab.cjs.entry.js +1 -1
  311. package/dist/cjs/wcs-tabs.cjs.entry.js +2 -2
  312. package/dist/cjs/wcs-textarea.cjs.entry.js +2 -2
  313. package/dist/cjs/wcs-tooltip.cjs.entry.js +2 -2
  314. package/dist/cjs/wcs.cjs.js +1 -1
  315. package/dist/collection/collection-manifest.json +1 -0
  316. package/dist/collection/components/alert/alert-close-button.js +3 -0
  317. package/dist/collection/components/alert/alert-close-button.js.map +1 -0
  318. package/dist/collection/components/alert/alert.css +12 -11
  319. package/dist/collection/components/alert/alert.js +2 -1
  320. package/dist/collection/components/alert/alert.js.map +1 -1
  321. package/dist/collection/components/alert-drawer/alert-drawer.js +34 -2
  322. package/dist/collection/components/alert-drawer/alert-drawer.js.map +1 -1
  323. package/dist/collection/components/app/app.js +3 -3
  324. package/dist/collection/components/badge/badge.js +1 -1
  325. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  326. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +1 -1
  327. package/dist/collection/components/button/button.css +26 -0
  328. package/dist/collection/components/button/button.js +47 -1
  329. package/dist/collection/components/button/button.js.map +1 -1
  330. package/dist/collection/components/card/card.js +11 -4
  331. package/dist/collection/components/card/card.js.map +1 -1
  332. package/dist/collection/components/card-body/card-body.js +1 -1
  333. package/dist/collection/components/card-content/card-content.js +8 -3
  334. package/dist/collection/components/card-content/card-content.js.map +1 -1
  335. package/dist/collection/components/card-footer/card-footer.js +1 -1
  336. package/dist/collection/components/card-header/card-header.js +1 -1
  337. package/dist/collection/components/card-media/card-media.js +1 -1
  338. package/dist/collection/components/checkbox/checkbox.js +1 -1
  339. package/dist/collection/components/chip/chip.e2e.playwright.js +33 -0
  340. package/dist/collection/components/chip/chip.e2e.playwright.js.map +1 -1
  341. package/dist/collection/components/chip/chip.js +19 -6
  342. package/dist/collection/components/chip/chip.js.map +1 -1
  343. package/dist/collection/components/com-nav/com-nav.js +2 -2
  344. package/dist/collection/components/com-nav-category/com-nav-category.js +2 -2
  345. package/dist/collection/components/com-nav-item/com-nav-item.js +1 -1
  346. package/dist/collection/components/com-nav-submenu/com-nav-submenu.js +2 -2
  347. package/dist/collection/components/counter/counter.js +1 -1
  348. package/dist/collection/components/divider/divider.js +1 -1
  349. package/dist/collection/components/dropdown/dropdown.css +9 -0
  350. package/dist/collection/components/dropdown/dropdown.e2e.playwright.js +76 -0
  351. package/dist/collection/components/dropdown/dropdown.e2e.playwright.js.map +1 -1
  352. package/dist/collection/components/dropdown/dropdown.js +1 -1
  353. package/dist/collection/components/dropdown-divider/dropdown-divider.js +1 -1
  354. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  355. package/dist/collection/components/dropdown-item/dropdown-item.js +1 -1
  356. package/dist/collection/components/editable-field/editable-field.e2e.playwright.js +214 -0
  357. package/dist/collection/components/editable-field/editable-field.e2e.playwright.js.map +1 -1
  358. package/dist/collection/components/editable-field/editable-field.js +34 -10
  359. package/dist/collection/components/editable-field/editable-field.js.map +1 -1
  360. package/dist/collection/components/error/error.js +1 -1
  361. package/dist/collection/components/field/field.js +1 -1
  362. package/dist/collection/components/field-content/field-content.js +1 -1
  363. package/dist/collection/components/field-label/field-label.js +1 -1
  364. package/dist/collection/components/footer/footer.js +1 -1
  365. package/dist/collection/components/form-field/form-field.js +1 -1
  366. package/dist/collection/components/galactic/galactic.js +1 -1
  367. package/dist/collection/components/galactic-menu/galactic-menu.js +2 -2
  368. package/dist/collection/components/grid/grid-radio.css +8 -0
  369. package/dist/collection/components/grid/grid.e2e.playwright.js +130 -0
  370. package/dist/collection/components/grid/grid.e2e.playwright.js.map +1 -1
  371. package/dist/collection/components/grid/grid.js +10 -3
  372. package/dist/collection/components/grid/grid.js.map +1 -1
  373. package/dist/collection/components/grid-column/grid-column.js +1 -1
  374. package/dist/collection/components/grid-custom-cell/grid-custom-cell.js +1 -1
  375. package/dist/collection/components/grid-pagination/grid-pagination.css +4 -0
  376. package/dist/collection/components/grid-pagination/grid-pagination.js +4 -1
  377. package/dist/collection/components/grid-pagination/grid-pagination.js.map +1 -1
  378. package/dist/collection/components/header/header.js +1 -1
  379. package/dist/collection/components/hint/hint.js +1 -1
  380. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +1 -1
  381. package/dist/collection/components/icon/icon.js +1 -1
  382. package/dist/collection/components/input/input.js +2 -7
  383. package/dist/collection/components/input/input.js.map +1 -1
  384. package/dist/collection/components/label/label.css +12 -8
  385. package/dist/collection/components/label/label.e2e.playwright.js +62 -0
  386. package/dist/collection/components/label/label.e2e.playwright.js.map +1 -1
  387. package/dist/collection/components/label/label.js +1 -1
  388. package/dist/collection/components/label/label.js.map +1 -1
  389. package/dist/collection/components/list-item/list-item.js +1 -1
  390. package/dist/collection/components/list-item-properties/list-item-properties.js +1 -1
  391. package/dist/collection/components/list-item-property/list-item-property.js +1 -1
  392. package/dist/collection/components/mat-icon/mat-icon.css +8 -4
  393. package/dist/collection/components/mat-icon/mat-icon.js +6 -1
  394. package/dist/collection/components/mat-icon/mat-icon.js.map +1 -1
  395. package/dist/collection/components/message/message-interface.js +2 -0
  396. package/dist/collection/components/message/message-interface.js.map +1 -0
  397. package/dist/collection/components/message/message.css +101 -0
  398. package/dist/collection/components/message/message.js +206 -0
  399. package/dist/collection/components/message/message.js.map +1 -0
  400. package/dist/collection/components/modal/modal.js +1 -1
  401. package/dist/collection/components/native-select/native-select.js +1 -1
  402. package/dist/collection/components/nav/nav.js +1 -1
  403. package/dist/collection/components/nav-item/nav-item.js +1 -1
  404. package/dist/collection/components/progress-bar/progress-bar.js +2 -2
  405. package/dist/collection/components/progress-radial/progress-radial.js +2 -2
  406. package/dist/collection/components/radio/radio.css +48 -37
  407. package/dist/collection/components/radio/radio.js +24 -20
  408. package/dist/collection/components/radio/radio.js.map +1 -1
  409. package/dist/collection/components/radio-group/radio-group.e2e.playwright.js +92 -7
  410. package/dist/collection/components/radio-group/radio-group.e2e.playwright.js.map +1 -1
  411. package/dist/collection/components/radio-group/radio-group.js +1 -1
  412. package/dist/collection/components/select/select-interface.js.map +1 -1
  413. package/dist/collection/components/select/select.e2e.playwright.js +167 -16
  414. package/dist/collection/components/select/select.e2e.playwright.js.map +1 -1
  415. package/dist/collection/components/select/select.js +21 -19
  416. package/dist/collection/components/select/select.js.map +1 -1
  417. package/dist/collection/components/select-option/select-option.js +2 -2
  418. package/dist/collection/components/skeleton-circle/skeleton-circle.js +1 -1
  419. package/dist/collection/components/skeleton-rectangle/skeleton-rectangle.js +1 -1
  420. package/dist/collection/components/skeleton-text/skeleton-text.js +1 -1
  421. package/dist/collection/components/spinner/spinner.js +1 -1
  422. package/dist/collection/components/switch/switch.js +1 -1
  423. package/dist/collection/components/tab/tab.js +1 -1
  424. package/dist/collection/components/tabs/tabs.js +1 -1
  425. package/dist/collection/components/textarea/textarea.js +1 -1
  426. package/dist/collection/components/tooltip/tooltip.js +1 -1
  427. package/dist/esm/alert-close-button-2ce5ac95.js +8 -0
  428. package/dist/esm/alert-close-button-2ce5ac95.js.map +1 -0
  429. package/dist/esm/{com-nav-utils-ee7bf77c.js → com-nav-utils-a5af32af.js} +2 -2
  430. package/dist/esm/{com-nav-utils-ee7bf77c.js.map → com-nav-utils-a5af32af.js.map} +1 -1
  431. package/dist/esm/{grid-pagination-731726a6.js → grid-pagination-c29173f6.js} +4 -4
  432. package/dist/esm/grid-pagination-c29173f6.js.map +1 -0
  433. package/dist/esm/{helpers-ece6a2d3.js → helpers-2d73ee7c.js} +2 -9
  434. package/dist/esm/helpers-2d73ee7c.js.map +1 -0
  435. package/dist/esm/{isEqual-f2a07f4c.js → isEqual-89e74e17.js} +2 -2
  436. package/dist/esm/{isEqual-f2a07f4c.js.map → isEqual-89e74e17.js.map} +1 -1
  437. package/dist/esm/{keyboard-event-26b65ae5.js → keyboard-event-3a0579d5.js} +2 -2
  438. package/dist/esm/{keyboard-event-26b65ae5.js.map → keyboard-event-3a0579d5.js.map} +1 -1
  439. package/dist/esm/loader.js +1 -1
  440. package/dist/esm/wcs-accordion-panel.entry.js +1 -1
  441. package/dist/esm/wcs-alert-drawer.entry.js +14 -2
  442. package/dist/esm/wcs-alert-drawer.entry.js.map +1 -1
  443. package/dist/esm/wcs-alert.entry.js +3 -2
  444. package/dist/esm/wcs-alert.entry.js.map +1 -1
  445. package/dist/esm/wcs-app.entry.js +3 -3
  446. package/dist/esm/wcs-badge.entry.js +1 -1
  447. package/dist/esm/wcs-breadcrumb-item.entry.js +1 -1
  448. package/dist/esm/wcs-breadcrumb.entry.js +2 -2
  449. package/dist/esm/{wcs-button_2.entry.js → wcs-button_3.entry.js} +41 -7
  450. package/dist/esm/{wcs-button_2.entry.js.map → wcs-button_3.entry.js.map} +1 -1
  451. package/dist/esm/wcs-card-body.entry.js +1 -1
  452. package/dist/esm/wcs-card-content.entry.js +1 -1
  453. package/dist/esm/wcs-card-content.entry.js.map +1 -1
  454. package/dist/esm/wcs-card-footer.entry.js +1 -1
  455. package/dist/esm/wcs-card-header.entry.js +1 -1
  456. package/dist/esm/wcs-card-media.entry.js +1 -1
  457. package/dist/esm/wcs-card.entry.js +1 -1
  458. package/dist/esm/wcs-card.entry.js.map +1 -1
  459. package/dist/esm/wcs-checkbox.entry.js +2 -2
  460. package/dist/esm/wcs-chip.entry.js +18 -6
  461. package/dist/esm/wcs-chip.entry.js.map +1 -1
  462. package/dist/esm/wcs-com-nav-category.entry.js +4 -4
  463. package/dist/esm/wcs-com-nav-item.entry.js +1 -1
  464. package/dist/esm/wcs-com-nav-submenu.entry.js +4 -4
  465. package/dist/esm/wcs-com-nav.entry.js +4 -4
  466. package/dist/esm/wcs-counter.entry.js +2 -2
  467. package/dist/esm/wcs-divider.entry.js +1 -1
  468. package/dist/esm/wcs-dropdown-divider.entry.js +1 -1
  469. package/dist/esm/wcs-dropdown-header.entry.js +1 -1
  470. package/dist/esm/wcs-dropdown-item.entry.js +2 -2
  471. package/dist/esm/wcs-dropdown.entry.js +4 -4
  472. package/dist/esm/wcs-dropdown.entry.js.map +1 -1
  473. package/dist/esm/wcs-editable-field.entry.js +35 -11
  474. package/dist/esm/wcs-editable-field.entry.js.map +1 -1
  475. package/dist/esm/wcs-error_3.entry.js +5 -5
  476. package/dist/esm/wcs-error_3.entry.js.map +1 -1
  477. package/dist/esm/wcs-field-content.entry.js +1 -1
  478. package/dist/esm/wcs-field-label.entry.js +1 -1
  479. package/dist/esm/wcs-field.entry.js +1 -1
  480. package/dist/esm/wcs-footer.entry.js +1 -1
  481. package/dist/esm/wcs-galactic-menu.entry.js +3 -3
  482. package/dist/esm/wcs-galactic.entry.js +1 -1
  483. package/dist/esm/wcs-grid-column.entry.js +2 -2
  484. package/dist/esm/wcs-grid-custom-cell.entry.js +1 -1
  485. package/dist/esm/wcs-grid-pagination.entry.js +2 -2
  486. package/dist/esm/wcs-grid.entry.js +15 -8
  487. package/dist/esm/wcs-grid.entry.js.map +1 -1
  488. package/dist/esm/wcs-header.entry.js +2 -2
  489. package/dist/esm/wcs-hint.entry.js +1 -1
  490. package/dist/esm/wcs-horizontal-stepper.entry.js +1 -1
  491. package/dist/esm/wcs-icon.entry.js +2 -2
  492. package/dist/esm/wcs-input.entry.js +2 -7
  493. package/dist/esm/wcs-input.entry.js.map +1 -1
  494. package/dist/esm/wcs-list-item-properties.entry.js +1 -1
  495. package/dist/esm/wcs-list-item-property.entry.js +1 -1
  496. package/dist/esm/wcs-list-item.entry.js +1 -1
  497. package/dist/esm/wcs-message.entry.js +52 -0
  498. package/dist/esm/wcs-message.entry.js.map +1 -0
  499. package/dist/esm/wcs-modal.entry.js +2 -2
  500. package/dist/esm/wcs-native-select.entry.js +1 -1
  501. package/dist/esm/wcs-nav-item.entry.js +2 -2
  502. package/dist/esm/wcs-nav.entry.js +2 -2
  503. package/dist/esm/wcs-progress-bar.entry.js +3 -3
  504. package/dist/esm/wcs-progress-radial.entry.js +3 -3
  505. package/dist/esm/wcs-radio-group.entry.js +2 -2
  506. package/dist/esm/wcs-radio.entry.js +25 -21
  507. package/dist/esm/wcs-radio.entry.js.map +1 -1
  508. package/dist/esm/wcs-select_2.entry.js +25 -23
  509. package/dist/esm/wcs-select_2.entry.js.map +1 -1
  510. package/dist/esm/wcs-skeleton-circle.entry.js +1 -1
  511. package/dist/esm/wcs-skeleton-rectangle.entry.js +1 -1
  512. package/dist/esm/wcs-skeleton-text.entry.js +1 -1
  513. package/dist/esm/wcs-switch.entry.js +2 -2
  514. package/dist/esm/wcs-tab.entry.js +1 -1
  515. package/dist/esm/wcs-tabs.entry.js +2 -2
  516. package/dist/esm/wcs-textarea.entry.js +2 -2
  517. package/dist/esm/wcs-tooltip.entry.js +2 -2
  518. package/dist/esm/wcs.js +1 -1
  519. package/dist/types/components/alert/alert-close-button.d.ts +4 -0
  520. package/dist/types/components/alert-drawer/alert-drawer.d.ts +10 -0
  521. package/dist/types/components/button/button.d.ts +18 -0
  522. package/dist/types/components/card/card.d.ts +10 -3
  523. package/dist/types/components/card-content/card-content.d.ts +7 -2
  524. package/dist/types/components/chip/chip.d.ts +1 -1
  525. package/dist/types/components/editable-field/editable-field.d.ts +3 -0
  526. package/dist/types/components/grid-pagination/grid-pagination.d.ts +3 -0
  527. package/dist/types/components/mat-icon/mat-icon.d.ts +5 -0
  528. package/dist/types/components/message/message-interface.d.ts +1 -0
  529. package/dist/types/components/message/message.d.ts +77 -0
  530. package/dist/types/components/radio/radio.d.ts +4 -5
  531. package/dist/types/components/select/select-interface.d.ts +5 -0
  532. package/dist/types/components/select/select.d.ts +0 -2
  533. package/dist/types/components.d.ts +316 -21
  534. package/dist/wcs/{p-41b946b2.entry.js → p-03ae13ec.entry.js} +2 -2
  535. package/dist/wcs/p-07c961b4.entry.js +2 -0
  536. package/dist/wcs/p-07c961b4.entry.js.map +1 -0
  537. package/dist/wcs/{p-dfb52a1c.entry.js → p-0a0bc006.entry.js} +2 -2
  538. package/dist/wcs/p-0a0bc006.entry.js.map +1 -0
  539. package/dist/wcs/{p-abd8d5a0.entry.js → p-167108aa.entry.js} +2 -2
  540. package/dist/wcs/{p-5e8fff73.entry.js → p-17c8f012.entry.js} +2 -2
  541. package/dist/wcs/{p-db7ba599.entry.js → p-190a8883.entry.js} +3 -3
  542. package/dist/wcs/{p-0758d22e.entry.js → p-276070f3.entry.js} +2 -2
  543. package/dist/wcs/{p-f929b66f.entry.js → p-28941abc.entry.js} +2 -2
  544. package/dist/wcs/p-28b3e55a.entry.js +2 -0
  545. package/dist/wcs/p-28b3e55a.entry.js.map +1 -0
  546. package/dist/wcs/{p-c261eaf9.entry.js → p-28d52607.entry.js} +2 -2
  547. package/dist/wcs/p-2d4fd96a.entry.js +2 -0
  548. package/dist/wcs/{p-18fa39f4.entry.js → p-2d5becbf.entry.js} +2 -2
  549. package/dist/wcs/p-2da579f2.entry.js +2 -0
  550. package/dist/wcs/{p-53a395a9.entry.js → p-2e0238b6.entry.js} +2 -2
  551. package/dist/wcs/{p-1e7ea63c.entry.js → p-358a505f.entry.js} +2 -2
  552. package/dist/wcs/{p-dff8641e.entry.js → p-38d37878.entry.js} +2 -2
  553. package/dist/wcs/{p-4ae08567.entry.js → p-3bc23ef1.entry.js} +2 -2
  554. package/dist/wcs/p-3da303d7.entry.js +16 -0
  555. package/dist/wcs/p-3da303d7.entry.js.map +1 -0
  556. package/dist/wcs/{p-9fd3366c.entry.js → p-407d9700.entry.js} +2 -2
  557. package/dist/wcs/{p-c84ae00d.entry.js → p-41383e84.entry.js} +2 -2
  558. package/dist/wcs/{p-27b438c0.entry.js → p-4506e5e4.entry.js} +2 -2
  559. package/dist/wcs/{p-5202b323.entry.js → p-48541bf7.entry.js} +2 -2
  560. package/dist/wcs/{p-8332a7e3.entry.js → p-4a28d7a3.entry.js} +2 -2
  561. package/dist/wcs/p-4c43d8fc.entry.js +2 -0
  562. package/dist/wcs/p-4c43d8fc.entry.js.map +1 -0
  563. package/dist/wcs/{p-0424e545.entry.js → p-4d7bc716.entry.js} +2 -2
  564. package/dist/wcs/{p-f2f7595e.entry.js → p-4ef24e07.entry.js} +2 -2
  565. package/dist/wcs/{p-f2f7595e.entry.js.map → p-4ef24e07.entry.js.map} +1 -1
  566. package/dist/wcs/{p-367946fe.entry.js → p-4f20cdba.entry.js} +2 -2
  567. package/dist/wcs/{p-1ba616c2.entry.js → p-4fad6675.entry.js} +2 -2
  568. package/dist/wcs/p-51c93d07.entry.js +2 -0
  569. package/dist/wcs/p-51c93d07.entry.js.map +1 -0
  570. package/dist/wcs/{p-cbda74f6.entry.js → p-575881cd.entry.js} +2 -2
  571. package/dist/wcs/p-5823cd22.entry.js +2 -0
  572. package/dist/wcs/p-5a276237.entry.js +2 -0
  573. package/dist/wcs/{p-fdeae83e.entry.js → p-5b61a775.entry.js} +2 -2
  574. package/dist/wcs/p-5bc7a732.js +2 -0
  575. package/dist/wcs/p-5bc7a732.js.map +1 -0
  576. package/dist/wcs/{p-ff826ebe.js → p-5cea30cb.js} +1 -1
  577. package/dist/wcs/{p-ff826ebe.js.map → p-5cea30cb.js.map} +1 -1
  578. package/dist/wcs/p-6033c91b.entry.js +2 -0
  579. package/dist/wcs/p-609115fc.js +2 -0
  580. package/dist/wcs/p-609115fc.js.map +1 -0
  581. package/dist/wcs/{p-aadf37e7.entry.js → p-6b5db6be.entry.js} +2 -2
  582. package/dist/wcs/{p-a0f6ef30.entry.js → p-6b86d4fa.entry.js} +2 -2
  583. package/dist/wcs/p-6b86d4fa.entry.js.map +1 -0
  584. package/dist/wcs/p-6c6841ac.entry.js +2 -0
  585. package/dist/wcs/p-6c78d16e.js +2 -0
  586. package/dist/wcs/p-714c3cd7.entry.js +2 -0
  587. package/dist/wcs/p-714c3cd7.entry.js.map +1 -0
  588. package/dist/wcs/p-71af107c.js +2 -0
  589. package/dist/wcs/p-71af107c.js.map +1 -0
  590. package/dist/wcs/{p-ad286030.entry.js → p-7b67cec9.entry.js} +2 -2
  591. package/dist/wcs/{p-781a956e.entry.js → p-7cd88886.entry.js} +2 -2
  592. package/dist/wcs/{p-850fa9c9.entry.js → p-7f5eea6a.entry.js} +2 -2
  593. package/dist/wcs/{p-e56b9ce2.entry.js → p-882886ae.entry.js} +2 -2
  594. package/dist/wcs/p-8fd515a3.entry.js +2 -0
  595. package/dist/wcs/{p-352e1f99.entry.js → p-95f35254.entry.js} +2 -2
  596. package/dist/wcs/{p-b0a6eec6.entry.js → p-9d47a628.entry.js} +2 -2
  597. package/dist/wcs/p-9d683786.entry.js +2 -0
  598. package/dist/wcs/{p-22620c69.entry.js → p-a45a1f25.entry.js} +2 -2
  599. package/dist/wcs/p-a45a1f25.entry.js.map +1 -0
  600. package/dist/wcs/{p-0326f834.entry.js → p-a9fa5726.entry.js} +2 -2
  601. package/dist/wcs/p-ae305b09.entry.js +2 -0
  602. package/dist/wcs/p-ae305b09.entry.js.map +1 -0
  603. package/dist/wcs/p-afd3e923.entry.js +2 -0
  604. package/dist/wcs/{p-990698a7.entry.js → p-b1b0e2cb.entry.js} +2 -2
  605. package/dist/wcs/p-b1b0e2cb.entry.js.map +1 -0
  606. package/dist/wcs/{p-3a18535f.entry.js → p-b9744cf7.entry.js} +2 -2
  607. package/dist/wcs/p-b99daad4.entry.js +156 -0
  608. package/dist/wcs/p-b99daad4.entry.js.map +1 -0
  609. package/dist/wcs/{p-cbbca016.entry.js → p-cefd8219.entry.js} +2 -2
  610. package/dist/wcs/{p-9c73744c.entry.js → p-d18051b2.entry.js} +2 -2
  611. package/dist/wcs/{p-637ec45a.entry.js → p-d42f5883.entry.js} +2 -2
  612. package/dist/wcs/p-d42f5883.entry.js.map +1 -0
  613. package/dist/wcs/p-d6d273d2.js +2 -0
  614. package/dist/wcs/{p-2329af04.entry.js → p-e08febb4.entry.js} +2 -2
  615. package/dist/wcs/{p-bc009574.entry.js → p-e91d33e0.entry.js} +2 -2
  616. package/dist/wcs/p-f37d7b07.entry.js +2 -0
  617. package/dist/wcs/{p-fbd68522.entry.js → p-f7897fd4.entry.js} +2 -2
  618. package/dist/wcs/{p-c6f8c45c.entry.js → p-fcc43c82.entry.js} +2 -2
  619. package/dist/wcs/{p-ed3b0709.entry.js → p-fd18dce6.entry.js} +2 -2
  620. package/dist/wcs/p-fed6a8cd.entry.js +2 -0
  621. package/dist/wcs/{p-cad10435.entry.js.map → p-fed6a8cd.entry.js.map} +1 -1
  622. package/dist/wcs/{p-4e2d6227.entry.js → p-ff20d08b.entry.js} +2 -2
  623. package/dist/wcs/wcs.esm.js +1 -1
  624. package/dist/wcs/wcs.esm.js.map +1 -1
  625. package/package.json +2 -2
  626. package/bundle/p-2e9b9605.js +0 -2
  627. package/bundle/p-2e9b9605.js.map +0 -1
  628. package/bundle/p-30d83d3d.js +0 -2
  629. package/bundle/p-30d83d3d.js.map +0 -1
  630. package/bundle/p-581fc0fc.js +0 -2
  631. package/bundle/p-581fc0fc.js.map +0 -1
  632. package/bundle/p-763371a0.js +0 -16
  633. package/bundle/p-763371a0.js.map +0 -1
  634. package/bundle/p-98bd8a96.js +0 -2
  635. package/bundle/p-98bd8a96.js.map +0 -1
  636. package/bundle/p-9c2aa87a.js +0 -2
  637. package/bundle/p-9c2aa87a.js.map +0 -1
  638. package/bundle/p-cdc6f6c2.js.map +0 -1
  639. package/bundle/p-f0dda0b8.js +0 -2
  640. package/composite-elements/p-2454bcae.js +0 -2
  641. package/composite-elements/p-2a51c239.js +0 -2
  642. package/composite-elements/p-2a51c239.js.map +0 -1
  643. package/composite-elements/p-46f752d5.js +0 -2
  644. package/composite-elements/p-51517fda.js.map +0 -1
  645. package/composite-elements/p-55668982.js +0 -2
  646. package/composite-elements/p-55668982.js.map +0 -1
  647. package/composite-elements/p-79ad61e4.js +0 -2
  648. package/composite-elements/p-79ad61e4.js.map +0 -1
  649. package/composite-elements/p-af24fb0d.js +0 -16
  650. package/composite-elements/p-af24fb0d.js.map +0 -1
  651. package/composite-elements/p-bc4c736d.js +0 -2
  652. package/composite-elements/p-bc4c736d.js.map +0 -1
  653. package/composite-elements/p-e803bb26.js +0 -2
  654. package/composite-elements/p-e803bb26.js.map +0 -1
  655. package/dist/cjs/grid-pagination-4505d7b6.js.map +0 -1
  656. package/dist/cjs/helpers-2f1a8ddc.js.map +0 -1
  657. package/dist/cjs/wcs-button_2.cjs.entry.js.map +0 -1
  658. package/dist/cjs/wcs-mat-icon.cjs.entry.js +0 -42
  659. package/dist/cjs/wcs-mat-icon.cjs.entry.js.map +0 -1
  660. package/dist/esm/grid-pagination-731726a6.js.map +0 -1
  661. package/dist/esm/helpers-ece6a2d3.js.map +0 -1
  662. package/dist/esm/wcs-mat-icon.entry.js +0 -38
  663. package/dist/esm/wcs-mat-icon.entry.js.map +0 -1
  664. package/dist/wcs/p-0017d766.js +0 -2
  665. package/dist/wcs/p-0b8157e7.entry.js +0 -2
  666. package/dist/wcs/p-2221bf0c.entry.js +0 -16
  667. package/dist/wcs/p-2221bf0c.entry.js.map +0 -1
  668. package/dist/wcs/p-22620c69.entry.js.map +0 -1
  669. package/dist/wcs/p-3823f54e.entry.js +0 -2
  670. package/dist/wcs/p-450942b1.entry.js +0 -156
  671. package/dist/wcs/p-450942b1.entry.js.map +0 -1
  672. package/dist/wcs/p-52d77e1f.js +0 -2
  673. package/dist/wcs/p-52d77e1f.js.map +0 -1
  674. package/dist/wcs/p-5607246c.entry.js +0 -2
  675. package/dist/wcs/p-580b3142.entry.js +0 -2
  676. package/dist/wcs/p-5da0534f.entry.js +0 -2
  677. package/dist/wcs/p-5da0534f.entry.js.map +0 -1
  678. package/dist/wcs/p-637ec45a.entry.js.map +0 -1
  679. package/dist/wcs/p-6aededc6.entry.js +0 -2
  680. package/dist/wcs/p-7de847e0.entry.js +0 -2
  681. package/dist/wcs/p-8152d360.entry.js +0 -2
  682. package/dist/wcs/p-8152d360.entry.js.map +0 -1
  683. package/dist/wcs/p-86ec9ead.entry.js +0 -2
  684. package/dist/wcs/p-86ec9ead.entry.js.map +0 -1
  685. package/dist/wcs/p-89b8c724.js +0 -2
  686. package/dist/wcs/p-98a8b806.entry.js +0 -2
  687. package/dist/wcs/p-98a8b806.entry.js.map +0 -1
  688. package/dist/wcs/p-990698a7.entry.js.map +0 -1
  689. package/dist/wcs/p-a0f6ef30.entry.js.map +0 -1
  690. package/dist/wcs/p-ad5192cd.entry.js +0 -2
  691. package/dist/wcs/p-b28b2fba.entry.js +0 -2
  692. package/dist/wcs/p-b28b2fba.entry.js.map +0 -1
  693. package/dist/wcs/p-c211a5d1.entry.js +0 -2
  694. package/dist/wcs/p-c5bad0b8.js +0 -2
  695. package/dist/wcs/p-c5bad0b8.js.map +0 -1
  696. package/dist/wcs/p-c7812760.entry.js +0 -2
  697. package/dist/wcs/p-cad10435.entry.js +0 -2
  698. package/dist/wcs/p-dfb52a1c.entry.js.map +0 -1
  699. package/dist/wcs/p-e26c19e5.entry.js +0 -2
  700. package/dist/wcs/p-fe303f58.entry.js +0 -2
  701. package/dist/wcs/p-fe303f58.entry.js.map +0 -1
  702. /package/bundle/{p-f0dda0b8.js.map → p-035ad27f.js.map} +0 -0
  703. /package/bundle/{p-010cf905.js.map → p-16c7ed2e.js.map} +0 -0
  704. /package/bundle/{p-97e70e10.js.map → p-5a997d17.js.map} +0 -0
  705. /package/bundle/{p-60193ef5.js.map → p-791fce94.js.map} +0 -0
  706. /package/bundle/{p-44a3b0b9.js.map → p-87b9556d.js.map} +0 -0
  707. /package/bundle/{p-d23d7658.js.map → p-886109ed.js.map} +0 -0
  708. /package/bundle/{p-2751ddc1.js.map → p-a9a83300.js.map} +0 -0
  709. /package/bundle/{p-c8b73e93.js.map → p-d7d1ea63.js.map} +0 -0
  710. /package/composite-elements/{p-a90bb01e.js.map → p-061ccda5.js.map} +0 -0
  711. /package/composite-elements/{p-ef26b4d8.js.map → p-2181568b.js.map} +0 -0
  712. /package/composite-elements/{p-b83afff9.js.map → p-61886571.js.map} +0 -0
  713. /package/composite-elements/{p-2454bcae.js.map → p-b6d0a6b4.js.map} +0 -0
  714. /package/composite-elements/{p-46f752d5.js.map → p-cb9faa9b.js.map} +0 -0
  715. /package/composite-elements/{p-5a3d7fec.js.map → p-cd6cca64.js.map} +0 -0
  716. /package/composite-elements/{p-04663560.js.map → p-d2d79425.js.map} +0 -0
  717. /package/composite-elements/{p-b92e818b.js.map → p-f0b064a2.js.map} +0 -0
  718. /package/dist/wcs/{p-41b946b2.entry.js.map → p-03ae13ec.entry.js.map} +0 -0
  719. /package/dist/wcs/{p-abd8d5a0.entry.js.map → p-167108aa.entry.js.map} +0 -0
  720. /package/dist/wcs/{p-5e8fff73.entry.js.map → p-17c8f012.entry.js.map} +0 -0
  721. /package/dist/wcs/{p-db7ba599.entry.js.map → p-190a8883.entry.js.map} +0 -0
  722. /package/dist/wcs/{p-0758d22e.entry.js.map → p-276070f3.entry.js.map} +0 -0
  723. /package/dist/wcs/{p-f929b66f.entry.js.map → p-28941abc.entry.js.map} +0 -0
  724. /package/dist/wcs/{p-c261eaf9.entry.js.map → p-28d52607.entry.js.map} +0 -0
  725. /package/dist/wcs/{p-c211a5d1.entry.js.map → p-2d4fd96a.entry.js.map} +0 -0
  726. /package/dist/wcs/{p-18fa39f4.entry.js.map → p-2d5becbf.entry.js.map} +0 -0
  727. /package/dist/wcs/{p-7de847e0.entry.js.map → p-2da579f2.entry.js.map} +0 -0
  728. /package/dist/wcs/{p-53a395a9.entry.js.map → p-2e0238b6.entry.js.map} +0 -0
  729. /package/dist/wcs/{p-1e7ea63c.entry.js.map → p-358a505f.entry.js.map} +0 -0
  730. /package/dist/wcs/{p-dff8641e.entry.js.map → p-38d37878.entry.js.map} +0 -0
  731. /package/dist/wcs/{p-4ae08567.entry.js.map → p-3bc23ef1.entry.js.map} +0 -0
  732. /package/dist/wcs/{p-9fd3366c.entry.js.map → p-407d9700.entry.js.map} +0 -0
  733. /package/dist/wcs/{p-c84ae00d.entry.js.map → p-41383e84.entry.js.map} +0 -0
  734. /package/dist/wcs/{p-27b438c0.entry.js.map → p-4506e5e4.entry.js.map} +0 -0
  735. /package/dist/wcs/{p-5202b323.entry.js.map → p-48541bf7.entry.js.map} +0 -0
  736. /package/dist/wcs/{p-8332a7e3.entry.js.map → p-4a28d7a3.entry.js.map} +0 -0
  737. /package/dist/wcs/{p-0424e545.entry.js.map → p-4d7bc716.entry.js.map} +0 -0
  738. /package/dist/wcs/{p-367946fe.entry.js.map → p-4f20cdba.entry.js.map} +0 -0
  739. /package/dist/wcs/{p-1ba616c2.entry.js.map → p-4fad6675.entry.js.map} +0 -0
  740. /package/dist/wcs/{p-cbda74f6.entry.js.map → p-575881cd.entry.js.map} +0 -0
  741. /package/dist/wcs/{p-0b8157e7.entry.js.map → p-5823cd22.entry.js.map} +0 -0
  742. /package/dist/wcs/{p-580b3142.entry.js.map → p-5a276237.entry.js.map} +0 -0
  743. /package/dist/wcs/{p-fdeae83e.entry.js.map → p-5b61a775.entry.js.map} +0 -0
  744. /package/dist/wcs/{p-e26c19e5.entry.js.map → p-6033c91b.entry.js.map} +0 -0
  745. /package/dist/wcs/{p-aadf37e7.entry.js.map → p-6b5db6be.entry.js.map} +0 -0
  746. /package/dist/wcs/{p-6aededc6.entry.js.map → p-6c6841ac.entry.js.map} +0 -0
  747. /package/dist/wcs/{p-0017d766.js.map → p-6c78d16e.js.map} +0 -0
  748. /package/dist/wcs/{p-ad286030.entry.js.map → p-7b67cec9.entry.js.map} +0 -0
  749. /package/dist/wcs/{p-781a956e.entry.js.map → p-7cd88886.entry.js.map} +0 -0
  750. /package/dist/wcs/{p-850fa9c9.entry.js.map → p-7f5eea6a.entry.js.map} +0 -0
  751. /package/dist/wcs/{p-e56b9ce2.entry.js.map → p-882886ae.entry.js.map} +0 -0
  752. /package/dist/wcs/{p-5607246c.entry.js.map → p-8fd515a3.entry.js.map} +0 -0
  753. /package/dist/wcs/{p-352e1f99.entry.js.map → p-95f35254.entry.js.map} +0 -0
  754. /package/dist/wcs/{p-b0a6eec6.entry.js.map → p-9d47a628.entry.js.map} +0 -0
  755. /package/dist/wcs/{p-3823f54e.entry.js.map → p-9d683786.entry.js.map} +0 -0
  756. /package/dist/wcs/{p-0326f834.entry.js.map → p-a9fa5726.entry.js.map} +0 -0
  757. /package/dist/wcs/{p-ad5192cd.entry.js.map → p-afd3e923.entry.js.map} +0 -0
  758. /package/dist/wcs/{p-3a18535f.entry.js.map → p-b9744cf7.entry.js.map} +0 -0
  759. /package/dist/wcs/{p-cbbca016.entry.js.map → p-cefd8219.entry.js.map} +0 -0
  760. /package/dist/wcs/{p-9c73744c.entry.js.map → p-d18051b2.entry.js.map} +0 -0
  761. /package/dist/wcs/{p-89b8c724.js.map → p-d6d273d2.js.map} +0 -0
  762. /package/dist/wcs/{p-2329af04.entry.js.map → p-e08febb4.entry.js.map} +0 -0
  763. /package/dist/wcs/{p-bc009574.entry.js.map → p-e91d33e0.entry.js.map} +0 -0
  764. /package/dist/wcs/{p-c7812760.entry.js.map → p-f37d7b07.entry.js.map} +0 -0
  765. /package/dist/wcs/{p-fbd68522.entry.js.map → p-f7897fd4.entry.js.map} +0 -0
  766. /package/dist/wcs/{p-c6f8c45c.entry.js.map → p-fcc43c82.entry.js.map} +0 -0
  767. /package/dist/wcs/{p-ed3b0709.entry.js.map → p-fd18dce6.entry.js.map} +0 -0
  768. /package/dist/wcs/{p-4e2d6227.entry.js.map → p-ff20d08b.entry.js.map} +0 -0
@@ -20,7 +20,7 @@ import { h, Host } from "@stencil/core";
20
20
  */
21
21
  export class Footer {
22
22
  render() {
23
- return (h(Host, { key: '6fe975235d6de2793e55e8d10860649b5684c093' }, h("footer", { key: '80b0ff721eedab3e4cc00fd2484a638718fc8b13', role: "contentinfo" }, h("div", { key: 'f7d676d79f4d8780736e3a28e3e4b2aa1f0786e1', class: "container" }, h("div", { key: 'e1f9ea823133d972d3eb2bc8e7eaa18558448a73' }, h("slot", { key: 'd7177b9e98ac24ad39008669de01899e71c27079' })), h("div", { key: '849ceafdd459f24b672e1f68edf86ffd4fcce733', class: "end" }, h("div", { key: '7077861e872bbb50e7e5de0c968fe2222e9bf7d7', class: "end-left" }, h("slot", { key: 'dded653e62bf683e0514c51b06e55ccb44f70c54', name: "end-left" })), h("div", { key: 'ec25d2a5f84cb477eaa6a63de4df6ce6e9db07c5', class: "end-right" }, h("slot", { key: '4201096294b44a29f74112c2acaa2163f9ecfcb9', name: "end-right" })))))));
23
+ return (h(Host, { key: '1982e1bb2f8f8fab2b32039b98327b82d0f7fe5b' }, h("footer", { key: '5df2e947ab692961ff3bab26c029d1cd6b60b525', role: "contentinfo" }, h("div", { key: '1aa5188a4679ca7c8d898747fae709648bf4efd4', class: "container" }, h("div", { key: '4e0720a198a72fd4d215afa9a9b82c9a01f935c7' }, h("slot", { key: 'b982e050f713d0684eb0202a33a72394a062383b' })), h("div", { key: '2d2969a699b1b56ebc712fecbb99ccde8dc28c28', class: "end" }, h("div", { key: 'a0e18ea874704d4fd8aac0204122b9a18209ca37', class: "end-left" }, h("slot", { key: 'c70c138311778a58748dcfcdd03f8f61895bc6ec', name: "end-left" })), h("div", { key: '3339a070ca8068d7441643825fdb30e684d9aff7', class: "end-right" }, h("slot", { key: 'f576479754f88144e8ded04c90d1696882e6155e', name: "end-right" })))))));
24
24
  }
25
25
  static get is() { return "wcs-footer"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -188,7 +188,7 @@ export class FormField {
188
188
  if (this.hasPrefix) {
189
189
  classes += ' has-prefix';
190
190
  }
191
- return (h(Host, { key: 'd8a5d2023add393b0a31173351a3d16d9fa0b1a6', class: classes }, h("slot", { key: '3f347f4dce239c0106fbbe52bdc217fa37c05d01', name: "label" }), h("div", { key: 'd6cb92104d72530059ecb9a383ff832afb0c2141', class: "input-container" }, h("slot", { key: '8be28f721ff351d41dced80c97c0e34337703d0e', name: "prefix" }), h("slot", { key: 'cc58d463877a1e8513736a987286e965870e096d', onSlotchange: () => this.onFormInputSlotChange() }), h("slot", { key: '898709cfcf0ae1cd43dabd55547d62199d6230c9', name: "suffix" })), isError ? (h("slot", { name: "error" })) : '', h("slot", { key: 'aaf2d35dfbdfda47b440f96d7f9aa22cb09f6a06', name: "messages" })));
191
+ return (h(Host, { key: '9cfd2ef4834a62bfe77366b99ec637b71008178e', class: classes }, h("slot", { key: '26a0f59515e28ec045e8ccee2e74e143466ca183', name: "label" }), h("div", { key: '338b49d772bc0b9ec2621a783a051e4bdc8096bc', class: "input-container" }, h("slot", { key: 'f51bf6dc00f529f70a8ccf37ff54c29093fb1e20', name: "prefix" }), h("slot", { key: 'ccab32ee521ec419c89e561d4ac099a0953b6188', onSlotchange: () => this.onFormInputSlotChange() }), h("slot", { key: 'b54d01ac5b4f7f6761923b94c436b2728ff036e5', name: "suffix" })), isError ? (h("slot", { name: "error" })) : '', h("slot", { key: '40665251b2e5acc2fb8e31a4e8b46d34959b74e1', name: "messages" })));
192
192
  }
193
193
  onFormInputSlotChange() {
194
194
  this.initSpiedElement();
@@ -21,7 +21,7 @@ export class Galactic {
21
21
  this.show = false;
22
22
  }
23
23
  render() {
24
- return (h(Host, { key: 'bcede9aa03d2014887eeaa4d5728d57c32a69de2' }, h("div", { key: '2d031655b20b592b77e2227a195f15535071c069', class: "container" }, h("div", { key: '1d3a345c56925946f5b39ad9edaad7ee927343cc', class: "logo-container" }, h("img", { key: '3f7e9a0a7df3a954d21e328da562189771baf8a8', src: SNCF_BASE64_SVG_LOGO, id: "sncf-logo", alt: "SNCF" }), h("span", { key: '68c00801e7f2564930d6a5f77fc6f45511a321cf' }, this.text)), h("div", { key: '3724b08dca457a9be21ecb84925ed3fea4e49f95', class: "actions-container" }, h("slot", { key: '572f4ca9036c737a579f2c58ec113cada4dd421c' })))));
24
+ return (h(Host, { key: '232bedfce53c034b8cb1d65386d883bd7e3bf98d' }, h("div", { key: '0c3540994bd2b846a4668cb20f7e12207b764041', class: "container" }, h("div", { key: '5e3d1e7c948420b75383a52eb39c22acfa443e1f', class: "logo-container" }, h("img", { key: 'd3d28eab6584e0b670cd7624147033c134f0bfbe', src: SNCF_BASE64_SVG_LOGO, id: "sncf-logo", alt: "SNCF" }), h("span", { key: '46de64ef60c5b5180397dbcee9d18ddd33f42025' }, this.text)), h("div", { key: '2de7221e95f3628a2c05a9b1006b75b25f6cb25e', class: "actions-container" }, h("slot", { key: 'd91d6a26c3d9c79610e8b35c79bb7e3e42541751' })))));
25
25
  }
26
26
  static get is() { return "wcs-galactic"; }
27
27
  static get encapsulation() { return "shadow"; }
@@ -71,9 +71,9 @@ export class Galactic {
71
71
  }
72
72
  }
73
73
  render() {
74
- return (h(Host, { key: 'bc460c17b222723b8cc037042cc758f8ca0e50ec' }, h("span", { key: 'd324ff624a9e5c9f6984134d4091986cac11f18b' }, this.text), h("button", Object.assign({ key: '7b0160174a249b30e082b9b2a77aca334ee6256a', "aria-haspopup": "true", "aria-controls": "menu", ref: el => {
74
+ return (h(Host, { key: '8119cc6893e6dc5eda0b2f88a2d3935f9c1a6ac4' }, h("span", { key: 'c6ca18f7cb948c09d7d5fdd6bc9aacbad2e397fe' }, this.text), h("button", Object.assign({ key: 'a04475052533f24675ef125ba52117bc15279fba', "aria-haspopup": "true", "aria-controls": "menu", ref: el => {
75
75
  this.menuButton = el;
76
- }, "aria-expanded": this.showPopoverMenu ? "true" : "false" }, this.inheritedAttributes, { onClick: _ => this.toggleMenu() }), h("wcs-mat-icon", { key: '96b20053845f5490791ea278c2444392ba630600', id: "toggle-menu-icon", icon: "more_horiz", size: "m" })), h("span", { key: '6f959f220edbf293fe6922f7aaeaab0f213bf736', id: "menu", role: "menu", "data-show": this.showPopoverMenu }, h("div", { key: '6a05e468d65252ecbb57b421a53be0a0a1974f98', id: "arrow", "data-popper-arrow": true }), h("slot", { key: 'c9398cbb856d836820ac1cddf3113710eeaff5fb' }))));
76
+ }, "aria-expanded": this.showPopoverMenu ? "true" : "false" }, this.inheritedAttributes, { onClick: _ => this.toggleMenu() }), h("wcs-mat-icon", { key: '7a394bfe5e1cee3d49dba4672c6569a0f94a02ae', id: "toggle-menu-icon", icon: "more_horiz", size: "m" })), h("span", { key: '290449dc75b2d5ba33acb49865b1736cf12cb13c', id: "menu", role: "menu", "data-show": this.showPopoverMenu }, h("div", { key: 'd5224168e7f11b935453c7e883791842ffbc0c61', id: "arrow", "data-popper-arrow": true }), h("slot", { key: 'eaaffe928ece2da680be02522e16655d961261ad' }))));
77
77
  }
78
78
  static get is() { return "wcs-galactic-menu"; }
79
79
  static get encapsulation() { return "shadow"; }
@@ -17,6 +17,14 @@
17
17
  width: fit-content;
18
18
  cursor: pointer;
19
19
  padding: var(--wcs-grid-radio-padding, 0.125rem);
20
+ /*
21
+ * DO NOT REMOVE:
22
+ * The native radio input is absolutely positioned.
23
+ * This `position: relative` makes `.grid-radio` its containing block.
24
+ * Without it, the input can be laid out relative to another ancestor higher in the DOM,
25
+ * so when the browser focuses the native control it may scroll the window unexpectedly.
26
+ */
27
+ position: relative;
20
28
  /* If the selector focus-visible is not supported by the browser, use focus-within instead */
21
29
  }
22
30
  .grid-radio:has(input:focus-visible) {
@@ -149,5 +149,135 @@ test.describe('Grid component', () => {
149
149
  }).toPass();
150
150
  });
151
151
  });
152
+ test.describe('Behavior in window with scroll', () => {
153
+ test('should preserve the window scroll position when clicking on a single-selection radio inside a scrollable container', async ({ page }) => {
154
+ // Given
155
+ const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }];
156
+ await setWcsContent(page, `
157
+ <div id="scroll-container" style="height: 100vh; overflow-y: auto;">
158
+ <div style="margin-top: 150vh; display: flex; flex-direction: column; gap: 16px;">
159
+ <wcs-grid id="simpleGrid" selection-config="single" sort="">
160
+ <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
161
+ </wcs-grid>
162
+ </div>
163
+ <div style="margin-top: 200vh;">Other content</div>
164
+ </div>
165
+ `);
166
+ const simpleGrid = page.locator('#simpleGrid');
167
+ await simpleGrid.evaluate((el, d) => el.data = d, data);
168
+ const body = page.locator('body');
169
+ const gridRadioFirstRow = simpleGrid.locator('table tbody tr:first-child td .grid-radio');
170
+ await gridRadioFirstRow.scrollIntoViewIfNeeded();
171
+ // When
172
+ await gridRadioFirstRow.click();
173
+ await page.waitForChanges();
174
+ // Then
175
+ const scrollY = await body.evaluate(() => window.scrollY);
176
+ expect(scrollY).toBe(0);
177
+ });
178
+ test('should preserve the window scroll position when tabbing to a single-selection grid inside a scrollable container', async ({ page }) => {
179
+ // Given
180
+ const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }];
181
+ await setWcsContent(page, `
182
+ <div id="scroll-container" style="height: 100vh; overflow-y: auto;">
183
+ <div style="margin-top: 150vh; display: flex; flex-direction: column; gap: 16px;">
184
+ <button id="before-grid">Before grid</button>
185
+ <wcs-grid id="simpleGrid" selection-config="single" sort="">
186
+ <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
187
+ </wcs-grid>
188
+ </div>
189
+ <div style="margin-top: 200vh;">Other content</div>
190
+ </div>
191
+ `);
192
+ const simpleGrid = page.locator('#simpleGrid');
193
+ await simpleGrid.evaluate((el, d) => el.data = d, data);
194
+ const body = page.locator('body');
195
+ const beforeGridButton = page.locator('#before-grid');
196
+ const firstGridRadio = simpleGrid.locator('table tbody tr:first-child td .grid-radio input');
197
+ await beforeGridButton.scrollIntoViewIfNeeded();
198
+ await beforeGridButton.focus();
199
+ // When
200
+ await page.keyboard.press('Tab');
201
+ // Then
202
+ await expect(firstGridRadio).toBeFocused();
203
+ const scrollY = await body.evaluate(() => window.scrollY);
204
+ expect(scrollY).toBe(0);
205
+ });
206
+ });
207
+ test.describe('Pagination', () => {
208
+ test('should display 0/0 when no data is bound to the grid', async ({ page }) => {
209
+ // Given
210
+ await setWcsContent(page, `
211
+ <wcs-grid id="grid">
212
+ <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
213
+ <wcs-grid-pagination id="pagination" available-page-sizes="2"></wcs-grid-pagination>
214
+ </wcs-grid>
215
+ `);
216
+ // When - no data is set at all
217
+ await page.waitForChanges();
218
+ // Then
219
+ const pagination = page.locator('#pagination');
220
+ const { currentPage, pageCount } = await pagination.evaluate((el) => ({
221
+ currentPage: el.currentPage,
222
+ pageCount: el.pageCount
223
+ }));
224
+ expect(currentPage).toBe(-1);
225
+ expect(pageCount).toBe(0);
226
+ // The displayed counter should show "0 / 0"
227
+ const counter = pagination.locator('.pagination-counter span');
228
+ await expect(counter).toHaveText('0 / 0');
229
+ });
230
+ test('should display 0/0 when data is set to an empty array', async ({ page }) => {
231
+ // Given
232
+ await setWcsContent(page, `
233
+ <wcs-grid id="grid">
234
+ <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
235
+ <wcs-grid-pagination id="pagination" available-page-sizes="2"></wcs-grid-pagination>
236
+ </wcs-grid>
237
+ `);
238
+ const grid = page.locator('#grid');
239
+ // When
240
+ await grid.evaluate((el) => el.data = []);
241
+ await page.waitForChanges();
242
+ // Then
243
+ const pagination = page.locator('#pagination');
244
+ const { currentPage, pageCount } = await pagination.evaluate((el) => ({
245
+ currentPage: el.currentPage,
246
+ pageCount: el.pageCount
247
+ }));
248
+ expect(currentPage).toBe(-1);
249
+ expect(pageCount).toBe(0);
250
+ const counter = pagination.locator('.pagination-counter span');
251
+ await expect(counter).toHaveText('0 / 0');
252
+ });
253
+ test('should reset to 0/0 when data is cleared after being populated', async ({ page }) => {
254
+ // Given
255
+ const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }];
256
+ await setWcsContent(page, `
257
+ <wcs-grid id="grid">
258
+ <wcs-grid-column path="first_name" name="First Name"></wcs-grid-column>
259
+ <wcs-grid-pagination id="pagination" available-page-sizes="2"></wcs-grid-pagination>
260
+ </wcs-grid>
261
+ `);
262
+ const grid = page.locator('#grid');
263
+ await grid.evaluate((el, d) => el.data = d, data);
264
+ await page.waitForChanges();
265
+ // Sanity check: pagination should show data
266
+ const pagination = page.locator('#pagination');
267
+ const counterAfterData = pagination.locator('.pagination-counter span');
268
+ await expect(counterAfterData).toHaveText('1 / 1');
269
+ // When
270
+ await grid.evaluate((el) => el.data = []);
271
+ await page.waitForChanges();
272
+ // Then
273
+ const { currentPage, pageCount } = await pagination.evaluate((el) => ({
274
+ currentPage: el.currentPage,
275
+ pageCount: el.pageCount
276
+ }));
277
+ expect(currentPage).toBe(-1);
278
+ expect(pageCount).toBe(0);
279
+ await expect(counterAfterData).toHaveText('0 / 0');
280
+ });
281
+ });
152
282
  });
153
283
  //# sourceMappingURL=grid.e2e.playwright.js.map
@@ -1 +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"]}
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 test.describe('Behavior in window with scroll', () => {\n test('should preserve the window scroll position when clicking on a single-selection radio inside a scrollable container', async ({ page }: { page: E2EPage }) => {\n // Given\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }];\n await setWcsContent(page, `\n <div id=\"scroll-container\" style=\"height: 100vh; overflow-y: auto;\">\n <div style=\"margin-top: 150vh; display: flex; flex-direction: column; gap: 16px;\">\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 </div>\n <div style=\"margin-top: 200vh;\">Other content</div>\n </div>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n const body = page.locator('body');\n const gridRadioFirstRow = simpleGrid.locator('table tbody tr:first-child td .grid-radio');\n\n await gridRadioFirstRow.scrollIntoViewIfNeeded();\n\n // When\n await gridRadioFirstRow.click();\n await page.waitForChanges();\n\n // Then\n const scrollY = await body.evaluate(() => window.scrollY);\n expect(scrollY).toBe(0);\n });\n\n test('should preserve the window scroll position when tabbing to a single-selection grid inside a scrollable container', async ({ page }: { page: E2EPage }) => {\n // Given\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }];\n await setWcsContent(page, `\n <div id=\"scroll-container\" style=\"height: 100vh; overflow-y: auto;\">\n <div style=\"margin-top: 150vh; display: flex; flex-direction: column; gap: 16px;\">\n <button id=\"before-grid\">Before grid</button>\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 </div>\n <div style=\"margin-top: 200vh;\">Other content</div>\n </div>\n `);\n\n const simpleGrid = page.locator('#simpleGrid');\n await simpleGrid.evaluate((el: any, d) => el.data = d, data);\n\n const body = page.locator('body');\n const beforeGridButton = page.locator('#before-grid');\n const firstGridRadio = simpleGrid.locator('table tbody tr:first-child td .grid-radio input');\n\n await beforeGridButton.scrollIntoViewIfNeeded();\n await beforeGridButton.focus();\n\n // When\n await page.keyboard.press('Tab');\n\n // Then\n await expect(firstGridRadio).toBeFocused();\n const scrollY = await body.evaluate(() => window.scrollY);\n expect(scrollY).toBe(0);\n });\n });\n\n test.describe('Pagination', () => {\n test('should display 0/0 when no data is bound to the grid', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-grid id=\"grid\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n <wcs-grid-pagination id=\"pagination\" available-page-sizes=\"2\"></wcs-grid-pagination>\n </wcs-grid>\n `);\n\n // When - no data is set at all\n await page.waitForChanges();\n\n // Then\n const pagination = page.locator('#pagination');\n const { currentPage, pageCount } = await pagination.evaluate((el: HTMLWcsGridPaginationElement) => ({\n currentPage: el.currentPage,\n pageCount: el.pageCount\n }));\n expect(currentPage).toBe(-1);\n expect(pageCount).toBe(0);\n\n // The displayed counter should show \"0 / 0\"\n const counter = pagination.locator('.pagination-counter span');\n await expect(counter).toHaveText('0 / 0');\n });\n\n test('should display 0/0 when data is set to an empty array', async ({ page }: { page: E2EPage }) => {\n // Given\n await setWcsContent(page, `\n <wcs-grid id=\"grid\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n <wcs-grid-pagination id=\"pagination\" available-page-sizes=\"2\"></wcs-grid-pagination>\n </wcs-grid>\n `);\n\n const grid = page.locator('#grid');\n\n // When\n await grid.evaluate((el: HTMLWcsGridElement) => el.data = []);\n await page.waitForChanges();\n\n // Then\n const pagination = page.locator('#pagination');\n const { currentPage, pageCount } = await pagination.evaluate((el: HTMLWcsGridPaginationElement) => ({\n currentPage: el.currentPage,\n pageCount: el.pageCount\n }));\n expect(currentPage).toBe(-1);\n expect(pageCount).toBe(0);\n\n const counter = pagination.locator('.pagination-counter span');\n await expect(counter).toHaveText('0 / 0');\n });\n\n test('should reset to 0/0 when data is cleared after being populated', async ({ page }: { page: E2EPage }) => {\n // Given\n const data = [{ id: 1, first_name: 'John' }, { id: 2, first_name: 'Doe' }, { id: 3, first_name: 'Jane' }];\n await setWcsContent(page, `\n <wcs-grid id=\"grid\">\n <wcs-grid-column path=\"first_name\" name=\"First Name\"></wcs-grid-column>\n <wcs-grid-pagination id=\"pagination\" available-page-sizes=\"2\"></wcs-grid-pagination>\n </wcs-grid>\n `);\n\n const grid = page.locator('#grid');\n await grid.evaluate((el: HTMLWcsGridElement, d) => el.data = d, data);\n await page.waitForChanges();\n\n // Sanity check: pagination should show data\n const pagination = page.locator('#pagination');\n const counterAfterData = pagination.locator('.pagination-counter span');\n await expect(counterAfterData).toHaveText('1 / 1');\n\n // When\n await grid.evaluate((el: HTMLWcsGridElement) => el.data = []);\n await page.waitForChanges();\n\n // Then\n const { currentPage, pageCount } = await pagination.evaluate((el: HTMLWcsGridPaginationElement) => ({\n currentPage: el.currentPage,\n pageCount: el.pageCount\n }));\n expect(currentPage).toBe(-1);\n expect(pageCount).toBe(0);\n\n await expect(counterAfterData).toHaveText('0 / 0');\n });\n });\n});\n"]}
@@ -393,7 +393,14 @@ export class Grid {
393
393
  * Update the page's number of all rows
394
394
  */
395
395
  updatePageIndex() {
396
+ var _a;
396
397
  if (!this.serverMode && this.paginationEl) {
398
+ if (!this.data || ((_a = this.data) === null || _a === void 0 ? void 0 : _a.length) === 0) {
399
+ this.paginationEl.itemsCount = 0;
400
+ this.paginationEl.pageCount = 0;
401
+ this.paginationEl.currentPage = -1;
402
+ return;
403
+ }
397
404
  this.paginationEl.itemsCount = this.data.length;
398
405
  this.paginationEl.pageCount = Math.ceil(this.data.length / this.paginationEl.pageSize);
399
406
  if (this.paginationEl.pageCount <= 1) {
@@ -506,12 +513,12 @@ export class Grid {
506
513
  }
507
514
  render() {
508
515
  var _a, _b, _c, _d;
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' ? ''
516
+ return (h(Host, { key: '6e42449e37f59f83499df9359733fd3fc3a1d93e' }, h("table", Object.assign({ key: '1cafcdf15955b01522441053d09891e388f03912', 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: '99d597b8e11ab46072008a8d8cbb801f8646fd4d' }, h("tr", { key: 'd2e912234b5837fedcc54f450181989c7e3b6cc1', "aria-rowindex": "1" }, this.selectionConfig === 'none' ? ''
510
517
  : h("th", { class: "wcs-grid-selection-column" }, this.selectionConfig === 'single' ? '' :
511
518
  h("wcs-checkbox", { tabIndex: ((_b = this.cursorPosition) === null || _b === void 0 ? void 0 : _b.col) === 0
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
519
+ && ((_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: '15d0607ad6f51f15bfa511836ff89d64d84e2db4', name: "grid-column" }))), h("tbody", { key: 'bd02a78ade9037a3f5ba47e08f1bd6a7184e5f63' }, this.loading
513
520
  ? h("tr", { "aria-busy": "true" }, h("td", { colSpan: this.totalColumnCount(), class: "loading" }, h("wcs-spinner", null)))
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" })));
521
+ : (_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: 'fe6d559fb6ced1a3de3466012bea2cd9ef2a7d8a', name: "grid-pagination" })));
515
522
  }
516
523
  /**
517
524
  * Returns the row with all mapped cells inside.