@warp-ds/elements 2.10.0-next.9 → 2.10.1-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (724) hide show
  1. package/dist/.storybook/utilities.js +4 -4
  2. package/dist/api.js.map +2 -2
  3. package/dist/custom-elements.json +1211 -542
  4. package/dist/docs/affix/affix.md +111 -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 +5 -5
  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 +53 -3
  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 +4 -2
  15. package/dist/docs/breadcrumb-item/api.md +27 -0
  16. package/dist/docs/breadcrumb-item/breadcrumb-item.md +36 -0
  17. package/dist/docs/breadcrumbs/accessibility.md +8 -18
  18. package/dist/docs/breadcrumbs/breadcrumbs.md +123 -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 +35 -24
  24. package/dist/docs/card/api.md +8 -0
  25. package/dist/docs/card/card.md +10 -0
  26. package/dist/docs/checkbox/api.md +52 -13
  27. package/dist/docs/checkbox/checkbox.md +231 -14
  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 +66 -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 +22 -12
  34. package/dist/docs/datepicker/api.md +22 -14
  35. package/dist/docs/datepicker/datepicker.md +24 -16
  36. package/dist/docs/expandable/api.md +6 -6
  37. package/dist/docs/expandable/expandable.md +8 -6
  38. package/dist/docs/icon/api.md +4 -4
  39. package/dist/docs/icon/icon.md +5 -5
  40. package/dist/docs/index.md +35 -32
  41. package/dist/docs/link/api.md +10 -10
  42. package/dist/docs/link/link.md +13 -11
  43. package/dist/docs/modal/api.md +20 -2
  44. package/dist/docs/modal/modal.md +101 -10
  45. package/dist/docs/modal/styling.md +75 -0
  46. package/dist/docs/modal/usage.md +4 -8
  47. package/dist/docs/modal-footer/modal-footer.md +2 -0
  48. package/dist/docs/modal-header/modal-header.md +2 -0
  49. package/dist/docs/page-indicator/page-indicator.md +2 -0
  50. package/dist/docs/pagination/api.md +4 -4
  51. package/dist/docs/pagination/pagination.md +6 -4
  52. package/dist/docs/pill/api.md +8 -8
  53. package/dist/docs/pill/pill.md +10 -8
  54. package/dist/docs/radio/radio.md +5 -1
  55. package/dist/docs/radio-group/api.md +4 -4
  56. package/dist/docs/radio-group/radio-group.md +186 -69
  57. package/dist/docs/radio-group/styling.md +179 -64
  58. package/dist/docs/select/api.md +10 -10
  59. package/dist/docs/select/select.md +103 -10
  60. package/dist/docs/select/styling.md +91 -0
  61. package/dist/docs/slider/api.md +38 -22
  62. package/dist/docs/slider/slider.md +40 -22
  63. package/dist/docs/slider-thumb/api.md +28 -12
  64. package/dist/docs/slider-thumb/slider-thumb.md +28 -12
  65. package/dist/docs/snackbar/accessibility.md +20 -0
  66. package/dist/docs/snackbar/api.md +30 -0
  67. package/dist/docs/snackbar/examples.md +191 -0
  68. package/dist/docs/snackbar/snackbar.md +387 -0
  69. package/dist/docs/snackbar/styling.md +72 -0
  70. package/dist/docs/snackbar/usage.md +60 -0
  71. package/dist/docs/snackbar-item/api.md +41 -0
  72. package/dist/docs/snackbar-item/snackbar-item.md +51 -0
  73. package/dist/docs/step/api.md +16 -0
  74. package/dist/docs/step/step.md +19 -1
  75. package/dist/docs/step-indicator/step-indicator.md +2 -0
  76. package/dist/docs/switch/api.md +8 -0
  77. package/dist/docs/switch/switch.md +10 -0
  78. package/dist/docs/tab/tab.md +2 -0
  79. package/dist/docs/tab-panel/tab-panel.md +3 -0
  80. package/dist/docs/tabs/api.md +3 -3
  81. package/dist/docs/tabs/tabs.md +5 -3
  82. package/dist/docs/textarea/api.md +54 -14
  83. package/dist/docs/textarea/styling.md +91 -0
  84. package/dist/docs/textarea/textarea.md +146 -19
  85. package/dist/docs/textfield/api.md +74 -34
  86. package/dist/docs/textfield/styling.md +95 -0
  87. package/dist/docs/textfield/textfield.md +171 -34
  88. package/dist/entrypoint-react.d.ts +38 -0
  89. package/dist/entrypoint-react.js +39 -0
  90. package/dist/index.d.ts +1007 -154
  91. package/dist/packages/affix/affix-styles.d.ts +8 -0
  92. package/dist/packages/affix/affix-styles.js +108 -0
  93. package/dist/packages/affix/affix.d.ts +12 -14
  94. package/dist/packages/affix/affix.hydration.test.d.ts +1 -1
  95. package/dist/packages/affix/affix.hydration.test.js +15 -15
  96. package/dist/packages/affix/affix.js +451 -320
  97. package/dist/packages/affix/affix.js.map +4 -4
  98. package/dist/packages/affix/affix.react.stories.d.ts +3 -3
  99. package/dist/packages/affix/affix.react.stories.js +3 -3
  100. package/dist/packages/affix/affix.react.test.js +5 -3
  101. package/dist/packages/affix/affix.stories.d.ts +3 -3
  102. package/dist/packages/affix/affix.stories.js +10 -10
  103. package/dist/packages/affix/affix.test.d.ts +1 -1
  104. package/dist/packages/affix/affix.test.js +10 -10
  105. package/dist/packages/affix/react.d.ts +8 -3
  106. package/dist/packages/affix/react.js +11 -6
  107. package/dist/packages/affix/styles.js +2 -2
  108. package/dist/packages/alert/alert.d.ts +9 -6
  109. package/dist/packages/alert/alert.hydration.test.d.ts +1 -1
  110. package/dist/packages/alert/alert.hydration.test.js +21 -21
  111. package/dist/packages/alert/alert.js +349 -324
  112. package/dist/packages/alert/alert.js.map +3 -3
  113. package/dist/packages/alert/alert.react.stories.d.ts +2 -2
  114. package/dist/packages/alert/alert.react.stories.js +13 -13
  115. package/dist/packages/alert/alert.stories.d.ts +4 -4
  116. package/dist/packages/alert/alert.stories.js +29 -27
  117. package/dist/packages/alert/alert.test.d.ts +1 -1
  118. package/dist/packages/alert/alert.test.js +34 -21
  119. package/dist/packages/alert/react.d.ts +8 -1
  120. package/dist/packages/alert/react.js +11 -4
  121. package/dist/packages/alert/styles.js +2 -2
  122. package/dist/packages/attention/attention.d.ts +14 -7
  123. package/dist/packages/attention/attention.hydration.test.d.ts +1 -1
  124. package/dist/packages/attention/attention.hydration.test.js +29 -29
  125. package/dist/packages/attention/attention.js +1744 -1681
  126. package/dist/packages/attention/attention.js.map +4 -4
  127. package/dist/packages/attention/attention.react.stories.d.ts +3 -3
  128. package/dist/packages/attention/attention.react.stories.js +13 -13
  129. package/dist/packages/attention/attention.react.test.js +11 -7
  130. package/dist/packages/attention/attention.stories.d.ts +4 -4
  131. package/dist/packages/attention/attention.stories.js +126 -117
  132. package/dist/packages/attention/attention.test.d.ts +1 -1
  133. package/dist/packages/attention/attention.test.js +18 -10
  134. package/dist/packages/attention/layout-styles.js +900 -900
  135. package/dist/packages/attention/react.d.ts +16 -6
  136. package/dist/packages/attention/react.js +22 -11
  137. package/dist/packages/attention/styles.js +2 -2
  138. package/dist/packages/badge/badge.d.ts +8 -3
  139. package/dist/packages/badge/badge.hydration.test.d.ts +1 -1
  140. package/dist/packages/badge/badge.hydration.test.js +25 -25
  141. package/dist/packages/badge/badge.js +281 -281
  142. package/dist/packages/badge/badge.js.map +3 -3
  143. package/dist/packages/badge/badge.react.stories.d.ts +3 -3
  144. package/dist/packages/badge/badge.react.stories.js +17 -17
  145. package/dist/packages/badge/badge.stories.d.ts +3 -3
  146. package/dist/packages/badge/badge.stories.js +22 -20
  147. package/dist/packages/badge/badge.test.d.ts +1 -1
  148. package/dist/packages/badge/badge.test.js +13 -11
  149. package/dist/packages/badge/react.d.ts +6 -1
  150. package/dist/packages/badge/react.js +9 -4
  151. package/dist/packages/badge/styles.js +2 -2
  152. package/dist/packages/box/box.d.ts +7 -2
  153. package/dist/packages/box/box.hydration.test.d.ts +1 -1
  154. package/dist/packages/box/box.hydration.test.js +14 -14
  155. package/dist/packages/box/box.js +288 -288
  156. package/dist/packages/box/box.js.map +3 -3
  157. package/dist/packages/box/box.react.stories.d.ts +4 -4
  158. package/dist/packages/box/box.react.stories.js +8 -8
  159. package/dist/packages/box/box.stories.d.ts +3 -3
  160. package/dist/packages/box/box.stories.js +25 -19
  161. package/dist/packages/box/box.test.d.ts +1 -1
  162. package/dist/packages/box/box.test.js +6 -6
  163. package/dist/packages/box/react.d.ts +6 -1
  164. package/dist/packages/box/react.js +9 -4
  165. package/dist/packages/box/slot.test.d.ts +1 -1
  166. package/dist/packages/box/slot.test.js +6 -6
  167. package/dist/packages/box/styles.js +2 -2
  168. package/dist/packages/breadcrumb-item/breadcrumb-item.d.ts +34 -0
  169. package/dist/packages/breadcrumb-item/breadcrumb-item.js +2529 -0
  170. package/dist/packages/breadcrumb-item/breadcrumb-item.js.map +7 -0
  171. package/dist/packages/breadcrumb-item/react.d.ts +8 -0
  172. package/dist/packages/breadcrumb-item/react.js +17 -0
  173. package/dist/packages/breadcrumb-item/styles.d.ts +4 -0
  174. package/dist/packages/breadcrumb-item/styles.js +81 -0
  175. package/dist/packages/breadcrumbs/breadcrumbs.d.ts +11 -4
  176. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.d.ts +1 -1
  177. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.js +55 -49
  178. package/dist/packages/breadcrumbs/breadcrumbs.js +288 -284
  179. package/dist/packages/breadcrumbs/breadcrumbs.js.map +4 -4
  180. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.d.ts +4 -4
  181. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.js +17 -16
  182. package/dist/packages/breadcrumbs/breadcrumbs.stories.d.ts +7 -8
  183. package/dist/packages/breadcrumbs/breadcrumbs.stories.js +30 -26
  184. package/dist/packages/breadcrumbs/breadcrumbs.test.d.ts +1 -1
  185. package/dist/packages/breadcrumbs/breadcrumbs.test.js +19 -17
  186. package/dist/packages/breadcrumbs/react.d.ts +8 -1
  187. package/dist/packages/breadcrumbs/react.js +11 -4
  188. package/dist/packages/breadcrumbs/styles.js +2 -2
  189. package/dist/packages/button/button.d.ts +22 -16
  190. package/dist/packages/button/button.hydration.test.d.ts +1 -1
  191. package/dist/packages/button/button.hydration.test.js +19 -19
  192. package/dist/packages/button/button.js +758 -711
  193. package/dist/packages/button/button.js.map +4 -4
  194. package/dist/packages/button/button.react.stories.d.ts +5 -5
  195. package/dist/packages/button/button.react.stories.js +30 -30
  196. package/dist/packages/button/button.react.test.js +13 -13
  197. package/dist/packages/button/button.stories.d.ts +4 -4
  198. package/dist/packages/button/button.stories.js +276 -167
  199. package/dist/packages/button/button.test.d.ts +1 -1
  200. package/dist/packages/button/button.test.js +36 -35
  201. package/dist/packages/button/react.d.ts +10 -3
  202. package/dist/packages/button/react.js +14 -7
  203. package/dist/packages/button/styles.js +373 -331
  204. package/dist/packages/card/card.d.ts +7 -2
  205. package/dist/packages/card/card.hydration.test.d.ts +1 -1
  206. package/dist/packages/card/card.hydration.test.js +14 -14
  207. package/dist/packages/card/card.js +310 -295
  208. package/dist/packages/card/card.js.map +4 -4
  209. package/dist/packages/card/card.react.stories.d.ts +4 -4
  210. package/dist/packages/card/card.react.stories.js +11 -11
  211. package/dist/packages/card/card.stories.d.ts +3 -3
  212. package/dist/packages/card/card.stories.js +36 -24
  213. package/dist/packages/card/card.test.d.ts +1 -1
  214. package/dist/packages/card/card.test.js +6 -6
  215. package/dist/packages/card/react.d.ts +6 -1
  216. package/dist/packages/card/react.js +9 -4
  217. package/dist/packages/card/styles.js +2 -2
  218. package/dist/packages/checkbox/checkbox.a11y.test.d.ts +1 -1
  219. package/dist/packages/checkbox/checkbox.a11y.test.js +47 -33
  220. package/dist/packages/checkbox/checkbox.d.ts +10 -4
  221. package/dist/packages/checkbox/checkbox.hydration.test.d.ts +1 -1
  222. package/dist/packages/checkbox/checkbox.hydration.test.js +21 -21
  223. package/dist/packages/checkbox/checkbox.js +481 -430
  224. package/dist/packages/checkbox/checkbox.js.map +3 -3
  225. package/dist/packages/checkbox/checkbox.react.stories.d.ts +4 -4
  226. package/dist/packages/checkbox/checkbox.react.stories.js +3 -3
  227. package/dist/packages/checkbox/checkbox.stories.d.ts +4 -4
  228. package/dist/packages/checkbox/checkbox.stories.js +99 -91
  229. package/dist/packages/checkbox/checkbox.test.d.ts +1 -1
  230. package/dist/packages/checkbox/checkbox.test.js +64 -64
  231. package/dist/packages/checkbox/react.d.ts +12 -3
  232. package/dist/packages/checkbox/react.js +13 -6
  233. package/dist/packages/checkbox/styles.js +183 -132
  234. package/dist/packages/checkbox-group/checkbox-group.a11y.test.d.ts +2 -2
  235. package/dist/packages/checkbox-group/checkbox-group.a11y.test.js +83 -73
  236. package/dist/packages/checkbox-group/checkbox-group.d.ts +13 -6
  237. package/dist/packages/checkbox-group/checkbox-group.hydration.test.d.ts +2 -2
  238. package/dist/packages/checkbox-group/checkbox-group.hydration.test.js +36 -19
  239. package/dist/packages/checkbox-group/checkbox-group.js +62 -57
  240. package/dist/packages/checkbox-group/checkbox-group.js.map +3 -3
  241. package/dist/packages/checkbox-group/checkbox-group.react.test.js +4 -4
  242. package/dist/packages/checkbox-group/checkbox-group.test.d.ts +2 -2
  243. package/dist/packages/checkbox-group/checkbox-group.test.js +183 -90
  244. package/dist/packages/checkbox-group/react.d.ts +10 -3
  245. package/dist/packages/checkbox-group/react.js +13 -6
  246. package/dist/packages/combobox/combobox.a11y.test.d.ts +2 -2
  247. package/dist/packages/combobox/combobox.a11y.test.js +72 -49
  248. package/dist/packages/combobox/combobox.d.ts +8 -3
  249. package/dist/packages/combobox/combobox.hydration.test.d.ts +1 -1
  250. package/dist/packages/combobox/combobox.hydration.test.js +45 -45
  251. package/dist/packages/combobox/combobox.js +337 -338
  252. package/dist/packages/combobox/combobox.js.map +4 -4
  253. package/dist/packages/combobox/combobox.react.stories.d.ts +45 -13
  254. package/dist/packages/combobox/combobox.react.stories.js +29 -29
  255. package/dist/packages/combobox/combobox.react.test.js +8 -8
  256. package/dist/packages/combobox/combobox.stories.d.ts +4 -4
  257. package/dist/packages/combobox/combobox.stories.js +100 -94
  258. package/dist/packages/combobox/combobox.test.d.ts +2 -2
  259. package/dist/packages/combobox/combobox.test.js +249 -133
  260. package/dist/packages/combobox/react.d.ts +28 -7
  261. package/dist/packages/combobox/react.js +23 -14
  262. package/dist/packages/combobox/styles.js +2 -3
  263. package/dist/packages/datepicker/DatePicker.test.d.ts +2 -2
  264. package/dist/packages/datepicker/DatePicker.test.js +49 -42
  265. package/dist/packages/datepicker/datepicker.d.ts +15 -12
  266. package/dist/packages/datepicker/datepicker.hydration.test.d.ts +1 -1
  267. package/dist/packages/datepicker/datepicker.hydration.test.js +21 -21
  268. package/dist/packages/datepicker/datepicker.js +673 -632
  269. package/dist/packages/datepicker/datepicker.js.map +4 -4
  270. package/dist/packages/datepicker/datepicker.react.stories.d.ts +17 -17
  271. package/dist/packages/datepicker/datepicker.react.stories.js +9 -9
  272. package/dist/packages/datepicker/datepicker.react.test.js +6 -6
  273. package/dist/packages/datepicker/datepicker.stories.d.ts +4 -4
  274. package/dist/packages/datepicker/datepicker.stories.js +32 -32
  275. package/dist/packages/datepicker/datepicker.test.d.ts +2 -2
  276. package/dist/packages/datepicker/datepicker.test.js +77 -79
  277. package/dist/packages/datepicker/react.d.ts +15 -9
  278. package/dist/packages/datepicker/react.js +21 -14
  279. package/dist/packages/datepicker/styles/w-datepicker-calendar.styles.js +13 -12
  280. package/dist/packages/datepicker/styles/w-datepicker-day.styles.js +58 -55
  281. package/dist/packages/datepicker/styles/w-datepicker-month.styles.js +60 -57
  282. package/dist/packages/datepicker/styles/w-datepicker.styles.js +87 -87
  283. package/dist/packages/datepicker/utils.d.ts +3 -0
  284. package/dist/packages/datepicker/utils.js +40 -1
  285. package/dist/packages/datepicker/utils.test.d.ts +1 -0
  286. package/dist/packages/datepicker/utils.test.js +29 -0
  287. package/dist/packages/expandable/expandable.d.ts +14 -7
  288. package/dist/packages/expandable/expandable.hydration.test.d.ts +1 -1
  289. package/dist/packages/expandable/expandable.hydration.test.js +21 -21
  290. package/dist/packages/expandable/expandable.js +359 -332
  291. package/dist/packages/expandable/expandable.js.map +4 -4
  292. package/dist/packages/expandable/expandable.react.stories.d.ts +3 -3
  293. package/dist/packages/expandable/expandable.react.stories.js +7 -7
  294. package/dist/packages/expandable/expandable.react.test.js +15 -7
  295. package/dist/packages/expandable/expandable.stories.d.ts +5 -5
  296. package/dist/packages/expandable/expandable.stories.js +51 -45
  297. package/dist/packages/expandable/expandable.test.d.ts +1 -1
  298. package/dist/packages/expandable/expandable.test.js +19 -17
  299. package/dist/packages/expandable/react.d.ts +7 -2
  300. package/dist/packages/expandable/react.js +14 -9
  301. package/dist/packages/expandable/styles.js +2 -2
  302. package/dist/packages/global.d.ts +1 -0
  303. package/dist/packages/global.js +5 -0
  304. package/dist/packages/i18n.d.ts +1 -1
  305. package/dist/packages/i18n.js +37 -29
  306. package/dist/packages/icon/icon.d.ts +10 -2
  307. package/dist/packages/icon/icon.hydration.test.d.ts +1 -1
  308. package/dist/packages/icon/icon.hydration.test.js +25 -25
  309. package/dist/packages/icon/icon.js +31 -26
  310. package/dist/packages/icon/icon.js.map +2 -2
  311. package/dist/packages/icon/icon.react.stories.d.ts +3 -2
  312. package/dist/packages/icon/icon.react.stories.js +284 -283
  313. package/dist/packages/icon/icon.stories.d.ts +7 -30
  314. package/dist/packages/icon/icon.stories.js +307 -297
  315. package/dist/packages/icon/icon.test.d.ts +1 -1
  316. package/dist/packages/icon/icon.test.js +36 -28
  317. package/dist/packages/icon/react.d.ts +4 -1
  318. package/dist/packages/icon/react.js +7 -4
  319. package/dist/packages/icon/style.js +24 -25
  320. package/dist/packages/interaction-type-detection.d.ts +22 -0
  321. package/dist/packages/interaction-type-detection.js +38 -0
  322. package/dist/packages/link/link.d.ts +14 -9
  323. package/dist/packages/link/link.hydration.test.d.ts +1 -1
  324. package/dist/packages/link/link.hydration.test.js +27 -27
  325. package/dist/packages/link/link.js +726 -679
  326. package/dist/packages/link/link.js.map +3 -3
  327. package/dist/packages/link/link.react.stories.d.ts +5 -5
  328. package/dist/packages/link/link.react.stories.js +42 -42
  329. package/dist/packages/link/link.react.test.js +5 -3
  330. package/dist/packages/link/link.stories.d.ts +3 -3
  331. package/dist/packages/link/link.stories.js +51 -51
  332. package/dist/packages/link/link.test.d.ts +1 -1
  333. package/dist/packages/link/link.test.js +11 -7
  334. package/dist/packages/link/react.d.ts +8 -3
  335. package/dist/packages/link/react.js +11 -6
  336. package/dist/packages/link/styles.js +63 -58
  337. package/dist/packages/modal/index.d.ts +7 -7
  338. package/dist/packages/modal/index.js +7 -7
  339. package/dist/packages/modal/modal.d.ts +26 -4
  340. package/dist/packages/modal/modal.hydration.test.d.ts +1 -1
  341. package/dist/packages/modal/modal.hydration.test.js +12 -12
  342. package/dist/packages/modal/modal.js +456 -409
  343. package/dist/packages/modal/modal.js.map +4 -4
  344. package/dist/packages/modal/modal.react.stories.d.ts +7 -7
  345. package/dist/packages/modal/modal.react.stories.js +15 -6
  346. package/dist/packages/modal/modal.react.test.js +5 -5
  347. package/dist/packages/modal/modal.stories.d.ts +9 -8
  348. package/dist/packages/modal/modal.stories.js +266 -248
  349. package/dist/packages/modal/react.d.ts +40 -8
  350. package/dist/packages/modal/react.js +45 -13
  351. package/dist/packages/modal/styles.d.ts +1 -0
  352. package/dist/packages/modal/styles.js +171 -0
  353. package/dist/packages/modal/util.js +3 -1
  354. package/dist/packages/modal-footer/modal-footer.d.ts +13 -2
  355. package/dist/packages/modal-footer/modal-footer.js +299 -296
  356. package/dist/packages/modal-footer/modal-footer.js.map +4 -4
  357. package/dist/packages/modal-footer/react.d.ts +6 -1
  358. package/dist/packages/modal-footer/react.js +9 -4
  359. package/dist/packages/modal-footer/styles.d.ts +1 -0
  360. package/dist/packages/modal-footer/styles.js +22 -0
  361. package/dist/packages/modal-header/modal-header.d.ts +21 -7
  362. package/dist/packages/modal-header/modal-header.js +451 -422
  363. package/dist/packages/modal-header/modal-header.js.map +4 -4
  364. package/dist/packages/modal-header/modal-header.react.test.js +5 -3
  365. package/dist/packages/modal-header/react.d.ts +9 -4
  366. package/dist/packages/modal-header/react.js +13 -8
  367. package/dist/packages/modal-header/styles.d.ts +1 -0
  368. package/dist/packages/modal-header/styles.js +96 -0
  369. package/dist/packages/page-indicator/page-indicator.d.ts +8 -5
  370. package/dist/packages/page-indicator/page-indicator.hydration.test.d.ts +1 -1
  371. package/dist/packages/page-indicator/page-indicator.hydration.test.js +22 -22
  372. package/dist/packages/page-indicator/page-indicator.js +29 -29
  373. package/dist/packages/page-indicator/page-indicator.js.map +4 -4
  374. package/dist/packages/page-indicator/page-indicator.react.stories.d.ts +3 -3
  375. package/dist/packages/page-indicator/page-indicator.react.stories.js +11 -11
  376. package/dist/packages/page-indicator/page-indicator.react.test.js +5 -5
  377. package/dist/packages/page-indicator/page-indicator.stories.d.ts +9 -27
  378. package/dist/packages/page-indicator/page-indicator.stories.js +63 -32
  379. package/dist/packages/page-indicator/page-indicator.test.d.ts +1 -1
  380. package/dist/packages/page-indicator/page-indicator.test.js +110 -70
  381. package/dist/packages/page-indicator/react.d.ts +9 -2
  382. package/dist/packages/page-indicator/react.js +14 -7
  383. package/dist/packages/page-indicator/style.js +21 -21
  384. package/dist/packages/pagination/pagination.a11y.test.d.ts +1 -1
  385. package/dist/packages/pagination/pagination.a11y.test.js +59 -25
  386. package/dist/packages/pagination/pagination.d.ts +17 -11
  387. package/dist/packages/pagination/pagination.hydration.test.d.ts +1 -1
  388. package/dist/packages/pagination/pagination.hydration.test.js +19 -19
  389. package/dist/packages/pagination/pagination.js +385 -354
  390. package/dist/packages/pagination/pagination.js.map +4 -4
  391. package/dist/packages/pagination/pagination.react.stories.d.ts +19 -11
  392. package/dist/packages/pagination/pagination.react.stories.js +8 -8
  393. package/dist/packages/pagination/pagination.react.test.js +6 -6
  394. package/dist/packages/pagination/pagination.stories.d.ts +3 -3
  395. package/dist/packages/pagination/pagination.stories.js +18 -18
  396. package/dist/packages/pagination/pagination.test.d.ts +1 -1
  397. package/dist/packages/pagination/pagination.test.js +146 -72
  398. package/dist/packages/pagination/react.d.ts +15 -6
  399. package/dist/packages/pagination/react.js +17 -10
  400. package/dist/packages/pagination/styles.js +2 -2
  401. package/dist/packages/pill/pill.d.ts +13 -6
  402. package/dist/packages/pill/pill.hydration.test.d.ts +1 -1
  403. package/dist/packages/pill/pill.hydration.test.js +14 -14
  404. package/dist/packages/pill/pill.js +337 -314
  405. package/dist/packages/pill/pill.js.map +4 -4
  406. package/dist/packages/pill/pill.react.stories.d.ts +15 -11
  407. package/dist/packages/pill/pill.react.stories.js +7 -3
  408. package/dist/packages/pill/pill.react.test.js +8 -8
  409. package/dist/packages/pill/pill.stories.d.ts +3 -3
  410. package/dist/packages/pill/pill.stories.js +8 -8
  411. package/dist/packages/pill/pill.test.d.ts +1 -1
  412. package/dist/packages/pill/pill.test.js +17 -15
  413. package/dist/packages/pill/react.d.ts +11 -6
  414. package/dist/packages/pill/react.js +23 -14
  415. package/dist/packages/pill/styles.js +2 -2
  416. package/dist/packages/radio/base-element.d.ts +3 -3
  417. package/dist/packages/radio/base-element.js +3 -3
  418. package/dist/packages/radio/custom-error-validator.d.ts +1 -1
  419. package/dist/packages/radio/custom-error-validator.js +3 -3
  420. package/dist/packages/radio/form-associated-element.d.ts +9 -9
  421. package/dist/packages/radio/form-associated-element.js +27 -26
  422. package/dist/packages/radio/host-styles.js +9 -9
  423. package/dist/packages/radio/invalid.d.ts +1 -1
  424. package/dist/packages/radio/invalid.js +1 -1
  425. package/dist/packages/radio/radio-styles.js +199 -160
  426. package/dist/packages/radio/radio.a11y.test.d.ts +2 -2
  427. package/dist/packages/radio/radio.a11y.test.js +60 -58
  428. package/dist/packages/radio/radio.d.ts +10 -4
  429. package/dist/packages/radio/radio.hydration.test.d.ts +1 -1
  430. package/dist/packages/radio/radio.hydration.test.js +23 -14
  431. package/dist/packages/radio/radio.js +491 -452
  432. package/dist/packages/radio/radio.js.map +3 -3
  433. package/dist/packages/radio/radio.react.stories.d.ts +2 -2
  434. package/dist/packages/radio/radio.react.stories.js +3 -3
  435. package/dist/packages/radio/radio.stories.d.ts +4 -4
  436. package/dist/packages/radio/radio.stories.js +152 -136
  437. package/dist/packages/radio/radio.test.d.ts +1 -1
  438. package/dist/packages/radio/radio.test.js +74 -73
  439. package/dist/packages/radio/react.d.ts +8 -1
  440. package/dist/packages/radio/react.js +11 -4
  441. package/dist/packages/radio/required-validator.d.ts +1 -1
  442. package/dist/packages/radio/required-validator.js +12 -7
  443. package/dist/packages/radio/slot.d.ts +1 -1
  444. package/dist/packages/radio/slot.js +11 -8
  445. package/dist/packages/radio/watch.d.ts +1 -1
  446. package/dist/packages/radio/watch.js +3 -1
  447. package/dist/packages/radio-group/radio-group-styles.js +121 -88
  448. package/dist/packages/radio-group/radio-group.a11y.test.d.ts +2 -2
  449. package/dist/packages/radio-group/radio-group.a11y.test.js +81 -79
  450. package/dist/packages/radio-group/radio-group.d.ts +10 -8
  451. package/dist/packages/radio-group/radio-group.hydration.test.d.ts +2 -2
  452. package/dist/packages/radio-group/radio-group.hydration.test.js +29 -18
  453. package/dist/packages/radio-group/radio-group.js +654 -566
  454. package/dist/packages/radio-group/radio-group.js.map +4 -4
  455. package/dist/packages/radio-group/radio-group.react.test.js +4 -4
  456. package/dist/packages/radio-group/radio-group.test.d.ts +2 -2
  457. package/dist/packages/radio-group/radio-group.test.js +304 -230
  458. package/dist/packages/radio-group/react.d.ts +14 -7
  459. package/dist/packages/radio-group/react.js +18 -10
  460. package/dist/packages/select/input-styles.d.ts +11 -0
  461. package/dist/packages/select/input-styles.js +88 -0
  462. package/dist/packages/select/locales/da/messages.mjs +1 -1
  463. package/dist/packages/select/locales/en/messages.mjs +1 -1
  464. package/dist/packages/select/locales/fi/messages.mjs +1 -1
  465. package/dist/packages/select/locales/nb/messages.mjs +1 -1
  466. package/dist/packages/select/locales/sv/messages.mjs +1 -1
  467. package/dist/packages/select/react.d.ts +11 -5
  468. package/dist/packages/select/react.js +16 -11
  469. package/dist/packages/select/select.a11y.test.d.ts +1 -1
  470. package/dist/packages/select/select.a11y.test.js +98 -91
  471. package/dist/packages/select/select.d.ts +18 -13
  472. package/dist/packages/select/select.hydration.test.d.ts +1 -1
  473. package/dist/packages/select/select.hydration.test.js +16 -16
  474. package/dist/packages/select/select.js +432 -336
  475. package/dist/packages/select/select.js.map +4 -4
  476. package/dist/packages/select/select.react.stories.d.ts +10 -10
  477. package/dist/packages/select/select.react.stories.js +19 -14
  478. package/dist/packages/select/select.react.test.js +6 -6
  479. package/dist/packages/select/select.stories.d.ts +3 -3
  480. package/dist/packages/select/select.stories.js +51 -48
  481. package/dist/packages/select/select.test.d.ts +1 -1
  482. package/dist/packages/select/select.test.js +227 -178
  483. package/dist/packages/select/styles.js +2 -2
  484. package/dist/packages/slider/index.d.ts +2 -2
  485. package/dist/packages/slider/index.js +2 -2
  486. package/dist/packages/slider/locales/da/messages.mjs +1 -1
  487. package/dist/packages/slider/locales/en/messages.mjs +1 -1
  488. package/dist/packages/slider/locales/fi/messages.mjs +1 -1
  489. package/dist/packages/slider/locales/nb/messages.mjs +1 -1
  490. package/dist/packages/slider/locales/sv/messages.mjs +1 -1
  491. package/dist/packages/slider/react.d.ts +9 -4
  492. package/dist/packages/slider/react.js +14 -9
  493. package/dist/packages/slider/slider.d.ts +32 -17
  494. package/dist/packages/slider/slider.hydration.test.d.ts +1 -1
  495. package/dist/packages/slider/slider.hydration.test.js +39 -20
  496. package/dist/packages/slider/slider.js +523 -466
  497. package/dist/packages/slider/slider.js.map +4 -4
  498. package/dist/packages/slider/slider.react.stories.d.ts +4 -4
  499. package/dist/packages/slider/slider.react.stories.js +31 -34
  500. package/dist/packages/slider/slider.react.test.js +6 -6
  501. package/dist/packages/slider/slider.stories.d.ts +9 -7
  502. package/dist/packages/slider/slider.stories.js +369 -340
  503. package/dist/packages/slider/slider.test.d.ts +5 -5
  504. package/dist/packages/slider/slider.test.js +476 -336
  505. package/dist/packages/slider/styles/w-slider.styles.js +166 -148
  506. package/dist/packages/slider/styles.js +2 -2
  507. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.d.ts +1 -1
  508. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.js +1 -1
  509. package/dist/packages/slider-thumb/react.d.ts +16 -5
  510. package/dist/packages/slider-thumb/react.js +16 -9
  511. package/dist/packages/slider-thumb/slider-thumb.d.ts +22 -17
  512. package/dist/packages/slider-thumb/slider-thumb.hydration.test.d.ts +1 -1
  513. package/dist/packages/slider-thumb/slider-thumb.hydration.test.js +26 -17
  514. package/dist/packages/slider-thumb/slider-thumb.js +549 -552
  515. package/dist/packages/slider-thumb/slider-thumb.js.map +4 -4
  516. package/dist/packages/slider-thumb/slider-thumb.react.test.js +9 -5
  517. package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.js +189 -188
  518. package/dist/packages/slider-thumb/styles.d.ts +1 -0
  519. package/dist/packages/slider-thumb/styles.js +2 -0
  520. package/dist/packages/snackbar/locales/da/messages.d.mts +1 -0
  521. package/dist/packages/snackbar/locales/da/messages.mjs +1 -0
  522. package/dist/packages/snackbar/locales/en/messages.d.mts +1 -0
  523. package/dist/packages/snackbar/locales/en/messages.mjs +1 -0
  524. package/dist/packages/snackbar/locales/fi/messages.d.mts +1 -0
  525. package/dist/packages/snackbar/locales/fi/messages.mjs +1 -0
  526. package/dist/packages/snackbar/locales/nb/messages.d.mts +1 -0
  527. package/dist/packages/snackbar/locales/nb/messages.mjs +1 -0
  528. package/dist/packages/snackbar/locales/sv/messages.d.mts +1 -0
  529. package/dist/packages/snackbar/locales/sv/messages.mjs +1 -0
  530. package/dist/packages/snackbar/react.d.ts +41 -0
  531. package/dist/packages/snackbar/react.js +50 -0
  532. package/dist/packages/snackbar/snackbar.d.ts +134 -0
  533. package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -0
  534. package/dist/packages/snackbar/snackbar.hydration.test.js +13 -0
  535. package/dist/packages/snackbar/snackbar.js +2665 -0
  536. package/dist/packages/snackbar/snackbar.js.map +7 -0
  537. package/dist/packages/snackbar/snackbar.react.stories.d.ts +12 -0
  538. package/dist/packages/snackbar/snackbar.react.stories.js +160 -0
  539. package/dist/packages/snackbar/snackbar.stories.d.ts +20 -0
  540. package/dist/packages/snackbar/snackbar.stories.js +363 -0
  541. package/dist/packages/snackbar/snackbar.test.d.ts +4 -0
  542. package/dist/packages/snackbar/snackbar.test.js +17 -0
  543. package/dist/packages/snackbar/styles.d.ts +1 -0
  544. package/dist/packages/snackbar/styles.js +35 -0
  545. package/dist/packages/snackbar-item/react.d.ts +12 -0
  546. package/dist/packages/snackbar-item/react.js +23 -0
  547. package/dist/packages/snackbar-item/snackbar-item.d.ts +71 -0
  548. package/dist/packages/snackbar-item/snackbar-item.js +2620 -0
  549. package/dist/packages/snackbar-item/snackbar-item.js.map +7 -0
  550. package/dist/packages/snackbar-item/snackbar-item.react.test.d.ts +1 -0
  551. package/dist/packages/snackbar-item/snackbar-item.react.test.js +5 -0
  552. package/dist/packages/snackbar-item/styles.d.ts +1 -0
  553. package/dist/packages/snackbar-item/styles.js +133 -0
  554. package/dist/packages/step/react.d.ts +6 -1
  555. package/dist/packages/step/react.js +9 -4
  556. package/dist/packages/step/step.d.ts +10 -3
  557. package/dist/packages/step/step.hydration.test.d.ts +1 -1
  558. package/dist/packages/step/step.hydration.test.js +10 -10
  559. package/dist/packages/step/step.js +336 -314
  560. package/dist/packages/step/step.js.map +4 -4
  561. package/dist/packages/step/styles.d.ts +1 -0
  562. package/dist/packages/step/styles.js +2 -0
  563. package/dist/packages/step-indicator/index.d.ts +2 -2
  564. package/dist/packages/step-indicator/index.js +2 -2
  565. package/dist/packages/step-indicator/react.d.ts +7 -2
  566. package/dist/packages/step-indicator/react.js +10 -5
  567. package/dist/packages/step-indicator/step-indicator.a11y.test.d.ts +2 -2
  568. package/dist/packages/step-indicator/step-indicator.a11y.test.js +48 -46
  569. package/dist/packages/step-indicator/step-indicator.d.ts +8 -1
  570. package/dist/packages/step-indicator/step-indicator.hydration.test.d.ts +1 -1
  571. package/dist/packages/step-indicator/step-indicator.hydration.test.js +10 -10
  572. package/dist/packages/step-indicator/step-indicator.js +285 -281
  573. package/dist/packages/step-indicator/step-indicator.js.map +3 -3
  574. package/dist/packages/step-indicator/stepindicator.react.stories.d.ts +2 -2
  575. package/dist/packages/step-indicator/stepindicator.react.stories.js +3 -3
  576. package/dist/packages/step-indicator/stepindicator.stories.d.ts +3 -3
  577. package/dist/packages/step-indicator/stepindicator.stories.js +129 -129
  578. package/dist/packages/step-indicator/styles.js +2 -2
  579. package/dist/packages/styles.js +277 -275
  580. package/dist/packages/switch/react.d.ts +9 -3
  581. package/dist/packages/switch/react.js +11 -6
  582. package/dist/packages/switch/styles.js +2 -2
  583. package/dist/packages/switch/switch.a11y.test.d.ts +1 -1
  584. package/dist/packages/switch/switch.a11y.test.js +46 -38
  585. package/dist/packages/switch/switch.d.ts +10 -3
  586. package/dist/packages/switch/switch.hydration.test.d.ts +1 -1
  587. package/dist/packages/switch/switch.hydration.test.js +23 -23
  588. package/dist/packages/switch/switch.js +304 -304
  589. package/dist/packages/switch/switch.js.map +3 -3
  590. package/dist/packages/switch/switch.react.stories.d.ts +4 -4
  591. package/dist/packages/switch/switch.react.stories.js +2 -2
  592. package/dist/packages/switch/switch.stories.d.ts +2 -2
  593. package/dist/packages/switch/switch.stories.js +42 -37
  594. package/dist/packages/switch/switch.test.d.ts +1 -1
  595. package/dist/packages/switch/switch.test.js +30 -35
  596. package/dist/packages/tab/react.d.ts +12 -7
  597. package/dist/packages/tab/react.js +14 -10
  598. package/dist/packages/tab/styles.d.ts +1 -0
  599. package/dist/packages/tab/styles.js +2 -0
  600. package/dist/packages/tab/tab.d.ts +13 -6
  601. package/dist/packages/tab/tab.hydration.test.d.ts +1 -1
  602. package/dist/packages/tab/tab.hydration.test.js +18 -12
  603. package/dist/packages/tab/tab.js +309 -308
  604. package/dist/packages/tab/tab.js.map +4 -4
  605. package/dist/packages/tab/tab.react.test.js +5 -3
  606. package/dist/packages/tab-panel/react.d.ts +10 -2
  607. package/dist/packages/tab-panel/react.js +18 -5
  608. package/dist/packages/tab-panel/tab-panel.d.ts +6 -3
  609. package/dist/packages/tab-panel/tab-panel.hydration.test.d.ts +1 -1
  610. package/dist/packages/tab-panel/tab-panel.hydration.test.js +13 -10
  611. package/dist/packages/tab-panel/tab-panel.js +293 -291
  612. package/dist/packages/tab-panel/tab-panel.js.map +3 -3
  613. package/dist/packages/tabs/index.d.ts +4 -4
  614. package/dist/packages/tabs/index.js +3 -3
  615. package/dist/packages/tabs/react.d.ts +31 -8
  616. package/dist/packages/tabs/react.js +34 -9
  617. package/dist/packages/tabs/styles.js +2 -2
  618. package/dist/packages/tabs/tabs.a11y.test.d.ts +3 -3
  619. package/dist/packages/tabs/tabs.a11y.test.js +188 -169
  620. package/dist/packages/tabs/tabs.d.ts +9 -6
  621. package/dist/packages/tabs/tabs.hydration.test.d.ts +3 -1
  622. package/dist/packages/tabs/tabs.hydration.test.js +22 -8
  623. package/dist/packages/tabs/tabs.js +293 -286
  624. package/dist/packages/tabs/tabs.js.map +3 -3
  625. package/dist/packages/tabs/tabs.react.stories.d.ts +12 -10
  626. package/dist/packages/tabs/tabs.react.stories.js +28 -28
  627. package/dist/packages/tabs/tabs.stories.d.ts +4 -4
  628. package/dist/packages/tabs/tabs.stories.js +101 -95
  629. package/dist/packages/tabs/tabs.test.d.ts +3 -3
  630. package/dist/packages/tabs/tabs.test.js +136 -122
  631. package/dist/packages/textarea/input-styles.d.ts +11 -0
  632. package/dist/packages/textarea/input-styles.js +88 -0
  633. package/dist/packages/textarea/locales/da/messages.mjs +1 -1
  634. package/dist/packages/textarea/locales/en/messages.mjs +1 -1
  635. package/dist/packages/textarea/locales/fi/messages.mjs +1 -1
  636. package/dist/packages/textarea/locales/nb/messages.mjs +1 -1
  637. package/dist/packages/textarea/locales/sv/messages.mjs +1 -1
  638. package/dist/packages/textarea/react.d.ts +17 -11
  639. package/dist/packages/textarea/react.js +22 -17
  640. package/dist/packages/textarea/styles.js +2 -2
  641. package/dist/packages/textarea/textarea.a11y.test.d.ts +1 -1
  642. package/dist/packages/textarea/textarea.a11y.test.js +90 -58
  643. package/dist/packages/textarea/textarea.d.ts +20 -20
  644. package/dist/packages/textarea/textarea.hydration.test.d.ts +1 -1
  645. package/dist/packages/textarea/textarea.hydration.test.js +19 -19
  646. package/dist/packages/textarea/textarea.js +385 -304
  647. package/dist/packages/textarea/textarea.js.map +4 -4
  648. package/dist/packages/textarea/textarea.react.stories.d.ts +38 -21
  649. package/dist/packages/textarea/textarea.react.stories.js +30 -13
  650. package/dist/packages/textarea/textarea.react.test.js +7 -7
  651. package/dist/packages/textarea/textarea.stories.d.ts +3 -3
  652. package/dist/packages/textarea/textarea.stories.js +44 -42
  653. package/dist/packages/textarea/textarea.test.d.ts +1 -1
  654. package/dist/packages/textarea/textarea.test.js +197 -88
  655. package/dist/packages/textfield/input-styles.d.ts +11 -0
  656. package/dist/packages/textfield/input-styles.js +88 -0
  657. package/dist/packages/textfield/locales/da/messages.d.mts +1 -0
  658. package/dist/packages/textfield/locales/da/messages.mjs +1 -0
  659. package/dist/packages/textfield/locales/en/messages.d.mts +1 -0
  660. package/dist/packages/textfield/locales/en/messages.mjs +1 -0
  661. package/dist/packages/textfield/locales/fi/messages.d.mts +1 -0
  662. package/dist/packages/textfield/locales/fi/messages.mjs +1 -0
  663. package/dist/packages/textfield/locales/nb/messages.d.mts +1 -0
  664. package/dist/packages/textfield/locales/nb/messages.mjs +1 -0
  665. package/dist/packages/textfield/locales/sv/messages.d.mts +1 -0
  666. package/dist/packages/textfield/locales/sv/messages.mjs +1 -0
  667. package/dist/packages/textfield/react.d.ts +17 -11
  668. package/dist/packages/textfield/react.js +22 -17
  669. package/dist/packages/textfield/react.test.d.ts +1 -0
  670. package/dist/packages/textfield/react.test.js +20 -0
  671. package/dist/packages/textfield/styles/w-textfield.styles.js +60 -58
  672. package/dist/packages/textfield/styles.js +2 -2
  673. package/dist/packages/textfield/textfield.d.ts +38 -26
  674. package/dist/packages/textfield/textfield.hydration.test.d.ts +1 -1
  675. package/dist/packages/textfield/textfield.hydration.test.js +19 -19
  676. package/dist/packages/textfield/textfield.js +468 -373
  677. package/dist/packages/textfield/textfield.js.map +4 -4
  678. package/dist/packages/textfield/textfield.react.stories.d.ts +51 -21
  679. package/dist/packages/textfield/textfield.react.stories.js +63 -31
  680. package/dist/packages/textfield/textfield.react.test.js +7 -7
  681. package/dist/packages/textfield/textfield.stories.d.ts +4 -4
  682. package/dist/packages/textfield/textfield.stories.js +107 -89
  683. package/dist/packages/textfield/textfield.test.d.ts +2 -2
  684. package/dist/packages/textfield/textfield.test.js +174 -71
  685. package/dist/packages/toast/api.d.ts +2 -2
  686. package/dist/packages/toast/api.js +3 -3
  687. package/dist/packages/toast/index.d.ts +5 -5
  688. package/dist/packages/toast/index.js +5 -5
  689. package/dist/packages/toast/styles.js +2 -2
  690. package/dist/packages/toast/toast.d.ts +10 -5
  691. package/dist/packages/toast/toast.js +349 -320
  692. package/dist/packages/toast/toast.js.map +4 -4
  693. package/dist/packages/toast/toast.stories.d.ts +4 -4
  694. package/dist/packages/toast/toast.stories.js +37 -16
  695. package/dist/packages/toast/toast.test.d.ts +1 -1
  696. package/dist/packages/toast/toast.test.js +48 -31
  697. package/dist/packages/toast/types.d.ts +1 -1
  698. package/dist/packages/toast-container/styles.d.ts +1 -0
  699. package/dist/packages/toast-container/styles.js +2 -0
  700. package/dist/packages/toast-container/toast-container.d.ts +8 -3
  701. package/dist/packages/toast-container/toast-container.js +295 -294
  702. package/dist/packages/toast-container/toast-container.js.map +4 -4
  703. package/dist/packages/types.d.ts +16 -0
  704. package/dist/packages/types.js +1 -0
  705. package/dist/packages/utils/element-collapse.d.ts +12 -0
  706. package/dist/packages/utils/element-collapse.js +102 -0
  707. package/dist/packages/utils/expand-transition.d.ts +1 -1
  708. package/dist/packages/utils/expand-transition.js +12 -10
  709. package/dist/packages/utils/unstyled-heading.d.ts +1 -1
  710. package/dist/packages/utils/unstyled-heading.js +4 -4
  711. package/dist/packages/utils/window-exists.js +1 -1
  712. package/dist/packages/utils.js +2 -2
  713. package/dist/setup-tests.d.ts +3 -3
  714. package/dist/setup-tests.js +16 -13
  715. package/dist/tests/react-hydration.js +29 -30
  716. package/dist/tests/react-ssr-attributes.d.ts +1 -1
  717. package/dist/tests/react-ssr-attributes.js +4 -4
  718. package/dist/web-types.json +458 -256
  719. package/eik/index.js +20 -2460
  720. package/package.json +21 -129
  721. package/dist/packages/slider/Slider.d.ts +0 -2
  722. package/dist/packages/slider/Slider.js +0 -8
  723. package/dist/packages/slider-thumb/SliderThumb.d.ts +0 -2
  724. package/dist/packages/slider-thumb/SliderThumb.js +0 -8
@@ -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
  });