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

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 (594) hide show
  1. package/dist/.storybook/utilities.js +4 -4
  2. package/dist/api.js.map +2 -2
  3. package/dist/custom-elements.json +68 -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/checkbox/api.md +2 -2
  15. package/dist/docs/checkbox/checkbox.md +176 -2
  16. package/dist/docs/checkbox/styling.md +173 -0
  17. package/dist/docs/checkbox-group/checkbox-group.md +43 -30
  18. package/dist/docs/checkbox-group/styling.md +31 -29
  19. package/dist/docs/combobox/api.md +12 -12
  20. package/dist/docs/combobox/combobox.md +12 -12
  21. package/dist/docs/datepicker/api.md +6 -6
  22. package/dist/docs/datepicker/datepicker.md +6 -6
  23. package/dist/docs/icon/api.md +3 -3
  24. package/dist/docs/icon/icon.md +3 -3
  25. package/dist/docs/index.md +1 -1
  26. package/dist/docs/radio-group/api.md +4 -4
  27. package/dist/docs/radio-group/radio-group.md +183 -68
  28. package/dist/docs/radio-group/styling.md +179 -64
  29. package/dist/docs/snackbar/api.md +1 -1
  30. package/dist/docs/snackbar/snackbar.md +1 -1
  31. package/dist/docs/snackbar-item/api.md +2 -2
  32. package/dist/docs/snackbar-item/snackbar-item.md +2 -2
  33. package/dist/index.d.ts +24 -2
  34. package/dist/packages/affix/affix.d.ts +4 -4
  35. package/dist/packages/affix/affix.hydration.test.d.ts +1 -1
  36. package/dist/packages/affix/affix.hydration.test.js +15 -15
  37. package/dist/packages/affix/affix.js +345 -315
  38. package/dist/packages/affix/affix.js.map +2 -2
  39. package/dist/packages/affix/affix.react.stories.d.ts +2 -2
  40. package/dist/packages/affix/affix.react.stories.js +3 -3
  41. package/dist/packages/affix/affix.react.test.js +5 -3
  42. package/dist/packages/affix/affix.stories.d.ts +3 -3
  43. package/dist/packages/affix/affix.stories.js +10 -10
  44. package/dist/packages/affix/affix.test.d.ts +1 -1
  45. package/dist/packages/affix/affix.test.js +10 -10
  46. package/dist/packages/affix/react.d.ts +2 -2
  47. package/dist/packages/affix/react.js +6 -6
  48. package/dist/packages/affix/styles.js +1 -1
  49. package/dist/packages/alert/alert.d.ts +3 -3
  50. package/dist/packages/alert/alert.hydration.test.d.ts +1 -1
  51. package/dist/packages/alert/alert.hydration.test.js +21 -21
  52. package/dist/packages/alert/alert.js +344 -319
  53. package/dist/packages/alert/alert.js.map +2 -2
  54. package/dist/packages/alert/alert.react.stories.d.ts +2 -2
  55. package/dist/packages/alert/alert.react.stories.js +13 -13
  56. package/dist/packages/alert/alert.stories.d.ts +4 -4
  57. package/dist/packages/alert/alert.stories.js +29 -27
  58. package/dist/packages/alert/alert.test.d.ts +1 -1
  59. package/dist/packages/alert/alert.test.js +34 -21
  60. package/dist/packages/alert/react.d.ts +1 -1
  61. package/dist/packages/alert/react.js +4 -4
  62. package/dist/packages/alert/styles.js +1 -1
  63. package/dist/packages/attention/attention.d.ts +7 -7
  64. package/dist/packages/attention/attention.hydration.test.d.ts +1 -1
  65. package/dist/packages/attention/attention.hydration.test.js +29 -29
  66. package/dist/packages/attention/attention.js +1725 -1683
  67. package/dist/packages/attention/attention.js.map +2 -2
  68. package/dist/packages/attention/attention.react.stories.d.ts +3 -3
  69. package/dist/packages/attention/attention.react.stories.js +13 -13
  70. package/dist/packages/attention/attention.react.test.js +11 -7
  71. package/dist/packages/attention/attention.stories.d.ts +4 -4
  72. package/dist/packages/attention/attention.stories.js +126 -117
  73. package/dist/packages/attention/attention.test.d.ts +1 -1
  74. package/dist/packages/attention/attention.test.js +18 -10
  75. package/dist/packages/attention/layout-styles.js +900 -900
  76. package/dist/packages/attention/react.d.ts +4 -4
  77. package/dist/packages/attention/react.js +13 -11
  78. package/dist/packages/attention/styles.js +1 -1
  79. package/dist/packages/badge/badge.d.ts +3 -3
  80. package/dist/packages/badge/badge.hydration.test.d.ts +1 -1
  81. package/dist/packages/badge/badge.hydration.test.js +25 -25
  82. package/dist/packages/badge/badge.js +276 -276
  83. package/dist/packages/badge/badge.js.map +2 -2
  84. package/dist/packages/badge/badge.react.stories.d.ts +3 -3
  85. package/dist/packages/badge/badge.react.stories.js +17 -17
  86. package/dist/packages/badge/badge.stories.d.ts +3 -3
  87. package/dist/packages/badge/badge.stories.js +22 -20
  88. package/dist/packages/badge/badge.test.d.ts +1 -1
  89. package/dist/packages/badge/badge.test.js +13 -11
  90. package/dist/packages/badge/react.d.ts +1 -1
  91. package/dist/packages/badge/react.js +4 -4
  92. package/dist/packages/badge/styles.js +1 -1
  93. package/dist/packages/box/box.d.ts +1 -1
  94. package/dist/packages/box/box.hydration.test.d.ts +1 -1
  95. package/dist/packages/box/box.hydration.test.js +14 -14
  96. package/dist/packages/box/box.js +283 -283
  97. package/dist/packages/box/box.js.map +2 -2
  98. package/dist/packages/box/box.react.stories.d.ts +3 -3
  99. package/dist/packages/box/box.react.stories.js +8 -8
  100. package/dist/packages/box/box.stories.d.ts +3 -3
  101. package/dist/packages/box/box.stories.js +25 -19
  102. package/dist/packages/box/box.test.d.ts +1 -1
  103. package/dist/packages/box/box.test.js +6 -6
  104. package/dist/packages/box/react.d.ts +1 -1
  105. package/dist/packages/box/react.js +4 -4
  106. package/dist/packages/box/slot.test.d.ts +1 -1
  107. package/dist/packages/box/slot.test.js +6 -6
  108. package/dist/packages/box/styles.js +1 -1
  109. package/dist/packages/breadcrumbs/breadcrumbs.d.ts +1 -1
  110. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.d.ts +1 -1
  111. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.js +55 -49
  112. package/dist/packages/breadcrumbs/breadcrumbs.js +284 -278
  113. package/dist/packages/breadcrumbs/breadcrumbs.js.map +2 -2
  114. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.d.ts +3 -3
  115. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.js +6 -6
  116. package/dist/packages/breadcrumbs/breadcrumbs.stories.d.ts +3 -3
  117. package/dist/packages/breadcrumbs/breadcrumbs.stories.js +27 -26
  118. package/dist/packages/breadcrumbs/breadcrumbs.test.d.ts +1 -1
  119. package/dist/packages/breadcrumbs/breadcrumbs.test.js +19 -17
  120. package/dist/packages/breadcrumbs/react.d.ts +1 -1
  121. package/dist/packages/breadcrumbs/react.js +4 -4
  122. package/dist/packages/breadcrumbs/styles.js +1 -1
  123. package/dist/packages/button/button.d.ts +5 -5
  124. package/dist/packages/button/button.hydration.test.d.ts +1 -1
  125. package/dist/packages/button/button.hydration.test.js +19 -19
  126. package/dist/packages/button/button.js +741 -715
  127. package/dist/packages/button/button.js.map +2 -2
  128. package/dist/packages/button/button.react.stories.d.ts +3 -3
  129. package/dist/packages/button/button.react.stories.js +30 -30
  130. package/dist/packages/button/button.react.test.js +13 -13
  131. package/dist/packages/button/button.stories.d.ts +4 -4
  132. package/dist/packages/button/button.stories.js +276 -167
  133. package/dist/packages/button/button.test.d.ts +1 -1
  134. package/dist/packages/button/button.test.js +36 -34
  135. package/dist/packages/button/react.d.ts +2 -2
  136. package/dist/packages/button/react.js +7 -7
  137. package/dist/packages/button/styles.js +373 -347
  138. package/dist/packages/card/card.d.ts +1 -1
  139. package/dist/packages/card/card.hydration.test.d.ts +1 -1
  140. package/dist/packages/card/card.hydration.test.js +14 -14
  141. package/dist/packages/card/card.js +305 -290
  142. package/dist/packages/card/card.js.map +2 -2
  143. package/dist/packages/card/card.react.stories.d.ts +3 -3
  144. package/dist/packages/card/card.react.stories.js +11 -11
  145. package/dist/packages/card/card.stories.d.ts +3 -3
  146. package/dist/packages/card/card.stories.js +36 -24
  147. package/dist/packages/card/card.test.d.ts +1 -1
  148. package/dist/packages/card/card.test.js +6 -6
  149. package/dist/packages/card/react.d.ts +1 -1
  150. package/dist/packages/card/react.js +4 -4
  151. package/dist/packages/card/styles.js +1 -1
  152. package/dist/packages/checkbox/checkbox.a11y.test.d.ts +1 -1
  153. package/dist/packages/checkbox/checkbox.a11y.test.js +47 -33
  154. package/dist/packages/checkbox/checkbox.d.ts +2 -2
  155. package/dist/packages/checkbox/checkbox.hydration.test.d.ts +1 -1
  156. package/dist/packages/checkbox/checkbox.hydration.test.js +21 -21
  157. package/dist/packages/checkbox/checkbox.js +475 -424
  158. package/dist/packages/checkbox/checkbox.js.map +2 -2
  159. package/dist/packages/checkbox/checkbox.react.stories.d.ts +2 -2
  160. package/dist/packages/checkbox/checkbox.react.stories.js +3 -3
  161. package/dist/packages/checkbox/checkbox.stories.d.ts +4 -4
  162. package/dist/packages/checkbox/checkbox.stories.js +99 -91
  163. package/dist/packages/checkbox/checkbox.test.d.ts +1 -1
  164. package/dist/packages/checkbox/checkbox.test.js +64 -64
  165. package/dist/packages/checkbox/react.d.ts +1 -1
  166. package/dist/packages/checkbox/react.js +6 -6
  167. package/dist/packages/checkbox/styles.js +183 -132
  168. package/dist/packages/checkbox-group/checkbox-group.a11y.test.d.ts +2 -2
  169. package/dist/packages/checkbox-group/checkbox-group.a11y.test.js +83 -73
  170. package/dist/packages/checkbox-group/checkbox-group.d.ts +16 -2
  171. package/dist/packages/checkbox-group/checkbox-group.hydration.test.d.ts +2 -2
  172. package/dist/packages/checkbox-group/checkbox-group.hydration.test.js +36 -19
  173. package/dist/packages/checkbox-group/checkbox-group.js +60 -55
  174. package/dist/packages/checkbox-group/checkbox-group.js.map +2 -2
  175. package/dist/packages/checkbox-group/checkbox-group.react.test.js +4 -4
  176. package/dist/packages/checkbox-group/checkbox-group.test.d.ts +2 -2
  177. package/dist/packages/checkbox-group/checkbox-group.test.js +96 -90
  178. package/dist/packages/checkbox-group/react.d.ts +2 -2
  179. package/dist/packages/checkbox-group/react.js +6 -6
  180. package/dist/packages/combobox/combobox.a11y.test.d.ts +2 -2
  181. package/dist/packages/combobox/combobox.a11y.test.js +72 -49
  182. package/dist/packages/combobox/combobox.d.ts +2 -2
  183. package/dist/packages/combobox/combobox.hydration.test.d.ts +1 -1
  184. package/dist/packages/combobox/combobox.hydration.test.js +45 -45
  185. package/dist/packages/combobox/combobox.js +332 -332
  186. package/dist/packages/combobox/combobox.js.map +3 -3
  187. package/dist/packages/combobox/combobox.react.stories.d.ts +3 -3
  188. package/dist/packages/combobox/combobox.react.stories.js +29 -29
  189. package/dist/packages/combobox/combobox.react.test.js +8 -8
  190. package/dist/packages/combobox/combobox.stories.d.ts +4 -4
  191. package/dist/packages/combobox/combobox.stories.js +100 -94
  192. package/dist/packages/combobox/combobox.test.d.ts +2 -2
  193. package/dist/packages/combobox/combobox.test.js +148 -133
  194. package/dist/packages/combobox/react.d.ts +2 -2
  195. package/dist/packages/combobox/react.js +14 -14
  196. package/dist/packages/combobox/styles.js +1 -1
  197. package/dist/packages/datepicker/DatePicker.test.d.ts +2 -2
  198. package/dist/packages/datepicker/DatePicker.test.js +46 -41
  199. package/dist/packages/datepicker/datepicker.d.ts +3 -3
  200. package/dist/packages/datepicker/datepicker.hydration.test.d.ts +1 -1
  201. package/dist/packages/datepicker/datepicker.hydration.test.js +21 -21
  202. package/dist/packages/datepicker/datepicker.js +665 -625
  203. package/dist/packages/datepicker/datepicker.js.map +3 -3
  204. package/dist/packages/datepicker/datepicker.react.stories.d.ts +3 -3
  205. package/dist/packages/datepicker/datepicker.react.stories.js +9 -9
  206. package/dist/packages/datepicker/datepicker.react.test.js +6 -6
  207. package/dist/packages/datepicker/datepicker.stories.d.ts +4 -4
  208. package/dist/packages/datepicker/datepicker.stories.js +32 -32
  209. package/dist/packages/datepicker/datepicker.test.d.ts +2 -2
  210. package/dist/packages/datepicker/datepicker.test.js +77 -79
  211. package/dist/packages/datepicker/react.d.ts +2 -2
  212. package/dist/packages/datepicker/react.js +16 -14
  213. package/dist/packages/datepicker/styles/w-datepicker-calendar.styles.js +13 -12
  214. package/dist/packages/datepicker/styles/w-datepicker-day.styles.js +58 -55
  215. package/dist/packages/datepicker/styles/w-datepicker-month.styles.js +60 -57
  216. package/dist/packages/datepicker/styles/w-datepicker.styles.js +87 -87
  217. package/dist/packages/datepicker/utils.d.ts +1 -1
  218. package/dist/packages/datepicker/utils.js +25 -19
  219. package/dist/packages/datepicker/utils.test.js +20 -20
  220. package/dist/packages/expandable/expandable.d.ts +4 -4
  221. package/dist/packages/expandable/expandable.hydration.test.d.ts +1 -1
  222. package/dist/packages/expandable/expandable.hydration.test.js +21 -21
  223. package/dist/packages/expandable/expandable.js +353 -326
  224. package/dist/packages/expandable/expandable.js.map +2 -2
  225. package/dist/packages/expandable/expandable.react.stories.d.ts +3 -3
  226. package/dist/packages/expandable/expandable.react.stories.js +7 -7
  227. package/dist/packages/expandable/expandable.react.test.js +15 -7
  228. package/dist/packages/expandable/expandable.stories.d.ts +5 -5
  229. package/dist/packages/expandable/expandable.stories.js +51 -45
  230. package/dist/packages/expandable/expandable.test.d.ts +1 -1
  231. package/dist/packages/expandable/expandable.test.js +19 -17
  232. package/dist/packages/expandable/react.d.ts +2 -2
  233. package/dist/packages/expandable/react.js +9 -9
  234. package/dist/packages/expandable/styles.js +1 -1
  235. package/dist/packages/global.js +2 -2
  236. package/dist/packages/i18n.d.ts +1 -1
  237. package/dist/packages/i18n.js +37 -29
  238. package/dist/packages/icon/icon.d.ts +3 -3
  239. package/dist/packages/icon/icon.hydration.test.d.ts +1 -1
  240. package/dist/packages/icon/icon.hydration.test.js +25 -25
  241. package/dist/packages/icon/icon.js +30 -25
  242. package/dist/packages/icon/icon.js.map +2 -2
  243. package/dist/packages/icon/icon.react.stories.d.ts +1 -1
  244. package/dist/packages/icon/icon.react.stories.js +283 -284
  245. package/dist/packages/icon/icon.stories.d.ts +3 -3
  246. package/dist/packages/icon/icon.stories.js +299 -298
  247. package/dist/packages/icon/icon.test.d.ts +1 -1
  248. package/dist/packages/icon/icon.test.js +36 -28
  249. package/dist/packages/icon/react.d.ts +1 -1
  250. package/dist/packages/icon/react.js +4 -4
  251. package/dist/packages/icon/style.js +24 -25
  252. package/dist/packages/interaction-type-detection.js +9 -9
  253. package/dist/packages/link/link.d.ts +2 -2
  254. package/dist/packages/link/link.hydration.test.d.ts +1 -1
  255. package/dist/packages/link/link.hydration.test.js +27 -27
  256. package/dist/packages/link/link.js +709 -683
  257. package/dist/packages/link/link.js.map +2 -2
  258. package/dist/packages/link/link.react.stories.d.ts +3 -3
  259. package/dist/packages/link/link.react.stories.js +42 -42
  260. package/dist/packages/link/link.react.test.js +5 -3
  261. package/dist/packages/link/link.stories.d.ts +3 -3
  262. package/dist/packages/link/link.stories.js +51 -51
  263. package/dist/packages/link/link.test.d.ts +1 -1
  264. package/dist/packages/link/link.test.js +11 -7
  265. package/dist/packages/link/react.d.ts +2 -2
  266. package/dist/packages/link/react.js +6 -6
  267. package/dist/packages/link/styles.js +57 -57
  268. package/dist/packages/modal/index.d.ts +7 -7
  269. package/dist/packages/modal/index.js +7 -7
  270. package/dist/packages/modal/modal.d.ts +1 -1
  271. package/dist/packages/modal/modal.hydration.test.d.ts +1 -1
  272. package/dist/packages/modal/modal.hydration.test.js +12 -12
  273. package/dist/packages/modal/modal.js +404 -404
  274. package/dist/packages/modal/modal.js.map +2 -2
  275. package/dist/packages/modal/modal.react.stories.d.ts +3 -3
  276. package/dist/packages/modal/modal.react.stories.js +7 -6
  277. package/dist/packages/modal/modal.react.test.js +5 -5
  278. package/dist/packages/modal/modal.stories.d.ts +6 -6
  279. package/dist/packages/modal/modal.stories.js +253 -238
  280. package/dist/packages/modal/react.d.ts +4 -4
  281. package/dist/packages/modal/react.js +13 -13
  282. package/dist/packages/modal/util.js +2 -2
  283. package/dist/packages/modal-footer/modal-footer.d.ts +1 -1
  284. package/dist/packages/modal-footer/modal-footer.js +291 -291
  285. package/dist/packages/modal-footer/modal-footer.js.map +2 -2
  286. package/dist/packages/modal-footer/react.d.ts +1 -1
  287. package/dist/packages/modal-footer/react.js +4 -4
  288. package/dist/packages/modal-header/modal-header.d.ts +2 -2
  289. package/dist/packages/modal-header/modal-header.js +437 -416
  290. package/dist/packages/modal-header/modal-header.js.map +2 -2
  291. package/dist/packages/modal-header/modal-header.react.test.js +5 -3
  292. package/dist/packages/modal-header/react.d.ts +2 -2
  293. package/dist/packages/modal-header/react.js +8 -8
  294. package/dist/packages/page-indicator/page-indicator.d.ts +1 -1
  295. package/dist/packages/page-indicator/page-indicator.hydration.test.d.ts +1 -1
  296. package/dist/packages/page-indicator/page-indicator.hydration.test.js +22 -22
  297. package/dist/packages/page-indicator/page-indicator.js +26 -26
  298. package/dist/packages/page-indicator/page-indicator.js.map +2 -2
  299. package/dist/packages/page-indicator/page-indicator.react.stories.d.ts +3 -3
  300. package/dist/packages/page-indicator/page-indicator.react.stories.js +11 -11
  301. package/dist/packages/page-indicator/page-indicator.react.test.js +5 -5
  302. package/dist/packages/page-indicator/page-indicator.stories.d.ts +3 -3
  303. package/dist/packages/page-indicator/page-indicator.stories.js +56 -27
  304. package/dist/packages/page-indicator/page-indicator.test.d.ts +1 -1
  305. package/dist/packages/page-indicator/page-indicator.test.js +110 -70
  306. package/dist/packages/page-indicator/react.d.ts +2 -2
  307. package/dist/packages/page-indicator/react.js +7 -7
  308. package/dist/packages/page-indicator/style.js +21 -21
  309. package/dist/packages/pagination/pagination.a11y.test.d.ts +1 -1
  310. package/dist/packages/pagination/pagination.a11y.test.js +59 -25
  311. package/dist/packages/pagination/pagination.d.ts +3 -3
  312. package/dist/packages/pagination/pagination.hydration.test.d.ts +1 -1
  313. package/dist/packages/pagination/pagination.hydration.test.js +19 -19
  314. package/dist/packages/pagination/pagination.js +380 -349
  315. package/dist/packages/pagination/pagination.js.map +2 -2
  316. package/dist/packages/pagination/pagination.react.stories.d.ts +5 -5
  317. package/dist/packages/pagination/pagination.react.stories.js +8 -8
  318. package/dist/packages/pagination/pagination.react.test.js +6 -6
  319. package/dist/packages/pagination/pagination.stories.d.ts +3 -3
  320. package/dist/packages/pagination/pagination.stories.js +18 -18
  321. package/dist/packages/pagination/pagination.test.d.ts +1 -1
  322. package/dist/packages/pagination/pagination.test.js +146 -69
  323. package/dist/packages/pagination/react.d.ts +3 -3
  324. package/dist/packages/pagination/react.js +12 -10
  325. package/dist/packages/pagination/styles.js +1 -1
  326. package/dist/packages/pill/pill.d.ts +2 -2
  327. package/dist/packages/pill/pill.hydration.test.d.ts +1 -1
  328. package/dist/packages/pill/pill.hydration.test.js +14 -14
  329. package/dist/packages/pill/pill.js +331 -308
  330. package/dist/packages/pill/pill.js.map +2 -2
  331. package/dist/packages/pill/pill.react.stories.d.ts +3 -3
  332. package/dist/packages/pill/pill.react.stories.js +3 -3
  333. package/dist/packages/pill/pill.react.test.js +8 -8
  334. package/dist/packages/pill/pill.stories.d.ts +3 -3
  335. package/dist/packages/pill/pill.stories.js +8 -8
  336. package/dist/packages/pill/pill.test.d.ts +1 -1
  337. package/dist/packages/pill/pill.test.js +17 -15
  338. package/dist/packages/pill/react.d.ts +2 -2
  339. package/dist/packages/pill/react.js +18 -14
  340. package/dist/packages/pill/styles.js +1 -1
  341. package/dist/packages/radio/base-element.d.ts +3 -3
  342. package/dist/packages/radio/base-element.js +3 -3
  343. package/dist/packages/radio/custom-error-validator.d.ts +1 -1
  344. package/dist/packages/radio/custom-error-validator.js +3 -3
  345. package/dist/packages/radio/form-associated-element.d.ts +8 -8
  346. package/dist/packages/radio/form-associated-element.js +27 -26
  347. package/dist/packages/radio/host-styles.js +9 -9
  348. package/dist/packages/radio/invalid.d.ts +1 -1
  349. package/dist/packages/radio/invalid.js +1 -1
  350. package/dist/packages/radio/radio-styles.js +199 -160
  351. package/dist/packages/radio/radio.a11y.test.d.ts +2 -2
  352. package/dist/packages/radio/radio.a11y.test.js +60 -58
  353. package/dist/packages/radio/radio.d.ts +3 -3
  354. package/dist/packages/radio/radio.hydration.test.d.ts +1 -1
  355. package/dist/packages/radio/radio.hydration.test.js +23 -14
  356. package/dist/packages/radio/radio.js +485 -446
  357. package/dist/packages/radio/radio.js.map +3 -3
  358. package/dist/packages/radio/radio.react.stories.d.ts +2 -2
  359. package/dist/packages/radio/radio.react.stories.js +3 -3
  360. package/dist/packages/radio/radio.stories.d.ts +4 -4
  361. package/dist/packages/radio/radio.stories.js +152 -136
  362. package/dist/packages/radio/radio.test.d.ts +1 -1
  363. package/dist/packages/radio/radio.test.js +74 -73
  364. package/dist/packages/radio/react.d.ts +1 -1
  365. package/dist/packages/radio/react.js +4 -4
  366. package/dist/packages/radio/required-validator.d.ts +1 -1
  367. package/dist/packages/radio/required-validator.js +12 -7
  368. package/dist/packages/radio/slot.d.ts +1 -1
  369. package/dist/packages/radio/slot.js +11 -8
  370. package/dist/packages/radio/watch.d.ts +1 -1
  371. package/dist/packages/radio/watch.js +3 -1
  372. package/dist/packages/radio-group/radio-group-styles.js +121 -88
  373. package/dist/packages/radio-group/radio-group.a11y.test.d.ts +2 -2
  374. package/dist/packages/radio-group/radio-group.a11y.test.js +81 -79
  375. package/dist/packages/radio-group/radio-group.d.ts +14 -5
  376. package/dist/packages/radio-group/radio-group.hydration.test.d.ts +2 -2
  377. package/dist/packages/radio-group/radio-group.hydration.test.js +29 -18
  378. package/dist/packages/radio-group/radio-group.js +648 -560
  379. package/dist/packages/radio-group/radio-group.js.map +3 -3
  380. package/dist/packages/radio-group/radio-group.react.test.js +4 -4
  381. package/dist/packages/radio-group/radio-group.test.d.ts +2 -2
  382. package/dist/packages/radio-group/radio-group.test.js +234 -229
  383. package/dist/packages/radio-group/react.d.ts +2 -2
  384. package/dist/packages/radio-group/react.js +10 -10
  385. package/dist/packages/select/react.d.ts +2 -2
  386. package/dist/packages/select/react.js +11 -11
  387. package/dist/packages/select/select.a11y.test.d.ts +1 -1
  388. package/dist/packages/select/select.a11y.test.js +98 -91
  389. package/dist/packages/select/select.d.ts +4 -4
  390. package/dist/packages/select/select.hydration.test.d.ts +1 -1
  391. package/dist/packages/select/select.hydration.test.js +16 -16
  392. package/dist/packages/select/select.js +348 -329
  393. package/dist/packages/select/select.js.map +2 -2
  394. package/dist/packages/select/select.react.stories.d.ts +3 -3
  395. package/dist/packages/select/select.react.stories.js +7 -7
  396. package/dist/packages/select/select.react.test.js +6 -6
  397. package/dist/packages/select/select.stories.d.ts +3 -3
  398. package/dist/packages/select/select.stories.js +51 -48
  399. package/dist/packages/select/select.test.d.ts +1 -1
  400. package/dist/packages/select/select.test.js +175 -178
  401. package/dist/packages/select/styles.js +1 -1
  402. package/dist/packages/slider/Slider.d.ts +1 -1
  403. package/dist/packages/slider/Slider.js +4 -4
  404. package/dist/packages/slider/index.d.ts +2 -2
  405. package/dist/packages/slider/index.js +2 -2
  406. package/dist/packages/slider/react.d.ts +3 -3
  407. package/dist/packages/slider/react.js +9 -9
  408. package/dist/packages/slider/slider.d.ts +3 -3
  409. package/dist/packages/slider/slider.hydration.test.d.ts +1 -1
  410. package/dist/packages/slider/slider.hydration.test.js +39 -20
  411. package/dist/packages/slider/slider.js +480 -462
  412. package/dist/packages/slider/slider.js.map +2 -2
  413. package/dist/packages/slider/slider.react.stories.d.ts +3 -3
  414. package/dist/packages/slider/slider.react.stories.js +31 -34
  415. package/dist/packages/slider/slider.react.test.js +6 -6
  416. package/dist/packages/slider/slider.stories.d.ts +7 -7
  417. package/dist/packages/slider/slider.stories.js +332 -340
  418. package/dist/packages/slider/slider.test.d.ts +5 -5
  419. package/dist/packages/slider/slider.test.js +367 -334
  420. package/dist/packages/slider/styles/w-slider.styles.js +166 -148
  421. package/dist/packages/slider/styles.js +1 -1
  422. package/dist/packages/slider-thumb/SliderThumb.d.ts +1 -1
  423. package/dist/packages/slider-thumb/SliderThumb.js +4 -4
  424. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.d.ts +1 -1
  425. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.js +1 -1
  426. package/dist/packages/slider-thumb/react.d.ts +3 -3
  427. package/dist/packages/slider-thumb/react.js +11 -9
  428. package/dist/packages/slider-thumb/slider-thumb.d.ts +3 -3
  429. package/dist/packages/slider-thumb/slider-thumb.hydration.test.d.ts +1 -1
  430. package/dist/packages/slider-thumb/slider-thumb.hydration.test.js +26 -17
  431. package/dist/packages/slider-thumb/slider-thumb.js +545 -548
  432. package/dist/packages/slider-thumb/slider-thumb.js.map +3 -3
  433. package/dist/packages/slider-thumb/slider-thumb.react.test.js +9 -5
  434. package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.js +189 -188
  435. package/dist/packages/slider-thumb/styles.js +1 -1
  436. package/dist/packages/snackbar/react.d.ts +1 -1
  437. package/dist/packages/snackbar/react.js +4 -4
  438. package/dist/packages/snackbar/snackbar.d.ts +3 -3
  439. package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -1
  440. package/dist/packages/snackbar/snackbar.hydration.test.js +6 -6
  441. package/dist/packages/snackbar/snackbar.js +487 -468
  442. package/dist/packages/snackbar/snackbar.js.map +2 -2
  443. package/dist/packages/snackbar/snackbar.react.stories.js +3 -3
  444. package/dist/packages/snackbar/snackbar.stories.d.ts +11 -11
  445. package/dist/packages/snackbar/snackbar.stories.js +253 -181
  446. package/dist/packages/snackbar/snackbar.test.d.ts +4 -4
  447. package/dist/packages/snackbar/snackbar.test.js +11 -11
  448. package/dist/packages/snackbar/styles.js +29 -29
  449. package/dist/packages/snackbar-item/react.d.ts +2 -2
  450. package/dist/packages/snackbar-item/react.js +6 -5
  451. package/dist/packages/snackbar-item/snackbar-item.d.ts +4 -4
  452. package/dist/packages/snackbar-item/snackbar-item.js +454 -435
  453. package/dist/packages/snackbar-item/snackbar-item.js.map +2 -2
  454. package/dist/packages/snackbar-item/snackbar-item.react.test.js +4 -4
  455. package/dist/packages/snackbar-item/styles.js +130 -108
  456. package/dist/packages/step/react.d.ts +1 -1
  457. package/dist/packages/step/react.js +4 -4
  458. package/dist/packages/step/step.d.ts +2 -2
  459. package/dist/packages/step/step.hydration.test.d.ts +1 -1
  460. package/dist/packages/step/step.hydration.test.js +10 -10
  461. package/dist/packages/step/step.js +330 -308
  462. package/dist/packages/step/step.js.map +2 -2
  463. package/dist/packages/step-indicator/index.d.ts +2 -2
  464. package/dist/packages/step-indicator/index.js +2 -2
  465. package/dist/packages/step-indicator/react.d.ts +2 -2
  466. package/dist/packages/step-indicator/react.js +5 -5
  467. package/dist/packages/step-indicator/step-indicator.a11y.test.d.ts +2 -2
  468. package/dist/packages/step-indicator/step-indicator.a11y.test.js +48 -46
  469. package/dist/packages/step-indicator/step-indicator.d.ts +1 -1
  470. package/dist/packages/step-indicator/step-indicator.hydration.test.d.ts +1 -1
  471. package/dist/packages/step-indicator/step-indicator.hydration.test.js +10 -10
  472. package/dist/packages/step-indicator/step-indicator.js +280 -276
  473. package/dist/packages/step-indicator/step-indicator.js.map +2 -2
  474. package/dist/packages/step-indicator/stepindicator.react.stories.d.ts +2 -2
  475. package/dist/packages/step-indicator/stepindicator.react.stories.js +3 -3
  476. package/dist/packages/step-indicator/stepindicator.stories.d.ts +3 -3
  477. package/dist/packages/step-indicator/stepindicator.stories.js +129 -129
  478. package/dist/packages/step-indicator/styles.js +1 -1
  479. package/dist/packages/styles.js +274 -274
  480. package/dist/packages/switch/react.d.ts +1 -1
  481. package/dist/packages/switch/react.js +6 -6
  482. package/dist/packages/switch/styles.js +1 -1
  483. package/dist/packages/switch/switch.a11y.test.d.ts +1 -1
  484. package/dist/packages/switch/switch.a11y.test.js +46 -38
  485. package/dist/packages/switch/switch.d.ts +1 -1
  486. package/dist/packages/switch/switch.hydration.test.d.ts +1 -1
  487. package/dist/packages/switch/switch.hydration.test.js +23 -23
  488. package/dist/packages/switch/switch.js +299 -299
  489. package/dist/packages/switch/switch.js.map +2 -2
  490. package/dist/packages/switch/switch.react.stories.d.ts +2 -2
  491. package/dist/packages/switch/switch.react.stories.js +2 -2
  492. package/dist/packages/switch/switch.stories.d.ts +2 -2
  493. package/dist/packages/switch/switch.stories.js +42 -37
  494. package/dist/packages/switch/switch.test.d.ts +1 -1
  495. package/dist/packages/switch/switch.test.js +30 -35
  496. package/dist/packages/tab/react.d.ts +6 -4
  497. package/dist/packages/tab/react.js +11 -10
  498. package/dist/packages/tab/styles.d.ts +1 -0
  499. package/dist/packages/tab/styles.js +2 -0
  500. package/dist/packages/tab/tab.d.ts +5 -5
  501. package/dist/packages/tab/tab.hydration.test.d.ts +1 -1
  502. package/dist/packages/tab/tab.hydration.test.js +18 -12
  503. package/dist/packages/tab/tab.js +305 -304
  504. package/dist/packages/tab/tab.js.map +3 -3
  505. package/dist/packages/tab/tab.react.test.js +5 -3
  506. package/dist/packages/tab-panel/react.d.ts +3 -2
  507. package/dist/packages/tab-panel/react.js +11 -5
  508. package/dist/packages/tab-panel/tab-panel.d.ts +3 -3
  509. package/dist/packages/tab-panel/tab-panel.hydration.test.d.ts +1 -1
  510. package/dist/packages/tab-panel/tab-panel.hydration.test.js +13 -10
  511. package/dist/packages/tab-panel/tab-panel.js +289 -287
  512. package/dist/packages/tab-panel/tab-panel.js.map +2 -2
  513. package/dist/packages/tabs/index.d.ts +4 -4
  514. package/dist/packages/tabs/index.js +3 -3
  515. package/dist/packages/tabs/react.d.ts +27 -8
  516. package/dist/packages/tabs/react.js +30 -9
  517. package/dist/packages/tabs/styles.js +1 -1
  518. package/dist/packages/tabs/tabs.a11y.test.d.ts +3 -3
  519. package/dist/packages/tabs/tabs.a11y.test.js +188 -169
  520. package/dist/packages/tabs/tabs.d.ts +3 -3
  521. package/dist/packages/tabs/tabs.hydration.test.d.ts +3 -1
  522. package/dist/packages/tabs/tabs.hydration.test.js +22 -8
  523. package/dist/packages/tabs/tabs.js +289 -282
  524. package/dist/packages/tabs/tabs.js.map +2 -2
  525. package/dist/packages/tabs/tabs.react.stories.d.ts +12 -10
  526. package/dist/packages/tabs/tabs.react.stories.js +28 -28
  527. package/dist/packages/tabs/tabs.stories.d.ts +4 -4
  528. package/dist/packages/tabs/tabs.stories.js +101 -95
  529. package/dist/packages/tabs/tabs.test.d.ts +3 -3
  530. package/dist/packages/tabs/tabs.test.js +136 -122
  531. package/dist/packages/textarea/react.d.ts +2 -2
  532. package/dist/packages/textarea/react.js +17 -17
  533. package/dist/packages/textarea/styles.js +1 -1
  534. package/dist/packages/textarea/textarea.a11y.test.d.ts +1 -1
  535. package/dist/packages/textarea/textarea.a11y.test.js +89 -57
  536. package/dist/packages/textarea/textarea.d.ts +1 -1
  537. package/dist/packages/textarea/textarea.hydration.test.d.ts +1 -1
  538. package/dist/packages/textarea/textarea.hydration.test.js +19 -19
  539. package/dist/packages/textarea/textarea.js +300 -298
  540. package/dist/packages/textarea/textarea.js.map +2 -2
  541. package/dist/packages/textarea/textarea.react.stories.d.ts +3 -3
  542. package/dist/packages/textarea/textarea.react.stories.js +13 -13
  543. package/dist/packages/textarea/textarea.react.test.js +7 -7
  544. package/dist/packages/textarea/textarea.stories.d.ts +3 -3
  545. package/dist/packages/textarea/textarea.stories.js +44 -42
  546. package/dist/packages/textarea/textarea.test.d.ts +1 -1
  547. package/dist/packages/textarea/textarea.test.js +124 -88
  548. package/dist/packages/textfield/react.d.ts +2 -2
  549. package/dist/packages/textfield/react.js +17 -17
  550. package/dist/packages/textfield/styles/w-textfield.styles.js +60 -58
  551. package/dist/packages/textfield/styles.js +1 -1
  552. package/dist/packages/textfield/textfield.d.ts +3 -3
  553. package/dist/packages/textfield/textfield.hydration.test.d.ts +1 -1
  554. package/dist/packages/textfield/textfield.hydration.test.js +19 -19
  555. package/dist/packages/textfield/textfield.js +376 -368
  556. package/dist/packages/textfield/textfield.js.map +3 -3
  557. package/dist/packages/textfield/textfield.react.stories.d.ts +3 -3
  558. package/dist/packages/textfield/textfield.react.stories.js +31 -31
  559. package/dist/packages/textfield/textfield.react.test.js +7 -7
  560. package/dist/packages/textfield/textfield.stories.d.ts +4 -4
  561. package/dist/packages/textfield/textfield.stories.js +107 -89
  562. package/dist/packages/textfield/textfield.test.d.ts +2 -2
  563. package/dist/packages/textfield/textfield.test.js +103 -71
  564. package/dist/packages/toast/api.d.ts +1 -1
  565. package/dist/packages/toast/api.js +3 -3
  566. package/dist/packages/toast/index.d.ts +5 -5
  567. package/dist/packages/toast/index.js +5 -5
  568. package/dist/packages/toast/toast.d.ts +4 -4
  569. package/dist/packages/toast/toast.js +343 -314
  570. package/dist/packages/toast/toast.js.map +2 -2
  571. package/dist/packages/toast/toast.stories.d.ts +4 -4
  572. package/dist/packages/toast/toast.stories.js +37 -16
  573. package/dist/packages/toast/toast.test.d.ts +1 -1
  574. package/dist/packages/toast/toast.test.js +48 -31
  575. package/dist/packages/toast/types.d.ts +1 -1
  576. package/dist/packages/toast-container/styles.js +1 -1
  577. package/dist/packages/toast-container/toast-container.d.ts +2 -2
  578. package/dist/packages/toast-container/toast-container.js +291 -290
  579. package/dist/packages/toast-container/toast-container.js.map +2 -2
  580. package/dist/packages/utils/element-collapse.js +38 -28
  581. package/dist/packages/utils/expand-transition.d.ts +1 -1
  582. package/dist/packages/utils/expand-transition.js +12 -10
  583. package/dist/packages/utils/unstyled-heading.d.ts +1 -1
  584. package/dist/packages/utils/unstyled-heading.js +4 -4
  585. package/dist/packages/utils/window-exists.js +1 -1
  586. package/dist/packages/utils.js +2 -2
  587. package/dist/setup-tests.d.ts +3 -3
  588. package/dist/setup-tests.js +16 -13
  589. package/dist/tests/react-hydration.js +29 -30
  590. package/dist/tests/react-ssr-attributes.d.ts +1 -1
  591. package/dist/tests/react-ssr-attributes.js +4 -4
  592. package/dist/web-types.json +25 -22
  593. package/eik/index.js +9 -9
  594. package/package.json +11 -16
@@ -2,7 +2,18 @@
2
2
 
3
3
  ## Description
4
4
 
5
- Use `w-checkbox-group` when several checkboxes share one label, help text, optional indicator, or required validation.
5
+ Checkboxes allow users to select multiple options from a list of choices.
6
+
7
+ Use with `w-checkbox`.
8
+
9
+ ## Architecture Note
10
+ This component uses a <div> wrapper instead of the more semantic <fieldset> element.
11
+ Note that w-radio-group uses <fieldset>, which provides better accessibility and follows
12
+ HTML best practices. This inconsistency exists for historical reasons and may be addressed
13
+ in a future major version to align both on the more semantic approach.
14
+
15
+ TODO: Align w-checkbox-group to use <fieldset> in a future major version after assessing
16
+ backwards compatibility implications (CSS selectors, etc.).
6
17
 
7
18
  ## Usage
8
19
 
@@ -280,10 +291,18 @@ Avoid option labels that only make sense visually, such as "Yes" or "This one",
280
291
 
281
292
  ## Styling API
282
293
 
283
- This section documents the supported styling hooks for `<w-checkbox>`.
294
+ This section documents the supported styling hooks for `<w-checkbox>` and `<w-checkbox-group>`.
284
295
 
285
296
  Use these hooks to customize appearance without relying on internal structure or selectors.
286
297
 
298
+ Before changing the default styles, remember that doing so can result in less consistent experiences for users across the product. Prefer defaults.
299
+
300
+ - Prefer **component tokens** for size, spacing, and state styling.
301
+ - Use **parts** only for small, local tweaks.
302
+ - Avoid relying on internal class names or selectors.
303
+
304
+ ## w-checkbox
305
+
287
306
  ### Parts
288
307
 
289
308
  The checkbox exposes a small set of parts that can be targeted for last‑mile layout or typography tweaks.
@@ -307,12 +326,12 @@ w-checkbox::part(control) {
307
326
  }
308
327
  ```
309
328
 
310
- Parts are intended as an **escape hatch**.
329
+ Parts are intended as an **escape hatch**.
311
330
  Prefer component tokens for anything state‑ or size‑related.
312
331
 
313
- ### Component tokens (`--w-c-checkbox-*`)
332
+ ### Component tokens
314
333
 
315
- Component tokens act as inputs to the checkbox styling.
334
+ Component tokens (`--w-c-checkbox-*`) act as inputs to the checkbox styling.
316
335
  They can be set directly on the component or inherited from a parent container.
317
336
 
318
337
  ```css
@@ -377,39 +396,33 @@ Defaults are defined internally; setting a token is always optional.
377
396
 
378
397
  Transitions are automatically disabled when `prefers-reduced-motion: reduce` is active.
379
398
 
380
- ### Examples
381
399
 
382
- #### Compact checkbox
400
+ ## w-checkbox-group
383
401
 
384
- ```css
385
- .filters w-checkbox {
386
- --w-c-checkbox-gap: 4px;
387
- --w-c-checkbox-control-size: 1.6rem;
388
- }
389
- ```
402
+ The checkbox-group component uses direct CSS styling rather than component tokens. Customization is limited to ensure consistent form control patterns across the design system.
390
403
 
391
- #### Rounded checkbox
404
+ ### Styling
392
405
 
393
- ```css
394
- w-checkbox {
395
- --w-c-checkbox-radius: 9999px;
396
- }
397
- ```
406
+ The checkbox-group provides minimal styling hooks:
398
407
 
399
- #### Contextual color override (advanced)
408
+ | Element | Current styling | Note |
409
+ |---|---|---|
410
+ | Label | `font-size: var(--w-font-size-s)`<br>`line-height: var(--w-line-height-s)`<br>`font-weight: 700`<br>`color: var(--w-s-color-text)` | Uses semantic tokens |
411
+ | Optional indicator | `font-weight: 400`<br>`color: var(--w-s-color-text-subtle)` | Matches form control pattern |
412
+ | Help text | `font-size: var(--w-font-size-xs)`<br>`line-height: var(--w-line-height-xs)`<br>`color: var(--w-s-color-text-subtle)` | Error state: `--w-s-color-text-negative` |
413
+ | Checkbox spacing | `gap: 16px` | Spacing between checkboxes |
414
+ | Wrapper spacing | `gap: 16px` | Spacing between label and group |
400
415
 
401
- ```css
402
- .danger-zone w-checkbox {
403
- --w-c-checkbox-border-color-checked: red;
404
- }
405
- ```
406
416
 
407
- ### Guidelines
417
+ ## Implementation notes
418
+
419
+ ### Architecture note
420
+
421
+ This component uses a `<div>` wrapper instead of the more semantic `<fieldset>` element. Note that `w-radio-group` uses `<fieldset>`, which provides better accessibility and follows HTML best practices. This inconsistency exists for historical reasons and may be addressed in a future major version to align both on the more semantic approach.
422
+
423
+ **Why this matters:** `<fieldset>` with `<legend>` provides automatic grouping semantics and better screen reader support. The current `<div>` + `role="group"` implementation works but requires manual ARIA wiring.
408
424
 
409
- - Prefer **component tokens** for size, spacing, and state styling
410
- - Use **parts** only for small, local tweaks
411
- - Avoid relying on internal class names or selectors
412
- - If multiple tokens are required to achieve a look, consider whether a new variant or design token is more appropriate
425
+ **TODO:** Consider aligning w-checkbox-group to use `<fieldset>` in a future major version after assessing backwards compatibility implications (CSS selectors, etc.).
413
426
 
414
427
  ## `<w-checkbox-group>` API
415
428
 
@@ -1,9 +1,17 @@
1
1
  ## Styling API
2
2
 
3
- This section documents the supported styling hooks for `<w-checkbox>`.
3
+ This section documents the supported styling hooks for `<w-checkbox>` and `<w-checkbox-group>`.
4
4
 
5
5
  Use these hooks to customize appearance without relying on internal structure or selectors.
6
6
 
7
+ Before changing the default styles, remember that doing so can result in less consistent experiences for users across the product. Prefer defaults.
8
+
9
+ - Prefer **component tokens** for size, spacing, and state styling.
10
+ - Use **parts** only for small, local tweaks.
11
+ - Avoid relying on internal class names or selectors.
12
+
13
+ ## w-checkbox
14
+
7
15
  ### Parts
8
16
 
9
17
  The checkbox exposes a small set of parts that can be targeted for last‑mile layout or typography tweaks.
@@ -27,12 +35,12 @@ w-checkbox::part(control) {
27
35
  }
28
36
  ```
29
37
 
30
- Parts are intended as an **escape hatch**.
38
+ Parts are intended as an **escape hatch**.
31
39
  Prefer component tokens for anything state‑ or size‑related.
32
40
 
33
- ### Component tokens (`--w-c-checkbox-*`)
41
+ ### Component tokens
34
42
 
35
- Component tokens act as inputs to the checkbox styling.
43
+ Component tokens (`--w-c-checkbox-*`) act as inputs to the checkbox styling.
36
44
  They can be set directly on the component or inherited from a parent container.
37
45
 
38
46
  ```css
@@ -97,36 +105,30 @@ Defaults are defined internally; setting a token is always optional.
97
105
 
98
106
  Transitions are automatically disabled when `prefers-reduced-motion: reduce` is active.
99
107
 
100
- ### Examples
101
108
 
102
- #### Compact checkbox
109
+ ## w-checkbox-group
103
110
 
104
- ```css
105
- .filters w-checkbox {
106
- --w-c-checkbox-gap: 4px;
107
- --w-c-checkbox-control-size: 1.6rem;
108
- }
109
- ```
111
+ The checkbox-group component uses direct CSS styling rather than component tokens. Customization is limited to ensure consistent form control patterns across the design system.
110
112
 
111
- #### Rounded checkbox
113
+ ### Styling
112
114
 
113
- ```css
114
- w-checkbox {
115
- --w-c-checkbox-radius: 9999px;
116
- }
117
- ```
115
+ The checkbox-group provides minimal styling hooks:
118
116
 
119
- #### Contextual color override (advanced)
117
+ | Element | Current styling | Note |
118
+ |---|---|---|
119
+ | Label | `font-size: var(--w-font-size-s)`<br>`line-height: var(--w-line-height-s)`<br>`font-weight: 700`<br>`color: var(--w-s-color-text)` | Uses semantic tokens |
120
+ | Optional indicator | `font-weight: 400`<br>`color: var(--w-s-color-text-subtle)` | Matches form control pattern |
121
+ | Help text | `font-size: var(--w-font-size-xs)`<br>`line-height: var(--w-line-height-xs)`<br>`color: var(--w-s-color-text-subtle)` | Error state: `--w-s-color-text-negative` |
122
+ | Checkbox spacing | `gap: 16px` | Spacing between checkboxes |
123
+ | Wrapper spacing | `gap: 16px` | Spacing between label and group |
120
124
 
121
- ```css
122
- .danger-zone w-checkbox {
123
- --w-c-checkbox-border-color-checked: red;
124
- }
125
- ```
126
125
 
127
- ### Guidelines
126
+ ## Implementation notes
127
+
128
+ ### Architecture note
129
+
130
+ This component uses a `<div>` wrapper instead of the more semantic `<fieldset>` element. Note that `w-radio-group` uses `<fieldset>`, which provides better accessibility and follows HTML best practices. This inconsistency exists for historical reasons and may be addressed in a future major version to align both on the more semantic approach.
131
+
132
+ **Why this matters:** `<fieldset>` with `<legend>` provides automatic grouping semantics and better screen reader support. The current `<div>` + `role="group"` implementation works but requires manual ARIA wiring.
128
133
 
129
- - Prefer **component tokens** for size, spacing, and state styling
130
- - Use **parts** only for small, local tweaks
131
- - Avoid relying on internal class names or selectors
132
- - If multiple tokens are required to achieve a look, consider whether a new variant or design token is more appropriate
134
+ **TODO:** Consider aligning w-checkbox-group to use `<fieldset>` in a future major version after assessing backwards compatibility implications (CSS selectors, etc.).
@@ -6,22 +6,22 @@ Unless otherwise noted all properties are HTML attributes (as opposed to JavaScr
6
6
 
7
7
  | Name | Type | Default | Summary |
8
8
  |-|-|-|-|
9
- | autocomplete | `string \| undefined` | `'off'` | The autocomplete attribute passed to the internal input. |
9
+ | autocomplete | `string \| undefined` | `"off"` | The autocomplete attribute passed to the internal input. |
10
10
  | disable-static-filtering | `boolean` | `false` | Whether built-in client-side filtering is disabled. |
11
11
  | disabled | `boolean` | `false` | Whether the combobox is disabled. |
12
- | help-text | `string \| undefined` | `''` | Help text displayed below the input. |
12
+ | help-text | `string \| undefined` | `""` | Help text displayed below the input. |
13
13
  | invalid | `boolean` | `false` | Whether the combobox is visually invalid. |
14
- | label | `string \| undefined` | `''` | The label displayed above the input. |
14
+ | label | `string \| undefined` | `""` | The label displayed above the input. |
15
15
  | match-text-segments | `boolean` | `false` | Whether matching text segments in options are highlighted. |
16
- | name | `string \| undefined` | `''` | The name submitted with the combobox value. |
16
+ | name | `string \| undefined` | `""` | The name submitted with the combobox value. |
17
17
  | open-on-focus | `boolean` | `false` | Whether the option list opens when the input receives focus. |
18
18
  | optional | `boolean` | `false` | Whether to show optional text next to the label. |
19
19
  | options | `ComboboxOption[]` | `[]` | The available options to select from. |
20
- | placeholder | `string \| undefined` | `''` | Placeholder text displayed when the input is empty. |
20
+ | placeholder | `string \| undefined` | `""` | Placeholder text displayed when the input is empty. |
21
21
  | required | `boolean` | `false` | Whether the combobox is required before form submission. |
22
22
  | resetFormControl (JS only) | `resetFormControl() => void` | `-` | - |
23
23
  | select-on-blur | `boolean` | `true` | Whether the active option is selected when the input loses focus. |
24
- | value | `string` | `''` | The selected or typed value. |
24
+ | value | `string` | `""` | The selected or typed value. |
25
25
 
26
26
  ### Property Details
27
27
 
@@ -32,7 +32,7 @@ The autocomplete attribute passed to the internal input.
32
32
  Defaults to `off`. Set this when browser autocomplete should be enabled or scoped to a specific autocomplete token.
33
33
 
34
34
  - Type: `string | undefined`
35
- - Default: `'off'`
35
+ - Default: `"off"`
36
36
 
37
37
  #### disable-static-filtering
38
38
 
@@ -59,7 +59,7 @@ Help text displayed below the input.
59
59
  Use this for supporting guidance or validation feedback.
60
60
 
61
61
  - Type: `string | undefined`
62
- - Default: `''`
62
+ - Default: `""`
63
63
 
64
64
  #### invalid
65
65
 
@@ -77,7 +77,7 @@ The label displayed above the input.
77
77
  Use this to give the combobox a visible and accessible name.
78
78
 
79
79
  - Type: `string | undefined`
80
- - Default: `''`
80
+ - Default: `""`
81
81
 
82
82
  #### match-text-segments
83
83
 
@@ -95,7 +95,7 @@ The name submitted with the combobox value.
95
95
  Use this when the combobox belongs to a form and its value should be included in form data.
96
96
 
97
97
  - Type: `string | undefined`
98
- - Default: `''`
98
+ - Default: `""`
99
99
 
100
100
  #### open-on-focus
101
101
 
@@ -131,7 +131,7 @@ Placeholder text displayed when the input is empty.
131
131
  Use this as a short hint for the expected input. Do not use placeholder text as a replacement for a label.
132
132
 
133
133
  - Type: `string | undefined`
134
- - Default: `''`
134
+ - Default: `""`
135
135
 
136
136
  #### required
137
137
 
@@ -165,5 +165,5 @@ The selected or typed value.
165
165
  When an option is selected, this is set to the option value. The displayed text may differ when the option has a separate label.
166
166
 
167
167
  - Type: `string`
168
- - Default: `''`
168
+ - Default: `""`
169
169
 
@@ -163,22 +163,22 @@ Unless otherwise noted all properties are HTML attributes (as opposed to JavaScr
163
163
 
164
164
  | Name | Type | Default | Summary |
165
165
  |-|-|-|-|
166
- | autocomplete | `string \| undefined` | `'off'` | The autocomplete attribute passed to the internal input. |
166
+ | autocomplete | `string \| undefined` | `"off"` | The autocomplete attribute passed to the internal input. |
167
167
  | disable-static-filtering | `boolean` | `false` | Whether built-in client-side filtering is disabled. |
168
168
  | disabled | `boolean` | `false` | Whether the combobox is disabled. |
169
- | help-text | `string \| undefined` | `''` | Help text displayed below the input. |
169
+ | help-text | `string \| undefined` | `""` | Help text displayed below the input. |
170
170
  | invalid | `boolean` | `false` | Whether the combobox is visually invalid. |
171
- | label | `string \| undefined` | `''` | The label displayed above the input. |
171
+ | label | `string \| undefined` | `""` | The label displayed above the input. |
172
172
  | match-text-segments | `boolean` | `false` | Whether matching text segments in options are highlighted. |
173
- | name | `string \| undefined` | `''` | The name submitted with the combobox value. |
173
+ | name | `string \| undefined` | `""` | The name submitted with the combobox value. |
174
174
  | open-on-focus | `boolean` | `false` | Whether the option list opens when the input receives focus. |
175
175
  | optional | `boolean` | `false` | Whether to show optional text next to the label. |
176
176
  | options | `ComboboxOption[]` | `[]` | The available options to select from. |
177
- | placeholder | `string \| undefined` | `''` | Placeholder text displayed when the input is empty. |
177
+ | placeholder | `string \| undefined` | `""` | Placeholder text displayed when the input is empty. |
178
178
  | required | `boolean` | `false` | Whether the combobox is required before form submission. |
179
179
  | resetFormControl (JS only) | `resetFormControl() => void` | `-` | - |
180
180
  | select-on-blur | `boolean` | `true` | Whether the active option is selected when the input loses focus. |
181
- | value | `string` | `''` | The selected or typed value. |
181
+ | value | `string` | `""` | The selected or typed value. |
182
182
 
183
183
  ### Property Details
184
184
 
@@ -189,7 +189,7 @@ The autocomplete attribute passed to the internal input.
189
189
  Defaults to `off`. Set this when browser autocomplete should be enabled or scoped to a specific autocomplete token.
190
190
 
191
191
  - Type: `string | undefined`
192
- - Default: `'off'`
192
+ - Default: `"off"`
193
193
 
194
194
  #### disable-static-filtering
195
195
 
@@ -216,7 +216,7 @@ Help text displayed below the input.
216
216
  Use this for supporting guidance or validation feedback.
217
217
 
218
218
  - Type: `string | undefined`
219
- - Default: `''`
219
+ - Default: `""`
220
220
 
221
221
  #### invalid
222
222
 
@@ -234,7 +234,7 @@ The label displayed above the input.
234
234
  Use this to give the combobox a visible and accessible name.
235
235
 
236
236
  - Type: `string | undefined`
237
- - Default: `''`
237
+ - Default: `""`
238
238
 
239
239
  #### match-text-segments
240
240
 
@@ -252,7 +252,7 @@ The name submitted with the combobox value.
252
252
  Use this when the combobox belongs to a form and its value should be included in form data.
253
253
 
254
254
  - Type: `string | undefined`
255
- - Default: `''`
255
+ - Default: `""`
256
256
 
257
257
  #### open-on-focus
258
258
 
@@ -288,7 +288,7 @@ Placeholder text displayed when the input is empty.
288
288
  Use this as a short hint for the expected input. Do not use placeholder text as a replacement for a label.
289
289
 
290
290
  - Type: `string | undefined`
291
- - Default: `''`
291
+ - Default: `""`
292
292
 
293
293
  #### required
294
294
 
@@ -322,5 +322,5 @@ The selected or typed value.
322
322
  When an option is selected, this is set to the option value. The displayed text may differ when the option has a separate label.
323
323
 
324
324
  - Type: `string`
325
- - Default: `''`
325
+ - Default: `""`
326
326
 
@@ -7,8 +7,8 @@ Unless otherwise noted all properties are HTML attributes (as opposed to JavaScr
7
7
  | Name | Type | Default | Summary |
8
8
  |-|-|-|-|
9
9
  | calendar (JS only) | `HTMLDivElement` | `-` | - |
10
- | day-format | `string` | `'PPPP'` | The date format used for calendar day accessible names. |
11
- | header-format | `string` | `'MMMM yyyy'` | The date format used in the calendar header. |
10
+ | day-format | `string` | `"PPPP"` | The date format used for calendar day accessible names. |
11
+ | header-format | `string` | `"MMMM yyyy"` | The date format used in the calendar header. |
12
12
  | input (JS only) | `HTMLInputElement` | `-` | - |
13
13
  | isCalendarOpen (JS only) | `boolean` | `false` | - |
14
14
  | isDayDisabled (JS only) | `((day: Date) => boolean) \| undefined` | `-` | Function used to disable dates in the calendar. |
@@ -25,7 +25,7 @@ Unless otherwise noted all properties are HTML attributes (as opposed to JavaScr
25
25
  | todayCell (JS only) | `HTMLTableCellElement` | `-` | - |
26
26
  | toggleButton (JS only) | `HTMLButtonElement` | `-` | - |
27
27
  | value | `string \| undefined` | `-` | The selected date value. |
28
- | weekday-format | `string` | `'EEEEEE'` | The weekday format shown above the calendar grid. |
28
+ | weekday-format | `string` | `"EEEEEE"` | The weekday format shown above the calendar grid. |
29
29
  | weeks (JS only) | `unknown` | `-` | - |
30
30
  | wrapper (JS only) | `HTMLDivElement` | `-` | - |
31
31
 
@@ -45,7 +45,7 @@ The date format used for calendar day accessible names.
45
45
  The syntax is defined by [date-fns/format](https://date-fns.org/v4.1.0/docs/format).
46
46
 
47
47
  - Type: `string`
48
- - Default: `'PPPP'`
48
+ - Default: `"PPPP"`
49
49
 
50
50
  #### header-format
51
51
 
@@ -54,7 +54,7 @@ The date format used in the calendar header.
54
54
  The syntax is defined by [date-fns/format](https://date-fns.org/v4.1.0/docs/format).
55
55
 
56
56
  - Type: `string`
57
- - Default: `'MMMM yyyy'`
57
+ - Default: `"MMMM yyyy"`
58
58
 
59
59
  #### input (JS only)
60
60
 
@@ -189,7 +189,7 @@ The weekday format shown above the calendar grid.
189
189
  The syntax is defined by [date-fns/format](https://date-fns.org/v4.1.0/docs/format).
190
190
 
191
191
  - Type: `string`
192
- - Default: `'EEEEEE'`
192
+ - Default: `"EEEEEE"`
193
193
 
194
194
  #### weeks (JS only)
195
195
 
@@ -207,8 +207,8 @@ Unless otherwise noted all properties are HTML attributes (as opposed to JavaScr
207
207
  | Name | Type | Default | Summary |
208
208
  |-|-|-|-|
209
209
  | calendar (JS only) | `HTMLDivElement` | `-` | - |
210
- | day-format | `string` | `'PPPP'` | The date format used for calendar day accessible names. |
211
- | header-format | `string` | `'MMMM yyyy'` | The date format used in the calendar header. |
210
+ | day-format | `string` | `"PPPP"` | The date format used for calendar day accessible names. |
211
+ | header-format | `string` | `"MMMM yyyy"` | The date format used in the calendar header. |
212
212
  | input (JS only) | `HTMLInputElement` | `-` | - |
213
213
  | isCalendarOpen (JS only) | `boolean` | `false` | - |
214
214
  | isDayDisabled (JS only) | `((day: Date) => boolean) \| undefined` | `-` | Function used to disable dates in the calendar. |
@@ -225,7 +225,7 @@ Unless otherwise noted all properties are HTML attributes (as opposed to JavaScr
225
225
  | todayCell (JS only) | `HTMLTableCellElement` | `-` | - |
226
226
  | toggleButton (JS only) | `HTMLButtonElement` | `-` | - |
227
227
  | value | `string \| undefined` | `-` | The selected date value. |
228
- | weekday-format | `string` | `'EEEEEE'` | The weekday format shown above the calendar grid. |
228
+ | weekday-format | `string` | `"EEEEEE"` | The weekday format shown above the calendar grid. |
229
229
  | weeks (JS only) | `unknown` | `-` | - |
230
230
  | wrapper (JS only) | `HTMLDivElement` | `-` | - |
231
231
 
@@ -245,7 +245,7 @@ The date format used for calendar day accessible names.
245
245
  The syntax is defined by [date-fns/format](https://date-fns.org/v4.1.0/docs/format).
246
246
 
247
247
  - Type: `string`
248
- - Default: `'PPPP'`
248
+ - Default: `"PPPP"`
249
249
 
250
250
  #### header-format
251
251
 
@@ -254,7 +254,7 @@ The date format used in the calendar header.
254
254
  The syntax is defined by [date-fns/format](https://date-fns.org/v4.1.0/docs/format).
255
255
 
256
256
  - Type: `string`
257
- - Default: `'MMMM yyyy'`
257
+ - Default: `"MMMM yyyy"`
258
258
 
259
259
  #### input (JS only)
260
260
 
@@ -389,7 +389,7 @@ The weekday format shown above the calendar grid.
389
389
  The syntax is defined by [date-fns/format](https://date-fns.org/v4.1.0/docs/format).
390
390
 
391
391
  - Type: `string`
392
- - Default: `'EEEEEE'`
392
+ - Default: `"EEEEEE"`
393
393
 
394
394
  #### weeks (JS only)
395
395
 
@@ -8,7 +8,7 @@ Unless otherwise noted all properties are HTML attributes (as opposed to JavaScr
8
8
  |-|-|-|-|
9
9
  | locale | `string` | `-` | Locale used for `<title>` text. |
10
10
  | name | `string` | `-` | Icon filename (without .svg) |
11
- | size | [`'small' \| 'medium' \| 'large' \| PixelValue \| undefined`](#small-medium-large-pixelvalue-undefined) | `"medium"` | Size: small, medium, large or pixel value (e.g. "32px"). |
11
+ | size | [`"small" \| "medium" \| "large" \| PixelValue \| undefined`](#small-medium-large-pixelvalue-undefined) | `"medium"` | Size: small, medium, large or pixel value (e.g. "32px"). |
12
12
 
13
13
  ### Property Details
14
14
 
@@ -32,12 +32,12 @@ Icon filename (without .svg)
32
32
 
33
33
  Size: small, medium, large or pixel value (e.g. "32px").
34
34
 
35
- - Type: [`'small' | 'medium' | 'large' | PixelValue | undefined`](#small-medium-large-pixelvalue-undefined)
35
+ - Type: [`"small" | "medium" | "large" | PixelValue | undefined`](#small-medium-large-pixelvalue-undefined)
36
36
  - Default: `"medium"`
37
37
 
38
38
  ### Types
39
39
 
40
- #### 'small' | 'medium' | 'large' | PixelValue | undefined
40
+ #### "small" | "medium" | "large" | PixelValue | undefined
41
41
 
42
42
  `'small' | 'medium' | 'large' | `${number}px` | undefined`
43
43
 
@@ -80,7 +80,7 @@ Unless otherwise noted all properties are HTML attributes (as opposed to JavaScr
80
80
  |-|-|-|-|
81
81
  | locale | `string` | `-` | Locale used for `<title>` text. |
82
82
  | name | `string` | `-` | Icon filename (without .svg) |
83
- | size | [`'small' \| 'medium' \| 'large' \| PixelValue \| undefined`](#small-medium-large-pixelvalue-undefined) | `"medium"` | Size: small, medium, large or pixel value (e.g. "32px"). |
83
+ | size | [`"small" \| "medium" \| "large" \| PixelValue \| undefined`](#small-medium-large-pixelvalue-undefined) | `"medium"` | Size: small, medium, large or pixel value (e.g. "32px"). |
84
84
 
85
85
  ### Property Details
86
86
 
@@ -104,12 +104,12 @@ Icon filename (without .svg)
104
104
 
105
105
  Size: small, medium, large or pixel value (e.g. "32px").
106
106
 
107
- - Type: [`'small' | 'medium' | 'large' | PixelValue | undefined`](#small-medium-large-pixelvalue-undefined)
107
+ - Type: [`"small" | "medium" | "large" | PixelValue | undefined`](#small-medium-large-pixelvalue-undefined)
108
108
  - Default: `"medium"`
109
109
 
110
110
  ### Types
111
111
 
112
- #### 'small' | 'medium' | 'large' | PixelValue | undefined
112
+ #### "small" | "medium" | "large" | PixelValue | undefined
113
113
 
114
114
  `'small' | 'medium' | 'large' | `${number}px` | undefined`
115
115
 
@@ -18,7 +18,7 @@ Generated by `pnpm build:docs`. This file indexes the Markdown documentation shi
18
18
  | Button | `<w-button>` | `button` | Performs an action or renders a link with button styling. Use button variants to match action priority, risk, and context. | [button.md](./button/button.md) |
19
19
  | Card | `<w-card>` | `card` | Card is a layout component used for separating content areas on a page. | [card.md](./card/card.md) |
20
20
  | Checkbox | `<w-checkbox>` | `checkbox` | Checkbox lets users select one or more options. Use it for independent yes/no choices, multi-select lists, and terms or consent confirmations. | [checkbox.md](./checkbox/checkbox.md) |
21
- | Checkbox Group | `<w-checkbox-group>` | `checkbox-group` | Use `w-checkbox-group` when several checkboxes share one label, help text, optional indicator, or required validation. | [checkbox-group.md](./checkbox-group/checkbox-group.md) |
21
+ | Checkbox Group | `<w-checkbox-group>` | `checkbox-group` | Checkboxes allow users to select multiple options from a list of choices. Use with `w-checkbox`. ## Architecture Note This component uses a <div> wrapper instead of the more semantic <fieldset> element. Note that w-radio-group uses <fieldset>, which provides better accessibility and follows HTML best practices. This inconsistency exists for historical reasons and may be addressed in a future major version to align both on the more semantic approach. TODO: Align w-checkbox-group to use <fieldset> in a future major version after assessing backwards compatibility implications (CSS selectors, etc.). | [checkbox-group.md](./checkbox-group/checkbox-group.md) |
22
22
  | Combobox | `<w-combobox>` | `combobox` | A combobox element for text input with selectable options. | [combobox.md](./combobox/combobox.md) |
23
23
  | Datepicker | `<w-datepicker>` | `datepicker` | An input for dates. Uses the `lang` attribute on either the element or on `<html>` to determine the locale options. | [datepicker.md](./datepicker/datepicker.md) |
24
24
  | Expandable | `<w-expandable>` | `expandable` | Expandable is a layout component used for creating expandable content areas on a page. | [expandable.md](./expandable/expandable.md) |
@@ -7,9 +7,9 @@ Unless otherwise noted all properties are HTML attributes (as opposed to JavaScr
7
7
  | Name | Type | Default | Summary |
8
8
  |-|-|-|-|
9
9
  | disabled | `boolean` | `false` | Disables the radio group and all child radios. |
10
- | help-text | `string` | `''` | Help text for the radio group. |
10
+ | help-text | `string` | `""` | Help text for the radio group. |
11
11
  | invalid | `boolean` | `false` | Marks the radio group as invalid. |
12
- | label | `string` | `''` | Label for the radio group. |
12
+ | label | `string` | `""` | Label for the radio group. |
13
13
  | name | `string \| null` | `null` | The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the select when submitting the form. |
14
14
  | optional | `boolean` | `false` | Whether to show optional text next to the label. |
15
15
  | required | `boolean` | `false` | Makes selecting a radio in the the group required. |
@@ -30,7 +30,7 @@ Help text for the radio group.
30
30
  If you set `required` and `invalid` the group gets a default error message, but you can override it with this attribute.
31
31
 
32
32
  - Type: `string`
33
- - Default: `''`
33
+ - Default: `""`
34
34
 
35
35
  #### invalid
36
36
 
@@ -44,7 +44,7 @@ Marks the radio group as invalid.
44
44
  Label for the radio group.
45
45
 
46
46
  - Type: `string`
47
- - Default: `''`
47
+ - Default: `""`
48
48
 
49
49
  #### name
50
50