@warp-ds/elements 2.10.0-next.9 → 2.10.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 (711) hide show
  1. package/dist/.storybook/utilities.js +4 -4
  2. package/dist/api.js.map +2 -2
  3. package/dist/custom-elements.json +1166 -502
  4. package/dist/docs/affix/affix.md +119 -2
  5. package/dist/docs/affix/api.md +2 -2
  6. package/dist/docs/affix/styling.md +107 -0
  7. package/dist/docs/alert/alert.md +4 -4
  8. package/dist/docs/alert/api.md +4 -4
  9. package/dist/docs/attention/api.md +50 -2
  10. package/dist/docs/attention/attention.md +50 -2
  11. package/dist/docs/badge/api.md +50 -4
  12. package/dist/docs/badge/badge.md +50 -4
  13. package/dist/docs/box/api.md +2 -2
  14. package/dist/docs/box/box.md +2 -2
  15. package/dist/docs/breadcrumb-item/api.md +27 -0
  16. package/dist/docs/breadcrumb-item/breadcrumb-item.md +34 -0
  17. package/dist/docs/breadcrumbs/accessibility.md +8 -18
  18. package/dist/docs/breadcrumbs/breadcrumbs.md +120 -34
  19. package/dist/docs/breadcrumbs/examples.md +8 -8
  20. package/dist/docs/breadcrumbs/styling.md +96 -0
  21. package/dist/docs/breadcrumbs/usage.md +8 -8
  22. package/dist/docs/button/api.md +32 -24
  23. package/dist/docs/button/button.md +32 -24
  24. package/dist/docs/card/api.md +8 -0
  25. package/dist/docs/card/card.md +8 -0
  26. package/dist/docs/checkbox/api.md +52 -4
  27. package/dist/docs/checkbox/checkbox.md +226 -4
  28. package/dist/docs/checkbox/styling.md +173 -0
  29. package/dist/docs/checkbox-group/api.md +30 -6
  30. package/dist/docs/checkbox-group/checkbox-group.md +73 -36
  31. package/dist/docs/checkbox-group/styling.md +31 -29
  32. package/dist/docs/combobox/api.md +20 -12
  33. package/dist/docs/combobox/combobox.md +20 -12
  34. package/dist/docs/datepicker/api.md +22 -14
  35. package/dist/docs/datepicker/datepicker.md +22 -14
  36. package/dist/docs/expandable/api.md +6 -6
  37. package/dist/docs/expandable/expandable.md +6 -6
  38. package/dist/docs/icon/api.md +4 -4
  39. package/dist/docs/icon/icon.md +4 -4
  40. package/dist/docs/index.md +5 -2
  41. package/dist/docs/link/api.md +10 -10
  42. package/dist/docs/link/link.md +10 -10
  43. package/dist/docs/modal/api.md +20 -2
  44. package/dist/docs/modal/modal.md +99 -10
  45. package/dist/docs/modal/styling.md +75 -0
  46. package/dist/docs/modal/usage.md +4 -8
  47. package/dist/docs/pagination/api.md +4 -4
  48. package/dist/docs/pagination/pagination.md +4 -4
  49. package/dist/docs/pill/api.md +8 -8
  50. package/dist/docs/pill/pill.md +8 -8
  51. package/dist/docs/radio-group/api.md +4 -4
  52. package/dist/docs/radio-group/radio-group.md +183 -68
  53. package/dist/docs/radio-group/styling.md +179 -64
  54. package/dist/docs/select/api.md +10 -10
  55. package/dist/docs/select/select.md +101 -10
  56. package/dist/docs/select/styling.md +91 -0
  57. package/dist/docs/slider/api.md +38 -22
  58. package/dist/docs/slider/slider.md +38 -22
  59. package/dist/docs/slider-thumb/api.md +28 -12
  60. package/dist/docs/slider-thumb/slider-thumb.md +28 -12
  61. package/dist/docs/snackbar/accessibility.md +20 -0
  62. package/dist/docs/snackbar/api.md +30 -0
  63. package/dist/docs/snackbar/examples.md +191 -0
  64. package/dist/docs/snackbar/snackbar.md +385 -0
  65. package/dist/docs/snackbar/styling.md +72 -0
  66. package/dist/docs/snackbar/usage.md +60 -0
  67. package/dist/docs/snackbar-item/api.md +41 -0
  68. package/dist/docs/snackbar-item/snackbar-item.md +49 -0
  69. package/dist/docs/step/api.md +16 -0
  70. package/dist/docs/step/step.md +16 -0
  71. package/dist/docs/switch/api.md +8 -0
  72. package/dist/docs/switch/switch.md +8 -0
  73. package/dist/docs/tabs/api.md +2 -2
  74. package/dist/docs/tabs/tabs.md +2 -2
  75. package/dist/docs/textarea/api.md +54 -14
  76. package/dist/docs/textarea/styling.md +91 -0
  77. package/dist/docs/textarea/textarea.md +145 -14
  78. package/dist/docs/textfield/api.md +74 -34
  79. package/dist/docs/textfield/styling.md +95 -0
  80. package/dist/docs/textfield/textfield.md +169 -34
  81. package/dist/index.d.ts +914 -93
  82. package/dist/packages/affix/affix-styles.d.ts +8 -0
  83. package/dist/packages/affix/affix-styles.js +108 -0
  84. package/dist/packages/affix/affix.d.ts +16 -13
  85. package/dist/packages/affix/affix.hydration.test.d.ts +1 -1
  86. package/dist/packages/affix/affix.hydration.test.js +15 -15
  87. package/dist/packages/affix/affix.js +451 -320
  88. package/dist/packages/affix/affix.js.map +4 -4
  89. package/dist/packages/affix/affix.react.stories.d.ts +3 -3
  90. package/dist/packages/affix/affix.react.stories.js +3 -3
  91. package/dist/packages/affix/affix.react.test.js +5 -3
  92. package/dist/packages/affix/affix.stories.d.ts +3 -3
  93. package/dist/packages/affix/affix.stories.js +10 -10
  94. package/dist/packages/affix/affix.test.d.ts +1 -1
  95. package/dist/packages/affix/affix.test.js +10 -10
  96. package/dist/packages/affix/react.d.ts +3 -3
  97. package/dist/packages/affix/react.js +6 -6
  98. package/dist/packages/affix/styles.js +2 -2
  99. package/dist/packages/alert/alert.d.ts +3 -3
  100. package/dist/packages/alert/alert.hydration.test.d.ts +1 -1
  101. package/dist/packages/alert/alert.hydration.test.js +21 -21
  102. package/dist/packages/alert/alert.js +349 -324
  103. package/dist/packages/alert/alert.js.map +3 -3
  104. package/dist/packages/alert/alert.react.stories.d.ts +2 -2
  105. package/dist/packages/alert/alert.react.stories.js +13 -13
  106. package/dist/packages/alert/alert.stories.d.ts +4 -4
  107. package/dist/packages/alert/alert.stories.js +29 -27
  108. package/dist/packages/alert/alert.test.d.ts +1 -1
  109. package/dist/packages/alert/alert.test.js +34 -21
  110. package/dist/packages/alert/react.d.ts +1 -1
  111. package/dist/packages/alert/react.js +4 -4
  112. package/dist/packages/alert/styles.js +2 -2
  113. package/dist/packages/attention/attention.d.ts +11 -6
  114. package/dist/packages/attention/attention.hydration.test.d.ts +1 -1
  115. package/dist/packages/attention/attention.hydration.test.js +29 -29
  116. package/dist/packages/attention/attention.js +1744 -1681
  117. package/dist/packages/attention/attention.js.map +4 -4
  118. package/dist/packages/attention/attention.react.stories.d.ts +3 -3
  119. package/dist/packages/attention/attention.react.stories.js +13 -13
  120. package/dist/packages/attention/attention.react.test.js +11 -7
  121. package/dist/packages/attention/attention.stories.d.ts +4 -4
  122. package/dist/packages/attention/attention.stories.js +126 -117
  123. package/dist/packages/attention/attention.test.d.ts +1 -1
  124. package/dist/packages/attention/attention.test.js +18 -10
  125. package/dist/packages/attention/layout-styles.js +900 -900
  126. package/dist/packages/attention/react.d.ts +4 -4
  127. package/dist/packages/attention/react.js +13 -11
  128. package/dist/packages/attention/styles.js +2 -2
  129. package/dist/packages/badge/badge.d.ts +3 -3
  130. package/dist/packages/badge/badge.hydration.test.d.ts +1 -1
  131. package/dist/packages/badge/badge.hydration.test.js +25 -25
  132. package/dist/packages/badge/badge.js +281 -281
  133. package/dist/packages/badge/badge.js.map +3 -3
  134. package/dist/packages/badge/badge.react.stories.d.ts +3 -3
  135. package/dist/packages/badge/badge.react.stories.js +17 -17
  136. package/dist/packages/badge/badge.stories.d.ts +3 -3
  137. package/dist/packages/badge/badge.stories.js +22 -20
  138. package/dist/packages/badge/badge.test.d.ts +1 -1
  139. package/dist/packages/badge/badge.test.js +13 -11
  140. package/dist/packages/badge/react.d.ts +1 -1
  141. package/dist/packages/badge/react.js +4 -4
  142. package/dist/packages/badge/styles.js +2 -2
  143. package/dist/packages/box/box.d.ts +1 -1
  144. package/dist/packages/box/box.hydration.test.d.ts +1 -1
  145. package/dist/packages/box/box.hydration.test.js +14 -14
  146. package/dist/packages/box/box.js +288 -288
  147. package/dist/packages/box/box.js.map +3 -3
  148. package/dist/packages/box/box.react.stories.d.ts +3 -3
  149. package/dist/packages/box/box.react.stories.js +8 -8
  150. package/dist/packages/box/box.stories.d.ts +3 -3
  151. package/dist/packages/box/box.stories.js +25 -19
  152. package/dist/packages/box/box.test.d.ts +1 -1
  153. package/dist/packages/box/box.test.js +6 -6
  154. package/dist/packages/box/react.d.ts +1 -1
  155. package/dist/packages/box/react.js +4 -4
  156. package/dist/packages/box/slot.test.d.ts +1 -1
  157. package/dist/packages/box/slot.test.js +6 -6
  158. package/dist/packages/box/styles.js +2 -2
  159. package/dist/packages/breadcrumb-item/breadcrumb-item.d.ts +29 -0
  160. package/dist/packages/breadcrumb-item/breadcrumb-item.js +2529 -0
  161. package/dist/packages/breadcrumb-item/breadcrumb-item.js.map +7 -0
  162. package/dist/packages/breadcrumb-item/react.d.ts +2 -0
  163. package/dist/packages/breadcrumb-item/react.js +11 -0
  164. package/dist/packages/breadcrumb-item/styles.d.ts +4 -0
  165. package/dist/packages/breadcrumb-item/styles.js +81 -0
  166. package/dist/packages/breadcrumbs/breadcrumbs.d.ts +4 -3
  167. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.d.ts +1 -1
  168. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.js +55 -49
  169. package/dist/packages/breadcrumbs/breadcrumbs.js +288 -284
  170. package/dist/packages/breadcrumbs/breadcrumbs.js.map +4 -4
  171. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.d.ts +4 -4
  172. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.js +17 -16
  173. package/dist/packages/breadcrumbs/breadcrumbs.stories.d.ts +7 -8
  174. package/dist/packages/breadcrumbs/breadcrumbs.stories.js +30 -26
  175. package/dist/packages/breadcrumbs/breadcrumbs.test.d.ts +1 -1
  176. package/dist/packages/breadcrumbs/breadcrumbs.test.js +19 -17
  177. package/dist/packages/breadcrumbs/react.d.ts +1 -1
  178. package/dist/packages/breadcrumbs/react.js +4 -4
  179. package/dist/packages/breadcrumbs/styles.js +2 -2
  180. package/dist/packages/button/button.d.ts +20 -15
  181. package/dist/packages/button/button.hydration.test.d.ts +1 -1
  182. package/dist/packages/button/button.hydration.test.js +19 -19
  183. package/dist/packages/button/button.js +758 -711
  184. package/dist/packages/button/button.js.map +4 -4
  185. package/dist/packages/button/button.react.stories.d.ts +5 -5
  186. package/dist/packages/button/button.react.stories.js +30 -30
  187. package/dist/packages/button/button.react.test.js +13 -13
  188. package/dist/packages/button/button.stories.d.ts +4 -4
  189. package/dist/packages/button/button.stories.js +276 -167
  190. package/dist/packages/button/button.test.d.ts +1 -1
  191. package/dist/packages/button/button.test.js +36 -35
  192. package/dist/packages/button/react.d.ts +3 -3
  193. package/dist/packages/button/react.js +7 -7
  194. package/dist/packages/button/styles.js +373 -331
  195. package/dist/packages/card/card.d.ts +1 -1
  196. package/dist/packages/card/card.hydration.test.d.ts +1 -1
  197. package/dist/packages/card/card.hydration.test.js +14 -14
  198. package/dist/packages/card/card.js +310 -295
  199. package/dist/packages/card/card.js.map +4 -4
  200. package/dist/packages/card/card.react.stories.d.ts +3 -3
  201. package/dist/packages/card/card.react.stories.js +11 -11
  202. package/dist/packages/card/card.stories.d.ts +3 -3
  203. package/dist/packages/card/card.stories.js +36 -24
  204. package/dist/packages/card/card.test.d.ts +1 -1
  205. package/dist/packages/card/card.test.js +6 -6
  206. package/dist/packages/card/react.d.ts +1 -1
  207. package/dist/packages/card/react.js +4 -4
  208. package/dist/packages/card/styles.js +2 -2
  209. package/dist/packages/checkbox/checkbox.a11y.test.d.ts +1 -1
  210. package/dist/packages/checkbox/checkbox.a11y.test.js +47 -33
  211. package/dist/packages/checkbox/checkbox.d.ts +4 -4
  212. package/dist/packages/checkbox/checkbox.hydration.test.d.ts +1 -1
  213. package/dist/packages/checkbox/checkbox.hydration.test.js +21 -21
  214. package/dist/packages/checkbox/checkbox.js +481 -430
  215. package/dist/packages/checkbox/checkbox.js.map +3 -3
  216. package/dist/packages/checkbox/checkbox.react.stories.d.ts +2 -2
  217. package/dist/packages/checkbox/checkbox.react.stories.js +3 -3
  218. package/dist/packages/checkbox/checkbox.stories.d.ts +4 -4
  219. package/dist/packages/checkbox/checkbox.stories.js +99 -91
  220. package/dist/packages/checkbox/checkbox.test.d.ts +1 -1
  221. package/dist/packages/checkbox/checkbox.test.js +64 -64
  222. package/dist/packages/checkbox/react.d.ts +1 -1
  223. package/dist/packages/checkbox/react.js +6 -6
  224. package/dist/packages/checkbox/styles.js +183 -132
  225. package/dist/packages/checkbox-group/checkbox-group.a11y.test.d.ts +2 -2
  226. package/dist/packages/checkbox-group/checkbox-group.a11y.test.js +83 -73
  227. package/dist/packages/checkbox-group/checkbox-group.d.ts +20 -6
  228. package/dist/packages/checkbox-group/checkbox-group.hydration.test.d.ts +2 -2
  229. package/dist/packages/checkbox-group/checkbox-group.hydration.test.js +36 -19
  230. package/dist/packages/checkbox-group/checkbox-group.js +62 -57
  231. package/dist/packages/checkbox-group/checkbox-group.js.map +3 -3
  232. package/dist/packages/checkbox-group/checkbox-group.react.test.js +4 -4
  233. package/dist/packages/checkbox-group/checkbox-group.test.d.ts +2 -2
  234. package/dist/packages/checkbox-group/checkbox-group.test.js +183 -90
  235. package/dist/packages/checkbox-group/react.d.ts +3 -3
  236. package/dist/packages/checkbox-group/react.js +6 -6
  237. package/dist/packages/combobox/combobox.a11y.test.d.ts +2 -2
  238. package/dist/packages/combobox/combobox.a11y.test.js +72 -49
  239. package/dist/packages/combobox/combobox.d.ts +2 -2
  240. package/dist/packages/combobox/combobox.hydration.test.d.ts +1 -1
  241. package/dist/packages/combobox/combobox.hydration.test.js +45 -45
  242. package/dist/packages/combobox/combobox.js +337 -338
  243. package/dist/packages/combobox/combobox.js.map +4 -4
  244. package/dist/packages/combobox/combobox.react.stories.d.ts +29 -13
  245. package/dist/packages/combobox/combobox.react.stories.js +29 -29
  246. package/dist/packages/combobox/combobox.react.test.js +8 -8
  247. package/dist/packages/combobox/combobox.stories.d.ts +4 -4
  248. package/dist/packages/combobox/combobox.stories.js +100 -94
  249. package/dist/packages/combobox/combobox.test.d.ts +2 -2
  250. package/dist/packages/combobox/combobox.test.js +249 -133
  251. package/dist/packages/combobox/react.d.ts +15 -7
  252. package/dist/packages/combobox/react.js +14 -14
  253. package/dist/packages/combobox/styles.js +2 -3
  254. package/dist/packages/datepicker/DatePicker.test.d.ts +2 -2
  255. package/dist/packages/datepicker/DatePicker.test.js +49 -42
  256. package/dist/packages/datepicker/datepicker.d.ts +8 -8
  257. package/dist/packages/datepicker/datepicker.hydration.test.d.ts +1 -1
  258. package/dist/packages/datepicker/datepicker.hydration.test.js +21 -21
  259. package/dist/packages/datepicker/datepicker.js +673 -632
  260. package/dist/packages/datepicker/datepicker.js.map +4 -4
  261. package/dist/packages/datepicker/datepicker.react.stories.d.ts +17 -17
  262. package/dist/packages/datepicker/datepicker.react.stories.js +9 -9
  263. package/dist/packages/datepicker/datepicker.react.test.js +6 -6
  264. package/dist/packages/datepicker/datepicker.stories.d.ts +4 -4
  265. package/dist/packages/datepicker/datepicker.stories.js +32 -32
  266. package/dist/packages/datepicker/datepicker.test.d.ts +2 -2
  267. package/dist/packages/datepicker/datepicker.test.js +77 -79
  268. package/dist/packages/datepicker/react.d.ts +9 -9
  269. package/dist/packages/datepicker/react.js +16 -14
  270. package/dist/packages/datepicker/styles/w-datepicker-calendar.styles.js +13 -12
  271. package/dist/packages/datepicker/styles/w-datepicker-day.styles.js +58 -55
  272. package/dist/packages/datepicker/styles/w-datepicker-month.styles.js +60 -57
  273. package/dist/packages/datepicker/styles/w-datepicker.styles.js +87 -87
  274. package/dist/packages/datepicker/utils.d.ts +3 -0
  275. package/dist/packages/datepicker/utils.js +40 -1
  276. package/dist/packages/datepicker/utils.test.d.ts +1 -0
  277. package/dist/packages/datepicker/utils.test.js +29 -0
  278. package/dist/packages/expandable/expandable.d.ts +7 -7
  279. package/dist/packages/expandable/expandable.hydration.test.d.ts +1 -1
  280. package/dist/packages/expandable/expandable.hydration.test.js +21 -21
  281. package/dist/packages/expandable/expandable.js +359 -332
  282. package/dist/packages/expandable/expandable.js.map +4 -4
  283. package/dist/packages/expandable/expandable.react.stories.d.ts +3 -3
  284. package/dist/packages/expandable/expandable.react.stories.js +7 -7
  285. package/dist/packages/expandable/expandable.react.test.js +15 -7
  286. package/dist/packages/expandable/expandable.stories.d.ts +5 -5
  287. package/dist/packages/expandable/expandable.stories.js +51 -45
  288. package/dist/packages/expandable/expandable.test.d.ts +1 -1
  289. package/dist/packages/expandable/expandable.test.js +19 -17
  290. package/dist/packages/expandable/react.d.ts +2 -2
  291. package/dist/packages/expandable/react.js +9 -9
  292. package/dist/packages/expandable/styles.js +2 -2
  293. package/dist/packages/global.d.ts +1 -0
  294. package/dist/packages/global.js +5 -0
  295. package/dist/packages/i18n.d.ts +1 -1
  296. package/dist/packages/i18n.js +37 -29
  297. package/dist/packages/icon/icon.d.ts +7 -2
  298. package/dist/packages/icon/icon.hydration.test.d.ts +1 -1
  299. package/dist/packages/icon/icon.hydration.test.js +25 -25
  300. package/dist/packages/icon/icon.js +31 -26
  301. package/dist/packages/icon/icon.js.map +2 -2
  302. package/dist/packages/icon/icon.react.stories.d.ts +3 -2
  303. package/dist/packages/icon/icon.react.stories.js +284 -283
  304. package/dist/packages/icon/icon.stories.d.ts +7 -30
  305. package/dist/packages/icon/icon.stories.js +307 -297
  306. package/dist/packages/icon/icon.test.d.ts +1 -1
  307. package/dist/packages/icon/icon.test.js +36 -28
  308. package/dist/packages/icon/react.d.ts +1 -1
  309. package/dist/packages/icon/react.js +4 -4
  310. package/dist/packages/icon/style.js +24 -25
  311. package/dist/packages/interaction-type-detection.d.ts +22 -0
  312. package/dist/packages/interaction-type-detection.js +38 -0
  313. package/dist/packages/link/link.d.ts +7 -7
  314. package/dist/packages/link/link.hydration.test.d.ts +1 -1
  315. package/dist/packages/link/link.hydration.test.js +27 -27
  316. package/dist/packages/link/link.js +729 -682
  317. package/dist/packages/link/link.js.map +3 -3
  318. package/dist/packages/link/link.react.stories.d.ts +3 -3
  319. package/dist/packages/link/link.react.stories.js +42 -42
  320. package/dist/packages/link/link.react.test.js +5 -3
  321. package/dist/packages/link/link.stories.d.ts +3 -3
  322. package/dist/packages/link/link.stories.js +51 -51
  323. package/dist/packages/link/link.test.d.ts +1 -1
  324. package/dist/packages/link/link.test.js +11 -7
  325. package/dist/packages/link/react.d.ts +2 -2
  326. package/dist/packages/link/react.js +6 -6
  327. package/dist/packages/link/styles.js +63 -58
  328. package/dist/packages/modal/index.d.ts +7 -7
  329. package/dist/packages/modal/index.js +7 -7
  330. package/dist/packages/modal/modal.d.ts +19 -4
  331. package/dist/packages/modal/modal.hydration.test.d.ts +1 -1
  332. package/dist/packages/modal/modal.hydration.test.js +12 -12
  333. package/dist/packages/modal/modal.js +456 -409
  334. package/dist/packages/modal/modal.js.map +4 -4
  335. package/dist/packages/modal/modal.react.stories.d.ts +7 -7
  336. package/dist/packages/modal/modal.react.stories.js +15 -6
  337. package/dist/packages/modal/modal.react.test.js +5 -5
  338. package/dist/packages/modal/modal.stories.d.ts +9 -8
  339. package/dist/packages/modal/modal.stories.js +266 -248
  340. package/dist/packages/modal/react.d.ts +38 -8
  341. package/dist/packages/modal/react.js +43 -13
  342. package/dist/packages/modal/styles.d.ts +1 -0
  343. package/dist/packages/modal/styles.js +171 -0
  344. package/dist/packages/modal/util.js +3 -1
  345. package/dist/packages/modal-footer/modal-footer.d.ts +6 -2
  346. package/dist/packages/modal-footer/modal-footer.js +299 -296
  347. package/dist/packages/modal-footer/modal-footer.js.map +4 -4
  348. package/dist/packages/modal-footer/react.d.ts +1 -1
  349. package/dist/packages/modal-footer/react.js +4 -4
  350. package/dist/packages/modal-footer/styles.d.ts +1 -0
  351. package/dist/packages/modal-footer/styles.js +22 -0
  352. package/dist/packages/modal-header/modal-header.d.ts +14 -7
  353. package/dist/packages/modal-header/modal-header.js +451 -422
  354. package/dist/packages/modal-header/modal-header.js.map +4 -4
  355. package/dist/packages/modal-header/modal-header.react.test.js +5 -3
  356. package/dist/packages/modal-header/react.d.ts +4 -4
  357. package/dist/packages/modal-header/react.js +8 -8
  358. package/dist/packages/modal-header/styles.d.ts +1 -0
  359. package/dist/packages/modal-header/styles.js +96 -0
  360. package/dist/packages/page-indicator/page-indicator.d.ts +1 -5
  361. package/dist/packages/page-indicator/page-indicator.hydration.test.d.ts +1 -1
  362. package/dist/packages/page-indicator/page-indicator.hydration.test.js +22 -22
  363. package/dist/packages/page-indicator/page-indicator.js +29 -29
  364. package/dist/packages/page-indicator/page-indicator.js.map +4 -4
  365. package/dist/packages/page-indicator/page-indicator.react.stories.d.ts +3 -3
  366. package/dist/packages/page-indicator/page-indicator.react.stories.js +11 -11
  367. package/dist/packages/page-indicator/page-indicator.react.test.js +5 -5
  368. package/dist/packages/page-indicator/page-indicator.stories.d.ts +9 -27
  369. package/dist/packages/page-indicator/page-indicator.stories.js +63 -32
  370. package/dist/packages/page-indicator/page-indicator.test.d.ts +1 -1
  371. package/dist/packages/page-indicator/page-indicator.test.js +110 -70
  372. package/dist/packages/page-indicator/react.d.ts +2 -2
  373. package/dist/packages/page-indicator/react.js +7 -7
  374. package/dist/packages/page-indicator/style.js +21 -21
  375. package/dist/packages/pagination/pagination.a11y.test.d.ts +1 -1
  376. package/dist/packages/pagination/pagination.a11y.test.js +59 -25
  377. package/dist/packages/pagination/pagination.d.ts +10 -11
  378. package/dist/packages/pagination/pagination.hydration.test.d.ts +1 -1
  379. package/dist/packages/pagination/pagination.hydration.test.js +19 -19
  380. package/dist/packages/pagination/pagination.js +385 -354
  381. package/dist/packages/pagination/pagination.js.map +4 -4
  382. package/dist/packages/pagination/pagination.react.stories.d.ts +11 -11
  383. package/dist/packages/pagination/pagination.react.stories.js +8 -8
  384. package/dist/packages/pagination/pagination.react.test.js +6 -6
  385. package/dist/packages/pagination/pagination.stories.d.ts +3 -3
  386. package/dist/packages/pagination/pagination.stories.js +18 -18
  387. package/dist/packages/pagination/pagination.test.d.ts +1 -1
  388. package/dist/packages/pagination/pagination.test.js +146 -72
  389. package/dist/packages/pagination/react.d.ts +6 -6
  390. package/dist/packages/pagination/react.js +12 -10
  391. package/dist/packages/pagination/styles.js +2 -2
  392. package/dist/packages/pill/pill.d.ts +6 -6
  393. package/dist/packages/pill/pill.hydration.test.d.ts +1 -1
  394. package/dist/packages/pill/pill.hydration.test.js +14 -14
  395. package/dist/packages/pill/pill.js +337 -314
  396. package/dist/packages/pill/pill.js.map +4 -4
  397. package/dist/packages/pill/pill.react.stories.d.ts +11 -11
  398. package/dist/packages/pill/pill.react.stories.js +3 -3
  399. package/dist/packages/pill/pill.react.test.js +8 -8
  400. package/dist/packages/pill/pill.stories.d.ts +3 -3
  401. package/dist/packages/pill/pill.stories.js +8 -8
  402. package/dist/packages/pill/pill.test.d.ts +1 -1
  403. package/dist/packages/pill/pill.test.js +17 -15
  404. package/dist/packages/pill/react.d.ts +6 -6
  405. package/dist/packages/pill/react.js +18 -14
  406. package/dist/packages/pill/styles.js +2 -2
  407. package/dist/packages/radio/base-element.d.ts +3 -3
  408. package/dist/packages/radio/base-element.js +3 -3
  409. package/dist/packages/radio/custom-error-validator.d.ts +1 -1
  410. package/dist/packages/radio/custom-error-validator.js +3 -3
  411. package/dist/packages/radio/form-associated-element.d.ts +9 -9
  412. package/dist/packages/radio/form-associated-element.js +27 -26
  413. package/dist/packages/radio/host-styles.js +9 -9
  414. package/dist/packages/radio/invalid.d.ts +1 -1
  415. package/dist/packages/radio/invalid.js +1 -1
  416. package/dist/packages/radio/radio-styles.js +199 -160
  417. package/dist/packages/radio/radio.a11y.test.d.ts +2 -2
  418. package/dist/packages/radio/radio.a11y.test.js +60 -58
  419. package/dist/packages/radio/radio.d.ts +4 -4
  420. package/dist/packages/radio/radio.hydration.test.d.ts +1 -1
  421. package/dist/packages/radio/radio.hydration.test.js +23 -14
  422. package/dist/packages/radio/radio.js +491 -452
  423. package/dist/packages/radio/radio.js.map +3 -3
  424. package/dist/packages/radio/radio.react.stories.d.ts +2 -2
  425. package/dist/packages/radio/radio.react.stories.js +3 -3
  426. package/dist/packages/radio/radio.stories.d.ts +4 -4
  427. package/dist/packages/radio/radio.stories.js +152 -136
  428. package/dist/packages/radio/radio.test.d.ts +1 -1
  429. package/dist/packages/radio/radio.test.js +74 -73
  430. package/dist/packages/radio/react.d.ts +1 -1
  431. package/dist/packages/radio/react.js +4 -4
  432. package/dist/packages/radio/required-validator.d.ts +1 -1
  433. package/dist/packages/radio/required-validator.js +12 -7
  434. package/dist/packages/radio/slot.d.ts +1 -1
  435. package/dist/packages/radio/slot.js +11 -8
  436. package/dist/packages/radio/watch.d.ts +1 -1
  437. package/dist/packages/radio/watch.js +3 -1
  438. package/dist/packages/radio-group/radio-group-styles.js +121 -88
  439. package/dist/packages/radio-group/radio-group.a11y.test.d.ts +2 -2
  440. package/dist/packages/radio-group/radio-group.a11y.test.js +81 -79
  441. package/dist/packages/radio-group/radio-group.d.ts +16 -7
  442. package/dist/packages/radio-group/radio-group.hydration.test.d.ts +2 -2
  443. package/dist/packages/radio-group/radio-group.hydration.test.js +29 -18
  444. package/dist/packages/radio-group/radio-group.js +654 -566
  445. package/dist/packages/radio-group/radio-group.js.map +4 -4
  446. package/dist/packages/radio-group/radio-group.react.test.js +4 -4
  447. package/dist/packages/radio-group/radio-group.test.d.ts +2 -2
  448. package/dist/packages/radio-group/radio-group.test.js +304 -230
  449. package/dist/packages/radio-group/react.d.ts +7 -7
  450. package/dist/packages/radio-group/react.js +10 -10
  451. package/dist/packages/select/input-styles.d.ts +11 -0
  452. package/dist/packages/select/input-styles.js +88 -0
  453. package/dist/packages/select/locales/da/messages.mjs +1 -1
  454. package/dist/packages/select/locales/en/messages.mjs +1 -1
  455. package/dist/packages/select/locales/fi/messages.mjs +1 -1
  456. package/dist/packages/select/locales/nb/messages.mjs +1 -1
  457. package/dist/packages/select/locales/sv/messages.mjs +1 -1
  458. package/dist/packages/select/react.d.ts +5 -5
  459. package/dist/packages/select/react.js +11 -11
  460. package/dist/packages/select/select.a11y.test.d.ts +1 -1
  461. package/dist/packages/select/select.a11y.test.js +98 -91
  462. package/dist/packages/select/select.d.ts +10 -11
  463. package/dist/packages/select/select.hydration.test.d.ts +1 -1
  464. package/dist/packages/select/select.hydration.test.js +16 -16
  465. package/dist/packages/select/select.js +432 -336
  466. package/dist/packages/select/select.js.map +4 -4
  467. package/dist/packages/select/select.react.stories.d.ts +10 -10
  468. package/dist/packages/select/select.react.stories.js +19 -14
  469. package/dist/packages/select/select.react.test.js +6 -6
  470. package/dist/packages/select/select.stories.d.ts +3 -3
  471. package/dist/packages/select/select.stories.js +51 -48
  472. package/dist/packages/select/select.test.d.ts +1 -1
  473. package/dist/packages/select/select.test.js +227 -178
  474. package/dist/packages/select/styles.js +2 -2
  475. package/dist/packages/slider/Slider.d.ts +1 -1
  476. package/dist/packages/slider/Slider.js +4 -4
  477. package/dist/packages/slider/index.d.ts +2 -2
  478. package/dist/packages/slider/index.js +2 -2
  479. package/dist/packages/slider/locales/da/messages.mjs +1 -1
  480. package/dist/packages/slider/locales/en/messages.mjs +1 -1
  481. package/dist/packages/slider/locales/fi/messages.mjs +1 -1
  482. package/dist/packages/slider/locales/nb/messages.mjs +1 -1
  483. package/dist/packages/slider/locales/sv/messages.mjs +1 -1
  484. package/dist/packages/slider/react.d.ts +4 -4
  485. package/dist/packages/slider/react.js +9 -9
  486. package/dist/packages/slider/slider.d.ts +25 -17
  487. package/dist/packages/slider/slider.hydration.test.d.ts +1 -1
  488. package/dist/packages/slider/slider.hydration.test.js +39 -20
  489. package/dist/packages/slider/slider.js +523 -466
  490. package/dist/packages/slider/slider.js.map +4 -4
  491. package/dist/packages/slider/slider.react.stories.d.ts +4 -4
  492. package/dist/packages/slider/slider.react.stories.js +31 -34
  493. package/dist/packages/slider/slider.react.test.js +6 -6
  494. package/dist/packages/slider/slider.stories.d.ts +9 -7
  495. package/dist/packages/slider/slider.stories.js +369 -340
  496. package/dist/packages/slider/slider.test.d.ts +5 -5
  497. package/dist/packages/slider/slider.test.js +476 -336
  498. package/dist/packages/slider/styles/w-slider.styles.js +166 -148
  499. package/dist/packages/slider/styles.js +2 -2
  500. package/dist/packages/slider-thumb/SliderThumb.d.ts +1 -1
  501. package/dist/packages/slider-thumb/SliderThumb.js +4 -4
  502. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.d.ts +1 -1
  503. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.js +1 -1
  504. package/dist/packages/slider-thumb/react.d.ts +5 -5
  505. package/dist/packages/slider-thumb/react.js +11 -9
  506. package/dist/packages/slider-thumb/slider-thumb.d.ts +17 -17
  507. package/dist/packages/slider-thumb/slider-thumb.hydration.test.d.ts +1 -1
  508. package/dist/packages/slider-thumb/slider-thumb.hydration.test.js +26 -17
  509. package/dist/packages/slider-thumb/slider-thumb.js +549 -552
  510. package/dist/packages/slider-thumb/slider-thumb.js.map +4 -4
  511. package/dist/packages/slider-thumb/slider-thumb.react.test.js +9 -5
  512. package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.js +189 -188
  513. package/dist/packages/slider-thumb/styles.d.ts +1 -0
  514. package/dist/packages/slider-thumb/styles.js +2 -0
  515. package/dist/packages/snackbar/locales/da/messages.d.mts +1 -0
  516. package/dist/packages/snackbar/locales/da/messages.mjs +1 -0
  517. package/dist/packages/snackbar/locales/en/messages.d.mts +1 -0
  518. package/dist/packages/snackbar/locales/en/messages.mjs +1 -0
  519. package/dist/packages/snackbar/locales/fi/messages.d.mts +1 -0
  520. package/dist/packages/snackbar/locales/fi/messages.mjs +1 -0
  521. package/dist/packages/snackbar/locales/nb/messages.d.mts +1 -0
  522. package/dist/packages/snackbar/locales/nb/messages.mjs +1 -0
  523. package/dist/packages/snackbar/locales/sv/messages.d.mts +1 -0
  524. package/dist/packages/snackbar/locales/sv/messages.mjs +1 -0
  525. package/dist/packages/snackbar/react.d.ts +2 -0
  526. package/dist/packages/snackbar/react.js +11 -0
  527. package/dist/packages/snackbar/snackbar.d.ts +132 -0
  528. package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -0
  529. package/dist/packages/snackbar/snackbar.hydration.test.js +13 -0
  530. package/dist/packages/snackbar/snackbar.js +2665 -0
  531. package/dist/packages/snackbar/snackbar.js.map +7 -0
  532. package/dist/packages/snackbar/snackbar.react.stories.d.ts +12 -0
  533. package/dist/packages/snackbar/snackbar.react.stories.js +160 -0
  534. package/dist/packages/snackbar/snackbar.stories.d.ts +20 -0
  535. package/dist/packages/snackbar/snackbar.stories.js +363 -0
  536. package/dist/packages/snackbar/snackbar.test.d.ts +4 -0
  537. package/dist/packages/snackbar/snackbar.test.js +17 -0
  538. package/dist/packages/snackbar/styles.d.ts +1 -0
  539. package/dist/packages/snackbar/styles.js +35 -0
  540. package/dist/packages/snackbar-item/react.d.ts +5 -0
  541. package/dist/packages/snackbar-item/react.js +16 -0
  542. package/dist/packages/snackbar-item/snackbar-item.d.ts +69 -0
  543. package/dist/packages/snackbar-item/snackbar-item.js +2620 -0
  544. package/dist/packages/snackbar-item/snackbar-item.js.map +7 -0
  545. package/dist/packages/snackbar-item/snackbar-item.react.test.d.ts +1 -0
  546. package/dist/packages/snackbar-item/snackbar-item.react.test.js +5 -0
  547. package/dist/packages/snackbar-item/styles.d.ts +1 -0
  548. package/dist/packages/snackbar-item/styles.js +133 -0
  549. package/dist/packages/step/react.d.ts +1 -1
  550. package/dist/packages/step/react.js +4 -4
  551. package/dist/packages/step/step.d.ts +2 -2
  552. package/dist/packages/step/step.hydration.test.d.ts +1 -1
  553. package/dist/packages/step/step.hydration.test.js +10 -10
  554. package/dist/packages/step/step.js +336 -314
  555. package/dist/packages/step/step.js.map +4 -4
  556. package/dist/packages/step/styles.d.ts +1 -0
  557. package/dist/packages/step/styles.js +2 -0
  558. package/dist/packages/step-indicator/index.d.ts +2 -2
  559. package/dist/packages/step-indicator/index.js +2 -2
  560. package/dist/packages/step-indicator/react.d.ts +2 -2
  561. package/dist/packages/step-indicator/react.js +5 -5
  562. package/dist/packages/step-indicator/step-indicator.a11y.test.d.ts +2 -2
  563. package/dist/packages/step-indicator/step-indicator.a11y.test.js +48 -46
  564. package/dist/packages/step-indicator/step-indicator.d.ts +1 -1
  565. package/dist/packages/step-indicator/step-indicator.hydration.test.d.ts +1 -1
  566. package/dist/packages/step-indicator/step-indicator.hydration.test.js +10 -10
  567. package/dist/packages/step-indicator/step-indicator.js +285 -281
  568. package/dist/packages/step-indicator/step-indicator.js.map +3 -3
  569. package/dist/packages/step-indicator/stepindicator.react.stories.d.ts +2 -2
  570. package/dist/packages/step-indicator/stepindicator.react.stories.js +3 -3
  571. package/dist/packages/step-indicator/stepindicator.stories.d.ts +3 -3
  572. package/dist/packages/step-indicator/stepindicator.stories.js +129 -129
  573. package/dist/packages/step-indicator/styles.js +2 -2
  574. package/dist/packages/styles.js +277 -275
  575. package/dist/packages/switch/react.d.ts +1 -1
  576. package/dist/packages/switch/react.js +6 -6
  577. package/dist/packages/switch/styles.js +2 -2
  578. package/dist/packages/switch/switch.a11y.test.d.ts +1 -1
  579. package/dist/packages/switch/switch.a11y.test.js +46 -38
  580. package/dist/packages/switch/switch.d.ts +3 -3
  581. package/dist/packages/switch/switch.hydration.test.d.ts +1 -1
  582. package/dist/packages/switch/switch.hydration.test.js +23 -23
  583. package/dist/packages/switch/switch.js +304 -304
  584. package/dist/packages/switch/switch.js.map +3 -3
  585. package/dist/packages/switch/switch.react.stories.d.ts +2 -2
  586. package/dist/packages/switch/switch.react.stories.js +2 -2
  587. package/dist/packages/switch/switch.stories.d.ts +2 -2
  588. package/dist/packages/switch/switch.stories.js +42 -37
  589. package/dist/packages/switch/switch.test.d.ts +1 -1
  590. package/dist/packages/switch/switch.test.js +30 -35
  591. package/dist/packages/tab/react.d.ts +9 -7
  592. package/dist/packages/tab/react.js +11 -10
  593. package/dist/packages/tab/styles.d.ts +1 -0
  594. package/dist/packages/tab/styles.js +2 -0
  595. package/dist/packages/tab/tab.d.ts +6 -6
  596. package/dist/packages/tab/tab.hydration.test.d.ts +1 -1
  597. package/dist/packages/tab/tab.hydration.test.js +18 -12
  598. package/dist/packages/tab/tab.js +309 -308
  599. package/dist/packages/tab/tab.js.map +4 -4
  600. package/dist/packages/tab/tab.react.test.js +5 -3
  601. package/dist/packages/tab-panel/react.d.ts +3 -2
  602. package/dist/packages/tab-panel/react.js +11 -5
  603. package/dist/packages/tab-panel/tab-panel.d.ts +3 -3
  604. package/dist/packages/tab-panel/tab-panel.hydration.test.d.ts +1 -1
  605. package/dist/packages/tab-panel/tab-panel.hydration.test.js +13 -10
  606. package/dist/packages/tab-panel/tab-panel.js +293 -291
  607. package/dist/packages/tab-panel/tab-panel.js.map +3 -3
  608. package/dist/packages/tabs/index.d.ts +4 -4
  609. package/dist/packages/tabs/index.js +3 -3
  610. package/dist/packages/tabs/react.d.ts +27 -8
  611. package/dist/packages/tabs/react.js +30 -9
  612. package/dist/packages/tabs/styles.js +2 -2
  613. package/dist/packages/tabs/tabs.a11y.test.d.ts +3 -3
  614. package/dist/packages/tabs/tabs.a11y.test.js +188 -169
  615. package/dist/packages/tabs/tabs.d.ts +6 -5
  616. package/dist/packages/tabs/tabs.hydration.test.d.ts +3 -1
  617. package/dist/packages/tabs/tabs.hydration.test.js +22 -8
  618. package/dist/packages/tabs/tabs.js +293 -286
  619. package/dist/packages/tabs/tabs.js.map +3 -3
  620. package/dist/packages/tabs/tabs.react.stories.d.ts +12 -10
  621. package/dist/packages/tabs/tabs.react.stories.js +28 -28
  622. package/dist/packages/tabs/tabs.stories.d.ts +4 -4
  623. package/dist/packages/tabs/tabs.stories.js +101 -95
  624. package/dist/packages/tabs/tabs.test.d.ts +3 -3
  625. package/dist/packages/tabs/tabs.test.js +136 -122
  626. package/dist/packages/textarea/input-styles.d.ts +11 -0
  627. package/dist/packages/textarea/input-styles.js +88 -0
  628. package/dist/packages/textarea/locales/da/messages.mjs +1 -1
  629. package/dist/packages/textarea/locales/en/messages.mjs +1 -1
  630. package/dist/packages/textarea/locales/fi/messages.mjs +1 -1
  631. package/dist/packages/textarea/locales/nb/messages.mjs +1 -1
  632. package/dist/packages/textarea/locales/sv/messages.mjs +1 -1
  633. package/dist/packages/textarea/react.d.ts +11 -11
  634. package/dist/packages/textarea/react.js +17 -17
  635. package/dist/packages/textarea/styles.js +2 -2
  636. package/dist/packages/textarea/textarea.a11y.test.d.ts +1 -1
  637. package/dist/packages/textarea/textarea.a11y.test.js +90 -58
  638. package/dist/packages/textarea/textarea.d.ts +14 -15
  639. package/dist/packages/textarea/textarea.hydration.test.d.ts +1 -1
  640. package/dist/packages/textarea/textarea.hydration.test.js +19 -19
  641. package/dist/packages/textarea/textarea.js +385 -304
  642. package/dist/packages/textarea/textarea.js.map +4 -4
  643. package/dist/packages/textarea/textarea.react.stories.d.ts +38 -21
  644. package/dist/packages/textarea/textarea.react.stories.js +30 -13
  645. package/dist/packages/textarea/textarea.react.test.js +7 -7
  646. package/dist/packages/textarea/textarea.stories.d.ts +3 -3
  647. package/dist/packages/textarea/textarea.stories.js +44 -42
  648. package/dist/packages/textarea/textarea.test.d.ts +1 -1
  649. package/dist/packages/textarea/textarea.test.js +197 -88
  650. package/dist/packages/textfield/input-styles.d.ts +11 -0
  651. package/dist/packages/textfield/input-styles.js +88 -0
  652. package/dist/packages/textfield/locales/da/messages.d.mts +1 -0
  653. package/dist/packages/textfield/locales/da/messages.mjs +1 -0
  654. package/dist/packages/textfield/locales/en/messages.d.mts +1 -0
  655. package/dist/packages/textfield/locales/en/messages.mjs +1 -0
  656. package/dist/packages/textfield/locales/fi/messages.d.mts +1 -0
  657. package/dist/packages/textfield/locales/fi/messages.mjs +1 -0
  658. package/dist/packages/textfield/locales/nb/messages.d.mts +1 -0
  659. package/dist/packages/textfield/locales/nb/messages.mjs +1 -0
  660. package/dist/packages/textfield/locales/sv/messages.d.mts +1 -0
  661. package/dist/packages/textfield/locales/sv/messages.mjs +1 -0
  662. package/dist/packages/textfield/react.d.ts +11 -11
  663. package/dist/packages/textfield/react.js +17 -17
  664. package/dist/packages/textfield/styles/w-textfield.styles.js +60 -58
  665. package/dist/packages/textfield/styles.js +2 -2
  666. package/dist/packages/textfield/textfield.d.ts +36 -26
  667. package/dist/packages/textfield/textfield.hydration.test.d.ts +1 -1
  668. package/dist/packages/textfield/textfield.hydration.test.js +19 -19
  669. package/dist/packages/textfield/textfield.js +468 -373
  670. package/dist/packages/textfield/textfield.js.map +4 -4
  671. package/dist/packages/textfield/textfield.react.stories.d.ts +51 -21
  672. package/dist/packages/textfield/textfield.react.stories.js +63 -31
  673. package/dist/packages/textfield/textfield.react.test.js +7 -7
  674. package/dist/packages/textfield/textfield.stories.d.ts +4 -4
  675. package/dist/packages/textfield/textfield.stories.js +107 -89
  676. package/dist/packages/textfield/textfield.test.d.ts +2 -2
  677. package/dist/packages/textfield/textfield.test.js +174 -71
  678. package/dist/packages/toast/api.d.ts +2 -2
  679. package/dist/packages/toast/api.js +3 -3
  680. package/dist/packages/toast/index.d.ts +5 -5
  681. package/dist/packages/toast/index.js +5 -5
  682. package/dist/packages/toast/styles.js +2 -2
  683. package/dist/packages/toast/toast.d.ts +5 -5
  684. package/dist/packages/toast/toast.js +349 -320
  685. package/dist/packages/toast/toast.js.map +4 -4
  686. package/dist/packages/toast/toast.stories.d.ts +4 -4
  687. package/dist/packages/toast/toast.stories.js +37 -16
  688. package/dist/packages/toast/toast.test.d.ts +1 -1
  689. package/dist/packages/toast/toast.test.js +48 -31
  690. package/dist/packages/toast/types.d.ts +1 -1
  691. package/dist/packages/toast-container/styles.d.ts +1 -0
  692. package/dist/packages/toast-container/styles.js +2 -0
  693. package/dist/packages/toast-container/toast-container.d.ts +2 -2
  694. package/dist/packages/toast-container/toast-container.js +295 -294
  695. package/dist/packages/toast-container/toast-container.js.map +4 -4
  696. package/dist/packages/utils/element-collapse.d.ts +12 -0
  697. package/dist/packages/utils/element-collapse.js +102 -0
  698. package/dist/packages/utils/expand-transition.d.ts +1 -1
  699. package/dist/packages/utils/expand-transition.js +12 -10
  700. package/dist/packages/utils/unstyled-heading.d.ts +1 -1
  701. package/dist/packages/utils/unstyled-heading.js +4 -4
  702. package/dist/packages/utils/window-exists.js +1 -1
  703. package/dist/packages/utils.js +2 -2
  704. package/dist/setup-tests.d.ts +3 -3
  705. package/dist/setup-tests.js +16 -13
  706. package/dist/tests/react-hydration.js +29 -30
  707. package/dist/tests/react-ssr-attributes.d.ts +1 -1
  708. package/dist/tests/react-ssr-attributes.js +4 -4
  709. package/dist/web-types.json +432 -230
  710. package/eik/index.js +20 -2460
  711. package/package.json +22 -22
@@ -1,28 +1,26 @@
1
- import { i18n } from '@lingui/core';
2
- import { html } from 'lit';
3
- import { expect, test, vi } from 'vitest';
4
- import { render } from 'vitest-browser-lit';
5
- import './radio-group.js';
6
- import '../radio/radio.js';
1
+ import { i18n } from "@lingui/core";
2
+ import { html } from "lit";
3
+ import { expect, test, vi } from "vitest";
4
+ import { render } from "vitest-browser-lit";
5
+ import "./radio-group.js";
6
+ import "../radio/radio.js";
7
+ import { messages } from "./locales/en/messages.mjs";
7
8
  // Initialize i18n with English locale for tests
8
- i18n.load('en', {
9
- 'radio-group.label.optional': ['(optional)'],
10
- 'radio-group.validation.required': ['Please select an option.'],
11
- });
12
- i18n.activate('en');
13
- test('selects radio on click and dispatches input/change', async () => {
9
+ i18n.load("en", messages);
10
+ i18n.activate("en");
11
+ test("selects radio on click and dispatches input/change", async () => {
14
12
  render(html `
15
- <w-radio-group label="Choices" name="choice">
16
- <w-radio value="alpha">Alpha</w-radio>
17
- <w-radio value="beta">Beta</w-radio>
18
- </w-radio-group>
19
- `);
20
- const group = document.querySelector('w-radio-group');
21
- const radios = Array.from(document.querySelectorAll('w-radio'));
13
+ <w-radio-group label="Choices" name="choice">
14
+ <w-radio value="alpha">Alpha</w-radio>
15
+ <w-radio value="beta">Beta</w-radio>
16
+ </w-radio-group>
17
+ `);
18
+ const group = document.querySelector("w-radio-group");
19
+ const radios = [...document.querySelectorAll("w-radio")];
22
20
  const onInput = vi.fn();
23
21
  const onChange = vi.fn();
24
- group.addEventListener('input', onInput);
25
- group.addEventListener('change', onChange);
22
+ group.addEventListener("input", onInput);
23
+ group.addEventListener("change", onChange);
26
24
  await group.updateComplete;
27
25
  radios[1].click();
28
26
  await group.updateComplete;
@@ -34,138 +32,214 @@ test('selects radio on click and dispatches input/change', async () => {
34
32
  await group.updateComplete;
35
33
  expect(onChange).toHaveBeenCalledTimes(1);
36
34
  });
37
- test('renders help text when provided', async () => {
35
+ test("renders help text when provided", async () => {
38
36
  const page = render(html `
39
- <w-radio-group name="choices" label="Choices" help-text="Select one">
40
- <w-radio value="alpha">Alpha</w-radio>
41
- <w-radio value="beta">Beta</w-radio>
42
- </w-radio-group>
43
- `);
44
- await expect.element(page.getByText('Select one')).toBeVisible();
37
+ <w-radio-group name="choices" label="Choices" help-text="Select one">
38
+ <w-radio value="alpha">Alpha</w-radio>
39
+ <w-radio value="beta">Beta</w-radio>
40
+ </w-radio-group>
41
+ `);
42
+ await expect.element(page.getByText("Select one")).toBeVisible();
45
43
  });
46
- test('disabled group renders help text in disabled color', async () => {
44
+ test("disabled group renders help text in disabled color", async () => {
47
45
  render(html `
48
- <w-radio-group name="choices" label="Choices" help-text="Select one" disabled>
49
- <w-radio value="alpha">Alpha</w-radio>
50
- <w-radio value="beta">Beta</w-radio>
51
- </w-radio-group>
52
- `);
53
- const group = document.querySelector('w-radio-group');
46
+ <w-radio-group
47
+ name="choices"
48
+ label="Choices"
49
+ help-text="Select one"
50
+ disabled
51
+ >
52
+ <w-radio value="alpha">Alpha</w-radio>
53
+ <w-radio value="beta">Beta</w-radio>
54
+ </w-radio-group>
55
+ `);
56
+ const group = document.querySelector("w-radio-group");
54
57
  await group.updateComplete;
55
58
  const helpText = group.shadowRoot?.querySelector('[part~="help-text"]');
56
59
  expect(helpText).not.toBeNull();
57
- const swatch = document.createElement('div');
58
- swatch.style.color = 'var(--w-s-color-text-disabled)';
60
+ const swatch = document.createElement("div");
61
+ swatch.style.color = "var(--w-s-color-text-disabled)";
59
62
  document.body.append(swatch);
60
63
  const disabledColor = getComputedStyle(swatch).color;
61
64
  swatch.remove();
62
65
  if (!helpText) {
63
- throw new Error('Expected help text element to exist');
66
+ throw new Error("Expected help text element to exist");
64
67
  }
65
68
  expect(getComputedStyle(helpText).color).toBe(disabledColor);
66
69
  });
67
- test('renders optional text when optional is true', async () => {
70
+ test("renders optional indicator as 'Optional' without parentheses", async () => {
71
+ const page = render(html `
72
+ <w-radio-group name="choices" label="Choices" optional>
73
+ <w-radio value="alpha">Alpha</w-radio>
74
+ <w-radio value="beta">Beta</w-radio>
75
+ </w-radio-group>
76
+ `);
77
+ await expect.element(page.getByText("Optional")).toBeVisible();
78
+ expect(page.getByText("(optional)").query()).toBeNull();
79
+ });
80
+ test("does not render optional indicator when both required and optional are set", async () => {
81
+ const page = render(html `
82
+ <w-radio-group name="choices" label="Choices" required optional>
83
+ <w-radio value="alpha">Alpha</w-radio>
84
+ <w-radio value="beta">Beta</w-radio>
85
+ </w-radio-group>
86
+ `);
87
+ await expect.element(page.getByText("Choices")).toBeVisible();
88
+ expect(page.getByText("Optional").query()).toBeNull();
89
+ });
90
+ test("includes optional indicator in the accessible name", async () => {
91
+ const page = render(html `
92
+ <w-radio-group name="choices" label="Choices" optional>
93
+ <w-radio value="alpha">Alpha</w-radio>
94
+ <w-radio value="beta">Beta</w-radio>
95
+ </w-radio-group>
96
+ `);
97
+ await expect
98
+ .element(page.getByRole("radiogroup", { name: /Choices.*Optional/ }))
99
+ .toBeVisible();
100
+ });
101
+ test("removes optional indicator when required is added dynamically", async () => {
102
+ const page = render(html `
103
+ <w-radio-group name="choices" label="Choices" optional>
104
+ <w-radio value="alpha">Alpha</w-radio>
105
+ <w-radio value="beta">Beta</w-radio>
106
+ </w-radio-group>
107
+ `);
108
+ await expect.element(page.getByText("Optional")).toBeVisible();
109
+ const group = document.querySelector("w-radio-group");
110
+ group.required = true;
111
+ await group.updateComplete;
112
+ expect(page.getByText("Optional").query()).toBeNull();
113
+ });
114
+ test("shows optional indicator when required is removed dynamically", async () => {
115
+ const page = render(html `
116
+ <w-radio-group name="choices" label="Choices" required optional>
117
+ <w-radio value="alpha">Alpha</w-radio>
118
+ <w-radio value="beta">Beta</w-radio>
119
+ </w-radio-group>
120
+ `);
121
+ expect(page.getByText("Optional").query()).toBeNull();
122
+ const group = document.querySelector("w-radio-group");
123
+ group.required = false;
124
+ await group.updateComplete;
125
+ await expect.element(page.getByText("Optional")).toBeVisible();
126
+ });
127
+ test("does not render optional indicator when there is no label", async () => {
128
+ const page = render(html `
129
+ <w-radio-group name="choices" aria-label="Choices" optional>
130
+ <w-radio value="alpha">Alpha</w-radio>
131
+ <w-radio value="beta">Beta</w-radio>
132
+ </w-radio-group>
133
+ `);
134
+ const group = document.querySelector("w-radio-group");
135
+ await group.updateComplete;
136
+ expect(page.getByText("Optional").query()).toBeNull();
137
+ });
138
+ test("excludes optional indicator from accessible name when required suppresses it", async () => {
68
139
  const page = render(html `
69
- <w-radio-group name="choices" label="Choices" optional>
70
- <w-radio value="alpha">Alpha</w-radio>
71
- <w-radio value="beta">Beta</w-radio>
72
- </w-radio-group>
73
- `);
74
- await expect.element(page.getByText('(optional)')).toBeVisible();
140
+ <w-radio-group name="choices" label="Choices" required optional>
141
+ <w-radio value="alpha">Alpha</w-radio>
142
+ <w-radio value="beta">Beta</w-radio>
143
+ </w-radio-group>
144
+ `);
145
+ const group = page.getByRole("radiogroup", { name: "Choices" });
146
+ await expect.element(group).toBeVisible();
147
+ // Verify "Optional" is not part of the accessible name
148
+ expect(page.getByRole("radiogroup", { name: /Optional/ }).query()).toBeNull();
75
149
  });
76
- test('associates selected value with form submission', async () => {
150
+ test("associates selected value with form submission", async () => {
77
151
  render(html `
78
- <form>
79
- <w-radio-group label="Choices" name="choice">
80
- <w-radio value="alpha">Alpha</w-radio>
81
- <w-radio value="beta">Beta</w-radio>
82
- </w-radio-group>
83
- </form>
84
- `);
85
- const form = document.querySelector('form');
86
- const group = document.querySelector('w-radio-group');
87
- const radios = Array.from(document.querySelectorAll('w-radio'));
152
+ <form>
153
+ <w-radio-group label="Choices" name="choice">
154
+ <w-radio value="alpha">Alpha</w-radio>
155
+ <w-radio value="beta">Beta</w-radio>
156
+ </w-radio-group>
157
+ </form>
158
+ `);
159
+ const form = document.querySelector("form");
160
+ const group = document.querySelector("w-radio-group");
161
+ const radios = [...document.querySelectorAll("w-radio")];
88
162
  await group.updateComplete;
89
163
  let data = new FormData(form);
90
- expect(data.get('choice')).toBeNull();
164
+ expect(data.get("choice")).toBeNull();
91
165
  radios[0].click();
92
166
  await group.updateComplete;
93
167
  data = new FormData(form);
94
- expect(data.get('choice')).toBe('alpha');
168
+ expect(data.get("choice")).toBe("alpha");
95
169
  });
96
- test('radio group does not submit its own value', async () => {
170
+ test("radio group does not submit its own value", async () => {
97
171
  render(html `
98
- <form>
99
- <w-radio-group label="Choices" name="choice">
100
- <w-radio value="alpha">Alpha</w-radio>
101
- <w-radio value="beta">Beta</w-radio>
102
- </w-radio-group>
103
- </form>
104
- `);
105
- const form = document.querySelector('form');
106
- const group = document.querySelector('w-radio-group');
107
- const radios = Array.from(document.querySelectorAll('w-radio'));
172
+ <form>
173
+ <w-radio-group label="Choices" name="choice">
174
+ <w-radio value="alpha">Alpha</w-radio>
175
+ <w-radio value="beta">Beta</w-radio>
176
+ </w-radio-group>
177
+ </form>
178
+ `);
179
+ const form = document.querySelector("form");
180
+ const group = document.querySelector("w-radio-group");
181
+ const radios = [...document.querySelectorAll("w-radio")];
108
182
  await group.updateComplete;
109
183
  radios[1].click();
110
184
  await group.updateComplete;
111
185
  const data = new FormData(form);
112
- expect(data.get('choice')).toBe('beta');
186
+ expect(data.get("choice")).toBe("beta");
113
187
  });
114
- test('does not submit a value when name is missing', async () => {
188
+ test("does not submit a value when name is missing", async () => {
115
189
  render(html `
116
- <form>
117
- <w-radio-group name="choices" label="Choices">
118
- <w-radio value="alpha">Alpha</w-radio>
119
- <w-radio value="beta">Beta</w-radio>
120
- </w-radio-group>
121
- </form>
122
- `);
123
- const form = document.querySelector('form');
124
- const group = document.querySelector('w-radio-group');
125
- const radios = Array.from(document.querySelectorAll('w-radio'));
190
+ <form>
191
+ <w-radio-group name="choices" label="Choices">
192
+ <w-radio value="alpha">Alpha</w-radio>
193
+ <w-radio value="beta">Beta</w-radio>
194
+ </w-radio-group>
195
+ </form>
196
+ `);
197
+ const form = document.querySelector("form");
198
+ const group = document.querySelector("w-radio-group");
199
+ const radios = [...document.querySelectorAll("w-radio")];
126
200
  await group.updateComplete;
127
201
  radios[0].click();
128
202
  await group.updateComplete;
129
203
  const data = new FormData(form);
130
- expect(data.get('choice')).toBeNull();
204
+ expect(data.get("choice")).toBeNull();
131
205
  });
132
- test('required group reports validity based on selection', async () => {
206
+ test("required group reports validity based on selection", async () => {
133
207
  render(html `
134
- <w-radio-group label="Choices" name="choice" required>
135
- <w-radio value="alpha">Alpha</w-radio>
136
- <w-radio value="beta">Beta</w-radio>
137
- </w-radio-group>
138
- `);
139
- const group = document.querySelector('w-radio-group');
140
- const radios = Array.from(document.querySelectorAll('w-radio'));
208
+ <w-radio-group label="Choices" name="choice" required>
209
+ <w-radio value="alpha">Alpha</w-radio>
210
+ <w-radio value="beta">Beta</w-radio>
211
+ </w-radio-group>
212
+ `);
213
+ const group = document.querySelector("w-radio-group");
214
+ const radios = [...document.querySelectorAll("w-radio")];
141
215
  await group.updateComplete;
142
216
  await expect.poll(() => group.checkValidity()).toBe(false);
143
217
  expect(group.validity.valueMissing).toBe(true);
144
- expect(group.validationMessage).not.toBe('');
218
+ expect(group.validationMessage).not.toBe("");
145
219
  radios[0].click();
146
220
  await group.updateComplete;
147
221
  await expect.poll(() => group.checkValidity()).toBe(true);
148
222
  expect(group.validity.valid).toBe(true);
149
223
  });
150
- test('required group blocks form submission until a selection is made', async () => {
224
+ test("required group blocks form submission until a selection is made", async () => {
151
225
  render(html `
152
- <form>
153
- <w-radio-group label="Choices" name="choice" required>
154
- <w-radio value="alpha">Alpha</w-radio>
155
- <w-radio value="beta">Beta</w-radio>
156
- </w-radio-group>
157
- <button type="submit">Submit</button>
158
- </form>
159
- `);
160
- const form = document.querySelector('form');
161
- const group = document.querySelector('w-radio-group');
162
- const radios = Array.from(document.querySelectorAll('w-radio'));
226
+ <form>
227
+ <w-radio-group label="Choices" name="choice" required>
228
+ <w-radio value="alpha">Alpha</w-radio>
229
+ <w-radio value="beta">Beta</w-radio>
230
+ </w-radio-group>
231
+ <button type="submit">Submit</button>
232
+ </form>
233
+ `);
234
+ const form = document.querySelector("form");
235
+ const group = document.querySelector("w-radio-group");
236
+ const radios = [...document.querySelectorAll("w-radio")];
163
237
  const submit = document.querySelector('button[type="submit"]');
164
238
  const onSubmit = vi.fn(() => {
165
239
  const data = new FormData(form);
166
- expect(data.get('choice')).toBe('alpha');
240
+ expect(data.get("choice")).toBe("alpha");
167
241
  });
168
- form.addEventListener('submit', (event) => {
242
+ form.addEventListener("submit", (event) => {
169
243
  if (!form.checkValidity()) {
170
244
  event.preventDefault();
171
245
  return;
@@ -185,30 +259,30 @@ test('required group blocks form submission until a selection is made', async ()
185
259
  await expect.poll(() => form.checkValidity()).toBe(true);
186
260
  expect(onSubmit).toHaveBeenCalledTimes(1);
187
261
  });
188
- test('required group exposes a validation message when empty', async () => {
262
+ test("required group exposes a validation message when empty", async () => {
189
263
  render(html `
190
- <w-radio-group label="Choices" name="choice" required>
191
- <w-radio value="alpha">Alpha</w-radio>
192
- <w-radio value="beta">Beta</w-radio>
193
- </w-radio-group>
194
- `);
195
- const group = document.querySelector('w-radio-group');
264
+ <w-radio-group label="Choices" name="choice" required>
265
+ <w-radio value="alpha">Alpha</w-radio>
266
+ <w-radio value="beta">Beta</w-radio>
267
+ </w-radio-group>
268
+ `);
269
+ const group = document.querySelector("w-radio-group");
196
270
  await group.updateComplete;
197
271
  await expect.poll(() => group.reportValidity()).toBe(false);
198
- expect(group.validationMessage).not.toBe('');
272
+ expect(group.validationMessage).not.toBe("");
199
273
  });
200
- test('resets to default selection on form reset', async () => {
274
+ test("resets to default selection on form reset", async () => {
201
275
  render(html `
202
- <form>
203
- <w-radio-group label="Choices" name="choice">
204
- <w-radio value="alpha" checked>Alpha</w-radio>
205
- <w-radio value="beta">Beta</w-radio>
206
- </w-radio-group>
207
- </form>
208
- `);
209
- const form = document.querySelector('form');
210
- const group = document.querySelector('w-radio-group');
211
- const radios = Array.from(document.querySelectorAll('w-radio'));
276
+ <form>
277
+ <w-radio-group label="Choices" name="choice">
278
+ <w-radio value="alpha" checked>Alpha</w-radio>
279
+ <w-radio value="beta">Beta</w-radio>
280
+ </w-radio-group>
281
+ </form>
282
+ `);
283
+ const form = document.querySelector("form");
284
+ const group = document.querySelector("w-radio-group");
285
+ const radios = [...document.querySelectorAll("w-radio")];
212
286
  await group.updateComplete;
213
287
  await expect.poll(() => radios[0].checked).toBe(true);
214
288
  await expect.poll(() => radios[1].checked).toBe(false);
@@ -219,15 +293,15 @@ test('resets to default selection on form reset', async () => {
219
293
  await expect.poll(() => radios[0].checked).toBe(true);
220
294
  await expect.poll(() => radios[1].checked).toBe(false);
221
295
  });
222
- test('disabled group prevents selection and disables child radios', async () => {
296
+ test("disabled group prevents selection and disables child radios", async () => {
223
297
  render(html `
224
- <w-radio-group name="choices" label="Choices" disabled>
225
- <w-radio value="alpha">Alpha</w-radio>
226
- <w-radio value="beta">Beta</w-radio>
227
- </w-radio-group>
228
- `);
229
- const group = document.querySelector('w-radio-group');
230
- const radios = Array.from(document.querySelectorAll('w-radio'));
298
+ <w-radio-group name="choices" label="Choices" disabled>
299
+ <w-radio value="alpha">Alpha</w-radio>
300
+ <w-radio value="beta">Beta</w-radio>
301
+ </w-radio-group>
302
+ `);
303
+ const group = document.querySelector("w-radio-group");
304
+ const radios = [...document.querySelectorAll("w-radio")];
231
305
  await group.updateComplete;
232
306
  // Check the disabled property - aria-disabled is set via ElementInternals
233
307
  expect(radios[0].disabled).toBe(true);
@@ -238,38 +312,38 @@ test('disabled group prevents selection and disables child radios', async () =>
238
312
  await group.updateComplete;
239
313
  expect(radios[0].checked).toBe(false);
240
314
  });
241
- test('name changes after render affect form submission', async () => {
315
+ test("name changes after render affect form submission", async () => {
242
316
  render(html `
243
- <form>
244
- <w-radio-group label="Choices" name="choice">
245
- <w-radio value="alpha">Alpha</w-radio>
246
- <w-radio value="beta">Beta</w-radio>
247
- </w-radio-group>
248
- </form>
249
- `);
250
- const form = document.querySelector('form');
251
- const group = document.querySelector('w-radio-group');
252
- const radios = Array.from(document.querySelectorAll('w-radio'));
317
+ <form>
318
+ <w-radio-group label="Choices" name="choice">
319
+ <w-radio value="alpha">Alpha</w-radio>
320
+ <w-radio value="beta">Beta</w-radio>
321
+ </w-radio-group>
322
+ </form>
323
+ `);
324
+ const form = document.querySelector("form");
325
+ const group = document.querySelector("w-radio-group");
326
+ const radios = [...document.querySelectorAll("w-radio")];
253
327
  await group.updateComplete;
254
328
  radios[0].click();
255
329
  await group.updateComplete;
256
330
  let data = new FormData(form);
257
- expect(data.get('choice')).toBe('alpha');
258
- group.name = 'preference';
331
+ expect(data.get("choice")).toBe("alpha");
332
+ group.name = "preference";
259
333
  await group.updateComplete;
260
334
  data = new FormData(form);
261
- expect(data.get('choice')).toBeNull();
262
- expect(data.get('preference')).toBe('alpha');
335
+ expect(data.get("choice")).toBeNull();
336
+ expect(data.get("preference")).toBe("alpha");
263
337
  });
264
- test('re-enabling a disabled group restores tabbable radio', async () => {
338
+ test("re-enabling a disabled group restores tabbable radio", async () => {
265
339
  render(html `
266
- <w-radio-group name="choices" label="Choices" disabled>
267
- <w-radio value="alpha">Alpha</w-radio>
268
- <w-radio value="beta" checked>Beta</w-radio>
269
- </w-radio-group>
270
- `);
271
- const group = document.querySelector('w-radio-group');
272
- const radios = Array.from(document.querySelectorAll('w-radio'));
340
+ <w-radio-group name="choices" label="Choices" disabled>
341
+ <w-radio value="alpha">Alpha</w-radio>
342
+ <w-radio value="beta" checked>Beta</w-radio>
343
+ </w-radio-group>
344
+ `);
345
+ const group = document.querySelector("w-radio-group");
346
+ const radios = [...document.querySelectorAll("w-radio")];
273
347
  await group.updateComplete;
274
348
  expect(radios[0].tabIndex).toBe(-1);
275
349
  expect(radios[1].tabIndex).toBe(-1);
@@ -279,15 +353,15 @@ test('re-enabling a disabled group restores tabbable radio', async () => {
279
353
  await expect.poll(() => radios[1].tabIndex).toBe(0);
280
354
  await expect.poll(() => radios[0].tabIndex).toBe(-1);
281
355
  });
282
- test('only one radio is tabbable at a time', async () => {
356
+ test("only one radio is tabbable at a time", async () => {
283
357
  render(html `
284
- <w-radio-group name="choices" label="Choices">
285
- <w-radio value="alpha">Alpha</w-radio>
286
- <w-radio value="beta">Beta</w-radio>
287
- </w-radio-group>
288
- `);
289
- const group = document.querySelector('w-radio-group');
290
- const radios = Array.from(document.querySelectorAll('w-radio'));
358
+ <w-radio-group name="choices" label="Choices">
359
+ <w-radio value="alpha">Alpha</w-radio>
360
+ <w-radio value="beta">Beta</w-radio>
361
+ </w-radio-group>
362
+ `);
363
+ const group = document.querySelector("w-radio-group");
364
+ const radios = [...document.querySelectorAll("w-radio")];
291
365
  await group.updateComplete;
292
366
  await expect.poll(() => radios[0].tabIndex).toBe(0);
293
367
  await expect.poll(() => radios[1].tabIndex).toBe(-1);
@@ -296,30 +370,30 @@ test('only one radio is tabbable at a time', async () => {
296
370
  await expect.poll(() => radios[0].tabIndex).toBe(-1);
297
371
  await expect.poll(() => radios[1].tabIndex).toBe(0);
298
372
  });
299
- test('warns when used in a form without a name', async () => {
300
- const warn = vi.spyOn(console, 'warn').mockImplementation(() => { });
373
+ test("warns when used in a form without a name", async () => {
374
+ const warn = vi.spyOn(console, "warn").mockImplementation(() => { });
301
375
  render(html `
302
- <form>
303
- <w-radio-group label="Choices">
304
- <w-radio value="alpha">Alpha</w-radio>
305
- <w-radio value="beta">Beta</w-radio>
306
- </w-radio-group>
307
- </form>
308
- `);
309
- const group = document.querySelector('w-radio-group');
376
+ <form>
377
+ <w-radio-group label="Choices">
378
+ <w-radio value="alpha">Alpha</w-radio>
379
+ <w-radio value="beta">Beta</w-radio>
380
+ </w-radio-group>
381
+ </form>
382
+ `);
383
+ const group = document.querySelector("w-radio-group");
310
384
  await group.updateComplete;
311
385
  expect(warn).toHaveBeenCalledWith('w-radio-group: "name" is required for form submission.');
312
386
  warn.mockRestore();
313
387
  });
314
- test('propagates invalid state to child radios', async () => {
388
+ test("propagates invalid state to child radios", async () => {
315
389
  render(html `
316
- <w-radio-group label="Choices" name="choice" required>
317
- <w-radio value="alpha">Alpha</w-radio>
318
- <w-radio value="beta">Beta</w-radio>
319
- </w-radio-group>
320
- `);
321
- const group = document.querySelector('w-radio-group');
322
- const radios = Array.from(document.querySelectorAll('w-radio'));
390
+ <w-radio-group label="Choices" name="choice" required>
391
+ <w-radio value="alpha">Alpha</w-radio>
392
+ <w-radio value="beta">Beta</w-radio>
393
+ </w-radio-group>
394
+ `);
395
+ const group = document.querySelector("w-radio-group");
396
+ const radios = [...document.querySelectorAll("w-radio")];
323
397
  await group.updateComplete;
324
398
  group.reportValidity();
325
399
  await group.updateComplete;
@@ -330,64 +404,64 @@ test('propagates invalid state to child radios', async () => {
330
404
  expect(radios[0].invalid).toBe(false);
331
405
  expect(radios[1].invalid).toBe(false);
332
406
  });
333
- test('adds and removes tabindex on the host when invalid', async () => {
407
+ test("adds and removes tabindex on the host when invalid", async () => {
334
408
  render(html `
335
- <w-radio-group label="Choices" name="choice">
336
- <w-radio value="alpha">Alpha</w-radio>
337
- <w-radio value="beta">Beta</w-radio>
338
- </w-radio-group>
339
- `);
340
- const group = document.querySelector('w-radio-group');
409
+ <w-radio-group label="Choices" name="choice">
410
+ <w-radio value="alpha">Alpha</w-radio>
411
+ <w-radio value="beta">Beta</w-radio>
412
+ </w-radio-group>
413
+ `);
414
+ const group = document.querySelector("w-radio-group");
341
415
  await group.updateComplete;
342
- expect(group.hasAttribute('tabindex')).toBe(false);
343
- group.setAttribute('invalid', '');
416
+ expect(group.hasAttribute("tabindex")).toBe(false);
417
+ group.setAttribute("invalid", "");
344
418
  await group.updateComplete;
345
- expect(group.getAttribute('tabindex')).toBe('0');
346
- group.removeAttribute('invalid');
419
+ expect(group.getAttribute("tabindex")).toBe("0");
420
+ group.removeAttribute("invalid");
347
421
  await group.updateComplete;
348
- expect(group.hasAttribute('tabindex')).toBe(false);
422
+ expect(group.hasAttribute("tabindex")).toBe(false);
349
423
  });
350
- test('updates optional text when locale changes', async () => {
351
- i18n.load('fr', {
352
- 'radio-group.label.optional': ['(optionnel)'],
353
- 'radio-group.validation.required': ['Please select an option.'],
424
+ test("updates optional text when locale changes", async () => {
425
+ i18n.load("fr", {
426
+ "radio-group.label.optional": ["Facultatif"],
427
+ "radio-group.validation.required": ["Please select an option."],
354
428
  });
355
429
  const page = render(html `
356
- <w-radio-group name="choices" label="Choices" optional>
357
- <w-radio value="alpha">Alpha</w-radio>
358
- <w-radio value="beta">Beta</w-radio>
359
- </w-radio-group>
360
- `);
361
- const group = document.querySelector('w-radio-group');
362
- await group.updateComplete;
363
- await expect.element(page.getByText('(optional)')).toBeVisible();
364
- i18n.activate('fr');
365
- await group.updateComplete;
366
- await expect.element(page.getByText('(optionnel)')).toBeVisible();
367
- i18n.activate('en');
430
+ <w-radio-group name="choices" label="Choices" optional>
431
+ <w-radio value="alpha">Alpha</w-radio>
432
+ <w-radio value="beta">Beta</w-radio>
433
+ </w-radio-group>
434
+ `);
435
+ const group = document.querySelector("w-radio-group");
436
+ await group.updateComplete;
437
+ await expect.element(page.getByText("Optional")).toBeVisible();
438
+ i18n.activate("fr");
439
+ await group.updateComplete;
440
+ await expect.element(page.getByText("Facultatif")).toBeVisible();
441
+ i18n.activate("en");
368
442
  });
369
- test('does not set aria-labelledby when label is missing', async () => {
443
+ test("does not set aria-labelledby when label is missing", async () => {
370
444
  render(html `
371
- <w-radio-group name="choices">
372
- <w-radio value="alpha">Alpha</w-radio>
373
- <w-radio value="beta">Beta</w-radio>
374
- </w-radio-group>
375
- `);
376
- const group = document.querySelector('w-radio-group');
377
- await group.updateComplete;
378
- const fieldset = group.shadowRoot?.querySelector('fieldset');
379
- expect(fieldset?.getAttribute('aria-labelledby')).toBeNull();
445
+ <w-radio-group name="choices">
446
+ <w-radio value="alpha">Alpha</w-radio>
447
+ <w-radio value="beta">Beta</w-radio>
448
+ </w-radio-group>
449
+ `);
450
+ const group = document.querySelector("w-radio-group");
451
+ await group.updateComplete;
452
+ const fieldset = group.shadowRoot?.querySelector("fieldset");
453
+ expect(fieldset?.getAttribute("aria-labelledby")).toBeNull();
380
454
  });
381
- test('applies group name to child radios when missing', async () => {
455
+ test("applies group name to child radios when missing", async () => {
382
456
  render(html `
383
- <w-radio-group label="Choices" name="choice">
384
- <w-radio value="alpha">Alpha</w-radio>
385
- <w-radio value="beta">Beta</w-radio>
386
- </w-radio-group>
387
- `);
388
- const group = document.querySelector('w-radio-group');
389
- const radios = Array.from(document.querySelectorAll('w-radio'));
390
- await group.updateComplete;
391
- expect(radios[0].getAttribute('name')).toBe('choice');
392
- expect(radios[1].getAttribute('name')).toBe('choice');
457
+ <w-radio-group label="Choices" name="choice">
458
+ <w-radio value="alpha">Alpha</w-radio>
459
+ <w-radio value="beta">Beta</w-radio>
460
+ </w-radio-group>
461
+ `);
462
+ const group = document.querySelector("w-radio-group");
463
+ const radios = [...document.querySelectorAll("w-radio")];
464
+ await group.updateComplete;
465
+ expect(radios[0].getAttribute("name")).toBe("choice");
466
+ expect(radios[1].getAttribute("name")).toBe("choice");
393
467
  });