@warp-ds/elements 2.10.0-next.9 → 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 (711) hide show
  1. package/dist/.storybook/utilities.js +4 -4
  2. package/dist/api.js.map +2 -2
  3. package/dist/custom-elements.json +1166 -502
  4. package/dist/docs/affix/affix.md +119 -2
  5. package/dist/docs/affix/api.md +2 -2
  6. package/dist/docs/affix/styling.md +107 -0
  7. package/dist/docs/alert/alert.md +4 -4
  8. package/dist/docs/alert/api.md +4 -4
  9. package/dist/docs/attention/api.md +50 -2
  10. package/dist/docs/attention/attention.md +50 -2
  11. package/dist/docs/badge/api.md +50 -4
  12. package/dist/docs/badge/badge.md +50 -4
  13. package/dist/docs/box/api.md +2 -2
  14. package/dist/docs/box/box.md +2 -2
  15. package/dist/docs/breadcrumb-item/api.md +27 -0
  16. package/dist/docs/breadcrumb-item/breadcrumb-item.md +34 -0
  17. package/dist/docs/breadcrumbs/accessibility.md +8 -18
  18. package/dist/docs/breadcrumbs/breadcrumbs.md +120 -34
  19. package/dist/docs/breadcrumbs/examples.md +8 -8
  20. package/dist/docs/breadcrumbs/styling.md +96 -0
  21. package/dist/docs/breadcrumbs/usage.md +8 -8
  22. package/dist/docs/button/api.md +32 -24
  23. package/dist/docs/button/button.md +32 -24
  24. package/dist/docs/card/api.md +8 -0
  25. package/dist/docs/card/card.md +8 -0
  26. package/dist/docs/checkbox/api.md +52 -4
  27. package/dist/docs/checkbox/checkbox.md +226 -4
  28. package/dist/docs/checkbox/styling.md +173 -0
  29. package/dist/docs/checkbox-group/api.md +30 -6
  30. package/dist/docs/checkbox-group/checkbox-group.md +73 -36
  31. package/dist/docs/checkbox-group/styling.md +31 -29
  32. package/dist/docs/combobox/api.md +20 -12
  33. package/dist/docs/combobox/combobox.md +20 -12
  34. package/dist/docs/datepicker/api.md +22 -14
  35. package/dist/docs/datepicker/datepicker.md +22 -14
  36. package/dist/docs/expandable/api.md +6 -6
  37. package/dist/docs/expandable/expandable.md +6 -6
  38. package/dist/docs/icon/api.md +4 -4
  39. package/dist/docs/icon/icon.md +4 -4
  40. package/dist/docs/index.md +5 -2
  41. package/dist/docs/link/api.md +10 -10
  42. package/dist/docs/link/link.md +10 -10
  43. package/dist/docs/modal/api.md +20 -2
  44. package/dist/docs/modal/modal.md +99 -10
  45. package/dist/docs/modal/styling.md +75 -0
  46. package/dist/docs/modal/usage.md +4 -8
  47. package/dist/docs/pagination/api.md +4 -4
  48. package/dist/docs/pagination/pagination.md +4 -4
  49. package/dist/docs/pill/api.md +8 -8
  50. package/dist/docs/pill/pill.md +8 -8
  51. package/dist/docs/radio-group/api.md +4 -4
  52. package/dist/docs/radio-group/radio-group.md +183 -68
  53. package/dist/docs/radio-group/styling.md +179 -64
  54. package/dist/docs/select/api.md +10 -10
  55. package/dist/docs/select/select.md +101 -10
  56. package/dist/docs/select/styling.md +91 -0
  57. package/dist/docs/slider/api.md +38 -22
  58. package/dist/docs/slider/slider.md +38 -22
  59. package/dist/docs/slider-thumb/api.md +28 -12
  60. package/dist/docs/slider-thumb/slider-thumb.md +28 -12
  61. package/dist/docs/snackbar/accessibility.md +20 -0
  62. package/dist/docs/snackbar/api.md +30 -0
  63. package/dist/docs/snackbar/examples.md +191 -0
  64. package/dist/docs/snackbar/snackbar.md +385 -0
  65. package/dist/docs/snackbar/styling.md +72 -0
  66. package/dist/docs/snackbar/usage.md +60 -0
  67. package/dist/docs/snackbar-item/api.md +41 -0
  68. package/dist/docs/snackbar-item/snackbar-item.md +49 -0
  69. package/dist/docs/step/api.md +16 -0
  70. package/dist/docs/step/step.md +16 -0
  71. package/dist/docs/switch/api.md +8 -0
  72. package/dist/docs/switch/switch.md +8 -0
  73. package/dist/docs/tabs/api.md +2 -2
  74. package/dist/docs/tabs/tabs.md +2 -2
  75. package/dist/docs/textarea/api.md +54 -14
  76. package/dist/docs/textarea/styling.md +91 -0
  77. package/dist/docs/textarea/textarea.md +145 -14
  78. package/dist/docs/textfield/api.md +74 -34
  79. package/dist/docs/textfield/styling.md +95 -0
  80. package/dist/docs/textfield/textfield.md +169 -34
  81. package/dist/index.d.ts +914 -93
  82. package/dist/packages/affix/affix-styles.d.ts +8 -0
  83. package/dist/packages/affix/affix-styles.js +108 -0
  84. package/dist/packages/affix/affix.d.ts +16 -13
  85. package/dist/packages/affix/affix.hydration.test.d.ts +1 -1
  86. package/dist/packages/affix/affix.hydration.test.js +15 -15
  87. package/dist/packages/affix/affix.js +451 -320
  88. package/dist/packages/affix/affix.js.map +4 -4
  89. package/dist/packages/affix/affix.react.stories.d.ts +3 -3
  90. package/dist/packages/affix/affix.react.stories.js +3 -3
  91. package/dist/packages/affix/affix.react.test.js +5 -3
  92. package/dist/packages/affix/affix.stories.d.ts +3 -3
  93. package/dist/packages/affix/affix.stories.js +10 -10
  94. package/dist/packages/affix/affix.test.d.ts +1 -1
  95. package/dist/packages/affix/affix.test.js +10 -10
  96. package/dist/packages/affix/react.d.ts +3 -3
  97. package/dist/packages/affix/react.js +6 -6
  98. package/dist/packages/affix/styles.js +2 -2
  99. package/dist/packages/alert/alert.d.ts +3 -3
  100. package/dist/packages/alert/alert.hydration.test.d.ts +1 -1
  101. package/dist/packages/alert/alert.hydration.test.js +21 -21
  102. package/dist/packages/alert/alert.js +349 -324
  103. package/dist/packages/alert/alert.js.map +3 -3
  104. package/dist/packages/alert/alert.react.stories.d.ts +2 -2
  105. package/dist/packages/alert/alert.react.stories.js +13 -13
  106. package/dist/packages/alert/alert.stories.d.ts +4 -4
  107. package/dist/packages/alert/alert.stories.js +29 -27
  108. package/dist/packages/alert/alert.test.d.ts +1 -1
  109. package/dist/packages/alert/alert.test.js +34 -21
  110. package/dist/packages/alert/react.d.ts +1 -1
  111. package/dist/packages/alert/react.js +4 -4
  112. package/dist/packages/alert/styles.js +2 -2
  113. package/dist/packages/attention/attention.d.ts +11 -6
  114. package/dist/packages/attention/attention.hydration.test.d.ts +1 -1
  115. package/dist/packages/attention/attention.hydration.test.js +29 -29
  116. package/dist/packages/attention/attention.js +1744 -1681
  117. package/dist/packages/attention/attention.js.map +4 -4
  118. package/dist/packages/attention/attention.react.stories.d.ts +3 -3
  119. package/dist/packages/attention/attention.react.stories.js +13 -13
  120. package/dist/packages/attention/attention.react.test.js +11 -7
  121. package/dist/packages/attention/attention.stories.d.ts +4 -4
  122. package/dist/packages/attention/attention.stories.js +126 -117
  123. package/dist/packages/attention/attention.test.d.ts +1 -1
  124. package/dist/packages/attention/attention.test.js +18 -10
  125. package/dist/packages/attention/layout-styles.js +900 -900
  126. package/dist/packages/attention/react.d.ts +4 -4
  127. package/dist/packages/attention/react.js +13 -11
  128. package/dist/packages/attention/styles.js +2 -2
  129. package/dist/packages/badge/badge.d.ts +3 -3
  130. package/dist/packages/badge/badge.hydration.test.d.ts +1 -1
  131. package/dist/packages/badge/badge.hydration.test.js +25 -25
  132. package/dist/packages/badge/badge.js +281 -281
  133. package/dist/packages/badge/badge.js.map +3 -3
  134. package/dist/packages/badge/badge.react.stories.d.ts +3 -3
  135. package/dist/packages/badge/badge.react.stories.js +17 -17
  136. package/dist/packages/badge/badge.stories.d.ts +3 -3
  137. package/dist/packages/badge/badge.stories.js +22 -20
  138. package/dist/packages/badge/badge.test.d.ts +1 -1
  139. package/dist/packages/badge/badge.test.js +13 -11
  140. package/dist/packages/badge/react.d.ts +1 -1
  141. package/dist/packages/badge/react.js +4 -4
  142. package/dist/packages/badge/styles.js +2 -2
  143. package/dist/packages/box/box.d.ts +1 -1
  144. package/dist/packages/box/box.hydration.test.d.ts +1 -1
  145. package/dist/packages/box/box.hydration.test.js +14 -14
  146. package/dist/packages/box/box.js +288 -288
  147. package/dist/packages/box/box.js.map +3 -3
  148. package/dist/packages/box/box.react.stories.d.ts +3 -3
  149. package/dist/packages/box/box.react.stories.js +8 -8
  150. package/dist/packages/box/box.stories.d.ts +3 -3
  151. package/dist/packages/box/box.stories.js +25 -19
  152. package/dist/packages/box/box.test.d.ts +1 -1
  153. package/dist/packages/box/box.test.js +6 -6
  154. package/dist/packages/box/react.d.ts +1 -1
  155. package/dist/packages/box/react.js +4 -4
  156. package/dist/packages/box/slot.test.d.ts +1 -1
  157. package/dist/packages/box/slot.test.js +6 -6
  158. package/dist/packages/box/styles.js +2 -2
  159. package/dist/packages/breadcrumb-item/breadcrumb-item.d.ts +29 -0
  160. package/dist/packages/breadcrumb-item/breadcrumb-item.js +2529 -0
  161. package/dist/packages/breadcrumb-item/breadcrumb-item.js.map +7 -0
  162. package/dist/packages/breadcrumb-item/react.d.ts +2 -0
  163. package/dist/packages/breadcrumb-item/react.js +11 -0
  164. package/dist/packages/breadcrumb-item/styles.d.ts +4 -0
  165. package/dist/packages/breadcrumb-item/styles.js +81 -0
  166. package/dist/packages/breadcrumbs/breadcrumbs.d.ts +4 -3
  167. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.d.ts +1 -1
  168. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.js +55 -49
  169. package/dist/packages/breadcrumbs/breadcrumbs.js +288 -284
  170. package/dist/packages/breadcrumbs/breadcrumbs.js.map +4 -4
  171. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.d.ts +4 -4
  172. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.js +17 -16
  173. package/dist/packages/breadcrumbs/breadcrumbs.stories.d.ts +7 -8
  174. package/dist/packages/breadcrumbs/breadcrumbs.stories.js +30 -26
  175. package/dist/packages/breadcrumbs/breadcrumbs.test.d.ts +1 -1
  176. package/dist/packages/breadcrumbs/breadcrumbs.test.js +19 -17
  177. package/dist/packages/breadcrumbs/react.d.ts +1 -1
  178. package/dist/packages/breadcrumbs/react.js +4 -4
  179. package/dist/packages/breadcrumbs/styles.js +2 -2
  180. package/dist/packages/button/button.d.ts +20 -15
  181. package/dist/packages/button/button.hydration.test.d.ts +1 -1
  182. package/dist/packages/button/button.hydration.test.js +19 -19
  183. package/dist/packages/button/button.js +758 -711
  184. package/dist/packages/button/button.js.map +4 -4
  185. package/dist/packages/button/button.react.stories.d.ts +5 -5
  186. package/dist/packages/button/button.react.stories.js +30 -30
  187. package/dist/packages/button/button.react.test.js +13 -13
  188. package/dist/packages/button/button.stories.d.ts +4 -4
  189. package/dist/packages/button/button.stories.js +276 -167
  190. package/dist/packages/button/button.test.d.ts +1 -1
  191. package/dist/packages/button/button.test.js +36 -35
  192. package/dist/packages/button/react.d.ts +3 -3
  193. package/dist/packages/button/react.js +7 -7
  194. package/dist/packages/button/styles.js +373 -331
  195. package/dist/packages/card/card.d.ts +1 -1
  196. package/dist/packages/card/card.hydration.test.d.ts +1 -1
  197. package/dist/packages/card/card.hydration.test.js +14 -14
  198. package/dist/packages/card/card.js +310 -295
  199. package/dist/packages/card/card.js.map +4 -4
  200. package/dist/packages/card/card.react.stories.d.ts +3 -3
  201. package/dist/packages/card/card.react.stories.js +11 -11
  202. package/dist/packages/card/card.stories.d.ts +3 -3
  203. package/dist/packages/card/card.stories.js +36 -24
  204. package/dist/packages/card/card.test.d.ts +1 -1
  205. package/dist/packages/card/card.test.js +6 -6
  206. package/dist/packages/card/react.d.ts +1 -1
  207. package/dist/packages/card/react.js +4 -4
  208. package/dist/packages/card/styles.js +2 -2
  209. package/dist/packages/checkbox/checkbox.a11y.test.d.ts +1 -1
  210. package/dist/packages/checkbox/checkbox.a11y.test.js +47 -33
  211. package/dist/packages/checkbox/checkbox.d.ts +4 -4
  212. package/dist/packages/checkbox/checkbox.hydration.test.d.ts +1 -1
  213. package/dist/packages/checkbox/checkbox.hydration.test.js +21 -21
  214. package/dist/packages/checkbox/checkbox.js +481 -430
  215. package/dist/packages/checkbox/checkbox.js.map +3 -3
  216. package/dist/packages/checkbox/checkbox.react.stories.d.ts +2 -2
  217. package/dist/packages/checkbox/checkbox.react.stories.js +3 -3
  218. package/dist/packages/checkbox/checkbox.stories.d.ts +4 -4
  219. package/dist/packages/checkbox/checkbox.stories.js +99 -91
  220. package/dist/packages/checkbox/checkbox.test.d.ts +1 -1
  221. package/dist/packages/checkbox/checkbox.test.js +64 -64
  222. package/dist/packages/checkbox/react.d.ts +1 -1
  223. package/dist/packages/checkbox/react.js +6 -6
  224. package/dist/packages/checkbox/styles.js +183 -132
  225. package/dist/packages/checkbox-group/checkbox-group.a11y.test.d.ts +2 -2
  226. package/dist/packages/checkbox-group/checkbox-group.a11y.test.js +83 -73
  227. package/dist/packages/checkbox-group/checkbox-group.d.ts +20 -6
  228. package/dist/packages/checkbox-group/checkbox-group.hydration.test.d.ts +2 -2
  229. package/dist/packages/checkbox-group/checkbox-group.hydration.test.js +36 -19
  230. package/dist/packages/checkbox-group/checkbox-group.js +62 -57
  231. package/dist/packages/checkbox-group/checkbox-group.js.map +3 -3
  232. package/dist/packages/checkbox-group/checkbox-group.react.test.js +4 -4
  233. package/dist/packages/checkbox-group/checkbox-group.test.d.ts +2 -2
  234. package/dist/packages/checkbox-group/checkbox-group.test.js +183 -90
  235. package/dist/packages/checkbox-group/react.d.ts +3 -3
  236. package/dist/packages/checkbox-group/react.js +6 -6
  237. package/dist/packages/combobox/combobox.a11y.test.d.ts +2 -2
  238. package/dist/packages/combobox/combobox.a11y.test.js +72 -49
  239. package/dist/packages/combobox/combobox.d.ts +2 -2
  240. package/dist/packages/combobox/combobox.hydration.test.d.ts +1 -1
  241. package/dist/packages/combobox/combobox.hydration.test.js +45 -45
  242. package/dist/packages/combobox/combobox.js +337 -338
  243. package/dist/packages/combobox/combobox.js.map +4 -4
  244. package/dist/packages/combobox/combobox.react.stories.d.ts +29 -13
  245. package/dist/packages/combobox/combobox.react.stories.js +29 -29
  246. package/dist/packages/combobox/combobox.react.test.js +8 -8
  247. package/dist/packages/combobox/combobox.stories.d.ts +4 -4
  248. package/dist/packages/combobox/combobox.stories.js +100 -94
  249. package/dist/packages/combobox/combobox.test.d.ts +2 -2
  250. package/dist/packages/combobox/combobox.test.js +249 -133
  251. package/dist/packages/combobox/react.d.ts +15 -7
  252. package/dist/packages/combobox/react.js +14 -14
  253. package/dist/packages/combobox/styles.js +2 -3
  254. package/dist/packages/datepicker/DatePicker.test.d.ts +2 -2
  255. package/dist/packages/datepicker/DatePicker.test.js +49 -42
  256. package/dist/packages/datepicker/datepicker.d.ts +8 -8
  257. package/dist/packages/datepicker/datepicker.hydration.test.d.ts +1 -1
  258. package/dist/packages/datepicker/datepicker.hydration.test.js +21 -21
  259. package/dist/packages/datepicker/datepicker.js +673 -632
  260. package/dist/packages/datepicker/datepicker.js.map +4 -4
  261. package/dist/packages/datepicker/datepicker.react.stories.d.ts +17 -17
  262. package/dist/packages/datepicker/datepicker.react.stories.js +9 -9
  263. package/dist/packages/datepicker/datepicker.react.test.js +6 -6
  264. package/dist/packages/datepicker/datepicker.stories.d.ts +4 -4
  265. package/dist/packages/datepicker/datepicker.stories.js +32 -32
  266. package/dist/packages/datepicker/datepicker.test.d.ts +2 -2
  267. package/dist/packages/datepicker/datepicker.test.js +77 -79
  268. package/dist/packages/datepicker/react.d.ts +9 -9
  269. package/dist/packages/datepicker/react.js +16 -14
  270. package/dist/packages/datepicker/styles/w-datepicker-calendar.styles.js +13 -12
  271. package/dist/packages/datepicker/styles/w-datepicker-day.styles.js +58 -55
  272. package/dist/packages/datepicker/styles/w-datepicker-month.styles.js +60 -57
  273. package/dist/packages/datepicker/styles/w-datepicker.styles.js +87 -87
  274. package/dist/packages/datepicker/utils.d.ts +3 -0
  275. package/dist/packages/datepicker/utils.js +40 -1
  276. package/dist/packages/datepicker/utils.test.d.ts +1 -0
  277. package/dist/packages/datepicker/utils.test.js +29 -0
  278. package/dist/packages/expandable/expandable.d.ts +7 -7
  279. package/dist/packages/expandable/expandable.hydration.test.d.ts +1 -1
  280. package/dist/packages/expandable/expandable.hydration.test.js +21 -21
  281. package/dist/packages/expandable/expandable.js +359 -332
  282. package/dist/packages/expandable/expandable.js.map +4 -4
  283. package/dist/packages/expandable/expandable.react.stories.d.ts +3 -3
  284. package/dist/packages/expandable/expandable.react.stories.js +7 -7
  285. package/dist/packages/expandable/expandable.react.test.js +15 -7
  286. package/dist/packages/expandable/expandable.stories.d.ts +5 -5
  287. package/dist/packages/expandable/expandable.stories.js +51 -45
  288. package/dist/packages/expandable/expandable.test.d.ts +1 -1
  289. package/dist/packages/expandable/expandable.test.js +19 -17
  290. package/dist/packages/expandable/react.d.ts +2 -2
  291. package/dist/packages/expandable/react.js +9 -9
  292. package/dist/packages/expandable/styles.js +2 -2
  293. package/dist/packages/global.d.ts +1 -0
  294. package/dist/packages/global.js +5 -0
  295. package/dist/packages/i18n.d.ts +1 -1
  296. package/dist/packages/i18n.js +37 -29
  297. package/dist/packages/icon/icon.d.ts +7 -2
  298. package/dist/packages/icon/icon.hydration.test.d.ts +1 -1
  299. package/dist/packages/icon/icon.hydration.test.js +25 -25
  300. package/dist/packages/icon/icon.js +31 -26
  301. package/dist/packages/icon/icon.js.map +2 -2
  302. package/dist/packages/icon/icon.react.stories.d.ts +3 -2
  303. package/dist/packages/icon/icon.react.stories.js +284 -283
  304. package/dist/packages/icon/icon.stories.d.ts +7 -30
  305. package/dist/packages/icon/icon.stories.js +307 -297
  306. package/dist/packages/icon/icon.test.d.ts +1 -1
  307. package/dist/packages/icon/icon.test.js +36 -28
  308. package/dist/packages/icon/react.d.ts +1 -1
  309. package/dist/packages/icon/react.js +4 -4
  310. package/dist/packages/icon/style.js +24 -25
  311. package/dist/packages/interaction-type-detection.d.ts +22 -0
  312. package/dist/packages/interaction-type-detection.js +38 -0
  313. package/dist/packages/link/link.d.ts +7 -7
  314. package/dist/packages/link/link.hydration.test.d.ts +1 -1
  315. package/dist/packages/link/link.hydration.test.js +27 -27
  316. package/dist/packages/link/link.js +729 -682
  317. package/dist/packages/link/link.js.map +3 -3
  318. package/dist/packages/link/link.react.stories.d.ts +3 -3
  319. package/dist/packages/link/link.react.stories.js +42 -42
  320. package/dist/packages/link/link.react.test.js +5 -3
  321. package/dist/packages/link/link.stories.d.ts +3 -3
  322. package/dist/packages/link/link.stories.js +51 -51
  323. package/dist/packages/link/link.test.d.ts +1 -1
  324. package/dist/packages/link/link.test.js +11 -7
  325. package/dist/packages/link/react.d.ts +2 -2
  326. package/dist/packages/link/react.js +6 -6
  327. package/dist/packages/link/styles.js +63 -58
  328. package/dist/packages/modal/index.d.ts +7 -7
  329. package/dist/packages/modal/index.js +7 -7
  330. package/dist/packages/modal/modal.d.ts +19 -4
  331. package/dist/packages/modal/modal.hydration.test.d.ts +1 -1
  332. package/dist/packages/modal/modal.hydration.test.js +12 -12
  333. package/dist/packages/modal/modal.js +456 -409
  334. package/dist/packages/modal/modal.js.map +4 -4
  335. package/dist/packages/modal/modal.react.stories.d.ts +7 -7
  336. package/dist/packages/modal/modal.react.stories.js +15 -6
  337. package/dist/packages/modal/modal.react.test.js +5 -5
  338. package/dist/packages/modal/modal.stories.d.ts +9 -8
  339. package/dist/packages/modal/modal.stories.js +266 -248
  340. package/dist/packages/modal/react.d.ts +38 -8
  341. package/dist/packages/modal/react.js +43 -13
  342. package/dist/packages/modal/styles.d.ts +1 -0
  343. package/dist/packages/modal/styles.js +171 -0
  344. package/dist/packages/modal/util.js +3 -1
  345. package/dist/packages/modal-footer/modal-footer.d.ts +6 -2
  346. package/dist/packages/modal-footer/modal-footer.js +299 -296
  347. package/dist/packages/modal-footer/modal-footer.js.map +4 -4
  348. package/dist/packages/modal-footer/react.d.ts +1 -1
  349. package/dist/packages/modal-footer/react.js +4 -4
  350. package/dist/packages/modal-footer/styles.d.ts +1 -0
  351. package/dist/packages/modal-footer/styles.js +22 -0
  352. package/dist/packages/modal-header/modal-header.d.ts +14 -7
  353. package/dist/packages/modal-header/modal-header.js +451 -422
  354. package/dist/packages/modal-header/modal-header.js.map +4 -4
  355. package/dist/packages/modal-header/modal-header.react.test.js +5 -3
  356. package/dist/packages/modal-header/react.d.ts +4 -4
  357. package/dist/packages/modal-header/react.js +8 -8
  358. package/dist/packages/modal-header/styles.d.ts +1 -0
  359. package/dist/packages/modal-header/styles.js +96 -0
  360. package/dist/packages/page-indicator/page-indicator.d.ts +1 -5
  361. package/dist/packages/page-indicator/page-indicator.hydration.test.d.ts +1 -1
  362. package/dist/packages/page-indicator/page-indicator.hydration.test.js +22 -22
  363. package/dist/packages/page-indicator/page-indicator.js +29 -29
  364. package/dist/packages/page-indicator/page-indicator.js.map +4 -4
  365. package/dist/packages/page-indicator/page-indicator.react.stories.d.ts +3 -3
  366. package/dist/packages/page-indicator/page-indicator.react.stories.js +11 -11
  367. package/dist/packages/page-indicator/page-indicator.react.test.js +5 -5
  368. package/dist/packages/page-indicator/page-indicator.stories.d.ts +9 -27
  369. package/dist/packages/page-indicator/page-indicator.stories.js +63 -32
  370. package/dist/packages/page-indicator/page-indicator.test.d.ts +1 -1
  371. package/dist/packages/page-indicator/page-indicator.test.js +110 -70
  372. package/dist/packages/page-indicator/react.d.ts +2 -2
  373. package/dist/packages/page-indicator/react.js +7 -7
  374. package/dist/packages/page-indicator/style.js +21 -21
  375. package/dist/packages/pagination/pagination.a11y.test.d.ts +1 -1
  376. package/dist/packages/pagination/pagination.a11y.test.js +59 -25
  377. package/dist/packages/pagination/pagination.d.ts +10 -11
  378. package/dist/packages/pagination/pagination.hydration.test.d.ts +1 -1
  379. package/dist/packages/pagination/pagination.hydration.test.js +19 -19
  380. package/dist/packages/pagination/pagination.js +385 -354
  381. package/dist/packages/pagination/pagination.js.map +4 -4
  382. package/dist/packages/pagination/pagination.react.stories.d.ts +11 -11
  383. package/dist/packages/pagination/pagination.react.stories.js +8 -8
  384. package/dist/packages/pagination/pagination.react.test.js +6 -6
  385. package/dist/packages/pagination/pagination.stories.d.ts +3 -3
  386. package/dist/packages/pagination/pagination.stories.js +18 -18
  387. package/dist/packages/pagination/pagination.test.d.ts +1 -1
  388. package/dist/packages/pagination/pagination.test.js +146 -72
  389. package/dist/packages/pagination/react.d.ts +6 -6
  390. package/dist/packages/pagination/react.js +12 -10
  391. package/dist/packages/pagination/styles.js +2 -2
  392. package/dist/packages/pill/pill.d.ts +6 -6
  393. package/dist/packages/pill/pill.hydration.test.d.ts +1 -1
  394. package/dist/packages/pill/pill.hydration.test.js +14 -14
  395. package/dist/packages/pill/pill.js +337 -314
  396. package/dist/packages/pill/pill.js.map +4 -4
  397. package/dist/packages/pill/pill.react.stories.d.ts +11 -11
  398. package/dist/packages/pill/pill.react.stories.js +3 -3
  399. package/dist/packages/pill/pill.react.test.js +8 -8
  400. package/dist/packages/pill/pill.stories.d.ts +3 -3
  401. package/dist/packages/pill/pill.stories.js +8 -8
  402. package/dist/packages/pill/pill.test.d.ts +1 -1
  403. package/dist/packages/pill/pill.test.js +17 -15
  404. package/dist/packages/pill/react.d.ts +6 -6
  405. package/dist/packages/pill/react.js +18 -14
  406. package/dist/packages/pill/styles.js +2 -2
  407. package/dist/packages/radio/base-element.d.ts +3 -3
  408. package/dist/packages/radio/base-element.js +3 -3
  409. package/dist/packages/radio/custom-error-validator.d.ts +1 -1
  410. package/dist/packages/radio/custom-error-validator.js +3 -3
  411. package/dist/packages/radio/form-associated-element.d.ts +9 -9
  412. package/dist/packages/radio/form-associated-element.js +27 -26
  413. package/dist/packages/radio/host-styles.js +9 -9
  414. package/dist/packages/radio/invalid.d.ts +1 -1
  415. package/dist/packages/radio/invalid.js +1 -1
  416. package/dist/packages/radio/radio-styles.js +199 -160
  417. package/dist/packages/radio/radio.a11y.test.d.ts +2 -2
  418. package/dist/packages/radio/radio.a11y.test.js +60 -58
  419. package/dist/packages/radio/radio.d.ts +4 -4
  420. package/dist/packages/radio/radio.hydration.test.d.ts +1 -1
  421. package/dist/packages/radio/radio.hydration.test.js +23 -14
  422. package/dist/packages/radio/radio.js +491 -452
  423. package/dist/packages/radio/radio.js.map +3 -3
  424. package/dist/packages/radio/radio.react.stories.d.ts +2 -2
  425. package/dist/packages/radio/radio.react.stories.js +3 -3
  426. package/dist/packages/radio/radio.stories.d.ts +4 -4
  427. package/dist/packages/radio/radio.stories.js +152 -136
  428. package/dist/packages/radio/radio.test.d.ts +1 -1
  429. package/dist/packages/radio/radio.test.js +74 -73
  430. package/dist/packages/radio/react.d.ts +1 -1
  431. package/dist/packages/radio/react.js +4 -4
  432. package/dist/packages/radio/required-validator.d.ts +1 -1
  433. package/dist/packages/radio/required-validator.js +12 -7
  434. package/dist/packages/radio/slot.d.ts +1 -1
  435. package/dist/packages/radio/slot.js +11 -8
  436. package/dist/packages/radio/watch.d.ts +1 -1
  437. package/dist/packages/radio/watch.js +3 -1
  438. package/dist/packages/radio-group/radio-group-styles.js +121 -88
  439. package/dist/packages/radio-group/radio-group.a11y.test.d.ts +2 -2
  440. package/dist/packages/radio-group/radio-group.a11y.test.js +81 -79
  441. package/dist/packages/radio-group/radio-group.d.ts +16 -7
  442. package/dist/packages/radio-group/radio-group.hydration.test.d.ts +2 -2
  443. package/dist/packages/radio-group/radio-group.hydration.test.js +29 -18
  444. package/dist/packages/radio-group/radio-group.js +654 -566
  445. package/dist/packages/radio-group/radio-group.js.map +4 -4
  446. package/dist/packages/radio-group/radio-group.react.test.js +4 -4
  447. package/dist/packages/radio-group/radio-group.test.d.ts +2 -2
  448. package/dist/packages/radio-group/radio-group.test.js +304 -230
  449. package/dist/packages/radio-group/react.d.ts +7 -7
  450. package/dist/packages/radio-group/react.js +10 -10
  451. package/dist/packages/select/input-styles.d.ts +11 -0
  452. package/dist/packages/select/input-styles.js +88 -0
  453. package/dist/packages/select/locales/da/messages.mjs +1 -1
  454. package/dist/packages/select/locales/en/messages.mjs +1 -1
  455. package/dist/packages/select/locales/fi/messages.mjs +1 -1
  456. package/dist/packages/select/locales/nb/messages.mjs +1 -1
  457. package/dist/packages/select/locales/sv/messages.mjs +1 -1
  458. package/dist/packages/select/react.d.ts +5 -5
  459. package/dist/packages/select/react.js +11 -11
  460. package/dist/packages/select/select.a11y.test.d.ts +1 -1
  461. package/dist/packages/select/select.a11y.test.js +98 -91
  462. package/dist/packages/select/select.d.ts +10 -11
  463. package/dist/packages/select/select.hydration.test.d.ts +1 -1
  464. package/dist/packages/select/select.hydration.test.js +16 -16
  465. package/dist/packages/select/select.js +432 -336
  466. package/dist/packages/select/select.js.map +4 -4
  467. package/dist/packages/select/select.react.stories.d.ts +10 -10
  468. package/dist/packages/select/select.react.stories.js +19 -14
  469. package/dist/packages/select/select.react.test.js +6 -6
  470. package/dist/packages/select/select.stories.d.ts +3 -3
  471. package/dist/packages/select/select.stories.js +51 -48
  472. package/dist/packages/select/select.test.d.ts +1 -1
  473. package/dist/packages/select/select.test.js +227 -178
  474. package/dist/packages/select/styles.js +2 -2
  475. package/dist/packages/slider/Slider.d.ts +1 -1
  476. package/dist/packages/slider/Slider.js +4 -4
  477. package/dist/packages/slider/index.d.ts +2 -2
  478. package/dist/packages/slider/index.js +2 -2
  479. package/dist/packages/slider/locales/da/messages.mjs +1 -1
  480. package/dist/packages/slider/locales/en/messages.mjs +1 -1
  481. package/dist/packages/slider/locales/fi/messages.mjs +1 -1
  482. package/dist/packages/slider/locales/nb/messages.mjs +1 -1
  483. package/dist/packages/slider/locales/sv/messages.mjs +1 -1
  484. package/dist/packages/slider/react.d.ts +4 -4
  485. package/dist/packages/slider/react.js +9 -9
  486. package/dist/packages/slider/slider.d.ts +25 -17
  487. package/dist/packages/slider/slider.hydration.test.d.ts +1 -1
  488. package/dist/packages/slider/slider.hydration.test.js +39 -20
  489. package/dist/packages/slider/slider.js +523 -466
  490. package/dist/packages/slider/slider.js.map +4 -4
  491. package/dist/packages/slider/slider.react.stories.d.ts +4 -4
  492. package/dist/packages/slider/slider.react.stories.js +31 -34
  493. package/dist/packages/slider/slider.react.test.js +6 -6
  494. package/dist/packages/slider/slider.stories.d.ts +9 -7
  495. package/dist/packages/slider/slider.stories.js +369 -340
  496. package/dist/packages/slider/slider.test.d.ts +5 -5
  497. package/dist/packages/slider/slider.test.js +476 -336
  498. package/dist/packages/slider/styles/w-slider.styles.js +166 -148
  499. package/dist/packages/slider/styles.js +2 -2
  500. package/dist/packages/slider-thumb/SliderThumb.d.ts +1 -1
  501. package/dist/packages/slider-thumb/SliderThumb.js +4 -4
  502. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.d.ts +1 -1
  503. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.js +1 -1
  504. package/dist/packages/slider-thumb/react.d.ts +5 -5
  505. package/dist/packages/slider-thumb/react.js +11 -9
  506. package/dist/packages/slider-thumb/slider-thumb.d.ts +17 -17
  507. package/dist/packages/slider-thumb/slider-thumb.hydration.test.d.ts +1 -1
  508. package/dist/packages/slider-thumb/slider-thumb.hydration.test.js +26 -17
  509. package/dist/packages/slider-thumb/slider-thumb.js +549 -552
  510. package/dist/packages/slider-thumb/slider-thumb.js.map +4 -4
  511. package/dist/packages/slider-thumb/slider-thumb.react.test.js +9 -5
  512. package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.js +189 -188
  513. package/dist/packages/slider-thumb/styles.d.ts +1 -0
  514. package/dist/packages/slider-thumb/styles.js +2 -0
  515. package/dist/packages/snackbar/locales/da/messages.d.mts +1 -0
  516. package/dist/packages/snackbar/locales/da/messages.mjs +1 -0
  517. package/dist/packages/snackbar/locales/en/messages.d.mts +1 -0
  518. package/dist/packages/snackbar/locales/en/messages.mjs +1 -0
  519. package/dist/packages/snackbar/locales/fi/messages.d.mts +1 -0
  520. package/dist/packages/snackbar/locales/fi/messages.mjs +1 -0
  521. package/dist/packages/snackbar/locales/nb/messages.d.mts +1 -0
  522. package/dist/packages/snackbar/locales/nb/messages.mjs +1 -0
  523. package/dist/packages/snackbar/locales/sv/messages.d.mts +1 -0
  524. package/dist/packages/snackbar/locales/sv/messages.mjs +1 -0
  525. package/dist/packages/snackbar/react.d.ts +2 -0
  526. package/dist/packages/snackbar/react.js +11 -0
  527. package/dist/packages/snackbar/snackbar.d.ts +132 -0
  528. package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -0
  529. package/dist/packages/snackbar/snackbar.hydration.test.js +13 -0
  530. package/dist/packages/snackbar/snackbar.js +2665 -0
  531. package/dist/packages/snackbar/snackbar.js.map +7 -0
  532. package/dist/packages/snackbar/snackbar.react.stories.d.ts +12 -0
  533. package/dist/packages/snackbar/snackbar.react.stories.js +160 -0
  534. package/dist/packages/snackbar/snackbar.stories.d.ts +20 -0
  535. package/dist/packages/snackbar/snackbar.stories.js +363 -0
  536. package/dist/packages/snackbar/snackbar.test.d.ts +4 -0
  537. package/dist/packages/snackbar/snackbar.test.js +17 -0
  538. package/dist/packages/snackbar/styles.d.ts +1 -0
  539. package/dist/packages/snackbar/styles.js +35 -0
  540. package/dist/packages/snackbar-item/react.d.ts +5 -0
  541. package/dist/packages/snackbar-item/react.js +16 -0
  542. package/dist/packages/snackbar-item/snackbar-item.d.ts +69 -0
  543. package/dist/packages/snackbar-item/snackbar-item.js +2620 -0
  544. package/dist/packages/snackbar-item/snackbar-item.js.map +7 -0
  545. package/dist/packages/snackbar-item/snackbar-item.react.test.d.ts +1 -0
  546. package/dist/packages/snackbar-item/snackbar-item.react.test.js +5 -0
  547. package/dist/packages/snackbar-item/styles.d.ts +1 -0
  548. package/dist/packages/snackbar-item/styles.js +133 -0
  549. package/dist/packages/step/react.d.ts +1 -1
  550. package/dist/packages/step/react.js +4 -4
  551. package/dist/packages/step/step.d.ts +2 -2
  552. package/dist/packages/step/step.hydration.test.d.ts +1 -1
  553. package/dist/packages/step/step.hydration.test.js +10 -10
  554. package/dist/packages/step/step.js +336 -314
  555. package/dist/packages/step/step.js.map +4 -4
  556. package/dist/packages/step/styles.d.ts +1 -0
  557. package/dist/packages/step/styles.js +2 -0
  558. package/dist/packages/step-indicator/index.d.ts +2 -2
  559. package/dist/packages/step-indicator/index.js +2 -2
  560. package/dist/packages/step-indicator/react.d.ts +2 -2
  561. package/dist/packages/step-indicator/react.js +5 -5
  562. package/dist/packages/step-indicator/step-indicator.a11y.test.d.ts +2 -2
  563. package/dist/packages/step-indicator/step-indicator.a11y.test.js +48 -46
  564. package/dist/packages/step-indicator/step-indicator.d.ts +1 -1
  565. package/dist/packages/step-indicator/step-indicator.hydration.test.d.ts +1 -1
  566. package/dist/packages/step-indicator/step-indicator.hydration.test.js +10 -10
  567. package/dist/packages/step-indicator/step-indicator.js +285 -281
  568. package/dist/packages/step-indicator/step-indicator.js.map +3 -3
  569. package/dist/packages/step-indicator/stepindicator.react.stories.d.ts +2 -2
  570. package/dist/packages/step-indicator/stepindicator.react.stories.js +3 -3
  571. package/dist/packages/step-indicator/stepindicator.stories.d.ts +3 -3
  572. package/dist/packages/step-indicator/stepindicator.stories.js +129 -129
  573. package/dist/packages/step-indicator/styles.js +2 -2
  574. package/dist/packages/styles.js +277 -275
  575. package/dist/packages/switch/react.d.ts +1 -1
  576. package/dist/packages/switch/react.js +6 -6
  577. package/dist/packages/switch/styles.js +2 -2
  578. package/dist/packages/switch/switch.a11y.test.d.ts +1 -1
  579. package/dist/packages/switch/switch.a11y.test.js +46 -38
  580. package/dist/packages/switch/switch.d.ts +3 -3
  581. package/dist/packages/switch/switch.hydration.test.d.ts +1 -1
  582. package/dist/packages/switch/switch.hydration.test.js +23 -23
  583. package/dist/packages/switch/switch.js +304 -304
  584. package/dist/packages/switch/switch.js.map +3 -3
  585. package/dist/packages/switch/switch.react.stories.d.ts +2 -2
  586. package/dist/packages/switch/switch.react.stories.js +2 -2
  587. package/dist/packages/switch/switch.stories.d.ts +2 -2
  588. package/dist/packages/switch/switch.stories.js +42 -37
  589. package/dist/packages/switch/switch.test.d.ts +1 -1
  590. package/dist/packages/switch/switch.test.js +30 -35
  591. package/dist/packages/tab/react.d.ts +9 -7
  592. package/dist/packages/tab/react.js +11 -10
  593. package/dist/packages/tab/styles.d.ts +1 -0
  594. package/dist/packages/tab/styles.js +2 -0
  595. package/dist/packages/tab/tab.d.ts +6 -6
  596. package/dist/packages/tab/tab.hydration.test.d.ts +1 -1
  597. package/dist/packages/tab/tab.hydration.test.js +18 -12
  598. package/dist/packages/tab/tab.js +309 -308
  599. package/dist/packages/tab/tab.js.map +4 -4
  600. package/dist/packages/tab/tab.react.test.js +5 -3
  601. package/dist/packages/tab-panel/react.d.ts +3 -2
  602. package/dist/packages/tab-panel/react.js +11 -5
  603. package/dist/packages/tab-panel/tab-panel.d.ts +3 -3
  604. package/dist/packages/tab-panel/tab-panel.hydration.test.d.ts +1 -1
  605. package/dist/packages/tab-panel/tab-panel.hydration.test.js +13 -10
  606. package/dist/packages/tab-panel/tab-panel.js +293 -291
  607. package/dist/packages/tab-panel/tab-panel.js.map +3 -3
  608. package/dist/packages/tabs/index.d.ts +4 -4
  609. package/dist/packages/tabs/index.js +3 -3
  610. package/dist/packages/tabs/react.d.ts +27 -8
  611. package/dist/packages/tabs/react.js +30 -9
  612. package/dist/packages/tabs/styles.js +2 -2
  613. package/dist/packages/tabs/tabs.a11y.test.d.ts +3 -3
  614. package/dist/packages/tabs/tabs.a11y.test.js +188 -169
  615. package/dist/packages/tabs/tabs.d.ts +6 -5
  616. package/dist/packages/tabs/tabs.hydration.test.d.ts +3 -1
  617. package/dist/packages/tabs/tabs.hydration.test.js +22 -8
  618. package/dist/packages/tabs/tabs.js +293 -286
  619. package/dist/packages/tabs/tabs.js.map +3 -3
  620. package/dist/packages/tabs/tabs.react.stories.d.ts +12 -10
  621. package/dist/packages/tabs/tabs.react.stories.js +28 -28
  622. package/dist/packages/tabs/tabs.stories.d.ts +4 -4
  623. package/dist/packages/tabs/tabs.stories.js +101 -95
  624. package/dist/packages/tabs/tabs.test.d.ts +3 -3
  625. package/dist/packages/tabs/tabs.test.js +136 -122
  626. package/dist/packages/textarea/input-styles.d.ts +11 -0
  627. package/dist/packages/textarea/input-styles.js +88 -0
  628. package/dist/packages/textarea/locales/da/messages.mjs +1 -1
  629. package/dist/packages/textarea/locales/en/messages.mjs +1 -1
  630. package/dist/packages/textarea/locales/fi/messages.mjs +1 -1
  631. package/dist/packages/textarea/locales/nb/messages.mjs +1 -1
  632. package/dist/packages/textarea/locales/sv/messages.mjs +1 -1
  633. package/dist/packages/textarea/react.d.ts +11 -11
  634. package/dist/packages/textarea/react.js +17 -17
  635. package/dist/packages/textarea/styles.js +2 -2
  636. package/dist/packages/textarea/textarea.a11y.test.d.ts +1 -1
  637. package/dist/packages/textarea/textarea.a11y.test.js +90 -58
  638. package/dist/packages/textarea/textarea.d.ts +14 -15
  639. package/dist/packages/textarea/textarea.hydration.test.d.ts +1 -1
  640. package/dist/packages/textarea/textarea.hydration.test.js +19 -19
  641. package/dist/packages/textarea/textarea.js +385 -304
  642. package/dist/packages/textarea/textarea.js.map +4 -4
  643. package/dist/packages/textarea/textarea.react.stories.d.ts +38 -21
  644. package/dist/packages/textarea/textarea.react.stories.js +30 -13
  645. package/dist/packages/textarea/textarea.react.test.js +7 -7
  646. package/dist/packages/textarea/textarea.stories.d.ts +3 -3
  647. package/dist/packages/textarea/textarea.stories.js +44 -42
  648. package/dist/packages/textarea/textarea.test.d.ts +1 -1
  649. package/dist/packages/textarea/textarea.test.js +197 -88
  650. package/dist/packages/textfield/input-styles.d.ts +11 -0
  651. package/dist/packages/textfield/input-styles.js +88 -0
  652. package/dist/packages/textfield/locales/da/messages.d.mts +1 -0
  653. package/dist/packages/textfield/locales/da/messages.mjs +1 -0
  654. package/dist/packages/textfield/locales/en/messages.d.mts +1 -0
  655. package/dist/packages/textfield/locales/en/messages.mjs +1 -0
  656. package/dist/packages/textfield/locales/fi/messages.d.mts +1 -0
  657. package/dist/packages/textfield/locales/fi/messages.mjs +1 -0
  658. package/dist/packages/textfield/locales/nb/messages.d.mts +1 -0
  659. package/dist/packages/textfield/locales/nb/messages.mjs +1 -0
  660. package/dist/packages/textfield/locales/sv/messages.d.mts +1 -0
  661. package/dist/packages/textfield/locales/sv/messages.mjs +1 -0
  662. package/dist/packages/textfield/react.d.ts +11 -11
  663. package/dist/packages/textfield/react.js +17 -17
  664. package/dist/packages/textfield/styles/w-textfield.styles.js +60 -58
  665. package/dist/packages/textfield/styles.js +2 -2
  666. package/dist/packages/textfield/textfield.d.ts +36 -26
  667. package/dist/packages/textfield/textfield.hydration.test.d.ts +1 -1
  668. package/dist/packages/textfield/textfield.hydration.test.js +19 -19
  669. package/dist/packages/textfield/textfield.js +468 -373
  670. package/dist/packages/textfield/textfield.js.map +4 -4
  671. package/dist/packages/textfield/textfield.react.stories.d.ts +51 -21
  672. package/dist/packages/textfield/textfield.react.stories.js +63 -31
  673. package/dist/packages/textfield/textfield.react.test.js +7 -7
  674. package/dist/packages/textfield/textfield.stories.d.ts +4 -4
  675. package/dist/packages/textfield/textfield.stories.js +107 -89
  676. package/dist/packages/textfield/textfield.test.d.ts +2 -2
  677. package/dist/packages/textfield/textfield.test.js +174 -71
  678. package/dist/packages/toast/api.d.ts +2 -2
  679. package/dist/packages/toast/api.js +3 -3
  680. package/dist/packages/toast/index.d.ts +5 -5
  681. package/dist/packages/toast/index.js +5 -5
  682. package/dist/packages/toast/styles.js +2 -2
  683. package/dist/packages/toast/toast.d.ts +5 -5
  684. package/dist/packages/toast/toast.js +349 -320
  685. package/dist/packages/toast/toast.js.map +4 -4
  686. package/dist/packages/toast/toast.stories.d.ts +4 -4
  687. package/dist/packages/toast/toast.stories.js +37 -16
  688. package/dist/packages/toast/toast.test.d.ts +1 -1
  689. package/dist/packages/toast/toast.test.js +48 -31
  690. package/dist/packages/toast/types.d.ts +1 -1
  691. package/dist/packages/toast-container/styles.d.ts +1 -0
  692. package/dist/packages/toast-container/styles.js +2 -0
  693. package/dist/packages/toast-container/toast-container.d.ts +2 -2
  694. package/dist/packages/toast-container/toast-container.js +295 -294
  695. package/dist/packages/toast-container/toast-container.js.map +4 -4
  696. package/dist/packages/utils/element-collapse.d.ts +12 -0
  697. package/dist/packages/utils/element-collapse.js +102 -0
  698. package/dist/packages/utils/expand-transition.d.ts +1 -1
  699. package/dist/packages/utils/expand-transition.js +12 -10
  700. package/dist/packages/utils/unstyled-heading.d.ts +1 -1
  701. package/dist/packages/utils/unstyled-heading.js +4 -4
  702. package/dist/packages/utils/window-exists.js +1 -1
  703. package/dist/packages/utils.js +2 -2
  704. package/dist/setup-tests.d.ts +3 -3
  705. package/dist/setup-tests.js +16 -13
  706. package/dist/tests/react-hydration.js +29 -30
  707. package/dist/tests/react-ssr-attributes.d.ts +1 -1
  708. package/dist/tests/react-ssr-attributes.js +4 -4
  709. package/dist/web-types.json +432 -230
  710. package/eik/index.js +20 -2460
  711. package/package.json +22 -22
@@ -113,6 +113,97 @@ Makes the textarea content immutable while remaining focusable. The contents can
113
113
 
114
114
  ## Styling API
115
115
 
116
+ This section documents the supported styling hooks for `<w-textarea>`.
117
+
118
+ Use these hooks to customize appearance without relying on internal structure or selectors.
119
+
120
+ Before changing the default styles, remember that doing so can result in less consistent experiences for users across the product. Prefer defaults.
121
+
122
+ - Prefer **component tokens** for size, spacing, and state styling.
123
+ - Use **parts** only for small, local tweaks.
124
+ - Avoid relying on internal class names or selectors.
125
+
126
+ ### Parts
127
+
128
+ The textarea exposes a minimal set of parts that can be targeted for last‑mile layout or typography tweaks.
129
+
130
+ | Part | Targets | Typical use |
131
+ |---|---|---|
132
+ | `input` | native textarea element | minor typography or spacing tweaks |
133
+
134
+ Example:
135
+
136
+ ```css
137
+ w-textarea::part(input) {
138
+ letter-spacing: 0.5px;
139
+ }
140
+ ```
141
+
142
+ Parts are intended as an **escape hatch**.
143
+ Prefer component tokens for anything state‑ or size‑related.
144
+
145
+
146
+ ### Component tokens
147
+
148
+ Component tokens (`--w-c-input-*`) act as inputs to the textarea styling.
149
+ They can be set directly on the component or inherited from a parent container.
150
+
151
+ These tokens are **shared across textfield, textarea, and select** for consistent form styling.
152
+
153
+ ```css
154
+ .form-section {
155
+ --w-c-input-label-font-weight: 600;
156
+ --w-c-input-help-text-color: var(--w-s-color-text);
157
+ }
158
+ ```
159
+
160
+ Defaults are defined internally; setting a token is always optional.
161
+
162
+
163
+ #### Label tokens
164
+
165
+ | Token | Purpose | Default |
166
+ |---|---|---|
167
+ | `--w-c-input-label-color` | label text color | `--w-s-color-text` |
168
+ | `--w-c-input-label-font-size` | label font size | `--w-font-size-s` |
169
+ | `--w-c-input-label-line-height` | label line height | `--w-line-height-s` |
170
+ | `--w-c-input-label-font-weight` | label font weight | `700` |
171
+ | `--w-c-input-label-padding-bottom` | space below label | `0.4rem` |
172
+ | `--w-c-input-label-cursor` | cursor when hovering label | `pointer` |
173
+ | `--w-c-input-label-display` | label display mode | `block` |
174
+
175
+
176
+ #### Optional indicator tokens
177
+
178
+ When `optional` attribute is set, these tokens control the "(optional)" text styling:
179
+
180
+ | Token | Purpose | Default |
181
+ |---|---|---|
182
+ | `--w-c-input-optional-color` | optional text color | `--w-s-color-text-subtle` |
183
+ | `--w-c-input-optional-font-size` | optional text font size | `--w-font-size-s` |
184
+ | `--w-c-input-optional-line-height` | optional text line height | `--w-line-height-s` |
185
+ | `--w-c-input-optional-font-weight` | optional text font weight | `400` |
186
+ | `--w-c-input-optional-padding-left` | space before optional text | `0.8rem` |
187
+
188
+
189
+ #### Help text tokens
190
+
191
+ | Token | Purpose | Default |
192
+ |---|---|---|
193
+ | `--w-c-input-help-text-color` | help text color (normal state) | `--w-s-color-text-subtle` |
194
+ | `--w-c-input-help-text-color-invalid` | help text color when invalid | `--w-s-color-text-negative` |
195
+ | `--w-c-input-help-text-font-size` | help text font size | `--w-font-size-xs` |
196
+ | `--w-c-input-help-text-line-height` | help text line height | `--w-line-height-xs` |
197
+ | `--w-c-input-help-text-margin-top` | space above help text | `0.4rem` |
198
+ | `--w-c-input-help-text-display` | help text display mode | `block` |
199
+
200
+
201
+ ## Implementation notes
202
+
203
+ ### Shared token system
204
+
205
+ Textarea shares its label, optional indicator, and help text tokens with `w-textfield` and `w-select`. This ensures consistent form styling across all text input components.
206
+
116
207
  ## `<w-textarea>` API
117
208
 
118
209
  Unless otherwise noted all properties are HTML attributes (as opposed to JavaScript object properties).
@@ -121,24 +212,36 @@ Unless otherwise noted all properties are HTML attributes (as opposed to JavaScr
121
212
 
122
213
  | Name | Type | Default | Summary |
123
214
  |-|-|-|-|
215
+ | checkValidity (JS only) | `checkValidity() => boolean` | `-` | Checks whether the textarea passes constraint validation |
124
216
  | disabled | `boolean` | `false` | Makes the element not focusable and hides it from form submits |
125
- | help-text | `string` | `-` | Description shown below the input field |
217
+ | handler (JS only) | `handler(e: InputEvent) => void` | `-` | - |
218
+ | help-text | `string \| undefined` | `-` | Description shown below the input field |
126
219
  | invalid | `boolean` | `false` | Mark the form field as invalid. |
127
- | label | `string` | `-` | Either a `label` or an `aria-label` must be provided. |
128
- | maximum-rows | `number` | `-` | Sets the maximum number of text rows before the content starts scrolling. |
129
- | minimum-rows | `number` | `-` | Sets the minimum number of text rows the textarea should display |
130
- | name | `string` | `-` | The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the input field when submitting the form |
220
+ | label | `string \| undefined` | `-` | Either a `label` or an `aria-label` must be provided. |
221
+ | maximum-rows | `number \| undefined` | `-` | Sets the maximum number of text rows before the content starts scrolling. |
222
+ | minimum-rows | `number \| undefined` | `-` | Sets the minimum number of text rows the textarea should display |
223
+ | name | `string \| undefined` | `-` | The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the input field when submitting the form |
131
224
  | optional | `boolean` | `false` | Show an icon behind the label indicating the field is optional |
132
- | placeholder | `string` | `-` | Shown in the textarea when it doesn't have a value |
225
+ | placeholder | `string \| undefined` | `-` | Shown in the textarea when it doesn't have a value |
133
226
  | read-only | `boolean` | `false` | **Deprecated**: Use the native `readonly` attribute instead |
134
227
  | readonly | `boolean` | `false` | Whether the input can be selected but not changed by the user |
228
+ | reportValidity (JS only) | `reportValidity() => boolean` | `-` | Checks validity and shows the browser's validation message if invalid |
135
229
  | required | `boolean` | `false` | Whether user input is required on the input before form submission |
230
+ | resetFormControl (JS only) | `resetFormControl() => void` | `-` | - |
231
+ | setCustomValidity (JS only) | `setCustomValidity(message: string) => void` | `-` | Sets a custom validation message. Pass an empty string to clear. |
136
232
  | validationMessage (JS only) | `string` | `-` | Returns the validation message if the textarea is invalid, otherwise an empty string |
137
233
  | validity (JS only) | `ValidityState` | `-` | Returns the validity state of the textarea |
138
- | value | `string` | `-` | Lets you set the current value |
234
+ | value | `string \| undefined` | `-` | Lets you set the current value |
139
235
 
140
236
  ### Property Details
141
237
 
238
+ #### checkValidity (JS only)
239
+
240
+ Checks whether the textarea passes constraint validation
241
+
242
+ - Type: `checkValidity() => boolean`
243
+ - Default: `-`
244
+
142
245
  #### disabled
143
246
 
144
247
  Keep in mind that using disabled in its current form is an anti-pattern.
@@ -150,12 +253,19 @@ Please consider more informative alternatives before choosing to use disabled on
150
253
  - Type: `boolean`
151
254
  - Default: `false`
152
255
 
256
+ #### handler (JS only)
257
+
258
+
259
+
260
+ - Type: `handler(e: InputEvent) => void`
261
+ - Default: `-`
262
+
153
263
  #### help-text
154
264
 
155
265
  Use in combination with `invalid` to show as a validation error message,
156
266
  or on its own to show a help text.
157
267
 
158
- - Type: `string`
268
+ - Type: `string | undefined`
159
269
  - Default: `-`
160
270
 
161
271
  #### invalid
@@ -171,28 +281,28 @@ Make sure to also set a `help-text` to help users fix the validation problem.
171
281
 
172
282
  Either a `label` or an `aria-label` must be provided.
173
283
 
174
- - Type: `string`
284
+ - Type: `string | undefined`
175
285
  - Default: `-`
176
286
 
177
287
  #### maximum-rows
178
288
 
179
289
  Sets the maximum number of text rows before the content starts scrolling.
180
290
 
181
- - Type: `number`
291
+ - Type: `number | undefined`
182
292
  - Default: `-`
183
293
 
184
294
  #### minimum-rows
185
295
 
186
296
  Sets the minimum number of text rows the textarea should display
187
297
 
188
- - Type: `number`
298
+ - Type: `number | undefined`
189
299
  - Default: `-`
190
300
 
191
301
  #### name
192
302
 
193
303
  The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the input field when submitting the form
194
304
 
195
- - Type: `string`
305
+ - Type: `string | undefined`
196
306
  - Default: `-`
197
307
 
198
308
  #### optional
@@ -208,7 +318,7 @@ Set a text that is shown in the textarea when it doesn't have a value.
208
318
 
209
319
  Placeholder text should not be used as a substitute for labeling the element with a visible label.
210
320
 
211
- - Type: `string`
321
+ - Type: `string | undefined`
212
322
  - Default: `-`
213
323
 
214
324
  #### read-only
@@ -227,6 +337,13 @@ Whether the input can be selected but not changed by the user
227
337
  - Type: `boolean`
228
338
  - Default: `false`
229
339
 
340
+ #### reportValidity (JS only)
341
+
342
+ Checks validity and shows the browser's validation message if invalid
343
+
344
+ - Type: `reportValidity() => boolean`
345
+ - Default: `-`
346
+
230
347
  #### required
231
348
 
232
349
  Whether user input is required on the input before form submission
@@ -234,6 +351,20 @@ Whether user input is required on the input before form submission
234
351
  - Type: `boolean`
235
352
  - Default: `false`
236
353
 
354
+ #### resetFormControl (JS only)
355
+
356
+
357
+
358
+ - Type: `resetFormControl() => void`
359
+ - Default: `-`
360
+
361
+ #### setCustomValidity (JS only)
362
+
363
+ Sets a custom validation message. Pass an empty string to clear.
364
+
365
+ - Type: `setCustomValidity(message: string) => void`
366
+ - Default: `-`
367
+
237
368
  #### validationMessage (JS only)
238
369
 
239
370
  Returns the validation message if the textarea is invalid, otherwise an empty string
@@ -252,6 +383,6 @@ Returns the validity state of the textarea
252
383
 
253
384
  Lets you set the current value
254
385
 
255
- - Type: `string`
386
+ - Type: `string | undefined`
256
387
  - Default: `-`
257
388
 
@@ -6,28 +6,33 @@ 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` | `-` | A space-separated string that hints to browsers [what type of content it can suggest](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/autocomplete#value) to autofill. |
9
+ | autocomplete | `HTMLInputElement["autocomplete"] \| undefined` | `-` | A space-separated string that hints to browsers [what type of content it can suggest](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/autocomplete#value) to autofill. |
10
10
  | disabled | `boolean` | `false` | Makes the element not focusable and hides it from form submits |
11
- | formatter (JS only) | `(value: string) => string` | `-` | Function to format value when the input field |
12
- | help-text | `string` | `-` | Description shown below the input field |
11
+ | formatter (JS only) | `((value: string) => string) \| undefined` | `-` | Function to format value when the input field |
12
+ | handler (JS only) | `handler(e: Event) => void` | `-` | - |
13
+ | help-text | `string \| undefined` | `-` | Description shown below the input field |
13
14
  | invalid | `boolean` | `false` | Mark the form field as invalid. |
14
- | label | `string` | `-` | Either a `label` or an `aria-label` must be provided. |
15
- | max | `number` | `-` | Use with `type="number"` to set the [maximum allowed value](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#maxlength). |
16
- | max-length | `number` | `-` | **Deprecated**: Use the native `maxlength` attribute |
17
- | maxlength | `number` | `-` | For `text`, `search`, `url`, `tel`, `email` and `password` fields, sets the [maximum string length](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#maxlength) allowed. |
18
- | min | `number` | `-` | Use with `type="number"` to set the [minimum allowed value](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#minlength). |
19
- | min-length | `number` | `-` | **Deprecated**: Use the native `minlength` attribute |
20
- | minlength | `number` | `-` | For `text`, `search`, `url`, `tel`, `email` and `password` fields, sets the [minimum string length](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#minlength) required. |
21
- | name | `string` | `-` | The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the input field when submitting the form. |
22
- | pattern | `string` | `-` | Sets a [regular expression](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions) that the input's value must [match to pass validation](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#pattern) |
23
- | placeholder | `string` | `-` | Shown in the textfield when it doesn't have a value |
15
+ | label | `string \| undefined` | `-` | Either a `label` or an `aria-label` must be provided. |
16
+ | max | `number \| undefined` | `-` | Use with `type="number"` to set the [maximum allowed value](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#maxlength). |
17
+ | max-length | `number \| undefined` | `-` | **Deprecated**: Use the native `maxlength` attribute |
18
+ | maxlength | `number \| undefined` | `-` | For `text`, `search`, `url`, `tel`, `email` and `password` fields, sets the [maximum string length](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#maxlength) allowed. |
19
+ | min | `number \| undefined` | `-` | Use with `type="number"` to set the [minimum allowed value](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#minlength). |
20
+ | min-length | `number \| undefined` | `-` | **Deprecated**: Use the native `minlength` attribute |
21
+ | minlength | `number \| undefined` | `-` | For `text`, `search`, `url`, `tel`, `email` and `password` fields, sets the [minimum string length](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#minlength) required. |
22
+ | name | `string \| undefined` | `-` | The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the input field when submitting the form. |
23
+ | optional | `boolean` | `false` | Whether to show the optional indicator after the label. |
24
+ | pattern | `string \| undefined` | `-` | Sets a [regular expression](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions) that the input's value must [match to pass validation](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#pattern) |
25
+ | placeholder | `string \| undefined` | `-` | Shown in the textfield when it doesn't have a value |
26
+ | prefixSlotChange (JS only) | `prefixSlotChange() => void` | `-` | - |
24
27
  | read-only | `boolean` | `false` | **Deprecated**: Use the native readonly attribute instead. |
25
28
  | readonly | `boolean` | `false` | Whether the input can be selected but not changed by the user. |
26
29
  | required | `boolean` | `false` | Whether user input is required on the input before form submission. |
27
- | size | `string` | `-` | Sets the [size](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#size) (width) of the input field to fit the expected length of inputs. |
28
- | step | `number` | `-` | Forces `number` inputs to be a whole number of `step` |
29
- | type | `string` | `-` | The [type of input](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types). |
30
- | value | `string` | `-` | Lets you set the current value. |
30
+ | resetFormControl (JS only) | `resetFormControl() => void` | `-` | - |
31
+ | size | `string \| undefined` | `-` | Sets the [size](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#size) (width) of the input field to fit the expected length of inputs. |
32
+ | step | `number \| undefined` | `-` | Forces `number` inputs to be a whole number of `step` |
33
+ | suffixSlotChange (JS only) | `suffixSlotChange() => void` | `-` | - |
34
+ | type | `string \| undefined` | `-` | The [type of input](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types). |
35
+ | value | `string \| undefined` | `-` | Lets you set the current value. |
31
36
 
32
37
  ### Property Details
33
38
 
@@ -35,7 +40,7 @@ Unless otherwise noted all properties are HTML attributes (as opposed to JavaScr
35
40
 
36
41
  A space-separated string that hints to browsers [what type of content it can suggest](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/autocomplete#value) to autofill.
37
42
 
38
- - Type: `string | undefined`
43
+ - Type: `HTMLInputElement["autocomplete"] | undefined`
39
44
  - Default: `-`
40
45
 
41
46
  #### disabled
@@ -56,7 +61,14 @@ Function to format value when the input field.
56
61
  Only active when the input field does not have focus,
57
62
  similar to the accessible input [masking example from Filament Group](https://filamentgroup.github.io/politespace/demo/demo.html).
58
63
 
59
- - Type: `(value: string) => string`
64
+ - Type: `((value: string) => string) | undefined`
65
+ - Default: `-`
66
+
67
+ #### handler (JS only)
68
+
69
+
70
+
71
+ - Type: `handler(e: Event) => void`
60
72
  - Default: `-`
61
73
 
62
74
  #### help-text
@@ -64,7 +76,7 @@ similar to the accessible input [masking example from Filament Group](https://fi
64
76
  Use in combination with `invalid` to show as a validation error message,
65
77
  or on its own to show a help text.
66
78
 
67
- - Type: `string`
79
+ - Type: `string | undefined`
68
80
  - Default: `-`
69
81
 
70
82
  #### invalid
@@ -78,14 +90,14 @@ Mark the form field as invalid. Make sure to also set a `help-text` to help user
78
90
 
79
91
  Either a `label` or an `aria-label` must be provided.
80
92
 
81
- - Type: `string`
93
+ - Type: `string | undefined`
82
94
  - Default: `-`
83
95
 
84
96
  #### max
85
97
 
86
98
  Use with `type="number"` to set the [maximum allowed value](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#maxlength).
87
99
 
88
- - Type: `number`
100
+ - Type: `number | undefined`
89
101
  - Default: `-`
90
102
 
91
103
  #### max-length
@@ -94,21 +106,21 @@ Use with `type="number"` to set the [maximum allowed value](https://developer.mo
94
106
 
95
107
 
96
108
 
97
- - Type: `number`
109
+ - Type: `number | undefined`
98
110
  - Default: `-`
99
111
 
100
112
  #### maxlength
101
113
 
102
114
  For `text`, `search`, `url`, `tel`, `email` and `password` fields, sets the [maximum string length](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#maxlength) allowed.
103
115
 
104
- - Type: `number`
116
+ - Type: `number | undefined`
105
117
  - Default: `-`
106
118
 
107
119
  #### min
108
120
 
109
121
  Use with `type="number"` to set the [minimum allowed value](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#minlength).
110
122
 
111
- - Type: `number`
123
+ - Type: `number | undefined`
112
124
  - Default: `-`
113
125
 
114
126
  #### min-length
@@ -117,28 +129,35 @@ Use with `type="number"` to set the [minimum allowed value](https://developer.mo
117
129
 
118
130
 
119
131
 
120
- - Type: `number`
132
+ - Type: `number | undefined`
121
133
  - Default: `-`
122
134
 
123
135
  #### minlength
124
136
 
125
137
  For `text`, `search`, `url`, `tel`, `email` and `password` fields, sets the [minimum string length](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#minlength) required.
126
138
 
127
- - Type: `number`
139
+ - Type: `number | undefined`
128
140
  - Default: `-`
129
141
 
130
142
  #### name
131
143
 
132
144
  The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the input field when submitting the form.
133
145
 
134
- - Type: `string`
146
+ - Type: `string | undefined`
135
147
  - Default: `-`
136
148
 
149
+ #### optional
150
+
151
+ Whether to show the optional indicator after the label.
152
+
153
+ - Type: `boolean`
154
+ - Default: `false`
155
+
137
156
  #### pattern
138
157
 
139
158
  Sets a [regular expression](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions) that the input's value must [match to pass validation](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#pattern)
140
159
 
141
- - Type: `string`
160
+ - Type: `string | undefined`
142
161
  - Default: `-`
143
162
 
144
163
  #### placeholder
@@ -147,7 +166,14 @@ Set a text that is shown in the textfield when it doesn't have a value.
147
166
 
148
167
  Placeholder text should not be used as a substitute for labeling the element with a visible label.
149
168
 
150
- - Type: `string`
169
+ - Type: `string | undefined`
170
+ - Default: `-`
171
+
172
+ #### prefixSlotChange (JS only)
173
+
174
+
175
+
176
+ - Type: `prefixSlotChange() => void`
151
177
  - Default: `-`
152
178
 
153
179
  #### read-only
@@ -173,11 +199,18 @@ Whether user input is required on the input before form submission.
173
199
  - Type: `boolean`
174
200
  - Default: `false`
175
201
 
202
+ #### resetFormControl (JS only)
203
+
204
+
205
+
206
+ - Type: `resetFormControl() => void`
207
+ - Default: `-`
208
+
176
209
  #### size
177
210
 
178
211
  Sets the [size](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#size) (width) of the input field to fit the expected length of inputs.
179
212
 
180
- - Type: `string`
213
+ - Type: `string | undefined`
181
214
  - Default: `-`
182
215
 
183
216
  #### step
@@ -187,20 +220,27 @@ When used with `number` this attribute forces inputs to be a whole number of `st
187
220
  For example with a `step="5"` only values that divide evenly on 5 are allowed.
188
221
  Using arrow up and down in the input field increments and decrements by 5.
189
222
 
190
- - Type: `number`
223
+ - Type: `number | undefined`
224
+ - Default: `-`
225
+
226
+ #### suffixSlotChange (JS only)
227
+
228
+
229
+
230
+ - Type: `suffixSlotChange() => void`
191
231
  - Default: `-`
192
232
 
193
233
  #### type
194
234
 
195
235
  The [type of input](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types).
196
236
 
197
- - Type: `string`
237
+ - Type: `string | undefined`
198
238
  - Default: `-`
199
239
 
200
240
  #### value
201
241
 
202
242
  Lets you set the current value.
203
243
 
204
- - Type: `string`
244
+ - Type: `string | undefined`
205
245
  - Default: `-`
206
246
 
@@ -1 +1,96 @@
1
1
  ## Styling API
2
+
3
+ This section documents the supported styling hooks for `<w-textfield>`.
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 textfield 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 input element | minor typography or spacing tweaks |
20
+
21
+ Example:
22
+
23
+ ```css
24
+ w-textfield::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 textfield 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
+ Textfield shares its label, optional indicator, and help text tokens with `w-textarea` and `w-select`. This ensures consistent form styling across all text input components.
93
+
94
+ ### Affix accessibility
95
+
96
+ Due to shadow DOM boundaries, affix content (prefix/suffix slots) cannot be connected to the input via ARIA references. For non-interactive affixes like currency symbols or unit labels, consider including that information in the main `label` or `placeholder` text instead for better screen reader support.