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

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