wcs-core 7.6.0 → 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 (704) hide show
  1. package/bundle/index.js +1 -1
  2. package/{dist/wcs/p-dbf82cb9.js → bundle/p-035ad27f.js} +2 -2
  3. package/bundle/{p-5ef2bc63.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/{composite-elements/p-2454bcae.js → bundle/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-7a06295b.js → p-87b9556d.js} +2 -2
  13. package/bundle/{p-a0268a31.js → p-886109ed.js} +2 -2
  14. package/bundle/{p-d05140f5.js → p-9138985e.js} +2 -2
  15. package/bundle/p-95eb2e54.js +2 -0
  16. package/bundle/p-95eb2e54.js.map +1 -0
  17. package/bundle/{p-8b186fcf.js → p-a9a83300.js} +2 -2
  18. package/bundle/{p-ff261e50.js → p-c13e9bb6.js} +8 -8
  19. package/bundle/p-c13e9bb6.js.map +1 -0
  20. package/bundle/p-c70a403e.js +2 -0
  21. package/bundle/p-c70a403e.js.map +1 -0
  22. package/bundle/{p-bce8c93f.js → p-d7d1ea63.js} +2 -2
  23. package/bundle/p-f6d5c242.js +2 -0
  24. package/bundle/p-f6d5c242.js.map +1 -0
  25. package/bundle/wcs-accordion-panel.js +1 -1
  26. package/bundle/wcs-alert-drawer.js +1 -1
  27. package/bundle/wcs-alert-drawer.js.map +1 -1
  28. package/bundle/wcs-alert.js +1 -1
  29. package/bundle/wcs-app.js +1 -1
  30. package/bundle/wcs-badge.js +1 -1
  31. package/bundle/wcs-breadcrumb-item.js +1 -1
  32. package/bundle/wcs-breadcrumb.js +1 -1
  33. package/bundle/wcs-button.js +1 -1
  34. package/bundle/wcs-card-body.js +1 -1
  35. package/bundle/wcs-card-body.js.map +1 -1
  36. package/bundle/wcs-card-content.js +1 -1
  37. package/bundle/wcs-card-footer.js +1 -1
  38. package/bundle/wcs-card-header.js +1 -1
  39. package/bundle/wcs-card-media.js +1 -1
  40. package/bundle/wcs-card.js +1 -1
  41. package/bundle/wcs-checkbox.js +1 -1
  42. package/bundle/wcs-chip.js +1 -1
  43. package/bundle/wcs-chip.js.map +1 -1
  44. package/bundle/wcs-com-nav-category.js +1 -1
  45. package/bundle/wcs-com-nav-item.js +1 -1
  46. package/bundle/wcs-com-nav-submenu.js +1 -1
  47. package/bundle/wcs-com-nav.js +1 -1
  48. package/bundle/wcs-com-nav.js.map +1 -1
  49. package/bundle/wcs-counter.js +1 -1
  50. package/bundle/wcs-divider.js +1 -1
  51. package/bundle/wcs-dropdown-divider.js +1 -1
  52. package/bundle/wcs-dropdown-header.js +1 -1
  53. package/bundle/wcs-dropdown-item.js +1 -1
  54. package/bundle/wcs-dropdown.js +1 -1
  55. package/bundle/wcs-dropdown.js.map +1 -1
  56. package/bundle/wcs-editable-field.js +1 -1
  57. package/bundle/wcs-error.js +1 -1
  58. package/bundle/wcs-field-content.js +1 -1
  59. package/bundle/wcs-field-content.js.map +1 -1
  60. package/bundle/wcs-field-label.js +1 -1
  61. package/bundle/wcs-field.js +1 -1
  62. package/bundle/wcs-field.js.map +1 -1
  63. package/bundle/wcs-footer.js +1 -1
  64. package/bundle/wcs-form-field.js +1 -1
  65. package/bundle/wcs-galactic-menu.js +1 -1
  66. package/bundle/wcs-galactic.js +1 -1
  67. package/bundle/wcs-grid-column.js +1 -1
  68. package/bundle/wcs-grid-column.js.map +1 -1
  69. package/bundle/wcs-grid-custom-cell.js +1 -1
  70. package/bundle/wcs-grid-pagination.js +1 -1
  71. package/bundle/wcs-grid.js +1 -1
  72. package/bundle/wcs-grid.js.map +1 -1
  73. package/bundle/wcs-header.js +1 -1
  74. package/bundle/wcs-hint.js +1 -1
  75. package/bundle/wcs-horizontal-stepper.js +1 -1
  76. package/bundle/wcs-icon.js +1 -1
  77. package/bundle/wcs-input.js +1 -1
  78. package/bundle/wcs-label.js +1 -1
  79. package/bundle/wcs-list-item-properties.js +1 -1
  80. package/bundle/wcs-list-item-property.js +1 -1
  81. package/bundle/wcs-list-item.js +1 -1
  82. package/bundle/wcs-mat-icon.js +1 -1
  83. package/bundle/wcs-message.d.ts +11 -0
  84. package/bundle/wcs-message.js +2 -0
  85. package/bundle/wcs-message.js.map +1 -0
  86. package/bundle/wcs-modal.js +1 -1
  87. package/bundle/wcs-native-select.js +1 -1
  88. package/bundle/wcs-nav-item.js +1 -1
  89. package/bundle/wcs-nav.js +1 -1
  90. package/bundle/wcs-progress-bar.js +1 -1
  91. package/bundle/wcs-progress-radial.js +1 -1
  92. package/bundle/wcs-radio-group.js +1 -1
  93. package/bundle/wcs-radio.js +1 -1
  94. package/bundle/wcs-select-option.js +1 -1
  95. package/bundle/wcs-select.js +1 -1
  96. package/bundle/wcs-skeleton-circle.js +1 -1
  97. package/bundle/wcs-skeleton-rectangle.js +1 -1
  98. package/bundle/wcs-skeleton-text.js +1 -1
  99. package/bundle/wcs-spinner.js +1 -1
  100. package/bundle/wcs-switch.js +1 -1
  101. package/bundle/wcs-tab.js +1 -1
  102. package/bundle/wcs-tab.js.map +1 -1
  103. package/bundle/wcs-tabs.js +1 -1
  104. package/bundle/wcs-textarea.js +1 -1
  105. package/bundle/wcs-tooltip.js +2 -2
  106. package/composite-elements/{p-a90bb01e.js → p-061ccda5.js} +2 -2
  107. package/composite-elements/{p-ef26b4d8.js → p-2181568b.js} +2 -2
  108. package/composite-elements/{p-87e97a2e.js → p-61886571.js} +2 -2
  109. package/composite-elements/p-846e40e9.js +16 -0
  110. package/composite-elements/p-846e40e9.js.map +1 -0
  111. package/composite-elements/p-8a2107d4.js +2 -0
  112. package/composite-elements/p-8a2107d4.js.map +1 -0
  113. package/composite-elements/p-8cafb0b4.js +2 -0
  114. package/composite-elements/p-8cafb0b4.js.map +1 -0
  115. package/composite-elements/p-8f51f4cb.js +2 -0
  116. package/composite-elements/p-8f51f4cb.js.map +1 -0
  117. package/composite-elements/{p-6b91c7bd.js → p-b53ae1a8.js} +2 -2
  118. package/{dist/wcs/p-7af9a2f3.js → composite-elements/p-b6d0a6b4.js} +2 -2
  119. package/composite-elements/p-cb9faa9b.js +2 -0
  120. package/composite-elements/{p-5a3d7fec.js → p-cd6cca64.js} +2 -2
  121. package/composite-elements/{p-e4e3ed2c.js → p-d2d79425.js} +2 -2
  122. package/composite-elements/{p-a70a3379.js → p-f0b064a2.js} +2 -2
  123. package/composite-elements/{p-ec3ce4d4.js → p-f161f50b.js} +8 -8
  124. package/composite-elements/p-f161f50b.js.map +1 -0
  125. package/composite-elements/p-f6d5c242.js +2 -0
  126. package/composite-elements/p-f6d5c242.js.map +1 -0
  127. package/composite-elements/p-f85cc676.js +2 -0
  128. package/composite-elements/p-f85cc676.js.map +1 -0
  129. package/composite-elements/wcs-accordion-panel.js +1 -1
  130. package/composite-elements/wcs-alert-drawer.js +1 -1
  131. package/composite-elements/wcs-alert-drawer.js.map +1 -1
  132. package/composite-elements/wcs-alert.js +1 -1
  133. package/composite-elements/wcs-app.js +1 -1
  134. package/composite-elements/wcs-badge.js +1 -1
  135. package/composite-elements/wcs-breadcrumb-item.js +1 -1
  136. package/composite-elements/wcs-breadcrumb.js +1 -1
  137. package/composite-elements/wcs-button.js +1 -1
  138. package/composite-elements/wcs-card-body.js +1 -1
  139. package/composite-elements/wcs-card-body.js.map +1 -1
  140. package/composite-elements/wcs-card-content.js +1 -1
  141. package/composite-elements/wcs-card-footer.js +1 -1
  142. package/composite-elements/wcs-card-header.js +1 -1
  143. package/composite-elements/wcs-card-media.js +1 -1
  144. package/composite-elements/wcs-card.js +1 -1
  145. package/composite-elements/wcs-checkbox.js +1 -1
  146. package/composite-elements/wcs-chip.js +1 -1
  147. package/composite-elements/wcs-chip.js.map +1 -1
  148. package/composite-elements/wcs-com-nav-category.js +1 -1
  149. package/composite-elements/wcs-com-nav-item.js +1 -1
  150. package/composite-elements/wcs-com-nav-submenu.js +1 -1
  151. package/composite-elements/wcs-com-nav.js +1 -1
  152. package/composite-elements/wcs-com-nav.js.map +1 -1
  153. package/composite-elements/wcs-counter.js +1 -1
  154. package/composite-elements/wcs-divider.js +1 -1
  155. package/composite-elements/wcs-dropdown-divider.js +1 -1
  156. package/composite-elements/wcs-dropdown-header.js +1 -1
  157. package/composite-elements/wcs-dropdown-item.js +1 -1
  158. package/composite-elements/wcs-dropdown.js +1 -1
  159. package/composite-elements/wcs-dropdown.js.map +1 -1
  160. package/composite-elements/wcs-editable-field.js +1 -1
  161. package/composite-elements/wcs-error.js +1 -1
  162. package/composite-elements/wcs-field-content.js +1 -1
  163. package/composite-elements/wcs-field-content.js.map +1 -1
  164. package/composite-elements/wcs-field-label.js +1 -1
  165. package/composite-elements/wcs-field.js +1 -1
  166. package/composite-elements/wcs-field.js.map +1 -1
  167. package/composite-elements/wcs-footer.js +1 -1
  168. package/composite-elements/wcs-form-field.js +1 -1
  169. package/composite-elements/wcs-galactic-menu.js +1 -1
  170. package/composite-elements/wcs-galactic.js +1 -1
  171. package/composite-elements/wcs-grid-column.js +1 -1
  172. package/composite-elements/wcs-grid-column.js.map +1 -1
  173. package/composite-elements/wcs-grid-custom-cell.js +1 -1
  174. package/composite-elements/wcs-grid-pagination.js +1 -1
  175. package/composite-elements/wcs-grid.js +1 -1
  176. package/composite-elements/wcs-grid.js.map +1 -1
  177. package/composite-elements/wcs-header.js +1 -1
  178. package/composite-elements/wcs-hint.js +1 -1
  179. package/composite-elements/wcs-horizontal-stepper.js +1 -1
  180. package/composite-elements/wcs-icon.js +1 -1
  181. package/composite-elements/wcs-input.js +1 -1
  182. package/composite-elements/wcs-label.js +1 -1
  183. package/composite-elements/wcs-list-item-properties.js +1 -1
  184. package/composite-elements/wcs-list-item-property.js +1 -1
  185. package/composite-elements/wcs-list-item.js +1 -1
  186. package/composite-elements/wcs-mat-icon.js +1 -1
  187. package/composite-elements/wcs-message.d.ts +11 -0
  188. package/composite-elements/wcs-message.js +2 -0
  189. package/composite-elements/wcs-message.js.map +1 -0
  190. package/composite-elements/wcs-modal.js +1 -1
  191. package/composite-elements/wcs-native-select.js +1 -1
  192. package/composite-elements/wcs-nav-item.js +1 -1
  193. package/composite-elements/wcs-nav.js +1 -1
  194. package/composite-elements/wcs-progress-bar.js +1 -1
  195. package/composite-elements/wcs-progress-radial.js +1 -1
  196. package/composite-elements/wcs-radio-group.js +1 -1
  197. package/composite-elements/wcs-radio.js +1 -1
  198. package/composite-elements/wcs-select-option.js +1 -1
  199. package/composite-elements/wcs-select.js +1 -1
  200. package/composite-elements/wcs-skeleton-circle.js +1 -1
  201. package/composite-elements/wcs-skeleton-rectangle.js +1 -1
  202. package/composite-elements/wcs-skeleton-text.js +1 -1
  203. package/composite-elements/wcs-spinner.js +1 -1
  204. package/composite-elements/wcs-switch.js +1 -1
  205. package/composite-elements/wcs-tab.js +1 -1
  206. package/composite-elements/wcs-tab.js.map +1 -1
  207. package/composite-elements/wcs-tabs.js +1 -1
  208. package/composite-elements/wcs-textarea.js +1 -1
  209. package/composite-elements/wcs-tooltip.js +2 -2
  210. package/dist/cjs/alert-close-button-4435ed57.js +10 -0
  211. package/dist/cjs/alert-close-button-4435ed57.js.map +1 -0
  212. package/dist/cjs/{com-nav-utils-ff4f0bef.js → com-nav-utils-e081e998.js} +2 -2
  213. package/dist/cjs/{com-nav-utils-ff4f0bef.js.map → com-nav-utils-e081e998.js.map} +1 -1
  214. package/dist/cjs/{grid-pagination-ded127cc.js → grid-pagination-e92dca78.js} +4 -4
  215. package/dist/cjs/grid-pagination-e92dca78.js.map +1 -0
  216. package/dist/cjs/{helpers-2f1a8ddc.js → helpers-eaafd588.js} +1 -9
  217. package/dist/cjs/helpers-eaafd588.js.map +1 -0
  218. package/dist/cjs/{keyboard-event-40ecdc27.js → keyboard-event-4890c60e.js} +2 -2
  219. package/dist/cjs/{keyboard-event-40ecdc27.js.map → keyboard-event-4890c60e.js.map} +1 -1
  220. package/dist/cjs/loader.cjs.js +1 -1
  221. package/dist/cjs/wcs-accordion-panel.cjs.entry.js +1 -1
  222. package/dist/cjs/wcs-alert-drawer.cjs.entry.js +14 -2
  223. package/dist/cjs/wcs-alert-drawer.cjs.entry.js.map +1 -1
  224. package/dist/cjs/wcs-alert.cjs.entry.js +3 -2
  225. package/dist/cjs/wcs-alert.cjs.entry.js.map +1 -1
  226. package/dist/cjs/wcs-app.cjs.entry.js +3 -3
  227. package/dist/cjs/wcs-badge.cjs.entry.js +1 -1
  228. package/dist/cjs/wcs-breadcrumb-item.cjs.entry.js +1 -1
  229. package/dist/cjs/wcs-breadcrumb.cjs.entry.js +2 -2
  230. package/dist/cjs/{wcs-button_2.cjs.entry.js → wcs-button_3.cjs.entry.js} +40 -5
  231. package/dist/cjs/wcs-button_3.cjs.entry.js.map +1 -0
  232. package/dist/cjs/wcs-card-body.cjs.entry.js +1 -1
  233. package/dist/cjs/wcs-card-content.cjs.entry.js +1 -1
  234. package/dist/cjs/wcs-card-footer.cjs.entry.js +1 -1
  235. package/dist/cjs/wcs-card-header.cjs.entry.js +1 -1
  236. package/dist/cjs/wcs-card-media.cjs.entry.js +1 -1
  237. package/dist/cjs/wcs-card.cjs.entry.js +1 -1
  238. package/dist/cjs/wcs-checkbox.cjs.entry.js +2 -2
  239. package/dist/cjs/wcs-chip.cjs.entry.js +18 -6
  240. package/dist/cjs/wcs-chip.cjs.entry.js.map +1 -1
  241. package/dist/cjs/wcs-com-nav-category.cjs.entry.js +4 -4
  242. package/dist/cjs/wcs-com-nav-item.cjs.entry.js +1 -1
  243. package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js +4 -4
  244. package/dist/cjs/wcs-com-nav.cjs.entry.js +4 -4
  245. package/dist/cjs/wcs-counter.cjs.entry.js +2 -2
  246. package/dist/cjs/wcs-divider.cjs.entry.js +1 -1
  247. package/dist/cjs/wcs-dropdown-divider.cjs.entry.js +1 -1
  248. package/dist/cjs/wcs-dropdown-header.cjs.entry.js +1 -1
  249. package/dist/cjs/wcs-dropdown-item.cjs.entry.js +2 -2
  250. package/dist/cjs/wcs-dropdown.cjs.entry.js +4 -4
  251. package/dist/cjs/wcs-dropdown.cjs.entry.js.map +1 -1
  252. package/dist/cjs/wcs-editable-field.cjs.entry.js +2 -2
  253. package/dist/cjs/wcs-error_3.cjs.entry.js +4 -4
  254. package/dist/cjs/wcs-field-content.cjs.entry.js +1 -1
  255. package/dist/cjs/wcs-field-label.cjs.entry.js +1 -1
  256. package/dist/cjs/wcs-field.cjs.entry.js +1 -1
  257. package/dist/cjs/wcs-footer.cjs.entry.js +1 -1
  258. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +3 -3
  259. package/dist/cjs/wcs-galactic.cjs.entry.js +1 -1
  260. package/dist/cjs/wcs-grid-column.cjs.entry.js +2 -2
  261. package/dist/cjs/wcs-grid-custom-cell.cjs.entry.js +1 -1
  262. package/dist/cjs/wcs-grid-pagination.cjs.entry.js +2 -2
  263. package/dist/cjs/wcs-grid.cjs.entry.js +13 -6
  264. package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
  265. package/dist/cjs/wcs-header.cjs.entry.js +2 -2
  266. package/dist/cjs/wcs-hint.cjs.entry.js +1 -1
  267. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +1 -1
  268. package/dist/cjs/wcs-icon.cjs.entry.js +2 -2
  269. package/dist/cjs/wcs-input.cjs.entry.js +2 -2
  270. package/dist/cjs/wcs-list-item-properties.cjs.entry.js +1 -1
  271. package/dist/cjs/wcs-list-item-property.cjs.entry.js +1 -1
  272. package/dist/cjs/wcs-list-item.cjs.entry.js +1 -1
  273. package/dist/cjs/wcs-message.cjs.entry.js +56 -0
  274. package/dist/cjs/wcs-message.cjs.entry.js.map +1 -0
  275. package/dist/cjs/wcs-modal.cjs.entry.js +2 -2
  276. package/dist/cjs/wcs-native-select.cjs.entry.js +1 -1
  277. package/dist/cjs/wcs-nav-item.cjs.entry.js +2 -2
  278. package/dist/cjs/wcs-nav.cjs.entry.js +2 -2
  279. package/dist/cjs/wcs-progress-bar.cjs.entry.js +3 -3
  280. package/dist/cjs/wcs-progress-radial.cjs.entry.js +3 -3
  281. package/dist/cjs/wcs-radio-group.cjs.entry.js +2 -2
  282. package/dist/cjs/wcs-radio.cjs.entry.js +2 -2
  283. package/dist/cjs/wcs-select_2.cjs.entry.js +11 -19
  284. package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
  285. package/dist/cjs/wcs-skeleton-circle.cjs.entry.js +1 -1
  286. package/dist/cjs/wcs-skeleton-rectangle.cjs.entry.js +1 -1
  287. package/dist/cjs/wcs-skeleton-text.cjs.entry.js +1 -1
  288. package/dist/cjs/wcs-switch.cjs.entry.js +2 -2
  289. package/dist/cjs/wcs-tab.cjs.entry.js +1 -1
  290. package/dist/cjs/wcs-tabs.cjs.entry.js +2 -2
  291. package/dist/cjs/wcs-textarea.cjs.entry.js +2 -2
  292. package/dist/cjs/wcs-tooltip.cjs.entry.js +2 -2
  293. package/dist/cjs/wcs.cjs.js +1 -1
  294. package/dist/collection/collection-manifest.json +1 -0
  295. package/dist/collection/components/alert/alert-close-button.js +3 -0
  296. package/dist/collection/components/alert/alert-close-button.js.map +1 -0
  297. package/dist/collection/components/alert/alert.css +12 -11
  298. package/dist/collection/components/alert/alert.js +2 -1
  299. package/dist/collection/components/alert/alert.js.map +1 -1
  300. package/dist/collection/components/alert-drawer/alert-drawer.js +34 -2
  301. package/dist/collection/components/alert-drawer/alert-drawer.js.map +1 -1
  302. package/dist/collection/components/app/app.js +3 -3
  303. package/dist/collection/components/badge/badge.js +1 -1
  304. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  305. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +1 -1
  306. package/dist/collection/components/button/button.css +26 -0
  307. package/dist/collection/components/button/button.js +47 -1
  308. package/dist/collection/components/button/button.js.map +1 -1
  309. package/dist/collection/components/card/card.js +1 -1
  310. package/dist/collection/components/card-body/card-body.js +1 -1
  311. package/dist/collection/components/card-content/card-content.js +1 -1
  312. package/dist/collection/components/card-footer/card-footer.js +1 -1
  313. package/dist/collection/components/card-header/card-header.js +1 -1
  314. package/dist/collection/components/card-media/card-media.js +1 -1
  315. package/dist/collection/components/checkbox/checkbox.js +1 -1
  316. package/dist/collection/components/chip/chip.e2e.playwright.js +33 -0
  317. package/dist/collection/components/chip/chip.e2e.playwright.js.map +1 -1
  318. package/dist/collection/components/chip/chip.js +19 -6
  319. package/dist/collection/components/chip/chip.js.map +1 -1
  320. package/dist/collection/components/com-nav/com-nav.js +2 -2
  321. package/dist/collection/components/com-nav-category/com-nav-category.js +2 -2
  322. package/dist/collection/components/com-nav-item/com-nav-item.js +1 -1
  323. package/dist/collection/components/com-nav-submenu/com-nav-submenu.js +2 -2
  324. package/dist/collection/components/counter/counter.js +1 -1
  325. package/dist/collection/components/divider/divider.js +1 -1
  326. package/dist/collection/components/dropdown/dropdown.css +1 -0
  327. package/dist/collection/components/dropdown/dropdown.e2e.playwright.js +23 -0
  328. package/dist/collection/components/dropdown/dropdown.e2e.playwright.js.map +1 -1
  329. package/dist/collection/components/dropdown/dropdown.js +1 -1
  330. package/dist/collection/components/dropdown-divider/dropdown-divider.js +1 -1
  331. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  332. package/dist/collection/components/dropdown-item/dropdown-item.js +1 -1
  333. package/dist/collection/components/editable-field/editable-field.js +1 -1
  334. package/dist/collection/components/error/error.js +1 -1
  335. package/dist/collection/components/field/field.js +1 -1
  336. package/dist/collection/components/field-content/field-content.js +1 -1
  337. package/dist/collection/components/field-label/field-label.js +1 -1
  338. package/dist/collection/components/footer/footer.js +1 -1
  339. package/dist/collection/components/form-field/form-field.js +1 -1
  340. package/dist/collection/components/galactic/galactic.js +1 -1
  341. package/dist/collection/components/galactic-menu/galactic-menu.js +2 -2
  342. package/dist/collection/components/grid/grid.e2e.playwright.js +75 -0
  343. package/dist/collection/components/grid/grid.e2e.playwright.js.map +1 -1
  344. package/dist/collection/components/grid/grid.js +10 -3
  345. package/dist/collection/components/grid/grid.js.map +1 -1
  346. package/dist/collection/components/grid-column/grid-column.js +1 -1
  347. package/dist/collection/components/grid-custom-cell/grid-custom-cell.js +1 -1
  348. package/dist/collection/components/grid-pagination/grid-pagination.css +4 -0
  349. package/dist/collection/components/grid-pagination/grid-pagination.js +1 -1
  350. package/dist/collection/components/grid-pagination/grid-pagination.js.map +1 -1
  351. package/dist/collection/components/header/header.js +1 -1
  352. package/dist/collection/components/hint/hint.js +1 -1
  353. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +1 -1
  354. package/dist/collection/components/icon/icon.js +1 -1
  355. package/dist/collection/components/input/input.js +1 -1
  356. package/dist/collection/components/label/label.js +1 -1
  357. package/dist/collection/components/list-item/list-item.js +1 -1
  358. package/dist/collection/components/list-item-properties/list-item-properties.js +1 -1
  359. package/dist/collection/components/list-item-property/list-item-property.js +1 -1
  360. package/dist/collection/components/mat-icon/mat-icon.css +8 -4
  361. package/dist/collection/components/mat-icon/mat-icon.js +6 -1
  362. package/dist/collection/components/mat-icon/mat-icon.js.map +1 -1
  363. package/dist/collection/components/message/message-interface.js +2 -0
  364. package/dist/collection/components/message/message-interface.js.map +1 -0
  365. package/dist/collection/components/message/message.css +101 -0
  366. package/dist/collection/components/message/message.js +206 -0
  367. package/dist/collection/components/message/message.js.map +1 -0
  368. package/dist/collection/components/modal/modal.js +1 -1
  369. package/dist/collection/components/native-select/native-select.js +1 -1
  370. package/dist/collection/components/nav/nav.js +1 -1
  371. package/dist/collection/components/nav-item/nav-item.js +1 -1
  372. package/dist/collection/components/progress-bar/progress-bar.js +2 -2
  373. package/dist/collection/components/progress-radial/progress-radial.js +2 -2
  374. package/dist/collection/components/radio/radio.js +1 -1
  375. package/dist/collection/components/radio-group/radio-group.js +1 -1
  376. package/dist/collection/components/select/select-interface.js.map +1 -1
  377. package/dist/collection/components/select/select.e2e.playwright.js +158 -7
  378. package/dist/collection/components/select/select.e2e.playwright.js.map +1 -1
  379. package/dist/collection/components/select/select.js +8 -16
  380. package/dist/collection/components/select/select.js.map +1 -1
  381. package/dist/collection/components/select-option/select-option.js +2 -2
  382. package/dist/collection/components/skeleton-circle/skeleton-circle.js +1 -1
  383. package/dist/collection/components/skeleton-rectangle/skeleton-rectangle.js +1 -1
  384. package/dist/collection/components/skeleton-text/skeleton-text.js +1 -1
  385. package/dist/collection/components/spinner/spinner.js +1 -1
  386. package/dist/collection/components/switch/switch.js +1 -1
  387. package/dist/collection/components/tab/tab.js +1 -1
  388. package/dist/collection/components/tabs/tabs.js +1 -1
  389. package/dist/collection/components/textarea/textarea.js +1 -1
  390. package/dist/collection/components/tooltip/tooltip.js +1 -1
  391. package/dist/esm/alert-close-button-2ce5ac95.js +8 -0
  392. package/dist/esm/alert-close-button-2ce5ac95.js.map +1 -0
  393. package/dist/esm/{com-nav-utils-27c1efdf.js → com-nav-utils-a5af32af.js} +2 -2
  394. package/dist/esm/{com-nav-utils-27c1efdf.js.map → com-nav-utils-a5af32af.js.map} +1 -1
  395. package/dist/esm/{grid-pagination-23102986.js → grid-pagination-c29173f6.js} +4 -4
  396. package/dist/esm/grid-pagination-c29173f6.js.map +1 -0
  397. package/dist/esm/{helpers-89faa1b1.js → helpers-2d73ee7c.js} +2 -9
  398. package/dist/esm/helpers-2d73ee7c.js.map +1 -0
  399. package/dist/esm/{keyboard-event-dd35bb6b.js → keyboard-event-3a0579d5.js} +2 -2
  400. package/dist/esm/{keyboard-event-dd35bb6b.js.map → keyboard-event-3a0579d5.js.map} +1 -1
  401. package/dist/esm/loader.js +1 -1
  402. package/dist/esm/wcs-accordion-panel.entry.js +1 -1
  403. package/dist/esm/wcs-alert-drawer.entry.js +14 -2
  404. package/dist/esm/wcs-alert-drawer.entry.js.map +1 -1
  405. package/dist/esm/wcs-alert.entry.js +3 -2
  406. package/dist/esm/wcs-alert.entry.js.map +1 -1
  407. package/dist/esm/wcs-app.entry.js +3 -3
  408. package/dist/esm/wcs-badge.entry.js +1 -1
  409. package/dist/esm/wcs-breadcrumb-item.entry.js +1 -1
  410. package/dist/esm/wcs-breadcrumb.entry.js +2 -2
  411. package/dist/esm/{wcs-button_2.entry.js → wcs-button_3.entry.js} +41 -7
  412. package/dist/esm/{wcs-button_2.entry.js.map → wcs-button_3.entry.js.map} +1 -1
  413. package/dist/esm/wcs-card-body.entry.js +1 -1
  414. package/dist/esm/wcs-card-content.entry.js +1 -1
  415. package/dist/esm/wcs-card-footer.entry.js +1 -1
  416. package/dist/esm/wcs-card-header.entry.js +1 -1
  417. package/dist/esm/wcs-card-media.entry.js +1 -1
  418. package/dist/esm/wcs-card.entry.js +1 -1
  419. package/dist/esm/wcs-checkbox.entry.js +2 -2
  420. package/dist/esm/wcs-chip.entry.js +18 -6
  421. package/dist/esm/wcs-chip.entry.js.map +1 -1
  422. package/dist/esm/wcs-com-nav-category.entry.js +4 -4
  423. package/dist/esm/wcs-com-nav-item.entry.js +1 -1
  424. package/dist/esm/wcs-com-nav-submenu.entry.js +4 -4
  425. package/dist/esm/wcs-com-nav.entry.js +4 -4
  426. package/dist/esm/wcs-counter.entry.js +2 -2
  427. package/dist/esm/wcs-divider.entry.js +1 -1
  428. package/dist/esm/wcs-dropdown-divider.entry.js +1 -1
  429. package/dist/esm/wcs-dropdown-header.entry.js +1 -1
  430. package/dist/esm/wcs-dropdown-item.entry.js +2 -2
  431. package/dist/esm/wcs-dropdown.entry.js +4 -4
  432. package/dist/esm/wcs-dropdown.entry.js.map +1 -1
  433. package/dist/esm/wcs-editable-field.entry.js +2 -2
  434. package/dist/esm/wcs-error_3.entry.js +4 -4
  435. package/dist/esm/wcs-field-content.entry.js +1 -1
  436. package/dist/esm/wcs-field-label.entry.js +1 -1
  437. package/dist/esm/wcs-field.entry.js +1 -1
  438. package/dist/esm/wcs-footer.entry.js +1 -1
  439. package/dist/esm/wcs-galactic-menu.entry.js +3 -3
  440. package/dist/esm/wcs-galactic.entry.js +1 -1
  441. package/dist/esm/wcs-grid-column.entry.js +2 -2
  442. package/dist/esm/wcs-grid-custom-cell.entry.js +1 -1
  443. package/dist/esm/wcs-grid-pagination.entry.js +2 -2
  444. package/dist/esm/wcs-grid.entry.js +13 -6
  445. package/dist/esm/wcs-grid.entry.js.map +1 -1
  446. package/dist/esm/wcs-header.entry.js +2 -2
  447. package/dist/esm/wcs-hint.entry.js +1 -1
  448. package/dist/esm/wcs-horizontal-stepper.entry.js +1 -1
  449. package/dist/esm/wcs-icon.entry.js +2 -2
  450. package/dist/esm/wcs-input.entry.js +2 -2
  451. package/dist/esm/wcs-list-item-properties.entry.js +1 -1
  452. package/dist/esm/wcs-list-item-property.entry.js +1 -1
  453. package/dist/esm/wcs-list-item.entry.js +1 -1
  454. package/dist/esm/wcs-message.entry.js +52 -0
  455. package/dist/esm/wcs-message.entry.js.map +1 -0
  456. package/dist/esm/wcs-modal.entry.js +2 -2
  457. package/dist/esm/wcs-native-select.entry.js +1 -1
  458. package/dist/esm/wcs-nav-item.entry.js +2 -2
  459. package/dist/esm/wcs-nav.entry.js +2 -2
  460. package/dist/esm/wcs-progress-bar.entry.js +3 -3
  461. package/dist/esm/wcs-progress-radial.entry.js +3 -3
  462. package/dist/esm/wcs-radio-group.entry.js +2 -2
  463. package/dist/esm/wcs-radio.entry.js +2 -2
  464. package/dist/esm/wcs-select_2.entry.js +11 -19
  465. package/dist/esm/wcs-select_2.entry.js.map +1 -1
  466. package/dist/esm/wcs-skeleton-circle.entry.js +1 -1
  467. package/dist/esm/wcs-skeleton-rectangle.entry.js +1 -1
  468. package/dist/esm/wcs-skeleton-text.entry.js +1 -1
  469. package/dist/esm/wcs-switch.entry.js +2 -2
  470. package/dist/esm/wcs-tab.entry.js +1 -1
  471. package/dist/esm/wcs-tabs.entry.js +2 -2
  472. package/dist/esm/wcs-textarea.entry.js +2 -2
  473. package/dist/esm/wcs-tooltip.entry.js +2 -2
  474. package/dist/esm/wcs.js +1 -1
  475. package/dist/types/components/alert/alert-close-button.d.ts +4 -0
  476. package/dist/types/components/alert-drawer/alert-drawer.d.ts +10 -0
  477. package/dist/types/components/button/button.d.ts +18 -0
  478. package/dist/types/components/chip/chip.d.ts +1 -1
  479. package/dist/types/components/mat-icon/mat-icon.d.ts +5 -0
  480. package/dist/types/components/message/message-interface.d.ts +1 -0
  481. package/dist/types/components/message/message.d.ts +77 -0
  482. package/dist/types/components/select/select-interface.d.ts +1 -0
  483. package/dist/types/components/select/select.d.ts +0 -2
  484. package/dist/types/components.d.ts +264 -5
  485. package/dist/wcs/{p-41b946b2.entry.js → p-03ae13ec.entry.js} +2 -2
  486. package/dist/wcs/p-07c961b4.entry.js +2 -0
  487. package/dist/wcs/{p-9e091c53.entry.js → p-0a0bc006.entry.js} +2 -2
  488. package/dist/wcs/p-0a0bc006.entry.js.map +1 -0
  489. package/dist/wcs/{p-b42f441f.entry.js → p-167108aa.entry.js} +2 -2
  490. package/dist/wcs/{p-d89ad962.entry.js → p-17c8f012.entry.js} +2 -2
  491. package/dist/wcs/{p-14dfa087.entry.js → p-190a8883.entry.js} +3 -3
  492. package/dist/wcs/{p-0758d22e.entry.js → p-276070f3.entry.js} +2 -2
  493. package/dist/wcs/{p-f929b66f.entry.js → p-28941abc.entry.js} +2 -2
  494. package/dist/wcs/p-28b3e55a.entry.js +2 -0
  495. package/dist/wcs/p-28b3e55a.entry.js.map +1 -0
  496. package/dist/wcs/{p-c169d496.entry.js → p-28d52607.entry.js} +2 -2
  497. package/dist/wcs/p-2d4fd96a.entry.js +2 -0
  498. package/dist/wcs/{p-9c6db857.entry.js → p-2d5becbf.entry.js} +2 -2
  499. package/dist/wcs/p-2da579f2.entry.js +2 -0
  500. package/dist/wcs/{p-53a395a9.entry.js → p-2e0238b6.entry.js} +2 -2
  501. package/dist/wcs/{p-9388283a.entry.js → p-358a505f.entry.js} +2 -2
  502. package/dist/wcs/{p-e35b138e.entry.js → p-38d37878.entry.js} +2 -2
  503. package/dist/wcs/{p-b3b31d43.entry.js → p-3bc23ef1.entry.js} +2 -2
  504. package/dist/wcs/p-3da303d7.entry.js +16 -0
  505. package/dist/wcs/p-3da303d7.entry.js.map +1 -0
  506. package/dist/wcs/{p-912c2c9b.entry.js → p-407d9700.entry.js} +2 -2
  507. package/dist/wcs/{p-6f937b20.entry.js → p-41383e84.entry.js} +2 -2
  508. package/dist/wcs/{p-53bc2cae.entry.js → p-4506e5e4.entry.js} +2 -2
  509. package/dist/wcs/{p-b9368690.entry.js → p-48541bf7.entry.js} +2 -2
  510. package/dist/wcs/{p-8332a7e3.entry.js → p-4a28d7a3.entry.js} +2 -2
  511. package/dist/wcs/p-4c43d8fc.entry.js +2 -0
  512. package/dist/wcs/p-4c43d8fc.entry.js.map +1 -0
  513. package/dist/wcs/{p-0424e545.entry.js → p-4d7bc716.entry.js} +2 -2
  514. package/dist/wcs/{p-cceee683.entry.js → p-4ef24e07.entry.js} +2 -2
  515. package/dist/wcs/{p-cceee683.entry.js.map → p-4ef24e07.entry.js.map} +1 -1
  516. package/dist/wcs/{p-367946fe.entry.js → p-4f20cdba.entry.js} +2 -2
  517. package/dist/wcs/{p-03838b42.entry.js → p-4fad6675.entry.js} +2 -2
  518. package/dist/wcs/p-51c93d07.entry.js +2 -0
  519. package/dist/wcs/p-51c93d07.entry.js.map +1 -0
  520. package/dist/wcs/{p-f411974e.entry.js → p-575881cd.entry.js} +2 -2
  521. package/dist/wcs/p-5823cd22.entry.js +2 -0
  522. package/dist/wcs/p-5a276237.entry.js +2 -0
  523. package/dist/wcs/{p-f2c49d83.entry.js → p-5b61a775.entry.js} +2 -2
  524. package/dist/wcs/p-5bc7a732.js +2 -0
  525. package/dist/wcs/p-5bc7a732.js.map +1 -0
  526. package/dist/wcs/p-6033c91b.entry.js +2 -0
  527. package/dist/wcs/p-609115fc.js +2 -0
  528. package/dist/wcs/p-609115fc.js.map +1 -0
  529. package/dist/wcs/{p-25d7b2f8.entry.js → p-6b5db6be.entry.js} +2 -2
  530. package/dist/wcs/{p-b04471f5.entry.js → p-6b86d4fa.entry.js} +2 -2
  531. package/dist/wcs/p-6c6841ac.entry.js +2 -0
  532. package/dist/wcs/p-6c78d16e.js +2 -0
  533. package/dist/wcs/{p-6e7db56e.entry.js → p-714c3cd7.entry.js} +2 -2
  534. package/dist/wcs/p-71af107c.js +2 -0
  535. package/dist/wcs/p-71af107c.js.map +1 -0
  536. package/dist/wcs/{p-56d9554a.entry.js → p-7b67cec9.entry.js} +2 -2
  537. package/dist/wcs/{p-781a956e.entry.js → p-7cd88886.entry.js} +2 -2
  538. package/dist/wcs/{p-3e57c746.entry.js → p-7f5eea6a.entry.js} +2 -2
  539. package/dist/wcs/{p-beeec782.entry.js → p-882886ae.entry.js} +2 -2
  540. package/dist/wcs/p-8fd515a3.entry.js +2 -0
  541. package/dist/wcs/{p-ff48a8b2.entry.js → p-95f35254.entry.js} +2 -2
  542. package/dist/wcs/{p-0cbf08fb.entry.js → p-9d47a628.entry.js} +2 -2
  543. package/dist/wcs/p-9d683786.entry.js +2 -0
  544. package/dist/wcs/{p-c42a6c1c.entry.js → p-a45a1f25.entry.js} +2 -2
  545. package/dist/wcs/{p-f974210c.entry.js → p-a9fa5726.entry.js} +2 -2
  546. package/dist/wcs/{p-1c356201.entry.js → p-ae305b09.entry.js} +2 -2
  547. package/dist/wcs/p-afd3e923.entry.js +2 -0
  548. package/dist/wcs/{p-990698a7.entry.js → p-b1b0e2cb.entry.js} +2 -2
  549. package/dist/wcs/p-b1b0e2cb.entry.js.map +1 -0
  550. package/dist/wcs/{p-3a18535f.entry.js → p-b9744cf7.entry.js} +2 -2
  551. package/dist/wcs/p-b99daad4.entry.js +156 -0
  552. package/dist/wcs/p-b99daad4.entry.js.map +1 -0
  553. package/dist/wcs/{p-cbbca016.entry.js → p-cefd8219.entry.js} +2 -2
  554. package/dist/wcs/{p-ae299c3f.entry.js → p-d18051b2.entry.js} +2 -2
  555. package/dist/wcs/{p-9d4c8f84.entry.js → p-d42f5883.entry.js} +2 -2
  556. package/{bundle/p-475be4d2.js → dist/wcs/p-d6d273d2.js} +2 -2
  557. package/dist/wcs/{p-63a8e5cc.entry.js → p-e08febb4.entry.js} +2 -2
  558. package/dist/wcs/{p-8f95bbf3.entry.js → p-e91d33e0.entry.js} +2 -2
  559. package/dist/wcs/p-f37d7b07.entry.js +2 -0
  560. package/dist/wcs/{p-6d8f0040.entry.js → p-f7897fd4.entry.js} +2 -2
  561. package/dist/wcs/{p-a6d64e5b.entry.js → p-fcc43c82.entry.js} +2 -2
  562. package/dist/wcs/{p-cb9147b8.entry.js → p-fd18dce6.entry.js} +2 -2
  563. package/dist/wcs/p-fed6a8cd.entry.js +2 -0
  564. package/dist/wcs/{p-0d233c6a.entry.js.map → p-fed6a8cd.entry.js.map} +1 -1
  565. package/dist/wcs/{p-d8c4dbc3.entry.js → p-ff20d08b.entry.js} +2 -2
  566. package/dist/wcs/wcs.esm.js +1 -1
  567. package/dist/wcs/wcs.esm.js.map +1 -1
  568. package/package.json +1 -1
  569. package/bundle/p-1329a1af.js +0 -16
  570. package/bundle/p-1329a1af.js.map +0 -1
  571. package/bundle/p-2f7bca1e.js +0 -2
  572. package/bundle/p-2f7bca1e.js.map +0 -1
  573. package/bundle/p-bf326ae8.js +0 -2
  574. package/bundle/p-bf326ae8.js.map +0 -1
  575. package/bundle/p-d018450c.js +0 -2
  576. package/bundle/p-d018450c.js.map +0 -1
  577. package/bundle/p-d3fe6951.js +0 -2
  578. package/bundle/p-ee6ff5f8.js +0 -2
  579. package/bundle/p-ee6ff5f8.js.map +0 -1
  580. package/bundle/p-ff261e50.js.map +0 -1
  581. package/composite-elements/p-00dd13c3.js +0 -16
  582. package/composite-elements/p-00dd13c3.js.map +0 -1
  583. package/composite-elements/p-46f752d5.js +0 -2
  584. package/composite-elements/p-7feba658.js +0 -2
  585. package/composite-elements/p-7feba658.js.map +0 -1
  586. package/composite-elements/p-c028b8e6.js +0 -2
  587. package/composite-elements/p-c028b8e6.js.map +0 -1
  588. package/composite-elements/p-c6adb221.js +0 -2
  589. package/composite-elements/p-c6adb221.js.map +0 -1
  590. package/composite-elements/p-e803bb26.js +0 -2
  591. package/composite-elements/p-e803bb26.js.map +0 -1
  592. package/composite-elements/p-ec3ce4d4.js.map +0 -1
  593. package/dist/cjs/grid-pagination-ded127cc.js.map +0 -1
  594. package/dist/cjs/helpers-2f1a8ddc.js.map +0 -1
  595. package/dist/cjs/wcs-button_2.cjs.entry.js.map +0 -1
  596. package/dist/cjs/wcs-mat-icon.cjs.entry.js +0 -42
  597. package/dist/cjs/wcs-mat-icon.cjs.entry.js.map +0 -1
  598. package/dist/esm/grid-pagination-23102986.js.map +0 -1
  599. package/dist/esm/helpers-89faa1b1.js.map +0 -1
  600. package/dist/esm/wcs-mat-icon.entry.js +0 -38
  601. package/dist/esm/wcs-mat-icon.entry.js.map +0 -1
  602. package/dist/wcs/p-0d233c6a.entry.js +0 -2
  603. package/dist/wcs/p-218b5f3d.entry.js +0 -2
  604. package/dist/wcs/p-218b5f3d.entry.js.map +0 -1
  605. package/dist/wcs/p-5314a64d.js +0 -2
  606. package/dist/wcs/p-5314a64d.js.map +0 -1
  607. package/dist/wcs/p-5443c9af.entry.js +0 -2
  608. package/dist/wcs/p-5443c9af.entry.js.map +0 -1
  609. package/dist/wcs/p-5607246c.entry.js +0 -2
  610. package/dist/wcs/p-59f96b21.entry.js +0 -2
  611. package/dist/wcs/p-6aededc6.entry.js +0 -2
  612. package/dist/wcs/p-7b60d4c7.js +0 -2
  613. package/dist/wcs/p-7b60d4c7.js.map +0 -1
  614. package/dist/wcs/p-7de847e0.entry.js +0 -2
  615. package/dist/wcs/p-8152d360.entry.js +0 -2
  616. package/dist/wcs/p-8152d360.entry.js.map +0 -1
  617. package/dist/wcs/p-82838611.entry.js +0 -16
  618. package/dist/wcs/p-82838611.entry.js.map +0 -1
  619. package/dist/wcs/p-9197e9b5.entry.js +0 -2
  620. package/dist/wcs/p-990698a7.entry.js.map +0 -1
  621. package/dist/wcs/p-9e091c53.entry.js.map +0 -1
  622. package/dist/wcs/p-a60ba874.entry.js +0 -156
  623. package/dist/wcs/p-a60ba874.entry.js.map +0 -1
  624. package/dist/wcs/p-c211a5d1.entry.js +0 -2
  625. package/dist/wcs/p-c3b733ff.entry.js +0 -2
  626. package/dist/wcs/p-c6808cab.entry.js +0 -2
  627. package/dist/wcs/p-c7812760.entry.js +0 -2
  628. package/dist/wcs/p-d3afc02f.entry.js +0 -2
  629. package/dist/wcs/p-e26c19e5.entry.js +0 -2
  630. /package/bundle/{p-d3fe6951.js.map → p-035ad27f.js.map} +0 -0
  631. /package/bundle/{p-5ef2bc63.js.map → p-16c7ed2e.js.map} +0 -0
  632. /package/bundle/{p-475be4d2.js.map → p-5a997d17.js.map} +0 -0
  633. /package/bundle/{p-60193ef5.js.map → p-791fce94.js.map} +0 -0
  634. /package/bundle/{p-7a06295b.js.map → p-87b9556d.js.map} +0 -0
  635. /package/bundle/{p-a0268a31.js.map → p-886109ed.js.map} +0 -0
  636. /package/bundle/{p-d05140f5.js.map → p-9138985e.js.map} +0 -0
  637. /package/bundle/{p-8b186fcf.js.map → p-a9a83300.js.map} +0 -0
  638. /package/bundle/{p-bce8c93f.js.map → p-d7d1ea63.js.map} +0 -0
  639. /package/composite-elements/{p-a90bb01e.js.map → p-061ccda5.js.map} +0 -0
  640. /package/composite-elements/{p-ef26b4d8.js.map → p-2181568b.js.map} +0 -0
  641. /package/composite-elements/{p-87e97a2e.js.map → p-61886571.js.map} +0 -0
  642. /package/composite-elements/{p-6b91c7bd.js.map → p-b53ae1a8.js.map} +0 -0
  643. /package/composite-elements/{p-2454bcae.js.map → p-b6d0a6b4.js.map} +0 -0
  644. /package/composite-elements/{p-46f752d5.js.map → p-cb9faa9b.js.map} +0 -0
  645. /package/composite-elements/{p-5a3d7fec.js.map → p-cd6cca64.js.map} +0 -0
  646. /package/composite-elements/{p-e4e3ed2c.js.map → p-d2d79425.js.map} +0 -0
  647. /package/composite-elements/{p-a70a3379.js.map → p-f0b064a2.js.map} +0 -0
  648. /package/dist/wcs/{p-41b946b2.entry.js.map → p-03ae13ec.entry.js.map} +0 -0
  649. /package/dist/wcs/{p-9197e9b5.entry.js.map → p-07c961b4.entry.js.map} +0 -0
  650. /package/dist/wcs/{p-b42f441f.entry.js.map → p-167108aa.entry.js.map} +0 -0
  651. /package/dist/wcs/{p-d89ad962.entry.js.map → p-17c8f012.entry.js.map} +0 -0
  652. /package/dist/wcs/{p-14dfa087.entry.js.map → p-190a8883.entry.js.map} +0 -0
  653. /package/dist/wcs/{p-0758d22e.entry.js.map → p-276070f3.entry.js.map} +0 -0
  654. /package/dist/wcs/{p-f929b66f.entry.js.map → p-28941abc.entry.js.map} +0 -0
  655. /package/dist/wcs/{p-c169d496.entry.js.map → p-28d52607.entry.js.map} +0 -0
  656. /package/dist/wcs/{p-c211a5d1.entry.js.map → p-2d4fd96a.entry.js.map} +0 -0
  657. /package/dist/wcs/{p-9c6db857.entry.js.map → p-2d5becbf.entry.js.map} +0 -0
  658. /package/dist/wcs/{p-7de847e0.entry.js.map → p-2da579f2.entry.js.map} +0 -0
  659. /package/dist/wcs/{p-53a395a9.entry.js.map → p-2e0238b6.entry.js.map} +0 -0
  660. /package/dist/wcs/{p-9388283a.entry.js.map → p-358a505f.entry.js.map} +0 -0
  661. /package/dist/wcs/{p-e35b138e.entry.js.map → p-38d37878.entry.js.map} +0 -0
  662. /package/dist/wcs/{p-b3b31d43.entry.js.map → p-3bc23ef1.entry.js.map} +0 -0
  663. /package/dist/wcs/{p-912c2c9b.entry.js.map → p-407d9700.entry.js.map} +0 -0
  664. /package/dist/wcs/{p-6f937b20.entry.js.map → p-41383e84.entry.js.map} +0 -0
  665. /package/dist/wcs/{p-53bc2cae.entry.js.map → p-4506e5e4.entry.js.map} +0 -0
  666. /package/dist/wcs/{p-b9368690.entry.js.map → p-48541bf7.entry.js.map} +0 -0
  667. /package/dist/wcs/{p-8332a7e3.entry.js.map → p-4a28d7a3.entry.js.map} +0 -0
  668. /package/dist/wcs/{p-0424e545.entry.js.map → p-4d7bc716.entry.js.map} +0 -0
  669. /package/dist/wcs/{p-367946fe.entry.js.map → p-4f20cdba.entry.js.map} +0 -0
  670. /package/dist/wcs/{p-03838b42.entry.js.map → p-4fad6675.entry.js.map} +0 -0
  671. /package/dist/wcs/{p-f411974e.entry.js.map → p-575881cd.entry.js.map} +0 -0
  672. /package/dist/wcs/{p-c3b733ff.entry.js.map → p-5823cd22.entry.js.map} +0 -0
  673. /package/dist/wcs/{p-c6808cab.entry.js.map → p-5a276237.entry.js.map} +0 -0
  674. /package/dist/wcs/{p-f2c49d83.entry.js.map → p-5b61a775.entry.js.map} +0 -0
  675. /package/dist/wcs/{p-e26c19e5.entry.js.map → p-6033c91b.entry.js.map} +0 -0
  676. /package/dist/wcs/{p-25d7b2f8.entry.js.map → p-6b5db6be.entry.js.map} +0 -0
  677. /package/dist/wcs/{p-b04471f5.entry.js.map → p-6b86d4fa.entry.js.map} +0 -0
  678. /package/dist/wcs/{p-6aededc6.entry.js.map → p-6c6841ac.entry.js.map} +0 -0
  679. /package/dist/wcs/{p-dbf82cb9.js.map → p-6c78d16e.js.map} +0 -0
  680. /package/dist/wcs/{p-6e7db56e.entry.js.map → p-714c3cd7.entry.js.map} +0 -0
  681. /package/dist/wcs/{p-56d9554a.entry.js.map → p-7b67cec9.entry.js.map} +0 -0
  682. /package/dist/wcs/{p-781a956e.entry.js.map → p-7cd88886.entry.js.map} +0 -0
  683. /package/dist/wcs/{p-3e57c746.entry.js.map → p-7f5eea6a.entry.js.map} +0 -0
  684. /package/dist/wcs/{p-beeec782.entry.js.map → p-882886ae.entry.js.map} +0 -0
  685. /package/dist/wcs/{p-5607246c.entry.js.map → p-8fd515a3.entry.js.map} +0 -0
  686. /package/dist/wcs/{p-ff48a8b2.entry.js.map → p-95f35254.entry.js.map} +0 -0
  687. /package/dist/wcs/{p-0cbf08fb.entry.js.map → p-9d47a628.entry.js.map} +0 -0
  688. /package/dist/wcs/{p-59f96b21.entry.js.map → p-9d683786.entry.js.map} +0 -0
  689. /package/dist/wcs/{p-c42a6c1c.entry.js.map → p-a45a1f25.entry.js.map} +0 -0
  690. /package/dist/wcs/{p-f974210c.entry.js.map → p-a9fa5726.entry.js.map} +0 -0
  691. /package/dist/wcs/{p-1c356201.entry.js.map → p-ae305b09.entry.js.map} +0 -0
  692. /package/dist/wcs/{p-d3afc02f.entry.js.map → p-afd3e923.entry.js.map} +0 -0
  693. /package/dist/wcs/{p-3a18535f.entry.js.map → p-b9744cf7.entry.js.map} +0 -0
  694. /package/dist/wcs/{p-cbbca016.entry.js.map → p-cefd8219.entry.js.map} +0 -0
  695. /package/dist/wcs/{p-ae299c3f.entry.js.map → p-d18051b2.entry.js.map} +0 -0
  696. /package/dist/wcs/{p-9d4c8f84.entry.js.map → p-d42f5883.entry.js.map} +0 -0
  697. /package/dist/wcs/{p-7af9a2f3.js.map → p-d6d273d2.js.map} +0 -0
  698. /package/dist/wcs/{p-63a8e5cc.entry.js.map → p-e08febb4.entry.js.map} +0 -0
  699. /package/dist/wcs/{p-8f95bbf3.entry.js.map → p-e91d33e0.entry.js.map} +0 -0
  700. /package/dist/wcs/{p-c7812760.entry.js.map → p-f37d7b07.entry.js.map} +0 -0
  701. /package/dist/wcs/{p-6d8f0040.entry.js.map → p-f7897fd4.entry.js.map} +0 -0
  702. /package/dist/wcs/{p-a6d64e5b.entry.js.map → p-fcc43c82.entry.js.map} +0 -0
  703. /package/dist/wcs/{p-cb9147b8.entry.js.map → p-fd18dce6.entry.js.map} +0 -0
  704. /package/dist/wcs/{p-d8c4dbc3.entry.js.map → p-ff20d08b.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"wcs-dropdown.entry.js","mappings":"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","names":[],"sources":["src/components/dropdown/dropdown-keyboard-event.ts","src/components/dropdown/dropdown.scss?tag=wcs-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":["import { keyboardShortcutFromKeyboardEvent } from \"../../utils/keyboard-event\";\n\n// Possible Shortcuts\n\n// Dropdown button\n// ENTER : open menu, move focus to first item\n// SPACE : open menu, move focus to first item\n// DOWN_ARROW : open menu, move focus to first item\n// UP_ARROW : open menu, move focus to last item\n\n// Dropdown item\n// HOME : focus first item\n// END : focus last item\n// UP_ARROW : move focus to previous item\n// DOWN_ARROW : move focus to previous item\n// ESCAPE : close menu, set focus on the dropdown button\n// ENTER : activate the item, close menu, set focus to menu button (already handled via the wcsDropdownItemClick event)\n\nexport type KeyboardEventAssociatedAction = OpenMenu\n | CloseMenu\n | ClearFocus\n | FocusItem;\n\ntype OpenMenu = {kind: 'OpenMenu'};\ntype CloseMenu = {kind: 'CloseMenu'};\n\n\ntype ClearFocus = {kind: 'ClearFocus'};\ntype FocusItem = {kind: 'FocusItem', target: 'next' | 'previous' | 'first' | 'last'};\n\n/**\n * We follow this pattern https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/examples/menu-button-actions/\n * @param event\n * @param currentState\n * @param type\n */\nexport function getActionForKeyboardEvent(event: KeyboardEvent, currentState: 'closed' | 'opened'): KeyboardEventAssociatedAction[] {\n const keyboardShortcut = keyboardShortcutFromKeyboardEvent(event);\n\n if(keyboardShortcut === 'UNKNOWN') {\n return [];\n }\n\n switch (currentState) {\n case 'closed':\n // We handle every available shortcut for the closed state\n switch (keyboardShortcut) {\n case 'UP_ARROW':\n return [{kind: 'OpenMenu'}, {kind: 'FocusItem', target: 'last'}];\n case 'DOWN_ARROW':\n return [{kind: 'OpenMenu'}, {kind: 'FocusItem', target: 'first'}];\n case 'SPACE':\n case 'ENTER':\n return [{kind: 'OpenMenu'}, {kind: 'FocusItem', target: 'first'}];\n default:\n break;\n }\n break;\n case 'opened':\n // We handle every available shortcut for the opened state\n switch (keyboardShortcut) {\n case 'UP_ARROW':\n return [{kind: 'FocusItem', target: 'previous'}];\n case 'DOWN_ARROW':\n return [{kind: 'FocusItem', target: 'next'}];\n case 'HOME':\n return [{kind: 'FocusItem', target: 'first'}];\n case 'END':\n return [{kind: 'FocusItem', target: 'last'}];\n case 'ESCAPE':\n case 'MAJ+TAB':\n case 'TAB':\n return [{kind: 'CloseMenu'}];\n default:\n break;\n }\n break;\n default:\n throw Error('Unknown error');\n }\n return [];\n}\n","@import '../../style/focus-outline.scss';\n\n:host {\n display: flex;\n /*\n * DO NOT REMOVE:\n * The native button is absolutely positioned.\n * This `position: relative` makes `wcs-dropdown` its containing block.\n * Without it, the button can be laid out relative to another ancestor higher in the DOM,\n * so when the browser focuses the native button it may scroll the window unexpectedly.\n */\n position: relative;\n\n --wcs-dropdown-outline-color-focus: var(--wcs-semantic-color-border-focus-base);\n\n // Padding\n --wcs-dropdown-padding-empty: var(--wcs-semantic-spacing-large);\n\n // Arrow color\n --wcs-dropdown-plain-arrow-color: var(--wcs-semantic-color-foreground-action-primary-default);\n --wcs-dropdown-stroked-arrow-color: var(--wcs-semantic-color-foreground-action-secondary-default);\n --wcs-dropdown-clear-arrow-color: var(--wcs-semantic-color-foreground-action-tertiary-default);\n\n --wcs-dropdown-arrow-color-disabled: var(--wcs-semantic-color-text-disabled);\n\n // Overlay\n --wcs-dropdown-overlay-max-height: 360px;\n --wcs-dropdown-overlay-padding: var(--wcs-semantic-spacing-base);\n --wcs-dropdown-overlay-background-color: var(--wcs-semantic-color-background-surface-primary);\n --wcs-dropdown-overlay-border-width: var(--wcs-semantic-border-width-default);\n --wcs-dropdown-overlay-border-radius: var(--wcs-semantic-border-radius-base);\n --wcs-dropdown-overlay-border-color: var(--wcs-semantic-color-border-secondary);\n\n wcs-button {\n height: fit-content;\n }\n\n svg {\n margin-right: -0.25rem;\n }\n}\n\n/* Visually hide the native button */\nbutton {\n position: absolute;\n opacity: 0;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n outline: 0;\n outline-offset: 0;\n}\n\nbutton:focus-visible + wcs-button {\n @include focus-outline($outline-color: var(--wcs-dropdown-outline-color-focus), $border-radius: var(--wcs-button-border-radius));\n}\n\n@supports not selector(button:focus-visible + wcs-button) {\n button:focus-within + wcs-button {\n @include focus-outline($outline-color: var(--wcs-dropdown-outline-color-focus), $border-radius: var(--wcs-button-border-radius));\n }\n}\n\n.wcs-button-content-wrapper {\n display: flex;\n align-items: center;\n}\n\n.popover {\n display: none;\n border: var(--wcs-dropdown-overlay-border-width) solid var(--wcs-dropdown-overlay-border-color);\n border-radius: var(--wcs-dropdown-overlay-border-radius);\n background-color: var(--wcs-dropdown-overlay-background-color);\n z-index: 9999;\n}\n\n.show {\n display: block;\n}\n\n// XXX: So that item hover background does not overflow\n.container {\n min-width: calc(10 * var(--wcs-semantic-size-base));\n border-radius: inherit;\n overflow: hidden;\n padding: var(--wcs-dropdown-overlay-padding);\n background-color: var(--wcs-dropdown-overlay-background-color);\n}\n\n:host([mode=clear]) {\n // SVG arrow inside the button, on clear background\n .arrow {\n fill: var(--wcs-dropdown-clear-arrow-color);\n }\n}\n\n:host([mode=stroked]) {\n // SVG arrow inside the button, on stroked background\n .arrow {\n fill: var(--wcs-dropdown-stroked-arrow-color);\n }\n}\n\n:host([mode=plain]) {\n // SVG arrow inside the button, on primary background\n .arrow {\n fill: var(--wcs-dropdown-plain-arrow-color);\n }\n}\n\n:host([disabled]) {\n .arrow {\n fill: var(--wcs-dropdown-arrow-color-disabled);\n }\n}\n\n// Popover arrow\n#arrow,\n#arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n border: var(--wcs-dropdown-overlay-border-width) solid var(--wcs-dropdown-overlay-border-color);\n}\n\n#arrow {\n visibility: hidden;\n z-index: -1;\n}\n\n#arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n}\n\n#is-empty {\n display: block;\n width: 20ch;\n padding: 0 var(--wcs-dropdown-padding-empty);\n}\n\n.popover[data-popper-placement^='top'] > #arrow {\n bottom: -5px;\n}\n\n.popover[data-popper-placement^='bottom'] > #arrow {\n top: -6px;\n}\n\n.popover[data-popper-placement^='left'] > #arrow {\n right: -4px;\n}\n\n.popover[data-popper-placement^='right'] > #arrow {\n left: -6px;\n}\n","import { Component, ComponentInterface, Element, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport { SelectArrow } from '../select/select-arrow';\nimport {\n WcsButtonMode,\n WcsButtonShape,\n WcsButtonSize,\n} from '../button/button-interface';\nimport { createPopper, Instance } from '@popperjs/core';\nimport { WcsDropdownPlacement } from './dropdown-interface';\nimport {\n clickTargetIsElementOrChildren,\n inheritAriaAttributes,\n inheritAttributes,\n setOrRemoveAttribute\n} from '../../utils/helpers';\nimport { getActionForKeyboardEvent, KeyboardEventAssociatedAction } from \"./dropdown-keyboard-event\";\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\n\nconst DROPDOWN_INHERITED_ATTRS = ['tabindex'];\n\n/**\n * The dropdown component use a wcs-button under the hood, so you can use the same css classes as the button to style the\n * dropdown.\n * \n * @slot placeholder - The slot containing the placeholder displayed in button\n * @slot item - The slot container the list of `wcs-dropdown-item` elements\n * \n * @cssprop --wcs-dropdown-outline-color-focus - Outline color of dropdown when focus it\n * \n * @cssprop --wcs-dropdown-plain-arrow-color - Color of the arrow indicator when the dropdown is plain\n * @cssprop --wcs-dropdown-stroked-arrow-color - Color of the arrow indicator when the dropdown is stroked\n * @cssprop --wcs-dropdown-clear-arrow-color - Color of the arrow indicator when the dropdown is not filled\n * @cssprop --wcs-dropdown-arrow-color-disabled - Base color of the arrow indicator when the dropdown is disabled\n * \n * @cssprop --wcs-dropdown-padding-empty - Padding of and empty dropdown\n * \n * @cssprop --wcs-dropdown-overlay-padding - Defines the vertical padding inside the dropdown overlay\n * @cssprop --wcs-dropdown-overlay-max-height - Specifies the maximum height of the dropdown overlay\n * @cssprop --wcs-dropdown-overlay-background-color - Determines the background color of the dropdown overlay\n * @cssprop --wcs-dropdown-overlay-border-width - Sets the border width of the dropdown overlay\n * @cssprop --wcs-dropdown-overlay-border-radius - Defines the border radius of the dropdown overlay\n * @cssprop --wcs-dropdown-overlay-border-color - Specifies the border color of the dropdown overlay\n */\n@Component({\n tag: 'wcs-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: {\n delegatesFocus: true\n }\n})\nexport class Dropdown implements ComponentInterface, MutableAriaAttribute {\n @Element() private el: HTMLWcsDropdownElement;\n private inheritedAttributes: { [k: string]: any } = {};\n\n /**\n * This button is visually hidden. It used to carry all aria attributes and acts as the controller of the menu.\n * The wcs-button could not handle the aria-controls and aria-activedescendant attributes because of the IDREF\n * not passing from a shadow-dom through another.\n * @private\n */\n private nativeButton!: HTMLButtonElement;\n\n /**\n * This button is shown on the user interface, and visually receives focus and catch click events. \n * It is hidden to screen readers since the native button carries all the aria informations.\n * @private\n */\n private wcsButton!: HTMLWcsButtonElement;\n\n /**\n * This div is shown on the user interface when the dropdown is expanded.\n * @private\n */\n private popoverDiv!: HTMLDivElement;\n\n /** Hides the arrow in the button */\n @Prop({ reflect: true }) noArrow: boolean = false;\n\n /** Dropdown's button mode */\n @Prop() mode: WcsButtonMode = 'stroked';\n\n /** Dropdown's button shape */\n @Prop() shape: WcsButtonShape = 'normal';\n \n /** Dropdown's button size */\n @Prop() size: WcsButtonSize = 'm';\n\n /** Specifies whether the dropdown button is clickable or not */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** placement of the dropdown's popover */\n @Prop() placement: WcsDropdownPlacement = 'bottom-end';\n\n @State() private expanded: boolean = false;\n\n\n private popper: Instance;\n \n private lastFocusedItemElement: HTMLWcsDropdownItemElement | null;\n \n private get items(): HTMLWcsDropdownItemElement[] {\n return Array.from(this.el.querySelectorAll('wcs-dropdown-item'));\n }\n\n @Watch('placement')\n protected placementChange() {\n this.popper.setOptions({\n ...this.popper.state.options,\n placement: this.placement\n }).then(_ => this.popper.update());\n }\n \n @Listen('blur')\n onBlur() {\n this.clearLastFocusedItem();\n this.expanded = false;\n }\n\n componentDidLoad() {\n this.popper = createPopper(this.wcsButton, this.popoverDiv, {\n placement: this.placement,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8]\n }\n }\n ]\n });\n\n this.fixForFirefoxBelow63();\n }\n\n private fixForFirefoxBelow63() {\n // If the items appear out of the slot we place them back\n const items = this.el.querySelectorAll('wcs-dropdown-item');\n const container = this.el.querySelector('.container');\n if (items.length > 0 && container) {\n items.forEach(i => {\n this.el.removeChild(i);\n container.appendChild(i);\n });\n }\n }\n\n private onButtonClick(_: MouseEvent): void {\n this.clearLastFocusedItem();\n this.expanded = !this.expanded;\n \n if (this.expanded) {\n this.focusItem(0);\n }\n }\n\n @Listen('click', {target: 'window'})\n onWindowClickEvent(event: MouseEvent) {\n const clickedOnDropdownOrChildren = clickTargetIsElementOrChildren(event, this.el);\n if (this.expanded && !clickedOnDropdownOrChildren) {\n this.expanded = false;\n }\n }\n\n @Listen('wcsDropdownItemClick')\n dropdownItemClick(_: CustomEvent<void>) {\n this.expanded = false;\n this.nativeButton.focus();\n }\n\n @Listen('keydown')\n onKeyDown(_event: KeyboardEvent): void {\n const currentState = this.expanded ? 'opened' : 'closed';\n const actionsFromKeyboardEvents: KeyboardEventAssociatedAction[] = getActionForKeyboardEvent(_event, currentState);\n\n // If we have at least one associated actions, we prevent the default behavior of the event. \n // Except if the action is a focus move (we have to handle the preventDefault behavior ourselves in the action implementation)\n if (actionsFromKeyboardEvents.length != 0) {\n _event.preventDefault();\n }\n\n for (const actionFromKeyboardEvent of actionsFromKeyboardEvents) {\n this.doActionFromKeyboardEventAssociatedAction(actionFromKeyboardEvent);\n }\n }\n \n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.nativeButton, attr, value);\n }\n\n doActionFromKeyboardEventAssociatedAction(actionFromKeyboardEvent: KeyboardEventAssociatedAction) {\n switch (actionFromKeyboardEvent.kind) {\n case 'OpenMenu':\n this.expanded = true;\n this.focusItem(0);\n break;\n case 'CloseMenu':\n this.expanded = false;\n this.nativeButton.focus();\n break;\n case 'ClearFocus':\n this.clearLastFocusedItem();\n break;\n case 'FocusItem':\n switch (actionFromKeyboardEvent.target) {\n case 'previous':\n this.focusClosestItem('previous');\n break;\n case 'next':\n this.focusClosestItem('next');\n break;\n case 'first':\n this.focusItem(0);\n break;\n case 'last':\n this.focusItem(this.items.length - 1);\n break;\n default:\n break;\n }\n break;\n default:\n break;\n }\n }\n\n /**\n * Removes the focus and tabindex 0 of the last focused item if any.\n * @private\n */\n private clearLastFocusedItem() {\n if (this.lastFocusedItemElement) {\n this.lastFocusedItemElement.tabIndex = -1;\n this.lastFocusedItemElement = null;\n }\n }\n \n private focusItem(indexToFocus: number) {\n this.clearLastFocusedItem();\n this.lastFocusedItemElement = this.items[indexToFocus];\n if (this.lastFocusedItemElement) {\n this.lastFocusedItemElement.tabIndex = 0;\n requestAnimationFrame(() => {\n this.lastFocusedItemElement?.focus();\n });\n }\n }\n \n private focusClosestItem(direction: 'next' | 'previous'): void {\n const indexToFocus = this.getClosestActiveItemIndexForDirection(direction);\n if (indexToFocus === -1) return;\n \n this.focusItem(indexToFocus);\n }\n \n private getClosestActiveItemIndexForDirection(direction: 'next' | 'previous'): number {\n const items = this.items;\n let currentIndex = Array.from(items).indexOf(this.lastFocusedItemElement);\n\n const MIN_INDEX = 0;\n const MAX_INDEX = items.length - 1;\n\n if (direction === 'next' && currentIndex < MAX_INDEX) {\n currentIndex++;\n } else if (direction === 'previous' && currentIndex > MIN_INDEX) {\n currentIndex--;\n } else {\n // Used to scroll through items infinitely with keyboard\n if (direction === 'next' && currentIndex >= MAX_INDEX) {\n currentIndex = 0;\n }\n if (direction === 'previous' && currentIndex === MIN_INDEX) {\n currentIndex = MAX_INDEX;\n }\n }\n \n return currentIndex;\n }\n\n componentDidRender() {\n if (this.popper) {\n this.popper.update();\n }\n }\n\n componentWillLoad(): Promise<void> | void {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, DROPDOWN_INHERITED_ATTRS),\n };\n }\n \n render() {\n return (\n <Host>\n <button id=\"dropdown-button\"\n aria-controls=\"menu\"\n disabled={this.disabled}\n aria-haspopup=\"true\"\n role=\"button\"\n aria-expanded={this.expanded ? 'true' : 'false'}\n ref={el => this.nativeButton = el}\n onClick={($event) => this.onButtonClick($event)}\n onBlur={($event) => $event.stopImmediatePropagation()}\n {...this.inheritedAttributes}>Dropdown</button>\n <wcs-button mode={this.mode} shape={this.shape} disabled={this.disabled} size={this.size}\n ref={el => this.wcsButton = el}\n aria-hidden=\"true\"\n tabindex={-1}\n onClick={($event) => this.onButtonClick($event)}\n onBlur={(e) => e.stopImmediatePropagation()}>\n <div class=\"wcs-button-content-wrapper\">\n <slot name=\"placeholder\"/>\n {this.noArrow ? null : (<SelectArrow up={this.expanded}/>)}\n </div>\n </wcs-button>\n <div class={(this.expanded ? 'show ' : '') + 'popover'}\n id=\"menu\"\n role=\"menu\"\n aria-labelledby=\"dropdown-button\"\n tabindex={-1}\n ref={el => this.popoverDiv = el}>\n <div role=\"presentation\" id=\"arrow\" data-popper-arrow/>\n <div role=\"presentation\" class=\"container\">\n <slot name=\"item\">\n <span id={\"is-empty\"}></span>\n </slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
1
+ {"file":"wcs-dropdown.entry.js","mappings":"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","names":[],"sources":["src/components/dropdown/dropdown-keyboard-event.ts","src/components/dropdown/dropdown.scss?tag=wcs-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":["import { keyboardShortcutFromKeyboardEvent } from \"../../utils/keyboard-event\";\n\n// Possible Shortcuts\n\n// Dropdown button\n// ENTER : open menu, move focus to first item\n// SPACE : open menu, move focus to first item\n// DOWN_ARROW : open menu, move focus to first item\n// UP_ARROW : open menu, move focus to last item\n\n// Dropdown item\n// HOME : focus first item\n// END : focus last item\n// UP_ARROW : move focus to previous item\n// DOWN_ARROW : move focus to previous item\n// ESCAPE : close menu, set focus on the dropdown button\n// ENTER : activate the item, close menu, set focus to menu button (already handled via the wcsDropdownItemClick event)\n\nexport type KeyboardEventAssociatedAction = OpenMenu\n | CloseMenu\n | ClearFocus\n | FocusItem;\n\ntype OpenMenu = {kind: 'OpenMenu'};\ntype CloseMenu = {kind: 'CloseMenu'};\n\n\ntype ClearFocus = {kind: 'ClearFocus'};\ntype FocusItem = {kind: 'FocusItem', target: 'next' | 'previous' | 'first' | 'last'};\n\n/**\n * We follow this pattern https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/examples/menu-button-actions/\n * @param event\n * @param currentState\n * @param type\n */\nexport function getActionForKeyboardEvent(event: KeyboardEvent, currentState: 'closed' | 'opened'): KeyboardEventAssociatedAction[] {\n const keyboardShortcut = keyboardShortcutFromKeyboardEvent(event);\n\n if(keyboardShortcut === 'UNKNOWN') {\n return [];\n }\n\n switch (currentState) {\n case 'closed':\n // We handle every available shortcut for the closed state\n switch (keyboardShortcut) {\n case 'UP_ARROW':\n return [{kind: 'OpenMenu'}, {kind: 'FocusItem', target: 'last'}];\n case 'DOWN_ARROW':\n return [{kind: 'OpenMenu'}, {kind: 'FocusItem', target: 'first'}];\n case 'SPACE':\n case 'ENTER':\n return [{kind: 'OpenMenu'}, {kind: 'FocusItem', target: 'first'}];\n default:\n break;\n }\n break;\n case 'opened':\n // We handle every available shortcut for the opened state\n switch (keyboardShortcut) {\n case 'UP_ARROW':\n return [{kind: 'FocusItem', target: 'previous'}];\n case 'DOWN_ARROW':\n return [{kind: 'FocusItem', target: 'next'}];\n case 'HOME':\n return [{kind: 'FocusItem', target: 'first'}];\n case 'END':\n return [{kind: 'FocusItem', target: 'last'}];\n case 'ESCAPE':\n case 'MAJ+TAB':\n case 'TAB':\n return [{kind: 'CloseMenu'}];\n default:\n break;\n }\n break;\n default:\n throw Error('Unknown error');\n }\n return [];\n}\n","@import '../../style/focus-outline.scss';\n\n:host {\n display: flex;\n /*\n * DO NOT REMOVE:\n * The native button is absolutely positioned.\n * This `position: relative` makes `wcs-dropdown` its containing block.\n * Without it, the button can be laid out relative to another ancestor higher in the DOM,\n * so when the browser focuses the native button it may scroll the window unexpectedly.\n */\n position: relative;\n\n --wcs-dropdown-outline-color-focus: var(--wcs-semantic-color-border-focus-base);\n\n // Padding\n --wcs-dropdown-padding-empty: var(--wcs-semantic-spacing-large);\n\n // Arrow color\n --wcs-dropdown-plain-arrow-color: var(--wcs-semantic-color-foreground-action-primary-default);\n --wcs-dropdown-stroked-arrow-color: var(--wcs-semantic-color-foreground-action-secondary-default);\n --wcs-dropdown-clear-arrow-color: var(--wcs-semantic-color-foreground-action-tertiary-default);\n\n --wcs-dropdown-arrow-color-disabled: var(--wcs-semantic-color-text-disabled);\n\n // Overlay\n --wcs-dropdown-overlay-max-height: 360px;\n --wcs-dropdown-overlay-padding: var(--wcs-semantic-spacing-base);\n --wcs-dropdown-overlay-background-color: var(--wcs-semantic-color-background-surface-primary);\n --wcs-dropdown-overlay-border-width: var(--wcs-semantic-border-width-default);\n --wcs-dropdown-overlay-border-radius: var(--wcs-semantic-border-radius-base);\n --wcs-dropdown-overlay-border-color: var(--wcs-semantic-color-border-secondary);\n\n wcs-button {\n height: fit-content;\n }\n\n svg {\n margin-right: -0.25rem;\n }\n}\n\n/* Visually hide the native button */\nbutton {\n position: absolute;\n opacity: 0;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n outline: 0;\n outline-offset: 0;\n}\n\nbutton:focus-visible + wcs-button {\n @include focus-outline($outline-color: var(--wcs-dropdown-outline-color-focus), $border-radius: var(--wcs-button-border-radius));\n}\n\n@supports not selector(button:focus-visible + wcs-button) {\n button:focus-within + wcs-button {\n @include focus-outline($outline-color: var(--wcs-dropdown-outline-color-focus), $border-radius: var(--wcs-button-border-radius));\n }\n}\n\n.wcs-button-content-wrapper {\n display: flex;\n align-items: center;\n}\n\n.popover {\n width: max-content; // We want the popover to shrink to fit its content, but not to grow wider than necessary\n\n display: none;\n border: var(--wcs-dropdown-overlay-border-width) solid var(--wcs-dropdown-overlay-border-color);\n border-radius: var(--wcs-dropdown-overlay-border-radius);\n background-color: var(--wcs-dropdown-overlay-background-color);\n z-index: 9999;\n}\n\n.show {\n display: block;\n}\n\n// XXX: So that item hover background does not overflow\n.container {\n min-width: calc(10 * var(--wcs-semantic-size-base));\n border-radius: inherit;\n overflow: hidden;\n padding: var(--wcs-dropdown-overlay-padding);\n background-color: var(--wcs-dropdown-overlay-background-color);\n}\n\n:host([mode=clear]) {\n // SVG arrow inside the button, on clear background\n .arrow {\n fill: var(--wcs-dropdown-clear-arrow-color);\n }\n}\n\n:host([mode=stroked]) {\n // SVG arrow inside the button, on stroked background\n .arrow {\n fill: var(--wcs-dropdown-stroked-arrow-color);\n }\n}\n\n:host([mode=plain]) {\n // SVG arrow inside the button, on primary background\n .arrow {\n fill: var(--wcs-dropdown-plain-arrow-color);\n }\n}\n\n:host([disabled]) {\n .arrow {\n fill: var(--wcs-dropdown-arrow-color-disabled);\n }\n}\n\n// Popover arrow\n#arrow,\n#arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n border: var(--wcs-dropdown-overlay-border-width) solid var(--wcs-dropdown-overlay-border-color);\n}\n\n#arrow {\n visibility: hidden;\n z-index: -1;\n}\n\n#arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n}\n\n#is-empty {\n display: block;\n width: 20ch;\n padding: 0 var(--wcs-dropdown-padding-empty);\n}\n\n.popover[data-popper-placement^='top'] > #arrow {\n bottom: -5px;\n}\n\n.popover[data-popper-placement^='bottom'] > #arrow {\n top: -6px;\n}\n\n.popover[data-popper-placement^='left'] > #arrow {\n right: -4px;\n}\n\n.popover[data-popper-placement^='right'] > #arrow {\n left: -6px;\n}\n","import { Component, ComponentInterface, Element, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport { SelectArrow } from '../select/select-arrow';\nimport {\n WcsButtonMode,\n WcsButtonShape,\n WcsButtonSize,\n} from '../button/button-interface';\nimport { createPopper, Instance } from '@popperjs/core';\nimport { WcsDropdownPlacement } from './dropdown-interface';\nimport {\n clickTargetIsElementOrChildren,\n inheritAriaAttributes,\n inheritAttributes,\n setOrRemoveAttribute\n} from '../../utils/helpers';\nimport { getActionForKeyboardEvent, KeyboardEventAssociatedAction } from \"./dropdown-keyboard-event\";\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\n\nconst DROPDOWN_INHERITED_ATTRS = ['tabindex'];\n\n/**\n * The dropdown component use a wcs-button under the hood, so you can use the same css classes as the button to style the\n * dropdown.\n * \n * @slot placeholder - The slot containing the placeholder displayed in button\n * @slot item - The slot container the list of `wcs-dropdown-item` elements\n * \n * @cssprop --wcs-dropdown-outline-color-focus - Outline color of dropdown when focus it\n * \n * @cssprop --wcs-dropdown-plain-arrow-color - Color of the arrow indicator when the dropdown is plain\n * @cssprop --wcs-dropdown-stroked-arrow-color - Color of the arrow indicator when the dropdown is stroked\n * @cssprop --wcs-dropdown-clear-arrow-color - Color of the arrow indicator when the dropdown is not filled\n * @cssprop --wcs-dropdown-arrow-color-disabled - Base color of the arrow indicator when the dropdown is disabled\n * \n * @cssprop --wcs-dropdown-padding-empty - Padding of and empty dropdown\n * \n * @cssprop --wcs-dropdown-overlay-padding - Defines the vertical padding inside the dropdown overlay\n * @cssprop --wcs-dropdown-overlay-max-height - Specifies the maximum height of the dropdown overlay\n * @cssprop --wcs-dropdown-overlay-background-color - Determines the background color of the dropdown overlay\n * @cssprop --wcs-dropdown-overlay-border-width - Sets the border width of the dropdown overlay\n * @cssprop --wcs-dropdown-overlay-border-radius - Defines the border radius of the dropdown overlay\n * @cssprop --wcs-dropdown-overlay-border-color - Specifies the border color of the dropdown overlay\n */\n@Component({\n tag: 'wcs-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: {\n delegatesFocus: true\n }\n})\nexport class Dropdown implements ComponentInterface, MutableAriaAttribute {\n @Element() private el: HTMLWcsDropdownElement;\n private inheritedAttributes: { [k: string]: any } = {};\n\n /**\n * This button is visually hidden. It used to carry all aria attributes and acts as the controller of the menu.\n * The wcs-button could not handle the aria-controls and aria-activedescendant attributes because of the IDREF\n * not passing from a shadow-dom through another.\n * @private\n */\n private nativeButton!: HTMLButtonElement;\n\n /**\n * This button is shown on the user interface, and visually receives focus and catch click events. \n * It is hidden to screen readers since the native button carries all the aria informations.\n * @private\n */\n private wcsButton!: HTMLWcsButtonElement;\n\n /**\n * This div is shown on the user interface when the dropdown is expanded.\n * @private\n */\n private popoverDiv!: HTMLDivElement;\n\n /** Hides the arrow in the button */\n @Prop({ reflect: true }) noArrow: boolean = false;\n\n /** Dropdown's button mode */\n @Prop() mode: WcsButtonMode = 'stroked';\n\n /** Dropdown's button shape */\n @Prop() shape: WcsButtonShape = 'normal';\n \n /** Dropdown's button size */\n @Prop() size: WcsButtonSize = 'm';\n\n /** Specifies whether the dropdown button is clickable or not */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** placement of the dropdown's popover */\n @Prop() placement: WcsDropdownPlacement = 'bottom-end';\n\n @State() private expanded: boolean = false;\n\n\n private popper: Instance;\n \n private lastFocusedItemElement: HTMLWcsDropdownItemElement | null;\n \n private get items(): HTMLWcsDropdownItemElement[] {\n return Array.from(this.el.querySelectorAll('wcs-dropdown-item'));\n }\n\n @Watch('placement')\n protected placementChange() {\n this.popper.setOptions({\n ...this.popper.state.options,\n placement: this.placement\n }).then(_ => this.popper.update());\n }\n \n @Listen('blur')\n onBlur() {\n this.clearLastFocusedItem();\n this.expanded = false;\n }\n\n componentDidLoad() {\n this.popper = createPopper(this.wcsButton, this.popoverDiv, {\n placement: this.placement,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8]\n }\n }\n ]\n });\n\n this.fixForFirefoxBelow63();\n }\n\n private fixForFirefoxBelow63() {\n // If the items appear out of the slot we place them back\n const items = this.el.querySelectorAll('wcs-dropdown-item');\n const container = this.el.querySelector('.container');\n if (items.length > 0 && container) {\n items.forEach(i => {\n this.el.removeChild(i);\n container.appendChild(i);\n });\n }\n }\n\n private onButtonClick(_: MouseEvent): void {\n this.clearLastFocusedItem();\n this.expanded = !this.expanded;\n \n if (this.expanded) {\n this.focusItem(0);\n }\n }\n\n @Listen('click', {target: 'window'})\n onWindowClickEvent(event: MouseEvent) {\n const clickedOnDropdownOrChildren = clickTargetIsElementOrChildren(event, this.el);\n if (this.expanded && !clickedOnDropdownOrChildren) {\n this.expanded = false;\n }\n }\n\n @Listen('wcsDropdownItemClick')\n dropdownItemClick(_: CustomEvent<void>) {\n this.expanded = false;\n this.nativeButton.focus();\n }\n\n @Listen('keydown')\n onKeyDown(_event: KeyboardEvent): void {\n const currentState = this.expanded ? 'opened' : 'closed';\n const actionsFromKeyboardEvents: KeyboardEventAssociatedAction[] = getActionForKeyboardEvent(_event, currentState);\n\n // If we have at least one associated actions, we prevent the default behavior of the event. \n // Except if the action is a focus move (we have to handle the preventDefault behavior ourselves in the action implementation)\n if (actionsFromKeyboardEvents.length != 0) {\n _event.preventDefault();\n }\n\n for (const actionFromKeyboardEvent of actionsFromKeyboardEvents) {\n this.doActionFromKeyboardEventAssociatedAction(actionFromKeyboardEvent);\n }\n }\n \n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.nativeButton, attr, value);\n }\n\n doActionFromKeyboardEventAssociatedAction(actionFromKeyboardEvent: KeyboardEventAssociatedAction) {\n switch (actionFromKeyboardEvent.kind) {\n case 'OpenMenu':\n this.expanded = true;\n this.focusItem(0);\n break;\n case 'CloseMenu':\n this.expanded = false;\n this.nativeButton.focus();\n break;\n case 'ClearFocus':\n this.clearLastFocusedItem();\n break;\n case 'FocusItem':\n switch (actionFromKeyboardEvent.target) {\n case 'previous':\n this.focusClosestItem('previous');\n break;\n case 'next':\n this.focusClosestItem('next');\n break;\n case 'first':\n this.focusItem(0);\n break;\n case 'last':\n this.focusItem(this.items.length - 1);\n break;\n default:\n break;\n }\n break;\n default:\n break;\n }\n }\n\n /**\n * Removes the focus and tabindex 0 of the last focused item if any.\n * @private\n */\n private clearLastFocusedItem() {\n if (this.lastFocusedItemElement) {\n this.lastFocusedItemElement.tabIndex = -1;\n this.lastFocusedItemElement = null;\n }\n }\n \n private focusItem(indexToFocus: number) {\n this.clearLastFocusedItem();\n this.lastFocusedItemElement = this.items[indexToFocus];\n if (this.lastFocusedItemElement) {\n this.lastFocusedItemElement.tabIndex = 0;\n requestAnimationFrame(() => {\n this.lastFocusedItemElement?.focus();\n });\n }\n }\n \n private focusClosestItem(direction: 'next' | 'previous'): void {\n const indexToFocus = this.getClosestActiveItemIndexForDirection(direction);\n if (indexToFocus === -1) return;\n \n this.focusItem(indexToFocus);\n }\n \n private getClosestActiveItemIndexForDirection(direction: 'next' | 'previous'): number {\n const items = this.items;\n let currentIndex = Array.from(items).indexOf(this.lastFocusedItemElement);\n\n const MIN_INDEX = 0;\n const MAX_INDEX = items.length - 1;\n\n if (direction === 'next' && currentIndex < MAX_INDEX) {\n currentIndex++;\n } else if (direction === 'previous' && currentIndex > MIN_INDEX) {\n currentIndex--;\n } else {\n // Used to scroll through items infinitely with keyboard\n if (direction === 'next' && currentIndex >= MAX_INDEX) {\n currentIndex = 0;\n }\n if (direction === 'previous' && currentIndex === MIN_INDEX) {\n currentIndex = MAX_INDEX;\n }\n }\n \n return currentIndex;\n }\n\n componentDidRender() {\n if (this.popper) {\n this.popper.update();\n }\n }\n\n componentWillLoad(): Promise<void> | void {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, DROPDOWN_INHERITED_ATTRS),\n };\n }\n \n render() {\n return (\n <Host>\n <button id=\"dropdown-button\"\n aria-controls=\"menu\"\n disabled={this.disabled}\n aria-haspopup=\"true\"\n role=\"button\"\n aria-expanded={this.expanded ? 'true' : 'false'}\n ref={el => this.nativeButton = el}\n onClick={($event) => this.onButtonClick($event)}\n onBlur={($event) => $event.stopImmediatePropagation()}\n {...this.inheritedAttributes}>Dropdown</button>\n <wcs-button mode={this.mode} shape={this.shape} disabled={this.disabled} size={this.size}\n ref={el => this.wcsButton = el}\n aria-hidden=\"true\"\n tabindex={-1}\n onClick={($event) => this.onButtonClick($event)}\n onBlur={(e) => e.stopImmediatePropagation()}>\n <div class=\"wcs-button-content-wrapper\">\n <slot name=\"placeholder\"/>\n {this.noArrow ? null : (<SelectArrow up={this.expanded}/>)}\n </div>\n </wcs-button>\n <div class={(this.expanded ? 'show ' : '') + 'popover'}\n id=\"menu\"\n role=\"menu\"\n aria-labelledby=\"dropdown-button\"\n tabindex={-1}\n ref={el => this.popoverDiv = el}>\n <div role=\"presentation\" id=\"arrow\" data-popper-arrow/>\n <div role=\"presentation\" class=\"container\">\n <slot name=\"item\">\n <span id={\"is-empty\"}></span>\n </slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-d9de61ce.js';
2
- import { b as isEscapeKey, o as isMouseEvent, q as clickInsideElement, d as isEnterKey } from './helpers-89faa1b1.js';
2
+ import { b as isEscapeKey, o as isMouseEvent, q as clickInsideElement, d as isEnterKey } from './helpers-2d73ee7c.js';
3
3
 
4
4
  const WcsEditableFieldSizeValues = ['m', 'l']; // as const keyword is used to infer and preserve the exact literal values of an array or object.
5
5
  function isWcsEditableFieldSize(size) {
@@ -281,7 +281,7 @@ const EditableField = class {
281
281
  }
282
282
  render() {
283
283
  const { formattedValue, formattedValueText, formattedCurrentValue } = this.formatValues();
284
- return (h(Host, { key: 'a1b692fad52bdb6a7309b70a04edfb68cf77f6d3' }, h("div", { key: 'dfc55ad386b993f0187040fa2d3cdcdc5c67dbd8', class: "label" }, this.label), h("button", { key: 'ec38bec07dd21b44c1e699b967d0d7aee9d51a1f', type: "button", class: 'display-container ' + (this.currentState !== EditableComponentState.DISPLAY ? 'display-none' : ''), onClick: () => this.onDisplayContainerClick(), ref: (el) => this.editModeBtn = el, "aria-label": `${EDIT_ARIA_LABEL} ${this.label} ${formattedValueText}` }, formattedValue, h("wcs-mat-icon", { key: 'cc38a3416a563d4985311f73b7774496697f6685', icon: "edit", size: "s" }), this.readonly ? this.getReadonlySvgIcon() : null), h("div", { key: '0872aecf23dab9d4fdfee58b9ee13b51e682d48e', class: 'load-container ' + (this.currentState !== EditableComponentState.LOAD ? 'display-none' : '') }, formattedCurrentValue, h("wcs-spinner", { key: '89e19662f6c7429e18fb9e41e3c35450b0675b1d' })), h("wcs-form-field", { key: '8e90e1c7f78fc418ecb6299b19b5c93dad0d9d7a', "is-error": this.isError, class: 'edit-container ' + (this.currentState !== EditableComponentState.EDIT ? 'display-none' : '') }, h("wcs-label", { key: '5919933cb037bd7e5c5fa87af68525d47006b6e3', class: "visually-hidden" }, this.label), h("slot", { key: '971ecbfe68bcd475d87fe3bcbf570b81a7be039e' }), this.isError && this.errorMsg
284
+ return (h(Host, { key: '3980dc18ccf2a4ea568569dd6f072ea19d2e2ce3' }, h("div", { key: '6d853b2bfdee062fd8e8a3e0aa9f19e17def5206', class: "label" }, this.label), h("button", { key: '9e8211967d9e48ea201ee25cbd6d5df17f77a9bb', type: "button", class: 'display-container ' + (this.currentState !== EditableComponentState.DISPLAY ? 'display-none' : ''), onClick: () => this.onDisplayContainerClick(), ref: (el) => this.editModeBtn = el, "aria-label": `${EDIT_ARIA_LABEL} ${this.label} ${formattedValueText}` }, formattedValue, h("wcs-mat-icon", { key: '774fd99f237ad6c63fc8895f3d6cdfb99314adec', icon: "edit", size: "s" }), this.readonly ? this.getReadonlySvgIcon() : null), h("div", { key: 'ab98ad8b0909933b680353b46c1407b0f82af28a', class: 'load-container ' + (this.currentState !== EditableComponentState.LOAD ? 'display-none' : '') }, formattedCurrentValue, h("wcs-spinner", { key: '2ae47012c5d251b7a756a1fb13c30ad5f36ee103' })), h("wcs-form-field", { key: '0858fc4d06e5c0f1c6dfb23d904fb36ea348d9b8', "is-error": this.isError, class: 'edit-container ' + (this.currentState !== EditableComponentState.EDIT ? 'display-none' : '') }, h("wcs-label", { key: '5f901a2af267d42b20aa67b80245f63c0124fdd2', class: "visually-hidden" }, this.label), h("slot", { key: 'd7948c3e0187f6d92727167eb1737d7b6973072d' }), this.isError && this.errorMsg
285
285
  ? h("wcs-error", null, this.errorMsg)
286
286
  : null)));
287
287
  }
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-d9de61ce.js';
2
2
  import { i as isMutableAriaAttribute } from './mutable-aria-attribute-e225edc1.js';
3
- import { y as normalizeWhitespace, i as inheritAriaAttributes, a as inheritAttributes, s as setOrRemoveAttribute } from './helpers-89faa1b1.js';
3
+ import { y as normalizeWhitespace, i as inheritAriaAttributes, a as inheritAttributes, s as setOrRemoveAttribute } from './helpers-2d73ee7c.js';
4
4
  import { i as isControlComponentWithLabel } from './control-component-interface-9f09e520.js';
5
5
 
6
6
  const errorCss = ":host{--wcs-error-color:var(--wcs-semantic-color-text-critical);--wcs-error-font-size:var(--wcs-semantic-font-size-caption-2);--wcs-error-font-weight:var(--wcs-semantic-font-weight-book);color:var(--wcs-error-color);font-size:var(--wcs-error-font-size);font-weight:var(--wcs-error-font-weight)}";
@@ -11,7 +11,7 @@ const Label$1 = class {
11
11
  registerInstance(this, hostRef);
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: '7dffcb3487f7210c5c9a45af709fc942a1410679', role: "alert", slot: "error" }, h("slot", { key: '251fbdc26fe58be4296328c4ebaed77329c6c507' })));
14
+ return (h(Host, { key: '89cbcbdb9057296fb11e99bd6f92b7b92bdad988', role: "alert", slot: "error" }, h("slot", { key: '81f37240e47e345a01901772bd095ee19d793963' })));
15
15
  }
16
16
  };
17
17
  Label$1.style = WcsErrorStyle0;
@@ -160,7 +160,7 @@ const FormField = class {
160
160
  if (this.hasPrefix) {
161
161
  classes += ' has-prefix';
162
162
  }
163
- 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" })));
163
+ 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" })));
164
164
  }
165
165
  onFormInputSlotChange() {
166
166
  this.initSpiedElement();
@@ -192,7 +192,7 @@ const Label = class {
192
192
  setOrRemoveAttribute(this.nativeLabel, attr, value);
193
193
  }
194
194
  render() {
195
- return (h(Host, { key: 'bd18c1a58190a8a8ada92b47f3b77e58c89c3169', slot: "label" }, h("label", Object.assign({ key: '7fc3b63d96cf88eb8b31abd2b0055feebe02f696', ref: (el) => this.nativeLabel = el }, this.inheritedAttributes), h("slot", { key: 'b997f691e437b758f3ebe0f0899605430b10388a' }), this.required && h("span", { key: '529194ed383d724c570a9bca56ee23dc9b9f0fce', "aria-hidden": "true", class: "required-marker" }, "*"))));
195
+ return (h(Host, { key: 'd5fff8ed9237d97dee4683e4994084bec2f72503', slot: "label" }, h("label", Object.assign({ key: '418f9021685cb0f942f6e44557ad237be1a3019e', ref: (el) => this.nativeLabel = el }, this.inheritedAttributes), h("slot", { key: '9cde60902ca12c8b0301f247c22bbd8581f988a3' }), this.required && h("span", { key: 'b12767c7901b18e24fcf422ba0ed1ef43df21641', "aria-hidden": "true", class: "required-marker" }, "*"))));
196
196
  }
197
197
  get el() { return getElement(this); }
198
198
  };
@@ -5,7 +5,7 @@ const FieldContent = class {
5
5
  registerInstance(this, hostRef);
6
6
  }
7
7
  render() {
8
- return (h(Host, { key: '251b9ccc1b13766b287f356dfc51d6a953ad0a5e', slot: "content" }, h("slot", { key: 'ee7d55bf47c0f468829e99a26a0fe340fbafcc9f' })));
8
+ return (h(Host, { key: 'd9e607042807d1eac96334e573b689fd556efb57', slot: "content" }, h("slot", { key: 'bfc5e88fcdaa0a74a530310c916e8e9d0686ade3' })));
9
9
  }
10
10
  };
11
11
 
@@ -5,7 +5,7 @@ const FieldLabel = class {
5
5
  registerInstance(this, hostRef);
6
6
  }
7
7
  render() {
8
- return (h(Host, { key: 'a051b09993d67bf56b087d86ba433caf1bdbb7a6', slot: "label" }, h("slot", { key: '6044b728151fd48878f555d3db3e0754f31b7e51' })));
8
+ return (h(Host, { key: '8ec997eb8d3c959d536e915e41b6feee0abae9b5', slot: "label" }, h("slot", { key: '6388cadd5e9f3b793accd62806897550d38e2473' })));
9
9
  }
10
10
  };
11
11
 
@@ -8,7 +8,7 @@ const Field = class {
8
8
  registerInstance(this, hostRef);
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: 'ae0a6c7224dc199cd6cd342d77878bfff17aa49b' }, h("slot", { key: '408c146f3e6bfa1868964a29934494215627fb59', name: "label" }), h("slot", { key: '9c2151491f6acc4a5a6da36676e21e8dee6f156a', name: "content" })));
11
+ return (h(Host, { key: '2f1a99e80af297bdad4ffc522c124ef998433036' }, h("slot", { key: '02ed1e93a6fa2394bb76699ebae4b85d1f693941', name: "label" }), h("slot", { key: 'de5f51186a195b070839751260a2b15aee14d75c', name: "content" })));
12
12
  }
13
13
  };
14
14
  Field.style = WcsFieldStyle0;
@@ -8,7 +8,7 @@ const Footer = class {
8
8
  registerInstance(this, hostRef);
9
9
  }
10
10
  render() {
11
- 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" })))))));
11
+ 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" })))))));
12
12
  }
13
13
  };
14
14
  Footer.style = WcsFooterStyle0;
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-d9de61ce.js';
2
- import { i as inheritAriaAttributes, a as inheritAttributes, s as setOrRemoveAttribute, q as clickInsideElement, b as isEscapeKey } from './helpers-89faa1b1.js';
2
+ import { i as inheritAriaAttributes, a as inheritAttributes, s as setOrRemoveAttribute, q as clickInsideElement, b as isEscapeKey } from './helpers-2d73ee7c.js';
3
3
  import { c as createPopper } from './popper-ac238961.js';
4
4
 
5
5
  const galacticMenuCss = ":host{--wcs-galactic-menu-background-color:var(--wcs-semantic-color-background-surface-brand);--wcs-galactic-menu-padding-horizontal:var(--wcs-semantic-spacing-large);--wcs-galactic-menu-gap:var(--wcs-semantic-spacing-large);--wcs-galactic-menu-height:var(--wcs-semantic-size-s);--wcs-galactic-menu-icon-focus-outline-color:var(--wcs-galactic-text-color, white);--wcs-galactic-menu-overlay-color:var(--wcs-semantic-color-text-inverse);--wcs-galactic-menu-overlay-background-color:var(--wcs-semantic-color-background-surface-inverse);--wcs-galactic-menu-overlay-padding:var(--wcs-semantic-spacing-large);display:flex;align-items:center;box-sizing:border-box;height:var(--wcs-galactic-menu-height);gap:var(--wcs-galactic-menu-gap);padding:0 var(--wcs-galactic-menu-padding-horizontal);background-color:var(--wcs-galactic-menu-background-color)}#menu{display:none;background-color:var(--wcs-galactic-menu-overlay-background-color);color:var(--wcs-galactic-menu-overlay-color);padding:var(--wcs-galactic-menu-overlay-padding);--wcs-semantic-color-border-focus-base:var(--wcs-semantic-color-text-inverse, white)}#menu[data-show]{display:block;z-index:9999}#menu[data-popper-placement^=top]>#arrow{bottom:-4px}#menu[data-popper-placement^=bottom]>#arrow{top:-4px}#menu[data-popper-placement^=left]>#arrow{right:-4px}#menu[data-popper-placement^=right]>#arrow{left:-4px}#arrow,#arrow::before{position:absolute;width:8px;height:8px;background:inherit}#arrow{visibility:hidden}#arrow::before{visibility:visible;content:\"\";transform:rotate(45deg)}button{background:transparent;border:none;color:inherit;cursor:pointer;user-select:none}button:focus-visible{outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-galactic-menu-icon-focus-outline-color);outline-offset:0;border-radius:0.1rem}";
@@ -61,9 +61,9 @@ const Galactic = class {
61
61
  }
62
62
  }
63
63
  render() {
64
- 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 => {
64
+ 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 => {
65
65
  this.menuButton = el;
66
- }, "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' }))));
66
+ }, "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' }))));
67
67
  }
68
68
  get el() { return getElement(this); }
69
69
  };
@@ -10,7 +10,7 @@ const Galactic = class {
10
10
  this.show = false;
11
11
  }
12
12
  render() {
13
- 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' })))));
13
+ 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' })))));
14
14
  }
15
15
  };
16
16
  const SNCF_BASE64_SVG_LOGO = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVy' +
@@ -1,5 +1,5 @@
1
1
  import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-d9de61ce.js';
2
- import { i as inheritAriaAttributes, a as inheritAttributes, s as setOrRemoveAttribute, c as isSpaceKey, d as isEnterKey } from './helpers-89faa1b1.js';
2
+ import { i as inheritAriaAttributes, a as inheritAttributes, s as setOrRemoveAttribute, c as isSpaceKey, d as isEnterKey } from './helpers-2d73ee7c.js';
3
3
 
4
4
  const GridSortArrow = ({ state }) => (h("svg", { "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" },
5
5
  h("g", { class: (state === 'none' ? '' : state) + ' arrow-group' },
@@ -77,7 +77,7 @@ const GridColumn = class {
77
77
  }
78
78
  render() {
79
79
  const ButtonOrDiv = this.getTagName();
80
- return (h(Host, { key: 'dae8ba0823c68e3029faa505a061b80ae911f84a', slot: "grid-column" }, h("th", Object.assign({ key: '02d892d695ee9faa1f91be08c67c200aa770d489', style: { width: this.width }, class: this.sort ? 'pointer' : '', tabIndex: this.sort ? -1 : this.getTabIndex(), scope: "col", onClick: this.onSortClick.bind(this), onKeyDown: this.handleSortKeyDown.bind(this), onFocus: this.delegateFocusToButton.bind(this), "aria-sort": this.sort ? this.getSortOrderForAriaSort(this.sortOrder) : null, ref: (el) => (this.nativeTh = el) }, this.inheritedAttributes), h(ButtonOrDiv, { key: '2da3c848ac260aa272e78e52f282ff0078ecc1e1', class: "grid-column-th-content", ref: (el) => this.buttonOrDiv = el, tabIndex: this.sort ? this.getTabIndex() : -1 }, h("span", { key: '063de5c95a3fb63444cf5e10e291252bc3474fad' }, this.name), this.sort ? h("div", { class: "sort-arrow-container" }, h(GridSortArrow, { state: this.sortOrder })) : ''))));
80
+ return (h(Host, { key: '118b343bd6403270ae60ec7859ba56bea98c6aa1', slot: "grid-column" }, h("th", Object.assign({ key: '61815f030b8b3b5ceff187bf264a86d03fa8a3bd', style: { width: this.width }, class: this.sort ? 'pointer' : '', tabIndex: this.sort ? -1 : this.getTabIndex(), scope: "col", onClick: this.onSortClick.bind(this), onKeyDown: this.handleSortKeyDown.bind(this), onFocus: this.delegateFocusToButton.bind(this), "aria-sort": this.sort ? this.getSortOrderForAriaSort(this.sortOrder) : null, ref: (el) => (this.nativeTh = el) }, this.inheritedAttributes), h(ButtonOrDiv, { key: '5894a5ca7af78e40b6307a290707090f974ef652', class: "grid-column-th-content", ref: (el) => this.buttonOrDiv = el, tabIndex: this.sort ? this.getTabIndex() : -1 }, h("span", { key: '4bd49d08cea2f0892ae0e28f20cf2fc982345f9e' }, this.name), this.sort ? h("div", { class: "sort-arrow-container" }, h(GridSortArrow, { state: this.sortOrder })) : ''))));
81
81
  }
82
82
  onSortClick() {
83
83
  if (!this.sort)
@@ -7,7 +7,7 @@ const GridCustomCell = class {
7
7
  this.rowId = undefined;
8
8
  }
9
9
  render() {
10
- return (h(Host, { key: 'dd57a3792ccd2dbf7bb23f5055eb3136a06a9acb', slot: this.columnId + '-' + this.rowId }, h("slot", { key: '5fa475118d263c77b9ccbc1bb7e0c808b1578e87' })));
10
+ return (h(Host, { key: 'aac258f291f690ca8e124414d265f5fec7fc6a56', slot: this.columnId + '-' + this.rowId }, h("slot", { key: '7371fc04b30f46ada2ae94c8b4c64d6e0aa07789' })));
11
11
  }
12
12
  };
13
13
 
@@ -1,5 +1,5 @@
1
- export { G as wcs_grid_pagination } from './grid-pagination-23102986.js';
1
+ export { G as wcs_grid_pagination } from './grid-pagination-c29173f6.js';
2
2
  import './index-d9de61ce.js';
3
- import './helpers-89faa1b1.js';
3
+ import './helpers-2d73ee7c.js';
4
4
 
5
5
  //# sourceMappingURL=wcs-grid-pagination.entry.js.map
@@ -1,7 +1,7 @@
1
1
  import { h, r as registerInstance, c as createEvent, f as forceUpdate, H as Host, g as getElement } from './index-d9de61ce.js';
2
- import { G as GridPagination } from './grid-pagination-23102986.js';
3
- import { k as keyboardShortcutFromKeyboardEvent } from './keyboard-event-dd35bb6b.js';
4
- import { i as inheritAriaAttributes, a as inheritAttributes, s as setOrRemoveAttribute } from './helpers-89faa1b1.js';
2
+ import { G as GridPagination } from './grid-pagination-c29173f6.js';
3
+ import { k as keyboardShortcutFromKeyboardEvent } from './keyboard-event-3a0579d5.js';
4
+ import { i as inheritAriaAttributes, a as inheritAttributes, s as setOrRemoveAttribute } from './helpers-2d73ee7c.js';
5
5
  import { i as isObjectLike, b as baseGetTag, a as isArray, S as Symbol, c as isObject, g as getNative, e as eq, d as isPrototype, f as isArrayLike, h as arrayLikeKeys, M as MapCache, o as overArg, k as keys, r as root, j as getSymbols, s as stubArray, l as arrayPush, m as baseGetAllKeys, U as Uint8Array$1, n as getTag, p as baseUnary, q as nodeUtil, t as isBuffer, u as Stack, v as getAllKeys, w as isEqual } from './isEqual-89e74e17.js';
6
6
 
7
7
  function getSortOrderInteger(sortOrder) {
@@ -1589,7 +1589,14 @@ const Grid = class {
1589
1589
  * Update the page's number of all rows
1590
1590
  */
1591
1591
  updatePageIndex() {
1592
+ var _a;
1592
1593
  if (!this.serverMode && this.paginationEl) {
1594
+ if (!this.data || ((_a = this.data) === null || _a === void 0 ? void 0 : _a.length) === 0) {
1595
+ this.paginationEl.itemsCount = 0;
1596
+ this.paginationEl.pageCount = 0;
1597
+ this.paginationEl.currentPage = -1;
1598
+ return;
1599
+ }
1593
1600
  this.paginationEl.itemsCount = this.data.length;
1594
1601
  this.paginationEl.pageCount = Math.ceil(this.data.length / this.paginationEl.pageSize);
1595
1602
  if (this.paginationEl.pageCount <= 1) {
@@ -1702,12 +1709,12 @@ const Grid = class {
1702
1709
  }
1703
1710
  render() {
1704
1711
  var _a, _b, _c, _d;
1705
- return (h(Host, { key: 'b19822a50c13e2c45df1457d9e7a5100b2ba62ef' }, h("table", Object.assign({ key: '26b9e13d87544a151d6b31e6019f44f980541153', 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: '1e5a328e858cbf3a6ad29e2db070c4c44c67bfe5' }, h("tr", { key: '121c5b20769d31b4366b3c563fd3fce695f6ef83', "aria-rowindex": "1" }, this.selectionConfig === 'none' ? ''
1712
+ 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' ? ''
1706
1713
  : h("th", { class: "wcs-grid-selection-column" }, this.selectionConfig === 'single' ? '' :
1707
1714
  h("wcs-checkbox", { tabIndex: ((_b = this.cursorPosition) === null || _b === void 0 ? void 0 : _b.col) === 0
1708
- && ((_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: '20977331e2ea13fae89d239155d9800764dd2695', name: "grid-column" }))), h("tbody", { key: '6587df7ab7251139904249def1a347f3e6718f70' }, this.loading
1715
+ && ((_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
1709
1716
  ? h("tr", { "aria-busy": "true" }, h("td", { colSpan: this.totalColumnCount(), class: "loading" }, h("wcs-spinner", null)))
1710
- : (_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: '134dcd235b562cd2734889cfd6eb43e4eda012ad', name: "grid-pagination" })));
1717
+ : (_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" })));
1711
1718
  }
1712
1719
  /**
1713
1720
  * Returns the row with all mapped cells inside.