@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
@@ -18,7 +18,7 @@
18
18
  | reportValidity (JS only) | `reportValidity() => boolean` | `-` | Checks validity and shows the browser's validation message if invalid |
19
19
  | required | `boolean` | `false` | Whether the checkbox must be checked before form submission. |
20
20
  | resetFormControl (JS only) | `resetFormControl() => void` | `-` | - |
21
- | shadowRootOptions (JS only) | `object` | `{ ...LitElement.shadowRootOptions, delegatesFocus: true }` | - |
21
+ | shadowRootOptions (JS only) | `object` | `{ ...LitElement.shadowRootOptions, delegatesFocus: true, }` | - |
22
22
  | validationMessage (JS only) | `string` | `-` | Returns the validation message if the checkbox is invalid, otherwise an empty string |
23
23
  | validity (JS only) | `ValidityState` | `-` | Returns the validity state of the checkbox |
24
24
  | value | `string \| null` | `null` | The value submitted when the checkbox is checked. |
@@ -140,7 +140,7 @@ A required checkbox is invalid until it is checked. For requiring at least one o
140
140
 
141
141
 
142
142
  - Type: `object`
143
- - Default: `{ ...LitElement.shadowRootOptions, delegatesFocus: true }`
143
+ - Default: `{ ...LitElement.shadowRootOptions, delegatesFocus: true, }`
144
144
 
145
145
  ##### validationMessage (JS only)
146
146
 
@@ -4,6 +4,180 @@
4
4
 
5
5
  Checkbox lets users select one or more options. Use it for independent yes/no choices, multi-select lists, and terms or consent confirmations.
6
6
 
7
+ # Checkbox Styling
8
+
9
+ The checkbox component provides a comprehensive styling API through CSS custom properties (tokens).
10
+
11
+ ## Styling API
12
+
13
+ ### Label Tokens
14
+
15
+ Customize the appearance of the label text:
16
+
17
+ ```css
18
+ --w-c-checkbox-label-font-size: var(--w-font-size-m);
19
+ --w-c-checkbox-label-line-height: var(--w-line-height-m);
20
+ ```
21
+
22
+ ### Control Tokens
23
+
24
+ Customize the checkbox control (the box itself):
25
+
26
+ ```css
27
+ --w-c-checkbox-control-size: 2rem;
28
+ --w-c-checkbox-gap: 8px;
29
+ --w-c-checkbox-radius: 4px;
30
+ --w-c-checkbox-border-width: 1px;
31
+ ```
32
+
33
+ ### Color Tokens - Default State
34
+
35
+ ```css
36
+ --w-c-checkbox-bg: var(--w-s-color-background);
37
+ --w-c-checkbox-border-color: var(--w-s-color-border-strong);
38
+ --w-c-checkbox-icon-color: var(--w-s-color-icon-inverted);
39
+ ```
40
+
41
+ ### Color Tokens - Checked State
42
+
43
+ ```css
44
+ --w-c-checkbox-bg-checked: var(--w-s-color-background-primary);
45
+ --w-c-checkbox-border-color-checked: var(--w-s-color-border-primary);
46
+ --w-c-checkbox-checked-icon: var(--w-icon-toggle-checked);
47
+ ```
48
+
49
+ ### Color Tokens - Invalid State
50
+
51
+ ```css
52
+ --w-c-checkbox-border-color-invalid: var(--w-s-color-border-negative);
53
+ --w-c-checkbox-bg-invalid-checked: var(--w-s-color-background-negative);
54
+ ```
55
+
56
+ ### Color Tokens - Disabled State
57
+
58
+ ```css
59
+ --w-c-checkbox-bg-disabled: var(--w-s-color-background-disabled-subtle);
60
+ --w-c-checkbox-border-color-disabled: var(--w-s-color-border-disabled);
61
+ --w-c-checkbox-bg-disabled-checked: var(--w-s-color-background-disabled);
62
+ ```
63
+
64
+ ### Focus Tokens
65
+
66
+ ```css
67
+ --w-c-checkbox-outline-width: 2px;
68
+ --w-c-checkbox-outline-color: var(--w-s-color-border-focus);
69
+ --w-c-checkbox-outline-offset: var(--w-outline-offset, 1px);
70
+ ```
71
+
72
+ ### Animation Tokens
73
+
74
+ ```css
75
+ --w-c-checkbox-transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
76
+ ```
77
+
78
+ ## Parts
79
+
80
+ For advanced styling needs beyond tokens, you can target internal elements using CSS parts:
81
+
82
+ - `::part(base)` - The wrapper `<label>` element
83
+ - `::part(control)` - The visual checkbox control (the box)
84
+ - `::part(input)` - The native `<input type="checkbox">` element
85
+ - `::part(label)` - The label content wrapper
86
+
87
+ ```css
88
+ w-checkbox::part(control) {
89
+ /* Custom styling for the checkbox box */
90
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
91
+ }
92
+
93
+ w-checkbox::part(label) {
94
+ /* Custom styling for label text */
95
+ text-transform: uppercase;
96
+ }
97
+ ```
98
+
99
+ ## Example Usage
100
+
101
+ ### Customizing Size
102
+
103
+ ```css
104
+ w-checkbox {
105
+ --w-c-checkbox-control-size: 2.4rem;
106
+ --w-c-checkbox-gap: 12px;
107
+ }
108
+ ```
109
+
110
+ ### Customizing Colors
111
+
112
+ ```css
113
+ w-checkbox {
114
+ --w-c-checkbox-bg-checked: var(--w-s-color-background-success);
115
+ --w-c-checkbox-border-color-checked: var(--w-s-color-border-success);
116
+ }
117
+ ```
118
+
119
+ ### Customizing Border Radius
120
+
121
+ ```css
122
+ w-checkbox {
123
+ --w-c-checkbox-radius: 8px; /* More rounded */
124
+ }
125
+
126
+ /* Or fully rounded */
127
+ w-checkbox {
128
+ --w-c-checkbox-radius: 50%;
129
+ }
130
+ ```
131
+
132
+ ### Customizing Focus Outline
133
+
134
+ ```css
135
+ w-checkbox {
136
+ --w-c-checkbox-outline-width: 3px;
137
+ --w-c-checkbox-outline-color: var(--w-s-color-border-info);
138
+ --w-c-checkbox-outline-offset: 2px;
139
+ }
140
+ ```
141
+
142
+ ### Disabling Transitions
143
+
144
+ ```css
145
+ w-checkbox {
146
+ --w-c-checkbox-transition: none;
147
+ }
148
+ ```
149
+
150
+ ### Using Parts for Advanced Styling
151
+
152
+ ```css
153
+ /* Add a subtle shadow to the checkbox */
154
+ w-checkbox::part(control) {
155
+ box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
156
+ }
157
+
158
+ /* Style the label with custom spacing */
159
+ w-checkbox::part(label) {
160
+ padding-left: 4px;
161
+ font-weight: 500;
162
+ }
163
+ ```
164
+
165
+ ## Label Content
166
+
167
+ Unlike textfield/textarea components, checkbox labels accept rich HTML content via the default slot:
168
+
169
+ ```html
170
+ <w-checkbox>
171
+ I agree to the <a href="/terms">terms and conditions</a>
172
+ </w-checkbox>
173
+
174
+ <w-checkbox>
175
+ <strong>Important:</strong> Check this box
176
+ </w-checkbox>
177
+ ```
178
+
179
+ Style the label content directly or use `::part(label)` to target the wrapper.
180
+
7
181
  ### `<w-checkbox>` API
8
182
 
9
183
  #### Properties
@@ -24,7 +198,7 @@ Checkbox lets users select one or more options. Use it for independent yes/no ch
24
198
  | reportValidity (JS only) | `reportValidity() => boolean` | `-` | Checks validity and shows the browser's validation message if invalid |
25
199
  | required | `boolean` | `false` | Whether the checkbox must be checked before form submission. |
26
200
  | resetFormControl (JS only) | `resetFormControl() => void` | `-` | - |
27
- | shadowRootOptions (JS only) | `object` | `{ ...LitElement.shadowRootOptions, delegatesFocus: true }` | - |
201
+ | shadowRootOptions (JS only) | `object` | `{ ...LitElement.shadowRootOptions, delegatesFocus: true, }` | - |
28
202
  | validationMessage (JS only) | `string` | `-` | Returns the validation message if the checkbox is invalid, otherwise an empty string |
29
203
  | validity (JS only) | `ValidityState` | `-` | Returns the validity state of the checkbox |
30
204
  | value | `string \| null` | `null` | The value submitted when the checkbox is checked. |
@@ -146,7 +320,7 @@ A required checkbox is invalid until it is checked. For requiring at least one o
146
320
 
147
321
 
148
322
  - Type: `object`
149
- - Default: `{ ...LitElement.shadowRootOptions, delegatesFocus: true }`
323
+ - Default: `{ ...LitElement.shadowRootOptions, delegatesFocus: true, }`
150
324
 
151
325
  ##### validationMessage (JS only)
152
326
 
@@ -0,0 +1,173 @@
1
+ # Checkbox Styling
2
+
3
+ The checkbox component provides a comprehensive styling API through CSS custom properties (tokens).
4
+
5
+ ## Styling API
6
+
7
+ ### Label Tokens
8
+
9
+ Customize the appearance of the label text:
10
+
11
+ ```css
12
+ --w-c-checkbox-label-font-size: var(--w-font-size-m);
13
+ --w-c-checkbox-label-line-height: var(--w-line-height-m);
14
+ ```
15
+
16
+ ### Control Tokens
17
+
18
+ Customize the checkbox control (the box itself):
19
+
20
+ ```css
21
+ --w-c-checkbox-control-size: 2rem;
22
+ --w-c-checkbox-gap: 8px;
23
+ --w-c-checkbox-radius: 4px;
24
+ --w-c-checkbox-border-width: 1px;
25
+ ```
26
+
27
+ ### Color Tokens - Default State
28
+
29
+ ```css
30
+ --w-c-checkbox-bg: var(--w-s-color-background);
31
+ --w-c-checkbox-border-color: var(--w-s-color-border-strong);
32
+ --w-c-checkbox-icon-color: var(--w-s-color-icon-inverted);
33
+ ```
34
+
35
+ ### Color Tokens - Checked State
36
+
37
+ ```css
38
+ --w-c-checkbox-bg-checked: var(--w-s-color-background-primary);
39
+ --w-c-checkbox-border-color-checked: var(--w-s-color-border-primary);
40
+ --w-c-checkbox-checked-icon: var(--w-icon-toggle-checked);
41
+ ```
42
+
43
+ ### Color Tokens - Invalid State
44
+
45
+ ```css
46
+ --w-c-checkbox-border-color-invalid: var(--w-s-color-border-negative);
47
+ --w-c-checkbox-bg-invalid-checked: var(--w-s-color-background-negative);
48
+ ```
49
+
50
+ ### Color Tokens - Disabled State
51
+
52
+ ```css
53
+ --w-c-checkbox-bg-disabled: var(--w-s-color-background-disabled-subtle);
54
+ --w-c-checkbox-border-color-disabled: var(--w-s-color-border-disabled);
55
+ --w-c-checkbox-bg-disabled-checked: var(--w-s-color-background-disabled);
56
+ ```
57
+
58
+ ### Focus Tokens
59
+
60
+ ```css
61
+ --w-c-checkbox-outline-width: 2px;
62
+ --w-c-checkbox-outline-color: var(--w-s-color-border-focus);
63
+ --w-c-checkbox-outline-offset: var(--w-outline-offset, 1px);
64
+ ```
65
+
66
+ ### Animation Tokens
67
+
68
+ ```css
69
+ --w-c-checkbox-transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
70
+ ```
71
+
72
+ ## Parts
73
+
74
+ For advanced styling needs beyond tokens, you can target internal elements using CSS parts:
75
+
76
+ - `::part(base)` - The wrapper `<label>` element
77
+ - `::part(control)` - The visual checkbox control (the box)
78
+ - `::part(input)` - The native `<input type="checkbox">` element
79
+ - `::part(label)` - The label content wrapper
80
+
81
+ ```css
82
+ w-checkbox::part(control) {
83
+ /* Custom styling for the checkbox box */
84
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
85
+ }
86
+
87
+ w-checkbox::part(label) {
88
+ /* Custom styling for label text */
89
+ text-transform: uppercase;
90
+ }
91
+ ```
92
+
93
+ ## Example Usage
94
+
95
+ ### Customizing Size
96
+
97
+ ```css
98
+ w-checkbox {
99
+ --w-c-checkbox-control-size: 2.4rem;
100
+ --w-c-checkbox-gap: 12px;
101
+ }
102
+ ```
103
+
104
+ ### Customizing Colors
105
+
106
+ ```css
107
+ w-checkbox {
108
+ --w-c-checkbox-bg-checked: var(--w-s-color-background-success);
109
+ --w-c-checkbox-border-color-checked: var(--w-s-color-border-success);
110
+ }
111
+ ```
112
+
113
+ ### Customizing Border Radius
114
+
115
+ ```css
116
+ w-checkbox {
117
+ --w-c-checkbox-radius: 8px; /* More rounded */
118
+ }
119
+
120
+ /* Or fully rounded */
121
+ w-checkbox {
122
+ --w-c-checkbox-radius: 50%;
123
+ }
124
+ ```
125
+
126
+ ### Customizing Focus Outline
127
+
128
+ ```css
129
+ w-checkbox {
130
+ --w-c-checkbox-outline-width: 3px;
131
+ --w-c-checkbox-outline-color: var(--w-s-color-border-info);
132
+ --w-c-checkbox-outline-offset: 2px;
133
+ }
134
+ ```
135
+
136
+ ### Disabling Transitions
137
+
138
+ ```css
139
+ w-checkbox {
140
+ --w-c-checkbox-transition: none;
141
+ }
142
+ ```
143
+
144
+ ### Using Parts for Advanced Styling
145
+
146
+ ```css
147
+ /* Add a subtle shadow to the checkbox */
148
+ w-checkbox::part(control) {
149
+ box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
150
+ }
151
+
152
+ /* Style the label with custom spacing */
153
+ w-checkbox::part(label) {
154
+ padding-left: 4px;
155
+ font-weight: 500;
156
+ }
157
+ ```
158
+
159
+ ## Label Content
160
+
161
+ Unlike textfield/textarea components, checkbox labels accept rich HTML content via the default slot:
162
+
163
+ ```html
164
+ <w-checkbox>
165
+ I agree to the <a href="/terms">terms and conditions</a>
166
+ </w-checkbox>
167
+
168
+ <w-checkbox>
169
+ <strong>Important:</strong> Check this box
170
+ </w-checkbox>
171
+ ```
172
+
173
+ Style the label content directly or use `::part(label)` to target the wrapper.
@@ -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