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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (594) hide show
  1. package/dist/.storybook/utilities.js +4 -4
  2. package/dist/api.js.map +2 -2
  3. package/dist/custom-elements.json +68 -56
  4. package/dist/docs/affix/affix.md +2 -2
  5. package/dist/docs/affix/api.md +2 -2
  6. package/dist/docs/alert/alert.md +4 -4
  7. package/dist/docs/alert/api.md +4 -4
  8. package/dist/docs/attention/api.md +2 -2
  9. package/dist/docs/attention/attention.md +2 -2
  10. package/dist/docs/badge/api.md +50 -4
  11. package/dist/docs/badge/badge.md +50 -4
  12. package/dist/docs/box/api.md +2 -2
  13. package/dist/docs/box/box.md +2 -2
  14. package/dist/docs/checkbox/api.md +2 -2
  15. package/dist/docs/checkbox/checkbox.md +176 -2
  16. package/dist/docs/checkbox/styling.md +173 -0
  17. package/dist/docs/checkbox-group/checkbox-group.md +43 -30
  18. package/dist/docs/checkbox-group/styling.md +31 -29
  19. package/dist/docs/combobox/api.md +12 -12
  20. package/dist/docs/combobox/combobox.md +12 -12
  21. package/dist/docs/datepicker/api.md +6 -6
  22. package/dist/docs/datepicker/datepicker.md +6 -6
  23. package/dist/docs/icon/api.md +3 -3
  24. package/dist/docs/icon/icon.md +3 -3
  25. package/dist/docs/index.md +1 -1
  26. package/dist/docs/radio-group/api.md +4 -4
  27. package/dist/docs/radio-group/radio-group.md +183 -68
  28. package/dist/docs/radio-group/styling.md +179 -64
  29. package/dist/docs/snackbar/api.md +1 -1
  30. package/dist/docs/snackbar/snackbar.md +1 -1
  31. package/dist/docs/snackbar-item/api.md +2 -2
  32. package/dist/docs/snackbar-item/snackbar-item.md +2 -2
  33. package/dist/index.d.ts +24 -2
  34. package/dist/packages/affix/affix.d.ts +4 -4
  35. package/dist/packages/affix/affix.hydration.test.d.ts +1 -1
  36. package/dist/packages/affix/affix.hydration.test.js +15 -15
  37. package/dist/packages/affix/affix.js +345 -315
  38. package/dist/packages/affix/affix.js.map +2 -2
  39. package/dist/packages/affix/affix.react.stories.d.ts +2 -2
  40. package/dist/packages/affix/affix.react.stories.js +3 -3
  41. package/dist/packages/affix/affix.react.test.js +5 -3
  42. package/dist/packages/affix/affix.stories.d.ts +3 -3
  43. package/dist/packages/affix/affix.stories.js +10 -10
  44. package/dist/packages/affix/affix.test.d.ts +1 -1
  45. package/dist/packages/affix/affix.test.js +10 -10
  46. package/dist/packages/affix/react.d.ts +2 -2
  47. package/dist/packages/affix/react.js +6 -6
  48. package/dist/packages/affix/styles.js +1 -1
  49. package/dist/packages/alert/alert.d.ts +3 -3
  50. package/dist/packages/alert/alert.hydration.test.d.ts +1 -1
  51. package/dist/packages/alert/alert.hydration.test.js +21 -21
  52. package/dist/packages/alert/alert.js +344 -319
  53. package/dist/packages/alert/alert.js.map +2 -2
  54. package/dist/packages/alert/alert.react.stories.d.ts +2 -2
  55. package/dist/packages/alert/alert.react.stories.js +13 -13
  56. package/dist/packages/alert/alert.stories.d.ts +4 -4
  57. package/dist/packages/alert/alert.stories.js +29 -27
  58. package/dist/packages/alert/alert.test.d.ts +1 -1
  59. package/dist/packages/alert/alert.test.js +34 -21
  60. package/dist/packages/alert/react.d.ts +1 -1
  61. package/dist/packages/alert/react.js +4 -4
  62. package/dist/packages/alert/styles.js +1 -1
  63. package/dist/packages/attention/attention.d.ts +7 -7
  64. package/dist/packages/attention/attention.hydration.test.d.ts +1 -1
  65. package/dist/packages/attention/attention.hydration.test.js +29 -29
  66. package/dist/packages/attention/attention.js +1725 -1683
  67. package/dist/packages/attention/attention.js.map +2 -2
  68. package/dist/packages/attention/attention.react.stories.d.ts +3 -3
  69. package/dist/packages/attention/attention.react.stories.js +13 -13
  70. package/dist/packages/attention/attention.react.test.js +11 -7
  71. package/dist/packages/attention/attention.stories.d.ts +4 -4
  72. package/dist/packages/attention/attention.stories.js +126 -117
  73. package/dist/packages/attention/attention.test.d.ts +1 -1
  74. package/dist/packages/attention/attention.test.js +18 -10
  75. package/dist/packages/attention/layout-styles.js +900 -900
  76. package/dist/packages/attention/react.d.ts +4 -4
  77. package/dist/packages/attention/react.js +13 -11
  78. package/dist/packages/attention/styles.js +1 -1
  79. package/dist/packages/badge/badge.d.ts +3 -3
  80. package/dist/packages/badge/badge.hydration.test.d.ts +1 -1
  81. package/dist/packages/badge/badge.hydration.test.js +25 -25
  82. package/dist/packages/badge/badge.js +276 -276
  83. package/dist/packages/badge/badge.js.map +2 -2
  84. package/dist/packages/badge/badge.react.stories.d.ts +3 -3
  85. package/dist/packages/badge/badge.react.stories.js +17 -17
  86. package/dist/packages/badge/badge.stories.d.ts +3 -3
  87. package/dist/packages/badge/badge.stories.js +22 -20
  88. package/dist/packages/badge/badge.test.d.ts +1 -1
  89. package/dist/packages/badge/badge.test.js +13 -11
  90. package/dist/packages/badge/react.d.ts +1 -1
  91. package/dist/packages/badge/react.js +4 -4
  92. package/dist/packages/badge/styles.js +1 -1
  93. package/dist/packages/box/box.d.ts +1 -1
  94. package/dist/packages/box/box.hydration.test.d.ts +1 -1
  95. package/dist/packages/box/box.hydration.test.js +14 -14
  96. package/dist/packages/box/box.js +283 -283
  97. package/dist/packages/box/box.js.map +2 -2
  98. package/dist/packages/box/box.react.stories.d.ts +3 -3
  99. package/dist/packages/box/box.react.stories.js +8 -8
  100. package/dist/packages/box/box.stories.d.ts +3 -3
  101. package/dist/packages/box/box.stories.js +25 -19
  102. package/dist/packages/box/box.test.d.ts +1 -1
  103. package/dist/packages/box/box.test.js +6 -6
  104. package/dist/packages/box/react.d.ts +1 -1
  105. package/dist/packages/box/react.js +4 -4
  106. package/dist/packages/box/slot.test.d.ts +1 -1
  107. package/dist/packages/box/slot.test.js +6 -6
  108. package/dist/packages/box/styles.js +1 -1
  109. package/dist/packages/breadcrumbs/breadcrumbs.d.ts +1 -1
  110. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.d.ts +1 -1
  111. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.js +55 -49
  112. package/dist/packages/breadcrumbs/breadcrumbs.js +284 -278
  113. package/dist/packages/breadcrumbs/breadcrumbs.js.map +2 -2
  114. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.d.ts +3 -3
  115. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.js +6 -6
  116. package/dist/packages/breadcrumbs/breadcrumbs.stories.d.ts +3 -3
  117. package/dist/packages/breadcrumbs/breadcrumbs.stories.js +27 -26
  118. package/dist/packages/breadcrumbs/breadcrumbs.test.d.ts +1 -1
  119. package/dist/packages/breadcrumbs/breadcrumbs.test.js +19 -17
  120. package/dist/packages/breadcrumbs/react.d.ts +1 -1
  121. package/dist/packages/breadcrumbs/react.js +4 -4
  122. package/dist/packages/breadcrumbs/styles.js +1 -1
  123. package/dist/packages/button/button.d.ts +5 -5
  124. package/dist/packages/button/button.hydration.test.d.ts +1 -1
  125. package/dist/packages/button/button.hydration.test.js +19 -19
  126. package/dist/packages/button/button.js +741 -715
  127. package/dist/packages/button/button.js.map +2 -2
  128. package/dist/packages/button/button.react.stories.d.ts +3 -3
  129. package/dist/packages/button/button.react.stories.js +30 -30
  130. package/dist/packages/button/button.react.test.js +13 -13
  131. package/dist/packages/button/button.stories.d.ts +4 -4
  132. package/dist/packages/button/button.stories.js +276 -167
  133. package/dist/packages/button/button.test.d.ts +1 -1
  134. package/dist/packages/button/button.test.js +36 -34
  135. package/dist/packages/button/react.d.ts +2 -2
  136. package/dist/packages/button/react.js +7 -7
  137. package/dist/packages/button/styles.js +373 -347
  138. package/dist/packages/card/card.d.ts +1 -1
  139. package/dist/packages/card/card.hydration.test.d.ts +1 -1
  140. package/dist/packages/card/card.hydration.test.js +14 -14
  141. package/dist/packages/card/card.js +305 -290
  142. package/dist/packages/card/card.js.map +2 -2
  143. package/dist/packages/card/card.react.stories.d.ts +3 -3
  144. package/dist/packages/card/card.react.stories.js +11 -11
  145. package/dist/packages/card/card.stories.d.ts +3 -3
  146. package/dist/packages/card/card.stories.js +36 -24
  147. package/dist/packages/card/card.test.d.ts +1 -1
  148. package/dist/packages/card/card.test.js +6 -6
  149. package/dist/packages/card/react.d.ts +1 -1
  150. package/dist/packages/card/react.js +4 -4
  151. package/dist/packages/card/styles.js +1 -1
  152. package/dist/packages/checkbox/checkbox.a11y.test.d.ts +1 -1
  153. package/dist/packages/checkbox/checkbox.a11y.test.js +47 -33
  154. package/dist/packages/checkbox/checkbox.d.ts +2 -2
  155. package/dist/packages/checkbox/checkbox.hydration.test.d.ts +1 -1
  156. package/dist/packages/checkbox/checkbox.hydration.test.js +21 -21
  157. package/dist/packages/checkbox/checkbox.js +475 -424
  158. package/dist/packages/checkbox/checkbox.js.map +2 -2
  159. package/dist/packages/checkbox/checkbox.react.stories.d.ts +2 -2
  160. package/dist/packages/checkbox/checkbox.react.stories.js +3 -3
  161. package/dist/packages/checkbox/checkbox.stories.d.ts +4 -4
  162. package/dist/packages/checkbox/checkbox.stories.js +99 -91
  163. package/dist/packages/checkbox/checkbox.test.d.ts +1 -1
  164. package/dist/packages/checkbox/checkbox.test.js +64 -64
  165. package/dist/packages/checkbox/react.d.ts +1 -1
  166. package/dist/packages/checkbox/react.js +6 -6
  167. package/dist/packages/checkbox/styles.js +183 -132
  168. package/dist/packages/checkbox-group/checkbox-group.a11y.test.d.ts +2 -2
  169. package/dist/packages/checkbox-group/checkbox-group.a11y.test.js +83 -73
  170. package/dist/packages/checkbox-group/checkbox-group.d.ts +16 -2
  171. package/dist/packages/checkbox-group/checkbox-group.hydration.test.d.ts +2 -2
  172. package/dist/packages/checkbox-group/checkbox-group.hydration.test.js +36 -19
  173. package/dist/packages/checkbox-group/checkbox-group.js +60 -55
  174. package/dist/packages/checkbox-group/checkbox-group.js.map +2 -2
  175. package/dist/packages/checkbox-group/checkbox-group.react.test.js +4 -4
  176. package/dist/packages/checkbox-group/checkbox-group.test.d.ts +2 -2
  177. package/dist/packages/checkbox-group/checkbox-group.test.js +96 -90
  178. package/dist/packages/checkbox-group/react.d.ts +2 -2
  179. package/dist/packages/checkbox-group/react.js +6 -6
  180. package/dist/packages/combobox/combobox.a11y.test.d.ts +2 -2
  181. package/dist/packages/combobox/combobox.a11y.test.js +72 -49
  182. package/dist/packages/combobox/combobox.d.ts +2 -2
  183. package/dist/packages/combobox/combobox.hydration.test.d.ts +1 -1
  184. package/dist/packages/combobox/combobox.hydration.test.js +45 -45
  185. package/dist/packages/combobox/combobox.js +332 -332
  186. package/dist/packages/combobox/combobox.js.map +3 -3
  187. package/dist/packages/combobox/combobox.react.stories.d.ts +3 -3
  188. package/dist/packages/combobox/combobox.react.stories.js +29 -29
  189. package/dist/packages/combobox/combobox.react.test.js +8 -8
  190. package/dist/packages/combobox/combobox.stories.d.ts +4 -4
  191. package/dist/packages/combobox/combobox.stories.js +100 -94
  192. package/dist/packages/combobox/combobox.test.d.ts +2 -2
  193. package/dist/packages/combobox/combobox.test.js +148 -133
  194. package/dist/packages/combobox/react.d.ts +2 -2
  195. package/dist/packages/combobox/react.js +14 -14
  196. package/dist/packages/combobox/styles.js +1 -1
  197. package/dist/packages/datepicker/DatePicker.test.d.ts +2 -2
  198. package/dist/packages/datepicker/DatePicker.test.js +46 -41
  199. package/dist/packages/datepicker/datepicker.d.ts +3 -3
  200. package/dist/packages/datepicker/datepicker.hydration.test.d.ts +1 -1
  201. package/dist/packages/datepicker/datepicker.hydration.test.js +21 -21
  202. package/dist/packages/datepicker/datepicker.js +665 -625
  203. package/dist/packages/datepicker/datepicker.js.map +3 -3
  204. package/dist/packages/datepicker/datepicker.react.stories.d.ts +3 -3
  205. package/dist/packages/datepicker/datepicker.react.stories.js +9 -9
  206. package/dist/packages/datepicker/datepicker.react.test.js +6 -6
  207. package/dist/packages/datepicker/datepicker.stories.d.ts +4 -4
  208. package/dist/packages/datepicker/datepicker.stories.js +32 -32
  209. package/dist/packages/datepicker/datepicker.test.d.ts +2 -2
  210. package/dist/packages/datepicker/datepicker.test.js +77 -79
  211. package/dist/packages/datepicker/react.d.ts +2 -2
  212. package/dist/packages/datepicker/react.js +16 -14
  213. package/dist/packages/datepicker/styles/w-datepicker-calendar.styles.js +13 -12
  214. package/dist/packages/datepicker/styles/w-datepicker-day.styles.js +58 -55
  215. package/dist/packages/datepicker/styles/w-datepicker-month.styles.js +60 -57
  216. package/dist/packages/datepicker/styles/w-datepicker.styles.js +87 -87
  217. package/dist/packages/datepicker/utils.d.ts +1 -1
  218. package/dist/packages/datepicker/utils.js +25 -19
  219. package/dist/packages/datepicker/utils.test.js +20 -20
  220. package/dist/packages/expandable/expandable.d.ts +4 -4
  221. package/dist/packages/expandable/expandable.hydration.test.d.ts +1 -1
  222. package/dist/packages/expandable/expandable.hydration.test.js +21 -21
  223. package/dist/packages/expandable/expandable.js +353 -326
  224. package/dist/packages/expandable/expandable.js.map +2 -2
  225. package/dist/packages/expandable/expandable.react.stories.d.ts +3 -3
  226. package/dist/packages/expandable/expandable.react.stories.js +7 -7
  227. package/dist/packages/expandable/expandable.react.test.js +15 -7
  228. package/dist/packages/expandable/expandable.stories.d.ts +5 -5
  229. package/dist/packages/expandable/expandable.stories.js +51 -45
  230. package/dist/packages/expandable/expandable.test.d.ts +1 -1
  231. package/dist/packages/expandable/expandable.test.js +19 -17
  232. package/dist/packages/expandable/react.d.ts +2 -2
  233. package/dist/packages/expandable/react.js +9 -9
  234. package/dist/packages/expandable/styles.js +1 -1
  235. package/dist/packages/global.js +2 -2
  236. package/dist/packages/i18n.d.ts +1 -1
  237. package/dist/packages/i18n.js +37 -29
  238. package/dist/packages/icon/icon.d.ts +3 -3
  239. package/dist/packages/icon/icon.hydration.test.d.ts +1 -1
  240. package/dist/packages/icon/icon.hydration.test.js +25 -25
  241. package/dist/packages/icon/icon.js +30 -25
  242. package/dist/packages/icon/icon.js.map +2 -2
  243. package/dist/packages/icon/icon.react.stories.d.ts +1 -1
  244. package/dist/packages/icon/icon.react.stories.js +283 -284
  245. package/dist/packages/icon/icon.stories.d.ts +3 -3
  246. package/dist/packages/icon/icon.stories.js +299 -298
  247. package/dist/packages/icon/icon.test.d.ts +1 -1
  248. package/dist/packages/icon/icon.test.js +36 -28
  249. package/dist/packages/icon/react.d.ts +1 -1
  250. package/dist/packages/icon/react.js +4 -4
  251. package/dist/packages/icon/style.js +24 -25
  252. package/dist/packages/interaction-type-detection.js +9 -9
  253. package/dist/packages/link/link.d.ts +2 -2
  254. package/dist/packages/link/link.hydration.test.d.ts +1 -1
  255. package/dist/packages/link/link.hydration.test.js +27 -27
  256. package/dist/packages/link/link.js +709 -683
  257. package/dist/packages/link/link.js.map +2 -2
  258. package/dist/packages/link/link.react.stories.d.ts +3 -3
  259. package/dist/packages/link/link.react.stories.js +42 -42
  260. package/dist/packages/link/link.react.test.js +5 -3
  261. package/dist/packages/link/link.stories.d.ts +3 -3
  262. package/dist/packages/link/link.stories.js +51 -51
  263. package/dist/packages/link/link.test.d.ts +1 -1
  264. package/dist/packages/link/link.test.js +11 -7
  265. package/dist/packages/link/react.d.ts +2 -2
  266. package/dist/packages/link/react.js +6 -6
  267. package/dist/packages/link/styles.js +57 -57
  268. package/dist/packages/modal/index.d.ts +7 -7
  269. package/dist/packages/modal/index.js +7 -7
  270. package/dist/packages/modal/modal.d.ts +1 -1
  271. package/dist/packages/modal/modal.hydration.test.d.ts +1 -1
  272. package/dist/packages/modal/modal.hydration.test.js +12 -12
  273. package/dist/packages/modal/modal.js +404 -404
  274. package/dist/packages/modal/modal.js.map +2 -2
  275. package/dist/packages/modal/modal.react.stories.d.ts +3 -3
  276. package/dist/packages/modal/modal.react.stories.js +7 -6
  277. package/dist/packages/modal/modal.react.test.js +5 -5
  278. package/dist/packages/modal/modal.stories.d.ts +6 -6
  279. package/dist/packages/modal/modal.stories.js +253 -238
  280. package/dist/packages/modal/react.d.ts +4 -4
  281. package/dist/packages/modal/react.js +13 -13
  282. package/dist/packages/modal/util.js +2 -2
  283. package/dist/packages/modal-footer/modal-footer.d.ts +1 -1
  284. package/dist/packages/modal-footer/modal-footer.js +291 -291
  285. package/dist/packages/modal-footer/modal-footer.js.map +2 -2
  286. package/dist/packages/modal-footer/react.d.ts +1 -1
  287. package/dist/packages/modal-footer/react.js +4 -4
  288. package/dist/packages/modal-header/modal-header.d.ts +2 -2
  289. package/dist/packages/modal-header/modal-header.js +437 -416
  290. package/dist/packages/modal-header/modal-header.js.map +2 -2
  291. package/dist/packages/modal-header/modal-header.react.test.js +5 -3
  292. package/dist/packages/modal-header/react.d.ts +2 -2
  293. package/dist/packages/modal-header/react.js +8 -8
  294. package/dist/packages/page-indicator/page-indicator.d.ts +1 -1
  295. package/dist/packages/page-indicator/page-indicator.hydration.test.d.ts +1 -1
  296. package/dist/packages/page-indicator/page-indicator.hydration.test.js +22 -22
  297. package/dist/packages/page-indicator/page-indicator.js +26 -26
  298. package/dist/packages/page-indicator/page-indicator.js.map +2 -2
  299. package/dist/packages/page-indicator/page-indicator.react.stories.d.ts +3 -3
  300. package/dist/packages/page-indicator/page-indicator.react.stories.js +11 -11
  301. package/dist/packages/page-indicator/page-indicator.react.test.js +5 -5
  302. package/dist/packages/page-indicator/page-indicator.stories.d.ts +3 -3
  303. package/dist/packages/page-indicator/page-indicator.stories.js +56 -27
  304. package/dist/packages/page-indicator/page-indicator.test.d.ts +1 -1
  305. package/dist/packages/page-indicator/page-indicator.test.js +110 -70
  306. package/dist/packages/page-indicator/react.d.ts +2 -2
  307. package/dist/packages/page-indicator/react.js +7 -7
  308. package/dist/packages/page-indicator/style.js +21 -21
  309. package/dist/packages/pagination/pagination.a11y.test.d.ts +1 -1
  310. package/dist/packages/pagination/pagination.a11y.test.js +59 -25
  311. package/dist/packages/pagination/pagination.d.ts +3 -3
  312. package/dist/packages/pagination/pagination.hydration.test.d.ts +1 -1
  313. package/dist/packages/pagination/pagination.hydration.test.js +19 -19
  314. package/dist/packages/pagination/pagination.js +380 -349
  315. package/dist/packages/pagination/pagination.js.map +2 -2
  316. package/dist/packages/pagination/pagination.react.stories.d.ts +5 -5
  317. package/dist/packages/pagination/pagination.react.stories.js +8 -8
  318. package/dist/packages/pagination/pagination.react.test.js +6 -6
  319. package/dist/packages/pagination/pagination.stories.d.ts +3 -3
  320. package/dist/packages/pagination/pagination.stories.js +18 -18
  321. package/dist/packages/pagination/pagination.test.d.ts +1 -1
  322. package/dist/packages/pagination/pagination.test.js +146 -69
  323. package/dist/packages/pagination/react.d.ts +3 -3
  324. package/dist/packages/pagination/react.js +12 -10
  325. package/dist/packages/pagination/styles.js +1 -1
  326. package/dist/packages/pill/pill.d.ts +2 -2
  327. package/dist/packages/pill/pill.hydration.test.d.ts +1 -1
  328. package/dist/packages/pill/pill.hydration.test.js +14 -14
  329. package/dist/packages/pill/pill.js +331 -308
  330. package/dist/packages/pill/pill.js.map +2 -2
  331. package/dist/packages/pill/pill.react.stories.d.ts +3 -3
  332. package/dist/packages/pill/pill.react.stories.js +3 -3
  333. package/dist/packages/pill/pill.react.test.js +8 -8
  334. package/dist/packages/pill/pill.stories.d.ts +3 -3
  335. package/dist/packages/pill/pill.stories.js +8 -8
  336. package/dist/packages/pill/pill.test.d.ts +1 -1
  337. package/dist/packages/pill/pill.test.js +17 -15
  338. package/dist/packages/pill/react.d.ts +2 -2
  339. package/dist/packages/pill/react.js +18 -14
  340. package/dist/packages/pill/styles.js +1 -1
  341. package/dist/packages/radio/base-element.d.ts +3 -3
  342. package/dist/packages/radio/base-element.js +3 -3
  343. package/dist/packages/radio/custom-error-validator.d.ts +1 -1
  344. package/dist/packages/radio/custom-error-validator.js +3 -3
  345. package/dist/packages/radio/form-associated-element.d.ts +8 -8
  346. package/dist/packages/radio/form-associated-element.js +27 -26
  347. package/dist/packages/radio/host-styles.js +9 -9
  348. package/dist/packages/radio/invalid.d.ts +1 -1
  349. package/dist/packages/radio/invalid.js +1 -1
  350. package/dist/packages/radio/radio-styles.js +199 -160
  351. package/dist/packages/radio/radio.a11y.test.d.ts +2 -2
  352. package/dist/packages/radio/radio.a11y.test.js +60 -58
  353. package/dist/packages/radio/radio.d.ts +3 -3
  354. package/dist/packages/radio/radio.hydration.test.d.ts +1 -1
  355. package/dist/packages/radio/radio.hydration.test.js +23 -14
  356. package/dist/packages/radio/radio.js +485 -446
  357. package/dist/packages/radio/radio.js.map +3 -3
  358. package/dist/packages/radio/radio.react.stories.d.ts +2 -2
  359. package/dist/packages/radio/radio.react.stories.js +3 -3
  360. package/dist/packages/radio/radio.stories.d.ts +4 -4
  361. package/dist/packages/radio/radio.stories.js +152 -136
  362. package/dist/packages/radio/radio.test.d.ts +1 -1
  363. package/dist/packages/radio/radio.test.js +74 -73
  364. package/dist/packages/radio/react.d.ts +1 -1
  365. package/dist/packages/radio/react.js +4 -4
  366. package/dist/packages/radio/required-validator.d.ts +1 -1
  367. package/dist/packages/radio/required-validator.js +12 -7
  368. package/dist/packages/radio/slot.d.ts +1 -1
  369. package/dist/packages/radio/slot.js +11 -8
  370. package/dist/packages/radio/watch.d.ts +1 -1
  371. package/dist/packages/radio/watch.js +3 -1
  372. package/dist/packages/radio-group/radio-group-styles.js +121 -88
  373. package/dist/packages/radio-group/radio-group.a11y.test.d.ts +2 -2
  374. package/dist/packages/radio-group/radio-group.a11y.test.js +81 -79
  375. package/dist/packages/radio-group/radio-group.d.ts +14 -5
  376. package/dist/packages/radio-group/radio-group.hydration.test.d.ts +2 -2
  377. package/dist/packages/radio-group/radio-group.hydration.test.js +29 -18
  378. package/dist/packages/radio-group/radio-group.js +648 -560
  379. package/dist/packages/radio-group/radio-group.js.map +3 -3
  380. package/dist/packages/radio-group/radio-group.react.test.js +4 -4
  381. package/dist/packages/radio-group/radio-group.test.d.ts +2 -2
  382. package/dist/packages/radio-group/radio-group.test.js +234 -229
  383. package/dist/packages/radio-group/react.d.ts +2 -2
  384. package/dist/packages/radio-group/react.js +10 -10
  385. package/dist/packages/select/react.d.ts +2 -2
  386. package/dist/packages/select/react.js +11 -11
  387. package/dist/packages/select/select.a11y.test.d.ts +1 -1
  388. package/dist/packages/select/select.a11y.test.js +98 -91
  389. package/dist/packages/select/select.d.ts +4 -4
  390. package/dist/packages/select/select.hydration.test.d.ts +1 -1
  391. package/dist/packages/select/select.hydration.test.js +16 -16
  392. package/dist/packages/select/select.js +348 -329
  393. package/dist/packages/select/select.js.map +2 -2
  394. package/dist/packages/select/select.react.stories.d.ts +3 -3
  395. package/dist/packages/select/select.react.stories.js +7 -7
  396. package/dist/packages/select/select.react.test.js +6 -6
  397. package/dist/packages/select/select.stories.d.ts +3 -3
  398. package/dist/packages/select/select.stories.js +51 -48
  399. package/dist/packages/select/select.test.d.ts +1 -1
  400. package/dist/packages/select/select.test.js +175 -178
  401. package/dist/packages/select/styles.js +1 -1
  402. package/dist/packages/slider/Slider.d.ts +1 -1
  403. package/dist/packages/slider/Slider.js +4 -4
  404. package/dist/packages/slider/index.d.ts +2 -2
  405. package/dist/packages/slider/index.js +2 -2
  406. package/dist/packages/slider/react.d.ts +3 -3
  407. package/dist/packages/slider/react.js +9 -9
  408. package/dist/packages/slider/slider.d.ts +3 -3
  409. package/dist/packages/slider/slider.hydration.test.d.ts +1 -1
  410. package/dist/packages/slider/slider.hydration.test.js +39 -20
  411. package/dist/packages/slider/slider.js +480 -462
  412. package/dist/packages/slider/slider.js.map +2 -2
  413. package/dist/packages/slider/slider.react.stories.d.ts +3 -3
  414. package/dist/packages/slider/slider.react.stories.js +31 -34
  415. package/dist/packages/slider/slider.react.test.js +6 -6
  416. package/dist/packages/slider/slider.stories.d.ts +7 -7
  417. package/dist/packages/slider/slider.stories.js +332 -340
  418. package/dist/packages/slider/slider.test.d.ts +5 -5
  419. package/dist/packages/slider/slider.test.js +367 -334
  420. package/dist/packages/slider/styles/w-slider.styles.js +166 -148
  421. package/dist/packages/slider/styles.js +1 -1
  422. package/dist/packages/slider-thumb/SliderThumb.d.ts +1 -1
  423. package/dist/packages/slider-thumb/SliderThumb.js +4 -4
  424. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.d.ts +1 -1
  425. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.js +1 -1
  426. package/dist/packages/slider-thumb/react.d.ts +3 -3
  427. package/dist/packages/slider-thumb/react.js +11 -9
  428. package/dist/packages/slider-thumb/slider-thumb.d.ts +3 -3
  429. package/dist/packages/slider-thumb/slider-thumb.hydration.test.d.ts +1 -1
  430. package/dist/packages/slider-thumb/slider-thumb.hydration.test.js +26 -17
  431. package/dist/packages/slider-thumb/slider-thumb.js +545 -548
  432. package/dist/packages/slider-thumb/slider-thumb.js.map +3 -3
  433. package/dist/packages/slider-thumb/slider-thumb.react.test.js +9 -5
  434. package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.js +189 -188
  435. package/dist/packages/slider-thumb/styles.js +1 -1
  436. package/dist/packages/snackbar/react.d.ts +1 -1
  437. package/dist/packages/snackbar/react.js +4 -4
  438. package/dist/packages/snackbar/snackbar.d.ts +3 -3
  439. package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -1
  440. package/dist/packages/snackbar/snackbar.hydration.test.js +6 -6
  441. package/dist/packages/snackbar/snackbar.js +487 -468
  442. package/dist/packages/snackbar/snackbar.js.map +2 -2
  443. package/dist/packages/snackbar/snackbar.react.stories.js +3 -3
  444. package/dist/packages/snackbar/snackbar.stories.d.ts +11 -11
  445. package/dist/packages/snackbar/snackbar.stories.js +253 -181
  446. package/dist/packages/snackbar/snackbar.test.d.ts +4 -4
  447. package/dist/packages/snackbar/snackbar.test.js +11 -11
  448. package/dist/packages/snackbar/styles.js +29 -29
  449. package/dist/packages/snackbar-item/react.d.ts +2 -2
  450. package/dist/packages/snackbar-item/react.js +6 -5
  451. package/dist/packages/snackbar-item/snackbar-item.d.ts +4 -4
  452. package/dist/packages/snackbar-item/snackbar-item.js +454 -435
  453. package/dist/packages/snackbar-item/snackbar-item.js.map +2 -2
  454. package/dist/packages/snackbar-item/snackbar-item.react.test.js +4 -4
  455. package/dist/packages/snackbar-item/styles.js +130 -108
  456. package/dist/packages/step/react.d.ts +1 -1
  457. package/dist/packages/step/react.js +4 -4
  458. package/dist/packages/step/step.d.ts +2 -2
  459. package/dist/packages/step/step.hydration.test.d.ts +1 -1
  460. package/dist/packages/step/step.hydration.test.js +10 -10
  461. package/dist/packages/step/step.js +330 -308
  462. package/dist/packages/step/step.js.map +2 -2
  463. package/dist/packages/step-indicator/index.d.ts +2 -2
  464. package/dist/packages/step-indicator/index.js +2 -2
  465. package/dist/packages/step-indicator/react.d.ts +2 -2
  466. package/dist/packages/step-indicator/react.js +5 -5
  467. package/dist/packages/step-indicator/step-indicator.a11y.test.d.ts +2 -2
  468. package/dist/packages/step-indicator/step-indicator.a11y.test.js +48 -46
  469. package/dist/packages/step-indicator/step-indicator.d.ts +1 -1
  470. package/dist/packages/step-indicator/step-indicator.hydration.test.d.ts +1 -1
  471. package/dist/packages/step-indicator/step-indicator.hydration.test.js +10 -10
  472. package/dist/packages/step-indicator/step-indicator.js +280 -276
  473. package/dist/packages/step-indicator/step-indicator.js.map +2 -2
  474. package/dist/packages/step-indicator/stepindicator.react.stories.d.ts +2 -2
  475. package/dist/packages/step-indicator/stepindicator.react.stories.js +3 -3
  476. package/dist/packages/step-indicator/stepindicator.stories.d.ts +3 -3
  477. package/dist/packages/step-indicator/stepindicator.stories.js +129 -129
  478. package/dist/packages/step-indicator/styles.js +1 -1
  479. package/dist/packages/styles.js +274 -274
  480. package/dist/packages/switch/react.d.ts +1 -1
  481. package/dist/packages/switch/react.js +6 -6
  482. package/dist/packages/switch/styles.js +1 -1
  483. package/dist/packages/switch/switch.a11y.test.d.ts +1 -1
  484. package/dist/packages/switch/switch.a11y.test.js +46 -38
  485. package/dist/packages/switch/switch.d.ts +1 -1
  486. package/dist/packages/switch/switch.hydration.test.d.ts +1 -1
  487. package/dist/packages/switch/switch.hydration.test.js +23 -23
  488. package/dist/packages/switch/switch.js +299 -299
  489. package/dist/packages/switch/switch.js.map +2 -2
  490. package/dist/packages/switch/switch.react.stories.d.ts +2 -2
  491. package/dist/packages/switch/switch.react.stories.js +2 -2
  492. package/dist/packages/switch/switch.stories.d.ts +2 -2
  493. package/dist/packages/switch/switch.stories.js +42 -37
  494. package/dist/packages/switch/switch.test.d.ts +1 -1
  495. package/dist/packages/switch/switch.test.js +30 -35
  496. package/dist/packages/tab/react.d.ts +6 -4
  497. package/dist/packages/tab/react.js +11 -10
  498. package/dist/packages/tab/styles.d.ts +1 -0
  499. package/dist/packages/tab/styles.js +2 -0
  500. package/dist/packages/tab/tab.d.ts +5 -5
  501. package/dist/packages/tab/tab.hydration.test.d.ts +1 -1
  502. package/dist/packages/tab/tab.hydration.test.js +18 -12
  503. package/dist/packages/tab/tab.js +305 -304
  504. package/dist/packages/tab/tab.js.map +3 -3
  505. package/dist/packages/tab/tab.react.test.js +5 -3
  506. package/dist/packages/tab-panel/react.d.ts +3 -2
  507. package/dist/packages/tab-panel/react.js +11 -5
  508. package/dist/packages/tab-panel/tab-panel.d.ts +3 -3
  509. package/dist/packages/tab-panel/tab-panel.hydration.test.d.ts +1 -1
  510. package/dist/packages/tab-panel/tab-panel.hydration.test.js +13 -10
  511. package/dist/packages/tab-panel/tab-panel.js +289 -287
  512. package/dist/packages/tab-panel/tab-panel.js.map +2 -2
  513. package/dist/packages/tabs/index.d.ts +4 -4
  514. package/dist/packages/tabs/index.js +3 -3
  515. package/dist/packages/tabs/react.d.ts +27 -8
  516. package/dist/packages/tabs/react.js +30 -9
  517. package/dist/packages/tabs/styles.js +1 -1
  518. package/dist/packages/tabs/tabs.a11y.test.d.ts +3 -3
  519. package/dist/packages/tabs/tabs.a11y.test.js +188 -169
  520. package/dist/packages/tabs/tabs.d.ts +3 -3
  521. package/dist/packages/tabs/tabs.hydration.test.d.ts +3 -1
  522. package/dist/packages/tabs/tabs.hydration.test.js +22 -8
  523. package/dist/packages/tabs/tabs.js +289 -282
  524. package/dist/packages/tabs/tabs.js.map +2 -2
  525. package/dist/packages/tabs/tabs.react.stories.d.ts +12 -10
  526. package/dist/packages/tabs/tabs.react.stories.js +28 -28
  527. package/dist/packages/tabs/tabs.stories.d.ts +4 -4
  528. package/dist/packages/tabs/tabs.stories.js +101 -95
  529. package/dist/packages/tabs/tabs.test.d.ts +3 -3
  530. package/dist/packages/tabs/tabs.test.js +136 -122
  531. package/dist/packages/textarea/react.d.ts +2 -2
  532. package/dist/packages/textarea/react.js +17 -17
  533. package/dist/packages/textarea/styles.js +1 -1
  534. package/dist/packages/textarea/textarea.a11y.test.d.ts +1 -1
  535. package/dist/packages/textarea/textarea.a11y.test.js +89 -57
  536. package/dist/packages/textarea/textarea.d.ts +1 -1
  537. package/dist/packages/textarea/textarea.hydration.test.d.ts +1 -1
  538. package/dist/packages/textarea/textarea.hydration.test.js +19 -19
  539. package/dist/packages/textarea/textarea.js +300 -298
  540. package/dist/packages/textarea/textarea.js.map +2 -2
  541. package/dist/packages/textarea/textarea.react.stories.d.ts +3 -3
  542. package/dist/packages/textarea/textarea.react.stories.js +13 -13
  543. package/dist/packages/textarea/textarea.react.test.js +7 -7
  544. package/dist/packages/textarea/textarea.stories.d.ts +3 -3
  545. package/dist/packages/textarea/textarea.stories.js +44 -42
  546. package/dist/packages/textarea/textarea.test.d.ts +1 -1
  547. package/dist/packages/textarea/textarea.test.js +124 -88
  548. package/dist/packages/textfield/react.d.ts +2 -2
  549. package/dist/packages/textfield/react.js +17 -17
  550. package/dist/packages/textfield/styles/w-textfield.styles.js +60 -58
  551. package/dist/packages/textfield/styles.js +1 -1
  552. package/dist/packages/textfield/textfield.d.ts +3 -3
  553. package/dist/packages/textfield/textfield.hydration.test.d.ts +1 -1
  554. package/dist/packages/textfield/textfield.hydration.test.js +19 -19
  555. package/dist/packages/textfield/textfield.js +376 -368
  556. package/dist/packages/textfield/textfield.js.map +3 -3
  557. package/dist/packages/textfield/textfield.react.stories.d.ts +3 -3
  558. package/dist/packages/textfield/textfield.react.stories.js +31 -31
  559. package/dist/packages/textfield/textfield.react.test.js +7 -7
  560. package/dist/packages/textfield/textfield.stories.d.ts +4 -4
  561. package/dist/packages/textfield/textfield.stories.js +107 -89
  562. package/dist/packages/textfield/textfield.test.d.ts +2 -2
  563. package/dist/packages/textfield/textfield.test.js +103 -71
  564. package/dist/packages/toast/api.d.ts +1 -1
  565. package/dist/packages/toast/api.js +3 -3
  566. package/dist/packages/toast/index.d.ts +5 -5
  567. package/dist/packages/toast/index.js +5 -5
  568. package/dist/packages/toast/toast.d.ts +4 -4
  569. package/dist/packages/toast/toast.js +343 -314
  570. package/dist/packages/toast/toast.js.map +2 -2
  571. package/dist/packages/toast/toast.stories.d.ts +4 -4
  572. package/dist/packages/toast/toast.stories.js +37 -16
  573. package/dist/packages/toast/toast.test.d.ts +1 -1
  574. package/dist/packages/toast/toast.test.js +48 -31
  575. package/dist/packages/toast/types.d.ts +1 -1
  576. package/dist/packages/toast-container/styles.js +1 -1
  577. package/dist/packages/toast-container/toast-container.d.ts +2 -2
  578. package/dist/packages/toast-container/toast-container.js +291 -290
  579. package/dist/packages/toast-container/toast-container.js.map +2 -2
  580. package/dist/packages/utils/element-collapse.js +38 -28
  581. package/dist/packages/utils/expand-transition.d.ts +1 -1
  582. package/dist/packages/utils/expand-transition.js +12 -10
  583. package/dist/packages/utils/unstyled-heading.d.ts +1 -1
  584. package/dist/packages/utils/unstyled-heading.js +4 -4
  585. package/dist/packages/utils/window-exists.js +1 -1
  586. package/dist/packages/utils.js +2 -2
  587. package/dist/setup-tests.d.ts +3 -3
  588. package/dist/setup-tests.js +16 -13
  589. package/dist/tests/react-hydration.js +29 -30
  590. package/dist/tests/react-ssr-attributes.d.ts +1 -1
  591. package/dist/tests/react-ssr-attributes.js +4 -4
  592. package/dist/web-types.json +25 -22
  593. package/eik/index.js +9 -9
  594. package/package.json +11 -16
@@ -1,6 +1,6 @@
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
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" | "minHeight" | "setCustomValidity" | "maxRows" | "minRows" | "maxHeight" | "_textareaStyles"> & {
@@ -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
  });
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import { WarpTextField } from './textfield.js';
1
+ import React from "react";
2
+ import { WarpTextField } from "./textfield.js";
3
3
  export declare const TextField: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.HTMLAttributes<WarpTextField>, "value" | "form" | "label" | "mask" | "pattern" | "type" | "name" | "size" | "autocomplete" | "disabled" | "invalid" | "helpText" | "max" | "min" | "minLength" | "minlength" | "maxLength" | "maxlength" | "placeholder" | "readOnly" | "readonly" | "required" | "step" | "formatter" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "connectedCallback" | "disconnectedCallback" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "onblur" | "onchange" | "onfocus" | "oninput" | "_hasPrefix" | "_hasSuffix" | "updated" | "firstUpdated" | "resetFormControl" | "_inputstyles" | "_helptextstyles" | "_label" | "_helpId" | "_id" | "_error" | "handler" | "prefixSlotChange" | "suffixSlotChange" | "render" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "renderOptions" | "onFocus" | "onBlur" | "onChange" | "onInput"> & {
4
4
  onBlur?: ((e: Event) => void) | undefined;
5
5
  onblur?: ((e: Event) => void) | undefined;
@@ -1,30 +1,30 @@
1
- import { createComponent } from '@lit/react';
2
- import { LitElement } from 'lit';
3
- import React from 'react';
1
+ import { createComponent } from "@lit/react";
2
+ import { LitElement } from "lit";
3
+ import React from "react";
4
4
  // decouple from CDN by providing a dummy class
5
5
  class Component extends LitElement {
6
6
  }
7
7
  const BaseTextField = createComponent({
8
- tagName: 'w-textfield',
8
+ tagName: "w-textfield",
9
9
  elementClass: Component,
10
10
  react: React,
11
11
  events: {
12
- onBlur: 'blur',
13
- onblur: 'blur',
14
- onChange: 'change',
15
- onchange: 'change',
16
- onInput: 'input',
17
- oninput: 'input',
18
- onFocus: 'focus',
19
- onfocus: 'focus',
12
+ onBlur: "blur",
13
+ onblur: "blur",
14
+ onChange: "change",
15
+ onchange: "change",
16
+ onInput: "input",
17
+ oninput: "input",
18
+ onFocus: "focus",
19
+ onfocus: "focus",
20
20
  },
21
21
  });
22
22
  export const TextField = React.forwardRef(({ helpText, minLength, maxLength, readOnly, ...props }, ref) => React.createElement(BaseTextField, {
23
23
  ...props,
24
- ...(helpText !== undefined ? { 'help-text': helpText } : {}),
25
- ...(minLength !== undefined ? { 'min-length': minLength } : {}),
26
- ...(maxLength !== undefined ? { 'max-length': maxLength } : {}),
27
- ...(readOnly ? { 'read-only': true } : {}),
24
+ ...(helpText !== undefined ? { "help-text": helpText } : {}),
25
+ ...(minLength !== undefined ? { "min-length": minLength } : {}),
26
+ ...(maxLength !== undefined ? { "max-length": maxLength } : {}),
27
+ ...(readOnly ? { "read-only": true } : {}),
28
28
  ref,
29
29
  }));
30
- TextField.displayName = 'TextField';
30
+ TextField.displayName = "TextField";