@warp-ds/elements 2.10.0-next.8 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (712) hide show
  1. package/dist/.storybook/utilities.js +4 -4
  2. package/dist/api.js +1 -1
  3. package/dist/api.js.map +2 -2
  4. package/dist/custom-elements.json +1166 -502
  5. package/dist/docs/affix/affix.md +119 -2
  6. package/dist/docs/affix/api.md +2 -2
  7. package/dist/docs/affix/styling.md +107 -0
  8. package/dist/docs/alert/alert.md +4 -4
  9. package/dist/docs/alert/api.md +4 -4
  10. package/dist/docs/attention/api.md +50 -2
  11. package/dist/docs/attention/attention.md +50 -2
  12. package/dist/docs/badge/api.md +50 -4
  13. package/dist/docs/badge/badge.md +50 -4
  14. package/dist/docs/box/api.md +2 -2
  15. package/dist/docs/box/box.md +2 -2
  16. package/dist/docs/breadcrumb-item/api.md +27 -0
  17. package/dist/docs/breadcrumb-item/breadcrumb-item.md +34 -0
  18. package/dist/docs/breadcrumbs/accessibility.md +8 -18
  19. package/dist/docs/breadcrumbs/breadcrumbs.md +120 -34
  20. package/dist/docs/breadcrumbs/examples.md +8 -8
  21. package/dist/docs/breadcrumbs/styling.md +96 -0
  22. package/dist/docs/breadcrumbs/usage.md +8 -8
  23. package/dist/docs/button/api.md +32 -24
  24. package/dist/docs/button/button.md +32 -24
  25. package/dist/docs/card/api.md +8 -0
  26. package/dist/docs/card/card.md +8 -0
  27. package/dist/docs/checkbox/api.md +52 -4
  28. package/dist/docs/checkbox/checkbox.md +226 -4
  29. package/dist/docs/checkbox/styling.md +173 -0
  30. package/dist/docs/checkbox-group/api.md +30 -6
  31. package/dist/docs/checkbox-group/checkbox-group.md +73 -36
  32. package/dist/docs/checkbox-group/styling.md +31 -29
  33. package/dist/docs/combobox/api.md +20 -12
  34. package/dist/docs/combobox/combobox.md +20 -12
  35. package/dist/docs/datepicker/api.md +22 -14
  36. package/dist/docs/datepicker/datepicker.md +22 -14
  37. package/dist/docs/expandable/api.md +6 -6
  38. package/dist/docs/expandable/expandable.md +6 -6
  39. package/dist/docs/icon/api.md +4 -4
  40. package/dist/docs/icon/icon.md +4 -4
  41. package/dist/docs/index.md +5 -2
  42. package/dist/docs/link/api.md +10 -10
  43. package/dist/docs/link/link.md +10 -10
  44. package/dist/docs/modal/api.md +20 -2
  45. package/dist/docs/modal/modal.md +99 -10
  46. package/dist/docs/modal/styling.md +75 -0
  47. package/dist/docs/modal/usage.md +4 -8
  48. package/dist/docs/pagination/api.md +4 -4
  49. package/dist/docs/pagination/pagination.md +4 -4
  50. package/dist/docs/pill/api.md +8 -8
  51. package/dist/docs/pill/pill.md +8 -8
  52. package/dist/docs/radio-group/api.md +4 -4
  53. package/dist/docs/radio-group/radio-group.md +183 -68
  54. package/dist/docs/radio-group/styling.md +179 -64
  55. package/dist/docs/select/api.md +10 -10
  56. package/dist/docs/select/select.md +101 -10
  57. package/dist/docs/select/styling.md +91 -0
  58. package/dist/docs/slider/api.md +38 -22
  59. package/dist/docs/slider/slider.md +38 -22
  60. package/dist/docs/slider-thumb/api.md +28 -12
  61. package/dist/docs/slider-thumb/slider-thumb.md +28 -12
  62. package/dist/docs/snackbar/accessibility.md +20 -0
  63. package/dist/docs/snackbar/api.md +30 -0
  64. package/dist/docs/snackbar/examples.md +191 -0
  65. package/dist/docs/snackbar/snackbar.md +385 -0
  66. package/dist/docs/snackbar/styling.md +72 -0
  67. package/dist/docs/snackbar/usage.md +60 -0
  68. package/dist/docs/snackbar-item/api.md +41 -0
  69. package/dist/docs/snackbar-item/snackbar-item.md +49 -0
  70. package/dist/docs/step/api.md +16 -0
  71. package/dist/docs/step/step.md +16 -0
  72. package/dist/docs/switch/api.md +8 -0
  73. package/dist/docs/switch/switch.md +8 -0
  74. package/dist/docs/tabs/api.md +2 -2
  75. package/dist/docs/tabs/tabs.md +2 -2
  76. package/dist/docs/textarea/api.md +54 -14
  77. package/dist/docs/textarea/styling.md +91 -0
  78. package/dist/docs/textarea/textarea.md +145 -14
  79. package/dist/docs/textfield/api.md +74 -34
  80. package/dist/docs/textfield/styling.md +95 -0
  81. package/dist/docs/textfield/textfield.md +169 -34
  82. package/dist/index.d.ts +914 -93
  83. package/dist/packages/affix/affix-styles.d.ts +8 -0
  84. package/dist/packages/affix/affix-styles.js +108 -0
  85. package/dist/packages/affix/affix.d.ts +16 -13
  86. package/dist/packages/affix/affix.hydration.test.d.ts +1 -1
  87. package/dist/packages/affix/affix.hydration.test.js +15 -15
  88. package/dist/packages/affix/affix.js +451 -320
  89. package/dist/packages/affix/affix.js.map +4 -4
  90. package/dist/packages/affix/affix.react.stories.d.ts +3 -3
  91. package/dist/packages/affix/affix.react.stories.js +3 -3
  92. package/dist/packages/affix/affix.react.test.js +5 -3
  93. package/dist/packages/affix/affix.stories.d.ts +3 -3
  94. package/dist/packages/affix/affix.stories.js +10 -10
  95. package/dist/packages/affix/affix.test.d.ts +1 -1
  96. package/dist/packages/affix/affix.test.js +10 -10
  97. package/dist/packages/affix/react.d.ts +3 -3
  98. package/dist/packages/affix/react.js +6 -6
  99. package/dist/packages/affix/styles.js +2 -2
  100. package/dist/packages/alert/alert.d.ts +3 -3
  101. package/dist/packages/alert/alert.hydration.test.d.ts +1 -1
  102. package/dist/packages/alert/alert.hydration.test.js +21 -21
  103. package/dist/packages/alert/alert.js +349 -324
  104. package/dist/packages/alert/alert.js.map +3 -3
  105. package/dist/packages/alert/alert.react.stories.d.ts +2 -2
  106. package/dist/packages/alert/alert.react.stories.js +13 -13
  107. package/dist/packages/alert/alert.stories.d.ts +4 -4
  108. package/dist/packages/alert/alert.stories.js +29 -27
  109. package/dist/packages/alert/alert.test.d.ts +1 -1
  110. package/dist/packages/alert/alert.test.js +34 -21
  111. package/dist/packages/alert/react.d.ts +1 -1
  112. package/dist/packages/alert/react.js +4 -4
  113. package/dist/packages/alert/styles.js +2 -2
  114. package/dist/packages/attention/attention.d.ts +11 -6
  115. package/dist/packages/attention/attention.hydration.test.d.ts +1 -1
  116. package/dist/packages/attention/attention.hydration.test.js +29 -29
  117. package/dist/packages/attention/attention.js +1744 -1681
  118. package/dist/packages/attention/attention.js.map +4 -4
  119. package/dist/packages/attention/attention.react.stories.d.ts +3 -3
  120. package/dist/packages/attention/attention.react.stories.js +13 -13
  121. package/dist/packages/attention/attention.react.test.js +11 -7
  122. package/dist/packages/attention/attention.stories.d.ts +4 -4
  123. package/dist/packages/attention/attention.stories.js +126 -117
  124. package/dist/packages/attention/attention.test.d.ts +1 -1
  125. package/dist/packages/attention/attention.test.js +18 -10
  126. package/dist/packages/attention/layout-styles.js +900 -900
  127. package/dist/packages/attention/react.d.ts +4 -4
  128. package/dist/packages/attention/react.js +13 -11
  129. package/dist/packages/attention/styles.js +2 -2
  130. package/dist/packages/badge/badge.d.ts +3 -3
  131. package/dist/packages/badge/badge.hydration.test.d.ts +1 -1
  132. package/dist/packages/badge/badge.hydration.test.js +25 -25
  133. package/dist/packages/badge/badge.js +281 -281
  134. package/dist/packages/badge/badge.js.map +3 -3
  135. package/dist/packages/badge/badge.react.stories.d.ts +3 -3
  136. package/dist/packages/badge/badge.react.stories.js +17 -17
  137. package/dist/packages/badge/badge.stories.d.ts +3 -3
  138. package/dist/packages/badge/badge.stories.js +22 -20
  139. package/dist/packages/badge/badge.test.d.ts +1 -1
  140. package/dist/packages/badge/badge.test.js +13 -11
  141. package/dist/packages/badge/react.d.ts +1 -1
  142. package/dist/packages/badge/react.js +4 -4
  143. package/dist/packages/badge/styles.js +2 -2
  144. package/dist/packages/box/box.d.ts +1 -1
  145. package/dist/packages/box/box.hydration.test.d.ts +1 -1
  146. package/dist/packages/box/box.hydration.test.js +14 -14
  147. package/dist/packages/box/box.js +288 -288
  148. package/dist/packages/box/box.js.map +3 -3
  149. package/dist/packages/box/box.react.stories.d.ts +3 -3
  150. package/dist/packages/box/box.react.stories.js +8 -8
  151. package/dist/packages/box/box.stories.d.ts +3 -3
  152. package/dist/packages/box/box.stories.js +25 -19
  153. package/dist/packages/box/box.test.d.ts +1 -1
  154. package/dist/packages/box/box.test.js +6 -6
  155. package/dist/packages/box/react.d.ts +1 -1
  156. package/dist/packages/box/react.js +4 -4
  157. package/dist/packages/box/slot.test.d.ts +1 -1
  158. package/dist/packages/box/slot.test.js +6 -6
  159. package/dist/packages/box/styles.js +2 -2
  160. package/dist/packages/breadcrumb-item/breadcrumb-item.d.ts +29 -0
  161. package/dist/packages/breadcrumb-item/breadcrumb-item.js +2529 -0
  162. package/dist/packages/breadcrumb-item/breadcrumb-item.js.map +7 -0
  163. package/dist/packages/breadcrumb-item/react.d.ts +2 -0
  164. package/dist/packages/breadcrumb-item/react.js +11 -0
  165. package/dist/packages/breadcrumb-item/styles.d.ts +4 -0
  166. package/dist/packages/breadcrumb-item/styles.js +81 -0
  167. package/dist/packages/breadcrumbs/breadcrumbs.d.ts +4 -3
  168. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.d.ts +1 -1
  169. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.js +55 -49
  170. package/dist/packages/breadcrumbs/breadcrumbs.js +287 -283
  171. package/dist/packages/breadcrumbs/breadcrumbs.js.map +4 -4
  172. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.d.ts +4 -4
  173. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.js +17 -16
  174. package/dist/packages/breadcrumbs/breadcrumbs.stories.d.ts +7 -8
  175. package/dist/packages/breadcrumbs/breadcrumbs.stories.js +30 -26
  176. package/dist/packages/breadcrumbs/breadcrumbs.test.d.ts +1 -1
  177. package/dist/packages/breadcrumbs/breadcrumbs.test.js +19 -17
  178. package/dist/packages/breadcrumbs/react.d.ts +1 -1
  179. package/dist/packages/breadcrumbs/react.js +4 -4
  180. package/dist/packages/breadcrumbs/styles.js +2 -2
  181. package/dist/packages/button/button.d.ts +20 -15
  182. package/dist/packages/button/button.hydration.test.d.ts +1 -1
  183. package/dist/packages/button/button.hydration.test.js +19 -19
  184. package/dist/packages/button/button.js +759 -712
  185. package/dist/packages/button/button.js.map +4 -4
  186. package/dist/packages/button/button.react.stories.d.ts +5 -5
  187. package/dist/packages/button/button.react.stories.js +30 -30
  188. package/dist/packages/button/button.react.test.js +13 -13
  189. package/dist/packages/button/button.stories.d.ts +4 -4
  190. package/dist/packages/button/button.stories.js +276 -167
  191. package/dist/packages/button/button.test.d.ts +1 -1
  192. package/dist/packages/button/button.test.js +36 -35
  193. package/dist/packages/button/react.d.ts +3 -3
  194. package/dist/packages/button/react.js +7 -7
  195. package/dist/packages/button/styles.js +373 -331
  196. package/dist/packages/card/card.d.ts +1 -1
  197. package/dist/packages/card/card.hydration.test.d.ts +1 -1
  198. package/dist/packages/card/card.hydration.test.js +14 -14
  199. package/dist/packages/card/card.js +311 -296
  200. package/dist/packages/card/card.js.map +4 -4
  201. package/dist/packages/card/card.react.stories.d.ts +3 -3
  202. package/dist/packages/card/card.react.stories.js +11 -11
  203. package/dist/packages/card/card.stories.d.ts +3 -3
  204. package/dist/packages/card/card.stories.js +36 -24
  205. package/dist/packages/card/card.test.d.ts +1 -1
  206. package/dist/packages/card/card.test.js +6 -6
  207. package/dist/packages/card/react.d.ts +1 -1
  208. package/dist/packages/card/react.js +4 -4
  209. package/dist/packages/card/styles.js +2 -2
  210. package/dist/packages/checkbox/checkbox.a11y.test.d.ts +1 -1
  211. package/dist/packages/checkbox/checkbox.a11y.test.js +47 -33
  212. package/dist/packages/checkbox/checkbox.d.ts +4 -4
  213. package/dist/packages/checkbox/checkbox.hydration.test.d.ts +1 -1
  214. package/dist/packages/checkbox/checkbox.hydration.test.js +21 -21
  215. package/dist/packages/checkbox/checkbox.js +481 -430
  216. package/dist/packages/checkbox/checkbox.js.map +3 -3
  217. package/dist/packages/checkbox/checkbox.react.stories.d.ts +2 -2
  218. package/dist/packages/checkbox/checkbox.react.stories.js +3 -3
  219. package/dist/packages/checkbox/checkbox.stories.d.ts +4 -4
  220. package/dist/packages/checkbox/checkbox.stories.js +99 -91
  221. package/dist/packages/checkbox/checkbox.test.d.ts +1 -1
  222. package/dist/packages/checkbox/checkbox.test.js +64 -64
  223. package/dist/packages/checkbox/react.d.ts +1 -1
  224. package/dist/packages/checkbox/react.js +6 -6
  225. package/dist/packages/checkbox/styles.js +183 -132
  226. package/dist/packages/checkbox-group/checkbox-group.a11y.test.d.ts +2 -2
  227. package/dist/packages/checkbox-group/checkbox-group.a11y.test.js +83 -73
  228. package/dist/packages/checkbox-group/checkbox-group.d.ts +20 -6
  229. package/dist/packages/checkbox-group/checkbox-group.hydration.test.d.ts +2 -2
  230. package/dist/packages/checkbox-group/checkbox-group.hydration.test.js +36 -19
  231. package/dist/packages/checkbox-group/checkbox-group.js +62 -57
  232. package/dist/packages/checkbox-group/checkbox-group.js.map +4 -4
  233. package/dist/packages/checkbox-group/checkbox-group.react.test.js +4 -4
  234. package/dist/packages/checkbox-group/checkbox-group.test.d.ts +2 -2
  235. package/dist/packages/checkbox-group/checkbox-group.test.js +183 -90
  236. package/dist/packages/checkbox-group/react.d.ts +3 -3
  237. package/dist/packages/checkbox-group/react.js +6 -6
  238. package/dist/packages/combobox/combobox.a11y.test.d.ts +2 -2
  239. package/dist/packages/combobox/combobox.a11y.test.js +72 -49
  240. package/dist/packages/combobox/combobox.d.ts +2 -2
  241. package/dist/packages/combobox/combobox.hydration.test.d.ts +1 -1
  242. package/dist/packages/combobox/combobox.hydration.test.js +45 -45
  243. package/dist/packages/combobox/combobox.js +338 -339
  244. package/dist/packages/combobox/combobox.js.map +4 -4
  245. package/dist/packages/combobox/combobox.react.stories.d.ts +29 -13
  246. package/dist/packages/combobox/combobox.react.stories.js +29 -29
  247. package/dist/packages/combobox/combobox.react.test.js +8 -8
  248. package/dist/packages/combobox/combobox.stories.d.ts +4 -4
  249. package/dist/packages/combobox/combobox.stories.js +100 -94
  250. package/dist/packages/combobox/combobox.test.d.ts +2 -2
  251. package/dist/packages/combobox/combobox.test.js +249 -133
  252. package/dist/packages/combobox/react.d.ts +15 -7
  253. package/dist/packages/combobox/react.js +14 -14
  254. package/dist/packages/combobox/styles.js +2 -3
  255. package/dist/packages/datepicker/DatePicker.test.d.ts +2 -2
  256. package/dist/packages/datepicker/DatePicker.test.js +49 -42
  257. package/dist/packages/datepicker/datepicker.d.ts +8 -8
  258. package/dist/packages/datepicker/datepicker.hydration.test.d.ts +1 -1
  259. package/dist/packages/datepicker/datepicker.hydration.test.js +21 -21
  260. package/dist/packages/datepicker/datepicker.js +673 -632
  261. package/dist/packages/datepicker/datepicker.js.map +4 -4
  262. package/dist/packages/datepicker/datepicker.react.stories.d.ts +17 -17
  263. package/dist/packages/datepicker/datepicker.react.stories.js +9 -9
  264. package/dist/packages/datepicker/datepicker.react.test.js +6 -6
  265. package/dist/packages/datepicker/datepicker.stories.d.ts +4 -4
  266. package/dist/packages/datepicker/datepicker.stories.js +32 -32
  267. package/dist/packages/datepicker/datepicker.test.d.ts +2 -2
  268. package/dist/packages/datepicker/datepicker.test.js +77 -79
  269. package/dist/packages/datepicker/react.d.ts +9 -9
  270. package/dist/packages/datepicker/react.js +16 -14
  271. package/dist/packages/datepicker/styles/w-datepicker-calendar.styles.js +13 -12
  272. package/dist/packages/datepicker/styles/w-datepicker-day.styles.js +58 -55
  273. package/dist/packages/datepicker/styles/w-datepicker-month.styles.js +60 -57
  274. package/dist/packages/datepicker/styles/w-datepicker.styles.js +87 -87
  275. package/dist/packages/datepicker/utils.d.ts +3 -0
  276. package/dist/packages/datepicker/utils.js +40 -1
  277. package/dist/packages/datepicker/utils.test.d.ts +1 -0
  278. package/dist/packages/datepicker/utils.test.js +29 -0
  279. package/dist/packages/expandable/expandable.d.ts +7 -7
  280. package/dist/packages/expandable/expandable.hydration.test.d.ts +1 -1
  281. package/dist/packages/expandable/expandable.hydration.test.js +21 -21
  282. package/dist/packages/expandable/expandable.js +359 -332
  283. package/dist/packages/expandable/expandable.js.map +4 -4
  284. package/dist/packages/expandable/expandable.react.stories.d.ts +3 -3
  285. package/dist/packages/expandable/expandable.react.stories.js +7 -7
  286. package/dist/packages/expandable/expandable.react.test.js +15 -7
  287. package/dist/packages/expandable/expandable.stories.d.ts +5 -5
  288. package/dist/packages/expandable/expandable.stories.js +51 -45
  289. package/dist/packages/expandable/expandable.test.d.ts +1 -1
  290. package/dist/packages/expandable/expandable.test.js +19 -17
  291. package/dist/packages/expandable/react.d.ts +2 -2
  292. package/dist/packages/expandable/react.js +9 -9
  293. package/dist/packages/expandable/styles.js +2 -2
  294. package/dist/packages/global.d.ts +1 -0
  295. package/dist/packages/global.js +5 -0
  296. package/dist/packages/i18n.d.ts +1 -1
  297. package/dist/packages/i18n.js +37 -29
  298. package/dist/packages/icon/icon.d.ts +7 -2
  299. package/dist/packages/icon/icon.hydration.test.d.ts +1 -1
  300. package/dist/packages/icon/icon.hydration.test.js +25 -25
  301. package/dist/packages/icon/icon.js +31 -26
  302. package/dist/packages/icon/icon.js.map +3 -3
  303. package/dist/packages/icon/icon.react.stories.d.ts +3 -2
  304. package/dist/packages/icon/icon.react.stories.js +284 -283
  305. package/dist/packages/icon/icon.stories.d.ts +7 -30
  306. package/dist/packages/icon/icon.stories.js +307 -297
  307. package/dist/packages/icon/icon.test.d.ts +1 -1
  308. package/dist/packages/icon/icon.test.js +36 -28
  309. package/dist/packages/icon/react.d.ts +1 -1
  310. package/dist/packages/icon/react.js +4 -4
  311. package/dist/packages/icon/style.js +24 -25
  312. package/dist/packages/interaction-type-detection.d.ts +22 -0
  313. package/dist/packages/interaction-type-detection.js +38 -0
  314. package/dist/packages/link/link.d.ts +7 -7
  315. package/dist/packages/link/link.hydration.test.d.ts +1 -1
  316. package/dist/packages/link/link.hydration.test.js +27 -27
  317. package/dist/packages/link/link.js +729 -682
  318. package/dist/packages/link/link.js.map +3 -3
  319. package/dist/packages/link/link.react.stories.d.ts +3 -3
  320. package/dist/packages/link/link.react.stories.js +42 -42
  321. package/dist/packages/link/link.react.test.js +5 -3
  322. package/dist/packages/link/link.stories.d.ts +3 -3
  323. package/dist/packages/link/link.stories.js +51 -51
  324. package/dist/packages/link/link.test.d.ts +1 -1
  325. package/dist/packages/link/link.test.js +11 -7
  326. package/dist/packages/link/react.d.ts +2 -2
  327. package/dist/packages/link/react.js +6 -6
  328. package/dist/packages/link/styles.js +63 -58
  329. package/dist/packages/modal/index.d.ts +7 -7
  330. package/dist/packages/modal/index.js +7 -7
  331. package/dist/packages/modal/modal.d.ts +19 -4
  332. package/dist/packages/modal/modal.hydration.test.d.ts +1 -1
  333. package/dist/packages/modal/modal.hydration.test.js +12 -12
  334. package/dist/packages/modal/modal.js +456 -409
  335. package/dist/packages/modal/modal.js.map +4 -4
  336. package/dist/packages/modal/modal.react.stories.d.ts +7 -7
  337. package/dist/packages/modal/modal.react.stories.js +15 -6
  338. package/dist/packages/modal/modal.react.test.js +5 -5
  339. package/dist/packages/modal/modal.stories.d.ts +9 -8
  340. package/dist/packages/modal/modal.stories.js +266 -248
  341. package/dist/packages/modal/react.d.ts +38 -8
  342. package/dist/packages/modal/react.js +43 -13
  343. package/dist/packages/modal/styles.d.ts +1 -0
  344. package/dist/packages/modal/styles.js +171 -0
  345. package/dist/packages/modal/util.js +3 -1
  346. package/dist/packages/modal-footer/modal-footer.d.ts +6 -2
  347. package/dist/packages/modal-footer/modal-footer.js +299 -296
  348. package/dist/packages/modal-footer/modal-footer.js.map +4 -4
  349. package/dist/packages/modal-footer/react.d.ts +1 -1
  350. package/dist/packages/modal-footer/react.js +4 -4
  351. package/dist/packages/modal-footer/styles.d.ts +1 -0
  352. package/dist/packages/modal-footer/styles.js +22 -0
  353. package/dist/packages/modal-header/modal-header.d.ts +14 -7
  354. package/dist/packages/modal-header/modal-header.js +451 -422
  355. package/dist/packages/modal-header/modal-header.js.map +4 -4
  356. package/dist/packages/modal-header/modal-header.react.test.js +5 -3
  357. package/dist/packages/modal-header/react.d.ts +4 -4
  358. package/dist/packages/modal-header/react.js +8 -8
  359. package/dist/packages/modal-header/styles.d.ts +1 -0
  360. package/dist/packages/modal-header/styles.js +96 -0
  361. package/dist/packages/page-indicator/page-indicator.d.ts +1 -5
  362. package/dist/packages/page-indicator/page-indicator.hydration.test.d.ts +1 -1
  363. package/dist/packages/page-indicator/page-indicator.hydration.test.js +22 -22
  364. package/dist/packages/page-indicator/page-indicator.js +29 -29
  365. package/dist/packages/page-indicator/page-indicator.js.map +4 -4
  366. package/dist/packages/page-indicator/page-indicator.react.stories.d.ts +3 -3
  367. package/dist/packages/page-indicator/page-indicator.react.stories.js +11 -11
  368. package/dist/packages/page-indicator/page-indicator.react.test.js +5 -5
  369. package/dist/packages/page-indicator/page-indicator.stories.d.ts +9 -27
  370. package/dist/packages/page-indicator/page-indicator.stories.js +63 -32
  371. package/dist/packages/page-indicator/page-indicator.test.d.ts +1 -1
  372. package/dist/packages/page-indicator/page-indicator.test.js +110 -70
  373. package/dist/packages/page-indicator/react.d.ts +2 -2
  374. package/dist/packages/page-indicator/react.js +7 -7
  375. package/dist/packages/page-indicator/style.js +21 -21
  376. package/dist/packages/pagination/pagination.a11y.test.d.ts +1 -1
  377. package/dist/packages/pagination/pagination.a11y.test.js +59 -25
  378. package/dist/packages/pagination/pagination.d.ts +10 -11
  379. package/dist/packages/pagination/pagination.hydration.test.d.ts +1 -1
  380. package/dist/packages/pagination/pagination.hydration.test.js +19 -19
  381. package/dist/packages/pagination/pagination.js +385 -354
  382. package/dist/packages/pagination/pagination.js.map +4 -4
  383. package/dist/packages/pagination/pagination.react.stories.d.ts +11 -11
  384. package/dist/packages/pagination/pagination.react.stories.js +8 -8
  385. package/dist/packages/pagination/pagination.react.test.js +6 -6
  386. package/dist/packages/pagination/pagination.stories.d.ts +3 -3
  387. package/dist/packages/pagination/pagination.stories.js +18 -18
  388. package/dist/packages/pagination/pagination.test.d.ts +1 -1
  389. package/dist/packages/pagination/pagination.test.js +146 -72
  390. package/dist/packages/pagination/react.d.ts +6 -6
  391. package/dist/packages/pagination/react.js +12 -10
  392. package/dist/packages/pagination/styles.js +2 -2
  393. package/dist/packages/pill/pill.d.ts +6 -6
  394. package/dist/packages/pill/pill.hydration.test.d.ts +1 -1
  395. package/dist/packages/pill/pill.hydration.test.js +14 -14
  396. package/dist/packages/pill/pill.js +337 -314
  397. package/dist/packages/pill/pill.js.map +4 -4
  398. package/dist/packages/pill/pill.react.stories.d.ts +11 -11
  399. package/dist/packages/pill/pill.react.stories.js +3 -3
  400. package/dist/packages/pill/pill.react.test.js +8 -8
  401. package/dist/packages/pill/pill.stories.d.ts +3 -3
  402. package/dist/packages/pill/pill.stories.js +8 -8
  403. package/dist/packages/pill/pill.test.d.ts +1 -1
  404. package/dist/packages/pill/pill.test.js +17 -15
  405. package/dist/packages/pill/react.d.ts +6 -6
  406. package/dist/packages/pill/react.js +18 -14
  407. package/dist/packages/pill/styles.js +2 -2
  408. package/dist/packages/radio/base-element.d.ts +3 -3
  409. package/dist/packages/radio/base-element.js +3 -3
  410. package/dist/packages/radio/custom-error-validator.d.ts +1 -1
  411. package/dist/packages/radio/custom-error-validator.js +3 -3
  412. package/dist/packages/radio/form-associated-element.d.ts +9 -9
  413. package/dist/packages/radio/form-associated-element.js +27 -26
  414. package/dist/packages/radio/host-styles.js +9 -9
  415. package/dist/packages/radio/invalid.d.ts +1 -1
  416. package/dist/packages/radio/invalid.js +1 -1
  417. package/dist/packages/radio/radio-styles.js +199 -160
  418. package/dist/packages/radio/radio.a11y.test.d.ts +2 -2
  419. package/dist/packages/radio/radio.a11y.test.js +60 -58
  420. package/dist/packages/radio/radio.d.ts +4 -4
  421. package/dist/packages/radio/radio.hydration.test.d.ts +1 -1
  422. package/dist/packages/radio/radio.hydration.test.js +23 -14
  423. package/dist/packages/radio/radio.js +491 -452
  424. package/dist/packages/radio/radio.js.map +3 -3
  425. package/dist/packages/radio/radio.react.stories.d.ts +2 -2
  426. package/dist/packages/radio/radio.react.stories.js +3 -3
  427. package/dist/packages/radio/radio.stories.d.ts +4 -4
  428. package/dist/packages/radio/radio.stories.js +152 -136
  429. package/dist/packages/radio/radio.test.d.ts +1 -1
  430. package/dist/packages/radio/radio.test.js +74 -73
  431. package/dist/packages/radio/react.d.ts +1 -1
  432. package/dist/packages/radio/react.js +4 -4
  433. package/dist/packages/radio/required-validator.d.ts +1 -1
  434. package/dist/packages/radio/required-validator.js +12 -7
  435. package/dist/packages/radio/slot.d.ts +1 -1
  436. package/dist/packages/radio/slot.js +11 -8
  437. package/dist/packages/radio/watch.d.ts +1 -1
  438. package/dist/packages/radio/watch.js +3 -1
  439. package/dist/packages/radio-group/radio-group-styles.js +121 -88
  440. package/dist/packages/radio-group/radio-group.a11y.test.d.ts +2 -2
  441. package/dist/packages/radio-group/radio-group.a11y.test.js +81 -79
  442. package/dist/packages/radio-group/radio-group.d.ts +16 -7
  443. package/dist/packages/radio-group/radio-group.hydration.test.d.ts +2 -2
  444. package/dist/packages/radio-group/radio-group.hydration.test.js +29 -18
  445. package/dist/packages/radio-group/radio-group.js +655 -567
  446. package/dist/packages/radio-group/radio-group.js.map +4 -4
  447. package/dist/packages/radio-group/radio-group.react.test.js +4 -4
  448. package/dist/packages/radio-group/radio-group.test.d.ts +2 -2
  449. package/dist/packages/radio-group/radio-group.test.js +304 -230
  450. package/dist/packages/radio-group/react.d.ts +7 -7
  451. package/dist/packages/radio-group/react.js +10 -10
  452. package/dist/packages/select/input-styles.d.ts +11 -0
  453. package/dist/packages/select/input-styles.js +88 -0
  454. package/dist/packages/select/locales/da/messages.mjs +1 -1
  455. package/dist/packages/select/locales/en/messages.mjs +1 -1
  456. package/dist/packages/select/locales/fi/messages.mjs +1 -1
  457. package/dist/packages/select/locales/nb/messages.mjs +1 -1
  458. package/dist/packages/select/locales/sv/messages.mjs +1 -1
  459. package/dist/packages/select/react.d.ts +5 -5
  460. package/dist/packages/select/react.js +11 -11
  461. package/dist/packages/select/select.a11y.test.d.ts +1 -1
  462. package/dist/packages/select/select.a11y.test.js +98 -91
  463. package/dist/packages/select/select.d.ts +10 -11
  464. package/dist/packages/select/select.hydration.test.d.ts +1 -1
  465. package/dist/packages/select/select.hydration.test.js +16 -16
  466. package/dist/packages/select/select.js +432 -336
  467. package/dist/packages/select/select.js.map +4 -4
  468. package/dist/packages/select/select.react.stories.d.ts +10 -10
  469. package/dist/packages/select/select.react.stories.js +19 -14
  470. package/dist/packages/select/select.react.test.js +6 -6
  471. package/dist/packages/select/select.stories.d.ts +3 -3
  472. package/dist/packages/select/select.stories.js +51 -48
  473. package/dist/packages/select/select.test.d.ts +1 -1
  474. package/dist/packages/select/select.test.js +227 -178
  475. package/dist/packages/select/styles.js +2 -2
  476. package/dist/packages/slider/Slider.d.ts +1 -1
  477. package/dist/packages/slider/Slider.js +4 -4
  478. package/dist/packages/slider/index.d.ts +2 -2
  479. package/dist/packages/slider/index.js +2 -2
  480. package/dist/packages/slider/locales/da/messages.mjs +1 -1
  481. package/dist/packages/slider/locales/en/messages.mjs +1 -1
  482. package/dist/packages/slider/locales/fi/messages.mjs +1 -1
  483. package/dist/packages/slider/locales/nb/messages.mjs +1 -1
  484. package/dist/packages/slider/locales/sv/messages.mjs +1 -1
  485. package/dist/packages/slider/react.d.ts +4 -4
  486. package/dist/packages/slider/react.js +9 -9
  487. package/dist/packages/slider/slider.d.ts +25 -17
  488. package/dist/packages/slider/slider.hydration.test.d.ts +1 -1
  489. package/dist/packages/slider/slider.hydration.test.js +39 -20
  490. package/dist/packages/slider/slider.js +524 -467
  491. package/dist/packages/slider/slider.js.map +4 -4
  492. package/dist/packages/slider/slider.react.stories.d.ts +4 -4
  493. package/dist/packages/slider/slider.react.stories.js +31 -34
  494. package/dist/packages/slider/slider.react.test.js +6 -6
  495. package/dist/packages/slider/slider.stories.d.ts +9 -7
  496. package/dist/packages/slider/slider.stories.js +369 -340
  497. package/dist/packages/slider/slider.test.d.ts +5 -5
  498. package/dist/packages/slider/slider.test.js +476 -336
  499. package/dist/packages/slider/styles/w-slider.styles.js +166 -148
  500. package/dist/packages/slider/styles.js +2 -2
  501. package/dist/packages/slider-thumb/SliderThumb.d.ts +1 -1
  502. package/dist/packages/slider-thumb/SliderThumb.js +4 -4
  503. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.d.ts +1 -1
  504. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.js +1 -1
  505. package/dist/packages/slider-thumb/react.d.ts +5 -5
  506. package/dist/packages/slider-thumb/react.js +11 -9
  507. package/dist/packages/slider-thumb/slider-thumb.d.ts +17 -17
  508. package/dist/packages/slider-thumb/slider-thumb.hydration.test.d.ts +1 -1
  509. package/dist/packages/slider-thumb/slider-thumb.hydration.test.js +26 -17
  510. package/dist/packages/slider-thumb/slider-thumb.js +550 -553
  511. package/dist/packages/slider-thumb/slider-thumb.js.map +4 -4
  512. package/dist/packages/slider-thumb/slider-thumb.react.test.js +9 -5
  513. package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.js +189 -188
  514. package/dist/packages/slider-thumb/styles.d.ts +1 -0
  515. package/dist/packages/slider-thumb/styles.js +2 -0
  516. package/dist/packages/snackbar/locales/da/messages.d.mts +1 -0
  517. package/dist/packages/snackbar/locales/da/messages.mjs +1 -0
  518. package/dist/packages/snackbar/locales/en/messages.d.mts +1 -0
  519. package/dist/packages/snackbar/locales/en/messages.mjs +1 -0
  520. package/dist/packages/snackbar/locales/fi/messages.d.mts +1 -0
  521. package/dist/packages/snackbar/locales/fi/messages.mjs +1 -0
  522. package/dist/packages/snackbar/locales/nb/messages.d.mts +1 -0
  523. package/dist/packages/snackbar/locales/nb/messages.mjs +1 -0
  524. package/dist/packages/snackbar/locales/sv/messages.d.mts +1 -0
  525. package/dist/packages/snackbar/locales/sv/messages.mjs +1 -0
  526. package/dist/packages/snackbar/react.d.ts +2 -0
  527. package/dist/packages/snackbar/react.js +11 -0
  528. package/dist/packages/snackbar/snackbar.d.ts +132 -0
  529. package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -0
  530. package/dist/packages/snackbar/snackbar.hydration.test.js +13 -0
  531. package/dist/packages/snackbar/snackbar.js +2665 -0
  532. package/dist/packages/snackbar/snackbar.js.map +7 -0
  533. package/dist/packages/snackbar/snackbar.react.stories.d.ts +12 -0
  534. package/dist/packages/snackbar/snackbar.react.stories.js +160 -0
  535. package/dist/packages/snackbar/snackbar.stories.d.ts +20 -0
  536. package/dist/packages/snackbar/snackbar.stories.js +363 -0
  537. package/dist/packages/snackbar/snackbar.test.d.ts +4 -0
  538. package/dist/packages/snackbar/snackbar.test.js +17 -0
  539. package/dist/packages/snackbar/styles.d.ts +1 -0
  540. package/dist/packages/snackbar/styles.js +35 -0
  541. package/dist/packages/snackbar-item/react.d.ts +5 -0
  542. package/dist/packages/snackbar-item/react.js +16 -0
  543. package/dist/packages/snackbar-item/snackbar-item.d.ts +69 -0
  544. package/dist/packages/snackbar-item/snackbar-item.js +2620 -0
  545. package/dist/packages/snackbar-item/snackbar-item.js.map +7 -0
  546. package/dist/packages/snackbar-item/snackbar-item.react.test.d.ts +1 -0
  547. package/dist/packages/snackbar-item/snackbar-item.react.test.js +5 -0
  548. package/dist/packages/snackbar-item/styles.d.ts +1 -0
  549. package/dist/packages/snackbar-item/styles.js +133 -0
  550. package/dist/packages/step/react.d.ts +1 -1
  551. package/dist/packages/step/react.js +4 -4
  552. package/dist/packages/step/step.d.ts +2 -2
  553. package/dist/packages/step/step.hydration.test.d.ts +1 -1
  554. package/dist/packages/step/step.hydration.test.js +10 -10
  555. package/dist/packages/step/step.js +337 -315
  556. package/dist/packages/step/step.js.map +4 -4
  557. package/dist/packages/step/styles.d.ts +1 -0
  558. package/dist/packages/step/styles.js +2 -0
  559. package/dist/packages/step-indicator/index.d.ts +2 -2
  560. package/dist/packages/step-indicator/index.js +2 -2
  561. package/dist/packages/step-indicator/react.d.ts +2 -2
  562. package/dist/packages/step-indicator/react.js +5 -5
  563. package/dist/packages/step-indicator/step-indicator.a11y.test.d.ts +2 -2
  564. package/dist/packages/step-indicator/step-indicator.a11y.test.js +48 -46
  565. package/dist/packages/step-indicator/step-indicator.d.ts +1 -1
  566. package/dist/packages/step-indicator/step-indicator.hydration.test.d.ts +1 -1
  567. package/dist/packages/step-indicator/step-indicator.hydration.test.js +10 -10
  568. package/dist/packages/step-indicator/step-indicator.js +285 -281
  569. package/dist/packages/step-indicator/step-indicator.js.map +3 -3
  570. package/dist/packages/step-indicator/stepindicator.react.stories.d.ts +2 -2
  571. package/dist/packages/step-indicator/stepindicator.react.stories.js +3 -3
  572. package/dist/packages/step-indicator/stepindicator.stories.d.ts +3 -3
  573. package/dist/packages/step-indicator/stepindicator.stories.js +129 -129
  574. package/dist/packages/step-indicator/styles.js +2 -2
  575. package/dist/packages/styles.js +277 -275
  576. package/dist/packages/switch/react.d.ts +1 -1
  577. package/dist/packages/switch/react.js +6 -6
  578. package/dist/packages/switch/styles.js +2 -2
  579. package/dist/packages/switch/switch.a11y.test.d.ts +1 -1
  580. package/dist/packages/switch/switch.a11y.test.js +46 -38
  581. package/dist/packages/switch/switch.d.ts +3 -3
  582. package/dist/packages/switch/switch.hydration.test.d.ts +1 -1
  583. package/dist/packages/switch/switch.hydration.test.js +23 -23
  584. package/dist/packages/switch/switch.js +304 -304
  585. package/dist/packages/switch/switch.js.map +3 -3
  586. package/dist/packages/switch/switch.react.stories.d.ts +2 -2
  587. package/dist/packages/switch/switch.react.stories.js +2 -2
  588. package/dist/packages/switch/switch.stories.d.ts +2 -2
  589. package/dist/packages/switch/switch.stories.js +42 -37
  590. package/dist/packages/switch/switch.test.d.ts +1 -1
  591. package/dist/packages/switch/switch.test.js +30 -35
  592. package/dist/packages/tab/react.d.ts +9 -7
  593. package/dist/packages/tab/react.js +11 -10
  594. package/dist/packages/tab/styles.d.ts +1 -0
  595. package/dist/packages/tab/styles.js +2 -0
  596. package/dist/packages/tab/tab.d.ts +6 -6
  597. package/dist/packages/tab/tab.hydration.test.d.ts +1 -1
  598. package/dist/packages/tab/tab.hydration.test.js +18 -12
  599. package/dist/packages/tab/tab.js +309 -308
  600. package/dist/packages/tab/tab.js.map +4 -4
  601. package/dist/packages/tab/tab.react.test.js +5 -3
  602. package/dist/packages/tab-panel/react.d.ts +3 -2
  603. package/dist/packages/tab-panel/react.js +11 -5
  604. package/dist/packages/tab-panel/tab-panel.d.ts +3 -3
  605. package/dist/packages/tab-panel/tab-panel.hydration.test.d.ts +1 -1
  606. package/dist/packages/tab-panel/tab-panel.hydration.test.js +13 -10
  607. package/dist/packages/tab-panel/tab-panel.js +293 -291
  608. package/dist/packages/tab-panel/tab-panel.js.map +3 -3
  609. package/dist/packages/tabs/index.d.ts +4 -4
  610. package/dist/packages/tabs/index.js +3 -3
  611. package/dist/packages/tabs/react.d.ts +27 -8
  612. package/dist/packages/tabs/react.js +30 -9
  613. package/dist/packages/tabs/styles.js +2 -2
  614. package/dist/packages/tabs/tabs.a11y.test.d.ts +3 -3
  615. package/dist/packages/tabs/tabs.a11y.test.js +188 -169
  616. package/dist/packages/tabs/tabs.d.ts +6 -5
  617. package/dist/packages/tabs/tabs.hydration.test.d.ts +3 -1
  618. package/dist/packages/tabs/tabs.hydration.test.js +22 -8
  619. package/dist/packages/tabs/tabs.js +293 -286
  620. package/dist/packages/tabs/tabs.js.map +3 -3
  621. package/dist/packages/tabs/tabs.react.stories.d.ts +12 -10
  622. package/dist/packages/tabs/tabs.react.stories.js +28 -28
  623. package/dist/packages/tabs/tabs.stories.d.ts +4 -4
  624. package/dist/packages/tabs/tabs.stories.js +101 -95
  625. package/dist/packages/tabs/tabs.test.d.ts +3 -3
  626. package/dist/packages/tabs/tabs.test.js +136 -122
  627. package/dist/packages/textarea/input-styles.d.ts +11 -0
  628. package/dist/packages/textarea/input-styles.js +88 -0
  629. package/dist/packages/textarea/locales/da/messages.mjs +1 -1
  630. package/dist/packages/textarea/locales/en/messages.mjs +1 -1
  631. package/dist/packages/textarea/locales/fi/messages.mjs +1 -1
  632. package/dist/packages/textarea/locales/nb/messages.mjs +1 -1
  633. package/dist/packages/textarea/locales/sv/messages.mjs +1 -1
  634. package/dist/packages/textarea/react.d.ts +11 -11
  635. package/dist/packages/textarea/react.js +17 -17
  636. package/dist/packages/textarea/styles.js +2 -2
  637. package/dist/packages/textarea/textarea.a11y.test.d.ts +1 -1
  638. package/dist/packages/textarea/textarea.a11y.test.js +90 -58
  639. package/dist/packages/textarea/textarea.d.ts +14 -15
  640. package/dist/packages/textarea/textarea.hydration.test.d.ts +1 -1
  641. package/dist/packages/textarea/textarea.hydration.test.js +19 -19
  642. package/dist/packages/textarea/textarea.js +385 -304
  643. package/dist/packages/textarea/textarea.js.map +4 -4
  644. package/dist/packages/textarea/textarea.react.stories.d.ts +38 -21
  645. package/dist/packages/textarea/textarea.react.stories.js +30 -13
  646. package/dist/packages/textarea/textarea.react.test.js +7 -7
  647. package/dist/packages/textarea/textarea.stories.d.ts +3 -3
  648. package/dist/packages/textarea/textarea.stories.js +44 -42
  649. package/dist/packages/textarea/textarea.test.d.ts +1 -1
  650. package/dist/packages/textarea/textarea.test.js +197 -88
  651. package/dist/packages/textfield/input-styles.d.ts +11 -0
  652. package/dist/packages/textfield/input-styles.js +88 -0
  653. package/dist/packages/textfield/locales/da/messages.d.mts +1 -0
  654. package/dist/packages/textfield/locales/da/messages.mjs +1 -0
  655. package/dist/packages/textfield/locales/en/messages.d.mts +1 -0
  656. package/dist/packages/textfield/locales/en/messages.mjs +1 -0
  657. package/dist/packages/textfield/locales/fi/messages.d.mts +1 -0
  658. package/dist/packages/textfield/locales/fi/messages.mjs +1 -0
  659. package/dist/packages/textfield/locales/nb/messages.d.mts +1 -0
  660. package/dist/packages/textfield/locales/nb/messages.mjs +1 -0
  661. package/dist/packages/textfield/locales/sv/messages.d.mts +1 -0
  662. package/dist/packages/textfield/locales/sv/messages.mjs +1 -0
  663. package/dist/packages/textfield/react.d.ts +11 -11
  664. package/dist/packages/textfield/react.js +17 -17
  665. package/dist/packages/textfield/styles/w-textfield.styles.js +60 -58
  666. package/dist/packages/textfield/styles.js +2 -2
  667. package/dist/packages/textfield/textfield.d.ts +36 -26
  668. package/dist/packages/textfield/textfield.hydration.test.d.ts +1 -1
  669. package/dist/packages/textfield/textfield.hydration.test.js +19 -19
  670. package/dist/packages/textfield/textfield.js +468 -373
  671. package/dist/packages/textfield/textfield.js.map +4 -4
  672. package/dist/packages/textfield/textfield.react.stories.d.ts +51 -21
  673. package/dist/packages/textfield/textfield.react.stories.js +63 -31
  674. package/dist/packages/textfield/textfield.react.test.js +7 -7
  675. package/dist/packages/textfield/textfield.stories.d.ts +4 -4
  676. package/dist/packages/textfield/textfield.stories.js +107 -89
  677. package/dist/packages/textfield/textfield.test.d.ts +2 -2
  678. package/dist/packages/textfield/textfield.test.js +174 -71
  679. package/dist/packages/toast/api.d.ts +2 -2
  680. package/dist/packages/toast/api.js +3 -3
  681. package/dist/packages/toast/index.d.ts +5 -5
  682. package/dist/packages/toast/index.js +5 -5
  683. package/dist/packages/toast/styles.js +2 -2
  684. package/dist/packages/toast/toast.d.ts +5 -5
  685. package/dist/packages/toast/toast.js +349 -320
  686. package/dist/packages/toast/toast.js.map +4 -4
  687. package/dist/packages/toast/toast.stories.d.ts +4 -4
  688. package/dist/packages/toast/toast.stories.js +37 -16
  689. package/dist/packages/toast/toast.test.d.ts +1 -1
  690. package/dist/packages/toast/toast.test.js +48 -31
  691. package/dist/packages/toast/types.d.ts +1 -1
  692. package/dist/packages/toast-container/styles.d.ts +1 -0
  693. package/dist/packages/toast-container/styles.js +2 -0
  694. package/dist/packages/toast-container/toast-container.d.ts +2 -2
  695. package/dist/packages/toast-container/toast-container.js +295 -294
  696. package/dist/packages/toast-container/toast-container.js.map +4 -4
  697. package/dist/packages/utils/element-collapse.d.ts +12 -0
  698. package/dist/packages/utils/element-collapse.js +102 -0
  699. package/dist/packages/utils/expand-transition.d.ts +1 -1
  700. package/dist/packages/utils/expand-transition.js +12 -10
  701. package/dist/packages/utils/unstyled-heading.d.ts +1 -1
  702. package/dist/packages/utils/unstyled-heading.js +4 -4
  703. package/dist/packages/utils/window-exists.js +1 -1
  704. package/dist/packages/utils.js +2 -2
  705. package/dist/setup-tests.d.ts +3 -3
  706. package/dist/setup-tests.js +16 -13
  707. package/dist/tests/react-hydration.js +29 -30
  708. package/dist/tests/react-ssr-attributes.d.ts +1 -1
  709. package/dist/tests/react-ssr-attributes.js +4 -4
  710. package/dist/web-types.json +432 -230
  711. package/eik/index.js +20 -39
  712. package/package.json +29 -23
@@ -1,118 +1,233 @@
1
- ## Styling API
1
+ # Radio and Radio Group Styling
2
2
 
3
- This section documents the supported styling hooks for `<w-radio>` and `<w-radio-group>`.
3
+ This document covers the styling API for both `<w-radio>` (individual radio buttons) and `<w-radio-group>` (the container that manages them).
4
4
 
5
- Use these hooks to customize appearance without relying on internal structure or selectors.
5
+ ## Quick Start
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.
7
+ ```html
8
+ <w-radio-group label="Choose a size" name="size">
9
+ <w-radio value="small">Small</w-radio>
10
+ <w-radio value="medium">Medium</w-radio>
11
+ <w-radio value="large">Large</w-radio>
12
+ </w-radio-group>
13
+ ```
8
14
 
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.
15
+ Customize via component tokens:
12
16
 
13
- ### Parts
17
+ ```css
18
+ /* Style all radio groups in a section */
19
+ .settings {
20
+ --w-c-radio-group-gap: 12px;
21
+ --w-c-radio-size: 2.4rem;
22
+ }
23
+ ```
14
24
 
15
- The radio exposes a small set of parts that can be targeted for last‑mile layout or typography tweaks.
25
+ ---
16
26
 
17
- | Part | Targets | Typical use |
18
- |---|---|---|
19
- | `control` | radio control (circle) | minor alignment or sizing tweaks |
20
- | `label` | label content | typography tweaks |
27
+ ## Styling Philosophy
21
28
 
22
- Example:
29
+ Before customizing, remember that changing defaults can create inconsistent experiences. Prefer the defaults.
23
30
 
31
+ - **Component tokens** for size, spacing, color, and state styling
32
+ - **Parts** only for small, one-off tweaks
33
+ - Avoid relying on internal class names
34
+
35
+ ---
36
+
37
+ ## Radio Group (`<w-radio-group>`)
38
+
39
+ ### Parts
40
+
41
+ | Part | Targets | Use Case |
42
+ |------|---------|----------|
43
+ | `form-control` | The `<fieldset>` wrapper | Outer container tweaks |
44
+ | `form-control-label` | The group label element | Label typography overrides |
45
+ | `form-control-input` | Container for radio buttons | Adjust layout/flow of radios |
46
+ | `help-text` | Help text / error message | Style hint text |
47
+
48
+ **Example:**
24
49
  ```css
25
- w-radio::part(label) {
26
- font-weight: 600;
50
+ w-radio-group::part(form-control-label) {
51
+ text-transform: uppercase;
27
52
  }
28
53
 
29
- w-radio::part(control) {
30
- margin-top: 1px;
54
+ w-radio-group::part(form-control-input) {
55
+ flex-direction: row; /* horizontal radios */
31
56
  }
32
57
  ```
33
58
 
34
- Parts are intended as an **escape hatch**.
35
- Prefer component tokens for anything state‑ or size‑related.
59
+ ### Component Tokens
36
60
 
61
+ #### Label
37
62
 
38
- ### Component tokens
63
+ | Token | Purpose | Default |
64
+ |-------|---------|---------|
65
+ | `--w-c-radio-group-label-font-size` | Label font size | `var(--w-font-size-s)` |
66
+ | `--w-c-radio-group-label-line-height` | Label line height | `var(--w-line-height-s)` |
67
+ | `--w-c-radio-group-label-font-weight` | Label font weight | `700` |
68
+ | `--w-c-radio-group-label-color` | Label text color | `var(--w-s-color-text)` |
69
+ | `--w-c-radio-group-label-color-disabled` | Label color when disabled | `var(--w-s-color-text-disabled)` |
70
+ | `--w-c-radio-group-label-padding-bottom` | Space below label | `16px` |
39
71
 
40
- Component tokens (`--w-c-radio-*`) act as inputs to the radio styling.
41
- They can be set directly on the component or inherited from a parent container.
72
+ #### Optional Indicator
42
73
 
74
+ | Token | Purpose | Default |
75
+ |-------|---------|---------|
76
+ | `--w-c-radio-group-optional-font-weight` | "Optional" text weight | `400` |
77
+ | `--w-c-radio-group-optional-color` | "Optional" text color | `var(--w-s-color-text-subtle)` |
78
+ | `--w-c-radio-group-optional-margin-inline-start` | Space before "Optional" | `0.5rem` |
79
+
80
+ #### Radio Spacing
81
+
82
+ | Token | Purpose | Default |
83
+ |-------|---------|---------|
84
+ | `--w-c-radio-group-gap` | Gap between radio buttons | `16px` |
85
+
86
+ #### Help Text
87
+
88
+ | Token | Purpose | Default |
89
+ |-------|---------|---------|
90
+ | `--w-c-radio-group-help-text-margin-block-start` | Space above help text | `16px` |
91
+ | `--w-c-radio-group-help-text-font-size` | Help text font size | `var(--w-font-size-xs)` |
92
+ | `--w-c-radio-group-help-text-line-height` | Help text line height | `var(--w-line-height-xs)` |
93
+ | `--w-c-radio-group-help-text-color` | Help text color | `var(--w-s-color-text-subtle)` |
94
+ | `--w-c-radio-group-help-text-color-disabled` | Help text color when disabled | `var(--w-s-color-text-disabled)` |
95
+ | `--w-c-radio-group-help-text-color-error` | Help text color when invalid | `var(--w-s-color-text-negative)` |
96
+
97
+ **Example:**
43
98
  ```css
44
- .settings-panel {
45
- --w-c-radio-gap: 12px;
99
+ w-radio-group {
100
+ --w-c-radio-group-gap: 12px;
101
+ --w-c-radio-group-label-font-weight: 600;
102
+ --w-c-radio-group-help-text-color: var(--w-s-color-text);
46
103
  }
47
104
  ```
48
105
 
49
- Defaults are defined internally; setting a token is always optional.
106
+ ---
50
107
 
108
+ ## Individual Radio (`<w-radio>`)
51
109
 
52
- #### Layout & size
53
-
54
- | Token | Purpose | Default |
55
- |---|---|---|
56
- | `--w-c-radio-gap` | space between control and label | `8px` |
57
- | `--w-c-radio-size` | width/height of the control | `2rem` |
58
- | `--w-c-radio-radius` | border radius of the control | `50%` |
59
- | `--w-c-radio-border-width` | border width | `1px` |
60
- | `--w-c-radio-checked-border-width` | border width when checked | `0.6rem` |
110
+ ### Parts
61
111
 
112
+ | Part | Targets | Use Case |
113
+ |------|---------|----------|
114
+ | `base` | Wrapper containing control and label | Container-level adjustments |
115
+ | `control` | Radio control (circle) | Alignment or sizing tweaks |
116
+ | `label` | Label content | Typography overrides |
62
117
 
63
- #### Colors
118
+ **Example:**
119
+ ```css
120
+ w-radio::part(label) {
121
+ font-weight: 600;
122
+ }
64
123
 
65
- | Token | Purpose | Default |
66
- |---|---|---|
67
- | `--w-c-radio-bg` | control background | theme default |
68
- | `--w-c-radio-border-color` | control border color | theme default |
69
- | `--w-c-radio-border-color-checked` | border color when checked | theme default |
70
- | `--w-c-radio-label-color` | label text color | `currentColor` |
124
+ w-radio::part(control) {
125
+ margin-top: 1px;
126
+ }
127
+ ```
71
128
 
129
+ ### Component Tokens
72
130
 
73
- #### Invalid state
131
+ #### Layout & Size
74
132
 
75
133
  | Token | Purpose | Default |
76
- |---|---|---|
77
- | `--w-c-radio-border-color-invalid` | border color when invalid | theme default |
134
+ |-------|---------|---------|
135
+ | `--w-c-radio-gap` | Space between control and label | `8px` |
136
+ | `--w-c-radio-size` | Width/height of control | `2rem` |
137
+ | `--w-c-radio-radius` | Border radius | `50%` |
138
+ | `--w-c-radio-border-width` | Border width | `1px` |
139
+ | `--w-c-radio-checked-border-width` | Border width when checked | `0.6rem` |
140
+
141
+ #### Colors
78
142
 
143
+ | Token | Purpose | Default |
144
+ |-------|---------|---------|
145
+ | `--w-c-radio-bg` | Control background | `var(--w-s-color-background)` |
146
+ | `--w-c-radio-border-color` | Control border color | `var(--w-s-color-border-strong)` |
147
+ | `--w-c-radio-border-color-checked` | Border when checked | `var(--w-s-color-border-selected)` |
148
+ | `--w-c-radio-border-color-invalid` | Border when invalid | `var(--w-s-color-border-negative)` |
149
+ | `--w-c-radio-label-color` | Label text color | `currentColor` |
79
150
 
80
- #### Disabled state
151
+ #### Disabled State
81
152
 
82
153
  | Token | Purpose | Default |
83
- |---|---|---|
84
- | `--w-c-radio-bg-disabled` | background when disabled | theme default |
85
- | `--w-c-radio-border-color-disabled` | border when disabled | theme default |
86
- | `--w-c-radio-label-color-disabled` | label color when disabled | theme default |
87
- | `--w-c-radio-cursor-disabled` | cursor when disabled | `not-allowed` |
154
+ |-------|---------|---------|
155
+ | `--w-c-radio-bg-disabled` | Background when disabled | `var(--w-s-color-background-disabled-subtle)` |
156
+ | `--w-c-radio-border-color-disabled` | Border when disabled | `var(--w-s-color-border-disabled)` |
157
+ | `--w-c-radio-label-color-disabled` | Label color when disabled | `var(--w-s-color-text-disabled)` |
158
+ | `--w-c-radio-cursor-disabled` | Cursor when disabled | `not-allowed` |
88
159
 
89
160
  #### Typography
90
161
 
91
162
  | Token | Purpose | Default |
92
- |---|---|---|
93
- | `--w-c-radio-label-font-size` | label font size | theme default |
94
- | `--w-c-radio-label-line-height` | label line height | theme default |
95
-
163
+ |-------|---------|---------|
164
+ | `--w-c-radio-label-font-size` | Label font size | `var(--w-font-size-m)` |
165
+ | `--w-c-radio-label-line-height` | Label line height | `var(--w-line-height-m)` |
96
166
 
97
167
  #### Focus
98
168
 
99
169
  | Token | Purpose | Default |
100
- |---|---|---|
101
- | `--w-c-radio-outline-width` | focus outline width | `2px` |
102
- | `--w-c-radio-outline-color` | focus outline color | theme default |
103
- | `--w-c-radio-outline-offset` | focus outline offset | theme default |
170
+ |-------|---------|---------|
171
+ | `--w-c-radio-outline-width` | Focus outline width | `2px` |
172
+ | `--w-c-radio-outline-color` | Focus outline color | `var(--w-s-color-border-focus)` |
173
+ | `--w-c-radio-outline-offset` | Focus outline offset | `var(--w-outline-offset, 1px)` |
104
174
 
105
175
  #### Interaction
106
176
 
107
177
  | Token | Purpose | Default |
108
- |---|---|---|
109
- | `--w-c-radio-cursor` | cursor in enabled state | `pointer` |
178
+ |-------|---------|---------|
179
+ | `--w-c-radio-cursor` | Cursor in enabled state | `pointer` |
110
180
 
111
181
  #### Motion
112
182
 
113
183
  | Token | Purpose | Default |
114
- |---|---|---|
115
- | `--w-c-radio-transition` | transition for control | `150ms cubic-bezier(0.4, 0, 0.2, 1)` |
184
+ |-------|---------|---------|
185
+ | `--w-c-radio-transition` | Transition for control | `border-color 150ms, border-width 150ms, background-color 150ms` |
186
+
187
+ **Note:** Transitions automatically disable when `prefers-reduced-motion: reduce` is active.
188
+
189
+ ---
190
+
191
+ ## Complete Examples
192
+
193
+ ### Horizontal Radio Group
194
+
195
+ ```css
196
+ w-radio-group::part(form-control-input) {
197
+ flex-direction: row;
198
+ flex-wrap: wrap;
199
+ }
200
+ ```
201
+
202
+ ### Larger Radio Buttons
203
+
204
+ ```css
205
+ w-radio {
206
+ --w-c-radio-size: 2.4rem;
207
+ --w-c-radio-checked-border-width: 0.8rem;
208
+ }
209
+ ```
210
+
211
+ ### Custom Colors
212
+
213
+ ```css
214
+ w-radio {
215
+ --w-c-radio-border-color-checked: var(--w-s-color-border-success);
216
+ }
217
+ ```
218
+
219
+ ### Tighter Spacing
220
+
221
+ ```css
222
+ w-radio-group {
223
+ --w-c-radio-group-gap: 8px;
224
+ --w-c-radio-group-label-padding-bottom: 8px;
225
+ }
226
+ ```
227
+
228
+ ---
229
+
230
+ ## Architecture Note
116
231
 
117
- Transitions are automatically disabled when `prefers-reduced-motion: reduce` is active.
232
+ **Radio-group uses `<fieldset>`** which is the semantic HTML element for grouping form controls. Note that `<w-checkbox-group>` currently uses `<div>` instead - this inconsistency may be addressed in a future major version to align both components on the more accessible `<fieldset>` approach.
118
233
 
@@ -10,15 +10,15 @@ Unless otherwise noted all properties are HTML attributes (as opposed to JavaScr
10
10
  | auto-focus | `boolean` | `false` | Whether the element should receive focus on render. **Deprecated**: Use the native `autofocus` attribute instead. |
11
11
  | autofocus | `boolean` | `false` | Whether the element should receive focus on render |
12
12
  | disabled | `boolean` | `false` | Renders the field in a disabled state. |
13
- | help-text | `string` | `-` | The content displayed as the help text. |
14
- | hint | `string` | `-` | The content displayed as the help text. **Deprecated**: Use `help-text` instead. |
13
+ | help-text | `string \| undefined` | `-` | The content displayed as the help text. |
14
+ | hint | `string \| undefined` | `-` | The content displayed as the help text. **Deprecated**: Use `help-text` instead. |
15
15
  | invalid | `boolean` | `false` | Renders the field in an invalid state. |
16
- | label | `string` | `-` | The content to display as the label. |
17
- | name | `string` | `-` | The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the select when submitting the form. |
16
+ | label | `string \| undefined` | `-` | The content to display as the label. |
17
+ | name | `string \| undefined` | `-` | The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the select when submitting the form. |
18
18
  | optional | `boolean` | `false` | Whether to show the optional indicator after the label. |
19
19
  | read-only | `boolean` | `false` | Renders the field in a readonly state. **Deprecated**: Use the native readonly attribute instead. |
20
20
  | readonly | `boolean` | `false` | Renders the field in a readonly state. |
21
- | value | `string` | `-` | Lets you set the current value. |
21
+ | value | `string \| undefined` | `-` | Lets you set the current value. |
22
22
 
23
23
  ### Property Details
24
24
 
@@ -60,7 +60,7 @@ The content displayed as the help text.
60
60
 
61
61
  Paired with `invalid` to show the text as a validation error.
62
62
 
63
- - Type: `string`
63
+ - Type: `string | undefined`
64
64
  - Default: `-`
65
65
 
66
66
  #### hint
@@ -69,7 +69,7 @@ Paired with `invalid` to show the text as a validation error.
69
69
 
70
70
  The content displayed as the help text.
71
71
 
72
- - Type: `string`
72
+ - Type: `string | undefined`
73
73
  - Default: `-`
74
74
 
75
75
  #### invalid
@@ -85,14 +85,14 @@ Paired with `help-text` to provide feedback about the error.
85
85
 
86
86
  The content to display as the label.
87
87
 
88
- - Type: `string`
88
+ - Type: `string | undefined`
89
89
  - Default: `-`
90
90
 
91
91
  #### name
92
92
 
93
93
  The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the select when submitting the form.
94
94
 
95
- - Type: `string`
95
+ - Type: `string | undefined`
96
96
  - Default: `-`
97
97
 
98
98
  #### optional
@@ -122,7 +122,7 @@ Renders the field in a readonly state.
122
122
 
123
123
  Lets you set the current value.
124
124
 
125
- - Type: `string`
125
+ - Type: `string | undefined`
126
126
  - Default: `-`
127
127
 
128
128
  ### Events
@@ -160,6 +160,97 @@ The `readonly` boolean attribute makes the selection immutable. Unlike disabled
160
160
 
161
161
  ## Styling API
162
162
 
163
+ This section documents the supported styling hooks for `<w-select>`.
164
+
165
+ Use these hooks to customize appearance without relying on internal structure or selectors.
166
+
167
+ Before changing the default styles, remember that doing so can result in less consistent experiences for users across the product. Prefer defaults.
168
+
169
+ - Prefer **component tokens** for size, spacing, and state styling.
170
+ - Use **parts** only for small, local tweaks.
171
+ - Avoid relying on internal class names or selectors.
172
+
173
+ ### Parts
174
+
175
+ The select exposes a minimal set of parts that can be targeted for last‑mile layout or typography tweaks.
176
+
177
+ | Part | Targets | Typical use |
178
+ |---|---|---|
179
+ | `input` | native select element | minor typography or spacing tweaks |
180
+
181
+ Example:
182
+
183
+ ```css
184
+ w-select::part(input) {
185
+ letter-spacing: 0.5px;
186
+ }
187
+ ```
188
+
189
+ Parts are intended as an **escape hatch**.
190
+ Prefer component tokens for anything state‑ or size‑related.
191
+
192
+
193
+ ### Component tokens
194
+
195
+ Component tokens (`--w-c-input-*`) act as inputs to the select styling.
196
+ They can be set directly on the component or inherited from a parent container.
197
+
198
+ These tokens are **shared across textfield, textarea, and select** for consistent form styling.
199
+
200
+ ```css
201
+ .form-section {
202
+ --w-c-input-label-font-weight: 600;
203
+ --w-c-input-help-text-color: var(--w-s-color-text);
204
+ }
205
+ ```
206
+
207
+ Defaults are defined internally; setting a token is always optional.
208
+
209
+
210
+ #### Label tokens
211
+
212
+ | Token | Purpose | Default |
213
+ |---|---|---|
214
+ | `--w-c-input-label-color` | label text color | `--w-s-color-text` |
215
+ | `--w-c-input-label-font-size` | label font size | `--w-font-size-s` |
216
+ | `--w-c-input-label-line-height` | label line height | `--w-line-height-s` |
217
+ | `--w-c-input-label-font-weight` | label font weight | `700` |
218
+ | `--w-c-input-label-padding-bottom` | space below label | `0.4rem` |
219
+ | `--w-c-input-label-cursor` | cursor when hovering label | `pointer` |
220
+ | `--w-c-input-label-display` | label display mode | `block` |
221
+
222
+
223
+ #### Optional indicator tokens
224
+
225
+ When `optional` attribute is set, these tokens control the "(optional)" text styling:
226
+
227
+ | Token | Purpose | Default |
228
+ |---|---|---|
229
+ | `--w-c-input-optional-color` | optional text color | `--w-s-color-text-subtle` |
230
+ | `--w-c-input-optional-font-size` | optional text font size | `--w-font-size-s` |
231
+ | `--w-c-input-optional-line-height` | optional text line height | `--w-line-height-s` |
232
+ | `--w-c-input-optional-font-weight` | optional text font weight | `400` |
233
+ | `--w-c-input-optional-padding-left` | space before optional text | `0.8rem` |
234
+
235
+
236
+ #### Help text tokens
237
+
238
+ | Token | Purpose | Default |
239
+ |---|---|---|
240
+ | `--w-c-input-help-text-color` | help text color (normal state) | `--w-s-color-text-subtle` |
241
+ | `--w-c-input-help-text-color-invalid` | help text color when invalid | `--w-s-color-text-negative` |
242
+ | `--w-c-input-help-text-font-size` | help text font size | `--w-font-size-xs` |
243
+ | `--w-c-input-help-text-line-height` | help text line height | `--w-line-height-xs` |
244
+ | `--w-c-input-help-text-margin-top` | space above help text | `0.4rem` |
245
+ | `--w-c-input-help-text-display` | help text display mode | `block` |
246
+
247
+
248
+ ## Implementation notes
249
+
250
+ ### Shared token system
251
+
252
+ Select shares its label, optional indicator, and help text tokens with `w-textfield` and `w-textarea`. This ensures consistent form styling across all text input components.
253
+
163
254
  ## `<w-select>` API
164
255
 
165
256
  Unless otherwise noted all properties are HTML attributes (as opposed to JavaScript object properties).
@@ -172,15 +263,15 @@ Unless otherwise noted all properties are HTML attributes (as opposed to JavaScr
172
263
  | auto-focus | `boolean` | `false` | Whether the element should receive focus on render. **Deprecated**: Use the native `autofocus` attribute instead. |
173
264
  | autofocus | `boolean` | `false` | Whether the element should receive focus on render |
174
265
  | disabled | `boolean` | `false` | Renders the field in a disabled state. |
175
- | help-text | `string` | `-` | The content displayed as the help text. |
176
- | hint | `string` | `-` | The content displayed as the help text. **Deprecated**: Use `help-text` instead. |
266
+ | help-text | `string \| undefined` | `-` | The content displayed as the help text. |
267
+ | hint | `string \| undefined` | `-` | The content displayed as the help text. **Deprecated**: Use `help-text` instead. |
177
268
  | invalid | `boolean` | `false` | Renders the field in an invalid state. |
178
- | label | `string` | `-` | The content to display as the label. |
179
- | name | `string` | `-` | The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the select when submitting the form. |
269
+ | label | `string \| undefined` | `-` | The content to display as the label. |
270
+ | name | `string \| undefined` | `-` | The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the select when submitting the form. |
180
271
  | optional | `boolean` | `false` | Whether to show the optional indicator after the label. |
181
272
  | read-only | `boolean` | `false` | Renders the field in a readonly state. **Deprecated**: Use the native readonly attribute instead. |
182
273
  | readonly | `boolean` | `false` | Renders the field in a readonly state. |
183
- | value | `string` | `-` | Lets you set the current value. |
274
+ | value | `string \| undefined` | `-` | Lets you set the current value. |
184
275
 
185
276
  ### Property Details
186
277
 
@@ -222,7 +313,7 @@ The content displayed as the help text.
222
313
 
223
314
  Paired with `invalid` to show the text as a validation error.
224
315
 
225
- - Type: `string`
316
+ - Type: `string | undefined`
226
317
  - Default: `-`
227
318
 
228
319
  #### hint
@@ -231,7 +322,7 @@ Paired with `invalid` to show the text as a validation error.
231
322
 
232
323
  The content displayed as the help text.
233
324
 
234
- - Type: `string`
325
+ - Type: `string | undefined`
235
326
  - Default: `-`
236
327
 
237
328
  #### invalid
@@ -247,14 +338,14 @@ Paired with `help-text` to provide feedback about the error.
247
338
 
248
339
  The content to display as the label.
249
340
 
250
- - Type: `string`
341
+ - Type: `string | undefined`
251
342
  - Default: `-`
252
343
 
253
344
  #### name
254
345
 
255
346
  The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the select when submitting the form.
256
347
 
257
- - Type: `string`
348
+ - Type: `string | undefined`
258
349
  - Default: `-`
259
350
 
260
351
  #### optional
@@ -284,7 +375,7 @@ Renders the field in a readonly state.
284
375
 
285
376
  Lets you set the current value.
286
377
 
287
- - Type: `string`
378
+ - Type: `string | undefined`
288
379
  - Default: `-`
289
380
 
290
381
  ### Events
@@ -1 +1,92 @@
1
1
  ## Styling API
2
+
3
+ This section documents the supported styling hooks for `<w-select>`.
4
+
5
+ Use these hooks to customize appearance without relying on internal structure or selectors.
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
+ ### Parts
14
+
15
+ The select exposes a minimal set of parts that can be targeted for last‑mile layout or typography tweaks.
16
+
17
+ | Part | Targets | Typical use |
18
+ |---|---|---|
19
+ | `input` | native select element | minor typography or spacing tweaks |
20
+
21
+ Example:
22
+
23
+ ```css
24
+ w-select::part(input) {
25
+ letter-spacing: 0.5px;
26
+ }
27
+ ```
28
+
29
+ Parts are intended as an **escape hatch**.
30
+ Prefer component tokens for anything state‑ or size‑related.
31
+
32
+
33
+ ### Component tokens
34
+
35
+ Component tokens (`--w-c-input-*`) act as inputs to the select styling.
36
+ They can be set directly on the component or inherited from a parent container.
37
+
38
+ These tokens are **shared across textfield, textarea, and select** for consistent form styling.
39
+
40
+ ```css
41
+ .form-section {
42
+ --w-c-input-label-font-weight: 600;
43
+ --w-c-input-help-text-color: var(--w-s-color-text);
44
+ }
45
+ ```
46
+
47
+ Defaults are defined internally; setting a token is always optional.
48
+
49
+
50
+ #### Label tokens
51
+
52
+ | Token | Purpose | Default |
53
+ |---|---|---|
54
+ | `--w-c-input-label-color` | label text color | `--w-s-color-text` |
55
+ | `--w-c-input-label-font-size` | label font size | `--w-font-size-s` |
56
+ | `--w-c-input-label-line-height` | label line height | `--w-line-height-s` |
57
+ | `--w-c-input-label-font-weight` | label font weight | `700` |
58
+ | `--w-c-input-label-padding-bottom` | space below label | `0.4rem` |
59
+ | `--w-c-input-label-cursor` | cursor when hovering label | `pointer` |
60
+ | `--w-c-input-label-display` | label display mode | `block` |
61
+
62
+
63
+ #### Optional indicator tokens
64
+
65
+ When `optional` attribute is set, these tokens control the "(optional)" text styling:
66
+
67
+ | Token | Purpose | Default |
68
+ |---|---|---|
69
+ | `--w-c-input-optional-color` | optional text color | `--w-s-color-text-subtle` |
70
+ | `--w-c-input-optional-font-size` | optional text font size | `--w-font-size-s` |
71
+ | `--w-c-input-optional-line-height` | optional text line height | `--w-line-height-s` |
72
+ | `--w-c-input-optional-font-weight` | optional text font weight | `400` |
73
+ | `--w-c-input-optional-padding-left` | space before optional text | `0.8rem` |
74
+
75
+
76
+ #### Help text tokens
77
+
78
+ | Token | Purpose | Default |
79
+ |---|---|---|
80
+ | `--w-c-input-help-text-color` | help text color (normal state) | `--w-s-color-text-subtle` |
81
+ | `--w-c-input-help-text-color-invalid` | help text color when invalid | `--w-s-color-text-negative` |
82
+ | `--w-c-input-help-text-font-size` | help text font size | `--w-font-size-xs` |
83
+ | `--w-c-input-help-text-line-height` | help text line height | `--w-line-height-xs` |
84
+ | `--w-c-input-help-text-margin-top` | space above help text | `0.4rem` |
85
+ | `--w-c-input-help-text-display` | help text display mode | `block` |
86
+
87
+
88
+ ## Implementation notes
89
+
90
+ ### Shared token system
91
+
92
+ Select shares its label, optional indicator, and help text tokens with `w-textfield` and `w-textarea`. This ensures consistent form styling across all text input components.