wcs-core 3.0.0 → 4.0.1

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 (334) hide show
  1. package/README.md +7 -0
  2. package/dist/cjs/{grid-pagination-ff65e0ff.js → grid-pagination-4b55c908.js} +1 -2
  3. package/dist/cjs/grid-pagination-4b55c908.js.map +1 -0
  4. package/dist/cjs/{helpers-11518d4f.js → helpers-4a14051a.js} +41 -1
  5. package/dist/cjs/helpers-4a14051a.js.map +1 -0
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/wcs-action-bar.cjs.entry.js.map +1 -1
  8. package/dist/cjs/wcs-app.cjs.entry.js +0 -1
  9. package/dist/cjs/wcs-app.cjs.entry.js.map +1 -1
  10. package/dist/cjs/wcs-button.cjs.entry.js +17 -3
  11. package/dist/cjs/wcs-button.cjs.entry.js.map +1 -1
  12. package/dist/cjs/wcs-checkbox.cjs.entry.js +0 -1
  13. package/dist/cjs/wcs-checkbox.cjs.entry.js.map +1 -1
  14. package/dist/cjs/wcs-com-nav-category.cjs.entry.js +1 -1
  15. package/dist/cjs/wcs-com-nav-category.cjs.entry.js.map +1 -1
  16. package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js +1 -1
  17. package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js.map +1 -1
  18. package/dist/cjs/wcs-com-nav.cjs.entry.js.map +1 -1
  19. package/dist/cjs/wcs-counter.cjs.entry.js +130 -0
  20. package/dist/cjs/wcs-counter.cjs.entry.js.map +1 -0
  21. package/dist/cjs/wcs-dropdown-item.cjs.entry.js +1 -1
  22. package/dist/cjs/wcs-dropdown.cjs.entry.js +1 -1
  23. package/dist/cjs/wcs-dropdown.cjs.entry.js.map +1 -1
  24. package/dist/cjs/wcs-editable-field.cjs.entry.js +16 -3
  25. package/dist/cjs/wcs-editable-field.cjs.entry.js.map +1 -1
  26. package/dist/cjs/wcs-error_2.cjs.entry.js +1 -1
  27. package/dist/cjs/wcs-error_2.cjs.entry.js.map +1 -1
  28. package/dist/cjs/wcs-field.cjs.entry.js.map +1 -1
  29. package/dist/cjs/wcs-footer.cjs.entry.js.map +1 -1
  30. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +1 -1
  31. package/dist/cjs/wcs-galactic-menu.cjs.entry.js.map +1 -1
  32. package/dist/cjs/wcs-galactic.cjs.entry.js +0 -1
  33. package/dist/cjs/wcs-galactic.cjs.entry.js.map +1 -1
  34. package/dist/cjs/wcs-grid-column.cjs.entry.js.map +1 -1
  35. package/dist/cjs/wcs-grid-pagination.cjs.entry.js +1 -1
  36. package/dist/cjs/wcs-grid.cjs.entry.js +1 -1
  37. package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
  38. package/dist/cjs/wcs-header.cjs.entry.js.map +1 -1
  39. package/dist/cjs/wcs-hint.cjs.entry.js +3 -3
  40. package/dist/cjs/wcs-hint.cjs.entry.js.map +1 -1
  41. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +0 -1
  42. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js.map +1 -1
  43. package/dist/cjs/wcs-input.cjs.entry.js +14 -4
  44. package/dist/cjs/wcs-input.cjs.entry.js.map +1 -1
  45. package/dist/cjs/wcs-native-select.cjs.entry.js +102 -0
  46. package/dist/cjs/wcs-native-select.cjs.entry.js.map +1 -0
  47. package/dist/cjs/wcs-nav-item.cjs.entry.js +1 -1
  48. package/dist/cjs/wcs-radio-group.cjs.entry.js.map +1 -1
  49. package/dist/cjs/wcs-radio.cjs.entry.js +3 -3
  50. package/dist/cjs/wcs-radio.cjs.entry.js.map +1 -1
  51. package/dist/cjs/wcs-select_2.cjs.entry.js +229 -72
  52. package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
  53. package/dist/cjs/wcs-switch.cjs.entry.js +0 -1
  54. package/dist/cjs/wcs-switch.cjs.entry.js.map +1 -1
  55. package/dist/cjs/wcs-tab.cjs.entry.js.map +1 -1
  56. package/dist/cjs/wcs-tabs.cjs.entry.js.map +1 -1
  57. package/dist/cjs/wcs-textarea.cjs.entry.js +5 -3
  58. package/dist/cjs/wcs-textarea.cjs.entry.js.map +1 -1
  59. package/dist/cjs/wcs-tooltip.cjs.entry.js.map +1 -1
  60. package/dist/cjs/wcs.cjs.js +1 -1
  61. package/dist/collection/collection-manifest.json +2 -0
  62. package/dist/collection/components/action-bar/action-bar.js.map +1 -1
  63. package/dist/collection/components/app/app.js +0 -1
  64. package/dist/collection/components/app/app.js.map +1 -1
  65. package/dist/collection/components/button/button-interface.js +5 -1
  66. package/dist/collection/components/button/button-interface.js.map +1 -1
  67. package/dist/collection/components/button/button.css +28 -20
  68. package/dist/collection/components/button/button.js +54 -5
  69. package/dist/collection/components/button/button.js.map +1 -1
  70. package/dist/collection/components/checkbox/checkbox.js +0 -1
  71. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  72. package/dist/collection/components/com-nav/com-nav.js.map +1 -1
  73. package/dist/collection/components/com-nav-category/com-nav-category.js.map +1 -1
  74. package/dist/collection/components/com-nav-submenu/com-nav-submenu.js.map +1 -1
  75. package/dist/collection/components/counter/counter-interface.js +6 -0
  76. package/dist/collection/components/counter/counter-interface.js.map +1 -0
  77. package/dist/collection/components/counter/counter.css +93 -0
  78. package/dist/collection/components/counter/counter.js +293 -0
  79. package/dist/collection/components/counter/counter.js.map +1 -0
  80. package/dist/collection/components/dropdown/dropdown.js +1 -1
  81. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  82. package/dist/collection/components/editable-field/editable-field-interface.js +5 -1
  83. package/dist/collection/components/editable-field/editable-field-interface.js.map +1 -1
  84. package/dist/collection/components/editable-field/editable-field.css +21 -6
  85. package/dist/collection/components/editable-field/editable-field.js +33 -2
  86. package/dist/collection/components/editable-field/editable-field.js.map +1 -1
  87. package/dist/collection/components/field/field.js +4 -0
  88. package/dist/collection/components/field/field.js.map +1 -1
  89. package/dist/collection/components/footer/footer.js +5 -0
  90. package/dist/collection/components/footer/footer.js.map +1 -1
  91. package/dist/collection/components/form-field/form-field.js +1 -1
  92. package/dist/collection/components/form-field/form-field.js.map +1 -1
  93. package/dist/collection/components/galactic/galactic.js +0 -1
  94. package/dist/collection/components/galactic/galactic.js.map +1 -1
  95. package/dist/collection/components/galactic-menu/galactic-menu.js.map +1 -1
  96. package/dist/collection/components/grid/grid.js.map +1 -1
  97. package/dist/collection/components/grid-column/grid-column.js.map +1 -1
  98. package/dist/collection/components/grid-pagination/grid-pagination.js +0 -1
  99. package/dist/collection/components/grid-pagination/grid-pagination.js.map +1 -1
  100. package/dist/collection/components/header/header.js +5 -0
  101. package/dist/collection/components/header/header.js.map +1 -1
  102. package/dist/collection/components/hint/hint.js +2 -2
  103. package/dist/collection/components/hint/hint.js.map +1 -1
  104. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +0 -2
  105. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js.map +1 -1
  106. package/dist/collection/components/input/input-interface.js +5 -1
  107. package/dist/collection/components/input/input-interface.js.map +1 -1
  108. package/dist/collection/components/input/input.css +21 -4
  109. package/dist/collection/components/input/input.js +30 -19
  110. package/dist/collection/components/input/input.js.map +1 -1
  111. package/dist/collection/components/native-select/native-select.component.js +153 -0
  112. package/dist/collection/components/native-select/native-select.component.js.map +1 -0
  113. package/dist/collection/components/native-select/native-select.css +78 -0
  114. package/dist/collection/components/radio/radio.component.js +1 -1
  115. package/dist/collection/components/radio/radio.component.js.map +1 -1
  116. package/dist/collection/components/radio/radio.css +15 -4
  117. package/dist/collection/components/radio-group/radio-group.js.map +1 -1
  118. package/dist/collection/components/select/select-interface.js +5 -1
  119. package/dist/collection/components/select/select-interface.js.map +1 -1
  120. package/dist/collection/components/select/select.css +41 -37
  121. package/dist/collection/components/select/select.js +233 -68
  122. package/dist/collection/components/select/select.js.map +1 -1
  123. package/dist/collection/components/select-option/select-option.css +3 -0
  124. package/dist/collection/components/select-option/select-option.js +25 -3
  125. package/dist/collection/components/select-option/select-option.js.map +1 -1
  126. package/dist/collection/components/switch/switch.js +0 -1
  127. package/dist/collection/components/switch/switch.js.map +1 -1
  128. package/dist/collection/components/tab/tab.js.map +1 -1
  129. package/dist/collection/components/tabs/tabs.js.map +1 -1
  130. package/dist/collection/components/textarea/textarea.css +3 -1
  131. package/dist/collection/components/textarea/textarea.js +23 -1
  132. package/dist/collection/components/textarea/textarea.js.map +1 -1
  133. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  134. package/dist/collection/index.js +3 -0
  135. package/dist/collection/index.js.map +1 -0
  136. package/dist/collection/shared-types.js +2 -0
  137. package/dist/collection/shared-types.js.map +1 -0
  138. package/dist/collection/utils/helpers.js +30 -0
  139. package/dist/collection/utils/helpers.js.map +1 -1
  140. package/dist/esm/{grid-pagination-62f9fbbc.js → grid-pagination-41354861.js} +2 -3
  141. package/dist/esm/grid-pagination-41354861.js.map +1 -0
  142. package/dist/esm/{helpers-e9b73aad.js → helpers-1f7170dd.js} +32 -2
  143. package/dist/esm/helpers-1f7170dd.js.map +1 -0
  144. package/dist/esm/loader.js +1 -1
  145. package/dist/esm/wcs-action-bar.entry.js.map +1 -1
  146. package/dist/esm/wcs-app.entry.js +1 -2
  147. package/dist/esm/wcs-app.entry.js.map +1 -1
  148. package/dist/esm/wcs-button.entry.js +17 -3
  149. package/dist/esm/wcs-button.entry.js.map +1 -1
  150. package/dist/esm/wcs-checkbox.entry.js +1 -2
  151. package/dist/esm/wcs-checkbox.entry.js.map +1 -1
  152. package/dist/esm/wcs-com-nav-category.entry.js +1 -1
  153. package/dist/esm/wcs-com-nav-category.entry.js.map +1 -1
  154. package/dist/esm/wcs-com-nav-submenu.entry.js +1 -1
  155. package/dist/esm/wcs-com-nav-submenu.entry.js.map +1 -1
  156. package/dist/esm/wcs-com-nav.entry.js.map +1 -1
  157. package/dist/esm/wcs-counter.entry.js +126 -0
  158. package/dist/esm/wcs-counter.entry.js.map +1 -0
  159. package/dist/esm/wcs-dropdown-item.entry.js +1 -1
  160. package/dist/esm/wcs-dropdown.entry.js +1 -1
  161. package/dist/esm/wcs-dropdown.entry.js.map +1 -1
  162. package/dist/esm/wcs-editable-field.entry.js +16 -3
  163. package/dist/esm/wcs-editable-field.entry.js.map +1 -1
  164. package/dist/esm/wcs-error_2.entry.js +1 -1
  165. package/dist/esm/wcs-error_2.entry.js.map +1 -1
  166. package/dist/esm/wcs-field.entry.js.map +1 -1
  167. package/dist/esm/wcs-footer.entry.js.map +1 -1
  168. package/dist/esm/wcs-galactic-menu.entry.js +1 -1
  169. package/dist/esm/wcs-galactic-menu.entry.js.map +1 -1
  170. package/dist/esm/wcs-galactic.entry.js +1 -2
  171. package/dist/esm/wcs-galactic.entry.js.map +1 -1
  172. package/dist/esm/wcs-grid-column.entry.js.map +1 -1
  173. package/dist/esm/wcs-grid-pagination.entry.js +1 -1
  174. package/dist/esm/wcs-grid.entry.js +1 -1
  175. package/dist/esm/wcs-grid.entry.js.map +1 -1
  176. package/dist/esm/wcs-header.entry.js.map +1 -1
  177. package/dist/esm/wcs-hint.entry.js +3 -3
  178. package/dist/esm/wcs-hint.entry.js.map +1 -1
  179. package/dist/esm/wcs-horizontal-stepper.entry.js +0 -1
  180. package/dist/esm/wcs-horizontal-stepper.entry.js.map +1 -1
  181. package/dist/esm/wcs-input.entry.js +14 -4
  182. package/dist/esm/wcs-input.entry.js.map +1 -1
  183. package/dist/esm/wcs-native-select.entry.js +98 -0
  184. package/dist/esm/wcs-native-select.entry.js.map +1 -0
  185. package/dist/esm/wcs-nav-item.entry.js +1 -1
  186. package/dist/esm/wcs-radio-group.entry.js.map +1 -1
  187. package/dist/esm/wcs-radio.entry.js +3 -3
  188. package/dist/esm/wcs-radio.entry.js.map +1 -1
  189. package/dist/esm/wcs-select_2.entry.js +229 -72
  190. package/dist/esm/wcs-select_2.entry.js.map +1 -1
  191. package/dist/esm/wcs-switch.entry.js +1 -2
  192. package/dist/esm/wcs-switch.entry.js.map +1 -1
  193. package/dist/esm/wcs-tab.entry.js.map +1 -1
  194. package/dist/esm/wcs-tabs.entry.js.map +1 -1
  195. package/dist/esm/wcs-textarea.entry.js +5 -3
  196. package/dist/esm/wcs-textarea.entry.js.map +1 -1
  197. package/dist/esm/wcs-tooltip.entry.js.map +1 -1
  198. package/dist/esm/wcs.js +1 -1
  199. package/dist/types/components/action-bar/action-bar.d.ts +2 -2
  200. package/dist/types/components/app/app.d.ts +0 -1
  201. package/dist/types/components/button/button-interface.d.ts +5 -1
  202. package/dist/types/components/button/button.d.ts +16 -7
  203. package/dist/types/components/checkbox/checkbox.d.ts +0 -1
  204. package/dist/types/components/com-nav/com-nav.d.ts +4 -4
  205. package/dist/types/components/com-nav-category/com-nav-category.d.ts +2 -2
  206. package/dist/types/components/com-nav-submenu/com-nav-submenu.d.ts +2 -2
  207. package/dist/types/components/counter/counter-interface.d.ts +7 -0
  208. package/dist/types/components/counter/counter.d.ts +67 -0
  209. package/dist/types/components/dropdown/dropdown.d.ts +2 -2
  210. package/dist/types/components/editable-field/editable-field-interface.d.ts +4 -0
  211. package/dist/types/components/editable-field/editable-field.d.ts +10 -13
  212. package/dist/types/components/field/field.d.ts +4 -0
  213. package/dist/types/components/footer/footer.d.ts +5 -0
  214. package/dist/types/components/form-field/form-field.d.ts +4 -4
  215. package/dist/types/components/galactic/galactic.d.ts +0 -1
  216. package/dist/types/components/galactic-menu/galactic-menu.d.ts +2 -2
  217. package/dist/types/components/grid/grid.d.ts +4 -4
  218. package/dist/types/components/grid-column/grid-column.d.ts +1 -1
  219. package/dist/types/components/grid-pagination/grid-pagination.d.ts +0 -1
  220. package/dist/types/components/header/header.d.ts +5 -0
  221. package/dist/types/components/hint/hint.d.ts +4 -1
  222. package/dist/types/components/horizontal-stepper/horizontal-stepper.d.ts +2 -4
  223. package/dist/types/components/input/input-interface.d.ts +4 -0
  224. package/dist/types/components/input/input.d.ts +8 -8
  225. package/dist/types/components/native-select/native-select.component.d.ts +56 -0
  226. package/dist/types/components/radio/radio.component.d.ts +1 -1
  227. package/dist/types/components/radio-group/radio-group.d.ts +1 -1
  228. package/dist/types/components/select/select-interface.d.ts +4 -0
  229. package/dist/types/components/select/select.d.ts +32 -20
  230. package/dist/types/components/select-option/select-option.d.ts +9 -3
  231. package/dist/types/components/switch/switch.d.ts +0 -1
  232. package/dist/types/components/tabs/tabs.d.ts +3 -3
  233. package/dist/types/components/textarea/textarea.d.ts +10 -2
  234. package/dist/types/components/tooltip/tooltip.d.ts +1 -2
  235. package/dist/types/components.d.ts +242 -22
  236. package/dist/types/index.d.ts +2 -0
  237. package/dist/types/shared-types.d.ts +10 -0
  238. package/dist/types/utils/helpers.d.ts +10 -0
  239. package/dist/wcs/p-029eb12a.entry.js +2 -0
  240. package/dist/wcs/p-029eb12a.entry.js.map +1 -0
  241. package/dist/wcs/p-069555a1.entry.js.map +1 -1
  242. package/dist/wcs/p-07b8cd36.entry.js.map +1 -1
  243. package/dist/wcs/p-12ac2547.js +2 -0
  244. package/dist/wcs/p-12ac2547.js.map +1 -0
  245. package/dist/wcs/p-1e43122f.entry.js.map +1 -1
  246. package/dist/wcs/p-26c4c983.entry.js +2 -0
  247. package/dist/wcs/p-26c4c983.entry.js.map +1 -0
  248. package/dist/wcs/p-26e7de5c.entry.js +16 -0
  249. package/dist/wcs/p-26e7de5c.entry.js.map +1 -0
  250. package/dist/wcs/p-31a8d23f.entry.js +2 -0
  251. package/dist/wcs/{p-d11c66d4.entry.js.map → p-31a8d23f.entry.js.map} +1 -1
  252. package/dist/wcs/p-463667c9.entry.js +2 -0
  253. package/dist/wcs/p-475ac7c5.js +2 -0
  254. package/dist/wcs/p-475ac7c5.js.map +1 -0
  255. package/dist/wcs/p-47d8ece5.entry.js.map +1 -1
  256. package/dist/wcs/p-4a9f8e94.entry.js.map +1 -1
  257. package/dist/wcs/p-4b2d8a6d.entry.js +2 -0
  258. package/dist/wcs/p-4b2d8a6d.entry.js.map +1 -0
  259. package/dist/wcs/{p-c7b42bae.entry.js → p-4b4d53e2.entry.js} +2 -2
  260. package/dist/wcs/p-50dce764.entry.js.map +1 -1
  261. package/dist/wcs/{p-8762cf93.entry.js → p-554ca93c.entry.js} +2 -2
  262. package/dist/wcs/p-627bbb6a.entry.js.map +1 -1
  263. package/dist/wcs/p-64dd7356.entry.js.map +1 -1
  264. package/dist/wcs/p-6acbf38a.entry.js +2 -0
  265. package/dist/wcs/{p-7d7472e2.entry.js.map → p-6acbf38a.entry.js.map} +1 -1
  266. package/dist/wcs/{p-6f921d57.entry.js → p-732b2faa.entry.js} +2 -2
  267. package/dist/wcs/p-732b2faa.entry.js.map +1 -0
  268. package/dist/wcs/{p-587fea23.entry.js → p-966a241e.entry.js} +2 -2
  269. package/dist/wcs/p-966a241e.entry.js.map +1 -0
  270. package/dist/wcs/p-9ecdeaf9.entry.js +2 -0
  271. package/dist/wcs/p-9ecdeaf9.entry.js.map +1 -0
  272. package/dist/wcs/p-a24fa4f4.entry.js +2 -0
  273. package/dist/wcs/p-a24fa4f4.entry.js.map +1 -0
  274. package/dist/wcs/p-a5cd4c07.entry.js +2 -0
  275. package/dist/wcs/{p-8bb19e58.entry.js.map → p-a5cd4c07.entry.js.map} +1 -1
  276. package/dist/wcs/p-b229a91c.entry.js +2 -0
  277. package/dist/wcs/p-b229a91c.entry.js.map +1 -0
  278. package/dist/wcs/{p-d998e112.entry.js → p-b6cd196d.entry.js} +2 -2
  279. package/dist/wcs/{p-d998e112.entry.js.map → p-b6cd196d.entry.js.map} +1 -1
  280. package/dist/wcs/p-b856f2f6.entry.js +2 -0
  281. package/dist/wcs/p-b856f2f6.entry.js.map +1 -0
  282. package/dist/wcs/{p-274232e6.entry.js → p-bcb8b731.entry.js} +2 -2
  283. package/dist/wcs/p-bcb8b731.entry.js.map +1 -0
  284. package/dist/wcs/p-d2da0c9f.entry.js +2 -0
  285. package/dist/wcs/p-d2da0c9f.entry.js.map +1 -0
  286. package/dist/wcs/p-d3f1cafe.entry.js.map +1 -1
  287. package/dist/wcs/p-d6b3f742.entry.js +2 -0
  288. package/dist/wcs/p-d6b3f742.entry.js.map +1 -0
  289. package/dist/wcs/p-ee453b6e.entry.js +2 -0
  290. package/dist/wcs/p-ee453b6e.entry.js.map +1 -0
  291. package/dist/wcs/p-f386bb8b.entry.js.map +1 -1
  292. package/dist/wcs/{p-e4dcd310.entry.js → p-f82e7a61.entry.js} +2 -2
  293. package/dist/wcs/{p-e4dcd310.entry.js.map → p-f82e7a61.entry.js.map} +1 -1
  294. package/dist/wcs/p-fc3f5b53.entry.js.map +1 -1
  295. package/dist/wcs/wcs.css +1 -1
  296. package/dist/wcs/wcs.esm.js +1 -1
  297. package/dist/wcs/wcs.esm.js.map +1 -1
  298. package/package.json +17 -12
  299. package/dist/cjs/grid-pagination-ff65e0ff.js.map +0 -1
  300. package/dist/cjs/helpers-11518d4f.js.map +0 -1
  301. package/dist/esm/grid-pagination-62f9fbbc.js.map +0 -1
  302. package/dist/esm/helpers-e9b73aad.js.map +0 -1
  303. package/dist/wcs/p-111ae1af.entry.js +0 -2
  304. package/dist/wcs/p-111ae1af.entry.js.map +0 -1
  305. package/dist/wcs/p-14e04d5e.entry.js +0 -2
  306. package/dist/wcs/p-14e04d5e.entry.js.map +0 -1
  307. package/dist/wcs/p-274232e6.entry.js.map +0 -1
  308. package/dist/wcs/p-2920b759.entry.js +0 -16
  309. package/dist/wcs/p-2920b759.entry.js.map +0 -1
  310. package/dist/wcs/p-3e370f48.entry.js +0 -2
  311. package/dist/wcs/p-49e66081.entry.js +0 -2
  312. package/dist/wcs/p-49e66081.entry.js.map +0 -1
  313. package/dist/wcs/p-504fb24e.entry.js +0 -2
  314. package/dist/wcs/p-504fb24e.entry.js.map +0 -1
  315. package/dist/wcs/p-5140269d.entry.js +0 -2
  316. package/dist/wcs/p-5140269d.entry.js.map +0 -1
  317. package/dist/wcs/p-587fea23.entry.js.map +0 -1
  318. package/dist/wcs/p-62db1219.js +0 -2
  319. package/dist/wcs/p-62db1219.js.map +0 -1
  320. package/dist/wcs/p-6f921d57.entry.js.map +0 -1
  321. package/dist/wcs/p-7d7472e2.entry.js +0 -2
  322. package/dist/wcs/p-89b3550b.entry.js +0 -2
  323. package/dist/wcs/p-89b3550b.entry.js.map +0 -1
  324. package/dist/wcs/p-8bb19e58.entry.js +0 -2
  325. package/dist/wcs/p-9157466f.entry.js +0 -2
  326. package/dist/wcs/p-9157466f.entry.js.map +0 -1
  327. package/dist/wcs/p-d11c66d4.entry.js +0 -2
  328. package/dist/wcs/p-d218509e.entry.js +0 -2
  329. package/dist/wcs/p-d218509e.entry.js.map +0 -1
  330. package/dist/wcs/p-dc57a5f7.js +0 -2
  331. package/dist/wcs/p-dc57a5f7.js.map +0 -1
  332. /package/dist/wcs/{p-3e370f48.entry.js.map → p-463667c9.entry.js.map} +0 -0
  333. /package/dist/wcs/{p-c7b42bae.entry.js.map → p-4b4d53e2.entry.js.map} +0 -0
  334. /package/dist/wcs/{p-8762cf93.entry.js.map → p-554ca93c.entry.js.map} +0 -0
@@ -6,20 +6,22 @@
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { BadgeColor, BadgeShape } from "./components/badge/badge-interface";
9
- import { WcsButtonMode, WcsButtonShape, WcsButtonType } from "./components/button/button-interface";
9
+ import { WcsButtonMode, WcsButtonShape, WcsButtonSize, WcsButtonType } from "./components/button/button-interface";
10
10
  import { CardMode } from "./components/card/card-interface";
11
11
  import { CheckboxChangeEventDetail, CheckboxLabelAlignment } from "./components/checkbox/checkbox-interface";
12
12
  import { CategoryOpenedEventDetail, MenuOpenedEventDetail } from "./components/com-nav/com-nav-interface";
13
+ import { CounterChangeEventDetail, WcsCounterSize } from "./components/counter/counter-interface";
13
14
  import { WcsDropdownPlacement } from "./components/dropdown/dropdown-interface";
14
- import { EditableComponentUpdateEvent, EditableFieldType, FormatFn, ValidateFn } from "./components/editable-field/editable-field-interface";
15
+ import { EditableComponentUpdateEvent, EditableFieldType, FormatFn, ValidateFn, WcsEditableFieldSize } from "./components/editable-field/editable-field-interface";
15
16
  import { WcsCellFormatter, WcsGridAllRowSelectedEventDetails, WcsGridColumnSortChangeEventDetails, WcsGridPaginationChangeEventDetails, WcsGridRowSelectedEventDetails, WcsGridSelectionConfig, WcsSortFn, WcsSortOrder } from "./components/grid/grid-interface";
16
17
  import { HorizontalStepClickEvent, HorizontalStepConfig, HorizontalStepperMode } from "./components/horizontal-stepper/horizontal-stepper-interface";
17
- import { AutocompleteTypes, InputChangeEventDetail, TextFieldTypes } from "./components/input/input-interface";
18
+ import { AutocompleteTypes, InputChangeEventDetail, TextFieldTypes, WcsInputSize } from "./components/input/input-interface";
18
19
  import { MaterialIconFamily, MaterialIconSize } from "./components/mat-icon/mat-icon-interface";
19
20
  import { ModalSize } from "./components/modal/modal-interface";
21
+ import { WcsNativeSelectSize } from "./components/native-select/native-select.component";
20
22
  import { RadioGroupChangeEventDetail, RadioGroupMode } from "./components/radio-group/radio-group-interface";
21
23
  import { RadioChosedEvent } from "./components/radio/radio-interface";
22
- import { SelectChangeEventDetail } from "./components/select/select-interface";
24
+ import { SelectChangeEventDetail, WcsSelectSize } from "./components/select/select-interface";
23
25
  import { SelectOptionChosedEvent } from "./components/select-option/select-option-interface";
24
26
  import { WcsSpinnerMode } from "./components/spinner/spinner-interface";
25
27
  import { SwitchChangeEventDetail, SwitchLabelAlignment } from "./components/switch/switch-interface";
@@ -27,20 +29,22 @@ import { WcsTabChangeEvent, WcsTabsAlignment } from "./components/tabs/tabs-inte
27
29
  import { TextareaChangeEventDetail } from "./components/textarea/textarea-interface";
28
30
  import { WcsTooltipAppendTo, WcsTooltipPosition } from "./components/tooltip/tooltip-interface";
29
31
  export { BadgeColor, BadgeShape } from "./components/badge/badge-interface";
30
- export { WcsButtonMode, WcsButtonShape, WcsButtonType } from "./components/button/button-interface";
32
+ export { WcsButtonMode, WcsButtonShape, WcsButtonSize, WcsButtonType } from "./components/button/button-interface";
31
33
  export { CardMode } from "./components/card/card-interface";
32
34
  export { CheckboxChangeEventDetail, CheckboxLabelAlignment } from "./components/checkbox/checkbox-interface";
33
35
  export { CategoryOpenedEventDetail, MenuOpenedEventDetail } from "./components/com-nav/com-nav-interface";
36
+ export { CounterChangeEventDetail, WcsCounterSize } from "./components/counter/counter-interface";
34
37
  export { WcsDropdownPlacement } from "./components/dropdown/dropdown-interface";
35
- export { EditableComponentUpdateEvent, EditableFieldType, FormatFn, ValidateFn } from "./components/editable-field/editable-field-interface";
38
+ export { EditableComponentUpdateEvent, EditableFieldType, FormatFn, ValidateFn, WcsEditableFieldSize } from "./components/editable-field/editable-field-interface";
36
39
  export { WcsCellFormatter, WcsGridAllRowSelectedEventDetails, WcsGridColumnSortChangeEventDetails, WcsGridPaginationChangeEventDetails, WcsGridRowSelectedEventDetails, WcsGridSelectionConfig, WcsSortFn, WcsSortOrder } from "./components/grid/grid-interface";
37
40
  export { HorizontalStepClickEvent, HorizontalStepConfig, HorizontalStepperMode } from "./components/horizontal-stepper/horizontal-stepper-interface";
38
- export { AutocompleteTypes, InputChangeEventDetail, TextFieldTypes } from "./components/input/input-interface";
41
+ export { AutocompleteTypes, InputChangeEventDetail, TextFieldTypes, WcsInputSize } from "./components/input/input-interface";
39
42
  export { MaterialIconFamily, MaterialIconSize } from "./components/mat-icon/mat-icon-interface";
40
43
  export { ModalSize } from "./components/modal/modal-interface";
44
+ export { WcsNativeSelectSize } from "./components/native-select/native-select.component";
41
45
  export { RadioGroupChangeEventDetail, RadioGroupMode } from "./components/radio-group/radio-group-interface";
42
46
  export { RadioChosedEvent } from "./components/radio/radio-interface";
43
- export { SelectChangeEventDetail } from "./components/select/select-interface";
47
+ export { SelectChangeEventDetail, WcsSelectSize } from "./components/select/select-interface";
44
48
  export { SelectOptionChosedEvent } from "./components/select-option/select-option-interface";
45
49
  export { WcsSpinnerMode } from "./components/spinner/spinner-interface";
46
50
  export { SwitchChangeEventDetail, SwitchLabelAlignment } from "./components/switch/switch-interface";
@@ -105,11 +109,11 @@ export namespace Components {
105
109
  */
106
110
  interface WcsButton {
107
111
  /**
108
- * Specify wether the button is disabled or not.
112
+ * Specify whether the button is disabled or not.
109
113
  */
110
114
  "disabled": boolean;
111
115
  /**
112
- * Set a URL to point to. If specified use a `a` tag instead of `btn`.
116
+ * Set a URL to point to.<br/> If specified use a `a` tag instead of `btn`.
113
117
  */
114
118
  "href"?: string;
115
119
  /**
@@ -121,13 +125,21 @@ export namespace Components {
121
125
  */
122
126
  "mode": WcsButtonMode;
123
127
  /**
124
- * Specify wether the button should have a ripple effect or not.
128
+ * Specify whether the button should have a ripple effect or not.
125
129
  */
126
130
  "ripple": boolean;
127
131
  /**
128
132
  * Specify the shape of the button.
129
133
  */
130
134
  "shape": WcsButtonShape;
135
+ /**
136
+ * Specify the size of the button.
137
+ */
138
+ "size": WcsButtonSize;
139
+ /**
140
+ * Specifies where to open the linked document when using href (see prop above)<br/> Default '_self' will open the linked document in the same frame as it was clicked
141
+ */
142
+ "target"?: '_blank' | '_self';
131
143
  /**
132
144
  * Specify the button type.
133
145
  */
@@ -187,6 +199,36 @@ export namespace Components {
187
199
  "panelDescription": string;
188
200
  "panelTitle": string;
189
201
  }
202
+ /**
203
+ * Counter component, meant to be used for small range of values (e.g : 0 - 5).<br>
204
+ * For larger or specific ranges, please use [wcs-input (type number)](.?path=/docs/components-input--documentation)
205
+ */
206
+ interface WcsCounter {
207
+ /**
208
+ * The label of the counter.<br/> e.g. Number of passengers, train carriages, railroad tracks...
209
+ */
210
+ "label": string;
211
+ /**
212
+ * The maximum value of the counter. If the value of the max attribute isn't set, then the element has no maximum value.
213
+ */
214
+ "max"?: number;
215
+ /**
216
+ * The minimum value of the counter. If the value of the min attribute isn't set, then the element has no minimum value.
217
+ */
218
+ "min"?: number;
219
+ /**
220
+ * Specify the size (height) of the counter.
221
+ */
222
+ "size": WcsCounterSize;
223
+ /**
224
+ * Defines by how much the counter will be incremented or decremented.
225
+ */
226
+ "step": number;
227
+ /**
228
+ * Allow to change currentValue programmatically
229
+ */
230
+ "value"?: number;
231
+ }
190
232
  interface WcsDivider {
191
233
  }
192
234
  interface WcsDropdown {
@@ -234,6 +276,10 @@ export namespace Components {
234
276
  * Specify whether the field is editable or not
235
277
  */
236
278
  "readonly": boolean;
279
+ /**
280
+ * Specify the size (height) of the editable field.
281
+ */
282
+ "size": WcsEditableFieldSize;
237
283
  /**
238
284
  * Specifies which component is used for editing
239
285
  */
@@ -337,6 +383,9 @@ export namespace Components {
337
383
  interface WcsHeader {
338
384
  }
339
385
  interface WcsHint {
386
+ /**
387
+ * Whether the component should display the small version of the hint
388
+ */
340
389
  "small": boolean;
341
390
  }
342
391
  interface WcsHorizontalStepper {
@@ -476,9 +525,9 @@ export namespace Components {
476
525
  */
477
526
  "setFocus": () => Promise<void>;
478
527
  /**
479
- * The initial size of the control. This value is in pixels unless the value of the type attribute is `"text"` or `"password"`, in which case it is an integer number of characters. This attribute applies only when the `type` attribute is set to `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, or `"password"`, otherwise it is ignored.
528
+ * Specify the size (height) of the input.
480
529
  */
481
- "size"?: number;
530
+ "size": WcsInputSize;
482
531
  /**
483
532
  * If `true`, the element will have its spelling and grammar checked.
484
533
  */
@@ -553,6 +602,27 @@ export namespace Components {
553
602
  */
554
603
  "withoutBackdrop": boolean;
555
604
  }
605
+ /**
606
+ * The `wcs-native-select` component is designed to accept a native <select> element as a slotted child. This choice
607
+ * allows developers to bind the <select> element using the framework of their choice, without the need to re-expose all the
608
+ * properties of the <select> and <option> elements in this component.
609
+ * The component wraps the native <select> element and provides custom styles and behavior, while preserving the native
610
+ * functionality and accessibility.
611
+ * Example usage:
612
+ * <wcs-native-select>
613
+ * <select>
614
+ * <option value="option1">Option 1</option>
615
+ * <option value="option2">Option 2</option>
616
+ * <option value="option3">Option 3</option>
617
+ * </select>
618
+ * </wcs-native-select>
619
+ */
620
+ interface WcsNativeSelect {
621
+ /**
622
+ * The `size` property controls the size of the slotted `select` element by adjusting its padding. There are two possible size options: - 'm': medium size - 'l': large size The default value is 'm'.
623
+ */
624
+ "size": WcsNativeSelectSize;
625
+ }
556
626
  interface WcsNav {
557
627
  }
558
628
  interface WcsNavItem {
@@ -611,7 +681,6 @@ export namespace Components {
611
681
  * <wcs-select>
612
682
  * <wcs-select-option value="1">One</wcs-select-option>
613
683
  * </wcs-select>```
614
- * @todo Complete keyboard navigation.
615
684
  */
616
685
  interface WcsSelect {
617
686
  /**
@@ -646,6 +715,10 @@ export namespace Components {
646
715
  * The text to display when the select is empty.
647
716
  */
648
717
  "placeholder"?: string | null;
718
+ /**
719
+ * Specify the size (height) of the select.
720
+ */
721
+ "size": WcsSelectSize;
649
722
  /**
650
723
  * The currently selected value.
651
724
  */
@@ -744,6 +817,7 @@ export namespace Components {
744
817
  }
745
818
  /**
746
819
  * Mainly inspired from Ionic Textarea Component
820
+ * @cssprop --wcs-textarea-max-height - Max height of the text area component
747
821
  */
748
822
  interface WcsTextarea {
749
823
  /**
@@ -822,6 +896,10 @@ export namespace Components {
822
896
  * If `true`, the user must fill in a value before submitting a form.
823
897
  */
824
898
  "required": boolean;
899
+ /**
900
+ * Indicates how the textarea should be resizable. Possible values 'both' | 'none' | 'vertical' | 'horizontal'
901
+ */
902
+ "resize"?: 'both' | 'none' | 'vertical' | 'horizontal';
825
903
  /**
826
904
  * The number of visible text lines for the control.
827
905
  */
@@ -933,6 +1011,10 @@ export interface WcsComNavSubmenuCustomEvent<T> extends CustomEvent<T> {
933
1011
  detail: T;
934
1012
  target: HTMLWcsComNavSubmenuElement;
935
1013
  }
1014
+ export interface WcsCounterCustomEvent<T> extends CustomEvent<T> {
1015
+ detail: T;
1016
+ target: HTMLWcsCounterElement;
1017
+ }
936
1018
  export interface WcsDropdownItemCustomEvent<T> extends CustomEvent<T> {
937
1019
  detail: T;
938
1020
  target: HTMLWcsDropdownItemElement;
@@ -1085,6 +1167,16 @@ declare global {
1085
1167
  prototype: HTMLWcsComNavSubmenuElement;
1086
1168
  new (): HTMLWcsComNavSubmenuElement;
1087
1169
  };
1170
+ /**
1171
+ * Counter component, meant to be used for small range of values (e.g : 0 - 5).<br>
1172
+ * For larger or specific ranges, please use [wcs-input (type number)](.?path=/docs/components-input--documentation)
1173
+ */
1174
+ interface HTMLWcsCounterElement extends Components.WcsCounter, HTMLStencilElement {
1175
+ }
1176
+ var HTMLWcsCounterElement: {
1177
+ prototype: HTMLWcsCounterElement;
1178
+ new (): HTMLWcsCounterElement;
1179
+ };
1088
1180
  interface HTMLWcsDividerElement extends Components.WcsDivider, HTMLStencilElement {
1089
1181
  }
1090
1182
  var HTMLWcsDividerElement: {
@@ -1266,6 +1358,27 @@ declare global {
1266
1358
  prototype: HTMLWcsModalElement;
1267
1359
  new (): HTMLWcsModalElement;
1268
1360
  };
1361
+ /**
1362
+ * The `wcs-native-select` component is designed to accept a native <select> element as a slotted child. This choice
1363
+ * allows developers to bind the <select> element using the framework of their choice, without the need to re-expose all the
1364
+ * properties of the <select> and <option> elements in this component.
1365
+ * The component wraps the native <select> element and provides custom styles and behavior, while preserving the native
1366
+ * functionality and accessibility.
1367
+ * Example usage:
1368
+ * <wcs-native-select>
1369
+ * <select>
1370
+ * <option value="option1">Option 1</option>
1371
+ * <option value="option2">Option 2</option>
1372
+ * <option value="option3">Option 3</option>
1373
+ * </select>
1374
+ * </wcs-native-select>
1375
+ */
1376
+ interface HTMLWcsNativeSelectElement extends Components.WcsNativeSelect, HTMLStencilElement {
1377
+ }
1378
+ var HTMLWcsNativeSelectElement: {
1379
+ prototype: HTMLWcsNativeSelectElement;
1380
+ new (): HTMLWcsNativeSelectElement;
1381
+ };
1269
1382
  interface HTMLWcsNavElement extends Components.WcsNav, HTMLStencilElement {
1270
1383
  }
1271
1384
  var HTMLWcsNavElement: {
@@ -1311,7 +1424,6 @@ declare global {
1311
1424
  * <wcs-select>
1312
1425
  * <wcs-select-option value="1">One</wcs-select-option>
1313
1426
  * </wcs-select>```
1314
- * @todo Complete keyboard navigation.
1315
1427
  */
1316
1428
  interface HTMLWcsSelectElement extends Components.WcsSelect, HTMLStencilElement {
1317
1429
  }
@@ -1368,6 +1480,7 @@ declare global {
1368
1480
  };
1369
1481
  /**
1370
1482
  * Mainly inspired from Ionic Textarea Component
1483
+ * @cssprop --wcs-textarea-max-height - Max height of the text area component
1371
1484
  */
1372
1485
  interface HTMLWcsTextareaElement extends Components.WcsTextarea, HTMLStencilElement {
1373
1486
  }
@@ -1402,6 +1515,7 @@ declare global {
1402
1515
  "wcs-com-nav": HTMLWcsComNavElement;
1403
1516
  "wcs-com-nav-category": HTMLWcsComNavCategoryElement;
1404
1517
  "wcs-com-nav-submenu": HTMLWcsComNavSubmenuElement;
1518
+ "wcs-counter": HTMLWcsCounterElement;
1405
1519
  "wcs-divider": HTMLWcsDividerElement;
1406
1520
  "wcs-dropdown": HTMLWcsDropdownElement;
1407
1521
  "wcs-dropdown-divider": HTMLWcsDropdownDividerElement;
@@ -1431,6 +1545,7 @@ declare global {
1431
1545
  "wcs-list-item-property": HTMLWcsListItemPropertyElement;
1432
1546
  "wcs-mat-icon": HTMLWcsMatIconElement;
1433
1547
  "wcs-modal": HTMLWcsModalElement;
1548
+ "wcs-native-select": HTMLWcsNativeSelectElement;
1434
1549
  "wcs-nav": HTMLWcsNavElement;
1435
1550
  "wcs-nav-item": HTMLWcsNavItemElement;
1436
1551
  "wcs-progress-bar": HTMLWcsProgressBarElement;
@@ -1505,11 +1620,11 @@ declare namespace LocalJSX {
1505
1620
  */
1506
1621
  interface WcsButton {
1507
1622
  /**
1508
- * Specify wether the button is disabled or not.
1623
+ * Specify whether the button is disabled or not.
1509
1624
  */
1510
1625
  "disabled"?: boolean;
1511
1626
  /**
1512
- * Set a URL to point to. If specified use a `a` tag instead of `btn`.
1627
+ * Set a URL to point to.<br/> If specified use a `a` tag instead of `btn`.
1513
1628
  */
1514
1629
  "href"?: string;
1515
1630
  /**
@@ -1521,13 +1636,21 @@ declare namespace LocalJSX {
1521
1636
  */
1522
1637
  "mode"?: WcsButtonMode;
1523
1638
  /**
1524
- * Specify wether the button should have a ripple effect or not.
1639
+ * Specify whether the button should have a ripple effect or not.
1525
1640
  */
1526
1641
  "ripple"?: boolean;
1527
1642
  /**
1528
1643
  * Specify the shape of the button.
1529
1644
  */
1530
1645
  "shape"?: WcsButtonShape;
1646
+ /**
1647
+ * Specify the size of the button.
1648
+ */
1649
+ "size"?: WcsButtonSize;
1650
+ /**
1651
+ * Specifies where to open the linked document when using href (see prop above)<br/> Default '_self' will open the linked document in the same frame as it was clicked
1652
+ */
1653
+ "target"?: '_blank' | '_self';
1531
1654
  /**
1532
1655
  * Specify the button type.
1533
1656
  */
@@ -1582,6 +1705,44 @@ declare namespace LocalJSX {
1582
1705
  "panelDescription"?: string;
1583
1706
  "panelTitle"?: string;
1584
1707
  }
1708
+ /**
1709
+ * Counter component, meant to be used for small range of values (e.g : 0 - 5).<br>
1710
+ * For larger or specific ranges, please use [wcs-input (type number)](.?path=/docs/components-input--documentation)
1711
+ */
1712
+ interface WcsCounter {
1713
+ /**
1714
+ * The label of the counter.<br/> e.g. Number of passengers, train carriages, railroad tracks...
1715
+ */
1716
+ "label": string;
1717
+ /**
1718
+ * The maximum value of the counter. If the value of the max attribute isn't set, then the element has no maximum value.
1719
+ */
1720
+ "max"?: number;
1721
+ /**
1722
+ * The minimum value of the counter. If the value of the min attribute isn't set, then the element has no minimum value.
1723
+ */
1724
+ "min"?: number;
1725
+ /**
1726
+ * Emitted when the counter loses focus.
1727
+ */
1728
+ "onWcsBlur"?: (event: WcsCounterCustomEvent<FocusEvent>) => void;
1729
+ /**
1730
+ * Emitted when the value of the counter has changed.
1731
+ */
1732
+ "onWcsChange"?: (event: WcsCounterCustomEvent<CounterChangeEventDetail>) => void;
1733
+ /**
1734
+ * Specify the size (height) of the counter.
1735
+ */
1736
+ "size"?: WcsCounterSize;
1737
+ /**
1738
+ * Defines by how much the counter will be incremented or decremented.
1739
+ */
1740
+ "step"?: number;
1741
+ /**
1742
+ * Allow to change currentValue programmatically
1743
+ */
1744
+ "value"?: number;
1745
+ }
1585
1746
  interface WcsDivider {
1586
1747
  }
1587
1748
  interface WcsDropdown {
@@ -1634,6 +1795,10 @@ declare namespace LocalJSX {
1634
1795
  * Specify whether the field is editable or not
1635
1796
  */
1636
1797
  "readonly"?: boolean;
1798
+ /**
1799
+ * Specify the size (height) of the editable field.
1800
+ */
1801
+ "size"?: WcsEditableFieldSize;
1637
1802
  /**
1638
1803
  * Specifies which component is used for editing
1639
1804
  */
@@ -1748,6 +1913,9 @@ declare namespace LocalJSX {
1748
1913
  interface WcsHeader {
1749
1914
  }
1750
1915
  interface WcsHint {
1916
+ /**
1917
+ * Whether the component should display the small version of the hint
1918
+ */
1751
1919
  "small"?: boolean;
1752
1920
  }
1753
1921
  interface WcsHorizontalStepper {
@@ -1889,9 +2057,9 @@ declare namespace LocalJSX {
1889
2057
  */
1890
2058
  "required"?: boolean;
1891
2059
  /**
1892
- * The initial size of the control. This value is in pixels unless the value of the type attribute is `"text"` or `"password"`, in which case it is an integer number of characters. This attribute applies only when the `type` attribute is set to `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, or `"password"`, otherwise it is ignored.
2060
+ * Specify the size (height) of the input.
1893
2061
  */
1894
- "size"?: number;
2062
+ "size"?: WcsInputSize;
1895
2063
  /**
1896
2064
  * If `true`, the element will have its spelling and grammar checked.
1897
2065
  */
@@ -1970,6 +2138,27 @@ declare namespace LocalJSX {
1970
2138
  */
1971
2139
  "withoutBackdrop"?: boolean;
1972
2140
  }
2141
+ /**
2142
+ * The `wcs-native-select` component is designed to accept a native <select> element as a slotted child. This choice
2143
+ * allows developers to bind the <select> element using the framework of their choice, without the need to re-expose all the
2144
+ * properties of the <select> and <option> elements in this component.
2145
+ * The component wraps the native <select> element and provides custom styles and behavior, while preserving the native
2146
+ * functionality and accessibility.
2147
+ * Example usage:
2148
+ * <wcs-native-select>
2149
+ * <select>
2150
+ * <option value="option1">Option 1</option>
2151
+ * <option value="option2">Option 2</option>
2152
+ * <option value="option3">Option 3</option>
2153
+ * </select>
2154
+ * </wcs-native-select>
2155
+ */
2156
+ interface WcsNativeSelect {
2157
+ /**
2158
+ * The `size` property controls the size of the slotted `select` element by adjusting its padding. There are two possible size options: - 'm': medium size - 'l': large size The default value is 'm'.
2159
+ */
2160
+ "size"?: WcsNativeSelectSize;
2161
+ }
1973
2162
  interface WcsNav {
1974
2163
  }
1975
2164
  interface WcsNavItem {
@@ -2033,7 +2222,6 @@ declare namespace LocalJSX {
2033
2222
  * <wcs-select>
2034
2223
  * <wcs-select-option value="1">One</wcs-select-option>
2035
2224
  * </wcs-select>```
2036
- * @todo Complete keyboard navigation.
2037
2225
  */
2038
2226
  interface WcsSelect {
2039
2227
  /**
@@ -2072,6 +2260,10 @@ declare namespace LocalJSX {
2072
2260
  * The text to display when the select is empty.
2073
2261
  */
2074
2262
  "placeholder"?: string | null;
2263
+ /**
2264
+ * Specify the size (height) of the select.
2265
+ */
2266
+ "size"?: WcsSelectSize;
2075
2267
  /**
2076
2268
  * The currently selected value.
2077
2269
  */
@@ -2180,6 +2372,7 @@ declare namespace LocalJSX {
2180
2372
  }
2181
2373
  /**
2182
2374
  * Mainly inspired from Ionic Textarea Component
2375
+ * @cssprop --wcs-textarea-max-height - Max height of the text area component
2183
2376
  */
2184
2377
  interface WcsTextarea {
2185
2378
  /**
@@ -2262,6 +2455,10 @@ declare namespace LocalJSX {
2262
2455
  * If `true`, the user must fill in a value before submitting a form.
2263
2456
  */
2264
2457
  "required"?: boolean;
2458
+ /**
2459
+ * Indicates how the textarea should be resizable. Possible values 'both' | 'none' | 'vertical' | 'horizontal'
2460
+ */
2461
+ "resize"?: 'both' | 'none' | 'vertical' | 'horizontal';
2265
2462
  /**
2266
2463
  * The number of visible text lines for the control.
2267
2464
  */
@@ -2347,6 +2544,7 @@ declare namespace LocalJSX {
2347
2544
  "wcs-com-nav": WcsComNav;
2348
2545
  "wcs-com-nav-category": WcsComNavCategory;
2349
2546
  "wcs-com-nav-submenu": WcsComNavSubmenu;
2547
+ "wcs-counter": WcsCounter;
2350
2548
  "wcs-divider": WcsDivider;
2351
2549
  "wcs-dropdown": WcsDropdown;
2352
2550
  "wcs-dropdown-divider": WcsDropdownDivider;
@@ -2376,6 +2574,7 @@ declare namespace LocalJSX {
2376
2574
  "wcs-list-item-property": WcsListItemProperty;
2377
2575
  "wcs-mat-icon": WcsMatIcon;
2378
2576
  "wcs-modal": WcsModal;
2577
+ "wcs-native-select": WcsNativeSelect;
2379
2578
  "wcs-nav": WcsNav;
2380
2579
  "wcs-nav-item": WcsNavItem;
2381
2580
  "wcs-progress-bar": WcsProgressBar;
@@ -2413,6 +2612,11 @@ declare module "@stencil/core" {
2413
2612
  "wcs-com-nav": LocalJSX.WcsComNav & JSXBase.HTMLAttributes<HTMLWcsComNavElement>;
2414
2613
  "wcs-com-nav-category": LocalJSX.WcsComNavCategory & JSXBase.HTMLAttributes<HTMLWcsComNavCategoryElement>;
2415
2614
  "wcs-com-nav-submenu": LocalJSX.WcsComNavSubmenu & JSXBase.HTMLAttributes<HTMLWcsComNavSubmenuElement>;
2615
+ /**
2616
+ * Counter component, meant to be used for small range of values (e.g : 0 - 5).<br>
2617
+ * For larger or specific ranges, please use [wcs-input (type number)](.?path=/docs/components-input--documentation)
2618
+ */
2619
+ "wcs-counter": LocalJSX.WcsCounter & JSXBase.HTMLAttributes<HTMLWcsCounterElement>;
2416
2620
  "wcs-divider": LocalJSX.WcsDivider & JSXBase.HTMLAttributes<HTMLWcsDividerElement>;
2417
2621
  "wcs-dropdown": LocalJSX.WcsDropdown & JSXBase.HTMLAttributes<HTMLWcsDropdownElement>;
2418
2622
  "wcs-dropdown-divider": LocalJSX.WcsDropdownDivider & JSXBase.HTMLAttributes<HTMLWcsDropdownDividerElement>;
@@ -2449,6 +2653,22 @@ declare module "@stencil/core" {
2449
2653
  "wcs-list-item-property": LocalJSX.WcsListItemProperty & JSXBase.HTMLAttributes<HTMLWcsListItemPropertyElement>;
2450
2654
  "wcs-mat-icon": LocalJSX.WcsMatIcon & JSXBase.HTMLAttributes<HTMLWcsMatIconElement>;
2451
2655
  "wcs-modal": LocalJSX.WcsModal & JSXBase.HTMLAttributes<HTMLWcsModalElement>;
2656
+ /**
2657
+ * The `wcs-native-select` component is designed to accept a native <select> element as a slotted child. This choice
2658
+ * allows developers to bind the <select> element using the framework of their choice, without the need to re-expose all the
2659
+ * properties of the <select> and <option> elements in this component.
2660
+ * The component wraps the native <select> element and provides custom styles and behavior, while preserving the native
2661
+ * functionality and accessibility.
2662
+ * Example usage:
2663
+ * <wcs-native-select>
2664
+ * <select>
2665
+ * <option value="option1">Option 1</option>
2666
+ * <option value="option2">Option 2</option>
2667
+ * <option value="option3">Option 3</option>
2668
+ * </select>
2669
+ * </wcs-native-select>
2670
+ */
2671
+ "wcs-native-select": LocalJSX.WcsNativeSelect & JSXBase.HTMLAttributes<HTMLWcsNativeSelectElement>;
2452
2672
  "wcs-nav": LocalJSX.WcsNav & JSXBase.HTMLAttributes<HTMLWcsNavElement>;
2453
2673
  "wcs-nav-item": LocalJSX.WcsNavItem & JSXBase.HTMLAttributes<HTMLWcsNavItemElement>;
2454
2674
  /**
@@ -2464,7 +2684,6 @@ declare module "@stencil/core" {
2464
2684
  * <wcs-select>
2465
2685
  * <wcs-select-option value="1">One</wcs-select-option>
2466
2686
  * </wcs-select>```
2467
- * @todo Complete keyboard navigation.
2468
2687
  */
2469
2688
  "wcs-select": LocalJSX.WcsSelect & JSXBase.HTMLAttributes<HTMLWcsSelectElement>;
2470
2689
  /**
@@ -2491,6 +2710,7 @@ declare module "@stencil/core" {
2491
2710
  "wcs-tabs": LocalJSX.WcsTabs & JSXBase.HTMLAttributes<HTMLWcsTabsElement>;
2492
2711
  /**
2493
2712
  * Mainly inspired from Ionic Textarea Component
2713
+ * @cssprop --wcs-textarea-max-height - Max height of the text area component
2494
2714
  */
2495
2715
  "wcs-textarea": LocalJSX.WcsTextarea & JSXBase.HTMLAttributes<HTMLWcsTextareaElement>;
2496
2716
  /**
@@ -0,0 +1,2 @@
1
+ export * from './components';
2
+ export * from './shared-types';
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Meant to be extracted with TS and used in each component differently, depending on the use case.
3
+ * Global size guideline (with basis at 8px) :
4
+ * xl = 56 px
5
+ * l = 48 px
6
+ * m = 40 px (default)
7
+ * s = 32 px
8
+ * xs = 24 px
9
+ */
10
+ export type WcsSize = 'xs' | 's' | 'm' | 'l' | 'xl';
@@ -27,8 +27,18 @@ export declare const raf: (h: any) => any;
27
27
  */
28
28
  export declare const clickInsideElement: (event: MouseEvent, element: HTMLElement) => boolean;
29
29
  export declare const clickTargetIsElementOrChildren: (mouseEvent: MouseEvent, element: HTMLElement) => boolean;
30
+ export declare function generateUniqueId(componentName: string): string;
30
31
  export declare function isKeyup(evt: KeyboardEvent): boolean;
31
32
  export declare function isKeydown(evt: KeyboardEvent): boolean;
32
33
  export declare function isEscapeKey(evt: KeyboardEvent): boolean;
33
34
  export declare function isSpaceKey(evt: KeyboardEvent): boolean;
34
35
  export declare function isEnterKey(evt: KeyboardEvent): boolean;
36
+ export declare function isHomeKey(evt: KeyboardEvent): boolean;
37
+ export declare function isEndKey(evt: KeyboardEvent): boolean;
38
+ export declare function isUpArrowKey(evt: KeyboardEvent): boolean;
39
+ export declare function isDownArrowKey(evt: KeyboardEvent): boolean;
40
+ export declare function isLeftArrowKey(evt: KeyboardEvent): boolean;
41
+ export declare function isRightArrowKey(evt: KeyboardEvent): boolean;
42
+ export declare function isPageDownKey(evt: KeyboardEvent): boolean;
43
+ export declare function isPageUpKey(evt: KeyboardEvent): boolean;
44
+ export declare function isTabKey(evt: KeyboardEvent): boolean;
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,H as s,g as i}from"./p-a2df3a49.js";import{S as a}from"./p-d6c3e615.js";const r=":host{width:100%;box-sizing:border-box}::slotted(select){box-sizing:border-box;-moz-appearance:none !important;-webkit-appearance:none !important;appearance:none !important;--wcs-select-native-ligther-percentage:40;--wcs-select-native-border-radius:var(--wcs-border-radius);--wcs-select-native-background-color:var(--wcs-light);--wcs-select-native-placeholder-color:var(--wcs-text-medium);--wcs-select-native-value-color:var(--wcs-primary);--wcs-select-native-border-color:transparent;--wcs-select-native-overlay-max-height:360px;--wcs-select-native-border-width:2px;background-color:var(--wcs-select-native-background-color);color:var(--wcs-select-native-color);border-radius:var(--wcs-border-radius);border:none;outline:none;user-select:none;cursor:pointer;line-height:1.5;font-size:1rem;width:100%;padding-right:calc(var(--wcs-base-margin) * 2);padding-left:calc(var(--wcs-base-margin) * 2)}::slotted(select:disabled){cursor:not-allowed;color:var(--wcs-text-disabled)}:host([data-disabled]) .select-wrapper .arrow-container .arrow{fill:var(--wcs-text-medium)}:host([data-size=m]) ::slotted(select){height:var(--wcs-size-m)}:host([data-size=l]) ::slotted(select){height:var(--wcs-size-l)}::slotted(select:focus){background-clip:padding-box;box-shadow:inset 0 0 0 var(--wcs-select-native-border-width) var(--wcs-blue);background-color:var(--wcs-white)}.select-wrapper{position:relative}svg{flex-shrink:0}.arrow{fill:var(--wcs-primary)}.arrow-container{pointer-events:none;display:flex;align-items:center;vertical-align:center;position:absolute;top:0;bottom:0;right:calc(var(--wcs-padding) - 1px);margin:auto 0}";const o=class{constructor(t){e(this,t);this.SLOTTED_SELECT_TRACKED_ATTRIBUTES_LIST=["disabled"];this.size="m";this.expanded=false;this.disabled=undefined}componentWillLoad(){this.selectElement=this.el.querySelector("select");if(!this.selectElement)throw new Error("wcs-native-select must be used with a native slotted select, please refer to the documentation.");this.onSelectedOptionChange();this.selectElement.addEventListener("change",(()=>{this.onSelectedOptionChange()}));this.observer=new MutationObserver((e=>{const t=e.filter((e=>this.SLOTTED_SELECT_TRACKED_ATTRIBUTES_LIST.includes(e.attributeName))).length>0;if(t){this.updateHostAttributeWithSlottedSelect()}}));this.updateHostAttributeWithSlottedSelect();this.observer.observe(this.selectElement,{attributes:true})}onSelectedOptionChange(){if(this.isPlaceholderOptionSelected()){this.applyPlaceholderStylesOnNativeSlottedSelectElement()}else{this.applySelectedOptionStylesOnNativeSlottedSelectElement()}}isPlaceholderOptionSelected(){var e;return((e=Array.from(this.selectElement.options).filter((e=>e.selected))[0])===null||e===void 0?void 0:e.disabled)==true}applySelectedOptionStylesOnNativeSlottedSelectElement(){this.selectElement.style.color="var(--wcs-blue)";this.selectElement.style.fontStyle="normal";this.selectElement.style.fontWeight="500";Array.from(this.selectElement.options).forEach((e=>{e.style.fontStyle="normal";if(!e.disabled){e.style.color="black"}}))}applyPlaceholderStylesOnNativeSlottedSelectElement(){this.selectElement.style.color="var(--wcs-text-medium)";this.selectElement.style.fontWeight="400";this.selectElement.style.fontStyle="italic";Array.from(this.selectElement.options).forEach((e=>{e.style.fontStyle="normal";if(!e.disabled){e.style.color="black"}}))}updateHostAttributeWithSlottedSelect(){var e;this.disabled=(e=this.selectElement)===null||e===void 0?void 0:e.hasAttribute("disabled")}disconnectedCallback(){var e,t;(e=this.observer)===null||e===void 0?void 0:e.disconnect();(t=this.selectElement)===null||t===void 0?void 0:t.removeEventListener("change",(()=>{this.onSelectedOptionChange()}))}render(){return t(s,{class:`${this.expanded?"expanded":""}`,"data-disabled":this.disabled,"data-size":this.size},t("div",{class:"select-wrapper"},t("slot",null),t("div",{class:"arrow-container"},t(a,{up:this.expanded}))))}get el(){return i(this)}};o.style=r;export{o as wcs_native_select};
2
+ //# sourceMappingURL=p-029eb12a.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nativeSelectCss","NativeSelect","this","SLOTTED_SELECT_TRACKED_ATTRIBUTES_LIST","componentWillLoad","selectElement","el","querySelector","Error","onSelectedOptionChange","addEventListener","observer","MutationObserver","mutations","hasSpiedAttrMutation","filter","m","includes","attributeName","length","updateHostAttributeWithSlottedSelect","observe","attributes","isPlaceholderOptionSelected","applyPlaceholderStylesOnNativeSlottedSelectElement","applySelectedOptionStylesOnNativeSlottedSelectElement","_a","Array","from","options","o","selected","disabled","style","color","fontStyle","fontWeight","forEach","option","hasAttribute","disconnectedCallback","disconnect","_b","removeEventListener","render","h","Host","class","expanded","size","SelectArrow","up"],"sources":["./src/components/native-select/native-select.scss?tag=wcs-native-select&encapsulation=shadow","./src/components/native-select/native-select.component.tsx"],"sourcesContent":["// TODO: voir pour mettre en commun avec le style du composant personnalisée\n@import '../../style/focus-outline.scss';\n\n:host {\n width: 100%;\n box-sizing: border-box;\n}\n\n::slotted(select) {\n box-sizing: border-box;\n -moz-appearance:none !important;\n -webkit-appearance: none !important;\n appearance: none !important;\n\n --wcs-select-native-ligther-percentage: 40;\n --wcs-select-native-border-radius: var(--wcs-border-radius);\n --wcs-select-native-background-color: var(--wcs-light);\n --wcs-select-native-placeholder-color: var(--wcs-text-medium);\n --wcs-select-native-value-color: var(--wcs-primary);\n --wcs-select-native-border-color: transparent;\n --wcs-select-native-overlay-max-height: 360px;\n --wcs-select-native-border-width: 2px;\n\n background-color: var(--wcs-select-native-background-color);\n\n color: var(--wcs-select-native-color);\n\n border-radius: var(--wcs-border-radius);\n border: none;\n\n outline: none;\n user-select: none;\n cursor: pointer;\n line-height: 1.5;\n font-size: 1rem;\n width: 100%;\n padding-right: calc(var(--wcs-base-margin) * 2);\n padding-left: calc(var(--wcs-base-margin) * 2);\n}\n\n::slotted(select:disabled) {\n cursor: not-allowed;\n color: var(--wcs-text-disabled);\n}\n\n:host([data-disabled]) {\n .select-wrapper {\n .arrow-container {\n .arrow {\n fill: var(--wcs-text-medium);\n }\n }\n }\n}\n\n:host([data-size=m]) {\n ::slotted(select) {\n height: var(--wcs-size-m);\n }\n}\n\n:host([data-size=l]) {\n ::slotted(select) {\n height: var(--wcs-size-l);\n }\n}\n\n::slotted(select:focus) {\n background-clip: padding-box;\n box-shadow: inset 0 0 0 var(--wcs-select-native-border-width) var(--wcs-blue);\n background-color: var(--wcs-white);\n}\n\n.select-wrapper {\n position: relative;\n}\n\n// So the arrow on the right doesn't shrink when text overflows.\nsvg {\n flex-shrink: 0;\n}\n\n.arrow {\n fill: var(--wcs-primary);\n}\n\n.arrow-container {\n pointer-events: none;\n display: flex;\n align-items: center;\n vertical-align: center;\n\n position: absolute;\n top: 0;\n bottom: 0;\n right: calc(var(--wcs-padding) - 1px);\n margin: auto 0;\n}\n","import { Component, h, ComponentInterface, State, Prop, Host, Element } from '@stencil/core';\nimport { SelectArrow } from '../select/select-arrow';\nimport { WcsSize } from \"../../shared-types\";\n\nexport type WcsNativeSelectSize = Extract<WcsSize, 'l' | 'm'>; // todo: move into common file with custom select\n\n\n\n/**\n * The `wcs-native-select` component is designed to accept a native <select> element as a slotted child. This choice\n * allows developers to bind the <select> element using the framework of their choice, without the need to re-expose all the\n * properties of the <select> and <option> elements in this component.\n *\n * The component wraps the native <select> element and provides custom styles and behavior, while preserving the native\n * functionality and accessibility.\n *\n * Example usage:\n *\n * <wcs-native-select>\n * <select>\n * <option value=\"option1\">Option 1</option>\n * <option value=\"option2\">Option 2</option>\n * <option value=\"option3\">Option 3</option>\n * </select>\n * </wcs-native-select>\n */\n@Component({\n tag: 'wcs-native-select',\n styleUrl: 'native-select.scss',\n shadow: true\n})\nexport class NativeSelect implements ComponentInterface {\n /**\n * The `size` property controls the size of the slotted `select` element by adjusting its padding.\n * There are two possible size options:\n * - 'm': medium size\n * - 'l': large size\n *\n * The default value is 'm'.\n */\n @Prop({ reflect: true }) size: WcsNativeSelectSize = 'm';\n\n @Element() private el!: HTMLWcsNativeSelectElement;\n\n @State() private expanded: boolean = false;\n @State() private disabled: boolean;\n\n private selectElement: HTMLSelectElement;\n private observer: MutationObserver;\n\n\n private readonly SLOTTED_SELECT_TRACKED_ATTRIBUTES_LIST = ['disabled'];\n\n componentWillLoad() {\n this.selectElement = this.el.querySelector('select');\n if (!this.selectElement) throw new Error(\"wcs-native-select must be used with a native slotted select, please refer to the documentation.\");\n\n this.onSelectedOptionChange();\n\n /**\n * We use an event listener to apply the default style to the select when user chose an active option\n */\n this.selectElement.addEventListener('change', () => {\n this.onSelectedOptionChange();\n });\n\n this.observer = new MutationObserver(mutations => {\n const hasSpiedAttrMutation = mutations.filter(m => this.SLOTTED_SELECT_TRACKED_ATTRIBUTES_LIST.includes(m.attributeName)).length > 0;\n if (hasSpiedAttrMutation) {\n this.updateHostAttributeWithSlottedSelect();\n }\n });\n this.updateHostAttributeWithSlottedSelect();\n this.observer.observe(this.selectElement, {attributes: true});\n }\n\n private onSelectedOptionChange(): void {\n if (this.isPlaceholderOptionSelected()) {\n this.applyPlaceholderStylesOnNativeSlottedSelectElement();\n } else {\n this.applySelectedOptionStylesOnNativeSlottedSelectElement();\n }\n }\n\n private isPlaceholderOptionSelected() {\n return Array.from(this.selectElement.options).filter(o => o.selected)[0]?.disabled == true;\n }\n\n /**\n * This method should always unset all styles modified by the `applyPlaceholderStylesOnNativeSlottedSelectElement()`\n * @private\n */\n private applySelectedOptionStylesOnNativeSlottedSelectElement() {\n this.selectElement.style.color = \"var(--wcs-blue)\";\n this.selectElement.style.fontStyle = 'normal';\n this.selectElement.style.fontWeight = '500';\n Array.from(this.selectElement.options).forEach(option => {\n option.style.fontStyle = 'normal';\n if (!option.disabled) {\n option.style.color = \"black\";\n }\n });\n }\n\n /**\n * This method apply styles when the placeholder is shown.\n *\n * We use javascript because we cannot achieve that behaviour in pure css when the native select is not required\n * @private\n */\n private applyPlaceholderStylesOnNativeSlottedSelectElement() {\n this.selectElement.style.color = \"var(--wcs-text-medium)\";\n this.selectElement.style.fontWeight = '400';\n this.selectElement.style.fontStyle = 'italic';\n Array.from(this.selectElement.options).forEach(option => {\n option.style.fontStyle = 'normal';\n if (!option.disabled) {\n option.style.color = \"black\";\n }\n });\n }\n\n private updateHostAttributeWithSlottedSelect() {\n this.disabled = this.selectElement?.hasAttribute('disabled');\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n this.selectElement?.removeEventListener(\"change\", () => {\n this.onSelectedOptionChange();\n });\n }\n\n render() {\n return (\n <Host class={`${this.expanded ? 'expanded' : ''}`} data-disabled={this.disabled} data-size={this.size}>\n <div class=\"select-wrapper\">\n <slot></slot>\n <div class=\"arrow-container\">\n <SelectArrow up={this.expanded}></SelectArrow>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAkB,8kD,MC+BXC,EAAY,M,yBAoBJC,KAAAC,uCAAyC,CAAC,Y,UAXN,I,cAIhB,M,wBASrCC,oBACIF,KAAKG,cAAgBH,KAAKI,GAAGC,cAAc,UAC3C,IAAKL,KAAKG,cAAe,MAAM,IAAIG,MAAM,mGAEzCN,KAAKO,yBAKLP,KAAKG,cAAcK,iBAAiB,UAAU,KAC1CR,KAAKO,wBAAwB,IAGjCP,KAAKS,SAAW,IAAIC,kBAAiBC,IACjC,MAAMC,EAAuBD,EAAUE,QAAOC,GAAKd,KAAKC,uCAAuCc,SAASD,EAAEE,iBAAgBC,OAAS,EACnI,GAAIL,EAAsB,CACtBZ,KAAKkB,sC,KAGblB,KAAKkB,uCACLlB,KAAKS,SAASU,QAAQnB,KAAKG,cAAe,CAACiB,WAAY,M,CAGnDb,yBACJ,GAAIP,KAAKqB,8BAA+B,CACpCrB,KAAKsB,oD,KACF,CACHtB,KAAKuB,uD,EAILF,8B,MACJ,QAAOG,EAAAC,MAAMC,KAAK1B,KAAKG,cAAcwB,SAASd,QAAOe,GAAKA,EAAEC,WAAU,MAAE,MAAAL,SAAA,SAAAA,EAAEM,WAAY,I,CAOlFP,wDACJvB,KAAKG,cAAc4B,MAAMC,MAAQ,kBACjChC,KAAKG,cAAc4B,MAAME,UAAY,SACrCjC,KAAKG,cAAc4B,MAAMG,WAAa,MACtCT,MAAMC,KAAK1B,KAAKG,cAAcwB,SAASQ,SAAQC,IAC3CA,EAAOL,MAAME,UAAY,SACzB,IAAKG,EAAON,SAAU,CAClBM,EAAOL,MAAMC,MAAQ,O,KAWzBV,qDACJtB,KAAKG,cAAc4B,MAAMC,MAAQ,yBACjChC,KAAKG,cAAc4B,MAAMG,WAAa,MACtClC,KAAKG,cAAc4B,MAAME,UAAY,SACrCR,MAAMC,KAAK1B,KAAKG,cAAcwB,SAASQ,SAAQC,IAC3CA,EAAOL,MAAME,UAAY,SACzB,IAAKG,EAAON,SAAU,CAClBM,EAAOL,MAAMC,MAAQ,O,KAKzBd,uC,MACJlB,KAAK8B,UAAWN,EAAAxB,KAAKG,iBAAa,MAAAqB,SAAA,SAAAA,EAAEa,aAAa,W,CAGrDC,uB,SACId,EAAAxB,KAAKS,YAAQ,MAAAe,SAAA,SAAAA,EAAEe,cACfC,EAAAxC,KAAKG,iBAAa,MAAAqC,SAAA,SAAAA,EAAEC,oBAAoB,UAAU,KAC9CzC,KAAKO,wBAAwB,G,CAIrCmC,SACI,OACIC,EAACC,EAAI,CAACC,MAAO,GAAG7C,KAAK8C,SAAW,WAAa,KAAI,gBAAiB9C,KAAK8B,SAAQ,YAAa9B,KAAK+C,MAC7FJ,EAAA,OAAKE,MAAM,kBACPF,EAAA,aACAA,EAAA,OAAKE,MAAM,mBACPF,EAACK,EAAW,CAACC,GAAIjD,KAAK8C,a"}
@@ -1 +1 @@
1
- {"version":3,"names":["radioGroupCss","RadioGroup","onValueChangeHandler","newValue","this","updateOptionsState","componentDidLoad","value","mode","option","options","opts","el","querySelectorAll","slot","querySelector","length","assignedElements","selectedOptionChanged","event","detail","wcsChange","emit","markAsChecked","removeAttribute","setAttribute","render","h","Host","name"],"sources":["./src/components/radio-group/radio-group.scss?tag=wcs-radio-group&encapsulation=shadow","./src/components/radio-group/radio-group.tsx"],"sourcesContent":[":host {\n display: flex;\n}\n\n:host([mode=radio]) {\n flex-direction: column;\n\n ::slotted([slot=option]:first-child) {\n margin-top: 0;\n }\n\n ::slotted([slot=option]:last-child) {\n margin-bottom: 0;\n }\n\n ::slotted([slot=options]) {\n margin-top: calc(var(--wcs-base-margin) / 2);\n margin-bottom: calc(var(--wcs-base-margin) / 2);\n }\n}\n\n:host([mode=option]) {\n display: inline-flex;\n flex-direction: row;\n padding: calc(var(--wcs-base-margin) / 4);\n background-color: #4d4f53;\n border-radius: 0.6875rem;\n}\n\n:host([mode=horizontal]) {\n justify-content: space-between;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n Watch\n} from '@stencil/core';\nimport { RadioGroupChangeEventDetail, RadioGroupMode } from './radio-group-interface';\nimport { RadioChosedEvent } from '../radio/radio-interface';\n\n@Component({\n tag: 'wcs-radio-group',\n styleUrl: 'radio-group.scss',\n shadow: true\n})\nexport class RadioGroup implements ComponentInterface {\n @Prop() value: any | any[] | undefined | null;\n @Prop({reflect: true, mutable: false}) name;\n @Prop({reflect: true, mutable: false}) mode: RadioGroupMode = 'radio';\n @Element() el!: HTMLWcsRadioGroupElement;\n\n /** Emitted when the value has changed. */\n @Event() wcsChange!: EventEmitter<RadioGroupChangeEventDetail>;\n\n @Watch('value')\n onValueChangeHandler(newValue: any) {\n this.updateOptionsState(newValue, true);\n }\n\n componentDidLoad() {\n if (this.value) {\n this.updateOptionsState(this.value, true);\n }\n if (this.mode === 'option' || this.mode === 'horizontal') {\n for (const option of this.options) {\n option.mode = this.mode;\n }\n }\n }\n\n private get options(): HTMLWcsRadioElement[] {\n const opts = this.el.querySelectorAll('wcs-radio');\n const slot = this.el.querySelector('slot');\n return opts.length !== 0\n ? opts as unknown as HTMLWcsRadioElement[]\n : slot !== null\n ? slot.assignedElements() as HTMLWcsRadioElement[]\n : [];\n }\n\n @Listen('wcsRadioClick')\n selectedOptionChanged(event: CustomEvent<RadioChosedEvent>) {\n this.updateOptionsState(event.detail.value, false);\n this.wcsChange.emit({\n value: event.detail.value\n })\n }\n\n private updateOptionsState(value: string, markAsChecked: boolean) {\n for (const option of this.options) {\n if (option.value !== value) {\n option.removeAttribute('checked');\n } else {\n if (markAsChecked) {\n option.setAttribute('checked', '');\n }\n }\n }\n }\n\n render() {\n return (\n <Host>\n <slot name=\"option\"/>\n </Host>\n );\n }\n\n}\n"],"mappings":"gEAAA,MAAMA,EAAgB,oiB,MCoBTC,EAAU,M,iHAG2C,O,CAO9DC,qBAAqBC,GACjBC,KAAKC,mBAAmBF,EAAU,K,CAGtCG,mBACI,GAAIF,KAAKG,MAAO,CACZH,KAAKC,mBAAmBD,KAAKG,MAAO,K,CAExC,GAAIH,KAAKI,OAAS,UAAYJ,KAAKI,OAAS,aAAc,CACtD,IAAK,MAAMC,KAAUL,KAAKM,QAAS,CAC/BD,EAAOD,KAAOJ,KAAKI,I,GAKnBE,cACR,MAAMC,EAAOP,KAAKQ,GAAGC,iBAAiB,aACtC,MAAMC,EAAOV,KAAKQ,GAAGG,cAAc,QACnC,OAAOJ,EAAKK,SAAW,EACjBL,EACAG,IAAS,KACLA,EAAKG,mBACL,E,CAIdC,sBAAsBC,GAClBf,KAAKC,mBAAmBc,EAAMC,OAAOb,MAAO,OAC5CH,KAAKiB,UAAUC,KAAK,CAChBf,MAAOY,EAAMC,OAAOb,O,CAIpBF,mBAAmBE,EAAegB,GACtC,IAAK,MAAMd,KAAUL,KAAKM,QAAS,CAC/B,GAAID,EAAOF,QAAUA,EAAO,CACxBE,EAAOe,gBAAgB,U,KACpB,CACH,GAAID,EAAe,CACfd,EAAOgB,aAAa,UAAW,G,IAM/CC,SACI,OACIC,EAACC,EAAI,KACDD,EAAA,QAAME,KAAK,W"}
1
+ {"version":3,"names":["radioGroupCss","RadioGroup","onValueChangeHandler","newValue","this","updateOptionsState","componentDidLoad","value","mode","option","options","opts","el","querySelectorAll","slot","querySelector","length","assignedElements","selectedOptionChanged","event","detail","wcsChange","emit","markAsChecked","removeAttribute","setAttribute","render","h","Host","name"],"sources":["./src/components/radio-group/radio-group.scss?tag=wcs-radio-group&encapsulation=shadow","./src/components/radio-group/radio-group.tsx"],"sourcesContent":[":host {\n display: flex;\n}\n\n:host([mode=radio]) {\n flex-direction: column;\n\n ::slotted([slot=option]:first-child) {\n margin-top: 0;\n }\n\n ::slotted([slot=option]:last-child) {\n margin-bottom: 0;\n }\n\n ::slotted([slot=options]) {\n margin-top: calc(var(--wcs-base-margin) / 2);\n margin-bottom: calc(var(--wcs-base-margin) / 2);\n }\n}\n\n:host([mode=option]) {\n display: inline-flex;\n flex-direction: row;\n padding: calc(var(--wcs-base-margin) / 4);\n background-color: #4d4f53;\n border-radius: 0.6875rem;\n}\n\n:host([mode=horizontal]) {\n justify-content: space-between;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n Watch\n} from '@stencil/core';\nimport { RadioGroupChangeEventDetail, RadioGroupMode } from './radio-group-interface';\nimport { RadioChosedEvent } from '../radio/radio-interface';\n\n@Component({\n tag: 'wcs-radio-group',\n styleUrl: 'radio-group.scss',\n shadow: true\n})\nexport class RadioGroup implements ComponentInterface {\n @Prop() value: any | any[] | undefined | null;\n @Prop({reflect: true, mutable: false}) name;\n @Prop({reflect: true, mutable: false}) mode: RadioGroupMode = 'radio';\n @Element() private el!: HTMLWcsRadioGroupElement;\n\n /** Emitted when the value has changed. */\n @Event() wcsChange!: EventEmitter<RadioGroupChangeEventDetail>;\n\n @Watch('value')\n onValueChangeHandler(newValue: any) {\n this.updateOptionsState(newValue, true);\n }\n\n componentDidLoad() {\n if (this.value) {\n this.updateOptionsState(this.value, true);\n }\n if (this.mode === 'option' || this.mode === 'horizontal') {\n for (const option of this.options) {\n option.mode = this.mode;\n }\n }\n }\n\n private get options(): HTMLWcsRadioElement[] {\n const opts = this.el.querySelectorAll('wcs-radio');\n const slot = this.el.querySelector('slot');\n return opts.length !== 0\n ? opts as unknown as HTMLWcsRadioElement[]\n : slot !== null\n ? slot.assignedElements() as HTMLWcsRadioElement[]\n : [];\n }\n\n @Listen('wcsRadioClick')\n selectedOptionChanged(event: CustomEvent<RadioChosedEvent>) {\n this.updateOptionsState(event.detail.value, false);\n this.wcsChange.emit({\n value: event.detail.value\n })\n }\n\n private updateOptionsState(value: string, markAsChecked: boolean) {\n for (const option of this.options) {\n if (option.value !== value) {\n option.removeAttribute('checked');\n } else {\n if (markAsChecked) {\n option.setAttribute('checked', '');\n }\n }\n }\n }\n\n render() {\n return (\n <Host>\n <slot name=\"option\"/>\n </Host>\n );\n }\n\n}\n"],"mappings":"gEAAA,MAAMA,EAAgB,oiB,MCoBTC,EAAU,M,iHAG2C,O,CAO9DC,qBAAqBC,GACjBC,KAAKC,mBAAmBF,EAAU,K,CAGtCG,mBACI,GAAIF,KAAKG,MAAO,CACZH,KAAKC,mBAAmBD,KAAKG,MAAO,K,CAExC,GAAIH,KAAKI,OAAS,UAAYJ,KAAKI,OAAS,aAAc,CACtD,IAAK,MAAMC,KAAUL,KAAKM,QAAS,CAC/BD,EAAOD,KAAOJ,KAAKI,I,GAKnBE,cACR,MAAMC,EAAOP,KAAKQ,GAAGC,iBAAiB,aACtC,MAAMC,EAAOV,KAAKQ,GAAGG,cAAc,QACnC,OAAOJ,EAAKK,SAAW,EACjBL,EACAG,IAAS,KACLA,EAAKG,mBACL,E,CAIdC,sBAAsBC,GAClBf,KAAKC,mBAAmBc,EAAMC,OAAOb,MAAO,OAC5CH,KAAKiB,UAAUC,KAAK,CAChBf,MAAOY,EAAMC,OAAOb,O,CAIpBF,mBAAmBE,EAAegB,GACtC,IAAK,MAAMd,KAAUL,KAAKM,QAAS,CAC/B,GAAID,EAAOF,QAAUA,EAAO,CACxBE,EAAOe,gBAAgB,U,KACpB,CACH,GAAID,EAAe,CACfd,EAAOgB,aAAa,UAAW,G,IAM/CC,SACI,OACIC,EAACC,EAAI,KACDD,EAAA,QAAME,KAAK,W"}