wcs-core 7.0.0 → 7.2.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 (664) hide show
  1. package/README.md +1 -11
  2. package/design-tokens/dist/sncf-groupe-root-scoped.css +590 -0
  3. package/design-tokens/dist/sncf-groupe.css +590 -0
  4. package/design-tokens/dist/sncf-groupe.json +10693 -0
  5. package/design-tokens/dist/sncf-holding-root-scoped.css +590 -0
  6. package/design-tokens/dist/sncf-holding.css +437 -423
  7. package/design-tokens/dist/sncf-holding.json +80 -3
  8. package/design-tokens/dist/sncf-reseau-root-scoped.css +652 -0
  9. package/design-tokens/dist/sncf-reseau.css +473 -463
  10. package/design-tokens/dist/sncf-reseau.json +54 -0
  11. package/design-tokens/dist/sncf-voyageurs-root-scoped.css +550 -0
  12. package/design-tokens/dist/sncf-voyageurs.css +394 -381
  13. package/design-tokens/dist/sncf-voyageurs.json +54 -0
  14. package/dist/cjs/{com-nav-utils-9f6c99b8.js → com-nav-utils-ff4f0bef.js} +2 -2
  15. package/dist/cjs/{com-nav-utils-9f6c99b8.js.map → com-nav-utils-ff4f0bef.js.map} +1 -1
  16. package/dist/cjs/control-component-interface-d9b68f28.js +43 -0
  17. package/dist/cjs/control-component-interface-d9b68f28.js.map +1 -0
  18. package/dist/cjs/{grid-pagination-2c752b22.js → grid-pagination-4505d7b6.js} +26 -6
  19. package/dist/cjs/grid-pagination-4505d7b6.js.map +1 -0
  20. package/dist/cjs/{helpers-871f5a3d.js → helpers-2f1a8ddc.js} +44 -1
  21. package/dist/cjs/helpers-2f1a8ddc.js.map +1 -0
  22. package/dist/cjs/{keyboard-event-d2c81ce0.js → keyboard-event-40ecdc27.js} +2 -2
  23. package/dist/cjs/{keyboard-event-d2c81ce0.js.map → keyboard-event-40ecdc27.js.map} +1 -1
  24. package/dist/cjs/loader.cjs.js +1 -1
  25. package/dist/cjs/wcs-accordion-panel.cjs.entry.js +2 -2
  26. package/dist/cjs/wcs-accordion-panel.cjs.entry.js.map +1 -1
  27. package/dist/cjs/wcs-action-bar.cjs.entry.js +1 -1
  28. package/dist/cjs/wcs-action-bar.cjs.entry.js.map +1 -1
  29. package/dist/cjs/wcs-alert-drawer.cjs.entry.js +99 -0
  30. package/dist/cjs/wcs-alert-drawer.cjs.entry.js.map +1 -0
  31. package/dist/cjs/wcs-alert.cjs.entry.js +121 -0
  32. package/dist/cjs/wcs-alert.cjs.entry.js.map +1 -0
  33. package/dist/cjs/wcs-app.cjs.entry.js +3 -3
  34. package/dist/cjs/wcs-badge.cjs.entry.js +2 -2
  35. package/dist/cjs/wcs-badge.cjs.entry.js.map +1 -1
  36. package/dist/cjs/wcs-breadcrumb-item.cjs.entry.js +1 -1
  37. package/dist/cjs/wcs-breadcrumb-item.cjs.entry.js.map +1 -1
  38. package/dist/cjs/wcs-breadcrumb.cjs.entry.js +2 -2
  39. package/dist/cjs/wcs-button_2.cjs.entry.js +4 -9
  40. package/dist/cjs/wcs-button_2.cjs.entry.js.map +1 -1
  41. package/dist/cjs/wcs-card-body.cjs.entry.js +9 -2
  42. package/dist/cjs/wcs-card-body.cjs.entry.js.map +1 -1
  43. package/dist/cjs/wcs-card-content.cjs.entry.js +22 -0
  44. package/dist/cjs/wcs-card-content.cjs.entry.js.map +1 -0
  45. package/dist/cjs/wcs-card-footer.cjs.entry.js +22 -0
  46. package/dist/cjs/wcs-card-footer.cjs.entry.js.map +1 -0
  47. package/dist/cjs/wcs-card-header.cjs.entry.js +22 -0
  48. package/dist/cjs/wcs-card-header.cjs.entry.js.map +1 -0
  49. package/dist/cjs/wcs-card-media.cjs.entry.js +29 -0
  50. package/dist/cjs/wcs-card-media.cjs.entry.js.map +1 -0
  51. package/dist/cjs/wcs-card.cjs.entry.js +30 -2
  52. package/dist/cjs/wcs-card.cjs.entry.js.map +1 -1
  53. package/dist/cjs/wcs-checkbox.cjs.entry.js +6 -2
  54. package/dist/cjs/wcs-checkbox.cjs.entry.js.map +1 -1
  55. package/dist/cjs/wcs-com-nav-category.cjs.entry.js +4 -4
  56. package/dist/cjs/wcs-com-nav-item.cjs.entry.js +2 -2
  57. package/dist/cjs/wcs-com-nav-item.cjs.entry.js.map +1 -1
  58. package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js +4 -4
  59. package/dist/cjs/wcs-com-nav.cjs.entry.js +4 -4
  60. package/dist/cjs/wcs-counter.cjs.entry.js +13 -15
  61. package/dist/cjs/wcs-counter.cjs.entry.js.map +1 -1
  62. package/dist/cjs/wcs-divider.cjs.entry.js +1 -1
  63. package/dist/cjs/wcs-dropdown-divider.cjs.entry.js +1 -1
  64. package/dist/cjs/wcs-dropdown-header.cjs.entry.js +1 -1
  65. package/dist/cjs/wcs-dropdown-item.cjs.entry.js +2 -2
  66. package/dist/cjs/wcs-dropdown.cjs.entry.js +3 -8
  67. package/dist/cjs/wcs-dropdown.cjs.entry.js.map +1 -1
  68. package/dist/cjs/wcs-editable-field.cjs.entry.js +81 -55
  69. package/dist/cjs/wcs-editable-field.cjs.entry.js.map +1 -1
  70. package/dist/cjs/wcs-error_3.cjs.entry.js +209 -0
  71. package/dist/cjs/wcs-error_3.cjs.entry.js.map +1 -0
  72. package/dist/cjs/wcs-field-content.cjs.entry.js +1 -1
  73. package/dist/cjs/wcs-field-label.cjs.entry.js +1 -1
  74. package/dist/cjs/wcs-field.cjs.entry.js +1 -1
  75. package/dist/cjs/wcs-footer.cjs.entry.js +1 -1
  76. package/dist/cjs/wcs-footer.cjs.entry.js.map +1 -1
  77. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +4 -4
  78. package/dist/cjs/wcs-galactic-menu.cjs.entry.js.map +1 -1
  79. package/dist/cjs/wcs-galactic.cjs.entry.js +1 -1
  80. package/dist/cjs/wcs-grid-column.cjs.entry.js +2 -2
  81. package/dist/cjs/wcs-grid-column.cjs.entry.js.map +1 -1
  82. package/dist/cjs/wcs-grid-custom-cell.cjs.entry.js +1 -1
  83. package/dist/cjs/wcs-grid-pagination.cjs.entry.js +2 -2
  84. package/dist/cjs/wcs-grid.cjs.entry.js +14 -6
  85. package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
  86. package/dist/cjs/wcs-header.cjs.entry.js +3 -3
  87. package/dist/cjs/wcs-header.cjs.entry.js.map +1 -1
  88. package/dist/cjs/wcs-hint.cjs.entry.js +1 -1
  89. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +1 -1
  90. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js.map +1 -1
  91. package/dist/cjs/wcs-icon.cjs.entry.js +2 -2
  92. package/dist/cjs/wcs-input.cjs.entry.js +5 -13
  93. package/dist/cjs/wcs-input.cjs.entry.js.map +1 -1
  94. package/dist/cjs/wcs-list-item-properties.cjs.entry.js +1 -1
  95. package/dist/cjs/wcs-list-item-property.cjs.entry.js +1 -1
  96. package/dist/cjs/wcs-list-item.cjs.entry.js +1 -1
  97. package/dist/cjs/wcs-list-item.cjs.entry.js.map +1 -1
  98. package/dist/cjs/wcs-mat-icon.cjs.entry.js +2 -2
  99. package/dist/cjs/wcs-mat-icon.cjs.entry.js.map +1 -1
  100. package/dist/cjs/wcs-modal.cjs.entry.js +18 -4
  101. package/dist/cjs/wcs-modal.cjs.entry.js.map +1 -1
  102. package/dist/cjs/wcs-native-select.cjs.entry.js +2 -2
  103. package/dist/cjs/wcs-native-select.cjs.entry.js.map +1 -1
  104. package/dist/cjs/wcs-nav-item.cjs.entry.js +3 -3
  105. package/dist/cjs/wcs-nav-item.cjs.entry.js.map +1 -1
  106. package/dist/cjs/wcs-nav.cjs.entry.js +3 -3
  107. package/dist/cjs/wcs-nav.cjs.entry.js.map +1 -1
  108. package/dist/cjs/wcs-progress-bar.cjs.entry.js +4 -4
  109. package/dist/cjs/wcs-progress-bar.cjs.entry.js.map +1 -1
  110. package/dist/cjs/wcs-progress-radial.cjs.entry.js +3 -3
  111. package/dist/cjs/wcs-progress-radial.cjs.entry.js.map +1 -1
  112. package/dist/cjs/wcs-radio-group.cjs.entry.js +5 -2
  113. package/dist/cjs/wcs-radio-group.cjs.entry.js.map +1 -1
  114. package/dist/cjs/wcs-radio.cjs.entry.js +2 -2
  115. package/dist/cjs/wcs-radio.cjs.entry.js.map +1 -1
  116. package/dist/cjs/wcs-select_2.cjs.entry.js +21 -13
  117. package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
  118. package/dist/cjs/wcs-skeleton-circle.cjs.entry.js +1 -1
  119. package/dist/cjs/wcs-skeleton-rectangle.cjs.entry.js +1 -1
  120. package/dist/cjs/wcs-skeleton-text.cjs.entry.js +1 -1
  121. package/dist/cjs/wcs-switch.cjs.entry.js +6 -2
  122. package/dist/cjs/wcs-switch.cjs.entry.js.map +1 -1
  123. package/dist/cjs/wcs-tab.cjs.entry.js +1 -1
  124. package/dist/cjs/wcs-tabs.cjs.entry.js +150 -7
  125. package/dist/cjs/wcs-tabs.cjs.entry.js.map +1 -1
  126. package/dist/cjs/wcs-textarea.cjs.entry.js +2 -2
  127. package/dist/cjs/wcs-textarea.cjs.entry.js.map +1 -1
  128. package/dist/cjs/wcs-tooltip.cjs.entry.js +8 -4
  129. package/dist/cjs/wcs-tooltip.cjs.entry.js.map +1 -1
  130. package/dist/cjs/wcs.cjs.js +1 -1
  131. package/dist/collection/collection-manifest.json +6 -0
  132. package/dist/collection/components/accordion-panel/accordion-panel.js +1 -1
  133. package/dist/collection/components/accordion-panel/accordion-panel.js.map +1 -1
  134. package/dist/collection/components/action-bar/action-bar.js +2 -2
  135. package/dist/collection/components/action-bar/action-bar.js.map +1 -1
  136. package/dist/collection/components/alert/alert-interface.js +2 -0
  137. package/dist/collection/components/alert/alert-interface.js.map +1 -0
  138. package/dist/collection/components/alert/alert.css +115 -0
  139. package/dist/collection/components/alert/alert.e2e.js +142 -0
  140. package/dist/collection/components/alert/alert.e2e.js.map +1 -0
  141. package/dist/collection/components/alert/alert.js +257 -0
  142. package/dist/collection/components/alert/alert.js.map +1 -0
  143. package/dist/collection/components/alert-drawer/alert-drawer-interface.js +2 -0
  144. package/dist/collection/components/alert-drawer/alert-drawer-interface.js.map +1 -0
  145. package/dist/collection/components/alert-drawer/alert-drawer.css +103 -0
  146. package/dist/collection/components/alert-drawer/alert-drawer.e2e.js +111 -0
  147. package/dist/collection/components/alert-drawer/alert-drawer.e2e.js.map +1 -0
  148. package/dist/collection/components/alert-drawer/alert-drawer.js +237 -0
  149. package/dist/collection/components/alert-drawer/alert-drawer.js.map +1 -0
  150. package/dist/collection/components/app/app.js +3 -3
  151. package/dist/collection/components/badge/badge.css +5 -1
  152. package/dist/collection/components/badge/badge.js +1 -1
  153. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  154. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +1 -1
  155. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -1
  156. package/dist/collection/components/button/button-interface.js +1 -5
  157. package/dist/collection/components/button/button-interface.js.map +1 -1
  158. package/dist/collection/components/button/button.css +2 -2
  159. package/dist/collection/components/button/button.js +2 -7
  160. package/dist/collection/components/button/button.js.map +1 -1
  161. package/dist/collection/components/card/card-interface.js.map +1 -1
  162. package/dist/collection/components/card/card.css +10 -0
  163. package/dist/collection/components/card/card.js +62 -1
  164. package/dist/collection/components/card/card.js.map +1 -1
  165. package/dist/collection/components/card-body/card-body.css +12 -1
  166. package/dist/collection/components/card-body/card-body.js +52 -2
  167. package/dist/collection/components/card-body/card-body.js.map +1 -1
  168. package/dist/collection/components/card-content/card-content.css +12 -0
  169. package/dist/collection/components/card-content/card-content.js +30 -0
  170. package/dist/collection/components/card-content/card-content.js.map +1 -0
  171. package/dist/collection/components/card-footer/card-footer.css +7 -0
  172. package/dist/collection/components/card-footer/card-footer.js +25 -0
  173. package/dist/collection/components/card-footer/card-footer.js.map +1 -0
  174. package/dist/collection/components/card-header/card-header.css +28 -0
  175. package/dist/collection/components/card-header/card-header.js +32 -0
  176. package/dist/collection/components/card-header/card-header.js.map +1 -0
  177. package/dist/collection/components/card-media/card-media.css +21 -0
  178. package/dist/collection/components/card-media/card-media.js +77 -0
  179. package/dist/collection/components/card-media/card-media.js.map +1 -0
  180. package/dist/collection/components/checkbox/checkbox.js +22 -1
  181. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  182. package/dist/collection/components/com-nav/com-nav.js +2 -2
  183. package/dist/collection/components/com-nav-category/com-nav-category.js +2 -2
  184. package/dist/collection/components/com-nav-item/com-nav-item.css +2 -1
  185. package/dist/collection/components/com-nav-item/com-nav-item.js +1 -1
  186. package/dist/collection/components/com-nav-submenu/com-nav-submenu.js +2 -2
  187. package/dist/collection/components/counter/counter-interface.js +1 -5
  188. package/dist/collection/components/counter/counter-interface.js.map +1 -1
  189. package/dist/collection/components/counter/counter.css +7 -1
  190. package/dist/collection/components/counter/counter.js +13 -10
  191. package/dist/collection/components/counter/counter.js.map +1 -1
  192. package/dist/collection/components/divider/divider.js +1 -1
  193. package/dist/collection/components/dropdown/dropdown.js +3 -8
  194. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  195. package/dist/collection/components/dropdown-divider/dropdown-divider.js +1 -1
  196. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  197. package/dist/collection/components/dropdown-item/dropdown-item.js +1 -1
  198. package/dist/collection/components/editable-field/editable-field.css +34 -10
  199. package/dist/collection/components/editable-field/editable-field.e2e.js +176 -0
  200. package/dist/collection/components/editable-field/editable-field.e2e.js.map +1 -0
  201. package/dist/collection/components/editable-field/editable-field.js +83 -57
  202. package/dist/collection/components/editable-field/editable-field.js.map +1 -1
  203. package/dist/collection/components/error/error.js +1 -1
  204. package/dist/collection/components/error/error.js.map +1 -1
  205. package/dist/collection/components/field/field.js +1 -1
  206. package/dist/collection/components/field-content/field-content.js +1 -1
  207. package/dist/collection/components/field-label/field-label.js +1 -1
  208. package/dist/collection/components/footer/footer.js +1 -1
  209. package/dist/collection/components/footer/footer.js.map +1 -1
  210. package/dist/collection/components/form-field/form-field.css +39 -12
  211. package/dist/collection/components/form-field/form-field.e2e.js +122 -0
  212. package/dist/collection/components/form-field/form-field.e2e.js.map +1 -0
  213. package/dist/collection/components/form-field/form-field.js +29 -12
  214. package/dist/collection/components/form-field/form-field.js.map +1 -1
  215. package/dist/collection/components/galactic/galactic.js +1 -1
  216. package/dist/collection/components/galactic-menu/galactic-menu.css +1 -0
  217. package/dist/collection/components/galactic-menu/galactic-menu.js +2 -2
  218. package/dist/collection/components/grid/grid.js +30 -5
  219. package/dist/collection/components/grid/grid.js.map +1 -1
  220. package/dist/collection/components/grid-column/grid-column.js +4 -4
  221. package/dist/collection/components/grid-column/grid-column.js.map +1 -1
  222. package/dist/collection/components/grid-custom-cell/grid-custom-cell.js +1 -1
  223. package/dist/collection/components/grid-pagination/grid-pagination-arrow.js +2 -2
  224. package/dist/collection/components/grid-pagination/grid-pagination-arrow.js.map +1 -1
  225. package/dist/collection/components/grid-pagination/grid-pagination.js +22 -2
  226. package/dist/collection/components/grid-pagination/grid-pagination.js.map +1 -1
  227. package/dist/collection/components/header/header.css +9 -1
  228. package/dist/collection/components/header/header.js +2 -1
  229. package/dist/collection/components/header/header.js.map +1 -1
  230. package/dist/collection/components/hint/hint.js +1 -1
  231. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +2 -2
  232. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js.map +1 -1
  233. package/dist/collection/components/icon/icon.js +1 -1
  234. package/dist/collection/components/input/input-interface.js +1 -5
  235. package/dist/collection/components/input/input-interface.js.map +1 -1
  236. package/dist/collection/components/input/input.css +14 -1
  237. package/dist/collection/components/input/input.js +44 -10
  238. package/dist/collection/components/input/input.js.map +1 -1
  239. package/dist/collection/components/label/label.js +1 -1
  240. package/dist/collection/components/label/label.js.map +1 -1
  241. package/dist/collection/components/list-item/list-item.js +7 -2
  242. package/dist/collection/components/list-item/list-item.js.map +1 -1
  243. package/dist/collection/components/list-item-properties/list-item-properties.js +1 -1
  244. package/dist/collection/components/list-item-property/list-item-property.js +1 -1
  245. package/dist/collection/components/mat-icon/mat-icon.js +2 -2
  246. package/dist/collection/components/mat-icon/mat-icon.js.map +1 -1
  247. package/dist/collection/components/modal/modal-interface.js.map +1 -1
  248. package/dist/collection/components/modal/modal.css +1 -0
  249. package/dist/collection/components/modal/modal.js +58 -2
  250. package/dist/collection/components/modal/modal.js.map +1 -1
  251. package/dist/collection/components/native-select/native-select.css +2 -2
  252. package/dist/collection/components/native-select/native-select.js +2 -2
  253. package/dist/collection/components/native-select/native-select.js.map +1 -1
  254. package/dist/collection/components/nav/nav.css +2 -0
  255. package/dist/collection/components/nav/nav.js +1 -1
  256. package/dist/collection/components/nav-item/nav-item.css +24 -6
  257. package/dist/collection/components/nav-item/nav-item.js +1 -1
  258. package/dist/collection/components/progress-bar/progress-bar.css +2 -2
  259. package/dist/collection/components/progress-bar/progress-bar.js +3 -3
  260. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  261. package/dist/collection/components/progress-radial/progress-radial.js +3 -3
  262. package/dist/collection/components/progress-radial/progress-radial.js.map +1 -1
  263. package/dist/collection/components/radio/radio.js +2 -2
  264. package/dist/collection/components/radio/radio.js.map +1 -1
  265. package/dist/collection/components/radio-group/radio-group.js +39 -2
  266. package/dist/collection/components/radio-group/radio-group.js.map +1 -1
  267. package/dist/collection/components/select/select.css +1 -1
  268. package/dist/collection/components/select/select.js +35 -9
  269. package/dist/collection/components/select/select.js.map +1 -1
  270. package/dist/collection/components/select-option/select-option.js +2 -2
  271. package/dist/collection/components/select-option/select-option.js.map +1 -1
  272. package/dist/collection/components/skeleton-circle/skeleton-circle.js +1 -1
  273. package/dist/collection/components/skeleton-rectangle/skeleton-rectangle.js +1 -1
  274. package/dist/collection/components/skeleton-text/skeleton-text.js +1 -1
  275. package/dist/collection/components/spinner/spinner.js +1 -1
  276. package/dist/collection/components/switch/switch.js +23 -2
  277. package/dist/collection/components/switch/switch.js.map +1 -1
  278. package/dist/collection/components/tab/tab.js +1 -1
  279. package/dist/collection/components/tabs/tabs.css +104 -1
  280. package/dist/collection/components/tabs/tabs.js +181 -6
  281. package/dist/collection/components/tabs/tabs.js.map +1 -1
  282. package/dist/collection/components/textarea/textarea.js +5 -5
  283. package/dist/collection/components/textarea/textarea.js.map +1 -1
  284. package/dist/collection/components/tooltip/tooltip.js +11 -9
  285. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  286. package/dist/collection/utils/control-component-interface.js +37 -0
  287. package/dist/collection/utils/control-component-interface.js.map +1 -0
  288. package/dist/collection/utils/helpers.js +40 -0
  289. package/dist/collection/utils/helpers.js.map +1 -1
  290. package/dist/esm/{com-nav-utils-1366c701.js → com-nav-utils-ee7bf77c.js} +2 -2
  291. package/dist/esm/{com-nav-utils-1366c701.js.map → com-nav-utils-ee7bf77c.js.map} +1 -1
  292. package/dist/esm/control-component-interface-9f09e520.js +40 -0
  293. package/dist/esm/control-component-interface-9f09e520.js.map +1 -0
  294. package/dist/esm/{grid-pagination-421689be.js → grid-pagination-731726a6.js} +26 -6
  295. package/dist/esm/grid-pagination-731726a6.js.map +1 -0
  296. package/dist/esm/{helpers-f137ec8d.js → helpers-ece6a2d3.js} +42 -2
  297. package/dist/esm/helpers-ece6a2d3.js.map +1 -0
  298. package/dist/esm/{keyboard-event-bdea408a.js → keyboard-event-26b65ae5.js} +2 -2
  299. package/dist/esm/{keyboard-event-bdea408a.js.map → keyboard-event-26b65ae5.js.map} +1 -1
  300. package/dist/esm/loader.js +1 -1
  301. package/dist/esm/wcs-accordion-panel.entry.js +2 -2
  302. package/dist/esm/wcs-accordion-panel.entry.js.map +1 -1
  303. package/dist/esm/wcs-action-bar.entry.js +1 -1
  304. package/dist/esm/wcs-action-bar.entry.js.map +1 -1
  305. package/dist/esm/wcs-alert-drawer.entry.js +95 -0
  306. package/dist/esm/wcs-alert-drawer.entry.js.map +1 -0
  307. package/dist/esm/wcs-alert.entry.js +117 -0
  308. package/dist/esm/wcs-alert.entry.js.map +1 -0
  309. package/dist/esm/wcs-app.entry.js +3 -3
  310. package/dist/esm/wcs-badge.entry.js +2 -2
  311. package/dist/esm/wcs-badge.entry.js.map +1 -1
  312. package/dist/esm/wcs-breadcrumb-item.entry.js +1 -1
  313. package/dist/esm/wcs-breadcrumb-item.entry.js.map +1 -1
  314. package/dist/esm/wcs-breadcrumb.entry.js +2 -2
  315. package/dist/esm/wcs-button_2.entry.js +4 -9
  316. package/dist/esm/wcs-button_2.entry.js.map +1 -1
  317. package/dist/esm/wcs-card-body.entry.js +10 -3
  318. package/dist/esm/wcs-card-body.entry.js.map +1 -1
  319. package/dist/esm/wcs-card-content.entry.js +18 -0
  320. package/dist/esm/wcs-card-content.entry.js.map +1 -0
  321. package/dist/esm/wcs-card-footer.entry.js +18 -0
  322. package/dist/esm/wcs-card-footer.entry.js.map +1 -0
  323. package/dist/esm/wcs-card-header.entry.js +18 -0
  324. package/dist/esm/wcs-card-header.entry.js.map +1 -0
  325. package/dist/esm/wcs-card-media.entry.js +25 -0
  326. package/dist/esm/wcs-card-media.entry.js.map +1 -0
  327. package/dist/esm/wcs-card.entry.js +31 -3
  328. package/dist/esm/wcs-card.entry.js.map +1 -1
  329. package/dist/esm/wcs-checkbox.entry.js +6 -2
  330. package/dist/esm/wcs-checkbox.entry.js.map +1 -1
  331. package/dist/esm/wcs-com-nav-category.entry.js +4 -4
  332. package/dist/esm/wcs-com-nav-item.entry.js +2 -2
  333. package/dist/esm/wcs-com-nav-item.entry.js.map +1 -1
  334. package/dist/esm/wcs-com-nav-submenu.entry.js +4 -4
  335. package/dist/esm/wcs-com-nav.entry.js +4 -4
  336. package/dist/esm/wcs-counter.entry.js +13 -15
  337. package/dist/esm/wcs-counter.entry.js.map +1 -1
  338. package/dist/esm/wcs-divider.entry.js +1 -1
  339. package/dist/esm/wcs-dropdown-divider.entry.js +1 -1
  340. package/dist/esm/wcs-dropdown-header.entry.js +1 -1
  341. package/dist/esm/wcs-dropdown-item.entry.js +2 -2
  342. package/dist/esm/wcs-dropdown.entry.js +3 -8
  343. package/dist/esm/wcs-dropdown.entry.js.map +1 -1
  344. package/dist/esm/wcs-editable-field.entry.js +81 -55
  345. package/dist/esm/wcs-editable-field.entry.js.map +1 -1
  346. package/dist/esm/wcs-error_3.entry.js +203 -0
  347. package/dist/esm/wcs-error_3.entry.js.map +1 -0
  348. package/dist/esm/wcs-field-content.entry.js +1 -1
  349. package/dist/esm/wcs-field-label.entry.js +1 -1
  350. package/dist/esm/wcs-field.entry.js +1 -1
  351. package/dist/esm/wcs-footer.entry.js +1 -1
  352. package/dist/esm/wcs-footer.entry.js.map +1 -1
  353. package/dist/esm/wcs-galactic-menu.entry.js +4 -4
  354. package/dist/esm/wcs-galactic-menu.entry.js.map +1 -1
  355. package/dist/esm/wcs-galactic.entry.js +1 -1
  356. package/dist/esm/wcs-grid-column.entry.js +2 -2
  357. package/dist/esm/wcs-grid-column.entry.js.map +1 -1
  358. package/dist/esm/wcs-grid-custom-cell.entry.js +1 -1
  359. package/dist/esm/wcs-grid-pagination.entry.js +2 -2
  360. package/dist/esm/wcs-grid.entry.js +14 -6
  361. package/dist/esm/wcs-grid.entry.js.map +1 -1
  362. package/dist/esm/wcs-header.entry.js +3 -3
  363. package/dist/esm/wcs-header.entry.js.map +1 -1
  364. package/dist/esm/wcs-hint.entry.js +1 -1
  365. package/dist/esm/wcs-horizontal-stepper.entry.js +1 -1
  366. package/dist/esm/wcs-horizontal-stepper.entry.js.map +1 -1
  367. package/dist/esm/wcs-icon.entry.js +2 -2
  368. package/dist/esm/wcs-input.entry.js +5 -13
  369. package/dist/esm/wcs-input.entry.js.map +1 -1
  370. package/dist/esm/wcs-list-item-properties.entry.js +1 -1
  371. package/dist/esm/wcs-list-item-property.entry.js +1 -1
  372. package/dist/esm/wcs-list-item.entry.js +1 -1
  373. package/dist/esm/wcs-list-item.entry.js.map +1 -1
  374. package/dist/esm/wcs-mat-icon.entry.js +2 -2
  375. package/dist/esm/wcs-mat-icon.entry.js.map +1 -1
  376. package/dist/esm/wcs-modal.entry.js +18 -4
  377. package/dist/esm/wcs-modal.entry.js.map +1 -1
  378. package/dist/esm/wcs-native-select.entry.js +2 -2
  379. package/dist/esm/wcs-native-select.entry.js.map +1 -1
  380. package/dist/esm/wcs-nav-item.entry.js +3 -3
  381. package/dist/esm/wcs-nav-item.entry.js.map +1 -1
  382. package/dist/esm/wcs-nav.entry.js +3 -3
  383. package/dist/esm/wcs-nav.entry.js.map +1 -1
  384. package/dist/esm/wcs-progress-bar.entry.js +4 -4
  385. package/dist/esm/wcs-progress-bar.entry.js.map +1 -1
  386. package/dist/esm/wcs-progress-radial.entry.js +3 -3
  387. package/dist/esm/wcs-progress-radial.entry.js.map +1 -1
  388. package/dist/esm/wcs-radio-group.entry.js +5 -2
  389. package/dist/esm/wcs-radio-group.entry.js.map +1 -1
  390. package/dist/esm/wcs-radio.entry.js +2 -2
  391. package/dist/esm/wcs-radio.entry.js.map +1 -1
  392. package/dist/esm/wcs-select_2.entry.js +21 -13
  393. package/dist/esm/wcs-select_2.entry.js.map +1 -1
  394. package/dist/esm/wcs-skeleton-circle.entry.js +1 -1
  395. package/dist/esm/wcs-skeleton-rectangle.entry.js +1 -1
  396. package/dist/esm/wcs-skeleton-text.entry.js +1 -1
  397. package/dist/esm/wcs-switch.entry.js +6 -2
  398. package/dist/esm/wcs-switch.entry.js.map +1 -1
  399. package/dist/esm/wcs-tab.entry.js +1 -1
  400. package/dist/esm/wcs-tabs.entry.js +150 -7
  401. package/dist/esm/wcs-tabs.entry.js.map +1 -1
  402. package/dist/esm/wcs-textarea.entry.js +2 -2
  403. package/dist/esm/wcs-textarea.entry.js.map +1 -1
  404. package/dist/esm/wcs-tooltip.entry.js +8 -4
  405. package/dist/esm/wcs-tooltip.entry.js.map +1 -1
  406. package/dist/esm/wcs.js +1 -1
  407. package/dist/types/components/alert/alert-interface.d.ts +11 -0
  408. package/dist/types/components/alert/alert.d.ts +79 -0
  409. package/dist/types/components/alert-drawer/alert-drawer-interface.d.ts +1 -0
  410. package/dist/types/components/alert-drawer/alert-drawer.d.ts +83 -0
  411. package/dist/types/components/button/button-interface.d.ts +1 -3
  412. package/dist/types/components/card/card-interface.d.ts +1 -0
  413. package/dist/types/components/card/card.d.ts +18 -1
  414. package/dist/types/components/card-body/card-body.d.ts +9 -0
  415. package/dist/types/components/card-content/card-content.d.ts +14 -0
  416. package/dist/types/components/card-footer/card-footer.d.ts +9 -0
  417. package/dist/types/components/card-header/card-header.d.ts +16 -0
  418. package/dist/types/components/card-media/card-media.d.ts +20 -0
  419. package/dist/types/components/checkbox/checkbox.d.ts +3 -1
  420. package/dist/types/components/counter/counter-interface.d.ts +1 -3
  421. package/dist/types/components/counter/counter.d.ts +6 -0
  422. package/dist/types/components/editable-field/editable-field.d.ts +23 -9
  423. package/dist/types/components/grid/grid.d.ts +4 -0
  424. package/dist/types/components/grid-pagination/grid-pagination.d.ts +6 -1
  425. package/dist/types/components/header/header.d.ts +1 -0
  426. package/dist/types/components/input/input-interface.d.ts +1 -3
  427. package/dist/types/components/input/input.d.ts +3 -0
  428. package/dist/types/components/list-item/list-item.d.ts +5 -0
  429. package/dist/types/components/mat-icon/mat-icon.d.ts +1 -1
  430. package/dist/types/components/modal/modal-interface.d.ts +2 -1
  431. package/dist/types/components/modal/modal.d.ts +23 -0
  432. package/dist/types/components/radio-group/radio-group.d.ts +3 -1
  433. package/dist/types/components/select/select.d.ts +11 -1
  434. package/dist/types/components/switch/switch.d.ts +3 -1
  435. package/dist/types/components/tabs/tabs.d.ts +55 -0
  436. package/dist/types/components/tooltip/tooltip.d.ts +3 -5
  437. package/dist/types/components.d.ts +658 -22
  438. package/dist/types/utils/control-component-interface.d.ts +22 -0
  439. package/dist/types/utils/helpers.d.ts +21 -0
  440. package/dist/wcs/p-0017d766.js +2 -0
  441. package/dist/wcs/{p-5ea2aba5.entry.js → p-0424e545.entry.js} +2 -2
  442. package/dist/wcs/{p-25b96cde.entry.js → p-0758d22e.entry.js} +2 -2
  443. package/dist/wcs/p-0758d22e.entry.js.map +1 -0
  444. package/dist/wcs/p-0b8157e7.entry.js +2 -0
  445. package/dist/wcs/p-0dd07842.entry.js +2 -0
  446. package/dist/wcs/p-0dd07842.entry.js.map +1 -0
  447. package/dist/wcs/{p-87b69cac.entry.js → p-1244daa0.entry.js} +2 -2
  448. package/dist/wcs/{p-80a23f9c.entry.js → p-18fa39f4.entry.js} +2 -2
  449. package/dist/wcs/{p-80a23f9c.entry.js.map → p-18fa39f4.entry.js.map} +1 -1
  450. package/dist/wcs/p-1ba616c2.entry.js +2 -0
  451. package/dist/wcs/p-1ba616c2.entry.js.map +1 -0
  452. package/dist/wcs/p-1e7ea63c.entry.js +2 -0
  453. package/dist/wcs/p-1e7ea63c.entry.js.map +1 -0
  454. package/dist/wcs/p-1f593d06.entry.js +2 -0
  455. package/dist/wcs/p-1f593d06.entry.js.map +1 -0
  456. package/dist/wcs/{p-d2a4f609.entry.js → p-1fbe0328.entry.js} +2 -2
  457. package/dist/wcs/p-1fbe0328.entry.js.map +1 -0
  458. package/dist/wcs/{p-276b8125.entry.js → p-204f2722.entry.js} +9 -9
  459. package/dist/wcs/p-204f2722.entry.js.map +1 -0
  460. package/dist/wcs/p-27b438c0.entry.js +2 -0
  461. package/dist/wcs/{p-45a6934d.entry.js → p-352e1f99.entry.js} +2 -2
  462. package/dist/wcs/{p-3cfa1c4b.entry.js → p-367946fe.entry.js} +2 -2
  463. package/dist/wcs/p-3823f54e.entry.js +2 -0
  464. package/dist/wcs/{p-4982f96c.entry.js → p-3a18535f.entry.js} +2 -2
  465. package/dist/wcs/p-41b946b2.entry.js +2 -0
  466. package/dist/wcs/p-41b946b2.entry.js.map +1 -0
  467. package/dist/wcs/{p-9553d60e.entry.js → p-496115a5.entry.js} +2 -2
  468. package/dist/wcs/{p-9553d60e.entry.js.map → p-496115a5.entry.js.map} +1 -1
  469. package/dist/wcs/p-4fb2d985.entry.js +2 -0
  470. package/dist/wcs/p-4fb2d985.entry.js.map +1 -0
  471. package/dist/wcs/{p-b0f8190f.entry.js → p-5202b323.entry.js} +2 -2
  472. package/dist/wcs/p-52d77e1f.js +2 -0
  473. package/dist/wcs/p-52d77e1f.js.map +1 -0
  474. package/dist/wcs/{p-ca8f3677.entry.js → p-53a395a9.entry.js} +2 -2
  475. package/dist/wcs/{p-ca8f3677.entry.js.map → p-53a395a9.entry.js.map} +1 -1
  476. package/dist/wcs/p-5607246c.entry.js +2 -0
  477. package/dist/wcs/p-5607246c.entry.js.map +1 -0
  478. package/dist/wcs/p-580b3142.entry.js +2 -0
  479. package/dist/wcs/{p-806315e6.entry.js.map → p-580b3142.entry.js.map} +1 -1
  480. package/dist/wcs/p-5da0534f.entry.js +2 -0
  481. package/dist/wcs/p-5da0534f.entry.js.map +1 -0
  482. package/dist/wcs/p-5e8fff73.entry.js +2 -0
  483. package/dist/wcs/p-5e8fff73.entry.js.map +1 -0
  484. package/dist/wcs/p-622f7403.entry.js +2 -0
  485. package/dist/wcs/p-622f7403.entry.js.map +1 -0
  486. package/dist/wcs/p-637ec45a.entry.js +2 -0
  487. package/dist/wcs/p-637ec45a.entry.js.map +1 -0
  488. package/dist/wcs/p-6aededc6.entry.js +2 -0
  489. package/dist/wcs/p-6aededc6.entry.js.map +1 -0
  490. package/dist/wcs/p-6c6079ee.entry.js +2 -0
  491. package/dist/wcs/{p-209145de.entry.js.map → p-6c6079ee.entry.js.map} +1 -1
  492. package/dist/wcs/{p-e5c057c4.entry.js → p-781a956e.entry.js} +2 -2
  493. package/dist/wcs/p-7de847e0.entry.js +2 -0
  494. package/dist/wcs/p-8152d360.entry.js +2 -0
  495. package/dist/wcs/p-8152d360.entry.js.map +1 -0
  496. package/dist/wcs/{p-2c9e20c1.entry.js → p-850fa9c9.entry.js} +2 -2
  497. package/dist/wcs/{p-f06aa79d.entry.js → p-86ec9ead.entry.js} +2 -2
  498. package/dist/wcs/{p-f06aa79d.entry.js.map → p-86ec9ead.entry.js.map} +1 -1
  499. package/dist/wcs/p-89b8c724.js +2 -0
  500. package/dist/wcs/p-8c2605fd.entry.js +2 -0
  501. package/dist/wcs/p-8c2605fd.entry.js.map +1 -0
  502. package/dist/wcs/{p-2305f257.entry.js → p-8e9bd0f1.entry.js} +2 -2
  503. package/dist/wcs/p-98a8b806.entry.js +2 -0
  504. package/dist/wcs/p-98a8b806.entry.js.map +1 -0
  505. package/dist/wcs/p-9c73744c.entry.js +2 -0
  506. package/dist/wcs/p-9c73744c.entry.js.map +1 -0
  507. package/dist/wcs/p-9fd3366c.entry.js +2 -0
  508. package/dist/wcs/p-9fd3366c.entry.js.map +1 -0
  509. package/dist/wcs/p-a0f6ef30.entry.js +2 -0
  510. package/dist/wcs/p-a0f6ef30.entry.js.map +1 -0
  511. package/dist/wcs/p-a7468a3a.js +2 -0
  512. package/dist/wcs/p-a7468a3a.js.map +1 -0
  513. package/dist/wcs/{p-0fa370d7.entry.js → p-a94e685c.entry.js} +3 -3
  514. package/dist/wcs/{p-0fa370d7.entry.js.map → p-a94e685c.entry.js.map} +1 -1
  515. package/dist/wcs/{p-97cbbcfc.entry.js → p-a956dc84.entry.js} +2 -2
  516. package/dist/wcs/p-a956dc84.entry.js.map +1 -0
  517. package/dist/wcs/{p-e19308cf.entry.js → p-aadf37e7.entry.js} +2 -2
  518. package/dist/wcs/{p-f8d2be83.entry.js → p-ad286030.entry.js} +2 -2
  519. package/dist/wcs/p-ad5192cd.entry.js +2 -0
  520. package/dist/wcs/p-b0a6eec6.entry.js +2 -0
  521. package/dist/wcs/p-b0a6eec6.entry.js.map +1 -0
  522. package/dist/wcs/{p-fa507e06.entry.js → p-b28b2fba.entry.js} +2 -2
  523. package/dist/wcs/p-b28b2fba.entry.js.map +1 -0
  524. package/dist/wcs/{p-15ff9f93.entry.js → p-bc009574.entry.js} +2 -2
  525. package/dist/wcs/{p-15ff9f93.entry.js.map → p-bc009574.entry.js.map} +1 -1
  526. package/dist/wcs/p-c211a5d1.entry.js +2 -0
  527. package/dist/wcs/{p-85a5bbb7.entry.js → p-c261eaf9.entry.js} +2 -2
  528. package/dist/wcs/p-c261eaf9.entry.js.map +1 -0
  529. package/dist/wcs/p-c5bad0b8.js +2 -0
  530. package/dist/wcs/p-c5bad0b8.js.map +1 -0
  531. package/dist/wcs/p-c7812760.entry.js +2 -0
  532. package/dist/wcs/{p-9e03b379.entry.js → p-c84ae00d.entry.js} +2 -2
  533. package/dist/wcs/p-cad10435.entry.js +2 -0
  534. package/dist/wcs/{p-8f0e093f.entry.js.map → p-cad10435.entry.js.map} +1 -1
  535. package/dist/wcs/p-cbbca016.entry.js +2 -0
  536. package/dist/wcs/p-cbbca016.entry.js.map +1 -0
  537. package/dist/wcs/{p-a788b5bd.entry.js → p-cbda74f6.entry.js} +2 -2
  538. package/dist/wcs/{p-09d0a296.entry.js → p-d27d4a53.entry.js} +3 -3
  539. package/dist/wcs/p-d27d4a53.entry.js.map +1 -0
  540. package/dist/wcs/p-dfb52a1c.entry.js +2 -0
  541. package/dist/wcs/p-dfb52a1c.entry.js.map +1 -0
  542. package/dist/wcs/p-dff8641e.entry.js +2 -0
  543. package/dist/wcs/p-dff8641e.entry.js.map +1 -0
  544. package/dist/wcs/p-e26c19e5.entry.js +2 -0
  545. package/dist/wcs/{p-1e5aa960.entry.js → p-e56b9ce2.entry.js} +2 -2
  546. package/dist/wcs/p-e56b9ce2.entry.js.map +1 -0
  547. package/dist/wcs/p-ec383729.entry.js +2 -0
  548. package/dist/wcs/p-ec383729.entry.js.map +1 -0
  549. package/dist/wcs/p-f929b66f.entry.js +2 -0
  550. package/dist/wcs/p-f929b66f.entry.js.map +1 -0
  551. package/dist/wcs/{p-db81b74f.entry.js → p-fd187bce.entry.js} +2 -2
  552. package/dist/wcs/p-fd187bce.entry.js.map +1 -0
  553. package/dist/wcs/p-fdeae83e.entry.js +2 -0
  554. package/dist/wcs/p-fdeae83e.entry.js.map +1 -0
  555. package/dist/wcs/wcs.esm.js +1 -1
  556. package/dist/wcs/wcs.esm.js.map +1 -1
  557. package/package.json +5 -2
  558. package/dist/cjs/button-interface-629f3563.js +0 -12
  559. package/dist/cjs/button-interface-629f3563.js.map +0 -1
  560. package/dist/cjs/grid-pagination-2c752b22.js.map +0 -1
  561. package/dist/cjs/helpers-871f5a3d.js.map +0 -1
  562. package/dist/cjs/wcs-error_2.cjs.entry.js +0 -168
  563. package/dist/cjs/wcs-error_2.cjs.entry.js.map +0 -1
  564. package/dist/cjs/wcs-label.cjs.entry.js +0 -33
  565. package/dist/cjs/wcs-label.cjs.entry.js.map +0 -1
  566. package/dist/esm/button-interface-dc5ddd51.js +0 -9
  567. package/dist/esm/button-interface-dc5ddd51.js.map +0 -1
  568. package/dist/esm/grid-pagination-421689be.js.map +0 -1
  569. package/dist/esm/helpers-f137ec8d.js.map +0 -1
  570. package/dist/esm/wcs-error_2.entry.js +0 -163
  571. package/dist/esm/wcs-error_2.entry.js.map +0 -1
  572. package/dist/esm/wcs-label.entry.js +0 -29
  573. package/dist/esm/wcs-label.entry.js.map +0 -1
  574. package/dist/wcs/p-08e86d69.entry.js +0 -2
  575. package/dist/wcs/p-08e86d69.entry.js.map +0 -1
  576. package/dist/wcs/p-09d0a296.entry.js.map +0 -1
  577. package/dist/wcs/p-0fdaec9e.entry.js +0 -2
  578. package/dist/wcs/p-0fdaec9e.entry.js.map +0 -1
  579. package/dist/wcs/p-19c77b5c.entry.js +0 -2
  580. package/dist/wcs/p-1ab0d13b.entry.js +0 -2
  581. package/dist/wcs/p-1ab0d13b.entry.js.map +0 -1
  582. package/dist/wcs/p-1e5aa960.entry.js.map +0 -1
  583. package/dist/wcs/p-209145de.entry.js +0 -2
  584. package/dist/wcs/p-25b96cde.entry.js.map +0 -1
  585. package/dist/wcs/p-276b8125.entry.js.map +0 -1
  586. package/dist/wcs/p-2add4d4d.entry.js +0 -2
  587. package/dist/wcs/p-2add4d4d.entry.js.map +0 -1
  588. package/dist/wcs/p-400a71d7.entry.js +0 -2
  589. package/dist/wcs/p-412b0021.js +0 -2
  590. package/dist/wcs/p-412b0021.js.map +0 -1
  591. package/dist/wcs/p-4ca7c59f.entry.js +0 -2
  592. package/dist/wcs/p-4ca7c59f.entry.js.map +0 -1
  593. package/dist/wcs/p-4d6d1d14.js +0 -2
  594. package/dist/wcs/p-52cd0abb.entry.js +0 -2
  595. package/dist/wcs/p-52cd0abb.entry.js.map +0 -1
  596. package/dist/wcs/p-550012c2.entry.js +0 -2
  597. package/dist/wcs/p-5f517eb5.entry.js +0 -2
  598. package/dist/wcs/p-76f07dbd.entry.js +0 -2
  599. package/dist/wcs/p-76f07dbd.entry.js.map +0 -1
  600. package/dist/wcs/p-806315e6.entry.js +0 -2
  601. package/dist/wcs/p-85a5bbb7.entry.js.map +0 -1
  602. package/dist/wcs/p-8780a429.entry.js +0 -2
  603. package/dist/wcs/p-8780a429.entry.js.map +0 -1
  604. package/dist/wcs/p-8bd1b9ce.entry.js +0 -2
  605. package/dist/wcs/p-8bd1b9ce.entry.js.map +0 -1
  606. package/dist/wcs/p-8f0e093f.entry.js +0 -2
  607. package/dist/wcs/p-94ff8939.entry.js +0 -2
  608. package/dist/wcs/p-94ff8939.entry.js.map +0 -1
  609. package/dist/wcs/p-96195d9a.entry.js +0 -2
  610. package/dist/wcs/p-96195d9a.entry.js.map +0 -1
  611. package/dist/wcs/p-97cbbcfc.entry.js.map +0 -1
  612. package/dist/wcs/p-985c4cf2.entry.js +0 -2
  613. package/dist/wcs/p-985c4cf2.entry.js.map +0 -1
  614. package/dist/wcs/p-9f23c49e.entry.js +0 -2
  615. package/dist/wcs/p-9f23c49e.entry.js.map +0 -1
  616. package/dist/wcs/p-a3aece7a.js +0 -2
  617. package/dist/wcs/p-a3aece7a.js.map +0 -1
  618. package/dist/wcs/p-a66a4289.entry.js +0 -2
  619. package/dist/wcs/p-ab49926d.entry.js +0 -2
  620. package/dist/wcs/p-ab49926d.entry.js.map +0 -1
  621. package/dist/wcs/p-bf31245c.entry.js +0 -2
  622. package/dist/wcs/p-bf31245c.entry.js.map +0 -1
  623. package/dist/wcs/p-c6a28b79.js +0 -2
  624. package/dist/wcs/p-c6a28b79.js.map +0 -1
  625. package/dist/wcs/p-cd592a00.entry.js +0 -2
  626. package/dist/wcs/p-cd592a00.entry.js.map +0 -1
  627. package/dist/wcs/p-d2a4f609.entry.js.map +0 -1
  628. package/dist/wcs/p-d42831b2.entry.js +0 -2
  629. package/dist/wcs/p-d42831b2.entry.js.map +0 -1
  630. package/dist/wcs/p-d443d419.entry.js +0 -2
  631. package/dist/wcs/p-d7acbf01.js +0 -2
  632. package/dist/wcs/p-db81b74f.entry.js.map +0 -1
  633. package/dist/wcs/p-dbbf0980.entry.js +0 -2
  634. package/dist/wcs/p-dbbf0980.entry.js.map +0 -1
  635. package/dist/wcs/p-e64d7437.entry.js +0 -2
  636. package/dist/wcs/p-e86575d3.entry.js +0 -2
  637. package/dist/wcs/p-e86575d3.entry.js.map +0 -1
  638. package/dist/wcs/p-f264d46f.entry.js +0 -2
  639. package/dist/wcs/p-fa507e06.entry.js.map +0 -1
  640. package/dist/wcs/p-fd9e731d.entry.js +0 -2
  641. package/dist/wcs/p-fd9e731d.entry.js.map +0 -1
  642. /package/dist/wcs/{p-d7acbf01.js.map → p-0017d766.js.map} +0 -0
  643. /package/dist/wcs/{p-5ea2aba5.entry.js.map → p-0424e545.entry.js.map} +0 -0
  644. /package/dist/wcs/{p-f264d46f.entry.js.map → p-0b8157e7.entry.js.map} +0 -0
  645. /package/dist/wcs/{p-87b69cac.entry.js.map → p-1244daa0.entry.js.map} +0 -0
  646. /package/dist/wcs/{p-e64d7437.entry.js.map → p-27b438c0.entry.js.map} +0 -0
  647. /package/dist/wcs/{p-45a6934d.entry.js.map → p-352e1f99.entry.js.map} +0 -0
  648. /package/dist/wcs/{p-3cfa1c4b.entry.js.map → p-367946fe.entry.js.map} +0 -0
  649. /package/dist/wcs/{p-400a71d7.entry.js.map → p-3823f54e.entry.js.map} +0 -0
  650. /package/dist/wcs/{p-4982f96c.entry.js.map → p-3a18535f.entry.js.map} +0 -0
  651. /package/dist/wcs/{p-b0f8190f.entry.js.map → p-5202b323.entry.js.map} +0 -0
  652. /package/dist/wcs/{p-e5c057c4.entry.js.map → p-781a956e.entry.js.map} +0 -0
  653. /package/dist/wcs/{p-550012c2.entry.js.map → p-7de847e0.entry.js.map} +0 -0
  654. /package/dist/wcs/{p-2c9e20c1.entry.js.map → p-850fa9c9.entry.js.map} +0 -0
  655. /package/dist/wcs/{p-4d6d1d14.js.map → p-89b8c724.js.map} +0 -0
  656. /package/dist/wcs/{p-2305f257.entry.js.map → p-8e9bd0f1.entry.js.map} +0 -0
  657. /package/dist/wcs/{p-e19308cf.entry.js.map → p-aadf37e7.entry.js.map} +0 -0
  658. /package/dist/wcs/{p-f8d2be83.entry.js.map → p-ad286030.entry.js.map} +0 -0
  659. /package/dist/wcs/{p-a66a4289.entry.js.map → p-ad5192cd.entry.js.map} +0 -0
  660. /package/dist/wcs/{p-19c77b5c.entry.js.map → p-c211a5d1.entry.js.map} +0 -0
  661. /package/dist/wcs/{p-d443d419.entry.js.map → p-c7812760.entry.js.map} +0 -0
  662. /package/dist/wcs/{p-9e03b379.entry.js.map → p-c84ae00d.entry.js.map} +0 -0
  663. /package/dist/wcs/{p-a788b5bd.entry.js.map → p-cbda74f6.entry.js.map} +0 -0
  664. /package/dist/wcs/{p-5f517eb5.entry.js.map → p-e26c19e5.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"wcs-radio-group.entry.cjs.js","mappings":"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","names":["isSpaceKey","isEnterKey","isDownArrowKey","isRightArrowKey","isUpArrowKey","isLeftArrowKey","isTabKey","h","Host"],"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 // region Radio\n --wcs-radio-group-gap: var(--wcs-semantic-spacing-base);\n // endregion\n\n // region Option\n --wcs-radio-group-option-height: var(--wcs-semantic-size-m);\n --wcs-radio-group-option-gap: var(--wcs-semantic-spacing-small);\n --wcs-radio-group-option-padding: var(--wcs-semantic-spacing-small) var(--wcs-semantic-spacing-small);\n --wcs-radio-group-option-border-radius: var(--wcs-semantic-border-radius-base);\n --wcs-radio-group-option-background-color: var(--wcs-semantic-color-background-surface-accent-lightest);\n // endregion\n}\n\n:host([mode=radio]) {\n flex-direction: column;\n gap: var(--wcs-radio-group-gap);\n}\n\n:host([mode=option]) {\n box-sizing: border-box;\n height: var(--wcs-radio-group-option-height);\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n gap: var(--wcs-radio-group-option-gap);\n padding: var(--wcs-radio-group-option-padding);\n background-color: var(--wcs-radio-group-option-background-color);\n border-radius: var(--wcs-radio-group-option-border-radius);\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';\nimport {\n isDownArrowKey, isEnterKey,\n isLeftArrowKey,\n isRightArrowKey,\n isSpaceKey,\n isTabKey,\n isUpArrowKey\n} from \"../../utils/helpers\";\n\n/**\n * @cssprop --wcs-radio-group-gap - Gap between each radio (checkmark + label) in horizontal mode\n * \n *\n * @cssprop --wcs-radio-group-option-background-color - Background color of the radio group option\n * \n * @cssprop --wcs-radio-group-option-height - Height of the radio group option\n * @cssprop --wcs-radio-group-option-padding - Padding of the radio group option\n * \n * @cssprop --wcs-radio-group-option-border-radius - Border radius of the radio group option\n * \n * @cssprop --wcs-radio-group-option-gap - Gap between each radio option\n */\n@Component({\n tag: 'wcs-radio-group',\n styleUrl: 'radio-group.scss',\n shadow: true\n})\nexport class RadioGroup implements ComponentInterface {\n @Element() private el!: HTMLWcsRadioGroupElement;\n \n /**\n * The value of the radio-group. Automatically reflects which radio button is selected.\n */\n @Prop({ mutable: true }) value: any | any[] | undefined | null;\n\n /**\n * The name of the control to be set on all radio button children\n */\n @Prop({ reflect: true }) name;\n\n /**\n * The display mode of the control to be set on all radio button children\n */\n @Prop({ reflect: true }) mode: RadioGroupMode = 'radio';\n\n /** Emitted when the value has changed. */\n @Event() wcsChange!: EventEmitter<RadioGroupChangeEventDetail>;\n\n @Watch('value')\n onValueChangeHandler(value: any | undefined) {\n this.updateRadioTabIndex(value);\n this.updateAllRadioState();\n }\n\n componentDidLoad() {\n this.onValueChangeHandler(this.value);\n this.updateAllRadioModeAndName();\n }\n \n onSlotChange() {\n this.updateRadioTabIndex(this.value);\n this.updateAllRadioModeAndName();\n }\n \n updateAllRadioState() {\n this.getSlottedRadios().forEach(r => r.updateState());\n }\n \n @Watch('name')\n @Watch('mode')\n updateAllRadioModeAndName() {\n this.getSlottedRadios().forEach(r => {\n r.mode = this.mode;\n r.name = this.name;\n });\n }\n \n updateRadioTabIndex(value: any | undefined) {\n const radios = this.getSlottedRadios();\n\n // Get the first radio that is not disabled and the checked one\n const first = radios.find((radio) => !radio.disabled);\n const checked = radios.find((radio) => radio.value === value && !radio.disabled);\n\n if (!first && !checked) {\n return;\n }\n\n // If an enabled checked radio exists, set it to be the focusable radio\n // otherwise we default to focus the first radio\n const focusable = checked || first;\n\n for (const radio of radios) {\n const tabindex = radio === focusable ? 0 : -1;\n radio.setTabIndex(tabindex);\n }\n }\n\n private getSlottedRadios(): HTMLWcsRadioElement[] {\n return Array.from(this.el.querySelectorAll('wcs-radio'));\n }\n\n private getSlottedRadiosNotDisabled(): HTMLWcsRadioElement[] {\n return Array.from(this.getSlottedRadios().filter(radio => !radio.disabled));\n }\n\n @Listen('wcsRadioClick')\n handleRadioClick(event: CustomEvent<RadioChosedEvent>) {\n this.value = event.detail.value;\n this.wcsChange.emit({\n value: event.detail.value\n });\n }\n\n @Listen('keydown')\n async handleKeyDown(ev: KeyboardEvent) {\n const radiosNotDisabled = this.getSlottedRadiosNotDisabled();\n const previousSelected = radiosNotDisabled.findIndex(r => r === ev.target);\n let indexToSelect: number;\n\n if ((isSpaceKey(ev) || isEnterKey(ev))) {\n ev.preventDefault();\n indexToSelect = previousSelected;\n } else if (isDownArrowKey(ev) || isRightArrowKey(ev)) {\n ev.preventDefault();\n // Check the next wcs-radio from the previous selected\n indexToSelect = (previousSelected + 1) % radiosNotDisabled.length; // to return at the beginning on the list when we are on the last index\n } else if (isUpArrowKey(ev) || isLeftArrowKey(ev)) {\n ev.preventDefault();\n // Check the previous wcs-radio from the previous selected\n indexToSelect = (previousSelected - 1 + radiosNotDisabled.length) % radiosNotDisabled.length; // To return at the end of the list when we are on index=0\n } else if (isTabKey(ev)) {\n return;\n }\n \n const radioToSelect = radiosNotDisabled[indexToSelect]\n if (radioToSelect) {\n radioToSelect.focus();\n \n if (this.value !== radioToSelect.value) {\n this.wcsChange.emit({\n value: radioToSelect.value\n })\n }\n \n this.value = radioToSelect.value;\n }\n }\n\n render() {\n return (\n <Host role=\"radiogroup\">\n <slot name=\"option\" onSlotchange={this.onSlotChange.bind(this)}/>\n </Host>\n );\n }\n\n}\n"],"version":3}
1
+ {"file":"wcs-radio-group.entry.cjs.js","mappings":"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","names":["setOrRemoveAttribute","isSpaceKey","isEnterKey","isDownArrowKey","isRightArrowKey","isUpArrowKey","isLeftArrowKey","isTabKey","h","Host"],"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 // region Radio\n --wcs-radio-group-gap: var(--wcs-semantic-spacing-base);\n // endregion\n\n // region Option\n --wcs-radio-group-option-height: var(--wcs-semantic-size-m);\n --wcs-radio-group-option-gap: var(--wcs-semantic-spacing-small);\n --wcs-radio-group-option-padding: var(--wcs-semantic-spacing-small) var(--wcs-semantic-spacing-small);\n --wcs-radio-group-option-border-radius: var(--wcs-semantic-border-radius-base);\n --wcs-radio-group-option-background-color: var(--wcs-semantic-color-background-surface-accent-lightest);\n // endregion\n}\n\n:host([mode=radio]) {\n flex-direction: column;\n gap: var(--wcs-radio-group-gap);\n}\n\n:host([mode=option]) {\n box-sizing: border-box;\n height: var(--wcs-radio-group-option-height);\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n gap: var(--wcs-radio-group-option-gap);\n padding: var(--wcs-radio-group-option-padding);\n background-color: var(--wcs-radio-group-option-background-color);\n border-radius: var(--wcs-radio-group-option-border-radius);\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 Method,\n Prop,\n Watch\n} from '@stencil/core';\nimport { RadioGroupChangeEventDetail, RadioGroupMode } from './radio-group-interface';\nimport { RadioChosedEvent } from '../radio/radio-interface';\nimport {\n isDownArrowKey, isEnterKey,\n isLeftArrowKey,\n isRightArrowKey,\n isSpaceKey,\n isTabKey,\n isUpArrowKey,\n setOrRemoveAttribute\n} from \"../../utils/helpers\";\nimport { AriaAttributeName, MutableAriaAttribute } from '../../utils/mutable-aria-attribute';\n\n/**\n * @cssprop --wcs-radio-group-gap - Gap between each radio (checkmark + label) in horizontal mode\n * \n *\n * @cssprop --wcs-radio-group-option-background-color - Background color of the radio group option\n * \n * @cssprop --wcs-radio-group-option-height - Height of the radio group option\n * @cssprop --wcs-radio-group-option-padding - Padding of the radio group option\n * \n * @cssprop --wcs-radio-group-option-border-radius - Border radius of the radio group option\n * \n * @cssprop --wcs-radio-group-option-gap - Gap between each radio option\n */\n@Component({\n tag: 'wcs-radio-group',\n styleUrl: 'radio-group.scss',\n shadow: true\n})\nexport class RadioGroup implements ComponentInterface, MutableAriaAttribute {\n @Element() private el!: HTMLWcsRadioGroupElement;\n \n /**\n * The value of the radio-group. Automatically reflects which radio button is selected.\n */\n @Prop({ mutable: true }) value: any | any[] | undefined | null;\n\n /**\n * The name of the control to be set on all radio button children\n */\n @Prop({ reflect: true }) name;\n\n /**\n * The display mode of the control to be set on all radio button children\n */\n @Prop({ reflect: true }) mode: RadioGroupMode = 'radio';\n\n /** Emitted when the value has changed. */\n @Event() wcsChange!: EventEmitter<RadioGroupChangeEventDetail>;\n\n @Watch('value')\n onValueChangeHandler(value: any | undefined) {\n this.updateRadioTabIndex(value);\n this.updateAllRadioState();\n }\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.el, attr, value);\n }\n\n componentDidLoad() {\n this.onValueChangeHandler(this.value);\n this.updateAllRadioModeAndName();\n }\n \n onSlotChange() {\n this.updateRadioTabIndex(this.value);\n this.updateAllRadioModeAndName();\n }\n \n updateAllRadioState() {\n this.getSlottedRadios().forEach(r => r.updateState());\n }\n \n @Watch('name')\n @Watch('mode')\n updateAllRadioModeAndName() {\n this.getSlottedRadios().forEach(r => {\n r.mode = this.mode;\n r.name = this.name;\n });\n }\n \n updateRadioTabIndex(value: any | undefined) {\n const radios = this.getSlottedRadios();\n\n // Get the first radio that is not disabled and the checked one\n const first = radios.find((radio) => !radio.disabled);\n const checked = radios.find((radio) => radio.value === value && !radio.disabled);\n\n if (!first && !checked) {\n return;\n }\n\n // If an enabled checked radio exists, set it to be the focusable radio\n // otherwise we default to focus the first radio\n const focusable = checked || first;\n\n for (const radio of radios) {\n const tabindex = radio === focusable ? 0 : -1;\n radio.setTabIndex(tabindex);\n }\n }\n\n private getSlottedRadios(): HTMLWcsRadioElement[] {\n return Array.from(this.el.querySelectorAll('wcs-radio'));\n }\n\n private getSlottedRadiosNotDisabled(): HTMLWcsRadioElement[] {\n return Array.from(this.getSlottedRadios().filter(radio => !radio.disabled));\n }\n\n @Listen('wcsRadioClick')\n handleRadioClick(event: CustomEvent<RadioChosedEvent>) {\n this.value = event.detail.value;\n this.wcsChange.emit({\n value: event.detail.value\n });\n }\n\n @Listen('keydown')\n async handleKeyDown(ev: KeyboardEvent) {\n const radiosNotDisabled = this.getSlottedRadiosNotDisabled();\n const previousSelected = radiosNotDisabled.findIndex(r => r === ev.target);\n let indexToSelect: number;\n\n if ((isSpaceKey(ev) || isEnterKey(ev))) {\n ev.preventDefault();\n indexToSelect = previousSelected;\n } else if (isDownArrowKey(ev) || isRightArrowKey(ev)) {\n ev.preventDefault();\n // Check the next wcs-radio from the previous selected\n indexToSelect = (previousSelected + 1) % radiosNotDisabled.length; // to return at the beginning on the list when we are on the last index\n } else if (isUpArrowKey(ev) || isLeftArrowKey(ev)) {\n ev.preventDefault();\n // Check the previous wcs-radio from the previous selected\n indexToSelect = (previousSelected - 1 + radiosNotDisabled.length) % radiosNotDisabled.length; // To return at the end of the list when we are on index=0\n } else if (isTabKey(ev)) {\n return;\n }\n \n const radioToSelect = radiosNotDisabled[indexToSelect]\n if (radioToSelect) {\n radioToSelect.focus();\n \n if (this.value !== radioToSelect.value) {\n this.wcsChange.emit({\n value: radioToSelect.value\n })\n }\n \n this.value = radioToSelect.value;\n }\n }\n\n render() {\n return (\n <Host role=\"radiogroup\">\n <slot name=\"option\" onSlotchange={this.onSlotChange.bind(this)}/>\n </Host>\n );\n }\n\n}\n"],"version":3}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-6f0140d8.js');
6
- const helpers = require('./helpers-871f5a3d.js');
6
+ const helpers = require('./helpers-2f1a8ddc.js');
7
7
 
8
8
  const radioCss = ":host{width:fit-content;--wcs-radio-transition-duration:var(--wcs-semantic-motion-duration-feedback-base);--wcs-radio-text-color-default:var(--wcs-semantic-color-text-secondary);--wcs-radio-text-font-weight-default:var(--wcs-semantic-font-weight-medium);--wcs-radio-text-color-selected:var(--wcs-semantic-color-text-primary);--wcs-radio-text-font-weight-selected:var(--wcs-semantic-font-weight-medium);--wcs-radio-text-color-disabled:var(--wcs-semantic-color-text-disabled);--wcs-radio-text-color-hover:var(--wcs-semantic-color-text-primary);--wcs-radio-checkmark-size:1rem;--wcs-radio-gap:var(--wcs-semantic-spacing-base);--wcs-radio-outline-color-focus:var(--wcs-semantic-color-border-focus-base);--wcs-radio-checkmark-border-width:var(--wcs-semantic-border-width-large);--wcs-radio-checkmark-border-color-default:var(--wcs-semantic-color-border-control-indicator-default);--wcs-radio-checkmark-border-color-selected:var(--wcs-semantic-color-border-control-indicator-selected);--wcs-radio-checkmark-border-color-hover:var(--wcs-semantic-color-border-control-indicator-hover);--wcs-radio-checkmark-border-color-disabled:var(--wcs-semantic-color-border-control-indicator-disabled);--wcs-radio-checkmark-background-color-default:transparent;--wcs-radio-checkmark-background-color-selected:var(--wcs-semantic-color-background-control-indicator-selected);--wcs-radio-checkmark-background-color-selected-disabled:var(--wcs-semantic-color-background-control-indicator-disabled);--wcs-radio-checkmark-background-color-selected-hover:var(--wcs-semantic-color-background-control-indicator-hover);--wcs-radio-checkmark-outline-distance-with-checkmark-circle:var(--wcs-semantic-spacing-small);--wcs-radio-checkmark-outline-width:var(--wcs-semantic-border-width-large);--wcs-radio-checkmark-outline-color:var(--wcs-semantic-color-foreground-control-indicator-selected);--wcs-radio-checkmark-border-radius:var(--wcs-semantic-border-radius-full);--wcs-radio-border-radius:var(--wcs-semantic-border-radius-base);--wcs-radio-option-background-color-default:var(--wcs-semantic-color-background-action-secondary-default);--wcs-radio-option-background-color-hover:var(--wcs-semantic-color-background-action-secondary-default);--wcs-radio-option-background-color-press:var(--wcs-semantic-color-background-action-secondary-default);--wcs-radio-option-background-color-disabled:var(--wcs-semantic-color-background-action-secondary-default);--wcs-radio-option-background-color-selected-default:var(--wcs-semantic-color-background-action-primary-default);--wcs-radio-option-background-color-selected-hover:var(--wcs-semantic-color-background-action-primary-hover);--wcs-radio-option-background-color-selected-press:var(--wcs-semantic-color-background-action-primary-press);--wcs-radio-option-background-color-selected-disabled:var(--wcs-semantic-color-background-action-primary-disabled);--wcs-radio-option-text-color-default:var(--wcs-semantic-color-foreground-action-secondary-default);--wcs-radio-option-text-color-hover:var(--wcs-semantic-color-foreground-action-secondary-default);--wcs-radio-option-text-color-press:var(--wcs-semantic-color-foreground-action-secondary-press);--wcs-radio-option-text-color-selected-default:var(--wcs-semantic-color-foreground-action-primary-default);--wcs-radio-option-text-color-selected-hover:var(--wcs-semantic-color-foreground-action-primary-hover);--wcs-radio-option-text-color-selected-press:var(--wcs-semantic-color-foreground-action-primary-press);--wcs-radio-option-text-color-disabled:var(--wcs-semantic-color-text-disabled);--wcs-radio-option-text-font-weight-default:var(--wcs-semantic-font-weight-roman);--wcs-radio-option-text-font-weight-selected:var(--wcs-semantic-font-weight-roman);--wcs-radio-option-border-radius:var(--wcs-semantic-border-radius-base);--wcs-radio-option-border-width:var(--wcs-semantic-border-width-default);--wcs-radio-option-border-color-hover:var(--wcs-semantic-color-border-action-secondary-hover);--wcs-radio-option-border-color-press:var(--wcs-semantic-color-border-action-secondary-press);--wcs-radio-option-padding-top:var(--wcs-semantic-spacing-base);--wcs-radio-option-padding-right:var(--wcs-semantic-spacing-large);--wcs-radio-option-padding-bottom:var(--wcs-semantic-spacing-base);--wcs-radio-option-padding-left:var(--wcs-semantic-spacing-large)}:host([mode=radio]) input,:host([mode=horizontal]) input{position:absolute;opacity:0;height:1px;width:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:host([mode=radio]) label,:host([mode=horizontal]) label{margin-bottom:0;color:var(--wcs-radio-text-color-default);font-weight:var(--wcs-radio-text-font-weight-default) !important;display:inline-block}:host([mode=radio]) label:before,:host([mode=horizontal]) label:before{border-radius:var(--wcs-radio-checkmark-border-radius);border:var(--wcs-radio-checkmark-border-width) solid var(--wcs-radio-checkmark-border-color-default);position:relative;width:var(--wcs-radio-checkmark-size);height:var(--wcs-radio-checkmark-size);pointer-events:none;content:\"\";background-color:var(--wcs-radio-checkmark-background-color-default)}:host([mode=radio]) input:focus-visible+label,:host([mode=horizontal]) input:focus-visible+label{transition:none;outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-radio-outline-color-focus);outline-offset:var(--wcs-semantic-spacing-small);border-radius:var(--wcs-radio-border-radius)}:host([disabled]) label{color:var(--wcs-radio-text-color-disabled);cursor:not-allowed}:host([disabled]) label:before{border-color:var(--wcs-radio-checkmark-border-color-disabled)}:host(:not([disabled])) label{cursor:pointer}:host([mode=radio].checked) label,:host([mode=horizontal].checked) label{color:var(--wcs-radio-text-color-selected);font-weight:var(--wcs-radio-text-font-weight-selected) !important}:host([mode=radio].checked) label:before,:host([mode=horizontal].checked) label:before{border-color:var(--wcs-radio-checkmark-border-color-selected);background-color:var(--wcs-radio-checkmark-background-color-selected);outline:solid var(--wcs-radio-checkmark-outline-width) var(--wcs-radio-checkmark-outline-color);outline-offset:calc(-1 * var(--wcs-radio-checkmark-outline-distance-with-checkmark-circle))}:host([mode=radio][disabled].checked) label,:host([mode=horizontal][disabled].checked) label{color:var(--wcs-radio-text-color-disabled)}:host([mode=radio][disabled].checked) label:before,:host([mode=horizontal][disabled].checked) label:before{border-color:var(--wcs-radio-checkmark-border-color-disabled);background-color:var(--wcs-radio-checkmark-background-color-selected-disabled)}:host([mode=radio]:hover:not([disabled])) label,:host([mode=horizontal]:hover:not([disabled])) label{color:var(--wcs-radio-text-color-hover)}:host([mode=radio]:hover:not([disabled])) label:before,:host([mode=horizontal]:hover:not([disabled])) label:before{border-color:var(--wcs-radio-checkmark-border-color-hover);background-color:var(--wcs-radio-checkmark-background-color-selected-hover)}:host([mode=radio]:hover:not([disabled]):not(.checked)) label:before,:host([mode=horizontal]:hover:not([disabled]):not(.checked)) label:before{background-color:var(--wcs-radio-checkmark-background-color-default)}:host([mode=radio]) label{border:none}:host([mode=radio]) label:before{transition:background-color var(--wcs-radio-transition-duration) ease-in-out;margin-right:var(--wcs-radio-gap);display:inline-block;top:3px;box-sizing:border-box}:host([mode=radio]) label:empty::before{margin-right:0}:host([mode=horizontal]){height:fit-content}:host([mode=horizontal]) label:before{transition:background-color var(--wcs-radio-transition-duration) ease-in-out;margin:auto auto var(--wcs-radio-gap);display:block}:host([mode=horizontal]) label:empty::before{margin-bottom:0}:host([mode=option]){font-weight:var(--wcs-radio-option-text-font-weight-default) !important}:host([mode=option]) input{position:absolute;z-index:-1;opacity:0;box-sizing:border-box;padding:0}:host([mode=option]) label{padding:var(--wcs-radio-option-padding-top) var(--wcs-radio-option-padding-right) var(--wcs-radio-option-padding-bottom) var(--wcs-radio-option-padding-left);margin-bottom:0;color:var(--wcs-radio-option-text-color-default);white-space:nowrap;border-radius:var(--wcs-radio-option-border-radius);transition:background-color var(--wcs-radio-transition-duration) ease-in-out;background-color:var(--wcs-radio-option-background-color-default)}:host([mode=option]) input:focus-visible+label{outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-radio-outline-color-focus);outline-offset:0;border-radius:var(--wcs-radio-border-radius)}:host([mode=option][disabled]) label{color:var(--wcs-radio-option-text-color-disabled);background-color:var(--wcs-radio-option-background-color-disabled)}:host([mode=option][disabled].checked) label{color:var(--wcs-radio-option-text-color-disabled);background-color:var(--wcs-radio-option-background-color-selected-disabled)}:host([mode=option].checked) label{font-weight:var(--wcs-radio-option-text-font-weight-selected) !important;color:var(--wcs-radio-option-text-color-selected-default);background-color:var(--wcs-radio-option-background-color-selected-default)}:host([mode=option]:hover.checked:not([disabled])) label{color:var(--wcs-radio-option-text-color-selected-hover);background-color:var(--wcs-radio-option-background-color-selected-hover)}:host([mode=option]:active.checked:not([disabled])) label{color:var(--wcs-radio-option-text-color-selected-press);background-color:var(--wcs-radio-option-background-color-selected-press)}:host([mode=option]:hover:not(.checked):not([disabled])) label{color:var(--wcs-radio-option-text-color-hover);background-color:var(--wcs-radio-option-background-color-hover);outline:var(--wcs-radio-option-border-width) solid var(--wcs-radio-option-border-color-hover)}:host([mode=option]:active:not(.checked):not([disabled])) label{color:var(--wcs-radio-option-text-color-press);background-color:var(--wcs-radio-option-background-color-press);outline:var(--wcs-radio-option-border-width) solid var(--wcs-radio-option-border-color-press)}";
9
9
  const WcsRadioStyle0 = radioCss;
@@ -77,7 +77,7 @@ const Radio = class {
77
77
  });
78
78
  }
79
79
  render() {
80
- return (index.h(index.Host, { key: 'ebbb03e1c723a28798544b5f75bf305b74db2fe4', slot: "option", tabIndex: this.disabled ? -1 : this.radioTabIndex, class: this.checked ? 'checked' : '' }, index.h("input", Object.assign({ key: '6deafa14c6a33bb215ce629d2065cbc118692912', id: this.inputId, type: "radio", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, onChange: this.onChange.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this), "aria-disabled": this.disabled ? 'true' : null, "aria-checked": `${this.checked}`, ref: (el) => (this.nativeRadio = el) }, this.inheritedAttributes)), index.h("label", { key: 'a1bc3da98121c65a7589218fc57ca7c3baad1b67', htmlFor: `${this.inputId}` }, this.label)));
80
+ return (index.h(index.Host, { key: 'b753f4673fccbd2f0d7e1636be135da90e1850ef', slot: "option", tabIndex: this.disabled ? -1 : this.radioTabIndex, class: this.checked ? 'checked' : '' }, index.h("input", Object.assign({ key: '25ac2afe93bdde452db9226feb11587f76a4fd69', id: this.inputId, type: "radio", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, onChange: this.onChange.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this), "aria-disabled": this.disabled ? 'true' : null, "aria-checked": `${this.checked}`, ref: (el) => (this.nativeRadio = el) }, this.inheritedAttributes)), index.h("label", { key: '13b771ac257bcf81734cee12a85ffdf143e3c329', htmlFor: `${this.inputId}` }, this.label)));
81
81
  }
82
82
  static get delegatesFocus() { return true; }
83
83
  get el() { return index.getElement(this); }
@@ -1 +1 @@
1
- {"file":"wcs-radio.entry.cjs.js","mappings":"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","names":["setOrRemoveAttribute","inheritAriaAttributes","inheritAttributes","h","Host"],"sources":["src/components/radio/radio.scss?tag=wcs-radio&encapsulation=shadow","src/components/radio/radio.tsx"],"sourcesContent":["@import '../../style/focus-outline.scss';\n\n:host {\n width: fit-content;\n\n --wcs-radio-transition-duration: var(--wcs-semantic-motion-duration-feedback-base);\n\n // region mode Radio\n --wcs-radio-text-color-default: var(--wcs-semantic-color-text-secondary);\n --wcs-radio-text-font-weight-default: var(--wcs-semantic-font-weight-medium);\n\n --wcs-radio-text-color-selected: var(--wcs-semantic-color-text-primary);\n --wcs-radio-text-font-weight-selected: var(--wcs-semantic-font-weight-medium);\n\n --wcs-radio-text-color-disabled: var(--wcs-semantic-color-text-disabled);\n --wcs-radio-text-color-hover: var(--wcs-semantic-color-text-primary);\n\n --wcs-radio-checkmark-size: 1rem; // for now, we let raw value to let adjust the size based on base font size\n\n --wcs-radio-gap: var(--wcs-semantic-spacing-base);\n\n --wcs-radio-outline-color-focus: var(--wcs-semantic-color-border-focus-base); // outline color for focus ring\n\n --wcs-radio-checkmark-border-width: var(--wcs-semantic-border-width-large);\n --wcs-radio-checkmark-border-color-default: var(--wcs-semantic-color-border-control-indicator-default);\n --wcs-radio-checkmark-border-color-selected: var(--wcs-semantic-color-border-control-indicator-selected);\n --wcs-radio-checkmark-border-color-hover: var(--wcs-semantic-color-border-control-indicator-hover);\n --wcs-radio-checkmark-border-color-disabled: var(--wcs-semantic-color-border-control-indicator-disabled);\n\n --wcs-radio-checkmark-background-color-default: transparent;\n --wcs-radio-checkmark-background-color-selected: var(--wcs-semantic-color-background-control-indicator-selected);\n --wcs-radio-checkmark-background-color-selected-disabled: var(--wcs-semantic-color-background-control-indicator-disabled);\n --wcs-radio-checkmark-background-color-selected-hover: var(--wcs-semantic-color-background-control-indicator-hover);\n\n --wcs-radio-checkmark-outline-distance-with-checkmark-circle: var(--wcs-semantic-spacing-small);\n --wcs-radio-checkmark-outline-width: var(--wcs-semantic-border-width-large);\n --wcs-radio-checkmark-outline-color: var(--wcs-semantic-color-foreground-control-indicator-selected);\n --wcs-radio-checkmark-border-radius: var(--wcs-semantic-border-radius-full);\n\n --wcs-radio-border-radius: var(--wcs-semantic-border-radius-base);\n // endregion\n\n // region mode Option\n --wcs-radio-option-background-color-default: var(--wcs-semantic-color-background-action-secondary-default);\n --wcs-radio-option-background-color-hover: var(--wcs-semantic-color-background-action-secondary-default);\n --wcs-radio-option-background-color-press: var(--wcs-semantic-color-background-action-secondary-default);\n --wcs-radio-option-background-color-disabled: var(--wcs-semantic-color-background-action-secondary-default);\n\n --wcs-radio-option-background-color-selected-default: var(--wcs-semantic-color-background-action-primary-default);\n --wcs-radio-option-background-color-selected-hover: var(--wcs-semantic-color-background-action-primary-hover);\n --wcs-radio-option-background-color-selected-press: var(--wcs-semantic-color-background-action-primary-press);\n --wcs-radio-option-background-color-selected-disabled: var(--wcs-semantic-color-background-action-primary-disabled);\n\n --wcs-radio-option-text-color-default: var(--wcs-semantic-color-foreground-action-secondary-default);\n --wcs-radio-option-text-color-hover: var(--wcs-semantic-color-foreground-action-secondary-default);\n --wcs-radio-option-text-color-press: var(--wcs-semantic-color-foreground-action-secondary-press);\n\n --wcs-radio-option-text-color-selected-default: var(--wcs-semantic-color-foreground-action-primary-default);\n --wcs-radio-option-text-color-selected-hover: var(--wcs-semantic-color-foreground-action-primary-hover);\n --wcs-radio-option-text-color-selected-press: var(--wcs-semantic-color-foreground-action-primary-press);\n --wcs-radio-option-text-color-disabled: var(--wcs-semantic-color-text-disabled);\n\n --wcs-radio-option-text-font-weight-default: var(--wcs-semantic-font-weight-roman);\n --wcs-radio-option-text-font-weight-selected: var(--wcs-semantic-font-weight-roman);\n\n --wcs-radio-option-border-radius: var(--wcs-semantic-border-radius-base);\n\n --wcs-radio-option-border-width: var(--wcs-semantic-border-width-default);\n\n --wcs-radio-option-border-color-hover: var(--wcs-semantic-color-border-action-secondary-hover);\n --wcs-radio-option-border-color-press: var(--wcs-semantic-color-border-action-secondary-press);\n\n --wcs-radio-option-padding-top: var(--wcs-semantic-spacing-base);\n --wcs-radio-option-padding-right: var(--wcs-semantic-spacing-large);\n --wcs-radio-option-padding-bottom: var(--wcs-semantic-spacing-base);\n --wcs-radio-option-padding-left: var(--wcs-semantic-spacing-large);\n // endregion\n}\n\n:host([mode=radio]),\n:host([mode=horizontal]) {\n input {\n position: absolute;\n opacity: 0;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n }\n\n label {\n margin-bottom: 0;\n color: var(--wcs-radio-text-color-default);\n font-weight: var(--wcs-radio-text-font-weight-default) !important;\n display: inline-block;\n\n &:before {\n border-radius: var(--wcs-radio-checkmark-border-radius);\n border: var(--wcs-radio-checkmark-border-width) solid var(--wcs-radio-checkmark-border-color-default);\n position: relative;\n width: var(--wcs-radio-checkmark-size);\n height: var(--wcs-radio-checkmark-size);\n pointer-events: none;\n content: \"\";\n background-color: var(--wcs-radio-checkmark-background-color-default);\n }\n }\n\n input:focus-visible + label {\n transition: none;\n @include focus-outline($outline-color: var(--wcs-radio-outline-color-focus), $border-radius: var(--wcs-radio-border-radius));\n }\n}\n\n:host([disabled]) {\n label {\n color: var(--wcs-radio-text-color-disabled);\n cursor: not-allowed;\n\n &:before {\n border-color: var(--wcs-radio-checkmark-border-color-disabled);\n }\n }\n}\n\n:host(:not([disabled])) {\n label {\n cursor: pointer;\n }\n}\n\n:host([mode=radio].checked),\n:host([mode=horizontal].checked) {\n label {\n color: var(--wcs-radio-text-color-selected);\n font-weight: var(--wcs-radio-text-font-weight-selected) !important;\n\n &:before {\n border-color: var(--wcs-radio-checkmark-border-color-selected);\n background-color: var(--wcs-radio-checkmark-background-color-selected);\n outline: solid var(--wcs-radio-checkmark-outline-width) var(--wcs-radio-checkmark-outline-color);\n outline-offset: calc(-1 * var(--wcs-radio-checkmark-outline-distance-with-checkmark-circle));\n }\n }\n}\n\n:host([mode=radio][disabled].checked),\n:host([mode=horizontal][disabled].checked) {\n label {\n color: var(--wcs-radio-text-color-disabled);\n\n &:before {\n border-color: var(--wcs-radio-checkmark-border-color-disabled);\n background-color: var(--wcs-radio-checkmark-background-color-selected-disabled);\n }\n }\n}\n\n:host([mode=radio]:hover:not([disabled])),\n:host([mode=horizontal]:hover:not([disabled])) {\n label {\n color: var(--wcs-radio-text-color-hover);\n\n &:before {\n border-color: var(--wcs-radio-checkmark-border-color-hover);\n background-color: var(--wcs-radio-checkmark-background-color-selected-hover);\n }\n }\n}\n\n:host([mode=radio]:hover:not([disabled]):not(.checked)),\n:host([mode=horizontal]:hover:not([disabled]):not(.checked)) {\n label:before {\n background-color: var(--wcs-radio-checkmark-background-color-default);\n }\n}\n\n:host([mode=radio]) {\n label {\n border: none;\n\n &:before {\n transition: background-color var(--wcs-radio-transition-duration) ease-in-out;\n margin-right: var(--wcs-radio-gap);\n display: inline-block;\n top: 3px;\n box-sizing: border-box;\n }\n\n &:empty::before {\n margin-right: 0;\n }\n }\n}\n\n:host([mode=horizontal]) {\n height: fit-content;\n\n label {\n &:before {\n transition: background-color var(--wcs-radio-transition-duration) ease-in-out;\n margin: auto auto var(--wcs-radio-gap);\n display: block;\n }\n\n &:empty::before {\n margin-bottom: 0;\n }\n }\n}\n\n:host([mode=option]) {\n font-weight: var(--wcs-radio-option-text-font-weight-default) !important;\n\n input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n box-sizing: border-box;\n padding: 0;\n }\n\n label {\n padding: var(--wcs-radio-option-padding-top) var(--wcs-radio-option-padding-right) var(--wcs-radio-option-padding-bottom) var(--wcs-radio-option-padding-left);\n margin-bottom: 0;\n color: var(--wcs-radio-option-text-color-default);\n white-space: nowrap;\n border-radius: var(--wcs-radio-option-border-radius);\n transition: background-color var(--wcs-radio-transition-duration) ease-in-out;\n background-color: var(--wcs-radio-option-background-color-default);\n }\n\n input:focus-visible + label {\n @include focus-outline($outline-color: var(--wcs-radio-outline-color-focus), $border-radius: var(--wcs-radio-border-radius), $outline-offset: 0);\n }\n}\n\n:host([mode=option][disabled]) {\n label {\n color: var(--wcs-radio-option-text-color-disabled);\n background-color: var(--wcs-radio-option-background-color-disabled);\n }\n}\n\n:host([mode=option][disabled].checked) {\n label {\n color: var(--wcs-radio-option-text-color-disabled);\n background-color: var(--wcs-radio-option-background-color-selected-disabled);\n }\n}\n\n:host([mode=option].checked) {\n label {\n font-weight: var(--wcs-radio-option-text-font-weight-selected) !important;\n color: var(--wcs-radio-option-text-color-selected-default);\n background-color: var(--wcs-radio-option-background-color-selected-default);\n }\n}\n\n:host([mode=option]:hover.checked:not([disabled])) {\n label {\n color: var(--wcs-radio-option-text-color-selected-hover);\n background-color: var(--wcs-radio-option-background-color-selected-hover);\n }\n}\n\n:host([mode=option]:active.checked:not([disabled])) {\n label {\n color: var(--wcs-radio-option-text-color-selected-press);\n background-color: var(--wcs-radio-option-background-color-selected-press);\n }\n}\n\n:host([mode=option]:hover:not(.checked):not([disabled])) {\n label {\n color: var(--wcs-radio-option-text-color-hover);\n background-color: var(--wcs-radio-option-background-color-hover);\n outline: var(--wcs-radio-option-border-width) solid var(--wcs-radio-option-border-color-hover);\n }\n}\n\n:host([mode=option]:active:not(.checked):not([disabled])) {\n label {\n color: var(--wcs-radio-option-text-color-press);\n background-color: var(--wcs-radio-option-background-color-press);\n outline: var(--wcs-radio-option-border-width) solid var(--wcs-radio-option-border-color-press);\n\n\n\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State\n} from '@stencil/core';\nimport { RadioChosedEvent } from './radio-interface';\nimport { RadioGroupMode } from '../radio-group/radio-group-interface';\nimport { inheritAriaAttributes, inheritAttributes, setOrRemoveAttribute } from \"../../utils/helpers\";\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\n\nconst RADIO_INHERITED_ATTRS = ['title'];\n\n/**\n * The radio component should always be wrapped in a `wcs-radio-group`.\n * \n * @cssprop --wcs-radio-transition-duration - Duration of the transition\n * \n * @cssprop --wcs-radio-text-color-default - Color of the text when the radio is not selected\n * @cssprop --wcs-radio-text-font-weight-default - Default font weight of the text\n * @cssprop --wcs-radio-text-color-selected - Color of the text when the radio is selected\n * @cssprop --wcs-radio-text-font-weight-selected - Font weight of the text when the radio is selected\n * @cssprop --wcs-radio-text-color-disabled - Color of the text when the radio is disabled\n * @cssprop --wcs-radio-text-color-hover - Color of the text when the radio is hovered\n * \n * @cssprop --wcs-radio-outline-color-focus - Color of the outline when the radio is focused\n * \n * @cssprop --wcs-radio-checkmark-size - Size of the checkmark circle\n * @cssprop --wcs-radio-checkmark-border-width - Width of the border of the checkmark circle\n * @cssprop --wcs-radio-checkmark-border-color-default - Color of the border of the checkmark circle when the radio's is not selected\n * @cssprop --wcs-radio-checkmark-border-color-selected - Color of the border of the checkmark circle when the radio is selected\n * @cssprop --wcs-radio-checkmark-border-color-hover - Color of the border of the checkmark circle when the radio is hovered\n * @cssprop --wcs-radio-checkmark-border-color-disabled - Color of the border of the checkmark circle when the radio is disabled\n * @cssprop --wcs-radio-checkmark-background-color-default - Background color of the checkmark circle when the radio's is not selected\n * @cssprop --wcs-radio-checkmark-background-color-selected - Background color of the checkmark circle when the radio's is selected\n * @cssprop --wcs-radio-checkmark-background-color-selected-disabled - Background color of the checkmark circle when the radio is selected and disabled\n * @cssprop --wcs-radio-checkmark-background-color-selected-hover - Background color of the checkmark circle when the radio is selected and hovered\n *\n * @cssprop --wcs-radio-checkmark-outline-distance-with-checkmark-circle - Distance between the checkmark circle and the outline (inside the background)\n * @cssprop --wcs-radio-checkmark-outline-width - Width of the outline of the checkmark circle (inside the background)\n * @cssprop --wcs-radio-checkmark-outline-color - Color of the outline of the checkmark circle (inside the background)\n * @cssprop --wcs-radio-checkmark-border-radius - Border radius of the checkmark circle\n * \n * @cssprop --wcs-radio-gap - Gap between the radio checkmark circle and the label\n * \n * @cssprop --wcs-radio-border-radius - Border radius of the radio (default mode)\n *\n * @cssprop --wcs-radio-option-background-color-default - Background color of the radio option when not selected\n * @cssprop --wcs-radio-option-background-color-hover - Background color of the radio option not selected when hovered\n * @cssprop --wcs-radio-option-background-color-press - Background color of the radio option when pressed\n * @cssprop --wcs-radio-option-background-color-disabled - Background color of the radio option when disabled\n * \n * @cssprop --wcs-radio-option-background-color-selected-default - Background color of the radio option when selected\n * @cssprop --wcs-radio-option-background-color-selected-hover - Background color of the radio option when selected and hovered\n * @cssprop --wcs-radio-option-background-color-selected-press - Background color of the radio option when selected and pressed\n * @cssprop --wcs-radio-option-background-color-selected-disabled - Background color of the radio option when selected and disabled\n * \n * @cssprop --wcs-radio-option-text-color-default - Color of the text when the radio option is not selected\n * @cssprop --wcs-radio-option-text-color-hover - Color of the text when the radio option not selected is hovered\n * @cssprop --wcs-radio-option-text-color-press - Color of the text when the radio option is pressed\n * \n * @cssprop --wcs-radio-option-text-color-selected-default - Color of the text when the radio option is selected\n * @cssprop --wcs-radio-option-text-color-selected-hover - Color of the text when the radio option is selected and hovered\n * @cssprop --wcs-radio-option-text-color-selected-press - Color of the text when the radio option is selected and pressed\n * @cssprop --wcs-radio-option-text-color-disabled - Color of the text when the radio option's is disabled\n * \n * @cssprop --wcs-radio-option-text-font-weight-default - Default font weight of the text\n * @cssprop --wcs-radio-option-text-font-weight-selected - Font weight of the text when the radio option is selected\n *\n * @cssprop --wcs-radio-option-border-radius - Border radius of the radio option\n * @cssprop --wcs-radio-option-border-width - Width of the border of the radio option\n * @cssprop --wcs-radio-option-border-color-hover - Color of the border of the radio option when not selected and hovered\n * @cssprop --wcs-radio-option-border-color-press - Color of the border of the radio option when not selected and pressed\n * \n * @cssprop --wcs-radio-option-padding-top - Padding top of the radio option\n * @cssprop --wcs-radio-option-padding-right - Padding right of the radio option\n * @cssprop --wcs-radio-option-padding-bottom - Padding bottom of the radio option\n * @cssprop --wcs-radio-option-padding-left - Padding left of the radio option\n */\n@Component({\n tag: 'wcs-radio',\n styleUrl: 'radio.scss',\n shadow: {\n delegatesFocus: true\n }\n})\nexport class Radio implements ComponentInterface, MutableAriaAttribute {\n private inputId = `wcs-rb-${radioButtonIds++}`;\n @Element() private el!: HTMLWcsRadioElement;\n private nativeRadio!: HTMLInputElement;\n private inheritedAttributes: { [k: string]: any } = {};\n \n /**\n * If `true`, the radio is selected. \n * @private\n */\n @State() private checked = false;\n\n /**\n * The tabindex of the radio button\n * @private\n */\n @State() private radioTabIndex = -1;\n\n /**\n * Sets a unique value for each radio, used to identify which radio button in a group is selected\n */\n @Prop({ mutable: true, reflect: true }) value: any | any[] | undefined | null;\n\n /**\n * The label text displayed for the user\n */\n @Prop({ mutable: true, reflect: true }) label: string;\n \n /**\n * If `true`, the user cannot interact with the radio.\n */\n @Prop({ mutable: true }) disabled = false;\n\n /**\n * Emitted when the radio is clicked or Space/Enter is pressed above an unchecked radio\n */\n @Event({ eventName: 'wcsRadioClick' }) wcsRadioClick: EventEmitter<RadioChosedEvent>\n\n /**\n * Emitted when the radio loses focus.\n */\n @Event() wcsBlur!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the radio has focus.\n */\n @Event() wcsFocus!: EventEmitter<FocusEvent>;\n\n /**\n * The name of the control, automatically set by the radio group. \n * (You shouldn't set this prop by yourself)\n * @internal\n */\n @Prop({ mutable: true }) name: string;\n\n\n /**\n * The display mode of the control, automatically set by the radio group. \n * (You shouldn't set this prop by yourself)\n * @internal\n */\n @Prop({ reflect: true, mutable: false }) mode: RadioGroupMode = 'radio';\n\n /**\n * @internal\n * Checks of unchecks the radio according to it's radio-group value\n */\n @Method()\n async updateState() {\n const radioGroup = this.getClosestRadioGroup();\n if (radioGroup) {\n this.checked = radioGroup.name === this.name && radioGroup.value === this.value\n }\n }\n\n /** @internal */\n @Method()\n async setTabIndex(value: number) {\n this.radioTabIndex = value;\n }\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.nativeRadio, attr, value);\n }\n\n onFocus(ev: FocusEvent) {\n this.wcsFocus.emit(ev);\n }\n\n onBlur(ev: FocusEvent) {\n this.wcsBlur.emit(ev);\n }\n \n private getClosestRadioGroup(): HTMLWcsRadioGroupElement | null {\n return this.el.closest('wcs-radio-group');\n }\n\n componentWillLoad(): Promise<void> | void {\n if (this.value === undefined) {\n // If no value was given we use the text content instead.\n this.value = this.el.innerText || '';\n }\n \n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, RADIO_INHERITED_ATTRS),\n };\n }\n \n private onChange(_: Event) {\n if (this.disabled) return;\n\n // If the radio is unchecked, then the change represents its transition to the check state.\n // Only emit the change event when going from unchecked to checked, like the native behavior.\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n if (!this.checked) {\n this.checked = true;\n this.emitRadioChangeEvent();\n }\n }\n\n emitRadioChangeEvent() {\n this.wcsRadioClick.emit({\n label: this.label,\n source: this.el,\n value: this.value\n });\n }\n\n render() {\n \n return (\n <Host slot=\"option\"\n tabIndex={this.disabled ? -1 : this.radioTabIndex}\n class={this.checked ? 'checked' : ''}>\n <input\n id={this.inputId}\n type=\"radio\"\n name={this.name}\n value={this.value}\n checked={this.checked} // Initial checked state of native input\n disabled={this.disabled}\n onChange={this.onChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onBlur={this.onBlur.bind(this)}\n aria-disabled={this.disabled ? 'true' : null}\n aria-checked={`${this.checked}`}\n ref={(el) => (this.nativeRadio = el)}\n {...this.inheritedAttributes}\n />\n <label htmlFor={`${this.inputId}`}>{this.label}</label>\n </Host>\n );\n }\n}\n\nlet radioButtonIds = 0;\n"],"version":3}
1
+ {"file":"wcs-radio.entry.cjs.js","mappings":"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","names":["setOrRemoveAttribute","inheritAriaAttributes","inheritAttributes","h","Host"],"sources":["src/components/radio/radio.scss?tag=wcs-radio&encapsulation=shadow","src/components/radio/radio.tsx"],"sourcesContent":["@import '../../style/focus-outline.scss';\n\n:host {\n width: fit-content;\n\n --wcs-radio-transition-duration: var(--wcs-semantic-motion-duration-feedback-base);\n\n // region mode Radio\n --wcs-radio-text-color-default: var(--wcs-semantic-color-text-secondary);\n --wcs-radio-text-font-weight-default: var(--wcs-semantic-font-weight-medium);\n\n --wcs-radio-text-color-selected: var(--wcs-semantic-color-text-primary);\n --wcs-radio-text-font-weight-selected: var(--wcs-semantic-font-weight-medium);\n\n --wcs-radio-text-color-disabled: var(--wcs-semantic-color-text-disabled);\n --wcs-radio-text-color-hover: var(--wcs-semantic-color-text-primary);\n\n --wcs-radio-checkmark-size: 1rem; // for now, we let raw value to let adjust the size based on base font size\n\n --wcs-radio-gap: var(--wcs-semantic-spacing-base);\n\n --wcs-radio-outline-color-focus: var(--wcs-semantic-color-border-focus-base); // outline color for focus ring\n\n --wcs-radio-checkmark-border-width: var(--wcs-semantic-border-width-large);\n --wcs-radio-checkmark-border-color-default: var(--wcs-semantic-color-border-control-indicator-default);\n --wcs-radio-checkmark-border-color-selected: var(--wcs-semantic-color-border-control-indicator-selected);\n --wcs-radio-checkmark-border-color-hover: var(--wcs-semantic-color-border-control-indicator-hover);\n --wcs-radio-checkmark-border-color-disabled: var(--wcs-semantic-color-border-control-indicator-disabled);\n\n --wcs-radio-checkmark-background-color-default: transparent;\n --wcs-radio-checkmark-background-color-selected: var(--wcs-semantic-color-background-control-indicator-selected);\n --wcs-radio-checkmark-background-color-selected-disabled: var(--wcs-semantic-color-background-control-indicator-disabled);\n --wcs-radio-checkmark-background-color-selected-hover: var(--wcs-semantic-color-background-control-indicator-hover);\n\n --wcs-radio-checkmark-outline-distance-with-checkmark-circle: var(--wcs-semantic-spacing-small);\n --wcs-radio-checkmark-outline-width: var(--wcs-semantic-border-width-large);\n --wcs-radio-checkmark-outline-color: var(--wcs-semantic-color-foreground-control-indicator-selected);\n --wcs-radio-checkmark-border-radius: var(--wcs-semantic-border-radius-full);\n\n --wcs-radio-border-radius: var(--wcs-semantic-border-radius-base);\n // endregion\n\n // region mode Option\n --wcs-radio-option-background-color-default: var(--wcs-semantic-color-background-action-secondary-default);\n --wcs-radio-option-background-color-hover: var(--wcs-semantic-color-background-action-secondary-default);\n --wcs-radio-option-background-color-press: var(--wcs-semantic-color-background-action-secondary-default);\n --wcs-radio-option-background-color-disabled: var(--wcs-semantic-color-background-action-secondary-default);\n\n --wcs-radio-option-background-color-selected-default: var(--wcs-semantic-color-background-action-primary-default);\n --wcs-radio-option-background-color-selected-hover: var(--wcs-semantic-color-background-action-primary-hover);\n --wcs-radio-option-background-color-selected-press: var(--wcs-semantic-color-background-action-primary-press);\n --wcs-radio-option-background-color-selected-disabled: var(--wcs-semantic-color-background-action-primary-disabled);\n\n --wcs-radio-option-text-color-default: var(--wcs-semantic-color-foreground-action-secondary-default);\n --wcs-radio-option-text-color-hover: var(--wcs-semantic-color-foreground-action-secondary-default);\n --wcs-radio-option-text-color-press: var(--wcs-semantic-color-foreground-action-secondary-press);\n\n --wcs-radio-option-text-color-selected-default: var(--wcs-semantic-color-foreground-action-primary-default);\n --wcs-radio-option-text-color-selected-hover: var(--wcs-semantic-color-foreground-action-primary-hover);\n --wcs-radio-option-text-color-selected-press: var(--wcs-semantic-color-foreground-action-primary-press);\n --wcs-radio-option-text-color-disabled: var(--wcs-semantic-color-text-disabled);\n\n --wcs-radio-option-text-font-weight-default: var(--wcs-semantic-font-weight-roman);\n --wcs-radio-option-text-font-weight-selected: var(--wcs-semantic-font-weight-roman);\n\n --wcs-radio-option-border-radius: var(--wcs-semantic-border-radius-base);\n\n --wcs-radio-option-border-width: var(--wcs-semantic-border-width-default);\n\n --wcs-radio-option-border-color-hover: var(--wcs-semantic-color-border-action-secondary-hover);\n --wcs-radio-option-border-color-press: var(--wcs-semantic-color-border-action-secondary-press);\n\n --wcs-radio-option-padding-top: var(--wcs-semantic-spacing-base);\n --wcs-radio-option-padding-right: var(--wcs-semantic-spacing-large);\n --wcs-radio-option-padding-bottom: var(--wcs-semantic-spacing-base);\n --wcs-radio-option-padding-left: var(--wcs-semantic-spacing-large);\n // endregion\n}\n\n:host([mode=radio]),\n:host([mode=horizontal]) {\n input {\n position: absolute;\n opacity: 0;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n }\n\n label {\n margin-bottom: 0;\n color: var(--wcs-radio-text-color-default);\n font-weight: var(--wcs-radio-text-font-weight-default) !important;\n display: inline-block;\n\n &:before {\n border-radius: var(--wcs-radio-checkmark-border-radius);\n border: var(--wcs-radio-checkmark-border-width) solid var(--wcs-radio-checkmark-border-color-default);\n position: relative;\n width: var(--wcs-radio-checkmark-size);\n height: var(--wcs-radio-checkmark-size);\n pointer-events: none;\n content: \"\";\n background-color: var(--wcs-radio-checkmark-background-color-default);\n }\n }\n\n input:focus-visible + label {\n transition: none;\n @include focus-outline($outline-color: var(--wcs-radio-outline-color-focus), $border-radius: var(--wcs-radio-border-radius));\n }\n}\n\n:host([disabled]) {\n label {\n color: var(--wcs-radio-text-color-disabled);\n cursor: not-allowed;\n\n &:before {\n border-color: var(--wcs-radio-checkmark-border-color-disabled);\n }\n }\n}\n\n:host(:not([disabled])) {\n label {\n cursor: pointer;\n }\n}\n\n:host([mode=radio].checked),\n:host([mode=horizontal].checked) {\n label {\n color: var(--wcs-radio-text-color-selected);\n font-weight: var(--wcs-radio-text-font-weight-selected) !important;\n\n &:before {\n border-color: var(--wcs-radio-checkmark-border-color-selected);\n background-color: var(--wcs-radio-checkmark-background-color-selected);\n outline: solid var(--wcs-radio-checkmark-outline-width) var(--wcs-radio-checkmark-outline-color);\n outline-offset: calc(-1 * var(--wcs-radio-checkmark-outline-distance-with-checkmark-circle));\n }\n }\n}\n\n:host([mode=radio][disabled].checked),\n:host([mode=horizontal][disabled].checked) {\n label {\n color: var(--wcs-radio-text-color-disabled);\n\n &:before {\n border-color: var(--wcs-radio-checkmark-border-color-disabled);\n background-color: var(--wcs-radio-checkmark-background-color-selected-disabled);\n }\n }\n}\n\n:host([mode=radio]:hover:not([disabled])),\n:host([mode=horizontal]:hover:not([disabled])) {\n label {\n color: var(--wcs-radio-text-color-hover);\n\n &:before {\n border-color: var(--wcs-radio-checkmark-border-color-hover);\n background-color: var(--wcs-radio-checkmark-background-color-selected-hover);\n }\n }\n}\n\n:host([mode=radio]:hover:not([disabled]):not(.checked)),\n:host([mode=horizontal]:hover:not([disabled]):not(.checked)) {\n label:before {\n background-color: var(--wcs-radio-checkmark-background-color-default);\n }\n}\n\n:host([mode=radio]) {\n label {\n border: none;\n\n &:before {\n transition: background-color var(--wcs-radio-transition-duration) ease-in-out;\n margin-right: var(--wcs-radio-gap);\n display: inline-block;\n top: 3px;\n box-sizing: border-box;\n }\n\n &:empty::before {\n margin-right: 0;\n }\n }\n}\n\n:host([mode=horizontal]) {\n height: fit-content;\n\n label {\n &:before {\n transition: background-color var(--wcs-radio-transition-duration) ease-in-out;\n margin: auto auto var(--wcs-radio-gap);\n display: block;\n }\n\n &:empty::before {\n margin-bottom: 0;\n }\n }\n}\n\n:host([mode=option]) {\n font-weight: var(--wcs-radio-option-text-font-weight-default) !important;\n\n input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n box-sizing: border-box;\n padding: 0;\n }\n\n label {\n padding: var(--wcs-radio-option-padding-top) var(--wcs-radio-option-padding-right) var(--wcs-radio-option-padding-bottom) var(--wcs-radio-option-padding-left);\n margin-bottom: 0;\n color: var(--wcs-radio-option-text-color-default);\n white-space: nowrap;\n border-radius: var(--wcs-radio-option-border-radius);\n transition: background-color var(--wcs-radio-transition-duration) ease-in-out;\n background-color: var(--wcs-radio-option-background-color-default);\n }\n\n input:focus-visible + label {\n @include focus-outline($outline-color: var(--wcs-radio-outline-color-focus), $border-radius: var(--wcs-radio-border-radius), $outline-offset: 0);\n }\n}\n\n:host([mode=option][disabled]) {\n label {\n color: var(--wcs-radio-option-text-color-disabled);\n background-color: var(--wcs-radio-option-background-color-disabled);\n }\n}\n\n:host([mode=option][disabled].checked) {\n label {\n color: var(--wcs-radio-option-text-color-disabled);\n background-color: var(--wcs-radio-option-background-color-selected-disabled);\n }\n}\n\n:host([mode=option].checked) {\n label {\n font-weight: var(--wcs-radio-option-text-font-weight-selected) !important;\n color: var(--wcs-radio-option-text-color-selected-default);\n background-color: var(--wcs-radio-option-background-color-selected-default);\n }\n}\n\n:host([mode=option]:hover.checked:not([disabled])) {\n label {\n color: var(--wcs-radio-option-text-color-selected-hover);\n background-color: var(--wcs-radio-option-background-color-selected-hover);\n }\n}\n\n:host([mode=option]:active.checked:not([disabled])) {\n label {\n color: var(--wcs-radio-option-text-color-selected-press);\n background-color: var(--wcs-radio-option-background-color-selected-press);\n }\n}\n\n:host([mode=option]:hover:not(.checked):not([disabled])) {\n label {\n color: var(--wcs-radio-option-text-color-hover);\n background-color: var(--wcs-radio-option-background-color-hover);\n outline: var(--wcs-radio-option-border-width) solid var(--wcs-radio-option-border-color-hover);\n }\n}\n\n:host([mode=option]:active:not(.checked):not([disabled])) {\n label {\n color: var(--wcs-radio-option-text-color-press);\n background-color: var(--wcs-radio-option-background-color-press);\n outline: var(--wcs-radio-option-border-width) solid var(--wcs-radio-option-border-color-press);\n\n\n\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State\n} from '@stencil/core';\nimport { RadioChosedEvent } from './radio-interface';\nimport { RadioGroupMode } from '../radio-group/radio-group-interface';\nimport { inheritAriaAttributes, inheritAttributes, setOrRemoveAttribute } from \"../../utils/helpers\";\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\n\nconst RADIO_INHERITED_ATTRS = ['title'];\n\n/**\n * The radio component should always be wrapped in a `wcs-radio-group`.\n * \n * @cssprop --wcs-radio-transition-duration - Duration of the transition\n * \n * @cssprop --wcs-radio-text-color-default - Color of the text when the radio is not selected\n * @cssprop --wcs-radio-text-font-weight-default - Default font weight of the text\n * @cssprop --wcs-radio-text-color-selected - Color of the text when the radio is selected\n * @cssprop --wcs-radio-text-font-weight-selected - Font weight of the text when the radio is selected\n * @cssprop --wcs-radio-text-color-disabled - Color of the text when the radio is disabled\n * @cssprop --wcs-radio-text-color-hover - Color of the text when the radio is hovered\n * \n * @cssprop --wcs-radio-outline-color-focus - Color of the outline when the radio is focused\n * \n * @cssprop --wcs-radio-checkmark-size - Size of the checkmark circle\n * @cssprop --wcs-radio-checkmark-border-width - Width of the border of the checkmark circle\n * @cssprop --wcs-radio-checkmark-border-color-default - Color of the border of the checkmark circle when the radio's is not selected\n * @cssprop --wcs-radio-checkmark-border-color-selected - Color of the border of the checkmark circle when the radio is selected\n * @cssprop --wcs-radio-checkmark-border-color-hover - Color of the border of the checkmark circle when the radio is hovered\n * @cssprop --wcs-radio-checkmark-border-color-disabled - Color of the border of the checkmark circle when the radio is disabled\n * @cssprop --wcs-radio-checkmark-background-color-default - Background color of the checkmark circle when the radio's is not selected\n * @cssprop --wcs-radio-checkmark-background-color-selected - Background color of the checkmark circle when the radio's is selected\n * @cssprop --wcs-radio-checkmark-background-color-selected-disabled - Background color of the checkmark circle when the radio is selected and disabled\n * @cssprop --wcs-radio-checkmark-background-color-selected-hover - Background color of the checkmark circle when the radio is selected and hovered\n *\n * @cssprop --wcs-radio-checkmark-outline-distance-with-checkmark-circle - Distance between the checkmark circle and the outline (inside the background)\n * @cssprop --wcs-radio-checkmark-outline-width - Width of the outline of the checkmark circle (inside the background)\n * @cssprop --wcs-radio-checkmark-outline-color - Color of the outline of the checkmark circle (inside the background)\n * @cssprop --wcs-radio-checkmark-border-radius - Border radius of the checkmark circle\n * \n * @cssprop --wcs-radio-gap - Gap between the radio checkmark circle and the label\n * \n * @cssprop --wcs-radio-border-radius - Border radius of the radio (default mode)\n *\n * @cssprop --wcs-radio-option-background-color-default - Background color of the radio option when not selected\n * @cssprop --wcs-radio-option-background-color-hover - Background color of the radio option not selected when hovered\n * @cssprop --wcs-radio-option-background-color-press - Background color of the radio option when pressed\n * @cssprop --wcs-radio-option-background-color-disabled - Background color of the radio option when disabled\n * \n * @cssprop --wcs-radio-option-background-color-selected-default - Background color of the radio option when selected\n * @cssprop --wcs-radio-option-background-color-selected-hover - Background color of the radio option when selected and hovered\n * @cssprop --wcs-radio-option-background-color-selected-press - Background color of the radio option when selected and pressed\n * @cssprop --wcs-radio-option-background-color-selected-disabled - Background color of the radio option when selected and disabled\n * \n * @cssprop --wcs-radio-option-text-color-default - Color of the text when the radio option is not selected\n * @cssprop --wcs-radio-option-text-color-hover - Color of the text when the radio option not selected is hovered\n * @cssprop --wcs-radio-option-text-color-press - Color of the text when the radio option is pressed\n * \n * @cssprop --wcs-radio-option-text-color-selected-default - Color of the text when the radio option is selected\n * @cssprop --wcs-radio-option-text-color-selected-hover - Color of the text when the radio option is selected and hovered\n * @cssprop --wcs-radio-option-text-color-selected-press - Color of the text when the radio option is selected and pressed\n * @cssprop --wcs-radio-option-text-color-disabled - Color of the text when the radio option's is disabled\n * \n * @cssprop --wcs-radio-option-text-font-weight-default - Default font weight of the text\n * @cssprop --wcs-radio-option-text-font-weight-selected - Font weight of the text when the radio option is selected\n *\n * @cssprop --wcs-radio-option-border-radius - Border radius of the radio option\n * @cssprop --wcs-radio-option-border-width - Width of the border of the radio option\n * @cssprop --wcs-radio-option-border-color-hover - Color of the border of the radio option when not selected and hovered\n * @cssprop --wcs-radio-option-border-color-press - Color of the border of the radio option when not selected and pressed\n * \n * @cssprop --wcs-radio-option-padding-top - Padding top of the radio option\n * @cssprop --wcs-radio-option-padding-right - Padding right of the radio option\n * @cssprop --wcs-radio-option-padding-bottom - Padding bottom of the radio option\n * @cssprop --wcs-radio-option-padding-left - Padding left of the radio option\n */\n@Component({\n tag: 'wcs-radio',\n styleUrl: 'radio.scss',\n shadow: {\n delegatesFocus: true\n }\n})\nexport class Radio implements ComponentInterface, MutableAriaAttribute {\n private inputId = `wcs-rb-${radioButtonIds++}`;\n @Element() private el!: HTMLWcsRadioElement;\n private nativeRadio!: HTMLInputElement;\n private inheritedAttributes: { [k: string]: any } = {};\n \n /**\n * If `true`, the radio is selected. \n * @private\n */\n @State() private checked: boolean = false;\n\n /**\n * The tabindex of the radio button\n * @private\n */\n @State() private radioTabIndex = -1;\n\n /**\n * Sets a unique value for each radio, used to identify which radio button in a group is selected\n */\n @Prop({ mutable: true, reflect: true }) value: any | any[] | undefined | null;\n\n /**\n * The label text displayed for the user\n */\n @Prop({ mutable: true, reflect: true }) label: string;\n \n /**\n * If `true`, the user cannot interact with the radio.\n */\n @Prop({ reflect: true, mutable: true }) disabled: boolean = false;\n\n /**\n * Emitted when the radio is clicked or Space/Enter is pressed above an unchecked radio\n */\n @Event({ eventName: 'wcsRadioClick' }) wcsRadioClick: EventEmitter<RadioChosedEvent>\n\n /**\n * Emitted when the radio loses focus.\n */\n @Event() wcsBlur!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the radio has focus.\n */\n @Event() wcsFocus!: EventEmitter<FocusEvent>;\n\n /**\n * The name of the control, automatically set by the radio group. \n * (You shouldn't set this prop by yourself)\n * @internal\n */\n @Prop({ mutable: true }) name: string;\n\n\n /**\n * The display mode of the control, automatically set by the radio group. \n * (You shouldn't set this prop by yourself)\n * @internal\n */\n @Prop({ reflect: true, mutable: false }) mode: RadioGroupMode = 'radio';\n\n /**\n * @internal\n * Checks of unchecks the radio according to it's radio-group value\n */\n @Method()\n async updateState() {\n const radioGroup = this.getClosestRadioGroup();\n if (radioGroup) {\n this.checked = radioGroup.name === this.name && radioGroup.value === this.value\n }\n }\n\n /** @internal */\n @Method()\n async setTabIndex(value: number) {\n this.radioTabIndex = value;\n }\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.nativeRadio, attr, value);\n }\n\n onFocus(ev: FocusEvent) {\n this.wcsFocus.emit(ev);\n }\n\n onBlur(ev: FocusEvent) {\n this.wcsBlur.emit(ev);\n }\n \n private getClosestRadioGroup(): HTMLWcsRadioGroupElement | null {\n return this.el.closest('wcs-radio-group');\n }\n\n componentWillLoad(): Promise<void> | void {\n if (this.value === undefined) {\n // If no value was given we use the text content instead.\n this.value = this.el.innerText || '';\n }\n \n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, RADIO_INHERITED_ATTRS),\n };\n }\n \n private onChange(_: Event) {\n if (this.disabled) return;\n\n // If the radio is unchecked, then the change represents its transition to the check state.\n // Only emit the change event when going from unchecked to checked, like the native behavior.\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n if (!this.checked) {\n this.checked = true;\n this.emitRadioChangeEvent();\n }\n }\n\n emitRadioChangeEvent() {\n this.wcsRadioClick.emit({\n label: this.label,\n source: this.el,\n value: this.value\n });\n }\n\n render() {\n \n return (\n <Host slot=\"option\"\n tabIndex={this.disabled ? -1 : this.radioTabIndex}\n class={this.checked ? 'checked' : ''}>\n <input\n id={this.inputId}\n type=\"radio\"\n name={this.name}\n value={this.value}\n checked={this.checked} // Initial checked state of native input\n disabled={this.disabled}\n onChange={this.onChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onBlur={this.onBlur.bind(this)}\n aria-disabled={this.disabled ? 'true' : null}\n aria-checked={`${this.checked}`}\n ref={(el) => (this.nativeRadio = el)}\n {...this.inheritedAttributes}\n />\n <label htmlFor={`${this.inputId}`}>{this.label}</label>\n </Host>\n );\n }\n}\n\nlet radioButtonIds = 0;\n"],"version":3}
@@ -4,8 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-6f0140d8.js');
6
6
  const selectArrow = require('./select-arrow-a8a47fe4.js');
7
- const helpers = require('./helpers-871f5a3d.js');
8
- const keyboardEvent = require('./keyboard-event-d2c81ce0.js');
7
+ const helpers = require('./helpers-2f1a8ddc.js');
8
+ const keyboardEvent = require('./keyboard-event-40ecdc27.js');
9
9
  const accessibility = require('./accessibility-5f681a74.js');
10
10
  const isEqual = require('./isEqual-8a0a6936.js');
11
11
  const popper = require('./popper-8d6e7fca.js');
@@ -5281,7 +5281,7 @@ function getActionForKeyboardEvent(event, currentState, type) {
5281
5281
  return [];
5282
5282
  }
5283
5283
 
5284
- const selectCss = ":host{--wcs-select-ligther-percentage:40;--wcs-select-control-border-radius:var(--wcs-semantic-border-radius-base);--wcs-select-text-color-disabled:var(--wcs-semantic-color-text-disabled);--wcs-select-value-color:var(--wcs-semantic-color-text-primary);--wcs-select-value-font-weight:var(--wcs-semantic-font-weight-medium);--wcs-select-placeholder-color:var(--wcs-semantic-color-text-tertiary);--wcs-select-placeholder-font-weight:var(--wcs-semantic-font-weight-roman);--wcs-select-placeholder-font-style:var(--wcs-semantic-font-style-control-placeholder);--wcs-select-options-padding:var(--wcs-semantic-spacing-base-150);--wcs-select-control-line-height:var(--wcs-semantic-font-line-height-large);--wcs-select-control-background-color:var(--wcs-semantic-color-background-control-default);--wcs-select-control-arrow-color:var(--wcs-semantic-color-foreground-action-secondary-default);--wcs-select-control-arrow-color-disabled:var(--wcs-semantic-color-foreground-disabled);--wcs-select-control-chips-gap:var(--wcs-semantic-spacing-small);--wcs-select-control-border-color-default:var(--wcs-semantic-color-border-primary);--wcs-select-control-border-color-disabled:var(--wcs-semantic-color-border-disabled);--wcs-select-control-border-color-focus:var(--wcs-semantic-color-border-control-focus);--wcs-select-control-border-color-error:var(--wcs-semantic-color-border-critical);--wcs-select-control-border-style-default:solid;--wcs-select-control-border-style-error:solid;--wcs-select-control-border-style-focus:var(--wcs-semantic-border-style-focus-control);--wcs-select-control-border-width-default:var(--wcs-semantic-border-width-default);--wcs-select-control-border-width-focus:var(--wcs-semantic-border-width-large);--wcs-select-control-padding-horizontal-m:var(--wcs-semantic-spacing-large);--wcs-select-control-padding-horizontal-l:var(--wcs-semantic-spacing-large);--wcs-select-control-height:var(--wcs-select-control-height-m);--wcs-select-control-height-m:var(--wcs-semantic-size-m);--wcs-select-control-height-l:var(--wcs-semantic-size-l);--wcs-internal-select-chip-size:var(--wcs-semantic-size-s);--wcs-select-control-font-size:var(--wcs-select-control-font-size-m, 1rem);--wcs-select-control-font-size-m:var(--wcs-semantic-font-size-m);--wcs-select-control-font-size-l:var(--wcs-semantic-font-size-l);--wcs-select-overlay-max-height:360px;--wcs-select-overlay-background-color:var(--wcs-semantic-color-background-surface-primary);--wcs-select-overlay-border-width:var(--wcs-semantic-border-width-default);--wcs-select-overlay-border-color:var(--wcs-semantic-color-border-secondary);--wcs-select-overlay-border-radius:var(--wcs-semantic-border-radius-base);--wcs-select-control-chip-color-default:var(--wcs-semantic-color-foreground-action-primary-default);--wcs-select-control-chip-color-disabled:var(--wcs-semantic-color-text-disabled);--wcs-select-control-chip-background-color-default:var(--wcs-semantic-color-background-action-primary-default);--wcs-select-control-chip-background-color-disabled:var(--wcs-semantic-color-background-action-primary-disabled);--wcs-select-control-chip-padding-vertical:var(--wcs-semantic-spacing-small);--wcs-select-control-chip-padding-horizontal:calc(1.5 * var(--wcs-semantic-spacing-base));--wcs-select-control-chip-line-height:var(--wcs-semantic-font-line-height-large);--wcs-select-control-chip-border-radius:var(--wcs-semantic-border-radius-base);--wcs-select-control-autocomplete-padding-vertical-m:var(--wcs-semantic-spacing-small);--wcs-select-control-autocomplete-padding-vertical-l:var(--wcs-semantic-spacing-small);--wcs-select-internal-noresult-padding-horizontal:var(--wcs-semantic-spacing-base);display:block;min-height:var(--wcs-select-control-height);position:relative;outline:none;user-select:none;box-sizing:border-box}:host svg{flex-shrink:0}:host .wcs-select-control{min-height:var(--wcs-select-control-height);outline:var(--wcs-select-control-border-width-default) var(--wcs-select-control-border-style-default) var(--wcs-select-control-border-color-default);outline-offset:calc(var(--wcs-select-control-border-width-default) * -1)}:host .arrow{fill:var(--wcs-select-control-arrow-color)}:host .chip{fill:var(--wcs-select-control-chip-color-default);opacity:calc((100 - var(--wcs-select-ligther-percentage)) / 100)}:host .chip:hover{opacity:100}.wcs-select-control{box-sizing:border-box;display:flex;align-items:center;background-color:var(--wcs-select-control-background-color);border-radius:var(--wcs-select-control-border-radius);outline:var(--wcs-select-control-border-color-default) solid var(--wcs-select-control-border-width-default);outline-offset:calc(var(--wcs-select-control-border-width-default) * -1);font-size:var(--wcs-select-control-font-size, 1rem);line-height:var(--wcs-select-control-line-height);cursor:pointer;padding-left:var(--wcs-select-control-padding-horizontal-m);padding-right:calc(var(--wcs-select-control-padding-horizontal-m) - 4px)}label{cursor:pointer;transition:color 125ms ease-in;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}label.wcs-select-placeholder{color:var(--wcs-select-placeholder-color);font-style:var(--wcs-select-placeholder-font-style);font-weight:var(--wcs-select-placeholder-font-weight)}label.wcs-select-value{color:var(--wcs-select-value-color);font-style:normal;font-weight:var(--wcs-select-value-font-weight)}label::after{content:\"\";padding:1px}.wcs-select-value-container{max-width:calc(100% - (24px + var(--wcs-semantic-spacing-base)));padding-right:8px;display:flex;flex-direction:row;gap:var(--wcs-select-control-chips-gap);align-items:center;flex-wrap:wrap}.wcs-select-chip{box-sizing:border-box;height:var(--wcs-internal-select-chip-size);line-height:var(--wcs-select-control-chip-line-height);color:var(--wcs-select-control-chip-color-default);background-color:var(--wcs-select-control-chip-background-color-default);border-radius:var(--wcs-select-control-chip-border-radius);display:flex;align-items:center;padding:var(--wcs-select-control-chip-padding-vertical) var(--wcs-select-control-chip-padding-horizontal);overflow:initial;z-index:1}.wcs-select-options{display:none;position:absolute;z-index:999999999;border:solid var(--wcs-select-overlay-border-width) var(--wcs-select-overlay-border-color);border-radius:var(--wcs-select-overlay-border-radius);max-height:var(--wcs-select-overlay-max-height);overflow-y:auto;width:calc(100% - (2 * var(--wcs-select-overlay-border-width) + 2 * var(--wcs-select-options-padding)));padding:var(--wcs-select-options-padding);background-color:var(--wcs-select-overlay-background-color)}:host(.expanded){outline-width:var(--wcs-select-control-border-width-focus)}:host(.expanded) .wcs-select-control{outline:var(--wcs-select-control-border-width-focus) var(--wcs-select-control-border-style-focus) var(--wcs-select-control-border-color-focus);outline-offset:calc(var(--wcs-select-control-border-width-focus) * -1)}:host(.expanded) .wcs-select-options{display:block}:host([aria-invalid=true]) .wcs-select-control{outline-style:var(--wcs-select-control-border-style-error);outline-color:var(--wcs-select-control-border-color-error)}:host(:not(.expanded):focus-visible){outline-width:var(--wcs-select-control-border-width-focus)}:host(:not(.expanded):focus-visible) .wcs-select-control{outline:var(--wcs-select-control-border-width-focus) var(--wcs-select-control-border-style-focus) var(--wcs-select-control-border-color-focus);outline-offset:calc(var(--wcs-select-control-border-width-focus) * -1)}:host([disabled]){cursor:not-allowed;--wcs-select-control-background-color:var(--wcs-semantic-color-background-control-disabled)}:host([disabled]) .wcs-select-control{outline-style:var(--wcs-select-control-border-style-default);outline-color:var(--wcs-select-control-border-color-disabled)}:host([disabled]) .wcs-select-control,:host([disabled]) label{cursor:default;pointer-events:none}:host([disabled]) label{color:var(--wcs-select-text-color-disabled)}:host([disabled]) .arrow{fill:var(--wcs-select-control-arrow-color-disabled)}:host([disabled]) .wcs-select-chip{color:var(--wcs-select-control-chip-color-disabled);background-color:var(--wcs-select-control-chip-background-color-disabled)}:host([disabled]) .chip{fill:var(--wcs-select-control-chip-color-disabled)}:host([size=m]){--wcs-select-control-font-size:var(--wcs-select-control-font-size-m);--wcs-select-control-height:var(--wcs-select-control-height-m);--wcs-internal-select-chip-size:var(--wcs-select-chip-size-m)}:host([size=m]) .wcs-select-control{padding-left:var(--wcs-select-control-padding-horizontal-m);padding-right:calc(var(--wcs-select-control-padding-horizontal-m) - 4px)}:host([size=m]):host([autocomplete]) .autocomplete-field{height:calc(var(--wcs-select-control-height) - var(--wcs-select-control-autocomplete-padding-vertical-m) * 2)}:host([size=m]):host([autocomplete]) .wcs-select-value-container{padding-top:var(--wcs-select-control-autocomplete-padding-vertical-m);padding-bottom:var(--wcs-select-control-autocomplete-padding-vertical-m)}:host([size=l]){--wcs-select-control-font-size:var(--wcs-select-control-font-size-l);--wcs-select-control-height:var(--wcs-select-control-height-l);--wcs-internal-select-chip-size:var(--wcs-select-chip-size-l)}:host([size=l]) .wcs-select-control{padding-left:var(--wcs-select-control-padding-horizontal-l);padding-right:calc(var(--wcs-select-control-padding-horizontal-l) - 4px)}:host([size=l]):host([autocomplete]) .autocomplete-field{height:calc(var(--wcs-select-control-height) - var(--wcs-select-control-autocomplete-padding-vertical-l) * 2)}:host([size=l]):host([autocomplete]) .wcs-select-value-container{padding-top:var(--wcs-select-control-autocomplete-padding-vertical-l);padding-bottom:var(--wcs-select-control-autocomplete-padding-vertical-l)}:host([chips]) .wcs-select-control{flex-wrap:wrap}:host([chips]) .wcs-select-value-container{margin-top:4px;margin-bottom:4px}:host([autocomplete]) .wcs-select-value-container{margin:0;width:100%}:host([autocomplete]) input{font:unset;background-color:transparent;outline:none;border:none;padding:unset;color:var(--wcs-select-value-color);font-weight:var(--wcs-select-value-font-weight) !important;font-size:var(--wcs-select-control-font-size);line-height:inherit}:host([autocomplete]) input::placeholder{color:var(--wcs-select-placeholder-color);opacity:1;font-weight:var(--wcs-select-placeholder-font-weight);font-style:var(--wcs-select-placeholder-font-style)}:host([autocomplete]:focus-within) .wcs-select-control{outline:var(--wcs-select-control-border-width-focus) var(--wcs-select-control-border-style-focus) var(--wcs-select-control-border-color-focus);outline-offset:calc(var(--wcs-select-control-border-width-focus) * -1)}.autocomplete-field{width:0;min-width:50px;flex-grow:1}.noresult-container{padding-left:var(--wcs-select-internal-noresult-padding-horizontal);padding-right:var(--wcs-select-internal-noresult-padding-horizontal);display:flex;flex-direction:row;align-items:center;height:var(--wcs-select-control-height)}";
5284
+ const selectCss = ":host{--wcs-select-ligther-percentage:40;--wcs-select-control-border-radius:var(--wcs-semantic-border-radius-base);--wcs-select-text-color-disabled:var(--wcs-semantic-color-text-disabled);--wcs-select-value-color:var(--wcs-semantic-color-text-primary);--wcs-select-value-font-weight:var(--wcs-semantic-font-weight-medium);--wcs-select-placeholder-color:var(--wcs-semantic-color-text-tertiary);--wcs-select-placeholder-font-weight:var(--wcs-semantic-font-weight-roman);--wcs-select-placeholder-font-style:var(--wcs-semantic-font-style-control-placeholder);--wcs-select-options-padding:var(--wcs-semantic-spacing-base-150);--wcs-select-control-line-height:var(--wcs-semantic-font-line-height-large);--wcs-select-control-background-color:var(--wcs-semantic-color-background-control-default);--wcs-select-control-arrow-color:var(--wcs-semantic-color-foreground-action-secondary-default);--wcs-select-control-arrow-color-disabled:var(--wcs-semantic-color-foreground-disabled);--wcs-select-control-chips-gap:var(--wcs-semantic-spacing-small);--wcs-select-control-border-color-default:var(--wcs-semantic-color-border-primary);--wcs-select-control-border-color-disabled:var(--wcs-semantic-color-border-disabled);--wcs-select-control-border-color-focus:var(--wcs-semantic-color-border-control-focus);--wcs-select-control-border-color-error:var(--wcs-semantic-color-border-critical);--wcs-select-control-border-style-default:solid;--wcs-select-control-border-style-error:solid;--wcs-select-control-border-style-focus:var(--wcs-semantic-border-style-focus-control);--wcs-select-control-border-width-default:var(--wcs-semantic-border-width-default);--wcs-select-control-border-width-focus:var(--wcs-semantic-border-width-large);--wcs-select-control-padding-horizontal-m:var(--wcs-semantic-spacing-large);--wcs-select-control-padding-horizontal-l:var(--wcs-semantic-spacing-large);--wcs-select-control-height:var(--wcs-select-control-height-m);--wcs-select-control-height-m:var(--wcs-semantic-size-m);--wcs-select-control-height-l:var(--wcs-semantic-size-l);--wcs-internal-select-chip-size:var(--wcs-semantic-size-s);--wcs-select-control-font-size:var(--wcs-select-control-font-size-m, 1rem);--wcs-select-control-font-size-m:var(--wcs-semantic-font-size-m);--wcs-select-control-font-size-l:var(--wcs-semantic-font-size-l);--wcs-select-overlay-max-height:360px;--wcs-select-overlay-background-color:var(--wcs-semantic-color-background-surface-primary);--wcs-select-overlay-border-width:var(--wcs-semantic-border-width-default);--wcs-select-overlay-border-color:var(--wcs-semantic-color-border-secondary);--wcs-select-overlay-border-radius:var(--wcs-semantic-border-radius-base);--wcs-select-control-chip-color-default:var(--wcs-semantic-color-foreground-action-primary-default);--wcs-select-control-chip-color-disabled:var(--wcs-semantic-color-text-disabled);--wcs-select-control-chip-background-color-default:var(--wcs-semantic-color-background-action-primary-default);--wcs-select-control-chip-background-color-disabled:var(--wcs-semantic-color-background-action-primary-disabled);--wcs-select-control-chip-padding-vertical:var(--wcs-semantic-spacing-small);--wcs-select-control-chip-padding-horizontal:calc(1.5 * var(--wcs-semantic-spacing-base));--wcs-select-control-chip-line-height:var(--wcs-semantic-font-line-height-large);--wcs-select-control-chip-border-radius:var(--wcs-semantic-border-radius-base);--wcs-select-control-autocomplete-padding-vertical-m:var(--wcs-semantic-spacing-small);--wcs-select-control-autocomplete-padding-vertical-l:var(--wcs-semantic-spacing-small);--wcs-select-internal-noresult-padding-horizontal:var(--wcs-semantic-spacing-base);display:block;min-height:var(--wcs-select-control-height);position:relative;outline:none;user-select:none;box-sizing:border-box}:host svg{flex-shrink:0}:host .wcs-select-control{min-height:var(--wcs-select-control-height);outline:var(--wcs-select-control-border-width-default) var(--wcs-select-control-border-style-default) var(--wcs-select-control-border-color-default);outline-offset:calc(var(--wcs-select-control-border-width-default) * -1)}:host .arrow{fill:var(--wcs-select-control-arrow-color)}:host .chip{fill:var(--wcs-select-control-chip-color-default);opacity:calc((100 - var(--wcs-select-ligther-percentage)) / 100)}:host .chip:hover{opacity:100}.wcs-select-control{box-sizing:border-box;display:flex;align-items:center;background-color:var(--wcs-select-control-background-color);border-radius:var(--wcs-select-control-border-radius);outline:var(--wcs-select-control-border-color-default) solid var(--wcs-select-control-border-width-default);outline-offset:calc(var(--wcs-select-control-border-width-default) * -1);font-size:var(--wcs-select-control-font-size, 1rem);line-height:var(--wcs-select-control-line-height);cursor:pointer;padding-left:var(--wcs-select-control-padding-horizontal-m);padding-right:calc(var(--wcs-select-control-padding-horizontal-m) - 4px)}label{cursor:pointer;transition:color 125ms ease-in;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}label.wcs-select-placeholder{color:var(--wcs-select-placeholder-color);font-style:var(--wcs-select-placeholder-font-style);font-weight:var(--wcs-select-placeholder-font-weight)}label.wcs-select-value{color:var(--wcs-select-value-color);font-style:normal;font-weight:var(--wcs-select-value-font-weight)}label::after{content:\"\";padding:1px}.wcs-select-value-container{max-width:calc(100% - (24px + var(--wcs-semantic-spacing-base)));padding-right:8px;display:flex;flex-direction:row;gap:var(--wcs-select-control-chips-gap);align-items:center;flex-wrap:wrap}.wcs-select-chip{box-sizing:border-box;height:var(--wcs-internal-select-chip-size);line-height:var(--wcs-select-control-chip-line-height);color:var(--wcs-select-control-chip-color-default);background-color:var(--wcs-select-control-chip-background-color-default);border-radius:var(--wcs-select-control-chip-border-radius);display:flex;align-items:center;padding:var(--wcs-select-control-chip-padding-vertical) var(--wcs-select-control-chip-padding-horizontal);overflow:initial;z-index:1}.wcs-select-options{display:none;position:absolute;z-index:999999999;border:solid var(--wcs-select-overlay-border-width) var(--wcs-select-overlay-border-color);border-radius:var(--wcs-select-overlay-border-radius);max-height:var(--wcs-select-overlay-max-height);overflow-y:auto;width:calc(100% - (2 * var(--wcs-select-overlay-border-width) + 2 * var(--wcs-select-options-padding)));padding:var(--wcs-select-options-padding);background-color:var(--wcs-select-overlay-background-color)}:host(.expanded){outline-width:var(--wcs-select-control-border-width-focus)}:host(.expanded) .wcs-select-control{outline:var(--wcs-select-control-border-width-focus) var(--wcs-select-control-border-style-focus) var(--wcs-select-control-border-color-focus);outline-offset:calc(var(--wcs-select-control-border-width-focus) * -1)}:host(.expanded) .wcs-select-options{display:block}:host([aria-invalid=true]) .wcs-select-control,:host([autocomplete]):has(input[aria-invalid=true]) .wcs-select-control{outline-style:var(--wcs-select-control-border-style-error);outline-color:var(--wcs-select-control-border-color-error)}:host(:not(.expanded):focus-visible){outline-width:var(--wcs-select-control-border-width-focus)}:host(:not(.expanded):focus-visible) .wcs-select-control{outline:var(--wcs-select-control-border-width-focus) var(--wcs-select-control-border-style-focus) var(--wcs-select-control-border-color-focus);outline-offset:calc(var(--wcs-select-control-border-width-focus) * -1)}:host([disabled]){cursor:not-allowed;--wcs-select-control-background-color:var(--wcs-semantic-color-background-control-disabled)}:host([disabled]) .wcs-select-control{outline-style:var(--wcs-select-control-border-style-default);outline-color:var(--wcs-select-control-border-color-disabled)}:host([disabled]) .wcs-select-control,:host([disabled]) label{cursor:default;pointer-events:none}:host([disabled]) label{color:var(--wcs-select-text-color-disabled)}:host([disabled]) .arrow{fill:var(--wcs-select-control-arrow-color-disabled)}:host([disabled]) .wcs-select-chip{color:var(--wcs-select-control-chip-color-disabled);background-color:var(--wcs-select-control-chip-background-color-disabled)}:host([disabled]) .chip{fill:var(--wcs-select-control-chip-color-disabled)}:host([size=m]){--wcs-select-control-font-size:var(--wcs-select-control-font-size-m);--wcs-select-control-height:var(--wcs-select-control-height-m);--wcs-internal-select-chip-size:var(--wcs-select-chip-size-m)}:host([size=m]) .wcs-select-control{padding-left:var(--wcs-select-control-padding-horizontal-m);padding-right:calc(var(--wcs-select-control-padding-horizontal-m) - 4px)}:host([size=m]):host([autocomplete]) .autocomplete-field{height:calc(var(--wcs-select-control-height) - var(--wcs-select-control-autocomplete-padding-vertical-m) * 2)}:host([size=m]):host([autocomplete]) .wcs-select-value-container{padding-top:var(--wcs-select-control-autocomplete-padding-vertical-m);padding-bottom:var(--wcs-select-control-autocomplete-padding-vertical-m)}:host([size=l]){--wcs-select-control-font-size:var(--wcs-select-control-font-size-l);--wcs-select-control-height:var(--wcs-select-control-height-l);--wcs-internal-select-chip-size:var(--wcs-select-chip-size-l)}:host([size=l]) .wcs-select-control{padding-left:var(--wcs-select-control-padding-horizontal-l);padding-right:calc(var(--wcs-select-control-padding-horizontal-l) - 4px)}:host([size=l]):host([autocomplete]) .autocomplete-field{height:calc(var(--wcs-select-control-height) - var(--wcs-select-control-autocomplete-padding-vertical-l) * 2)}:host([size=l]):host([autocomplete]) .wcs-select-value-container{padding-top:var(--wcs-select-control-autocomplete-padding-vertical-l);padding-bottom:var(--wcs-select-control-autocomplete-padding-vertical-l)}:host([chips]) .wcs-select-control{flex-wrap:wrap}:host([chips]) .wcs-select-value-container{margin-top:4px;margin-bottom:4px}:host([autocomplete]) .wcs-select-value-container{margin:0;width:100%}:host([autocomplete]) input{font:unset;background-color:transparent;outline:none;border:none;padding:unset;color:var(--wcs-select-value-color);font-weight:var(--wcs-select-value-font-weight) !important;font-size:var(--wcs-select-control-font-size);line-height:inherit}:host([autocomplete]) input::placeholder{color:var(--wcs-select-placeholder-color);opacity:1;font-weight:var(--wcs-select-placeholder-font-weight);font-style:var(--wcs-select-placeholder-font-style)}:host([autocomplete]:focus-within) .wcs-select-control{outline:var(--wcs-select-control-border-width-focus) var(--wcs-select-control-border-style-focus) var(--wcs-select-control-border-color-focus);outline-offset:calc(var(--wcs-select-control-border-width-focus) * -1)}.autocomplete-field{width:0;min-width:50px;flex-grow:1}.noresult-container{padding-left:var(--wcs-select-internal-noresult-padding-horizontal);padding-right:var(--wcs-select-internal-noresult-padding-horizontal);display:flex;flex-direction:row;align-items:center;height:var(--wcs-select-control-height)}";
5285
5285
  const WcsSelectStyle0 = selectCss;
5286
5286
 
5287
5287
  const SELECT_MACHINE_CONFIG = {
@@ -5324,6 +5324,7 @@ const Select = class {
5324
5324
  this.value = undefined;
5325
5325
  this.placeholder = undefined;
5326
5326
  this.disabled = false;
5327
+ this.required = false;
5327
5328
  this.multiple = false;
5328
5329
  this.autocomplete = false;
5329
5330
  this.serverMode = false;
@@ -5428,7 +5429,7 @@ const Select = class {
5428
5429
  this.displayText = opt.innerText;
5429
5430
  this.lastModifiedOptionElement = opt;
5430
5431
  if (this.autocomplete) {
5431
- this.autocompleteValue = opt.innerText;
5432
+ this.setAutocompleteValue(opt.innerText);
5432
5433
  }
5433
5434
  }
5434
5435
  opt.selected = isSelected;
@@ -5445,7 +5446,7 @@ const Select = class {
5445
5446
  if (this.autocomplete) {
5446
5447
  // When need to reset the internal filter state of the component as the mutation of
5447
5448
  // autocompleteValue from the code doesn't call onAutocompleteInputEvent method.
5448
- this.handleAutocompleteValueChange('', true);
5449
+ this.setAutocompleteValue('', true);
5449
5450
  }
5450
5451
  this.options.forEach((opt) => {
5451
5452
  opt.selected = false;
@@ -5570,7 +5571,7 @@ const Select = class {
5570
5571
  // Indeed, we have to tell the component to take the current filter state manually at the
5571
5572
  // opening (because the input event of the autocomplete field is not fired at this point).
5572
5573
  if (this.autocompleteValue && this.autocompleteValue !== '') {
5573
- this.handleAutocompleteValueChange(this.autocompleteValue);
5574
+ this.setAutocompleteValue(this.autocompleteValue);
5574
5575
  }
5575
5576
  }
5576
5577
  this.clearHighlightOnLastHighlightedOption();
@@ -5959,11 +5960,17 @@ const Select = class {
5959
5960
  onAutocompleteInputEvent(e) {
5960
5961
  var _a;
5961
5962
  const filter = (_a = this.autocompleteInput.value) !== null && _a !== void 0 ? _a : '';
5962
- this.handleAutocompleteValueChange(filter);
5963
+ this.setAutocompleteValue(filter);
5963
5964
  // Avoid the inputEvent event to bubble and be emitted, we rather use wcsFilterChange in this case :
5964
5965
  e.stopPropagation();
5965
5966
  }
5966
- handleAutocompleteValueChange(filter, isReset = false) {
5967
+ /**
5968
+ * Set the autocomplete value and open the select if needed.
5969
+ * @param filter - The new filter value
5970
+ * @param isReset - If true, the filter is reset and the select is closed
5971
+ * @private
5972
+ */
5973
+ setAutocompleteValue(filter, isReset = false) {
5967
5974
  var _a, _b;
5968
5975
  this.clearHighlightOnLastHighlightedOption();
5969
5976
  const newValueIsDifferentFromLastModifiedOption = this.lastModifiedOptionElement == null || ((_a = this.lastModifiedOptionElement) === null || _a === void 0 ? void 0 : _a.textContent) !== this.autocompleteValue;
@@ -6035,14 +6042,15 @@ const Select = class {
6035
6042
  render() {
6036
6043
  var _a;
6037
6044
  const ariaLabelValue = `${this.labelElement ? this.labelElement.innerText : ''} ${this.hasValue ? this.displayText : ''}`.trimEnd();
6038
- return (index.h(index.Host, Object.assign({ key: '201fc0413dca958b717f8e68a3180475a6d29cc6', class: this.expanded ? 'expanded ' : '', overlayDirection: this.overlayDirection }, this.focusedAttributes(), { role: !this.autocomplete ? "combobox" : null, "aria-haspopup": !this.autocomplete ? "listbox" : null, "aria-owns": !this.autocomplete ? this.optionsId : null, "aria-controls": !this.autocomplete ? this.optionsId : null, "aria-disabled": this.disabled ? 'true' : null, "aria-expanded": this.expanded ? 'true' : 'false', "aria-multiselectable": this.multiple ? 'true' : 'false', "aria-label": ariaLabelValue }), index.h("div", { key: 'ed3644949eb6b936640af99c24992b041efd3377', class: "wcs-select-control" }, index.h("div", { key: '3760064787fb454b33e4d957110fddc981aa4f30', class: "wcs-select-value-container" }, this.hasValue
6045
+ const noResultContainerId = 'no-result-container';
6046
+ return (index.h(index.Host, Object.assign({ key: '6a973d4f68de6f668fda8b17de1da78b94076dc0', class: this.expanded ? 'expanded ' : '', overlayDirection: this.overlayDirection }, this.focusedAttributes(), { role: !this.autocomplete ? "combobox" : null, "aria-haspopup": !this.autocomplete ? "listbox" : null, "aria-owns": !this.autocomplete ? this.optionsId : null, "aria-controls": !this.autocomplete ? this.optionsId : null, "aria-disabled": !this.autocomplete ? (this.disabled ? 'true' : null) : null, "aria-required": !this.autocomplete ? (this.required ? 'true' : 'false') : null, "aria-expanded": !this.autocomplete ? (this.expanded ? 'true' : 'false') : null, "aria-multiselectable": !this.autocomplete ? (this.multiple ? 'true' : 'false') : null, "aria-label": !this.autocomplete ? ariaLabelValue : null }), index.h("div", { key: '190343789a5d2b4227b4a9822348aa087b4bbbad', class: "wcs-select-control" }, index.h("div", { key: '2f61ddd11d08bd25d8acf00ecfdced4a97a33320', class: "wcs-select-value-container" }, this.hasValue
6039
6047
  ?
6040
6048
  (this.chips ?
6041
6049
  this.values.map((option) => index.h(SelectChips, { disabled: this.disabled, option: option, onRemove: this.removeChip.bind(this) }))
6042
6050
  : (!this.autocomplete || this.autocomplete && this.multiple) &&
6043
6051
  index.h("label", { class: "wcs-select-value" }, this.displayText))
6044
- : !this.autocomplete && index.h("label", { class: "wcs-select-placeholder" }, this.placeholder), this.autocomplete && index.h("input", Object.assign({ key: '5cc152dd3815f8852493876baa56ab513eb1b424', class: "autocomplete-field", value: this.autocompleteValue, role: "combobox", "aria-haspopup": "listbox", "aria-label": ariaLabelValue, "aria-disabled": this.disabled ? 'true' : null, "aria-expanded": this.expanded ? 'true' : 'false', "aria-controls": this.optionsId, "aria-owns": this.optionsId, "aria-multiselectable": this.multiple ? 'true' : 'false', "aria-autocomplete": "list", autocomplete: "off", disabled: this.disabled, onBlur: (e) => this.onAutocompleteFieldBlur(e), placeholder: ((_a = this.values) === null || _a === void 0 ? void 0 : _a.length) ? null : this.placeholder, onInput: (e) => this.onAutocompleteInputEvent(e), ref: el => this.autocompleteInput = el }, this.inheritedAttributes))), index.h(selectArrow.SelectArrow, { key: '5c555ddc2049519b25316a4c0428e6cd02a02ea8', up: this.expanded })), index.h("div", { key: 'ffed16dd522116e992fba80451a242a34d6efa0d', class: "wcs-select-options", id: this.optionsId, role: "listbox" }, index.h("slot", { key: '296e306aad573f1c71bb23439c501127a5c1b298', name: "options", onSlotchange: this.onSlotchange.bind(this) }), (this.autocomplete && this.showNoResultFoundLabel) &&
6045
- index.h("div", { key: '8f49959dccc48542d89d8425d4659201627b27a8', class: "noresult-container" }, index.h("slot", { key: '16be57220be51e5417b9b1e92f929c678a0f6f02', name: "filter-no-result" }, index.h("span", { key: 'c45dd71a0243a08dd77cafc40577d39c8f7e6d5d' }, "Aucun r\u00E9sultat"))))));
6052
+ : !this.autocomplete && index.h("label", { class: "wcs-select-placeholder" }, this.placeholder), this.autocomplete && index.h("input", Object.assign({ key: '7f2fc76276628b45ebcbcb40f64a82acafa5e192', class: "autocomplete-field", value: this.autocompleteValue, role: "combobox", "aria-haspopup": "listbox", "aria-label": ariaLabelValue, "aria-describedby": noResultContainerId, "aria-disabled": this.disabled ? 'true' : null, "aria-expanded": this.expanded ? 'true' : 'false', "aria-controls": this.optionsId, "aria-owns": this.optionsId, "aria-multiselectable": this.multiple ? 'true' : 'false', "aria-autocomplete": "list", autocomplete: "off", disabled: this.disabled, required: this.required, onBlur: (e) => this.onAutocompleteFieldBlur(e), placeholder: ((_a = this.values) === null || _a === void 0 ? void 0 : _a.length) ? null : this.placeholder, onInput: (e) => this.onAutocompleteInputEvent(e), ref: el => this.autocompleteInput = el }, this.inheritedAttributes))), index.h(selectArrow.SelectArrow, { key: 'a6075fc5a325bc1e19cc3d62ddbffb8a3409d454', up: this.expanded })), index.h("div", { key: '36a6ea6029659db97f174c12a4a5ff3c4c0bfd69', class: "wcs-select-options", id: this.optionsId, role: "listbox" }, index.h("slot", { key: '3a02c19f0b77c98807a684ae77f2612c422cb096', name: "options", onSlotchange: this.onSlotchange.bind(this) }), (this.autocomplete && this.showNoResultFoundLabel) &&
6053
+ index.h("div", { key: '82ecd4b70ed11d8497e9d5d3aea0c3c95f20ec36', role: "alert", id: noResultContainerId, class: "noresult-container" }, index.h("slot", { key: '607e7d9c3c112e64218d2170ca4e07aaf5cbd25c', name: "filter-no-result" }, index.h("span", { key: 'da3800fefd8f57c0d7b62e261933e3293bea2161' }, "Aucun r\u00E9sultat"))))));
6046
6054
  }
6047
6055
  get el() { return index.getElement(this); }
6048
6056
  static get watchers() { return {
@@ -6101,8 +6109,8 @@ const SelectOption = class {
6101
6109
  }
6102
6110
  }
6103
6111
  render() {
6104
- return (index.h(index.Host, { key: '5fb9e1a2133b04b3c1e791acec0d923c29e695bc', id: this.selectOptionId, "aria-selected": this.selected || this.highlighted ? 'true' : 'false', slot: "options", role: "option", tabindex: "-1" }, this.multiple &&
6105
- index.h("wcs-checkbox", { key: '9dc934a047192b7bad75e740c5f9889e909a0e35', tabindex: "-1", checked: this.selected, disabled: this.disabled }), index.h("slot", { key: '07f513c6798cce83ab4aa5f553074db71e5b05e2' })));
6112
+ return (index.h(index.Host, { key: '8e2f93d1db10d33df62a34b1f9e62a948a78424e', id: this.selectOptionId, "aria-selected": this.selected || this.highlighted ? 'true' : 'false', slot: "options", role: "option", tabindex: "-1" }, this.multiple &&
6113
+ index.h("wcs-checkbox", { key: '3af49da773954213d7f2b64c4a2f8fd7114b6a24', tabindex: "-1", checked: this.selected, disabled: this.disabled }), index.h("slot", { key: '3e5267f2626863b13bbcab46f98b4eacfa90c83f' })));
6106
6114
  }
6107
6115
  get el() { return index.getElement(this); }
6108
6116
  };