wcs-core 4.2.0 → 5.0.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 (541) hide show
  1. package/dist/cjs/{accessibility-e99b032d.js → accessibility-c0c4e648.js} +8 -2
  2. package/dist/cjs/accessibility-c0c4e648.js.map +1 -0
  3. package/dist/cjs/button-interface-044a8a8a.js +12 -0
  4. package/dist/cjs/button-interface-044a8a8a.js.map +1 -0
  5. package/dist/cjs/grid-pagination-3511fdfa.js +111 -0
  6. package/dist/cjs/grid-pagination-3511fdfa.js.map +1 -0
  7. package/dist/cjs/{helpers-4a14051a.js → helpers-6280db6e.js} +75 -2
  8. package/dist/cjs/helpers-6280db6e.js.map +1 -0
  9. package/dist/cjs/{index-ca67a6dc.js → index-749d999e.js} +4 -1
  10. package/dist/cjs/index-749d999e.js.map +1 -0
  11. package/dist/cjs/{isEqual-9ea7ee49.js → keyboard-event-1cad4036.js} +77 -1
  12. package/dist/cjs/keyboard-event-1cad4036.js.map +1 -0
  13. package/dist/cjs/loader.cjs.js +2 -2
  14. package/dist/cjs/{select-arrow-c9583ea9.js → select-arrow-8169c0cb.js} +2 -2
  15. package/dist/cjs/{select-arrow-c9583ea9.js.map → select-arrow-8169c0cb.js.map} +1 -1
  16. package/dist/cjs/wcs-accordion-content.cjs.entry.js +1 -1
  17. package/dist/cjs/wcs-accordion-header.cjs.entry.js +1 -1
  18. package/dist/cjs/wcs-accordion-panel.cjs.entry.js +2 -2
  19. package/dist/cjs/wcs-accordion.cjs.entry.js +1 -1
  20. package/dist/cjs/wcs-action-bar.cjs.entry.js +1 -1
  21. package/dist/cjs/wcs-app.cjs.entry.js +1 -1
  22. package/dist/cjs/wcs-badge.cjs.entry.js +3 -2
  23. package/dist/cjs/wcs-badge.cjs.entry.js.map +1 -1
  24. package/dist/cjs/{wcs-button.cjs.entry.js → wcs-button_2.cjs.entry.js} +21 -12
  25. package/dist/cjs/wcs-button_2.cjs.entry.js.map +1 -0
  26. package/dist/cjs/wcs-card-body.cjs.entry.js +1 -1
  27. package/dist/cjs/wcs-card.cjs.entry.js +1 -1
  28. package/dist/cjs/wcs-checkbox.cjs.entry.js +5 -2
  29. package/dist/cjs/wcs-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/wcs-com-nav-category.cjs.entry.js +2 -2
  31. package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js +2 -2
  32. package/dist/cjs/wcs-com-nav.cjs.entry.js +2 -2
  33. package/dist/cjs/wcs-counter.cjs.entry.js +16 -6
  34. package/dist/cjs/wcs-counter.cjs.entry.js.map +1 -1
  35. package/dist/cjs/wcs-divider.cjs.entry.js +1 -1
  36. package/dist/cjs/wcs-dropdown-divider.cjs.entry.js +1 -1
  37. package/dist/cjs/wcs-dropdown-divider.cjs.entry.js.map +1 -1
  38. package/dist/cjs/wcs-dropdown-header.cjs.entry.js +1 -1
  39. package/dist/cjs/wcs-dropdown-header.cjs.entry.js.map +1 -1
  40. package/dist/cjs/wcs-dropdown-item.cjs.entry.js +2 -2
  41. package/dist/cjs/wcs-dropdown-item.cjs.entry.js.map +1 -1
  42. package/dist/cjs/wcs-dropdown.cjs.entry.js +12 -6
  43. package/dist/cjs/wcs-dropdown.cjs.entry.js.map +1 -1
  44. package/dist/cjs/wcs-editable-field.cjs.entry.js +18 -3
  45. package/dist/cjs/wcs-editable-field.cjs.entry.js.map +1 -1
  46. package/dist/cjs/wcs-error_2.cjs.entry.js +36 -2
  47. package/dist/cjs/wcs-error_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/wcs-field-content.cjs.entry.js +1 -1
  49. package/dist/cjs/wcs-field-label.cjs.entry.js +1 -1
  50. package/dist/cjs/wcs-field.cjs.entry.js +1 -1
  51. package/dist/cjs/wcs-footer.cjs.entry.js +1 -1
  52. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +2 -2
  53. package/dist/cjs/wcs-galactic.cjs.entry.js +1 -1
  54. package/dist/cjs/wcs-grid-column.cjs.entry.js +25 -4
  55. package/dist/cjs/wcs-grid-column.cjs.entry.js.map +1 -1
  56. package/dist/cjs/wcs-grid-custom-cell.cjs.entry.js +1 -1
  57. package/dist/cjs/wcs-grid-pagination.cjs.entry.js +2 -2
  58. package/dist/cjs/wcs-grid.cjs.entry.js +320 -65
  59. package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
  60. package/dist/cjs/wcs-header.cjs.entry.js +1 -1
  61. package/dist/cjs/wcs-hint.cjs.entry.js +1 -1
  62. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +1 -1
  63. package/dist/cjs/wcs-icon.cjs.entry.js +1 -1
  64. package/dist/cjs/wcs-input.cjs.entry.js +15 -15
  65. package/dist/cjs/wcs-input.cjs.entry.js.map +1 -1
  66. package/dist/cjs/wcs-label.cjs.entry.js +1 -1
  67. package/dist/cjs/wcs-label.cjs.entry.js.map +1 -1
  68. package/dist/cjs/wcs-list-item-properties.cjs.entry.js +1 -1
  69. package/dist/cjs/wcs-list-item-property.cjs.entry.js +1 -1
  70. package/dist/cjs/wcs-list-item.cjs.entry.js +1 -1
  71. package/dist/cjs/wcs-mat-icon.cjs.entry.js +2 -2
  72. package/dist/cjs/wcs-mat-icon.cjs.entry.js.map +1 -1
  73. package/dist/cjs/wcs-modal.cjs.entry.js +35 -5
  74. package/dist/cjs/wcs-modal.cjs.entry.js.map +1 -1
  75. package/dist/cjs/wcs-native-select.cjs.entry.js +6 -3
  76. package/dist/cjs/wcs-native-select.cjs.entry.js.map +1 -1
  77. package/dist/cjs/wcs-nav-item.cjs.entry.js +2 -2
  78. package/dist/cjs/wcs-nav.cjs.entry.js +1 -1
  79. package/dist/cjs/wcs-progress-bar.cjs.entry.js +4 -6
  80. package/dist/cjs/wcs-progress-bar.cjs.entry.js.map +1 -1
  81. package/dist/cjs/wcs-progress-radial.cjs.entry.js +14 -6
  82. package/dist/cjs/wcs-progress-radial.cjs.entry.js.map +1 -1
  83. package/dist/cjs/wcs-radio-group.cjs.entry.js +22 -15
  84. package/dist/cjs/wcs-radio-group.cjs.entry.js.map +1 -1
  85. package/dist/cjs/wcs-radio.cjs.entry.js +14 -7
  86. package/dist/cjs/wcs-radio.cjs.entry.js.map +1 -1
  87. package/dist/cjs/wcs-select_2.cjs.entry.js +603 -111
  88. package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
  89. package/dist/cjs/wcs-skeleton-circle.cjs.entry.js +1 -1
  90. package/dist/cjs/wcs-skeleton-rectangle.cjs.entry.js +1 -1
  91. package/dist/cjs/wcs-skeleton-text.cjs.entry.js +1 -1
  92. package/dist/cjs/wcs-switch.cjs.entry.js +5 -2
  93. package/dist/cjs/wcs-switch.cjs.entry.js.map +1 -1
  94. package/dist/cjs/wcs-tab.cjs.entry.js +4 -1
  95. package/dist/cjs/wcs-tab.cjs.entry.js.map +1 -1
  96. package/dist/cjs/wcs-tabs.cjs.entry.js +4 -4
  97. package/dist/cjs/wcs-tabs.cjs.entry.js.map +1 -1
  98. package/dist/cjs/wcs-textarea.cjs.entry.js +13 -11
  99. package/dist/cjs/wcs-textarea.cjs.entry.js.map +1 -1
  100. package/dist/cjs/wcs-tooltip.cjs.entry.js +1 -1
  101. package/dist/cjs/wcs.cjs.js +2 -2
  102. package/dist/collection/components/badge/badge-interface.js.map +1 -1
  103. package/dist/collection/components/badge/badge.css +19 -1
  104. package/dist/collection/components/badge/badge.js +24 -0
  105. package/dist/collection/components/badge/badge.js.map +1 -1
  106. package/dist/collection/components/button/button.css +1 -1
  107. package/dist/collection/components/checkbox/checkbox.js +34 -1
  108. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  109. package/dist/collection/components/counter/counter.css +6 -1
  110. package/dist/collection/components/counter/counter.js +61 -3
  111. package/dist/collection/components/counter/counter.js.map +1 -1
  112. package/dist/collection/components/dropdown/dropdown.css +15 -4
  113. package/dist/collection/components/dropdown/dropdown.js +37 -1
  114. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  115. package/dist/collection/components/dropdown-divider/dropdown-divider.js +3 -0
  116. package/dist/collection/components/dropdown-divider/dropdown-divider.js.map +1 -1
  117. package/dist/collection/components/dropdown-header/dropdown-header.js +4 -0
  118. package/dist/collection/components/dropdown-header/dropdown-header.js.map +1 -1
  119. package/dist/collection/components/dropdown-item/dropdown-item.js +5 -1
  120. package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
  121. package/dist/collection/components/editable-field/editable-field.js +17 -2
  122. package/dist/collection/components/editable-field/editable-field.js.map +1 -1
  123. package/dist/collection/components/error/error.js +1 -1
  124. package/dist/collection/components/error/error.js.map +1 -1
  125. package/dist/collection/components/form-field/form-field.js +31 -0
  126. package/dist/collection/components/form-field/form-field.js.map +1 -1
  127. package/dist/collection/components/grid/grid-interface.js.map +1 -1
  128. package/dist/collection/components/grid/grid-keyboard-event.js +52 -0
  129. package/dist/collection/components/grid/grid-keyboard-event.js.map +1 -0
  130. package/dist/collection/components/grid/grid.css +5 -0
  131. package/dist/collection/components/grid/grid.js +265 -29
  132. package/dist/collection/components/grid/grid.js.map +1 -1
  133. package/dist/collection/components/grid-column/grid-column.css +5 -0
  134. package/dist/collection/components/grid-column/grid-column.js +60 -1
  135. package/dist/collection/components/grid-column/grid-column.js.map +1 -1
  136. package/dist/collection/components/grid-column/grid-sort-arrow.js +1 -1
  137. package/dist/collection/components/grid-column/grid-sort-arrow.js.map +1 -1
  138. package/dist/collection/components/grid-pagination/grid-pagination-arrow.js +32 -23
  139. package/dist/collection/components/grid-pagination/grid-pagination-arrow.js.map +1 -1
  140. package/dist/collection/components/grid-pagination/grid-pagination.css +17 -0
  141. package/dist/collection/components/grid-pagination/grid-pagination.js +1 -1
  142. package/dist/collection/components/grid-pagination/grid-pagination.js.map +1 -1
  143. package/dist/collection/components/input/input.js +64 -28
  144. package/dist/collection/components/input/input.js.map +1 -1
  145. package/dist/collection/components/label/label.js.map +1 -1
  146. package/dist/collection/components/mat-icon/mat-icon.js +1 -1
  147. package/dist/collection/components/mat-icon/mat-icon.js.map +1 -1
  148. package/dist/collection/components/modal/modal.css +2 -2
  149. package/dist/collection/components/modal/modal.js +73 -2
  150. package/dist/collection/components/modal/modal.js.map +1 -1
  151. package/dist/collection/components/native-select/native-select.css +6 -5
  152. package/dist/collection/components/native-select/native-select.js +29 -0
  153. package/dist/collection/components/native-select/native-select.js.map +1 -1
  154. package/dist/collection/components/progress-bar/progress-bar.css +12 -11
  155. package/dist/collection/components/progress-bar/progress-bar.js +22 -13
  156. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  157. package/dist/collection/components/progress-radial/progress-radial.css +5 -0
  158. package/dist/collection/components/progress-radial/progress-radial.js +18 -7
  159. package/dist/collection/components/progress-radial/progress-radial.js.map +1 -1
  160. package/dist/collection/components/radio/radio.css +8 -16
  161. package/dist/collection/components/radio/radio.js +12 -5
  162. package/dist/collection/components/radio/radio.js.map +1 -1
  163. package/dist/collection/components/radio-group/radio-group.js +50 -13
  164. package/dist/collection/components/radio-group/radio-group.js.map +1 -1
  165. package/dist/collection/components/select/select-interface.js +10 -0
  166. package/dist/collection/components/select/select-interface.js.map +1 -1
  167. package/dist/collection/components/select/select-keyboard-event.js +306 -0
  168. package/dist/collection/components/select/select-keyboard-event.js.map +1 -0
  169. package/dist/collection/components/select/select.css +59 -6
  170. package/dist/collection/components/select/select.js +435 -111
  171. package/dist/collection/components/select/select.js.map +1 -1
  172. package/dist/collection/components/select-option/select-option.css +15 -0
  173. package/dist/collection/components/select-option/select-option.js +30 -5
  174. package/dist/collection/components/select-option/select-option.js.map +1 -1
  175. package/dist/collection/components/switch/switch.js +34 -1
  176. package/dist/collection/components/switch/switch.js.map +1 -1
  177. package/dist/collection/components/tab/tab.css +7 -0
  178. package/dist/collection/components/tab/tab.js +11 -1
  179. package/dist/collection/components/tab/tab.js.map +1 -1
  180. package/dist/collection/components/tabs/tabs.js +7 -3
  181. package/dist/collection/components/tabs/tabs.js.map +1 -1
  182. package/dist/collection/components/textarea/textarea.css +8 -3
  183. package/dist/collection/components/textarea/textarea.js +41 -12
  184. package/dist/collection/components/textarea/textarea.js.map +1 -1
  185. package/dist/collection/utils/accessibility.js +7 -1
  186. package/dist/collection/utils/accessibility.js.map +1 -1
  187. package/dist/collection/utils/helpers.js +76 -1
  188. package/dist/collection/utils/helpers.js.map +1 -1
  189. package/dist/collection/utils/keyboard-event.js +74 -0
  190. package/dist/collection/utils/keyboard-event.js.map +1 -0
  191. package/dist/collection/utils/mutable-aria-attribute.js +4 -0
  192. package/dist/collection/utils/mutable-aria-attribute.js.map +1 -0
  193. package/dist/esm/{accessibility-ffa12842.js → accessibility-64feea8a.js} +8 -2
  194. package/dist/esm/accessibility-64feea8a.js.map +1 -0
  195. package/dist/esm/button-interface-c21c265f.js +9 -0
  196. package/dist/esm/button-interface-c21c265f.js.map +1 -0
  197. package/dist/esm/grid-pagination-f7b01e2e.js +109 -0
  198. package/dist/esm/grid-pagination-f7b01e2e.js.map +1 -0
  199. package/dist/esm/{helpers-1d55b67f.js → helpers-a21ae7d0.js} +75 -3
  200. package/dist/esm/helpers-a21ae7d0.js.map +1 -0
  201. package/dist/esm/{index-dc4d96d4.js → index-4f282598.js} +4 -1
  202. package/dist/esm/index-4f282598.js.map +1 -0
  203. package/dist/esm/{isEqual-20881bca.js → keyboard-event-ba3d20e7.js} +77 -2
  204. package/dist/esm/keyboard-event-ba3d20e7.js.map +1 -0
  205. package/dist/esm/loader.js +3 -3
  206. package/dist/esm/{select-arrow-81d069f7.js → select-arrow-28e8687b.js} +2 -2
  207. package/dist/esm/{select-arrow-81d069f7.js.map → select-arrow-28e8687b.js.map} +1 -1
  208. package/dist/esm/wcs-accordion-content.entry.js +1 -1
  209. package/dist/esm/wcs-accordion-header.entry.js +1 -1
  210. package/dist/esm/wcs-accordion-panel.entry.js +2 -2
  211. package/dist/esm/wcs-accordion.entry.js +1 -1
  212. package/dist/esm/wcs-action-bar.entry.js +1 -1
  213. package/dist/esm/wcs-app.entry.js +1 -1
  214. package/dist/esm/wcs-badge.entry.js +3 -2
  215. package/dist/esm/wcs-badge.entry.js.map +1 -1
  216. package/dist/esm/{wcs-button.entry.js → wcs-button_2.entry.js} +19 -11
  217. package/dist/esm/wcs-button_2.entry.js.map +1 -0
  218. package/dist/esm/wcs-card-body.entry.js +1 -1
  219. package/dist/esm/wcs-card.entry.js +1 -1
  220. package/dist/esm/wcs-checkbox.entry.js +5 -2
  221. package/dist/esm/wcs-checkbox.entry.js.map +1 -1
  222. package/dist/esm/wcs-com-nav-category.entry.js +2 -2
  223. package/dist/esm/wcs-com-nav-submenu.entry.js +2 -2
  224. package/dist/esm/wcs-com-nav.entry.js +2 -2
  225. package/dist/esm/wcs-counter.entry.js +16 -6
  226. package/dist/esm/wcs-counter.entry.js.map +1 -1
  227. package/dist/esm/wcs-divider.entry.js +1 -1
  228. package/dist/esm/wcs-dropdown-divider.entry.js +1 -1
  229. package/dist/esm/wcs-dropdown-divider.entry.js.map +1 -1
  230. package/dist/esm/wcs-dropdown-header.entry.js +1 -1
  231. package/dist/esm/wcs-dropdown-header.entry.js.map +1 -1
  232. package/dist/esm/wcs-dropdown-item.entry.js +2 -2
  233. package/dist/esm/wcs-dropdown-item.entry.js.map +1 -1
  234. package/dist/esm/wcs-dropdown.entry.js +12 -6
  235. package/dist/esm/wcs-dropdown.entry.js.map +1 -1
  236. package/dist/esm/wcs-editable-field.entry.js +18 -3
  237. package/dist/esm/wcs-editable-field.entry.js.map +1 -1
  238. package/dist/esm/wcs-error_2.entry.js +36 -2
  239. package/dist/esm/wcs-error_2.entry.js.map +1 -1
  240. package/dist/esm/wcs-field-content.entry.js +1 -1
  241. package/dist/esm/wcs-field-label.entry.js +1 -1
  242. package/dist/esm/wcs-field.entry.js +1 -1
  243. package/dist/esm/wcs-footer.entry.js +1 -1
  244. package/dist/esm/wcs-galactic-menu.entry.js +2 -2
  245. package/dist/esm/wcs-galactic.entry.js +1 -1
  246. package/dist/esm/wcs-grid-column.entry.js +25 -4
  247. package/dist/esm/wcs-grid-column.entry.js.map +1 -1
  248. package/dist/esm/wcs-grid-custom-cell.entry.js +1 -1
  249. package/dist/esm/wcs-grid-pagination.entry.js +2 -2
  250. package/dist/esm/wcs-grid.entry.js +282 -27
  251. package/dist/esm/wcs-grid.entry.js.map +1 -1
  252. package/dist/esm/wcs-header.entry.js +1 -1
  253. package/dist/esm/wcs-hint.entry.js +1 -1
  254. package/dist/esm/wcs-horizontal-stepper.entry.js +1 -1
  255. package/dist/esm/wcs-icon.entry.js +1 -1
  256. package/dist/esm/wcs-input.entry.js +15 -15
  257. package/dist/esm/wcs-input.entry.js.map +1 -1
  258. package/dist/esm/wcs-label.entry.js +1 -1
  259. package/dist/esm/wcs-label.entry.js.map +1 -1
  260. package/dist/esm/wcs-list-item-properties.entry.js +1 -1
  261. package/dist/esm/wcs-list-item-property.entry.js +1 -1
  262. package/dist/esm/wcs-list-item.entry.js +1 -1
  263. package/dist/esm/wcs-mat-icon.entry.js +2 -2
  264. package/dist/esm/wcs-mat-icon.entry.js.map +1 -1
  265. package/dist/esm/wcs-modal.entry.js +35 -5
  266. package/dist/esm/wcs-modal.entry.js.map +1 -1
  267. package/dist/esm/wcs-native-select.entry.js +6 -3
  268. package/dist/esm/wcs-native-select.entry.js.map +1 -1
  269. package/dist/esm/wcs-nav-item.entry.js +2 -2
  270. package/dist/esm/wcs-nav.entry.js +1 -1
  271. package/dist/esm/wcs-progress-bar.entry.js +4 -6
  272. package/dist/esm/wcs-progress-bar.entry.js.map +1 -1
  273. package/dist/esm/wcs-progress-radial.entry.js +14 -6
  274. package/dist/esm/wcs-progress-radial.entry.js.map +1 -1
  275. package/dist/esm/wcs-radio-group.entry.js +22 -15
  276. package/dist/esm/wcs-radio-group.entry.js.map +1 -1
  277. package/dist/esm/wcs-radio.entry.js +14 -7
  278. package/dist/esm/wcs-radio.entry.js.map +1 -1
  279. package/dist/esm/wcs-select_2.entry.js +602 -110
  280. package/dist/esm/wcs-select_2.entry.js.map +1 -1
  281. package/dist/esm/wcs-skeleton-circle.entry.js +1 -1
  282. package/dist/esm/wcs-skeleton-rectangle.entry.js +1 -1
  283. package/dist/esm/wcs-skeleton-text.entry.js +1 -1
  284. package/dist/esm/wcs-switch.entry.js +5 -2
  285. package/dist/esm/wcs-switch.entry.js.map +1 -1
  286. package/dist/esm/wcs-tab.entry.js +4 -1
  287. package/dist/esm/wcs-tab.entry.js.map +1 -1
  288. package/dist/esm/wcs-tabs.entry.js +4 -4
  289. package/dist/esm/wcs-tabs.entry.js.map +1 -1
  290. package/dist/esm/wcs-textarea.entry.js +13 -11
  291. package/dist/esm/wcs-textarea.entry.js.map +1 -1
  292. package/dist/esm/wcs-tooltip.entry.js +1 -1
  293. package/dist/esm/wcs.js +3 -3
  294. package/dist/types/components/badge/badge-interface.d.ts +2 -0
  295. package/dist/types/components/badge/badge.d.ts +5 -1
  296. package/dist/types/components/checkbox/checkbox.d.ts +4 -1
  297. package/dist/types/components/counter/counter.d.ts +8 -1
  298. package/dist/types/components/dropdown/dropdown.d.ts +10 -1
  299. package/dist/types/components/dropdown-divider/dropdown-divider.d.ts +3 -0
  300. package/dist/types/components/dropdown-header/dropdown-header.d.ts +4 -0
  301. package/dist/types/components/dropdown-item/dropdown-item.d.ts +7 -0
  302. package/dist/types/components/editable-field/editable-field.d.ts +7 -0
  303. package/dist/types/components/form-field/form-field.d.ts +4 -0
  304. package/dist/types/components/grid/grid-interface.d.ts +14 -2
  305. package/dist/types/components/grid/grid-keyboard-event.d.ts +16 -0
  306. package/dist/types/components/grid/grid.d.ts +59 -4
  307. package/dist/types/components/grid-column/grid-column.d.ts +17 -0
  308. package/dist/types/components/input/input.d.ts +40 -17
  309. package/dist/types/components/modal/modal.d.ts +37 -1
  310. package/dist/types/components/native-select/native-select.d.ts +3 -1
  311. package/dist/types/components/progress-bar/progress-bar.d.ts +8 -3
  312. package/dist/types/components/progress-radial/progress-radial.d.ts +12 -0
  313. package/dist/types/components/radio/radio.d.ts +3 -0
  314. package/dist/types/components/radio-group/radio-group.d.ts +3 -1
  315. package/dist/types/components/select/select-interface.d.ts +12 -0
  316. package/dist/types/components/select/select-keyboard-event.d.ts +38 -0
  317. package/dist/types/components/select/select.d.ts +76 -15
  318. package/dist/types/components/select-option/select-option.d.ts +10 -4
  319. package/dist/types/components/switch/switch.d.ts +4 -1
  320. package/dist/types/components/tab/tab.d.ts +3 -0
  321. package/dist/types/components/tabs/tabs.d.ts +4 -0
  322. package/dist/types/components/textarea/textarea.d.ts +8 -4
  323. package/dist/types/components.d.ts +357 -55
  324. package/dist/types/utils/accessibility.d.ts +4 -0
  325. package/dist/types/utils/helpers.d.ts +12 -1
  326. package/dist/types/utils/keyboard-event.d.ts +13 -0
  327. package/dist/types/utils/mutable-aria-attribute.d.ts +5 -0
  328. package/dist/wcs/{p-7a3f70da.entry.js → p-00f6a79a.entry.js} +2 -2
  329. package/dist/wcs/{p-ee453b6e.entry.js → p-016e4dd9.entry.js} +2 -2
  330. package/dist/wcs/p-0ae177cf.js +2 -0
  331. package/dist/wcs/p-0ae177cf.js.map +1 -0
  332. package/dist/wcs/{p-f06f48f3.entry.js → p-0d02d9e4.entry.js} +2 -2
  333. package/dist/wcs/p-0d02d9e4.entry.js.map +1 -0
  334. package/dist/wcs/{p-30d8f9c3.entry.js → p-11ab4ffc.entry.js} +2 -2
  335. package/dist/wcs/p-13548191.entry.js +2 -0
  336. package/dist/wcs/p-13548191.entry.js.map +1 -0
  337. package/dist/wcs/p-13ffe5f3.entry.js +2 -0
  338. package/dist/wcs/p-13ffe5f3.entry.js.map +1 -0
  339. package/dist/wcs/{p-dfddec76.entry.js → p-17442a2f.entry.js} +2 -2
  340. package/dist/wcs/p-1d49a02e.entry.js +2 -0
  341. package/dist/wcs/p-1d49a02e.entry.js.map +1 -0
  342. package/dist/wcs/{p-d6c3e615.js → p-24611014.js} +2 -2
  343. package/dist/wcs/p-250b3794.entry.js +2 -0
  344. package/dist/wcs/{p-91b3e4b5.entry.js.map → p-250b3794.entry.js.map} +1 -1
  345. package/dist/wcs/{p-292ca644.entry.js → p-2d62b3dd.entry.js} +2 -2
  346. package/dist/wcs/{p-d6b3f742.entry.js → p-33a5594d.entry.js} +2 -2
  347. package/dist/wcs/p-33a570ee.js +2 -0
  348. package/dist/wcs/p-33a570ee.js.map +1 -0
  349. package/dist/wcs/{p-e86c6cbb.entry.js → p-34079054.entry.js} +2 -2
  350. package/dist/wcs/{p-e86c6cbb.entry.js.map → p-34079054.entry.js.map} +1 -1
  351. package/dist/wcs/{p-257b15b9.entry.js → p-36e83879.entry.js} +2 -2
  352. package/dist/wcs/p-44410e32.entry.js +2 -0
  353. package/dist/wcs/p-44410e32.entry.js.map +1 -0
  354. package/dist/wcs/{p-7269272f.entry.js → p-46184d47.entry.js} +2 -2
  355. package/dist/wcs/p-46975b1e.entry.js +2 -0
  356. package/dist/wcs/p-46975b1e.entry.js.map +1 -0
  357. package/dist/wcs/{p-4a9f8e94.entry.js → p-46d56c4e.entry.js} +3 -3
  358. package/dist/wcs/{p-fc3f5b53.entry.js → p-4820154c.entry.js} +2 -2
  359. package/dist/wcs/p-49b0de03.entry.js +2 -0
  360. package/dist/wcs/p-49b0de03.entry.js.map +1 -0
  361. package/dist/wcs/{p-ff9967eb.entry.js → p-4af68f13.entry.js} +2 -2
  362. package/dist/wcs/{p-1f8c73eb.entry.js → p-5f0ab1dc.entry.js} +2 -2
  363. package/dist/wcs/p-5f0ab1dc.entry.js.map +1 -0
  364. package/dist/wcs/p-5f3e6b0c.entry.js +2 -0
  365. package/dist/wcs/p-5f3e6b0c.entry.js.map +1 -0
  366. package/dist/wcs/{p-50dce764.entry.js → p-61b934a7.entry.js} +2 -2
  367. package/dist/wcs/p-64855188.js +2 -0
  368. package/dist/wcs/p-64855188.js.map +1 -0
  369. package/dist/wcs/p-680b107c.entry.js +2 -0
  370. package/dist/wcs/p-68d654da.js +2 -0
  371. package/dist/wcs/p-68d654da.js.map +1 -0
  372. package/dist/wcs/p-69d1223c.js +3 -0
  373. package/dist/wcs/p-69d1223c.js.map +1 -0
  374. package/dist/wcs/p-6f538b67.entry.js +2 -0
  375. package/dist/wcs/p-6f538b67.entry.js.map +1 -0
  376. package/dist/wcs/p-7c145ed0.entry.js +2 -0
  377. package/dist/wcs/p-7c145ed0.entry.js.map +1 -0
  378. package/dist/wcs/p-8724a296.entry.js +2 -0
  379. package/dist/wcs/p-8724a296.entry.js.map +1 -0
  380. package/dist/wcs/{p-d084dd61.entry.js → p-88b1cdfe.entry.js} +2 -2
  381. package/dist/wcs/{p-c7494651.entry.js → p-8ff7e463.entry.js} +2 -2
  382. package/dist/wcs/p-90a7fd68.entry.js +2 -0
  383. package/dist/wcs/p-90a7fd68.entry.js.map +1 -0
  384. package/dist/wcs/{p-cfcacc44.entry.js → p-914aa964.entry.js} +2 -2
  385. package/dist/wcs/p-93fcef08.entry.js +2 -0
  386. package/dist/wcs/p-93fcef08.entry.js.map +1 -0
  387. package/dist/wcs/{p-429bd9fb.entry.js → p-9b1c73b3.entry.js} +2 -2
  388. package/dist/wcs/p-9cc48d75.js +2 -0
  389. package/dist/wcs/p-9cc48d75.js.map +1 -0
  390. package/dist/wcs/p-a3518f66.entry.js +2 -0
  391. package/dist/wcs/p-a361d9f1.entry.js +2 -0
  392. package/dist/wcs/{p-31a8d23f.entry.js → p-a85208ca.entry.js} +2 -2
  393. package/dist/wcs/{p-d3f1cafe.entry.js → p-b91323fc.entry.js} +2 -2
  394. package/dist/wcs/{p-47d8ece5.entry.js → p-bd4029f8.entry.js} +2 -2
  395. package/dist/wcs/{p-e348058b.entry.js → p-bed4e3ce.entry.js} +2 -2
  396. package/dist/wcs/{p-f489793d.entry.js → p-c261353f.entry.js} +2 -2
  397. package/dist/wcs/p-c261353f.entry.js.map +1 -0
  398. package/dist/wcs/p-c3227f01.entry.js +2 -0
  399. package/dist/wcs/p-c3227f01.entry.js.map +1 -0
  400. package/dist/wcs/{p-810aff71.entry.js → p-c38adf4b.entry.js} +2 -2
  401. package/dist/wcs/{p-2185bf8b.entry.js → p-c6a8c6f9.entry.js} +2 -2
  402. package/dist/wcs/p-c9478849.entry.js +2 -0
  403. package/dist/wcs/p-c9478849.entry.js.map +1 -0
  404. package/dist/wcs/p-ce3ef5d0.entry.js +2 -0
  405. package/dist/wcs/p-ce3ef5d0.entry.js.map +1 -0
  406. package/dist/wcs/{p-54e29233.entry.js → p-ce40b012.entry.js} +2 -2
  407. package/dist/wcs/{p-54e29233.entry.js.map → p-ce40b012.entry.js.map} +1 -1
  408. package/dist/wcs/p-d6c482fc.entry.js +2 -0
  409. package/dist/wcs/p-d6c482fc.entry.js.map +1 -0
  410. package/dist/wcs/{p-1e43122f.entry.js → p-d84cee70.entry.js} +2 -2
  411. package/dist/wcs/p-d895b92c.entry.js +16 -0
  412. package/dist/wcs/p-d895b92c.entry.js.map +1 -0
  413. package/dist/wcs/p-dca2f42c.entry.js +2 -0
  414. package/dist/wcs/{p-7519a270.entry.js → p-e0d5908a.entry.js} +2 -2
  415. package/dist/wcs/{p-a5cd4c07.entry.js → p-e487ff2c.entry.js} +2 -2
  416. package/dist/wcs/p-e487ff2c.entry.js.map +1 -0
  417. package/dist/wcs/{p-3b1fc676.entry.js → p-e52c11e4.entry.js} +2 -2
  418. package/dist/wcs/{p-0ede0c37.entry.js → p-e7661047.entry.js} +2 -2
  419. package/dist/wcs/p-ea6e33ee.entry.js +2 -0
  420. package/dist/wcs/{p-cc03627c.entry.js → p-f7ce4e0d.entry.js} +2 -2
  421. package/dist/wcs/{p-b6160b7c.entry.js → p-faf04401.entry.js} +2 -2
  422. package/dist/wcs/p-fc1767ae.entry.js +2 -0
  423. package/dist/wcs/p-fc1767ae.entry.js.map +1 -0
  424. package/dist/wcs/p-feebc469.entry.js +2 -0
  425. package/dist/wcs/p-feebc469.entry.js.map +1 -0
  426. package/dist/wcs/wcs.css +1 -1
  427. package/dist/wcs/wcs.esm.js +1 -1
  428. package/dist/wcs/wcs.esm.js.map +1 -1
  429. package/package.json +1 -1
  430. package/dist/cjs/accessibility-e99b032d.js.map +0 -1
  431. package/dist/cjs/grid-pagination-4b55c908.js +0 -101
  432. package/dist/cjs/grid-pagination-4b55c908.js.map +0 -1
  433. package/dist/cjs/helpers-4a14051a.js.map +0 -1
  434. package/dist/cjs/index-ca67a6dc.js.map +0 -1
  435. package/dist/cjs/isEqual-9ea7ee49.js.map +0 -1
  436. package/dist/cjs/wcs-button.cjs.entry.js.map +0 -1
  437. package/dist/cjs/wcs-spinner.cjs.entry.js +0 -22
  438. package/dist/cjs/wcs-spinner.cjs.entry.js.map +0 -1
  439. package/dist/esm/accessibility-ffa12842.js.map +0 -1
  440. package/dist/esm/grid-pagination-41354861.js +0 -99
  441. package/dist/esm/grid-pagination-41354861.js.map +0 -1
  442. package/dist/esm/helpers-1d55b67f.js.map +0 -1
  443. package/dist/esm/index-dc4d96d4.js.map +0 -1
  444. package/dist/esm/isEqual-20881bca.js.map +0 -1
  445. package/dist/esm/wcs-button.entry.js.map +0 -1
  446. package/dist/esm/wcs-spinner.entry.js +0 -18
  447. package/dist/esm/wcs-spinner.entry.js.map +0 -1
  448. package/dist/wcs/p-02b95dbf.entry.js +0 -2
  449. package/dist/wcs/p-02b95dbf.entry.js.map +0 -1
  450. package/dist/wcs/p-0f8db386.js +0 -2
  451. package/dist/wcs/p-0f8db386.js.map +0 -1
  452. package/dist/wcs/p-17630eea.entry.js +0 -2
  453. package/dist/wcs/p-1f8c73eb.entry.js.map +0 -1
  454. package/dist/wcs/p-269d244c.entry.js +0 -2
  455. package/dist/wcs/p-269d244c.entry.js.map +0 -1
  456. package/dist/wcs/p-2f63d6c5.entry.js +0 -2
  457. package/dist/wcs/p-2f63d6c5.entry.js.map +0 -1
  458. package/dist/wcs/p-39821dd2.entry.js +0 -2
  459. package/dist/wcs/p-39821dd2.entry.js.map +0 -1
  460. package/dist/wcs/p-3dc6b507.js +0 -2
  461. package/dist/wcs/p-3dc6b507.js.map +0 -1
  462. package/dist/wcs/p-463667c9.entry.js +0 -2
  463. package/dist/wcs/p-475ac7c5.js +0 -2
  464. package/dist/wcs/p-475ac7c5.js.map +0 -1
  465. package/dist/wcs/p-4ffe4539.entry.js +0 -2
  466. package/dist/wcs/p-4ffe4539.entry.js.map +0 -1
  467. package/dist/wcs/p-57560d7d.entry.js +0 -2
  468. package/dist/wcs/p-57560d7d.entry.js.map +0 -1
  469. package/dist/wcs/p-61cab06f.entry.js +0 -2
  470. package/dist/wcs/p-61cab06f.entry.js.map +0 -1
  471. package/dist/wcs/p-627bbb6a.entry.js +0 -2
  472. package/dist/wcs/p-627bbb6a.entry.js.map +0 -1
  473. package/dist/wcs/p-6de70331.entry.js +0 -2
  474. package/dist/wcs/p-6de70331.entry.js.map +0 -1
  475. package/dist/wcs/p-747a5962.entry.js +0 -2
  476. package/dist/wcs/p-8181f8cd.js +0 -2
  477. package/dist/wcs/p-8181f8cd.js.map +0 -1
  478. package/dist/wcs/p-8c4ed883.entry.js +0 -2
  479. package/dist/wcs/p-8c4ed883.entry.js.map +0 -1
  480. package/dist/wcs/p-8d57835f.entry.js +0 -2
  481. package/dist/wcs/p-8fed8b1c.entry.js +0 -2
  482. package/dist/wcs/p-8fed8b1c.entry.js.map +0 -1
  483. package/dist/wcs/p-91b3e4b5.entry.js +0 -2
  484. package/dist/wcs/p-9910fedd.entry.js +0 -2
  485. package/dist/wcs/p-9910fedd.entry.js.map +0 -1
  486. package/dist/wcs/p-9d798de4.entry.js +0 -2
  487. package/dist/wcs/p-9d798de4.entry.js.map +0 -1
  488. package/dist/wcs/p-9ecdeaf9.entry.js +0 -2
  489. package/dist/wcs/p-9ecdeaf9.entry.js.map +0 -1
  490. package/dist/wcs/p-a2df3a49.js +0 -3
  491. package/dist/wcs/p-a2df3a49.js.map +0 -1
  492. package/dist/wcs/p-a5cd4c07.entry.js.map +0 -1
  493. package/dist/wcs/p-ac106663.entry.js +0 -2
  494. package/dist/wcs/p-ac106663.entry.js.map +0 -1
  495. package/dist/wcs/p-cb90bc3a.entry.js +0 -2
  496. package/dist/wcs/p-cb90bc3a.entry.js.map +0 -1
  497. package/dist/wcs/p-cdd172b4.entry.js +0 -2
  498. package/dist/wcs/p-d5a0e271.entry.js +0 -2
  499. package/dist/wcs/p-d5a0e271.entry.js.map +0 -1
  500. package/dist/wcs/p-ec84d6fd.entry.js +0 -16
  501. package/dist/wcs/p-ec84d6fd.entry.js.map +0 -1
  502. package/dist/wcs/p-ed3132be.entry.js +0 -2
  503. package/dist/wcs/p-ed3132be.entry.js.map +0 -1
  504. package/dist/wcs/p-f06f48f3.entry.js.map +0 -1
  505. package/dist/wcs/p-f20b9024.entry.js +0 -2
  506. package/dist/wcs/p-f20b9024.entry.js.map +0 -1
  507. package/dist/wcs/p-f489793d.entry.js.map +0 -1
  508. /package/dist/wcs/{p-7a3f70da.entry.js.map → p-00f6a79a.entry.js.map} +0 -0
  509. /package/dist/wcs/{p-ee453b6e.entry.js.map → p-016e4dd9.entry.js.map} +0 -0
  510. /package/dist/wcs/{p-30d8f9c3.entry.js.map → p-11ab4ffc.entry.js.map} +0 -0
  511. /package/dist/wcs/{p-dfddec76.entry.js.map → p-17442a2f.entry.js.map} +0 -0
  512. /package/dist/wcs/{p-d6c3e615.js.map → p-24611014.js.map} +0 -0
  513. /package/dist/wcs/{p-292ca644.entry.js.map → p-2d62b3dd.entry.js.map} +0 -0
  514. /package/dist/wcs/{p-d6b3f742.entry.js.map → p-33a5594d.entry.js.map} +0 -0
  515. /package/dist/wcs/{p-257b15b9.entry.js.map → p-36e83879.entry.js.map} +0 -0
  516. /package/dist/wcs/{p-7269272f.entry.js.map → p-46184d47.entry.js.map} +0 -0
  517. /package/dist/wcs/{p-4a9f8e94.entry.js.map → p-46d56c4e.entry.js.map} +0 -0
  518. /package/dist/wcs/{p-fc3f5b53.entry.js.map → p-4820154c.entry.js.map} +0 -0
  519. /package/dist/wcs/{p-ff9967eb.entry.js.map → p-4af68f13.entry.js.map} +0 -0
  520. /package/dist/wcs/{p-50dce764.entry.js.map → p-61b934a7.entry.js.map} +0 -0
  521. /package/dist/wcs/{p-17630eea.entry.js.map → p-680b107c.entry.js.map} +0 -0
  522. /package/dist/wcs/{p-d084dd61.entry.js.map → p-88b1cdfe.entry.js.map} +0 -0
  523. /package/dist/wcs/{p-c7494651.entry.js.map → p-8ff7e463.entry.js.map} +0 -0
  524. /package/dist/wcs/{p-cfcacc44.entry.js.map → p-914aa964.entry.js.map} +0 -0
  525. /package/dist/wcs/{p-429bd9fb.entry.js.map → p-9b1c73b3.entry.js.map} +0 -0
  526. /package/dist/wcs/{p-8d57835f.entry.js.map → p-a3518f66.entry.js.map} +0 -0
  527. /package/dist/wcs/{p-463667c9.entry.js.map → p-a361d9f1.entry.js.map} +0 -0
  528. /package/dist/wcs/{p-31a8d23f.entry.js.map → p-a85208ca.entry.js.map} +0 -0
  529. /package/dist/wcs/{p-d3f1cafe.entry.js.map → p-b91323fc.entry.js.map} +0 -0
  530. /package/dist/wcs/{p-47d8ece5.entry.js.map → p-bd4029f8.entry.js.map} +0 -0
  531. /package/dist/wcs/{p-e348058b.entry.js.map → p-bed4e3ce.entry.js.map} +0 -0
  532. /package/dist/wcs/{p-810aff71.entry.js.map → p-c38adf4b.entry.js.map} +0 -0
  533. /package/dist/wcs/{p-2185bf8b.entry.js.map → p-c6a8c6f9.entry.js.map} +0 -0
  534. /package/dist/wcs/{p-1e43122f.entry.js.map → p-d84cee70.entry.js.map} +0 -0
  535. /package/dist/wcs/{p-747a5962.entry.js.map → p-dca2f42c.entry.js.map} +0 -0
  536. /package/dist/wcs/{p-7519a270.entry.js.map → p-e0d5908a.entry.js.map} +0 -0
  537. /package/dist/wcs/{p-3b1fc676.entry.js.map → p-e52c11e4.entry.js.map} +0 -0
  538. /package/dist/wcs/{p-0ede0c37.entry.js.map → p-e7661047.entry.js.map} +0 -0
  539. /package/dist/wcs/{p-cdd172b4.entry.js.map → p-ea6e33ee.entry.js.map} +0 -0
  540. /package/dist/wcs/{p-cc03627c.entry.js.map → p-f7ce4e0d.entry.js.map} +0 -0
  541. /package/dist/wcs/{p-b6160b7c.entry.js.map → p-faf04401.entry.js.map} +0 -0
@@ -1,5 +1,12 @@
1
1
  import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
+ /**
3
+ * You must add `wcs-dropdown-item` to `wcs-dropdown`
4
+ * @slot <no-name> the slot that contains the item's name
5
+ */
2
6
  export declare class DropdownItem implements ComponentInterface {
7
+ /**
8
+ * Event emitted when the dropdown item is clicked
9
+ */
3
10
  wcsDropdownItemClick: EventEmitter<void>;
4
11
  onMouseDown(_: MouseEvent): void;
5
12
  onKeyDown(evt: KeyboardEvent): void;
@@ -50,9 +50,16 @@ export declare class EditableField implements ComponentInterface {
50
50
  /**
51
51
  * This method subscribes the component to the change events produced by the other WCS components
52
52
  * (provided by the user in slot)
53
+ * @param elt the element to subscribe to
53
54
  * @private
54
55
  */
55
56
  private addChangeHandlerForWcsComponents;
57
+ /**
58
+ * This method subscribes the component to the input events produced by the other WCS components
59
+ * @param elt the element to subscribe to
60
+ * @private
61
+ */
62
+ private addInputHandlerForWcsComponents;
56
63
  private sendCurrentValue;
57
64
  private discardChanges;
58
65
  forceDisplayStateAndValidate(): void;
@@ -25,6 +25,10 @@ export declare class FormField implements ComponentInterface {
25
25
  private spiedElementIsOfType;
26
26
  private addRequiredMarkerToLabel;
27
27
  private initSpiedElement;
28
+ private updateAriaAttributes;
29
+ private get label();
30
+ private get description();
31
+ private get error();
28
32
  private updateLabelRequiredFlag;
29
33
  disconnectedCallback(): void;
30
34
  render(): any;
@@ -7,8 +7,20 @@ export interface WcsGridColumnSortChangeEventDetails {
7
7
  order: WcsSortOrder;
8
8
  column: HTMLWcsGridColumnElement;
9
9
  }
10
- export interface WcsGridRowSelectedEventDetails {
11
- row: WcsGridRowData;
10
+ /**
11
+ * Event details for the grid selection event
12
+ */
13
+ export interface WcsGridSelectionEventDetails {
14
+ /**
15
+ * The currently selected rows after the selection change
16
+ */
17
+ selectedRows: WcsGridRowData[];
18
+ /**
19
+ * The row that was changed
20
+ * If the grid is in multiple selection mode, you can get `allCheckbox` as the value representing that the event was
21
+ * triggered by the selection of all checkbox
22
+ */
23
+ changedRow: WcsGridRowData | 'allCheckbox';
12
24
  }
13
25
  export interface WcsGridAllRowSelectedEventDetails {
14
26
  rows: WcsGridRowData[];
@@ -0,0 +1,16 @@
1
+ export type KeyboardEventAssociatedAction = FocusCell | SelectRow;
2
+ type FocusCell = {
3
+ kind: 'FocusCell';
4
+ target: 'up' | 'down' | 'left' | 'right' | 'first_of_row' | 'last_of_row' | 'first_of_grid' | 'last_of_grid';
5
+ };
6
+ type SelectRow = {
7
+ kind: 'SelectRow';
8
+ target: 'one' | 'all';
9
+ };
10
+ /**
11
+ * We follow this https://www.w3.org/WAI/ARIA/apg/patterns/grid/
12
+ * @param event
13
+ * @param type
14
+ */
15
+ export declare function getActionForKeyboardEvent(event: KeyboardEvent, type: 'grid_no_selection' | 'grid_selection_single' | 'grid_selection_multiple'): KeyboardEventAssociatedAction[];
16
+ export {};
@@ -1,5 +1,6 @@
1
1
  import { ComponentDidLoad, ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
- import { WcsGridAllRowSelectedEventDetails, WcsGridColumnSortChangeEventDetails, WcsGridPaginationChangeEventDetails, WcsGridRow, WcsGridRowSelectedEventDetails, WcsGridSelectionConfig } from './grid-interface';
2
+ import { WcsGridAllRowSelectedEventDetails, WcsGridColumnSortChangeEventDetails, WcsGridPaginationChangeEventDetails, WcsGridRow, WcsGridSelectionConfig, WcsGridSelectionEventDetails } from './grid-interface';
3
+ import { KeyboardEventAssociatedAction } from "./grid-keyboard-event";
3
4
  /**
4
5
  * The grid component is a complex component used as an HTML table to display collections of data.
5
6
  *
@@ -51,14 +52,47 @@ export declare class Grid implements ComponentInterface, ComponentDidLoad {
51
52
  /**
52
53
  * Event emitted when a row is selected or unselected
53
54
  */
54
- wcsGridSelectionChange: EventEmitter<WcsGridRowSelectedEventDetails>;
55
+ wcsGridSelectionChange: EventEmitter<WcsGridSelectionEventDetails>;
55
56
  /**
56
57
  * Event emitted when all rows are selected or unselected
57
58
  */
58
59
  wcsGridAllSelectionChange: EventEmitter<WcsGridAllRowSelectedEventDetails>;
60
+ /**
61
+ * Used to track the focus position in the grid for keyboard navigation.
62
+ * Header row : index 0
63
+ * First column :
64
+ * - index 1 if selection mode multiple or single
65
+ * - index 0 if no selection mode
66
+ * Default position : col 0, row 1
67
+ */
68
+ private cursorPosition;
69
+ onCursorPositionChange(newValue: {
70
+ col: number;
71
+ row: number;
72
+ }): void;
59
73
  onDataChange(newValue: any[]): void;
60
74
  onSelectedItemsPropertyChange(newValue: any | any[]): void;
75
+ onFocus(): void;
76
+ /**
77
+ * If selectionConfig is different from `none`, that means that an extra column for radio or checkbox is rendered
78
+ * in the table.
79
+ */
80
+ hasSelectionColumn(): boolean;
81
+ /**
82
+ * Returns the element to focus at the current cursor position : it can be a cell (td, th) to focus or a nested
83
+ * checkbox / radio element if the selection mode is single or multiple
84
+ */
85
+ getElementToFocusAtCursorPosition(): HTMLTableCellElement | HTMLWcsCheckboxElement | HTMLWcsRadioElement;
86
+ moveCursorPosition(directionX: number | 'first' | 'last', directionY: number | 'first' | 'last'): void;
87
+ /**
88
+ * When the grid has selectionConfig single, an empty th appears at col=0, row=0.
89
+ * It should not be focusable so the cursor navigates to col=1, row=0 instead.
90
+ */
91
+ handleCursorPositionOnEmptyTh(): void;
61
92
  onHiddenColumnChange(): void;
93
+ onKeyDown(_event: KeyboardEvent): void;
94
+ doActionFromKeyboardEventAssociatedAction(actionFromKeyboardEvent: KeyboardEventAssociatedAction, event: KeyboardEvent): void;
95
+ onClick(_event: MouseEvent): void;
62
96
  private updateSelectionWithValues;
63
97
  private wcsGridRowToWcsGridRowData;
64
98
  private updateGridRows;
@@ -71,10 +105,11 @@ export declare class Grid implements ComponentInterface, ComponentDidLoad {
71
105
  private disableSortOrderForColumns;
72
106
  private getGridColumnsFromTemplate;
73
107
  private getGridPaginationsFromTemplate;
108
+ private get gridElementsWithCoordinates();
74
109
  sortChangeEventHandler(event: CustomEvent<WcsGridColumnSortChangeEventDetails>): void;
75
110
  /**
76
111
  * Sorts the grid rows according to the given column's configuration
77
- * @param colmun Column from which to extract the sorting configuration
112
+ * @param column Column from which to extract the sorting configuration
78
113
  * @private
79
114
  */
80
115
  private sortBy;
@@ -86,13 +121,33 @@ export declare class Grid implements ComponentInterface, ComponentDidLoad {
86
121
  paginationChangeEventHandlerOutside(event: CustomEvent<WcsGridPaginationChangeEventDetails>): void;
87
122
  private onPaginationChange;
88
123
  private onRowSelection;
124
+ private get selectedRows();
89
125
  private selectAllRows;
90
126
  private allRowsAreSelected;
91
127
  private getRowsForCurrentPage;
92
- renderSelectionColumn(row: WcsGridRow): any;
128
+ renderSelectionColumn(row: WcsGridRow, rowIndex: number): any;
93
129
  private getCellContent;
130
+ /**
131
+ * Returns the total number of columns
132
+ * @private
133
+ */
94
134
  private totalColumnCount;
135
+ /**
136
+ * Returns the total number of columns that are not hidden
137
+ * @private
138
+ */
139
+ private totalDisplayedColumnCount;
140
+ /**
141
+ * Returns true if at least one column is hidden from the table
142
+ * @private
143
+ */
144
+ private atLeastOneColumnHidden;
95
145
  render(): any;
146
+ /**
147
+ * Returns the row with all mapped cells inside.
148
+ * The aria-rowindex here starts at 2 because the header row starts at index 1.
149
+ * @private
150
+ */
96
151
  private renderRow;
97
152
  }
98
153
  /**
@@ -52,9 +52,26 @@ export declare class GridColumn implements ComponentInterface {
52
52
  * Event emitted if the column is dynamically switching visibility.
53
53
  */
54
54
  wcsHiddenChange: EventEmitter<boolean>;
55
+ /**
56
+ * This property mustn't be set by hand, it is set by the wcs-grid component to move the focus between grid columns
57
+ * using keyboard.
58
+ * @internal
59
+ */
60
+ cursorPosition: {
61
+ col: number;
62
+ row: number;
63
+ };
64
+ /**
65
+ * This property mustn't be set by hand, it is set by the wcs-grid component to register the column index in a
66
+ * grid in order to move the focus between the grid columns.
67
+ * @internal
68
+ */
69
+ columnPosition: number;
55
70
  parseMyObjectProp(newValue: boolean): void;
56
71
  sortOrderChange(_: WcsSortOrder): void;
57
72
  emitSortConfig(): void;
73
+ getSortOrderForAriaSort(sortOrder: WcsSortOrder): "none" | "ascending" | "descending";
58
74
  render(): any;
59
75
  private onSortClick;
76
+ private handleSortKeyDown;
60
77
  }
@@ -1,9 +1,22 @@
1
1
  import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
2
  import { AutocompleteTypes, InputChangeEventDetail, TextFieldTypes, WcsInputSize } from './input-interface';
3
+ import { AriaAttributeName, MutableAriaAttribute } from "../../utils/mutable-aria-attribute";
3
4
  /**
4
- * Mainly inspired from Ionic Input Component
5
+ * The input component is a form control that accepts a single line of text.
6
+ * Implementation mainly inspired from Ionic Input Component.
7
+ *
8
+ *
9
+ * <details>
10
+ * <summary>Accessibility guidelines 💡</summary>
11
+ * > - Provide a `<wcs-label>` next to the input
12
+ * > - Use the `disabled` prop to add the HTML `disabled` attribute to the `input`
13
+ * > - Use the `readonly` prop to add the HTML `readonly` attribute to the `input`
14
+ * > - Use the `autofocus` prop to add the HTML `autofocus` attribute to the `input`. Use it if you want your input focus
15
+ * automatically when the page load
16
+ * > - Adapt the `type` to lets user enter information more easily (_ex: `type="number"` for an input which only accept numbers entry_)
17
+ * </details>
5
18
  */
6
- export declare class Input implements ComponentInterface {
19
+ export declare class Input implements ComponentInterface, MutableAriaAttribute {
7
20
  private nativeInput?;
8
21
  private inputId;
9
22
  private didBlurAfterEdit;
@@ -22,7 +35,8 @@ export declare class Input implements ComponentInterface {
22
35
  private passwordReveal;
23
36
  private el;
24
37
  /**
25
- * If the value of the type attribute is `"file"`, then this attribute will indicate the types of files that the server accepts, otherwise it will be ignored. The value must be a comma-separated list of unique content type specifiers.
38
+ * If the value of the type attribute is `"file"`, then this attribute will indicate the types of files that the
39
+ * server accepts, otherwise it will be ignored. The value must be a comma-separated list of unique content type specifiers.
26
40
  */
27
41
  accept?: string;
28
42
  /**
@@ -47,11 +61,13 @@ export declare class Input implements ComponentInterface {
47
61
  */
48
62
  clearInput: boolean;
49
63
  /**
50
- * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types.
64
+ * If `true`, the value will be cleared after focus upon edit.
65
+ * Defaults to `true` when `type` is `"password"`, `false` for all other types.
51
66
  */
52
67
  clearOnEdit?: boolean;
53
68
  /**
54
- * Set the amount of time, in milliseconds, to wait to trigger the `wcsChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.
69
+ * Set the amount of time, in milliseconds, to wait to trigger the `wcsChange` event after each keystroke.
70
+ * This also impacts form bindings such as `ngModel` or `v-model`.
55
71
  */
56
72
  debounce: number;
57
73
  /**
@@ -92,7 +108,8 @@ export declare class Input implements ComponentInterface {
92
108
  */
93
109
  max?: string;
94
110
  /**
95
- * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the maximum number of characters that the user can enter.
111
+ * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute
112
+ * specifies the maximum number of characters that the user can enter.
96
113
  */
97
114
  maxlength?: number;
98
115
  /**
@@ -100,11 +117,13 @@ export declare class Input implements ComponentInterface {
100
117
  */
101
118
  min?: string;
102
119
  /**
103
- * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the minimum number of characters that the user can enter.
120
+ * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute
121
+ * specifies the minimum number of characters that the user can enter.
104
122
  */
105
123
  minlength?: number;
106
124
  /**
107
- * If `true`, the user can enter more than one value. This attribute applies when the type attribute is set to `"email"` or `"file"`, otherwise it is ignored.
125
+ * If `true`, the user can enter more than one value. This attribute applies when the type attribute is set to
126
+ * `"email"` or `"file"`, otherwise it is ignored.
108
127
  */
109
128
  multiple?: boolean;
110
129
  /**
@@ -112,7 +131,12 @@ export declare class Input implements ComponentInterface {
112
131
  */
113
132
  name: string;
114
133
  /**
115
- * A regular expression that the value is checked against. The pattern must match the entire value, not just some subset. Use the title attribute to describe the pattern to help the user. This attribute applies when the value of the type attribute is `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, `"date"`, or `"password"`, otherwise it is ignored. When the type attribute is `"date"`, `pattern` will only be used in browsers that do not support the `"date"` input type natively. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date for more information.
134
+ * A regular expression that the value is checked against. The pattern must match the entire value, not just some
135
+ * subset. Use the title attribute to describe the pattern to help the user. This attribute applies when the value
136
+ * of the type attribute is `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, `"date"`, or `"password"`, otherwise
137
+ * it is ignored. When the type attribute is `"date"`, `pattern` will only be used in browsers that do not support
138
+ * the `"date"` input type natively. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date for
139
+ * more information.
116
140
  */
117
141
  pattern?: string;
118
142
  /**
@@ -132,7 +156,8 @@ export declare class Input implements ComponentInterface {
132
156
  */
133
157
  spellcheck: boolean;
134
158
  /**
135
- * Specifies the state of the input. By default the input is in an normal state but you can to set it to 'error' state if the data given by the user is not valid.
159
+ * Specifies the state of the input. By default the input is in an normal state but you can to set it to 'error'
160
+ * state if the data given by the user is not valid.
136
161
  */
137
162
  state: 'initial' | 'error';
138
163
  /**
@@ -149,11 +174,11 @@ export declare class Input implements ComponentInterface {
149
174
  */
150
175
  value?: string | number | null;
151
176
  /**
152
- * Emitted when a keyboard input occurred.
177
+ * Emitted when a keyboard input occurred. See https://developer.mozilla.org/en-US/docs/Web/Events/input
153
178
  */
154
179
  wcsInput: EventEmitter<KeyboardEvent>;
155
180
  /**
156
- * Emitted when the value has changed.
181
+ * Emitted when the value has changed. See https://developer.mozilla.org/en-US/docs/Web/Events/change
157
182
  */
158
183
  wcsChange: EventEmitter<InputChangeEventDetail>;
159
184
  /**
@@ -164,10 +189,6 @@ export declare class Input implements ComponentInterface {
164
189
  * Emitted when the input has focus.
165
190
  */
166
191
  wcsFocus: EventEmitter<FocusEvent>;
167
- /**
168
- * Update the native input element when the value changes
169
- */
170
- protected valueChanged(): void;
171
192
  componentWillLoad(): void;
172
193
  connectedCallback(): void;
173
194
  disconnectedCallback(): void;
@@ -186,9 +207,11 @@ export declare class Input implements ComponentInterface {
186
207
  * Returns the native `<input>` element used under the hood.
187
208
  */
188
209
  getInputElement(): Promise<HTMLInputElement>;
210
+ setAriaAttribute(attr: AriaAttributeName, value: string): Promise<void>;
189
211
  private shouldClearOnEdit;
190
- private getValue;
212
+ private getValueAsString;
191
213
  private onInput;
214
+ private onChange;
192
215
  private onBlur;
193
216
  private onFocus;
194
217
  private onKeydown;
@@ -1,7 +1,28 @@
1
1
  import { EventEmitter, ComponentInterface } from '../../stencil-public-runtime';
2
2
  import { ModalSize } from './modal-interface';
3
+ /**
4
+ * The modal component (also named dialog or popup) is an interface element that appears on top of the page content.
5
+ * Use it to show a message, a confirmation dialog, or any other content like forms.
6
+ *
7
+ * <details>
8
+ * <summary>Accessibility guidelines 💡</summary>
9
+ * > - Modal element has `role="dialog"` and `aria-modal="true"`
10
+ * > - Keyboard navigation is trapped inside the modal
11
+ * > - It is mandatory to set the `modal-trigger-controls-id` to the id of the element that opens the dialog, in order
12
+ * > to focus it upon dialog dismissal.
13
+ * > - The modal can be closed at any time by pressing the Escape key.
14
+ * >
15
+ * > - More info : https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/
16
+ * </details>
17
+ *
18
+ * @cssprop --wcs-modal-max-height - Max height of the main container
19
+ * @cssprop --wcs-modal-overflow-y - Overflow-y of the content
20
+ * @slot <no-name> Main container slot
21
+ * @slot header Header container slot (for title)
22
+ * @slot actions Actions container slot (for buttons)
23
+ */
3
24
  export declare class Modal implements ComponentInterface {
4
- el: HTMLElement;
25
+ private el;
5
26
  /**
6
27
  * Specifies whether the component should display a backdrop on the entire page
7
28
  */
@@ -28,6 +49,11 @@ export declare class Modal implements ComponentInterface {
28
49
  * Specifies whether the component should hide the actions slot or not
29
50
  */
30
51
  hideActions: boolean;
52
+ /**
53
+ * Specifies which element id controls the modal
54
+ * @private
55
+ */
56
+ modalTriggerControlsId: string;
31
57
  /**
32
58
  * Give an unique id
33
59
  * @private
@@ -42,6 +68,16 @@ export declare class Modal implements ComponentInterface {
42
68
  * @private
43
69
  */
44
70
  private showAttributeChangedMarker;
71
+ /**
72
+ * This attribute is used to determine if the modal has been closed for the first time since its last activation.
73
+ * It is set to 'true' when the modal is first closed, and will be reset to 'false' when the modal is shown again.
74
+ * This state is important for accessibility reasons in order to focus the modal trigger element (like the button
75
+ * which controls the modal)
76
+ *
77
+ * @private
78
+ */
79
+ private hasBeenClosedBefore;
80
+ componentWillLoad(): Promise<void> | void;
45
81
  componentDidLoad(): void;
46
82
  componentDidRender(): void;
47
83
  onShowChange(): void;
@@ -1,5 +1,6 @@
1
1
  import { ComponentInterface } from '../../stencil-public-runtime';
2
2
  import { WcsSize } from "../../shared-types";
3
+ import { AriaAttributeName, MutableAriaAttribute } from "../../utils/mutable-aria-attribute";
3
4
  export type WcsNativeSelectSize = Extract<WcsSize, 'l' | 'm'>;
4
5
  /**
5
6
  * The `wcs-native-select` component is designed to accept a native `<select>` element as a slotted child. This choice
@@ -31,7 +32,7 @@ export type WcsNativeSelectSize = Extract<WcsSize, 'l' | 'm'>;
31
32
  * select is reset, you have to call the `updateStyles()` method manually.
32
33
  * - It is strongly recommended to use select-native when you don't have to support the multi-selection feature
33
34
  */
34
- export declare class NativeSelect implements ComponentInterface {
35
+ export declare class NativeSelect implements ComponentInterface, MutableAriaAttribute {
35
36
  /**
36
37
  * The `size` property controls the size of the slotted `select` element by adjusting its padding.
37
38
  * There are two possible size options:
@@ -47,6 +48,7 @@ export declare class NativeSelect implements ComponentInterface {
47
48
  private selectElement;
48
49
  private observer;
49
50
  private readonly SLOTTED_SELECT_TRACKED_ATTRIBUTES_LIST;
51
+ setAriaAttribute(attr: AriaAttributeName, value: string): Promise<void>;
50
52
  componentWillLoad(): void;
51
53
  private onSelectedOptionChange;
52
54
  private _updateStyles;
@@ -1,12 +1,17 @@
1
1
  import { ComponentInterface } from '../../stencil-public-runtime';
2
+ import { WcsSize } from "../../shared-types";
2
3
  /**
3
- * Component displaying progress as a bar.
4
+ * Component displaying progress as a horizontal bar.
5
+ * @cssprop --wcs-progress-bar-border-radius - Border radius
6
+ * @cssprop --wcs-progress-bar-border-radius-small - Border radius for size small
7
+ * @cssprop --wcs-progress-bar-animation-duration - Animation duration
4
8
  */
5
9
  export declare class ProgressBar implements ComponentInterface {
6
10
  /**
7
- * Whether the component display the small version
11
+ * Specify the size of the progress bar.
12
+ * m = default, s = smaller
8
13
  */
9
- small: boolean;
14
+ size: Extract<WcsSize, 'm' | 's'>;
10
15
  /**
11
16
  * Whether it displays a label indicating the percentage of progress above the bar.
12
17
  */
@@ -1,11 +1,23 @@
1
1
  import { ComponentInterface } from '../../stencil-public-runtime';
2
+ /**
3
+ * The progress-radial component is a circular progress bar that indicates the current completion of a task.
4
+ */
2
5
  export declare class ProgressRadial implements ComponentInterface {
6
+ /** The initial background image size (120x120) as specified in the background-image css property of .progress-circle */
7
+ private backgroundImageSize;
8
+ /** The size of the progress radial (in px) */
3
9
  size: number;
10
+ /** Whether the component should display the % label inside */
4
11
  showLabel: boolean;
12
+ /** The value of the progress radial. Prefer values between 0 and 100. */
5
13
  value: number;
6
14
  render(): any;
7
15
  getSvgStyle(): {
8
16
  'stroke-dasharray': string;
9
17
  'stroke-dashoffset': string;
10
18
  };
19
+ getSize(): {
20
+ width: string;
21
+ height: string;
22
+ };
11
23
  }
@@ -17,6 +17,9 @@ export declare class Radio implements ComponentInterface {
17
17
  */
18
18
  disabled: boolean;
19
19
  wcsRadioClick: EventEmitter<RadioChosedEvent>;
20
+ /**
21
+ * Giving every radio button the same name is mandatory to group them
22
+ */
20
23
  name: string;
21
24
  onKeyDown(_event: KeyboardEvent): void;
22
25
  checkedChanged(newValue: boolean): void;
@@ -1,7 +1,8 @@
1
1
  import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
2
  import { RadioGroupChangeEventDetail, RadioGroupMode } from './radio-group-interface';
3
3
  import { RadioChosedEvent } from '../radio/radio-interface';
4
- export declare class RadioGroup implements ComponentInterface {
4
+ import { AriaAttributeName, MutableAriaAttribute } from "../../utils/mutable-aria-attribute";
5
+ export declare class RadioGroup implements ComponentInterface, MutableAriaAttribute {
5
6
  value: any | any[] | undefined | null;
6
7
  name: any;
7
8
  mode: RadioGroupMode;
@@ -16,5 +17,6 @@ export declare class RadioGroup implements ComponentInterface {
16
17
  handleKeyDown(ev: KeyboardEvent): void;
17
18
  handleKeyUp(ev: KeyboardEvent): Promise<void>;
18
19
  private updateOptionsState;
20
+ setAriaAttribute(attr: AriaAttributeName, value: string): Promise<void>;
19
21
  render(): any;
20
22
  }
@@ -2,6 +2,18 @@ import { WcsSize } from "../../shared-types";
2
2
  export interface SelectChangeEventDetail {
3
3
  value: any | any[] | undefined | null;
4
4
  }
5
+ export interface SelectFilerChangeEventDetail {
6
+ value: string | number | undefined | null;
7
+ }
8
+ export type WcsSelectFilterFn = (optionEl: HTMLWcsSelectOptionElement, filter: string) => boolean;
9
+ /**
10
+ * Default filtering function. Compares the string start of wcs-select-option element's text content
11
+ * with your filter input.
12
+ * @param optionEl - wcs-select-option element
13
+ * @param filter - input filter field value
14
+ * @constructor
15
+ */
16
+ export declare const WcsDefaultSelectFilterFn: WcsSelectFilterFn;
5
17
  export declare const WcsSelectSizeValue: readonly ["m", "l"];
6
18
  export type WcsSelectSize = Extract<WcsSize, typeof WcsSelectSizeValue[number]>;
7
19
  export declare function isWcsSelectSize(size: string): size is WcsSelectSize;
@@ -0,0 +1,38 @@
1
+ export type KeyboardEventAssociatedAction = OpenSelect | CloseSelect | ClearAutocompleteInput | ClearHighlight | HighlightOption | FocusOption | MoveFocus | SelectOption;
2
+ type OpenSelect = {
3
+ kind: 'OpenSelect';
4
+ };
5
+ type CloseSelect = {
6
+ kind: 'CloseSelect';
7
+ shouldBlur: boolean;
8
+ };
9
+ type ClearAutocompleteInput = {
10
+ kind: 'ClearAutocompleteInput';
11
+ };
12
+ type ClearHighlight = {
13
+ kind: 'ClearHighlight';
14
+ };
15
+ type HighlightOption = {
16
+ kind: 'HighlightOption';
17
+ target: 'next' | 'previous' | 'first' | 'last';
18
+ };
19
+ type SelectOption = {
20
+ kind: 'SelectOption';
21
+ target: 'next' | 'previous' | 'first' | 'last' | 'lastHighlighted';
22
+ };
23
+ type MoveFocus = {
24
+ kind: 'MoveFocus';
25
+ target: 'previous';
26
+ };
27
+ type FocusOption = {
28
+ kind: 'FocusOption';
29
+ target: 'next' | 'previous' | 'first' | 'last' | 'lastFocused';
30
+ };
31
+ /**
32
+ * We follow this https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/
33
+ * @param event
34
+ * @param currentState
35
+ * @param type
36
+ */
37
+ export declare function getActionForKeyboardEvent(event: KeyboardEvent, currentState: 'closed' | 'opened', type: 'autocomplete_unique' | 'autocomplete_multiple' | 'unique' | 'multiple'): KeyboardEventAssociatedAction[];
38
+ export {};