@warp-ds/elements 2.10.0-next.2 → 2.10.0-next.20

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 (743) hide show
  1. package/README.md +4 -0
  2. package/dist/.storybook/utilities.js +4 -4
  3. package/dist/api.js +1 -1
  4. package/dist/api.js.map +2 -2
  5. package/dist/custom-elements.json +1303 -619
  6. package/dist/docs/affix/affix.md +120 -3
  7. package/dist/docs/affix/api.md +2 -2
  8. package/dist/docs/affix/styling.md +108 -0
  9. package/dist/docs/alert/alert.md +6 -6
  10. package/dist/docs/alert/api.md +4 -4
  11. package/dist/docs/alert/styling.md +1 -0
  12. package/dist/docs/attention/api.md +50 -2
  13. package/dist/docs/attention/attention.md +52 -2
  14. package/dist/docs/attention/styling.md +1 -0
  15. package/dist/docs/badge/api.md +50 -4
  16. package/dist/docs/badge/badge.md +52 -4
  17. package/dist/docs/badge/styling.md +1 -0
  18. package/dist/docs/box/api.md +2 -2
  19. package/dist/docs/box/box.md +24 -42
  20. package/dist/docs/box/examples.md +20 -38
  21. package/dist/docs/box/styling.md +1 -0
  22. package/dist/docs/breadcrumb-item/api.md +27 -0
  23. package/dist/docs/breadcrumb-item/breadcrumb-item.md +34 -0
  24. package/dist/docs/breadcrumbs/accessibility.md +8 -18
  25. package/dist/docs/breadcrumbs/breadcrumbs.md +128 -36
  26. package/dist/docs/breadcrumbs/examples.md +15 -9
  27. package/dist/docs/breadcrumbs/styling.md +97 -0
  28. package/dist/docs/breadcrumbs/usage.md +8 -8
  29. package/dist/docs/button/api.md +32 -24
  30. package/dist/docs/button/button.md +105 -26
  31. package/dist/docs/button/styling.md +72 -0
  32. package/dist/docs/card/api.md +8 -0
  33. package/dist/docs/card/card.md +10 -2
  34. package/dist/docs/card/styling.md +1 -0
  35. package/dist/docs/checkbox/api.md +176 -0
  36. package/dist/docs/checkbox/checkbox.md +356 -0
  37. package/dist/docs/checkbox/styling.md +173 -0
  38. package/dist/docs/checkbox-group/accessibility.md +71 -0
  39. package/dist/docs/checkbox-group/api.md +103 -0
  40. package/dist/docs/checkbox-group/checkbox-group.md +529 -0
  41. package/dist/docs/checkbox-group/examples.md +105 -0
  42. package/dist/docs/checkbox-group/styling.md +134 -0
  43. package/dist/docs/checkbox-group/usage.md +95 -0
  44. package/dist/docs/combobox/accessibility.md +71 -0
  45. package/dist/docs/combobox/api.md +74 -36
  46. package/dist/docs/combobox/combobox.md +219 -38
  47. package/dist/docs/combobox/examples.md +44 -0
  48. package/dist/docs/combobox/styling.md +1 -0
  49. package/dist/docs/combobox/usage.md +28 -0
  50. package/dist/docs/datepicker/accessibility.md +25 -0
  51. package/dist/docs/datepicker/api.md +37 -21
  52. package/dist/docs/datepicker/datepicker.md +223 -23
  53. package/dist/docs/datepicker/examples.md +75 -0
  54. package/dist/docs/datepicker/styling.md +1 -0
  55. package/dist/docs/datepicker/usage.md +84 -0
  56. package/dist/docs/expandable/api.md +23 -35
  57. package/dist/docs/expandable/examples.md +54 -0
  58. package/dist/docs/expandable/expandable.md +77 -35
  59. package/dist/docs/expandable/styling.md +1 -0
  60. package/dist/docs/icon/accessibility.md +5 -0
  61. package/dist/docs/icon/api.md +43 -0
  62. package/dist/docs/icon/examples.md +45 -0
  63. package/dist/docs/icon/icon.md +115 -0
  64. package/dist/docs/icon/styling.md +1 -0
  65. package/dist/docs/icon/usage.md +11 -0
  66. package/dist/docs/index.md +49 -0
  67. package/dist/docs/link/api.md +24 -28
  68. package/dist/docs/link/examples.md +75 -0
  69. package/dist/docs/link/link.md +119 -30
  70. package/dist/docs/link/styling.md +1 -0
  71. package/dist/docs/link/usage.md +18 -0
  72. package/dist/docs/modal/api.md +18 -2
  73. package/dist/docs/modal/modal.md +20 -2
  74. package/dist/docs/modal/styling.md +1 -0
  75. package/dist/docs/modal-footer/modal-footer.md +0 -6
  76. package/dist/docs/modal-header/modal-header.md +0 -6
  77. package/dist/docs/page-indicator/page-indicator.md +2 -0
  78. package/dist/docs/page-indicator/styling.md +1 -0
  79. package/dist/docs/pagination/api.md +4 -4
  80. package/dist/docs/pagination/pagination.md +6 -4
  81. package/dist/docs/pagination/styling.md +1 -0
  82. package/dist/docs/pill/api.md +8 -8
  83. package/dist/docs/pill/pill.md +10 -8
  84. package/dist/docs/pill/styling.md +1 -0
  85. package/dist/docs/radio/radio.md +1 -7
  86. package/dist/docs/radio-group/api.md +4 -4
  87. package/dist/docs/radio-group/radio-group.md +183 -68
  88. package/dist/docs/radio-group/styling.md +179 -64
  89. package/dist/docs/select/api.md +10 -10
  90. package/dist/docs/select/select.md +103 -10
  91. package/dist/docs/select/styling.md +92 -0
  92. package/dist/docs/slider/api.md +22 -22
  93. package/dist/docs/slider/slider.md +24 -22
  94. package/dist/docs/slider/styling.md +1 -0
  95. package/dist/docs/slider-thumb/api.md +28 -12
  96. package/dist/docs/slider-thumb/slider-thumb.md +30 -12
  97. package/dist/docs/slider-thumb/styling.md +1 -0
  98. package/dist/docs/snackbar/accessibility.md +20 -0
  99. package/dist/docs/snackbar/api.md +30 -0
  100. package/dist/docs/snackbar/examples.md +191 -0
  101. package/dist/docs/snackbar/snackbar.md +385 -0
  102. package/dist/docs/snackbar/styling.md +72 -0
  103. package/dist/docs/snackbar/usage.md +60 -0
  104. package/dist/docs/snackbar-item/api.md +41 -0
  105. package/dist/docs/snackbar-item/snackbar-item.md +49 -0
  106. package/dist/docs/step/api.md +16 -0
  107. package/dist/docs/step/step.md +16 -0
  108. package/dist/docs/step-indicator/step-indicator.md +2 -0
  109. package/dist/docs/step-indicator/styling.md +1 -0
  110. package/dist/docs/switch/api.md +8 -0
  111. package/dist/docs/switch/styling.md +1 -0
  112. package/dist/docs/switch/switch.md +10 -0
  113. package/dist/docs/tabs/api.md +2 -2
  114. package/dist/docs/tabs/styling.md +1 -0
  115. package/dist/docs/tabs/tabs.md +4 -2
  116. package/dist/docs/textarea/api.md +54 -14
  117. package/dist/docs/textarea/styling.md +92 -0
  118. package/dist/docs/textarea/textarea.md +147 -14
  119. package/dist/docs/textfield/api.md +74 -34
  120. package/dist/docs/textfield/styling.md +96 -0
  121. package/dist/docs/textfield/textfield.md +171 -34
  122. package/dist/index.d.ts +1359 -368
  123. package/dist/packages/affix/affix-styles.d.ts +8 -0
  124. package/dist/packages/affix/affix-styles.js +108 -0
  125. package/dist/packages/affix/affix.d.ts +16 -13
  126. package/dist/packages/affix/affix.hydration.test.d.ts +1 -1
  127. package/dist/packages/affix/affix.hydration.test.js +15 -15
  128. package/dist/packages/affix/affix.js +451 -320
  129. package/dist/packages/affix/affix.js.map +4 -4
  130. package/dist/packages/affix/affix.react.stories.d.ts +3 -3
  131. package/dist/packages/affix/affix.react.stories.js +3 -3
  132. package/dist/packages/affix/affix.react.test.js +5 -3
  133. package/dist/packages/affix/affix.stories.d.ts +3 -3
  134. package/dist/packages/affix/affix.stories.js +10 -10
  135. package/dist/packages/affix/affix.test.d.ts +1 -1
  136. package/dist/packages/affix/affix.test.js +10 -10
  137. package/dist/packages/affix/react.d.ts +3 -3
  138. package/dist/packages/affix/react.js +6 -6
  139. package/dist/packages/affix/styles.js +2 -2
  140. package/dist/packages/alert/alert.d.ts +3 -3
  141. package/dist/packages/alert/alert.hydration.test.d.ts +1 -1
  142. package/dist/packages/alert/alert.hydration.test.js +21 -21
  143. package/dist/packages/alert/alert.js +349 -324
  144. package/dist/packages/alert/alert.js.map +3 -3
  145. package/dist/packages/alert/alert.react.stories.d.ts +2 -2
  146. package/dist/packages/alert/alert.react.stories.js +13 -13
  147. package/dist/packages/alert/alert.stories.d.ts +4 -4
  148. package/dist/packages/alert/alert.stories.js +29 -27
  149. package/dist/packages/alert/alert.test.d.ts +1 -1
  150. package/dist/packages/alert/alert.test.js +34 -21
  151. package/dist/packages/alert/react.d.ts +1 -1
  152. package/dist/packages/alert/react.js +4 -4
  153. package/dist/packages/alert/styles.js +2 -2
  154. package/dist/packages/attention/attention.d.ts +11 -6
  155. package/dist/packages/attention/attention.hydration.test.d.ts +1 -1
  156. package/dist/packages/attention/attention.hydration.test.js +29 -29
  157. package/dist/packages/attention/attention.js +1795 -1781
  158. package/dist/packages/attention/attention.js.map +4 -4
  159. package/dist/packages/attention/attention.react.stories.d.ts +3 -3
  160. package/dist/packages/attention/attention.react.stories.js +13 -13
  161. package/dist/packages/attention/attention.react.test.js +11 -7
  162. package/dist/packages/attention/attention.stories.d.ts +4 -4
  163. package/dist/packages/attention/attention.stories.js +126 -117
  164. package/dist/packages/attention/attention.test.d.ts +1 -1
  165. package/dist/packages/attention/attention.test.js +18 -10
  166. package/dist/packages/attention/layout-styles.js +900 -900
  167. package/dist/packages/attention/react.d.ts +4 -4
  168. package/dist/packages/attention/react.js +13 -11
  169. package/dist/packages/attention/styles.js +2 -2
  170. package/dist/packages/badge/badge.d.ts +3 -3
  171. package/dist/packages/badge/badge.hydration.test.d.ts +1 -1
  172. package/dist/packages/badge/badge.hydration.test.js +25 -25
  173. package/dist/packages/badge/badge.js +281 -281
  174. package/dist/packages/badge/badge.js.map +3 -3
  175. package/dist/packages/badge/badge.react.stories.d.ts +3 -3
  176. package/dist/packages/badge/badge.react.stories.js +17 -17
  177. package/dist/packages/badge/badge.stories.d.ts +3 -3
  178. package/dist/packages/badge/badge.stories.js +22 -20
  179. package/dist/packages/badge/badge.test.d.ts +1 -1
  180. package/dist/packages/badge/badge.test.js +13 -11
  181. package/dist/packages/badge/react.d.ts +1 -1
  182. package/dist/packages/badge/react.js +4 -4
  183. package/dist/packages/badge/styles.js +2 -2
  184. package/dist/packages/box/box.d.ts +1 -1
  185. package/dist/packages/box/box.hydration.test.d.ts +1 -1
  186. package/dist/packages/box/box.hydration.test.js +14 -14
  187. package/dist/packages/box/box.js +288 -288
  188. package/dist/packages/box/box.js.map +3 -3
  189. package/dist/packages/box/box.react.stories.d.ts +3 -3
  190. package/dist/packages/box/box.react.stories.js +8 -8
  191. package/dist/packages/box/box.stories.d.ts +3 -3
  192. package/dist/packages/box/box.stories.js +25 -19
  193. package/dist/packages/box/box.test.d.ts +1 -1
  194. package/dist/packages/box/box.test.js +6 -6
  195. package/dist/packages/box/react.d.ts +1 -1
  196. package/dist/packages/box/react.js +4 -4
  197. package/dist/packages/box/slot.test.d.ts +1 -1
  198. package/dist/packages/box/slot.test.js +6 -6
  199. package/dist/packages/box/styles.js +2 -2
  200. package/dist/packages/breadcrumb-item/breadcrumb-item.d.ts +29 -0
  201. package/dist/packages/breadcrumb-item/breadcrumb-item.js +2529 -0
  202. package/dist/packages/breadcrumb-item/breadcrumb-item.js.map +7 -0
  203. package/dist/packages/breadcrumb-item/react.d.ts +2 -0
  204. package/dist/packages/breadcrumb-item/react.js +11 -0
  205. package/dist/packages/breadcrumb-item/styles.d.ts +4 -0
  206. package/dist/packages/breadcrumb-item/styles.js +81 -0
  207. package/dist/packages/breadcrumbs/breadcrumbs.d.ts +4 -3
  208. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.d.ts +1 -1
  209. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.js +57 -50
  210. package/dist/packages/breadcrumbs/breadcrumbs.js +287 -283
  211. package/dist/packages/breadcrumbs/breadcrumbs.js.map +4 -4
  212. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.d.ts +4 -4
  213. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.js +17 -16
  214. package/dist/packages/breadcrumbs/breadcrumbs.stories.d.ts +7 -8
  215. package/dist/packages/breadcrumbs/breadcrumbs.stories.js +30 -26
  216. package/dist/packages/breadcrumbs/breadcrumbs.test.d.ts +1 -1
  217. package/dist/packages/breadcrumbs/breadcrumbs.test.js +19 -17
  218. package/dist/packages/breadcrumbs/react.d.ts +1 -1
  219. package/dist/packages/breadcrumbs/react.js +4 -4
  220. package/dist/packages/breadcrumbs/styles.js +2 -2
  221. package/dist/packages/button/button.d.ts +20 -15
  222. package/dist/packages/button/button.hydration.test.d.ts +1 -1
  223. package/dist/packages/button/button.hydration.test.js +19 -19
  224. package/dist/packages/button/button.js +809 -811
  225. package/dist/packages/button/button.js.map +4 -4
  226. package/dist/packages/button/button.react.stories.d.ts +5 -5
  227. package/dist/packages/button/button.react.stories.js +30 -30
  228. package/dist/packages/button/button.react.test.js +13 -13
  229. package/dist/packages/button/button.stories.d.ts +33 -4
  230. package/dist/packages/button/button.stories.js +353 -70
  231. package/dist/packages/button/button.test.d.ts +1 -1
  232. package/dist/packages/button/button.test.js +36 -35
  233. package/dist/packages/button/react.d.ts +3 -3
  234. package/dist/packages/button/react.js +7 -7
  235. package/dist/packages/button/styles.d.ts +22 -1
  236. package/dist/packages/button/styles.js +433 -2
  237. package/dist/packages/card/card.d.ts +1 -1
  238. package/dist/packages/card/card.hydration.test.d.ts +1 -1
  239. package/dist/packages/card/card.hydration.test.js +14 -14
  240. package/dist/packages/card/card.js +311 -296
  241. package/dist/packages/card/card.js.map +4 -4
  242. package/dist/packages/card/card.react.stories.d.ts +3 -3
  243. package/dist/packages/card/card.react.stories.js +11 -11
  244. package/dist/packages/card/card.stories.d.ts +3 -3
  245. package/dist/packages/card/card.stories.js +36 -24
  246. package/dist/packages/card/card.test.d.ts +1 -1
  247. package/dist/packages/card/card.test.js +6 -6
  248. package/dist/packages/card/react.d.ts +1 -1
  249. package/dist/packages/card/react.js +4 -4
  250. package/dist/packages/card/styles.js +2 -2
  251. package/dist/packages/checkbox/checkbox.a11y.test.d.ts +1 -1
  252. package/dist/packages/checkbox/checkbox.a11y.test.js +47 -33
  253. package/dist/packages/checkbox/checkbox.d.ts +48 -17
  254. package/dist/packages/checkbox/checkbox.hydration.test.d.ts +1 -1
  255. package/dist/packages/checkbox/checkbox.hydration.test.js +21 -21
  256. package/dist/packages/checkbox/checkbox.js +481 -430
  257. package/dist/packages/checkbox/checkbox.js.map +3 -3
  258. package/dist/packages/checkbox/checkbox.react.stories.d.ts +3 -3
  259. package/dist/packages/checkbox/checkbox.react.stories.js +3 -3
  260. package/dist/packages/checkbox/checkbox.stories.d.ts +5 -5
  261. package/dist/packages/checkbox/checkbox.stories.js +99 -91
  262. package/dist/packages/checkbox/checkbox.test.d.ts +1 -1
  263. package/dist/packages/checkbox/checkbox.test.js +64 -64
  264. package/dist/packages/checkbox/react.d.ts +2 -2
  265. package/dist/packages/checkbox/react.js +6 -6
  266. package/dist/packages/checkbox/styles.js +183 -132
  267. package/dist/packages/checkbox-group/checkbox-group.a11y.test.d.ts +2 -2
  268. package/dist/packages/checkbox-group/checkbox-group.a11y.test.js +83 -73
  269. package/dist/packages/checkbox-group/checkbox-group.d.ts +54 -13
  270. package/dist/packages/checkbox-group/checkbox-group.hydration.test.d.ts +2 -2
  271. package/dist/packages/checkbox-group/checkbox-group.hydration.test.js +36 -19
  272. package/dist/packages/checkbox-group/checkbox-group.js +62 -57
  273. package/dist/packages/checkbox-group/checkbox-group.js.map +4 -4
  274. package/dist/packages/checkbox-group/checkbox-group.react.test.js +4 -4
  275. package/dist/packages/checkbox-group/checkbox-group.test.d.ts +2 -2
  276. package/dist/packages/checkbox-group/checkbox-group.test.js +96 -90
  277. package/dist/packages/checkbox-group/react.d.ts +4 -4
  278. package/dist/packages/checkbox-group/react.js +6 -6
  279. package/dist/packages/combobox/combobox.a11y.test.d.ts +2 -2
  280. package/dist/packages/combobox/combobox.a11y.test.js +80 -33
  281. package/dist/packages/combobox/combobox.d.ts +67 -47
  282. package/dist/packages/combobox/combobox.hydration.test.d.ts +1 -1
  283. package/dist/packages/combobox/combobox.hydration.test.js +73 -35
  284. package/dist/packages/combobox/combobox.js +338 -339
  285. package/dist/packages/combobox/combobox.js.map +4 -4
  286. package/dist/packages/combobox/combobox.react.stories.d.ts +29 -13
  287. package/dist/packages/combobox/combobox.react.stories.js +29 -29
  288. package/dist/packages/combobox/combobox.react.test.js +8 -8
  289. package/dist/packages/combobox/combobox.stories.d.ts +4 -4
  290. package/dist/packages/combobox/combobox.stories.js +104 -85
  291. package/dist/packages/combobox/combobox.test.d.ts +2 -2
  292. package/dist/packages/combobox/combobox.test.js +194 -69
  293. package/dist/packages/combobox/react.d.ts +15 -7
  294. package/dist/packages/combobox/react.js +14 -14
  295. package/dist/packages/combobox/styles.js +2 -3
  296. package/dist/packages/datepicker/DatePicker.test.d.ts +2 -2
  297. package/dist/packages/datepicker/DatePicker.test.js +49 -42
  298. package/dist/packages/datepicker/datepicker.d.ts +30 -38
  299. package/dist/packages/datepicker/datepicker.hydration.test.d.ts +1 -1
  300. package/dist/packages/datepicker/datepicker.hydration.test.js +21 -21
  301. package/dist/packages/datepicker/datepicker.js +673 -632
  302. package/dist/packages/datepicker/datepicker.js.map +4 -4
  303. package/dist/packages/datepicker/datepicker.react.stories.d.ts +17 -17
  304. package/dist/packages/datepicker/datepicker.react.stories.js +9 -9
  305. package/dist/packages/datepicker/datepicker.react.test.js +6 -6
  306. package/dist/packages/datepicker/datepicker.stories.d.ts +4 -4
  307. package/dist/packages/datepicker/datepicker.stories.js +32 -32
  308. package/dist/packages/datepicker/datepicker.test.d.ts +2 -2
  309. package/dist/packages/datepicker/datepicker.test.js +77 -79
  310. package/dist/packages/datepicker/react.d.ts +9 -9
  311. package/dist/packages/datepicker/react.js +16 -14
  312. package/dist/packages/datepicker/styles/w-datepicker-calendar.styles.js +13 -12
  313. package/dist/packages/datepicker/styles/w-datepicker-day.styles.js +58 -55
  314. package/dist/packages/datepicker/styles/w-datepicker-month.styles.js +60 -57
  315. package/dist/packages/datepicker/styles/w-datepicker.styles.js +87 -87
  316. package/dist/packages/datepicker/utils.d.ts +3 -0
  317. package/dist/packages/datepicker/utils.js +40 -1
  318. package/dist/packages/datepicker/utils.test.d.ts +1 -0
  319. package/dist/packages/datepicker/utils.test.js +29 -0
  320. package/dist/packages/expandable/expandable.d.ts +18 -39
  321. package/dist/packages/expandable/expandable.hydration.test.d.ts +1 -1
  322. package/dist/packages/expandable/expandable.hydration.test.js +21 -21
  323. package/dist/packages/expandable/expandable.js +359 -332
  324. package/dist/packages/expandable/expandable.js.map +4 -4
  325. package/dist/packages/expandable/expandable.react.stories.d.ts +5 -5
  326. package/dist/packages/expandable/expandable.react.stories.js +7 -7
  327. package/dist/packages/expandable/expandable.react.test.js +15 -7
  328. package/dist/packages/expandable/expandable.stories.d.ts +5 -5
  329. package/dist/packages/expandable/expandable.stories.js +51 -45
  330. package/dist/packages/expandable/expandable.test.d.ts +1 -1
  331. package/dist/packages/expandable/expandable.test.js +19 -17
  332. package/dist/packages/expandable/react.d.ts +3 -3
  333. package/dist/packages/expandable/react.js +9 -9
  334. package/dist/packages/expandable/styles.js +2 -2
  335. package/dist/packages/global.d.ts +1 -0
  336. package/dist/packages/global.js +5 -0
  337. package/dist/packages/i18n.d.ts +1 -1
  338. package/dist/packages/i18n.js +37 -29
  339. package/dist/packages/icon/icon.d.ts +22 -5
  340. package/dist/packages/icon/icon.hydration.test.d.ts +1 -1
  341. package/dist/packages/icon/icon.hydration.test.js +25 -25
  342. package/dist/packages/icon/icon.js +31 -26
  343. package/dist/packages/icon/icon.js.map +3 -3
  344. package/dist/packages/icon/icon.react.stories.d.ts +4 -3
  345. package/dist/packages/icon/icon.react.stories.js +284 -283
  346. package/dist/packages/icon/icon.stories.d.ts +7 -30
  347. package/dist/packages/icon/icon.stories.js +307 -297
  348. package/dist/packages/icon/icon.test.d.ts +1 -1
  349. package/dist/packages/icon/icon.test.js +36 -28
  350. package/dist/packages/icon/react.d.ts +2 -2
  351. package/dist/packages/icon/react.js +4 -4
  352. package/dist/packages/icon/style.js +24 -25
  353. package/dist/packages/interaction-type-detection.d.ts +22 -0
  354. package/dist/packages/interaction-type-detection.js +38 -0
  355. package/dist/packages/link/link.d.ts +22 -23
  356. package/dist/packages/link/link.hydration.test.d.ts +1 -1
  357. package/dist/packages/link/link.hydration.test.js +27 -27
  358. package/dist/packages/link/link.js +775 -498
  359. package/dist/packages/link/link.js.map +4 -4
  360. package/dist/packages/link/link.react.stories.d.ts +3 -3
  361. package/dist/packages/link/link.react.stories.js +42 -42
  362. package/dist/packages/link/link.react.test.js +5 -3
  363. package/dist/packages/link/link.stories.d.ts +3 -3
  364. package/dist/packages/link/link.stories.js +51 -51
  365. package/dist/packages/link/link.test.d.ts +1 -1
  366. package/dist/packages/link/link.test.js +11 -7
  367. package/dist/packages/link/react.d.ts +2 -2
  368. package/dist/packages/link/react.js +6 -6
  369. package/dist/packages/link/styles.d.ts +5 -0
  370. package/dist/packages/link/styles.js +85 -0
  371. package/dist/packages/modal/index.d.ts +7 -7
  372. package/dist/packages/modal/index.js +7 -7
  373. package/dist/packages/modal/modal.d.ts +3 -2
  374. package/dist/packages/modal/modal.hydration.test.d.ts +1 -1
  375. package/dist/packages/modal/modal.hydration.test.js +12 -12
  376. package/dist/packages/modal/modal.js +409 -409
  377. package/dist/packages/modal/modal.js.map +3 -3
  378. package/dist/packages/modal/modal.react.stories.d.ts +7 -7
  379. package/dist/packages/modal/modal.react.stories.js +15 -6
  380. package/dist/packages/modal/modal.react.test.js +5 -5
  381. package/dist/packages/modal/modal.stories.d.ts +6 -6
  382. package/dist/packages/modal/modal.stories.js +253 -238
  383. package/dist/packages/modal/react.d.ts +38 -8
  384. package/dist/packages/modal/react.js +43 -13
  385. package/dist/packages/modal/util.js +3 -1
  386. package/dist/packages/modal-footer/modal-footer.d.ts +1 -1
  387. package/dist/packages/modal-footer/modal-footer.js +296 -296
  388. package/dist/packages/modal-footer/modal-footer.js.map +3 -3
  389. package/dist/packages/modal-footer/react.d.ts +1 -1
  390. package/dist/packages/modal-footer/react.js +4 -4
  391. package/dist/packages/modal-header/modal-header.d.ts +2 -2
  392. package/dist/packages/modal-header/modal-header.js +443 -422
  393. package/dist/packages/modal-header/modal-header.js.map +4 -4
  394. package/dist/packages/modal-header/modal-header.react.test.js +5 -3
  395. package/dist/packages/modal-header/react.d.ts +4 -4
  396. package/dist/packages/modal-header/react.js +8 -8
  397. package/dist/packages/page-indicator/page-indicator.d.ts +1 -5
  398. package/dist/packages/page-indicator/page-indicator.hydration.test.d.ts +1 -1
  399. package/dist/packages/page-indicator/page-indicator.hydration.test.js +22 -22
  400. package/dist/packages/page-indicator/page-indicator.js +29 -29
  401. package/dist/packages/page-indicator/page-indicator.js.map +4 -4
  402. package/dist/packages/page-indicator/page-indicator.react.stories.d.ts +3 -3
  403. package/dist/packages/page-indicator/page-indicator.react.stories.js +11 -11
  404. package/dist/packages/page-indicator/page-indicator.react.test.js +5 -5
  405. package/dist/packages/page-indicator/page-indicator.stories.d.ts +9 -27
  406. package/dist/packages/page-indicator/page-indicator.stories.js +63 -32
  407. package/dist/packages/page-indicator/page-indicator.test.d.ts +1 -1
  408. package/dist/packages/page-indicator/page-indicator.test.js +110 -70
  409. package/dist/packages/page-indicator/react.d.ts +2 -2
  410. package/dist/packages/page-indicator/react.js +7 -7
  411. package/dist/packages/page-indicator/style.js +21 -21
  412. package/dist/packages/pagination/pagination.a11y.test.d.ts +1 -1
  413. package/dist/packages/pagination/pagination.a11y.test.js +59 -25
  414. package/dist/packages/pagination/pagination.d.ts +10 -11
  415. package/dist/packages/pagination/pagination.hydration.test.d.ts +1 -1
  416. package/dist/packages/pagination/pagination.hydration.test.js +19 -19
  417. package/dist/packages/pagination/pagination.js +385 -354
  418. package/dist/packages/pagination/pagination.js.map +4 -4
  419. package/dist/packages/pagination/pagination.react.stories.d.ts +11 -11
  420. package/dist/packages/pagination/pagination.react.stories.js +8 -8
  421. package/dist/packages/pagination/pagination.react.test.js +6 -6
  422. package/dist/packages/pagination/pagination.stories.d.ts +3 -3
  423. package/dist/packages/pagination/pagination.stories.js +18 -18
  424. package/dist/packages/pagination/pagination.test.d.ts +1 -1
  425. package/dist/packages/pagination/pagination.test.js +146 -72
  426. package/dist/packages/pagination/react.d.ts +6 -6
  427. package/dist/packages/pagination/react.js +12 -10
  428. package/dist/packages/pagination/styles.js +2 -2
  429. package/dist/packages/pill/pill.d.ts +6 -6
  430. package/dist/packages/pill/pill.hydration.test.d.ts +1 -1
  431. package/dist/packages/pill/pill.hydration.test.js +14 -14
  432. package/dist/packages/pill/pill.js +337 -314
  433. package/dist/packages/pill/pill.js.map +4 -4
  434. package/dist/packages/pill/pill.react.stories.d.ts +11 -11
  435. package/dist/packages/pill/pill.react.stories.js +3 -3
  436. package/dist/packages/pill/pill.react.test.js +8 -8
  437. package/dist/packages/pill/pill.stories.d.ts +3 -3
  438. package/dist/packages/pill/pill.stories.js +8 -8
  439. package/dist/packages/pill/pill.test.d.ts +1 -1
  440. package/dist/packages/pill/pill.test.js +17 -15
  441. package/dist/packages/pill/react.d.ts +6 -6
  442. package/dist/packages/pill/react.js +18 -14
  443. package/dist/packages/pill/styles.js +2 -2
  444. package/dist/packages/radio/base-element.d.ts +3 -3
  445. package/dist/packages/radio/base-element.js +3 -3
  446. package/dist/packages/radio/custom-error-validator.d.ts +1 -1
  447. package/dist/packages/radio/custom-error-validator.js +3 -3
  448. package/dist/packages/radio/form-associated-element.d.ts +9 -9
  449. package/dist/packages/radio/form-associated-element.js +27 -26
  450. package/dist/packages/radio/host-styles.js +9 -9
  451. package/dist/packages/radio/invalid.d.ts +1 -1
  452. package/dist/packages/radio/invalid.js +1 -1
  453. package/dist/packages/radio/radio-styles.js +199 -160
  454. package/dist/packages/radio/radio.a11y.test.d.ts +2 -2
  455. package/dist/packages/radio/radio.a11y.test.js +60 -58
  456. package/dist/packages/radio/radio.d.ts +4 -4
  457. package/dist/packages/radio/radio.hydration.test.d.ts +1 -1
  458. package/dist/packages/radio/radio.hydration.test.js +23 -14
  459. package/dist/packages/radio/radio.js +491 -452
  460. package/dist/packages/radio/radio.js.map +3 -3
  461. package/dist/packages/radio/radio.react.stories.d.ts +2 -2
  462. package/dist/packages/radio/radio.react.stories.js +3 -3
  463. package/dist/packages/radio/radio.stories.d.ts +4 -4
  464. package/dist/packages/radio/radio.stories.js +152 -136
  465. package/dist/packages/radio/radio.test.d.ts +1 -1
  466. package/dist/packages/radio/radio.test.js +74 -73
  467. package/dist/packages/radio/react.d.ts +1 -1
  468. package/dist/packages/radio/react.js +4 -4
  469. package/dist/packages/radio/required-validator.d.ts +1 -1
  470. package/dist/packages/radio/required-validator.js +12 -7
  471. package/dist/packages/radio/slot.d.ts +1 -1
  472. package/dist/packages/radio/slot.js +11 -8
  473. package/dist/packages/radio/watch.d.ts +1 -1
  474. package/dist/packages/radio/watch.js +3 -1
  475. package/dist/packages/radio-group/radio-group-styles.js +121 -88
  476. package/dist/packages/radio-group/radio-group.a11y.test.d.ts +2 -2
  477. package/dist/packages/radio-group/radio-group.a11y.test.js +83 -77
  478. package/dist/packages/radio-group/radio-group.d.ts +16 -7
  479. package/dist/packages/radio-group/radio-group.hydration.test.d.ts +2 -2
  480. package/dist/packages/radio-group/radio-group.hydration.test.js +30 -15
  481. package/dist/packages/radio-group/radio-group.js +655 -567
  482. package/dist/packages/radio-group/radio-group.js.map +4 -4
  483. package/dist/packages/radio-group/radio-group.react.test.js +4 -4
  484. package/dist/packages/radio-group/radio-group.test.d.ts +2 -2
  485. package/dist/packages/radio-group/radio-group.test.js +234 -229
  486. package/dist/packages/radio-group/react.d.ts +7 -7
  487. package/dist/packages/radio-group/react.js +10 -10
  488. package/dist/packages/select/input-styles.d.ts +11 -0
  489. package/dist/packages/select/input-styles.js +88 -0
  490. package/dist/packages/select/react.d.ts +5 -5
  491. package/dist/packages/select/react.js +11 -11
  492. package/dist/packages/select/select.a11y.test.d.ts +1 -1
  493. package/dist/packages/select/select.a11y.test.js +100 -89
  494. package/dist/packages/select/select.d.ts +10 -11
  495. package/dist/packages/select/select.hydration.test.d.ts +1 -1
  496. package/dist/packages/select/select.hydration.test.js +16 -16
  497. package/dist/packages/select/select.js +432 -336
  498. package/dist/packages/select/select.js.map +4 -4
  499. package/dist/packages/select/select.react.stories.d.ts +10 -10
  500. package/dist/packages/select/select.react.stories.js +19 -14
  501. package/dist/packages/select/select.react.test.js +6 -6
  502. package/dist/packages/select/select.stories.d.ts +3 -3
  503. package/dist/packages/select/select.stories.js +51 -48
  504. package/dist/packages/select/select.test.d.ts +1 -1
  505. package/dist/packages/select/select.test.js +178 -179
  506. package/dist/packages/select/styles.js +2 -2
  507. package/dist/packages/slider/Slider.d.ts +1 -1
  508. package/dist/packages/slider/Slider.js +4 -4
  509. package/dist/packages/slider/index.d.ts +2 -2
  510. package/dist/packages/slider/index.js +2 -2
  511. package/dist/packages/slider/react.d.ts +4 -4
  512. package/dist/packages/slider/react.js +9 -9
  513. package/dist/packages/slider/slider.d.ts +17 -17
  514. package/dist/packages/slider/slider.hydration.test.d.ts +1 -1
  515. package/dist/packages/slider/slider.hydration.test.js +40 -16
  516. package/dist/packages/slider/slider.js +485 -467
  517. package/dist/packages/slider/slider.js.map +4 -4
  518. package/dist/packages/slider/slider.react.stories.d.ts +4 -4
  519. package/dist/packages/slider/slider.react.stories.js +29 -32
  520. package/dist/packages/slider/slider.react.test.js +6 -6
  521. package/dist/packages/slider/slider.stories.d.ts +7 -7
  522. package/dist/packages/slider/slider.stories.js +333 -340
  523. package/dist/packages/slider/slider.test.d.ts +5 -5
  524. package/dist/packages/slider/slider.test.js +367 -334
  525. package/dist/packages/slider/styles/w-slider.styles.js +166 -148
  526. package/dist/packages/slider/styles.js +2 -2
  527. package/dist/packages/slider-thumb/SliderThumb.d.ts +1 -1
  528. package/dist/packages/slider-thumb/SliderThumb.js +4 -4
  529. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.d.ts +1 -1
  530. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.js +1 -1
  531. package/dist/packages/slider-thumb/react.d.ts +5 -5
  532. package/dist/packages/slider-thumb/react.js +11 -9
  533. package/dist/packages/slider-thumb/slider-thumb.d.ts +17 -17
  534. package/dist/packages/slider-thumb/slider-thumb.hydration.test.d.ts +1 -1
  535. package/dist/packages/slider-thumb/slider-thumb.hydration.test.js +26 -17
  536. package/dist/packages/slider-thumb/slider-thumb.js +550 -553
  537. package/dist/packages/slider-thumb/slider-thumb.js.map +4 -4
  538. package/dist/packages/slider-thumb/slider-thumb.react.test.js +9 -5
  539. package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.js +189 -188
  540. package/dist/packages/slider-thumb/styles.js +2 -0
  541. package/dist/packages/snackbar/locales/da/messages.d.mts +1 -0
  542. package/dist/packages/snackbar/locales/da/messages.mjs +1 -0
  543. package/dist/packages/snackbar/locales/en/messages.d.mts +1 -0
  544. package/dist/packages/snackbar/locales/en/messages.mjs +1 -0
  545. package/dist/packages/snackbar/locales/fi/messages.d.mts +1 -0
  546. package/dist/packages/snackbar/locales/fi/messages.mjs +1 -0
  547. package/dist/packages/snackbar/locales/nb/messages.d.mts +1 -0
  548. package/dist/packages/snackbar/locales/nb/messages.mjs +1 -0
  549. package/dist/packages/snackbar/locales/sv/messages.d.mts +1 -0
  550. package/dist/packages/snackbar/locales/sv/messages.mjs +1 -0
  551. package/dist/packages/snackbar/react.d.ts +2 -0
  552. package/dist/packages/snackbar/react.js +11 -0
  553. package/dist/packages/snackbar/snackbar.d.ts +132 -0
  554. package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -0
  555. package/dist/packages/snackbar/snackbar.hydration.test.js +13 -0
  556. package/dist/packages/snackbar/snackbar.js +2665 -0
  557. package/dist/packages/snackbar/snackbar.js.map +7 -0
  558. package/dist/packages/snackbar/snackbar.react.stories.d.ts +12 -0
  559. package/dist/packages/snackbar/snackbar.react.stories.js +160 -0
  560. package/dist/packages/snackbar/snackbar.stories.d.ts +20 -0
  561. package/dist/packages/snackbar/snackbar.stories.js +363 -0
  562. package/dist/packages/snackbar/snackbar.test.d.ts +4 -0
  563. package/dist/packages/snackbar/snackbar.test.js +17 -0
  564. package/dist/packages/snackbar/styles.d.ts +1 -0
  565. package/dist/packages/snackbar/styles.js +35 -0
  566. package/dist/packages/snackbar-item/react.d.ts +5 -0
  567. package/dist/packages/snackbar-item/react.js +16 -0
  568. package/dist/packages/snackbar-item/snackbar-item.d.ts +69 -0
  569. package/dist/packages/snackbar-item/snackbar-item.js +2620 -0
  570. package/dist/packages/snackbar-item/snackbar-item.js.map +7 -0
  571. package/dist/packages/snackbar-item/snackbar-item.react.test.d.ts +1 -0
  572. package/dist/packages/snackbar-item/snackbar-item.react.test.js +5 -0
  573. package/dist/packages/snackbar-item/styles.d.ts +1 -0
  574. package/dist/packages/snackbar-item/styles.js +133 -0
  575. package/dist/packages/step/react.d.ts +1 -1
  576. package/dist/packages/step/react.js +4 -4
  577. package/dist/packages/step/step.d.ts +2 -2
  578. package/dist/packages/step/step.hydration.test.d.ts +1 -1
  579. package/dist/packages/step/step.hydration.test.js +10 -10
  580. package/dist/packages/step/step.js +337 -315
  581. package/dist/packages/step/step.js.map +4 -4
  582. package/dist/packages/step-indicator/index.d.ts +2 -2
  583. package/dist/packages/step-indicator/index.js +2 -2
  584. package/dist/packages/step-indicator/react.d.ts +2 -2
  585. package/dist/packages/step-indicator/react.js +5 -5
  586. package/dist/packages/step-indicator/step-indicator.a11y.test.d.ts +2 -2
  587. package/dist/packages/step-indicator/step-indicator.a11y.test.js +48 -46
  588. package/dist/packages/step-indicator/step-indicator.d.ts +1 -1
  589. package/dist/packages/step-indicator/step-indicator.hydration.test.d.ts +1 -1
  590. package/dist/packages/step-indicator/step-indicator.hydration.test.js +10 -10
  591. package/dist/packages/step-indicator/step-indicator.js +285 -281
  592. package/dist/packages/step-indicator/step-indicator.js.map +3 -3
  593. package/dist/packages/step-indicator/stepindicator.react.stories.d.ts +2 -2
  594. package/dist/packages/step-indicator/stepindicator.react.stories.js +3 -3
  595. package/dist/packages/step-indicator/stepindicator.stories.d.ts +3 -3
  596. package/dist/packages/step-indicator/stepindicator.stories.js +129 -129
  597. package/dist/packages/step-indicator/styles.js +2 -2
  598. package/dist/packages/styles.js +277 -275
  599. package/dist/packages/switch/react.d.ts +1 -1
  600. package/dist/packages/switch/react.js +6 -6
  601. package/dist/packages/switch/styles.js +2 -2
  602. package/dist/packages/switch/switch.a11y.test.d.ts +1 -1
  603. package/dist/packages/switch/switch.a11y.test.js +46 -38
  604. package/dist/packages/switch/switch.d.ts +3 -3
  605. package/dist/packages/switch/switch.hydration.test.d.ts +1 -1
  606. package/dist/packages/switch/switch.hydration.test.js +23 -23
  607. package/dist/packages/switch/switch.js +304 -304
  608. package/dist/packages/switch/switch.js.map +3 -3
  609. package/dist/packages/switch/switch.react.stories.d.ts +2 -2
  610. package/dist/packages/switch/switch.react.stories.js +2 -2
  611. package/dist/packages/switch/switch.stories.d.ts +2 -2
  612. package/dist/packages/switch/switch.stories.js +42 -37
  613. package/dist/packages/switch/switch.test.d.ts +1 -1
  614. package/dist/packages/switch/switch.test.js +30 -35
  615. package/dist/packages/tab/react.d.ts +9 -7
  616. package/dist/packages/tab/react.js +11 -10
  617. package/dist/packages/tab/styles.d.ts +1 -0
  618. package/dist/packages/tab/styles.js +2 -0
  619. package/dist/packages/tab/tab.d.ts +6 -6
  620. package/dist/packages/tab/tab.hydration.test.d.ts +1 -1
  621. package/dist/packages/tab/tab.hydration.test.js +18 -12
  622. package/dist/packages/tab/tab.js +309 -308
  623. package/dist/packages/tab/tab.js.map +4 -4
  624. package/dist/packages/tab/tab.react.test.js +5 -3
  625. package/dist/packages/tab-panel/react.d.ts +3 -2
  626. package/dist/packages/tab-panel/react.js +11 -5
  627. package/dist/packages/tab-panel/tab-panel.d.ts +3 -3
  628. package/dist/packages/tab-panel/tab-panel.hydration.test.d.ts +1 -1
  629. package/dist/packages/tab-panel/tab-panel.hydration.test.js +13 -10
  630. package/dist/packages/tab-panel/tab-panel.js +293 -291
  631. package/dist/packages/tab-panel/tab-panel.js.map +3 -3
  632. package/dist/packages/tabs/index.d.ts +4 -4
  633. package/dist/packages/tabs/index.js +3 -3
  634. package/dist/packages/tabs/react.d.ts +27 -8
  635. package/dist/packages/tabs/react.js +30 -9
  636. package/dist/packages/tabs/styles.js +2 -2
  637. package/dist/packages/tabs/tabs.a11y.test.d.ts +3 -3
  638. package/dist/packages/tabs/tabs.a11y.test.js +188 -169
  639. package/dist/packages/tabs/tabs.d.ts +6 -5
  640. package/dist/packages/tabs/tabs.hydration.test.d.ts +3 -1
  641. package/dist/packages/tabs/tabs.hydration.test.js +22 -8
  642. package/dist/packages/tabs/tabs.js +293 -286
  643. package/dist/packages/tabs/tabs.js.map +3 -3
  644. package/dist/packages/tabs/tabs.react.stories.d.ts +12 -10
  645. package/dist/packages/tabs/tabs.react.stories.js +28 -28
  646. package/dist/packages/tabs/tabs.stories.d.ts +4 -4
  647. package/dist/packages/tabs/tabs.stories.js +101 -95
  648. package/dist/packages/tabs/tabs.test.d.ts +3 -3
  649. package/dist/packages/tabs/tabs.test.js +137 -123
  650. package/dist/packages/textarea/input-styles.d.ts +11 -0
  651. package/dist/packages/textarea/input-styles.js +88 -0
  652. package/dist/packages/textarea/react.d.ts +11 -11
  653. package/dist/packages/textarea/react.js +17 -17
  654. package/dist/packages/textarea/styles.js +2 -2
  655. package/dist/packages/textarea/textarea.a11y.test.d.ts +1 -1
  656. package/dist/packages/textarea/textarea.a11y.test.js +90 -58
  657. package/dist/packages/textarea/textarea.d.ts +11 -11
  658. package/dist/packages/textarea/textarea.hydration.test.d.ts +1 -1
  659. package/dist/packages/textarea/textarea.hydration.test.js +19 -19
  660. package/dist/packages/textarea/textarea.js +385 -304
  661. package/dist/packages/textarea/textarea.js.map +4 -4
  662. package/dist/packages/textarea/textarea.react.stories.d.ts +21 -21
  663. package/dist/packages/textarea/textarea.react.stories.js +13 -13
  664. package/dist/packages/textarea/textarea.react.test.js +7 -7
  665. package/dist/packages/textarea/textarea.stories.d.ts +3 -3
  666. package/dist/packages/textarea/textarea.stories.js +44 -42
  667. package/dist/packages/textarea/textarea.test.d.ts +1 -1
  668. package/dist/packages/textarea/textarea.test.js +124 -88
  669. package/dist/packages/textfield/input-styles.d.ts +11 -0
  670. package/dist/packages/textfield/input-styles.js +88 -0
  671. package/dist/packages/textfield/locales/da/messages.d.mts +1 -0
  672. package/dist/packages/textfield/locales/da/messages.mjs +1 -0
  673. package/dist/packages/textfield/locales/en/messages.d.mts +1 -0
  674. package/dist/packages/textfield/locales/en/messages.mjs +1 -0
  675. package/dist/packages/textfield/locales/fi/messages.d.mts +1 -0
  676. package/dist/packages/textfield/locales/fi/messages.mjs +1 -0
  677. package/dist/packages/textfield/locales/nb/messages.d.mts +1 -0
  678. package/dist/packages/textfield/locales/nb/messages.mjs +1 -0
  679. package/dist/packages/textfield/locales/sv/messages.d.mts +1 -0
  680. package/dist/packages/textfield/locales/sv/messages.mjs +1 -0
  681. package/dist/packages/textfield/react.d.ts +11 -11
  682. package/dist/packages/textfield/react.js +17 -17
  683. package/dist/packages/textfield/styles/w-textfield.styles.js +60 -58
  684. package/dist/packages/textfield/styles.js +2 -2
  685. package/dist/packages/textfield/textfield.d.ts +36 -26
  686. package/dist/packages/textfield/textfield.hydration.test.d.ts +1 -1
  687. package/dist/packages/textfield/textfield.hydration.test.js +19 -19
  688. package/dist/packages/textfield/textfield.js +468 -373
  689. package/dist/packages/textfield/textfield.js.map +4 -4
  690. package/dist/packages/textfield/textfield.react.stories.d.ts +21 -21
  691. package/dist/packages/textfield/textfield.react.stories.js +31 -31
  692. package/dist/packages/textfield/textfield.react.test.js +7 -7
  693. package/dist/packages/textfield/textfield.stories.d.ts +4 -4
  694. package/dist/packages/textfield/textfield.stories.js +107 -89
  695. package/dist/packages/textfield/textfield.test.d.ts +2 -2
  696. package/dist/packages/textfield/textfield.test.js +103 -71
  697. package/dist/packages/toast/api.d.ts +2 -2
  698. package/dist/packages/toast/api.js +3 -3
  699. package/dist/packages/toast/index.d.ts +5 -5
  700. package/dist/packages/toast/index.js +5 -5
  701. package/dist/packages/toast/styles.js +2 -2
  702. package/dist/packages/toast/toast.d.ts +5 -5
  703. package/dist/packages/toast/toast.js +349 -320
  704. package/dist/packages/toast/toast.js.map +4 -4
  705. package/dist/packages/toast/toast.stories.d.ts +5 -9
  706. package/dist/packages/toast/toast.stories.js +37 -33
  707. package/dist/packages/toast/toast.test.d.ts +1 -1
  708. package/dist/packages/toast/toast.test.js +48 -31
  709. package/dist/packages/toast/types.d.ts +1 -1
  710. package/dist/packages/toast-container/styles.d.ts +1 -0
  711. package/dist/packages/toast-container/styles.js +2 -0
  712. package/dist/packages/toast-container/toast-container.d.ts +2 -2
  713. package/dist/packages/toast-container/toast-container.js +295 -294
  714. package/dist/packages/toast-container/toast-container.js.map +4 -4
  715. package/dist/packages/utils/element-collapse.d.ts +12 -0
  716. package/dist/packages/utils/element-collapse.js +102 -0
  717. package/dist/packages/utils/expand-transition.d.ts +1 -1
  718. package/dist/packages/utils/expand-transition.js +12 -10
  719. package/dist/packages/utils/unstyled-heading.d.ts +1 -1
  720. package/dist/packages/utils/unstyled-heading.js +4 -4
  721. package/dist/packages/utils/window-exists.js +1 -1
  722. package/dist/packages/utils.js +2 -2
  723. package/dist/setup-tests.d.ts +3 -3
  724. package/dist/setup-tests.js +16 -13
  725. package/dist/tests/react-hydration.js +29 -30
  726. package/dist/tests/react-ssr-attributes.d.ts +1 -1
  727. package/dist/tests/react-ssr-attributes.js +4 -4
  728. package/dist/web-types.json +566 -301
  729. package/eik/index.js +96 -0
  730. package/package.json +35 -29
  731. package/dist/docs/modal-footer/accessibility.md +0 -1
  732. package/dist/docs/modal-footer/examples.md +0 -1
  733. package/dist/docs/modal-footer/usage.md +0 -1
  734. package/dist/docs/modal-header/accessibility.md +0 -1
  735. package/dist/docs/modal-header/examples.md +0 -1
  736. package/dist/docs/modal-header/usage.md +0 -1
  737. package/dist/docs/radio/accessibility.md +0 -1
  738. package/dist/docs/radio/examples.md +0 -1
  739. package/dist/docs/radio/usage.md +0 -1
  740. package/dist/packages/button/styles/w-button.styles.d.ts +0 -1
  741. package/dist/packages/button/styles/w-button.styles.js +0 -282
  742. package/dist/packages/link/styles/w-link.styles.js +0 -213
  743. /package/dist/packages/{link/styles/w-link.styles.d.ts → slider-thumb/styles.d.ts} +0 -0
@@ -1,32 +1,32 @@
1
- import { StoryObj } from '@storybook/react';
2
- import React from 'react';
3
- import { Textarea } from './react';
1
+ import { StoryObj } from "@storybook/react";
2
+ import React from "react";
3
+ import { Textarea } from "./react";
4
4
  declare const _default: {
5
5
  title: string;
6
- render(args: Omit<Omit<Omit<React.HTMLAttributes<import("./textarea").WarpTextarea>, "value" | "form" | "label" | "name" | "disabled" | "invalid" | "helpText" | "placeholder" | "readOnly" | "readonly" | "required" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "connectedCallback" | "disconnectedCallback" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "onblur" | "onchange" | "onfocus" | "oninput" | "updated" | "firstUpdated" | "resetFormControl" | "_helptextstyles" | "_helpId" | "_id" | "_error" | "handler" | "render" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "renderOptions" | "onFocus" | "onBlur" | "onChange" | "onInput" | "reportValidity" | "optional" | "setCustomValidity" | "maxRows" | "minRows" | "minHeight" | "maxHeight" | "_textareaStyles"> & {
7
- onBlur?: (e: Event) => void;
8
- onblur?: (e: Event) => void;
9
- onChange?: (e: Event) => void;
10
- onchange?: (e: Event) => void;
11
- onInput?: (e: Event) => void;
12
- oninput?: (e: Event) => void;
13
- onFocus?: (e: Event) => void;
14
- onfocus?: (e: Event) => void;
6
+ render(args: Omit<Omit<Omit<React.HTMLAttributes<import("./textarea").WarpTextarea>, "value" | "form" | "label" | "name" | "disabled" | "invalid" | "helpText" | "optional" | "placeholder" | "readOnly" | "readonly" | "required" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "connectedCallback" | "disconnectedCallback" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "onblur" | "onchange" | "onfocus" | "oninput" | "updated" | "firstUpdated" | "resetFormControl" | "_helptextstyles" | "_helpId" | "_id" | "_error" | "handler" | "render" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "renderOptions" | "onFocus" | "onBlur" | "onChange" | "onInput" | "reportValidity" | "minHeight" | "setCustomValidity" | "maxRows" | "minRows" | "maxHeight" | "_textareaStyles"> & {
7
+ onBlur?: ((e: Event) => void) | undefined;
8
+ onblur?: ((e: Event) => void) | undefined;
9
+ onChange?: ((e: Event) => void) | undefined;
10
+ onchange?: ((e: Event) => void) | undefined;
11
+ onInput?: ((e: Event) => void) | undefined;
12
+ oninput?: ((e: Event) => void) | undefined;
13
+ onFocus?: ((e: Event) => void) | undefined;
14
+ onfocus?: ((e: Event) => void) | undefined;
15
15
  } & Partial<Omit<import("./textarea").WarpTextarea, keyof HTMLElement>> & React.RefAttributes<import("./textarea").WarpTextarea>, "ref">, "help-text" | "read-only" | "maximum-rows" | "minimum-rows"> & {
16
16
  helpText?: string;
17
17
  maxRows?: number;
18
18
  minRows?: number;
19
19
  readOnly?: boolean;
20
20
  } & React.RefAttributes<import("./textarea").WarpTextarea>): React.JSX.Element;
21
- component: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.HTMLAttributes<import("./textarea").WarpTextarea>, "value" | "form" | "label" | "name" | "disabled" | "invalid" | "helpText" | "placeholder" | "readOnly" | "readonly" | "required" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "connectedCallback" | "disconnectedCallback" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "onblur" | "onchange" | "onfocus" | "oninput" | "updated" | "firstUpdated" | "resetFormControl" | "_helptextstyles" | "_helpId" | "_id" | "_error" | "handler" | "render" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "renderOptions" | "onFocus" | "onBlur" | "onChange" | "onInput" | "reportValidity" | "optional" | "setCustomValidity" | "maxRows" | "minRows" | "minHeight" | "maxHeight" | "_textareaStyles"> & {
22
- onBlur?: (e: Event) => void;
23
- onblur?: (e: Event) => void;
24
- onChange?: (e: Event) => void;
25
- onchange?: (e: Event) => void;
26
- onInput?: (e: Event) => void;
27
- oninput?: (e: Event) => void;
28
- onFocus?: (e: Event) => void;
29
- onfocus?: (e: Event) => void;
21
+ component: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.HTMLAttributes<import("./textarea").WarpTextarea>, "value" | "form" | "label" | "name" | "disabled" | "invalid" | "helpText" | "optional" | "placeholder" | "readOnly" | "readonly" | "required" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "connectedCallback" | "disconnectedCallback" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "onblur" | "onchange" | "onfocus" | "oninput" | "updated" | "firstUpdated" | "resetFormControl" | "_helptextstyles" | "_helpId" | "_id" | "_error" | "handler" | "render" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "renderOptions" | "onFocus" | "onBlur" | "onChange" | "onInput" | "reportValidity" | "minHeight" | "setCustomValidity" | "maxRows" | "minRows" | "maxHeight" | "_textareaStyles"> & {
22
+ onBlur?: ((e: Event) => void) | undefined;
23
+ onblur?: ((e: Event) => void) | undefined;
24
+ onChange?: ((e: Event) => void) | undefined;
25
+ onchange?: ((e: Event) => void) | undefined;
26
+ onInput?: ((e: Event) => void) | undefined;
27
+ oninput?: ((e: Event) => void) | undefined;
28
+ onFocus?: ((e: Event) => void) | undefined;
29
+ onfocus?: ((e: Event) => void) | undefined;
30
30
  } & Partial<Omit<import("./textarea").WarpTextarea, keyof HTMLElement>> & React.RefAttributes<import("./textarea").WarpTextarea>, "ref">, "help-text" | "read-only" | "maximum-rows" | "minimum-rows"> & {
31
31
  helpText?: string;
32
32
  maxRows?: number;
@@ -1,7 +1,7 @@
1
- import React from 'react';
2
- import { Textarea } from './react';
1
+ import React from "react";
2
+ import { Textarea } from "./react";
3
3
  export default {
4
- title: 'Forms/Textarea',
4
+ title: "Forms/Textarea",
5
5
  render(args) {
6
6
  return React.createElement(Textarea, { ...args });
7
7
  },
@@ -9,33 +9,33 @@ export default {
9
9
  };
10
10
  export const Default = {
11
11
  args: {
12
- label: 'Email',
12
+ label: "Email",
13
13
  },
14
14
  };
15
15
  export const WithPlaceholder = {
16
16
  args: {
17
- label: 'Email',
18
- placeholder: 'user@example.com',
17
+ label: "Email",
18
+ placeholder: "user@example.com",
19
19
  },
20
20
  };
21
21
  export const WithHelpText = {
22
22
  args: {
23
- label: 'Password',
24
- helpText: 'Must be at least 8 characters',
23
+ label: "Password",
24
+ helpText: "Must be at least 8 characters",
25
25
  },
26
26
  };
27
27
  export const Invalid = {
28
28
  args: {
29
- label: 'Email',
29
+ label: "Email",
30
30
  invalid: true,
31
- helpText: 'Please enter a valid email address',
32
- value: 'invalid-email',
31
+ helpText: "Please enter a valid email address",
32
+ value: "invalid-email",
33
33
  },
34
34
  };
35
35
  export const Disabled = {
36
36
  args: {
37
- label: 'Email',
37
+ label: "Email",
38
38
  disabled: true,
39
- value: 'user@example.com',
39
+ value: "user@example.com",
40
40
  },
41
41
  };
@@ -1,8 +1,8 @@
1
- import { describeReactSsrAttributeMapping } from '../../tests/react-ssr-attributes';
2
- import { Textarea } from './react.js';
3
- describeReactSsrAttributeMapping('Textarea', Textarea, [
4
- { propName: 'helpText', attrName: 'help-text', value: 'Help text' },
5
- { propName: 'maxRows', attrName: 'maximum-rows', value: 5 },
6
- { propName: 'minRows', attrName: 'minimum-rows', value: 2 },
7
- { propName: 'readOnly', attrName: 'read-only' },
1
+ import { describeReactSsrAttributeMapping } from "../../tests/react-ssr-attributes";
2
+ import { Textarea } from "./react.js";
3
+ describeReactSsrAttributeMapping("Textarea", Textarea, [
4
+ { propName: "helpText", attrName: "help-text", value: "Help text" },
5
+ { propName: "maxRows", attrName: "maximum-rows", value: 5 },
6
+ { propName: "minRows", attrName: "minimum-rows", value: 2 },
7
+ { propName: "readOnly", attrName: "read-only" },
8
8
  ]);
@@ -1,6 +1,6 @@
1
- import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
- import type { WarpTextarea } from './textarea.js';
3
- import './textarea.js';
1
+ import type { Meta, StoryObj } from "@storybook/web-components-vite";
2
+ import type { WarpTextarea } from "./textarea.js";
3
+ import "./textarea.js";
4
4
  declare const args: Partial<WarpTextarea> & {
5
5
  [key: string]: any;
6
6
  };
@@ -1,11 +1,11 @@
1
- import { spread } from '@open-wc/lit-helpers';
2
- import { getStorybookHelpers } from '@wc-toolkit/storybook-helpers';
3
- import { html } from 'lit';
4
- import { prespread } from '../../.storybook/utilities.js';
5
- import './textarea.js';
6
- const { events, args, argTypes } = getStorybookHelpers('w-textarea');
1
+ import { spread } from "@open-wc/lit-helpers";
2
+ import { getStorybookHelpers } from "@wc-toolkit/storybook-helpers";
3
+ import { html } from "lit";
4
+ import { prespread } from "../../.storybook/utilities.js";
5
+ import "./textarea.js";
6
+ const { events, args, argTypes } = getStorybookHelpers("w-textarea");
7
7
  const meta = {
8
- title: 'Forms/Textarea',
8
+ title: "Forms/Textarea",
9
9
  render(args) {
10
10
  return html `<w-textarea ${spread(prespread(args))}></w-textarea>`;
11
11
  },
@@ -20,93 +20,95 @@ const meta = {
20
20
  export default meta;
21
21
  export const Default = {
22
22
  args: {
23
- label: 'Description',
23
+ label: "Description",
24
24
  },
25
25
  };
26
26
  export const WithPlaceholder = {
27
27
  args: {
28
- label: 'Description',
29
- placeholder: 'A Link to the Past is a distant prequel to the original The Legend of Zelda',
28
+ label: "Description",
29
+ placeholder: "A Link to the Past is a distant prequel to the original The Legend of Zelda",
30
30
  },
31
31
  };
32
32
  export const WithHelpText = {
33
33
  args: {
34
- label: 'Description',
35
- 'help-text': 'You can provide a help text if necessary',
34
+ label: "Description",
35
+ "help-text": "You can provide a help text if necessary",
36
36
  },
37
37
  };
38
38
  export const NoVisualLabel = {
39
39
  args: {
40
- 'aria-label': 'Description',
40
+ "aria-label": "Description",
41
41
  },
42
42
  };
43
43
  export const Invalid = {
44
44
  args: {
45
- label: 'Description',
45
+ label: "Description",
46
46
  invalid: true,
47
- 'help-text': 'A description is required',
47
+ "help-text": "A description is required",
48
48
  },
49
49
  };
50
50
  export const Disabled = {
51
51
  args: {
52
- label: 'Description',
52
+ label: "Description",
53
53
  disabled: true,
54
54
  value: 'A Link to the Past is a distant prequel to the original The Legend of Zelda, and, within the official chronology, is the first game in the "Defeated Hero" timeline that connects to an alternate reality scenario where the Hero of Time does not succeed in Ocarina of Time.',
55
55
  },
56
56
  };
57
57
  export const ReadOnly = {
58
58
  args: {
59
- label: 'Description',
60
- 'read-only': true,
59
+ label: "Description",
60
+ "read-only": true,
61
61
  value: 'A Link to the Past is a distant prequel to the original The Legend of Zelda, and, within the official chronology, is the first game in the "Defeated Hero" timeline that connects to an alternate reality scenario where the Hero of Time does not succeed in Ocarina of Time.',
62
62
  },
63
63
  };
64
64
  export const Optional = {
65
65
  args: {
66
- label: 'Description',
66
+ label: "Description",
67
67
  optional: true,
68
68
  },
69
69
  };
70
70
  export const ControlledSize = {
71
71
  args: {
72
- label: 'Description',
73
- 'minimum-rows': 3,
74
- 'maximum-rows': 3,
72
+ label: "Description",
73
+ "minimum-rows": 3,
74
+ "maximum-rows": 3,
75
75
  },
76
76
  };
77
77
  export const Autofocus = {
78
78
  args: {
79
- label: 'Description',
80
- 'minimum-rows': 3,
81
- 'maximum-rows': 3,
82
- placeholder: 'Refresh to see the autofocus take effect',
79
+ label: "Description",
80
+ "minimum-rows": 3,
81
+ "maximum-rows": 3,
82
+ placeholder: "Refresh to see the autofocus take effect",
83
83
  autofocus: true,
84
84
  },
85
85
  };
86
86
  export const FormParticipation = {
87
87
  render: () => html `
88
- <form
89
- @submit=${(e) => {
88
+ <form
89
+ @submit=${(e) => {
90
90
  e.preventDefault();
91
91
  const form = e.target;
92
92
  const formData = new FormData(form);
93
- alert('Form submitted with message: ' + formData.get('message'));
94
- }}>
95
- <w-textarea
96
- label="Message"
97
- name="message"
98
- required
99
- help-text="This field is required. Try submitting without a value."></w-textarea>
100
- <div style="margin-top: 16px; display: flex; gap: 8px;">
101
- <button type="submit">Submit</button>
102
- <button type="reset">Reset</button>
103
- </div>
104
- </form>
105
- `,
93
+ alert("Form submitted with message: " + formData.get("message"));
94
+ }}
95
+ >
96
+ <w-textarea
97
+ label="Message"
98
+ name="message"
99
+ required
100
+ help-text="This field is required. Try submitting without a value."
101
+ ></w-textarea>
102
+ <div style="margin-top: 16px; display: flex; gap: 8px;">
103
+ <button type="submit">Submit</button>
104
+ <button type="reset">Reset</button>
105
+ </div>
106
+ </form>
107
+ `,
106
108
  parameters: {
107
109
  docs: {
108
110
  description: {
109
- story: 'Demonstrates form validation using ElementInternals. The textarea participates in native form validation - submission is blocked when the required field is empty, and the browser shows a validation message.',
111
+ story: "Demonstrates form validation using ElementInternals. The textarea participates in native form validation - submission is blocked when the required field is empty, and the browser shows a validation message.",
110
112
  },
111
113
  },
112
114
  },
@@ -1 +1 @@
1
- import './textarea.js';
1
+ import "./textarea.js";
@@ -1,175 +1,211 @@
1
- import { userEvent } from 'vitest/browser';
2
- import { html } from 'lit';
3
- import { expect, test, vi } from 'vitest';
4
- import { render } from 'vitest-browser-lit';
5
- import './textarea.js';
6
- test('renders the textarea', async () => {
1
+ import { userEvent } from "vitest/browser";
2
+ import { html } from "lit";
3
+ import { expect, test, vi } from "vitest";
4
+ import { render } from "vitest-browser-lit";
5
+ import "./textarea.js";
6
+ test("renders the textarea", async () => {
7
7
  const component = html `<w-textarea label="Test label"></w-textarea>`;
8
8
  const page = render(component);
9
- await expect.element(page.getByText('Test label')).toBeVisible();
9
+ await expect.element(page.getByText("Test label")).toBeVisible();
10
10
  });
11
- test('works as expected in forms', async () => {
12
- const label = 'Test label';
11
+ test("works as expected in forms", async () => {
12
+ const label = "Test label";
13
13
  const component = html `
14
- <form data-testid="form">
15
- <w-textarea label="${label}" name="message" value="Hola el Mundo"></w-textarea>
16
- </form>
17
- `;
14
+ <form data-testid="form">
15
+ <w-textarea
16
+ label="${label}"
17
+ name="message"
18
+ value="Hola el Mundo"
19
+ ></w-textarea>
20
+ </form>
21
+ `;
18
22
  const page = render(component);
19
- await expect.element(page.getByLabelText(label)).toHaveValue('Hola el Mundo');
20
- let formData = new FormData(page.getByTestId('form').element());
21
- expect(formData.get('message')).toBe('Hola el Mundo');
23
+ await expect.element(page.getByLabelText(label)).toHaveValue("Hola el Mundo");
24
+ let formData = new FormData(page.getByTestId("form").element());
25
+ expect(formData.get("message")).toBe("Hola el Mundo");
22
26
  const inputHandler = vi.fn();
23
27
  const changeHandler = vi.fn();
24
- page.getByLabelText(label).element().addEventListener('input', inputHandler);
25
- page.getByLabelText(label).element().addEventListener('change', changeHandler);
26
- await page.getByLabelText(label).fill('Hello, World');
28
+ page.getByLabelText(label).element().addEventListener("input", inputHandler);
29
+ page
30
+ .getByLabelText(label)
31
+ .element()
32
+ .addEventListener("change", changeHandler);
33
+ await page.getByLabelText(label).fill("Hello, World");
27
34
  expect(inputHandler).toHaveBeenCalled();
28
35
  expect(changeHandler).not.toHaveBeenCalled();
29
36
  await userEvent.tab(); // trigger a blur to fire the change event
30
37
  await expect.poll(() => changeHandler.mock.calls.length).toBeGreaterThan(0);
31
- await expect.element(page.getByLabelText(label)).toHaveValue('Hello, World');
32
- formData = new FormData(page.getByTestId('form').element());
33
- expect(formData.get('message')).toBe('Hello, World');
38
+ await expect.element(page.getByLabelText(label)).toHaveValue("Hello, World");
39
+ formData = new FormData(page.getByTestId("form").element());
40
+ expect(formData.get("message")).toBe("Hello, World");
34
41
  });
35
- test('renders help text if provided', async () => {
36
- const component = html `<w-textarea label="Test label" help-text="Helpful help text"></w-textarea>`;
42
+ test("renders help text if provided", async () => {
43
+ const component = html `<w-textarea
44
+ label="Test label"
45
+ help-text="Helpful help text"
46
+ ></w-textarea>`;
37
47
  const page = render(component);
38
- await expect.element(page.getByText('Helpful help text')).toBeVisible();
48
+ await expect.element(page.getByText("Helpful help text")).toBeVisible();
39
49
  });
40
- test('marks input field as aria-invalid if the invalid prop is true', async () => {
41
- const component = html `<w-textarea label="Test label" invalid help-text="No, bad input!"></w-textarea>`;
50
+ test("marks input field as aria-invalid if the invalid prop is true", async () => {
51
+ const component = html `<w-textarea
52
+ label="Test label"
53
+ invalid
54
+ help-text="No, bad input!"
55
+ ></w-textarea>`;
42
56
  const page = render(component);
43
- await expect.element(page.getByLabelText('Test label')).toHaveAccessibleErrorMessage('No, bad input!');
57
+ await expect
58
+ .element(page.getByLabelText("Test label"))
59
+ .toHaveAccessibleErrorMessage("No, bad input!");
44
60
  });
45
- test('aria-invalid attribute is absent when textarea is valid', async () => {
46
- const component = html `<w-textarea label="Test label" data-testid="textarea"></w-textarea>`;
61
+ test("aria-invalid attribute is absent when textarea is valid", async () => {
62
+ const component = html `<w-textarea
63
+ label="Test label"
64
+ data-testid="textarea"
65
+ ></w-textarea>`;
47
66
  const page = render(component);
48
- const textarea = page.getByLabelText('Test label');
67
+ const textarea = page.getByLabelText("Test label");
49
68
  await expect.element(textarea).toBeVisible();
50
69
  // aria-invalid should NOT be present when valid
51
- await expect.element(textarea).not.toHaveAttribute('aria-invalid');
70
+ await expect.element(textarea).not.toHaveAttribute("aria-invalid");
52
71
  });
53
72
  test('aria-invalid attribute is "true" when textarea is invalid', async () => {
54
73
  const component = html `<w-textarea label="Test label" invalid></w-textarea>`;
55
74
  const page = render(component);
56
- const textarea = page.getByLabelText('Test label');
75
+ const textarea = page.getByLabelText("Test label");
57
76
  await expect.element(textarea).toBeVisible();
58
77
  // aria-invalid should be "true" when invalid
59
- await expect.element(textarea).toHaveAttribute('aria-invalid', 'true');
78
+ await expect.element(textarea).toHaveAttribute("aria-invalid", "true");
60
79
  });
61
- test('marks input field as readonly if the readonly prop is true', async () => {
80
+ test("marks input field as readonly if the readonly prop is true", async () => {
62
81
  const component = html `<w-textarea label="Test label" readonly></w-textarea>`;
63
82
  const page = render(component);
64
- await expect.element(page.getByLabelText('Test label')).toHaveAttribute('readonly', '');
83
+ await expect
84
+ .element(page.getByLabelText("Test label"))
85
+ .toHaveAttribute("readonly", "");
65
86
  });
66
- test('can reset textarea by resetting surrounding form', async () => {
87
+ test("can reset textarea by resetting surrounding form", async () => {
67
88
  render(html `
68
- <form>
69
- <w-textarea name="message" value="Hola el Mundo"></w-textarea>
70
- </form>
71
- `);
72
- const form = document.querySelector('form');
73
- const wTextArea = document.querySelector('w-textarea');
89
+ <form>
90
+ <w-textarea name="message" value="Hola el Mundo"></w-textarea>
91
+ </form>
92
+ `);
93
+ const form = document.querySelector("form");
94
+ const wTextArea = document.querySelector("w-textarea");
74
95
  // sanity
75
96
  expect(form).not.toBeNull();
76
97
  expect(wTextArea).not.toBeNull();
77
- await expect.poll(() => wTextArea.value).toBe('Hola el Mundo');
78
- wTextArea.value = 'Definitely not Hola el Mundo';
79
- await expect.poll(() => wTextArea.value).toBe('Definitely not Hola el Mundo');
98
+ await expect.poll(() => wTextArea.value).toBe("Hola el Mundo");
99
+ wTextArea.value = "Definitely not Hola el Mundo";
100
+ await expect.poll(() => wTextArea.value).toBe("Definitely not Hola el Mundo");
80
101
  // Reset the form
81
102
  form.reset();
82
- await expect.poll(() => wTextArea.value).toBe('Hola el Mundo');
103
+ await expect.poll(() => wTextArea.value).toBe("Hola el Mundo");
83
104
  });
84
- test('checkValidity returns false when required textarea is empty', async () => {
105
+ test("checkValidity returns false when required textarea is empty", async () => {
85
106
  render(html `<w-textarea label="Message" name="message" required></w-textarea>`);
86
- const wTextArea = document.querySelector('w-textarea');
107
+ const wTextArea = document.querySelector("w-textarea");
87
108
  // Wait for component to be ready
88
109
  await expect.poll(() => wTextArea.checkValidity()).toBe(false);
89
110
  expect(wTextArea.validity.valueMissing).toBe(true);
90
- expect(wTextArea.validationMessage).not.toBe('');
111
+ expect(wTextArea.validationMessage).not.toBe("");
91
112
  });
92
- test('checkValidity returns true when required textarea has a value', async () => {
93
- render(html `<w-textarea label="Message" name="message" required value="Hello"></w-textarea>`);
94
- const wTextArea = document.querySelector('w-textarea');
113
+ test("checkValidity returns true when required textarea has a value", async () => {
114
+ render(html `<w-textarea
115
+ label="Message"
116
+ name="message"
117
+ required
118
+ value="Hello"
119
+ ></w-textarea>`);
120
+ const wTextArea = document.querySelector("w-textarea");
95
121
  // Wait for component to be ready
96
122
  await expect.poll(() => wTextArea.checkValidity()).toBe(true);
97
123
  expect(wTextArea.validity.valid).toBe(true);
98
124
  });
99
- test('form submission is blocked when required textarea is empty', async () => {
125
+ test("form submission is blocked when required textarea is empty", async () => {
100
126
  const submitHandler = vi.fn((e) => e.preventDefault());
101
127
  render(html `
102
- <form data-testid="form">
103
- <w-textarea label="Message" name="message" required></w-textarea>
104
- <button type="submit">Submit</button>
105
- </form>
106
- `);
107
- const form = document.querySelector('form');
108
- form.addEventListener('submit', submitHandler);
109
- const wTextArea = document.querySelector('w-textarea');
128
+ <form data-testid="form">
129
+ <w-textarea label="Message" name="message" required></w-textarea>
130
+ <button type="submit">Submit</button>
131
+ </form>
132
+ `);
133
+ const form = document.querySelector("form");
134
+ form.addEventListener("submit", submitHandler);
135
+ const wTextArea = document.querySelector("w-textarea");
110
136
  // Wait for component to be ready
111
137
  await expect.poll(() => wTextArea.checkValidity()).toBe(false);
112
138
  // Try to submit - should be blocked by validation
113
- const submitButton = document.querySelector('button');
139
+ const submitButton = document.querySelector("button");
114
140
  submitButton.click();
115
141
  // Component should show invalid state with error message
116
142
  await expect.poll(() => wTextArea.invalid).toBe(true);
117
- await expect.poll(() => wTextArea.helpText).not.toBe('');
143
+ await expect.poll(() => wTextArea.helpText).not.toBe("");
118
144
  // Form should not have been submitted
119
145
  expect(submitHandler).not.toHaveBeenCalled();
120
146
  });
121
- test('form submission succeeds when required textarea has a value', async () => {
147
+ test("form submission succeeds when required textarea has a value", async () => {
122
148
  const submitHandler = vi.fn((e) => e.preventDefault());
123
149
  render(html `
124
- <form data-testid="form">
125
- <w-textarea label="Message" name="message" required value="Hello"></w-textarea>
126
- <button type="submit">Submit</button>
127
- </form>
128
- `);
129
- const form = document.querySelector('form');
130
- form.addEventListener('submit', submitHandler);
131
- const wTextArea = document.querySelector('w-textarea');
150
+ <form data-testid="form">
151
+ <w-textarea
152
+ label="Message"
153
+ name="message"
154
+ required
155
+ value="Hello"
156
+ ></w-textarea>
157
+ <button type="submit">Submit</button>
158
+ </form>
159
+ `);
160
+ const form = document.querySelector("form");
161
+ form.addEventListener("submit", submitHandler);
162
+ const wTextArea = document.querySelector("w-textarea");
132
163
  // Wait for component to be ready
133
164
  await expect.poll(() => wTextArea.checkValidity()).toBe(true);
134
165
  // Submit should succeed
135
- const submitButton = document.querySelector('button');
166
+ const submitButton = document.querySelector("button");
136
167
  submitButton.click();
137
168
  // Form should have been submitted
138
169
  await expect.poll(() => submitHandler.mock.calls.length).toBeGreaterThan(0);
139
170
  });
140
- test('shows validation error on blur when required field is empty', async () => {
171
+ test("shows validation error on blur when required field is empty", async () => {
141
172
  const page = render(html `<w-textarea label="Message" name="message" required></w-textarea>`);
142
- const wTextArea = document.querySelector('w-textarea');
173
+ const wTextArea = document.querySelector("w-textarea");
143
174
  // Initially should not show error (no interaction yet)
144
175
  await expect.poll(() => wTextArea.invalid).toBeFalsy();
145
176
  // Focus and blur the textarea
146
- const textarea = page.getByLabelText('Message');
177
+ const textarea = page.getByLabelText("Message");
147
178
  await textarea.click();
148
179
  await userEvent.tab(); // blur
149
180
  // Should now show validation error
150
181
  await expect.poll(() => wTextArea.invalid).toBe(true);
151
- await expect.poll(() => wTextArea.helpText).not.toBe('');
182
+ await expect.poll(() => wTextArea.helpText).not.toBe("");
152
183
  });
153
- test('restores original help text when validation passes', async () => {
184
+ test("restores original help text when validation passes", async () => {
154
185
  const page = render(html `
155
- <w-textarea label="Message" name="message" required help-text="Enter your message"></w-textarea>
156
- `);
157
- const wTextArea = document.querySelector('w-textarea');
186
+ <w-textarea
187
+ label="Message"
188
+ name="message"
189
+ required
190
+ help-text="Enter your message"
191
+ ></w-textarea>
192
+ `);
193
+ const wTextArea = document.querySelector("w-textarea");
158
194
  // Initially should show original help text
159
- await expect.poll(() => wTextArea.helpText).toBe('Enter your message');
195
+ await expect.poll(() => wTextArea.helpText).toBe("Enter your message");
160
196
  // Focus and blur to trigger validation
161
- const textarea = page.getByLabelText('Message');
197
+ const textarea = page.getByLabelText("Message");
162
198
  await textarea.click();
163
199
  await userEvent.tab();
164
200
  // Should show validation error
165
201
  await expect.poll(() => wTextArea.invalid).toBe(true);
166
- await expect.poll(() => wTextArea.helpText).not.toBe('Enter your message');
202
+ await expect.poll(() => wTextArea.helpText).not.toBe("Enter your message");
167
203
  // Fill in a value
168
- wTextArea.value = 'Hello';
204
+ wTextArea.value = "Hello";
169
205
  await wTextArea.updateComplete;
170
206
  // Wait for value + validity to update, then restore original help text
171
- await expect.poll(() => wTextArea.value).toBe('Hello');
207
+ await expect.poll(() => wTextArea.value).toBe("Hello");
172
208
  await expect.poll(() => wTextArea.checkValidity()).toBe(true);
173
209
  await expect.poll(() => wTextArea.invalid).toBe(false);
174
- await expect.poll(() => wTextArea.helpText).toBe('Enter your message');
210
+ await expect.poll(() => wTextArea.helpText).toBe("Enter your message");
175
211
  });
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Shared styles for input components (textfield, textarea, select)
3
+ * using the internal token pattern with a public styling API.
4
+ *
5
+ * Public API tokens (customizable):
6
+ * - Label: --w-c-input-label-*
7
+ * - Help text: --w-c-input-help-text-*
8
+ * - Optional indicator: --w-c-input-optional-*
9
+ */
10
+ export declare const inputLabelStyles: import("lit").CSSResult;
11
+ export declare const inputHelpTextStyles: import("lit").CSSResult;