@warp-ds/elements 2.10.0-next.15 → 2.10.0-next.18

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