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

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 (758) hide show
  1. package/README.md +4 -0
  2. package/dist/.storybook/utilities.js +4 -4
  3. package/dist/api.js +1 -1
  4. package/dist/api.js.map +2 -2
  5. package/dist/custom-elements.json +1341 -619
  6. package/dist/docs/affix/affix.md +120 -3
  7. package/dist/docs/affix/api.md +2 -2
  8. package/dist/docs/affix/styling.md +108 -0
  9. package/dist/docs/alert/alert.md +6 -6
  10. package/dist/docs/alert/api.md +4 -4
  11. package/dist/docs/alert/styling.md +1 -0
  12. package/dist/docs/attention/api.md +50 -2
  13. package/dist/docs/attention/attention.md +52 -2
  14. package/dist/docs/attention/styling.md +1 -0
  15. package/dist/docs/badge/api.md +50 -4
  16. package/dist/docs/badge/badge.md +52 -4
  17. package/dist/docs/badge/styling.md +1 -0
  18. package/dist/docs/box/api.md +2 -2
  19. package/dist/docs/box/box.md +24 -42
  20. package/dist/docs/box/examples.md +20 -38
  21. package/dist/docs/box/styling.md +1 -0
  22. package/dist/docs/breadcrumb-item/api.md +27 -0
  23. package/dist/docs/breadcrumb-item/breadcrumb-item.md +34 -0
  24. package/dist/docs/breadcrumbs/accessibility.md +8 -18
  25. package/dist/docs/breadcrumbs/breadcrumbs.md +128 -36
  26. package/dist/docs/breadcrumbs/examples.md +15 -9
  27. package/dist/docs/breadcrumbs/styling.md +97 -0
  28. package/dist/docs/breadcrumbs/usage.md +8 -8
  29. package/dist/docs/button/api.md +32 -24
  30. package/dist/docs/button/button.md +105 -26
  31. package/dist/docs/button/styling.md +72 -0
  32. package/dist/docs/card/api.md +8 -0
  33. package/dist/docs/card/card.md +10 -2
  34. package/dist/docs/card/styling.md +1 -0
  35. package/dist/docs/checkbox/api.md +176 -0
  36. package/dist/docs/checkbox/checkbox.md +356 -0
  37. package/dist/docs/checkbox/styling.md +173 -0
  38. package/dist/docs/checkbox-group/accessibility.md +71 -0
  39. package/dist/docs/checkbox-group/api.md +103 -0
  40. package/dist/docs/checkbox-group/checkbox-group.md +529 -0
  41. package/dist/docs/checkbox-group/examples.md +105 -0
  42. package/dist/docs/checkbox-group/styling.md +134 -0
  43. package/dist/docs/checkbox-group/usage.md +95 -0
  44. package/dist/docs/combobox/accessibility.md +71 -0
  45. package/dist/docs/combobox/api.md +74 -36
  46. package/dist/docs/combobox/combobox.md +219 -38
  47. package/dist/docs/combobox/examples.md +44 -0
  48. package/dist/docs/combobox/styling.md +1 -0
  49. package/dist/docs/combobox/usage.md +28 -0
  50. package/dist/docs/datepicker/accessibility.md +25 -0
  51. package/dist/docs/datepicker/api.md +37 -21
  52. package/dist/docs/datepicker/datepicker.md +223 -23
  53. package/dist/docs/datepicker/examples.md +75 -0
  54. package/dist/docs/datepicker/styling.md +1 -0
  55. package/dist/docs/datepicker/usage.md +84 -0
  56. package/dist/docs/expandable/api.md +23 -35
  57. package/dist/docs/expandable/examples.md +54 -0
  58. package/dist/docs/expandable/expandable.md +77 -35
  59. package/dist/docs/expandable/styling.md +1 -0
  60. package/dist/docs/icon/accessibility.md +5 -0
  61. package/dist/docs/icon/api.md +43 -0
  62. package/dist/docs/icon/examples.md +45 -0
  63. package/dist/docs/icon/icon.md +115 -0
  64. package/dist/docs/icon/styling.md +1 -0
  65. package/dist/docs/icon/usage.md +11 -0
  66. package/dist/docs/index.md +49 -0
  67. package/dist/docs/link/api.md +24 -28
  68. package/dist/docs/link/examples.md +75 -0
  69. package/dist/docs/link/link.md +119 -30
  70. package/dist/docs/link/styling.md +1 -0
  71. package/dist/docs/link/usage.md +18 -0
  72. package/dist/docs/modal/api.md +18 -2
  73. package/dist/docs/modal/modal.md +20 -2
  74. package/dist/docs/modal/styling.md +1 -0
  75. package/dist/docs/modal-footer/modal-footer.md +0 -6
  76. package/dist/docs/modal-header/modal-header.md +0 -6
  77. package/dist/docs/page-indicator/page-indicator.md +2 -0
  78. package/dist/docs/page-indicator/styling.md +1 -0
  79. package/dist/docs/pagination/api.md +4 -4
  80. package/dist/docs/pagination/pagination.md +6 -4
  81. package/dist/docs/pagination/styling.md +1 -0
  82. package/dist/docs/pill/api.md +8 -8
  83. package/dist/docs/pill/pill.md +10 -8
  84. package/dist/docs/pill/styling.md +1 -0
  85. package/dist/docs/radio/radio.md +1 -7
  86. package/dist/docs/radio-group/api.md +4 -4
  87. package/dist/docs/radio-group/radio-group.md +183 -68
  88. package/dist/docs/radio-group/styling.md +179 -64
  89. package/dist/docs/select/api.md +10 -10
  90. package/dist/docs/select/select.md +103 -10
  91. package/dist/docs/select/styling.md +92 -0
  92. package/dist/docs/slider/api.md +38 -22
  93. package/dist/docs/slider/slider.md +40 -22
  94. package/dist/docs/slider/styling.md +1 -0
  95. package/dist/docs/slider-thumb/api.md +28 -12
  96. package/dist/docs/slider-thumb/slider-thumb.md +30 -12
  97. package/dist/docs/slider-thumb/styling.md +1 -0
  98. package/dist/docs/snackbar/accessibility.md +20 -0
  99. package/dist/docs/snackbar/api.md +30 -0
  100. package/dist/docs/snackbar/examples.md +191 -0
  101. package/dist/docs/snackbar/snackbar.md +385 -0
  102. package/dist/docs/snackbar/styling.md +72 -0
  103. package/dist/docs/snackbar/usage.md +60 -0
  104. package/dist/docs/snackbar-item/api.md +41 -0
  105. package/dist/docs/snackbar-item/snackbar-item.md +49 -0
  106. package/dist/docs/step/api.md +16 -0
  107. package/dist/docs/step/step.md +16 -0
  108. package/dist/docs/step-indicator/step-indicator.md +2 -0
  109. package/dist/docs/step-indicator/styling.md +1 -0
  110. package/dist/docs/switch/api.md +8 -0
  111. package/dist/docs/switch/styling.md +1 -0
  112. package/dist/docs/switch/switch.md +10 -0
  113. package/dist/docs/tabs/api.md +2 -2
  114. package/dist/docs/tabs/styling.md +1 -0
  115. package/dist/docs/tabs/tabs.md +4 -2
  116. package/dist/docs/textarea/api.md +54 -14
  117. package/dist/docs/textarea/styling.md +92 -0
  118. package/dist/docs/textarea/textarea.md +147 -14
  119. package/dist/docs/textfield/api.md +74 -34
  120. package/dist/docs/textfield/styling.md +96 -0
  121. package/dist/docs/textfield/textfield.md +171 -34
  122. package/dist/index.d.ts +1369 -370
  123. package/dist/packages/affix/affix-styles.d.ts +8 -0
  124. package/dist/packages/affix/affix-styles.js +108 -0
  125. package/dist/packages/affix/affix.d.ts +16 -13
  126. package/dist/packages/affix/affix.hydration.test.d.ts +1 -1
  127. package/dist/packages/affix/affix.hydration.test.js +15 -15
  128. package/dist/packages/affix/affix.js +451 -320
  129. package/dist/packages/affix/affix.js.map +4 -4
  130. package/dist/packages/affix/affix.react.stories.d.ts +3 -3
  131. package/dist/packages/affix/affix.react.stories.js +3 -3
  132. package/dist/packages/affix/affix.react.test.js +5 -3
  133. package/dist/packages/affix/affix.stories.d.ts +3 -3
  134. package/dist/packages/affix/affix.stories.js +10 -10
  135. package/dist/packages/affix/affix.test.d.ts +1 -1
  136. package/dist/packages/affix/affix.test.js +10 -10
  137. package/dist/packages/affix/react.d.ts +3 -3
  138. package/dist/packages/affix/react.js +6 -6
  139. package/dist/packages/affix/styles.js +2 -2
  140. package/dist/packages/alert/alert.d.ts +3 -3
  141. package/dist/packages/alert/alert.hydration.test.d.ts +1 -1
  142. package/dist/packages/alert/alert.hydration.test.js +21 -21
  143. package/dist/packages/alert/alert.js +349 -324
  144. package/dist/packages/alert/alert.js.map +3 -3
  145. package/dist/packages/alert/alert.react.stories.d.ts +2 -2
  146. package/dist/packages/alert/alert.react.stories.js +13 -13
  147. package/dist/packages/alert/alert.stories.d.ts +4 -4
  148. package/dist/packages/alert/alert.stories.js +29 -27
  149. package/dist/packages/alert/alert.test.d.ts +1 -1
  150. package/dist/packages/alert/alert.test.js +34 -21
  151. package/dist/packages/alert/react.d.ts +1 -1
  152. package/dist/packages/alert/react.js +4 -4
  153. package/dist/packages/alert/styles.js +2 -2
  154. package/dist/packages/attention/attention.d.ts +11 -6
  155. package/dist/packages/attention/attention.hydration.test.d.ts +1 -1
  156. package/dist/packages/attention/attention.hydration.test.js +29 -29
  157. package/dist/packages/attention/attention.js +1795 -1781
  158. package/dist/packages/attention/attention.js.map +4 -4
  159. package/dist/packages/attention/attention.react.stories.d.ts +3 -3
  160. package/dist/packages/attention/attention.react.stories.js +13 -13
  161. package/dist/packages/attention/attention.react.test.js +11 -7
  162. package/dist/packages/attention/attention.stories.d.ts +4 -4
  163. package/dist/packages/attention/attention.stories.js +126 -117
  164. package/dist/packages/attention/attention.test.d.ts +1 -1
  165. package/dist/packages/attention/attention.test.js +18 -10
  166. package/dist/packages/attention/layout-styles.js +900 -900
  167. package/dist/packages/attention/react.d.ts +4 -4
  168. package/dist/packages/attention/react.js +13 -11
  169. package/dist/packages/attention/styles.js +2 -2
  170. package/dist/packages/badge/badge.d.ts +3 -3
  171. package/dist/packages/badge/badge.hydration.test.d.ts +1 -1
  172. package/dist/packages/badge/badge.hydration.test.js +25 -25
  173. package/dist/packages/badge/badge.js +281 -281
  174. package/dist/packages/badge/badge.js.map +3 -3
  175. package/dist/packages/badge/badge.react.stories.d.ts +3 -3
  176. package/dist/packages/badge/badge.react.stories.js +17 -17
  177. package/dist/packages/badge/badge.stories.d.ts +3 -3
  178. package/dist/packages/badge/badge.stories.js +22 -20
  179. package/dist/packages/badge/badge.test.d.ts +1 -1
  180. package/dist/packages/badge/badge.test.js +13 -11
  181. package/dist/packages/badge/react.d.ts +1 -1
  182. package/dist/packages/badge/react.js +4 -4
  183. package/dist/packages/badge/styles.js +2 -2
  184. package/dist/packages/box/box.d.ts +1 -1
  185. package/dist/packages/box/box.hydration.test.d.ts +1 -1
  186. package/dist/packages/box/box.hydration.test.js +14 -14
  187. package/dist/packages/box/box.js +288 -288
  188. package/dist/packages/box/box.js.map +3 -3
  189. package/dist/packages/box/box.react.stories.d.ts +3 -3
  190. package/dist/packages/box/box.react.stories.js +8 -8
  191. package/dist/packages/box/box.stories.d.ts +3 -3
  192. package/dist/packages/box/box.stories.js +25 -19
  193. package/dist/packages/box/box.test.d.ts +1 -1
  194. package/dist/packages/box/box.test.js +6 -6
  195. package/dist/packages/box/react.d.ts +1 -1
  196. package/dist/packages/box/react.js +4 -4
  197. package/dist/packages/box/slot.test.d.ts +1 -1
  198. package/dist/packages/box/slot.test.js +6 -6
  199. package/dist/packages/box/styles.js +2 -2
  200. package/dist/packages/breadcrumb-item/breadcrumb-item.d.ts +29 -0
  201. package/dist/packages/breadcrumb-item/breadcrumb-item.js +2529 -0
  202. package/dist/packages/breadcrumb-item/breadcrumb-item.js.map +7 -0
  203. package/dist/packages/breadcrumb-item/react.d.ts +2 -0
  204. package/dist/packages/breadcrumb-item/react.js +11 -0
  205. package/dist/packages/breadcrumb-item/styles.d.ts +4 -0
  206. package/dist/packages/breadcrumb-item/styles.js +81 -0
  207. package/dist/packages/breadcrumbs/breadcrumbs.d.ts +4 -3
  208. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.d.ts +1 -1
  209. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.js +57 -50
  210. package/dist/packages/breadcrumbs/breadcrumbs.js +287 -283
  211. package/dist/packages/breadcrumbs/breadcrumbs.js.map +4 -4
  212. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.d.ts +4 -4
  213. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.js +17 -16
  214. package/dist/packages/breadcrumbs/breadcrumbs.stories.d.ts +7 -8
  215. package/dist/packages/breadcrumbs/breadcrumbs.stories.js +30 -26
  216. package/dist/packages/breadcrumbs/breadcrumbs.test.d.ts +1 -1
  217. package/dist/packages/breadcrumbs/breadcrumbs.test.js +19 -17
  218. package/dist/packages/breadcrumbs/react.d.ts +1 -1
  219. package/dist/packages/breadcrumbs/react.js +4 -4
  220. package/dist/packages/breadcrumbs/styles.js +2 -2
  221. package/dist/packages/button/button.d.ts +20 -15
  222. package/dist/packages/button/button.hydration.test.d.ts +1 -1
  223. package/dist/packages/button/button.hydration.test.js +19 -19
  224. package/dist/packages/button/button.js +809 -811
  225. package/dist/packages/button/button.js.map +4 -4
  226. package/dist/packages/button/button.react.stories.d.ts +5 -5
  227. package/dist/packages/button/button.react.stories.js +30 -30
  228. package/dist/packages/button/button.react.test.js +13 -13
  229. package/dist/packages/button/button.stories.d.ts +33 -4
  230. package/dist/packages/button/button.stories.js +353 -70
  231. package/dist/packages/button/button.test.d.ts +1 -1
  232. package/dist/packages/button/button.test.js +36 -35
  233. package/dist/packages/button/react.d.ts +3 -3
  234. package/dist/packages/button/react.js +7 -7
  235. package/dist/packages/button/styles.d.ts +22 -1
  236. package/dist/packages/button/styles.js +433 -2
  237. package/dist/packages/card/card.d.ts +1 -1
  238. package/dist/packages/card/card.hydration.test.d.ts +1 -1
  239. package/dist/packages/card/card.hydration.test.js +14 -14
  240. package/dist/packages/card/card.js +311 -296
  241. package/dist/packages/card/card.js.map +4 -4
  242. package/dist/packages/card/card.react.stories.d.ts +3 -3
  243. package/dist/packages/card/card.react.stories.js +11 -11
  244. package/dist/packages/card/card.stories.d.ts +3 -3
  245. package/dist/packages/card/card.stories.js +36 -24
  246. package/dist/packages/card/card.test.d.ts +1 -1
  247. package/dist/packages/card/card.test.js +6 -6
  248. package/dist/packages/card/react.d.ts +1 -1
  249. package/dist/packages/card/react.js +4 -4
  250. package/dist/packages/card/styles.js +2 -2
  251. package/dist/packages/checkbox/checkbox.a11y.test.d.ts +1 -1
  252. package/dist/packages/checkbox/checkbox.a11y.test.js +47 -33
  253. package/dist/packages/checkbox/checkbox.d.ts +48 -17
  254. package/dist/packages/checkbox/checkbox.hydration.test.d.ts +1 -1
  255. package/dist/packages/checkbox/checkbox.hydration.test.js +21 -21
  256. package/dist/packages/checkbox/checkbox.js +481 -430
  257. package/dist/packages/checkbox/checkbox.js.map +3 -3
  258. package/dist/packages/checkbox/checkbox.react.stories.d.ts +3 -3
  259. package/dist/packages/checkbox/checkbox.react.stories.js +3 -3
  260. package/dist/packages/checkbox/checkbox.stories.d.ts +5 -5
  261. package/dist/packages/checkbox/checkbox.stories.js +99 -91
  262. package/dist/packages/checkbox/checkbox.test.d.ts +1 -1
  263. package/dist/packages/checkbox/checkbox.test.js +64 -64
  264. package/dist/packages/checkbox/react.d.ts +2 -2
  265. package/dist/packages/checkbox/react.js +6 -6
  266. package/dist/packages/checkbox/styles.js +183 -132
  267. package/dist/packages/checkbox-group/checkbox-group.a11y.test.d.ts +2 -2
  268. package/dist/packages/checkbox-group/checkbox-group.a11y.test.js +83 -73
  269. package/dist/packages/checkbox-group/checkbox-group.d.ts +54 -13
  270. package/dist/packages/checkbox-group/checkbox-group.hydration.test.d.ts +2 -2
  271. package/dist/packages/checkbox-group/checkbox-group.hydration.test.js +36 -19
  272. package/dist/packages/checkbox-group/checkbox-group.js +62 -57
  273. package/dist/packages/checkbox-group/checkbox-group.js.map +4 -4
  274. package/dist/packages/checkbox-group/checkbox-group.react.test.js +4 -4
  275. package/dist/packages/checkbox-group/checkbox-group.test.d.ts +2 -2
  276. package/dist/packages/checkbox-group/checkbox-group.test.js +183 -90
  277. package/dist/packages/checkbox-group/react.d.ts +4 -4
  278. package/dist/packages/checkbox-group/react.js +6 -6
  279. package/dist/packages/combobox/combobox.a11y.test.d.ts +2 -2
  280. package/dist/packages/combobox/combobox.a11y.test.js +80 -33
  281. package/dist/packages/combobox/combobox.d.ts +67 -47
  282. package/dist/packages/combobox/combobox.hydration.test.d.ts +1 -1
  283. package/dist/packages/combobox/combobox.hydration.test.js +73 -35
  284. package/dist/packages/combobox/combobox.js +338 -339
  285. package/dist/packages/combobox/combobox.js.map +4 -4
  286. package/dist/packages/combobox/combobox.react.stories.d.ts +29 -13
  287. package/dist/packages/combobox/combobox.react.stories.js +29 -29
  288. package/dist/packages/combobox/combobox.react.test.js +8 -8
  289. package/dist/packages/combobox/combobox.stories.d.ts +4 -4
  290. package/dist/packages/combobox/combobox.stories.js +104 -85
  291. package/dist/packages/combobox/combobox.test.d.ts +2 -2
  292. package/dist/packages/combobox/combobox.test.js +295 -69
  293. package/dist/packages/combobox/react.d.ts +15 -7
  294. package/dist/packages/combobox/react.js +14 -14
  295. package/dist/packages/combobox/styles.js +2 -3
  296. package/dist/packages/datepicker/DatePicker.test.d.ts +2 -2
  297. package/dist/packages/datepicker/DatePicker.test.js +49 -42
  298. package/dist/packages/datepicker/datepicker.d.ts +30 -38
  299. package/dist/packages/datepicker/datepicker.hydration.test.d.ts +1 -1
  300. package/dist/packages/datepicker/datepicker.hydration.test.js +21 -21
  301. package/dist/packages/datepicker/datepicker.js +673 -632
  302. package/dist/packages/datepicker/datepicker.js.map +4 -4
  303. package/dist/packages/datepicker/datepicker.react.stories.d.ts +17 -17
  304. package/dist/packages/datepicker/datepicker.react.stories.js +9 -9
  305. package/dist/packages/datepicker/datepicker.react.test.js +6 -6
  306. package/dist/packages/datepicker/datepicker.stories.d.ts +4 -4
  307. package/dist/packages/datepicker/datepicker.stories.js +32 -32
  308. package/dist/packages/datepicker/datepicker.test.d.ts +2 -2
  309. package/dist/packages/datepicker/datepicker.test.js +77 -79
  310. package/dist/packages/datepicker/react.d.ts +9 -9
  311. package/dist/packages/datepicker/react.js +16 -14
  312. package/dist/packages/datepicker/styles/w-datepicker-calendar.styles.js +13 -12
  313. package/dist/packages/datepicker/styles/w-datepicker-day.styles.js +58 -55
  314. package/dist/packages/datepicker/styles/w-datepicker-month.styles.js +60 -57
  315. package/dist/packages/datepicker/styles/w-datepicker.styles.js +87 -87
  316. package/dist/packages/datepicker/utils.d.ts +3 -0
  317. package/dist/packages/datepicker/utils.js +40 -1
  318. package/dist/packages/datepicker/utils.test.d.ts +1 -0
  319. package/dist/packages/datepicker/utils.test.js +29 -0
  320. package/dist/packages/expandable/expandable.d.ts +18 -39
  321. package/dist/packages/expandable/expandable.hydration.test.d.ts +1 -1
  322. package/dist/packages/expandable/expandable.hydration.test.js +21 -21
  323. package/dist/packages/expandable/expandable.js +359 -332
  324. package/dist/packages/expandable/expandable.js.map +4 -4
  325. package/dist/packages/expandable/expandable.react.stories.d.ts +5 -5
  326. package/dist/packages/expandable/expandable.react.stories.js +7 -7
  327. package/dist/packages/expandable/expandable.react.test.js +15 -7
  328. package/dist/packages/expandable/expandable.stories.d.ts +5 -5
  329. package/dist/packages/expandable/expandable.stories.js +51 -45
  330. package/dist/packages/expandable/expandable.test.d.ts +1 -1
  331. package/dist/packages/expandable/expandable.test.js +19 -17
  332. package/dist/packages/expandable/react.d.ts +3 -3
  333. package/dist/packages/expandable/react.js +9 -9
  334. package/dist/packages/expandable/styles.js +2 -2
  335. package/dist/packages/global.d.ts +1 -0
  336. package/dist/packages/global.js +5 -0
  337. package/dist/packages/i18n.d.ts +1 -1
  338. package/dist/packages/i18n.js +37 -29
  339. package/dist/packages/icon/icon.d.ts +22 -5
  340. package/dist/packages/icon/icon.hydration.test.d.ts +1 -1
  341. package/dist/packages/icon/icon.hydration.test.js +25 -25
  342. package/dist/packages/icon/icon.js +31 -26
  343. package/dist/packages/icon/icon.js.map +3 -3
  344. package/dist/packages/icon/icon.react.stories.d.ts +4 -3
  345. package/dist/packages/icon/icon.react.stories.js +284 -283
  346. package/dist/packages/icon/icon.stories.d.ts +7 -30
  347. package/dist/packages/icon/icon.stories.js +307 -297
  348. package/dist/packages/icon/icon.test.d.ts +1 -1
  349. package/dist/packages/icon/icon.test.js +36 -28
  350. package/dist/packages/icon/react.d.ts +2 -2
  351. package/dist/packages/icon/react.js +4 -4
  352. package/dist/packages/icon/style.js +24 -25
  353. package/dist/packages/interaction-type-detection.d.ts +22 -0
  354. package/dist/packages/interaction-type-detection.js +38 -0
  355. package/dist/packages/link/link.d.ts +22 -23
  356. package/dist/packages/link/link.hydration.test.d.ts +1 -1
  357. package/dist/packages/link/link.hydration.test.js +27 -27
  358. package/dist/packages/link/link.js +775 -498
  359. package/dist/packages/link/link.js.map +4 -4
  360. package/dist/packages/link/link.react.stories.d.ts +3 -3
  361. package/dist/packages/link/link.react.stories.js +42 -42
  362. package/dist/packages/link/link.react.test.js +5 -3
  363. package/dist/packages/link/link.stories.d.ts +3 -3
  364. package/dist/packages/link/link.stories.js +51 -51
  365. package/dist/packages/link/link.test.d.ts +1 -1
  366. package/dist/packages/link/link.test.js +11 -7
  367. package/dist/packages/link/react.d.ts +2 -2
  368. package/dist/packages/link/react.js +6 -6
  369. package/dist/packages/link/styles.d.ts +5 -0
  370. package/dist/packages/link/styles.js +85 -0
  371. package/dist/packages/modal/index.d.ts +7 -7
  372. package/dist/packages/modal/index.js +7 -7
  373. package/dist/packages/modal/modal.d.ts +3 -2
  374. package/dist/packages/modal/modal.hydration.test.d.ts +1 -1
  375. package/dist/packages/modal/modal.hydration.test.js +12 -12
  376. package/dist/packages/modal/modal.js +409 -409
  377. package/dist/packages/modal/modal.js.map +3 -3
  378. package/dist/packages/modal/modal.react.stories.d.ts +7 -7
  379. package/dist/packages/modal/modal.react.stories.js +15 -6
  380. package/dist/packages/modal/modal.react.test.js +5 -5
  381. package/dist/packages/modal/modal.stories.d.ts +6 -6
  382. package/dist/packages/modal/modal.stories.js +253 -238
  383. package/dist/packages/modal/react.d.ts +38 -8
  384. package/dist/packages/modal/react.js +43 -13
  385. package/dist/packages/modal/util.js +3 -1
  386. package/dist/packages/modal-footer/modal-footer.d.ts +1 -1
  387. package/dist/packages/modal-footer/modal-footer.js +296 -296
  388. package/dist/packages/modal-footer/modal-footer.js.map +3 -3
  389. package/dist/packages/modal-footer/react.d.ts +1 -1
  390. package/dist/packages/modal-footer/react.js +4 -4
  391. package/dist/packages/modal-header/modal-header.d.ts +2 -2
  392. package/dist/packages/modal-header/modal-header.js +443 -422
  393. package/dist/packages/modal-header/modal-header.js.map +4 -4
  394. package/dist/packages/modal-header/modal-header.react.test.js +5 -3
  395. package/dist/packages/modal-header/react.d.ts +4 -4
  396. package/dist/packages/modal-header/react.js +8 -8
  397. package/dist/packages/page-indicator/page-indicator.d.ts +1 -5
  398. package/dist/packages/page-indicator/page-indicator.hydration.test.d.ts +1 -1
  399. package/dist/packages/page-indicator/page-indicator.hydration.test.js +22 -22
  400. package/dist/packages/page-indicator/page-indicator.js +29 -29
  401. package/dist/packages/page-indicator/page-indicator.js.map +4 -4
  402. package/dist/packages/page-indicator/page-indicator.react.stories.d.ts +3 -3
  403. package/dist/packages/page-indicator/page-indicator.react.stories.js +11 -11
  404. package/dist/packages/page-indicator/page-indicator.react.test.js +5 -5
  405. package/dist/packages/page-indicator/page-indicator.stories.d.ts +9 -27
  406. package/dist/packages/page-indicator/page-indicator.stories.js +63 -32
  407. package/dist/packages/page-indicator/page-indicator.test.d.ts +1 -1
  408. package/dist/packages/page-indicator/page-indicator.test.js +110 -70
  409. package/dist/packages/page-indicator/react.d.ts +2 -2
  410. package/dist/packages/page-indicator/react.js +7 -7
  411. package/dist/packages/page-indicator/style.js +21 -21
  412. package/dist/packages/pagination/pagination.a11y.test.d.ts +1 -1
  413. package/dist/packages/pagination/pagination.a11y.test.js +59 -25
  414. package/dist/packages/pagination/pagination.d.ts +10 -11
  415. package/dist/packages/pagination/pagination.hydration.test.d.ts +1 -1
  416. package/dist/packages/pagination/pagination.hydration.test.js +19 -19
  417. package/dist/packages/pagination/pagination.js +385 -354
  418. package/dist/packages/pagination/pagination.js.map +4 -4
  419. package/dist/packages/pagination/pagination.react.stories.d.ts +11 -11
  420. package/dist/packages/pagination/pagination.react.stories.js +8 -8
  421. package/dist/packages/pagination/pagination.react.test.js +6 -6
  422. package/dist/packages/pagination/pagination.stories.d.ts +3 -3
  423. package/dist/packages/pagination/pagination.stories.js +18 -18
  424. package/dist/packages/pagination/pagination.test.d.ts +1 -1
  425. package/dist/packages/pagination/pagination.test.js +146 -72
  426. package/dist/packages/pagination/react.d.ts +6 -6
  427. package/dist/packages/pagination/react.js +12 -10
  428. package/dist/packages/pagination/styles.js +2 -2
  429. package/dist/packages/pill/pill.d.ts +6 -6
  430. package/dist/packages/pill/pill.hydration.test.d.ts +1 -1
  431. package/dist/packages/pill/pill.hydration.test.js +14 -14
  432. package/dist/packages/pill/pill.js +337 -314
  433. package/dist/packages/pill/pill.js.map +4 -4
  434. package/dist/packages/pill/pill.react.stories.d.ts +11 -11
  435. package/dist/packages/pill/pill.react.stories.js +3 -3
  436. package/dist/packages/pill/pill.react.test.js +8 -8
  437. package/dist/packages/pill/pill.stories.d.ts +3 -3
  438. package/dist/packages/pill/pill.stories.js +8 -8
  439. package/dist/packages/pill/pill.test.d.ts +1 -1
  440. package/dist/packages/pill/pill.test.js +17 -15
  441. package/dist/packages/pill/react.d.ts +6 -6
  442. package/dist/packages/pill/react.js +18 -14
  443. package/dist/packages/pill/styles.js +2 -2
  444. package/dist/packages/radio/base-element.d.ts +3 -3
  445. package/dist/packages/radio/base-element.js +3 -3
  446. package/dist/packages/radio/custom-error-validator.d.ts +1 -1
  447. package/dist/packages/radio/custom-error-validator.js +3 -3
  448. package/dist/packages/radio/form-associated-element.d.ts +9 -9
  449. package/dist/packages/radio/form-associated-element.js +27 -26
  450. package/dist/packages/radio/host-styles.js +9 -9
  451. package/dist/packages/radio/invalid.d.ts +1 -1
  452. package/dist/packages/radio/invalid.js +1 -1
  453. package/dist/packages/radio/radio-styles.js +199 -160
  454. package/dist/packages/radio/radio.a11y.test.d.ts +2 -2
  455. package/dist/packages/radio/radio.a11y.test.js +60 -58
  456. package/dist/packages/radio/radio.d.ts +4 -4
  457. package/dist/packages/radio/radio.hydration.test.d.ts +1 -1
  458. package/dist/packages/radio/radio.hydration.test.js +23 -14
  459. package/dist/packages/radio/radio.js +491 -452
  460. package/dist/packages/radio/radio.js.map +3 -3
  461. package/dist/packages/radio/radio.react.stories.d.ts +2 -2
  462. package/dist/packages/radio/radio.react.stories.js +3 -3
  463. package/dist/packages/radio/radio.stories.d.ts +4 -4
  464. package/dist/packages/radio/radio.stories.js +152 -136
  465. package/dist/packages/radio/radio.test.d.ts +1 -1
  466. package/dist/packages/radio/radio.test.js +74 -73
  467. package/dist/packages/radio/react.d.ts +1 -1
  468. package/dist/packages/radio/react.js +4 -4
  469. package/dist/packages/radio/required-validator.d.ts +1 -1
  470. package/dist/packages/radio/required-validator.js +12 -7
  471. package/dist/packages/radio/slot.d.ts +1 -1
  472. package/dist/packages/radio/slot.js +11 -8
  473. package/dist/packages/radio/watch.d.ts +1 -1
  474. package/dist/packages/radio/watch.js +3 -1
  475. package/dist/packages/radio-group/radio-group-styles.js +121 -88
  476. package/dist/packages/radio-group/radio-group.a11y.test.d.ts +2 -2
  477. package/dist/packages/radio-group/radio-group.a11y.test.js +83 -77
  478. package/dist/packages/radio-group/radio-group.d.ts +16 -7
  479. package/dist/packages/radio-group/radio-group.hydration.test.d.ts +2 -2
  480. package/dist/packages/radio-group/radio-group.hydration.test.js +30 -15
  481. package/dist/packages/radio-group/radio-group.js +655 -567
  482. package/dist/packages/radio-group/radio-group.js.map +4 -4
  483. package/dist/packages/radio-group/radio-group.react.test.js +4 -4
  484. package/dist/packages/radio-group/radio-group.test.d.ts +2 -2
  485. package/dist/packages/radio-group/radio-group.test.js +304 -230
  486. package/dist/packages/radio-group/react.d.ts +7 -7
  487. package/dist/packages/radio-group/react.js +10 -10
  488. package/dist/packages/select/input-styles.d.ts +11 -0
  489. package/dist/packages/select/input-styles.js +88 -0
  490. package/dist/packages/select/locales/da/messages.mjs +1 -1
  491. package/dist/packages/select/locales/en/messages.mjs +1 -1
  492. package/dist/packages/select/locales/fi/messages.mjs +1 -1
  493. package/dist/packages/select/locales/nb/messages.mjs +1 -1
  494. package/dist/packages/select/locales/sv/messages.mjs +1 -1
  495. package/dist/packages/select/react.d.ts +5 -5
  496. package/dist/packages/select/react.js +11 -11
  497. package/dist/packages/select/select.a11y.test.d.ts +1 -1
  498. package/dist/packages/select/select.a11y.test.js +100 -89
  499. package/dist/packages/select/select.d.ts +10 -11
  500. package/dist/packages/select/select.hydration.test.d.ts +1 -1
  501. package/dist/packages/select/select.hydration.test.js +16 -16
  502. package/dist/packages/select/select.js +432 -336
  503. package/dist/packages/select/select.js.map +4 -4
  504. package/dist/packages/select/select.react.stories.d.ts +10 -10
  505. package/dist/packages/select/select.react.stories.js +19 -14
  506. package/dist/packages/select/select.react.test.js +6 -6
  507. package/dist/packages/select/select.stories.d.ts +3 -3
  508. package/dist/packages/select/select.stories.js +51 -48
  509. package/dist/packages/select/select.test.d.ts +1 -1
  510. package/dist/packages/select/select.test.js +230 -179
  511. package/dist/packages/select/styles.js +2 -2
  512. package/dist/packages/slider/Slider.d.ts +1 -1
  513. package/dist/packages/slider/Slider.js +4 -4
  514. package/dist/packages/slider/index.d.ts +2 -2
  515. package/dist/packages/slider/index.js +2 -2
  516. package/dist/packages/slider/locales/da/messages.mjs +1 -1
  517. package/dist/packages/slider/locales/en/messages.mjs +1 -1
  518. package/dist/packages/slider/locales/fi/messages.mjs +1 -1
  519. package/dist/packages/slider/locales/nb/messages.mjs +1 -1
  520. package/dist/packages/slider/locales/sv/messages.mjs +1 -1
  521. package/dist/packages/slider/react.d.ts +4 -4
  522. package/dist/packages/slider/react.js +9 -9
  523. package/dist/packages/slider/slider.d.ts +25 -17
  524. package/dist/packages/slider/slider.hydration.test.d.ts +1 -1
  525. package/dist/packages/slider/slider.hydration.test.js +40 -16
  526. package/dist/packages/slider/slider.js +524 -467
  527. package/dist/packages/slider/slider.js.map +4 -4
  528. package/dist/packages/slider/slider.react.stories.d.ts +4 -4
  529. package/dist/packages/slider/slider.react.stories.js +29 -32
  530. package/dist/packages/slider/slider.react.test.js +6 -6
  531. package/dist/packages/slider/slider.stories.d.ts +9 -7
  532. package/dist/packages/slider/slider.stories.js +369 -340
  533. package/dist/packages/slider/slider.test.d.ts +5 -5
  534. package/dist/packages/slider/slider.test.js +476 -336
  535. package/dist/packages/slider/styles/w-slider.styles.js +166 -148
  536. package/dist/packages/slider/styles.js +2 -2
  537. package/dist/packages/slider-thumb/SliderThumb.d.ts +1 -1
  538. package/dist/packages/slider-thumb/SliderThumb.js +4 -4
  539. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.d.ts +1 -1
  540. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.js +1 -1
  541. package/dist/packages/slider-thumb/react.d.ts +5 -5
  542. package/dist/packages/slider-thumb/react.js +11 -9
  543. package/dist/packages/slider-thumb/slider-thumb.d.ts +17 -17
  544. package/dist/packages/slider-thumb/slider-thumb.hydration.test.d.ts +1 -1
  545. package/dist/packages/slider-thumb/slider-thumb.hydration.test.js +26 -17
  546. package/dist/packages/slider-thumb/slider-thumb.js +550 -553
  547. package/dist/packages/slider-thumb/slider-thumb.js.map +4 -4
  548. package/dist/packages/slider-thumb/slider-thumb.react.test.js +9 -5
  549. package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.js +189 -188
  550. package/dist/packages/slider-thumb/styles.js +2 -0
  551. package/dist/packages/snackbar/locales/da/messages.d.mts +1 -0
  552. package/dist/packages/snackbar/locales/da/messages.mjs +1 -0
  553. package/dist/packages/snackbar/locales/en/messages.d.mts +1 -0
  554. package/dist/packages/snackbar/locales/en/messages.mjs +1 -0
  555. package/dist/packages/snackbar/locales/fi/messages.d.mts +1 -0
  556. package/dist/packages/snackbar/locales/fi/messages.mjs +1 -0
  557. package/dist/packages/snackbar/locales/nb/messages.d.mts +1 -0
  558. package/dist/packages/snackbar/locales/nb/messages.mjs +1 -0
  559. package/dist/packages/snackbar/locales/sv/messages.d.mts +1 -0
  560. package/dist/packages/snackbar/locales/sv/messages.mjs +1 -0
  561. package/dist/packages/snackbar/react.d.ts +2 -0
  562. package/dist/packages/snackbar/react.js +11 -0
  563. package/dist/packages/snackbar/snackbar.d.ts +132 -0
  564. package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -0
  565. package/dist/packages/snackbar/snackbar.hydration.test.js +13 -0
  566. package/dist/packages/snackbar/snackbar.js +2665 -0
  567. package/dist/packages/snackbar/snackbar.js.map +7 -0
  568. package/dist/packages/snackbar/snackbar.react.stories.d.ts +12 -0
  569. package/dist/packages/snackbar/snackbar.react.stories.js +160 -0
  570. package/dist/packages/snackbar/snackbar.stories.d.ts +20 -0
  571. package/dist/packages/snackbar/snackbar.stories.js +363 -0
  572. package/dist/packages/snackbar/snackbar.test.d.ts +4 -0
  573. package/dist/packages/snackbar/snackbar.test.js +17 -0
  574. package/dist/packages/snackbar/styles.d.ts +1 -0
  575. package/dist/packages/snackbar/styles.js +35 -0
  576. package/dist/packages/snackbar-item/react.d.ts +5 -0
  577. package/dist/packages/snackbar-item/react.js +16 -0
  578. package/dist/packages/snackbar-item/snackbar-item.d.ts +69 -0
  579. package/dist/packages/snackbar-item/snackbar-item.js +2620 -0
  580. package/dist/packages/snackbar-item/snackbar-item.js.map +7 -0
  581. package/dist/packages/snackbar-item/snackbar-item.react.test.d.ts +1 -0
  582. package/dist/packages/snackbar-item/snackbar-item.react.test.js +5 -0
  583. package/dist/packages/snackbar-item/styles.d.ts +1 -0
  584. package/dist/packages/snackbar-item/styles.js +133 -0
  585. package/dist/packages/step/react.d.ts +1 -1
  586. package/dist/packages/step/react.js +4 -4
  587. package/dist/packages/step/step.d.ts +2 -2
  588. package/dist/packages/step/step.hydration.test.d.ts +1 -1
  589. package/dist/packages/step/step.hydration.test.js +10 -10
  590. package/dist/packages/step/step.js +337 -315
  591. package/dist/packages/step/step.js.map +4 -4
  592. package/dist/packages/step-indicator/index.d.ts +2 -2
  593. package/dist/packages/step-indicator/index.js +2 -2
  594. package/dist/packages/step-indicator/react.d.ts +2 -2
  595. package/dist/packages/step-indicator/react.js +5 -5
  596. package/dist/packages/step-indicator/step-indicator.a11y.test.d.ts +2 -2
  597. package/dist/packages/step-indicator/step-indicator.a11y.test.js +48 -46
  598. package/dist/packages/step-indicator/step-indicator.d.ts +1 -1
  599. package/dist/packages/step-indicator/step-indicator.hydration.test.d.ts +1 -1
  600. package/dist/packages/step-indicator/step-indicator.hydration.test.js +10 -10
  601. package/dist/packages/step-indicator/step-indicator.js +285 -281
  602. package/dist/packages/step-indicator/step-indicator.js.map +3 -3
  603. package/dist/packages/step-indicator/stepindicator.react.stories.d.ts +2 -2
  604. package/dist/packages/step-indicator/stepindicator.react.stories.js +3 -3
  605. package/dist/packages/step-indicator/stepindicator.stories.d.ts +3 -3
  606. package/dist/packages/step-indicator/stepindicator.stories.js +129 -129
  607. package/dist/packages/step-indicator/styles.js +2 -2
  608. package/dist/packages/styles.js +277 -275
  609. package/dist/packages/switch/react.d.ts +1 -1
  610. package/dist/packages/switch/react.js +6 -6
  611. package/dist/packages/switch/styles.js +2 -2
  612. package/dist/packages/switch/switch.a11y.test.d.ts +1 -1
  613. package/dist/packages/switch/switch.a11y.test.js +46 -38
  614. package/dist/packages/switch/switch.d.ts +3 -3
  615. package/dist/packages/switch/switch.hydration.test.d.ts +1 -1
  616. package/dist/packages/switch/switch.hydration.test.js +23 -23
  617. package/dist/packages/switch/switch.js +304 -304
  618. package/dist/packages/switch/switch.js.map +3 -3
  619. package/dist/packages/switch/switch.react.stories.d.ts +2 -2
  620. package/dist/packages/switch/switch.react.stories.js +2 -2
  621. package/dist/packages/switch/switch.stories.d.ts +2 -2
  622. package/dist/packages/switch/switch.stories.js +42 -37
  623. package/dist/packages/switch/switch.test.d.ts +1 -1
  624. package/dist/packages/switch/switch.test.js +30 -35
  625. package/dist/packages/tab/react.d.ts +9 -7
  626. package/dist/packages/tab/react.js +11 -10
  627. package/dist/packages/tab/styles.d.ts +1 -0
  628. package/dist/packages/tab/styles.js +2 -0
  629. package/dist/packages/tab/tab.d.ts +6 -6
  630. package/dist/packages/tab/tab.hydration.test.d.ts +1 -1
  631. package/dist/packages/tab/tab.hydration.test.js +18 -12
  632. package/dist/packages/tab/tab.js +309 -308
  633. package/dist/packages/tab/tab.js.map +4 -4
  634. package/dist/packages/tab/tab.react.test.js +5 -3
  635. package/dist/packages/tab-panel/react.d.ts +3 -2
  636. package/dist/packages/tab-panel/react.js +11 -5
  637. package/dist/packages/tab-panel/tab-panel.d.ts +3 -3
  638. package/dist/packages/tab-panel/tab-panel.hydration.test.d.ts +1 -1
  639. package/dist/packages/tab-panel/tab-panel.hydration.test.js +13 -10
  640. package/dist/packages/tab-panel/tab-panel.js +293 -291
  641. package/dist/packages/tab-panel/tab-panel.js.map +3 -3
  642. package/dist/packages/tabs/index.d.ts +4 -4
  643. package/dist/packages/tabs/index.js +3 -3
  644. package/dist/packages/tabs/react.d.ts +27 -8
  645. package/dist/packages/tabs/react.js +30 -9
  646. package/dist/packages/tabs/styles.js +2 -2
  647. package/dist/packages/tabs/tabs.a11y.test.d.ts +3 -3
  648. package/dist/packages/tabs/tabs.a11y.test.js +188 -169
  649. package/dist/packages/tabs/tabs.d.ts +6 -5
  650. package/dist/packages/tabs/tabs.hydration.test.d.ts +3 -1
  651. package/dist/packages/tabs/tabs.hydration.test.js +22 -8
  652. package/dist/packages/tabs/tabs.js +293 -286
  653. package/dist/packages/tabs/tabs.js.map +3 -3
  654. package/dist/packages/tabs/tabs.react.stories.d.ts +12 -10
  655. package/dist/packages/tabs/tabs.react.stories.js +28 -28
  656. package/dist/packages/tabs/tabs.stories.d.ts +4 -4
  657. package/dist/packages/tabs/tabs.stories.js +101 -95
  658. package/dist/packages/tabs/tabs.test.d.ts +3 -3
  659. package/dist/packages/tabs/tabs.test.js +137 -123
  660. package/dist/packages/textarea/input-styles.d.ts +11 -0
  661. package/dist/packages/textarea/input-styles.js +88 -0
  662. package/dist/packages/textarea/locales/da/messages.mjs +1 -1
  663. package/dist/packages/textarea/locales/en/messages.mjs +1 -1
  664. package/dist/packages/textarea/locales/fi/messages.mjs +1 -1
  665. package/dist/packages/textarea/locales/nb/messages.mjs +1 -1
  666. package/dist/packages/textarea/locales/sv/messages.mjs +1 -1
  667. package/dist/packages/textarea/react.d.ts +11 -11
  668. package/dist/packages/textarea/react.js +17 -17
  669. package/dist/packages/textarea/styles.js +2 -2
  670. package/dist/packages/textarea/textarea.a11y.test.d.ts +1 -1
  671. package/dist/packages/textarea/textarea.a11y.test.js +90 -58
  672. package/dist/packages/textarea/textarea.d.ts +12 -11
  673. package/dist/packages/textarea/textarea.hydration.test.d.ts +1 -1
  674. package/dist/packages/textarea/textarea.hydration.test.js +19 -19
  675. package/dist/packages/textarea/textarea.js +385 -304
  676. package/dist/packages/textarea/textarea.js.map +4 -4
  677. package/dist/packages/textarea/textarea.react.stories.d.ts +21 -21
  678. package/dist/packages/textarea/textarea.react.stories.js +13 -13
  679. package/dist/packages/textarea/textarea.react.test.js +7 -7
  680. package/dist/packages/textarea/textarea.stories.d.ts +3 -3
  681. package/dist/packages/textarea/textarea.stories.js +44 -42
  682. package/dist/packages/textarea/textarea.test.d.ts +1 -1
  683. package/dist/packages/textarea/textarea.test.js +197 -88
  684. package/dist/packages/textfield/input-styles.d.ts +11 -0
  685. package/dist/packages/textfield/input-styles.js +88 -0
  686. package/dist/packages/textfield/locales/da/messages.d.mts +1 -0
  687. package/dist/packages/textfield/locales/da/messages.mjs +1 -0
  688. package/dist/packages/textfield/locales/en/messages.d.mts +1 -0
  689. package/dist/packages/textfield/locales/en/messages.mjs +1 -0
  690. package/dist/packages/textfield/locales/fi/messages.d.mts +1 -0
  691. package/dist/packages/textfield/locales/fi/messages.mjs +1 -0
  692. package/dist/packages/textfield/locales/nb/messages.d.mts +1 -0
  693. package/dist/packages/textfield/locales/nb/messages.mjs +1 -0
  694. package/dist/packages/textfield/locales/sv/messages.d.mts +1 -0
  695. package/dist/packages/textfield/locales/sv/messages.mjs +1 -0
  696. package/dist/packages/textfield/react.d.ts +11 -11
  697. package/dist/packages/textfield/react.js +17 -17
  698. package/dist/packages/textfield/styles/w-textfield.styles.js +60 -58
  699. package/dist/packages/textfield/styles.js +2 -2
  700. package/dist/packages/textfield/textfield.d.ts +36 -26
  701. package/dist/packages/textfield/textfield.hydration.test.d.ts +1 -1
  702. package/dist/packages/textfield/textfield.hydration.test.js +19 -19
  703. package/dist/packages/textfield/textfield.js +468 -373
  704. package/dist/packages/textfield/textfield.js.map +4 -4
  705. package/dist/packages/textfield/textfield.react.stories.d.ts +21 -21
  706. package/dist/packages/textfield/textfield.react.stories.js +31 -31
  707. package/dist/packages/textfield/textfield.react.test.js +7 -7
  708. package/dist/packages/textfield/textfield.stories.d.ts +4 -4
  709. package/dist/packages/textfield/textfield.stories.js +107 -89
  710. package/dist/packages/textfield/textfield.test.d.ts +2 -2
  711. package/dist/packages/textfield/textfield.test.js +174 -71
  712. package/dist/packages/toast/api.d.ts +2 -2
  713. package/dist/packages/toast/api.js +3 -3
  714. package/dist/packages/toast/index.d.ts +5 -5
  715. package/dist/packages/toast/index.js +5 -5
  716. package/dist/packages/toast/styles.js +2 -2
  717. package/dist/packages/toast/toast.d.ts +5 -5
  718. package/dist/packages/toast/toast.js +349 -320
  719. package/dist/packages/toast/toast.js.map +4 -4
  720. package/dist/packages/toast/toast.stories.d.ts +5 -9
  721. package/dist/packages/toast/toast.stories.js +37 -33
  722. package/dist/packages/toast/toast.test.d.ts +1 -1
  723. package/dist/packages/toast/toast.test.js +48 -31
  724. package/dist/packages/toast/types.d.ts +1 -1
  725. package/dist/packages/toast-container/styles.d.ts +1 -0
  726. package/dist/packages/toast-container/styles.js +2 -0
  727. package/dist/packages/toast-container/toast-container.d.ts +2 -2
  728. package/dist/packages/toast-container/toast-container.js +295 -294
  729. package/dist/packages/toast-container/toast-container.js.map +4 -4
  730. package/dist/packages/utils/element-collapse.d.ts +12 -0
  731. package/dist/packages/utils/element-collapse.js +102 -0
  732. package/dist/packages/utils/expand-transition.d.ts +1 -1
  733. package/dist/packages/utils/expand-transition.js +12 -10
  734. package/dist/packages/utils/unstyled-heading.d.ts +1 -1
  735. package/dist/packages/utils/unstyled-heading.js +4 -4
  736. package/dist/packages/utils/window-exists.js +1 -1
  737. package/dist/packages/utils.js +2 -2
  738. package/dist/setup-tests.d.ts +3 -3
  739. package/dist/setup-tests.js +16 -13
  740. package/dist/tests/react-hydration.js +29 -30
  741. package/dist/tests/react-ssr-attributes.d.ts +1 -1
  742. package/dist/tests/react-ssr-attributes.js +4 -4
  743. package/dist/web-types.json +577 -301
  744. package/eik/index.js +96 -0
  745. package/package.json +35 -29
  746. package/dist/docs/modal-footer/accessibility.md +0 -1
  747. package/dist/docs/modal-footer/examples.md +0 -1
  748. package/dist/docs/modal-footer/usage.md +0 -1
  749. package/dist/docs/modal-header/accessibility.md +0 -1
  750. package/dist/docs/modal-header/examples.md +0 -1
  751. package/dist/docs/modal-header/usage.md +0 -1
  752. package/dist/docs/radio/accessibility.md +0 -1
  753. package/dist/docs/radio/examples.md +0 -1
  754. package/dist/docs/radio/usage.md +0 -1
  755. package/dist/packages/button/styles/w-button.styles.d.ts +0 -1
  756. package/dist/packages/button/styles/w-button.styles.js +0 -282
  757. package/dist/packages/link/styles/w-link.styles.js +0 -213
  758. /package/dist/packages/{link/styles/w-link.styles.d.ts → slider-thumb/styles.d.ts} +0 -0
@@ -1,229 +1,248 @@
1
- import { userEvent } from 'vitest/browser';
2
- import { html } from 'lit';
3
- import { describe, expect, test } from 'vitest';
4
- import { render } from 'vitest-browser-lit';
5
- import '../tab/tab.js';
6
- import '../tab-panel/tab-panel.js';
7
- import './tabs.js';
8
- describe('w-tabs, w-tab-panel, w-tab accessibility (WCAG 2.2)', () => {
9
- describe('axe-core automated checks', () => {
10
- test('default state has no violations', async () => {
1
+ import { userEvent } from "vitest/browser";
2
+ import { html } from "lit";
3
+ import { describe, expect, test } from "vitest";
4
+ import { render } from "vitest-browser-lit";
5
+ import "../tab/tab.js";
6
+ import "../tab-panel/tab-panel.js";
7
+ import "./tabs.js";
8
+ describe("w-tabs, w-tab-panel, w-tab accessibility (WCAG 2.2)", () => {
9
+ describe("axe-core automated checks", () => {
10
+ test("default state has no violations", async () => {
11
11
  const page = render(html `<w-tabs>
12
- <w-tab for="fellowship">Fellowship</w-tab>
13
- <w-tab-panel id="fellowship">
14
- <p>And my axe!</p>
15
- </w-tab-panel>
12
+ <w-tab for="fellowship">Fellowship</w-tab>
13
+ <w-tab-panel id="fellowship">
14
+ <p>And my axe!</p>
15
+ </w-tab-panel>
16
16
 
17
- <w-tab for="towers">Towers</w-tab>
18
- <w-tab-panel id="towers">
19
- <p>
20
- I am on nobody's side, because nobody is on my side, little orc.
21
- </p>
22
- </w-tab-panel>
17
+ <w-tab for="towers">Towers</w-tab>
18
+ <w-tab-panel id="towers">
19
+ <p>
20
+ I am on nobody's side, because nobody is on my side, little orc.
21
+ </p>
22
+ </w-tab-panel>
23
23
 
24
- <w-tab for="return">Return</w-tab>
25
- <w-tab-panel id="return">
26
- <p>I am no man.</p>
27
- </w-tab-panel>
28
- </w-tabs>`);
24
+ <w-tab for="return">Return</w-tab>
25
+ <w-tab-panel id="return">
26
+ <p>I am no man.</p>
27
+ </w-tab-panel>
28
+ </w-tabs>`);
29
29
  await expect(page).toHaveNoAxeViolations();
30
30
  });
31
- test('active tab state has no violations', async () => {
31
+ test("active tab state has no violations", async () => {
32
32
  const page = render(html `<w-tabs active="towers">
33
- <w-tab for="fellowship">Fellowship</w-tab>
34
- <w-tab-panel id="fellowship">
35
- <p>And my axe!</p>
36
- </w-tab-panel>
33
+ <w-tab for="fellowship">Fellowship</w-tab>
34
+ <w-tab-panel id="fellowship">
35
+ <p>And my axe!</p>
36
+ </w-tab-panel>
37
37
 
38
- <w-tab for="towers">Towers</w-tab>
39
- <w-tab-panel id="towers">
40
- <p>
41
- I am on nobody's side, because nobody is on my side, little orc.
42
- </p>
43
- </w-tab-panel>
38
+ <w-tab for="towers">Towers</w-tab>
39
+ <w-tab-panel id="towers">
40
+ <p>
41
+ I am on nobody's side, because nobody is on my side, little orc.
42
+ </p>
43
+ </w-tab-panel>
44
44
 
45
- <w-tab for="return">Return</w-tab>
46
- <w-tab-panel id="return">
47
- <p>I am no man.</p>
48
- </w-tab-panel>
49
- </w-tabs>`);
45
+ <w-tab for="return">Return</w-tab>
46
+ <w-tab-panel id="return">
47
+ <p>I am no man.</p>
48
+ </w-tab-panel>
49
+ </w-tabs>`);
50
50
  await expect(page).toHaveNoAxeViolations();
51
51
  });
52
52
  });
53
- describe('WCAG 1.3.1 - Info and Relationships', () => {
54
- test('w-tab has role tab, w-tab-panel has role tabpanel', async () => {
53
+ describe("WCAG 1.3.1 - Info and Relationships", () => {
54
+ test("w-tab has role tab, w-tab-panel has role tabpanel", async () => {
55
55
  const page = render(html `<w-tabs active="towers">
56
- <w-tab for="fellowship">Fellowship</w-tab>
57
- <w-tab-panel id="fellowship">
58
- <p>And my axe!</p>
59
- </w-tab-panel>
56
+ <w-tab for="fellowship">Fellowship</w-tab>
57
+ <w-tab-panel id="fellowship">
58
+ <p>And my axe!</p>
59
+ </w-tab-panel>
60
60
 
61
- <w-tab for="towers">Towers</w-tab>
62
- <w-tab-panel id="towers">
63
- <p>
64
- I am on nobody's side, because nobody is on my side, little orc.
65
- </p>
66
- </w-tab-panel>
61
+ <w-tab for="towers">Towers</w-tab>
62
+ <w-tab-panel id="towers">
63
+ <p>
64
+ I am on nobody's side, because nobody is on my side, little orc.
65
+ </p>
66
+ </w-tab-panel>
67
67
 
68
- <w-tab for="return">Return</w-tab>
69
- <w-tab-panel id="return">
70
- <p>I am no man.</p>
71
- </w-tab-panel>
72
- </w-tabs>`);
73
- await page.container.querySelector('w-tabs').updateComplete;
68
+ <w-tab for="return">Return</w-tab>
69
+ <w-tab-panel id="return">
70
+ <p>I am no man.</p>
71
+ </w-tab-panel>
72
+ </w-tabs>`);
73
+ await page.container.querySelector("w-tabs").updateComplete;
74
74
  // ElementInternals roles are set in accessibility tree but not queryable via getByRole
75
75
  // Query by element tag name instead
76
- expect(page.container.querySelectorAll('w-tab')).toHaveLength(3);
77
- expect(page.container.querySelectorAll('w-tab-panel')).toHaveLength(3);
76
+ expect(page.container.querySelectorAll("w-tab")).toHaveLength(3);
77
+ expect(page.container.querySelectorAll("w-tab-panel")).toHaveLength(3);
78
78
  });
79
- test('w-tab and w-tab-panel has a defined relationship through aria-controls, aria-labelledby', async () => {
79
+ test("w-tab and w-tab-panel has a defined relationship through aria-controls, aria-labelledby", async () => {
80
80
  const page = render(html `<w-tabs active="fellowship">
81
- <w-tab for="fellowship">Fellowship</w-tab>
82
- <w-tab-panel id="fellowship">
83
- <p>And my axe!</p>
84
- </w-tab-panel>
81
+ <w-tab for="fellowship">Fellowship</w-tab>
82
+ <w-tab-panel id="fellowship">
83
+ <p>And my axe!</p>
84
+ </w-tab-panel>
85
85
 
86
- <w-tab for="towers">Towers</w-tab>
87
- <w-tab-panel id="towers">
88
- <p>
89
- I am on nobody's side, because nobody is on my side, little orc.
90
- </p>
91
- </w-tab-panel>
86
+ <w-tab for="towers">Towers</w-tab>
87
+ <w-tab-panel id="towers">
88
+ <p>
89
+ I am on nobody's side, because nobody is on my side, little orc.
90
+ </p>
91
+ </w-tab-panel>
92
92
 
93
- <w-tab for="return">Return</w-tab>
94
- <w-tab-panel id="return">
95
- <p>I am no man.</p>
96
- </w-tab-panel>
97
- </w-tabs>`);
98
- await page.container.querySelector('w-tabs').updateComplete;
93
+ <w-tab for="return">Return</w-tab>
94
+ <w-tab-panel id="return">
95
+ <p>I am no man.</p>
96
+ </w-tab-panel>
97
+ </w-tabs>`);
98
+ await page.container.querySelector("w-tabs").updateComplete;
99
99
  // Check aria-controls is set correctly on tabs (on internal button with delegatesFocus)
100
- const firstTab = page.container.querySelector('w-tab');
101
- const internalButton = firstTab.shadowRoot?.querySelector('button');
102
- expect(internalButton?.getAttribute('aria-controls')).toBe('fellowship');
103
- expect(firstTab.textContent?.trim()).toBe('Fellowship');
100
+ const firstTab = page.container.querySelector("w-tab");
101
+ const internalButton = firstTab.shadowRoot?.querySelector("button");
102
+ expect(internalButton?.getAttribute("aria-controls")).toBe("fellowship");
103
+ expect(firstTab.textContent?.trim()).toBe("Fellowship");
104
104
  });
105
- test('consumer-provided aria-controls is preserved and used', async () => {
105
+ test("consumer-provided aria-controls is preserved and used", async () => {
106
106
  const page = render(html `<w-tabs active="fellowship">
107
- <w-tab for="fellowship" aria-controls="fellowship-panel">Fellowship</w-tab>
108
- <w-tab-panel id="fellowship-panel">
109
- <p>And my axe!</p>
110
- </w-tab-panel>
111
- </w-tabs>`);
112
- await page.container.querySelector('w-tabs').updateComplete;
113
- const firstTab = page.container.querySelector('w-tab');
114
- const internalButton = firstTab.shadowRoot?.querySelector('button');
115
- expect(firstTab.getAttribute('aria-controls')).toBe('fellowship-panel');
116
- expect(internalButton?.getAttribute('aria-controls')).toBe('fellowship-panel');
107
+ <w-tab for="fellowship" aria-controls="fellowship-panel"
108
+ >Fellowship</w-tab
109
+ >
110
+ <w-tab-panel id="fellowship-panel">
111
+ <p>And my axe!</p>
112
+ </w-tab-panel>
113
+ </w-tabs>`);
114
+ await page.container.querySelector("w-tabs").updateComplete;
115
+ const firstTab = page.container.querySelector("w-tab");
116
+ const internalButton = firstTab.shadowRoot?.querySelector("button");
117
+ expect(firstTab.getAttribute("aria-controls")).toBe("fellowship-panel");
118
+ expect(internalButton?.getAttribute("aria-controls")).toBe("fellowship-panel");
117
119
  });
118
120
  });
119
- describe('WCAG 4.1.2 - Name, Role, Value', () => {
120
- test('active tab is marked as selected', async () => {
121
+ describe("WCAG 4.1.2 - Name, Role, Value", () => {
122
+ test("active tab is marked as selected", async () => {
121
123
  const page = render(html `<w-tabs active="towers">
122
- <w-tab for="fellowship">Fellowship</w-tab>
123
- <w-tab-panel id="fellowship">
124
- <p>And my axe!</p>
125
- </w-tab-panel>
124
+ <w-tab for="fellowship">Fellowship</w-tab>
125
+ <w-tab-panel id="fellowship">
126
+ <p>And my axe!</p>
127
+ </w-tab-panel>
126
128
 
127
- <w-tab for="towers">Towers</w-tab>
128
- <w-tab-panel id="towers">
129
- <p>
130
- I am on nobody's side, because nobody is on my side, little orc.
131
- </p>
132
- </w-tab-panel>
129
+ <w-tab for="towers">Towers</w-tab>
130
+ <w-tab-panel id="towers">
131
+ <p>
132
+ I am on nobody's side, because nobody is on my side, little orc.
133
+ </p>
134
+ </w-tab-panel>
133
135
 
134
- <w-tab for="return">Return</w-tab>
135
- <w-tab-panel id="return">
136
- <p>I am no man.</p>
137
- </w-tab-panel>
138
- </w-tabs>`);
139
- await page.container.querySelector('w-tabs').updateComplete;
136
+ <w-tab for="return">Return</w-tab>
137
+ <w-tab-panel id="return">
138
+ <p>I am no man.</p>
139
+ </w-tab-panel>
140
+ </w-tabs>`);
141
+ await page.container.querySelector("w-tabs").updateComplete;
140
142
  // Query by property since aria-selected is set via ElementInternals (no DOM attribute)
141
- const selectedTab = [...page.container.querySelectorAll('w-tab')].find((tab) => tab.ariaSelected === 'true');
142
- await expect.element(selectedTab).toHaveTextContent("Towers");
143
+ const selectedTab = [
144
+ ...page.container.querySelectorAll("w-tab"),
145
+ ].find((tab) => tab.ariaSelected === "true");
146
+ await expect
147
+ .element(selectedTab)
148
+ .toHaveTextContent("Towers");
143
149
  });
144
150
  });
145
- describe('WCAG 2.1.1 - Keyboard', () => {
146
- test('active tab is focusable, can use the arrow keys to change tabs', async () => {
151
+ describe("WCAG 2.1.1 - Keyboard", () => {
152
+ test("active tab is focusable, can use the arrow keys to change tabs", async () => {
147
153
  const page = render(html `<w-tabs active="towers">
148
- <w-tab for="fellowship">Fellowship</w-tab>
149
- <w-tab-panel id="fellowship">
150
- <p>And my axe!</p>
151
- </w-tab-panel>
154
+ <w-tab for="fellowship">Fellowship</w-tab>
155
+ <w-tab-panel id="fellowship">
156
+ <p>And my axe!</p>
157
+ </w-tab-panel>
152
158
 
153
- <w-tab for="towers">Towers</w-tab>
154
- <w-tab-panel id="towers">
155
- <p>
156
- I am on nobody's side, because nobody is on my side, little orc.
157
- </p>
158
- </w-tab-panel>
159
+ <w-tab for="towers">Towers</w-tab>
160
+ <w-tab-panel id="towers">
161
+ <p>
162
+ I am on nobody's side, because nobody is on my side, little orc.
163
+ </p>
164
+ </w-tab-panel>
159
165
 
160
- <w-tab for="return">Return</w-tab>
161
- <w-tab-panel id="return">
162
- <p>I am no man.</p>
163
- </w-tab-panel>
164
- </w-tabs>`);
165
- await page.container.querySelector('w-tabs').updateComplete;
166
+ <w-tab for="return">Return</w-tab>
167
+ <w-tab-panel id="return">
168
+ <p>I am no man.</p>
169
+ </w-tab-panel>
170
+ </w-tabs>`);
171
+ await page.container.querySelector("w-tabs").updateComplete;
166
172
  // Query by property since aria-selected is set via ElementInternals (no DOM attribute)
167
- const selectedTab = [...page.container.querySelectorAll('w-tab')].find((tab) => tab.ariaSelected === 'true');
173
+ const selectedTab = [
174
+ ...page.container.querySelectorAll("w-tab"),
175
+ ].find((tab) => tab.ariaSelected === "true");
168
176
  selectedTab.focus();
169
- await userEvent.keyboard('{ArrowLeft}');
170
- await expect.element(page.getByText('And my axe!')).toBeVisible();
171
- await expect.element(page.getByText('I am no man')).not.toBeVisible();
172
- await expect.element(page.getByText("I am on nobody's side")).not.toBeVisible();
177
+ await userEvent.keyboard("{ArrowLeft}");
178
+ await expect.element(page.getByText("And my axe!")).toBeVisible();
179
+ await expect.element(page.getByText("I am no man")).not.toBeVisible();
180
+ await expect
181
+ .element(page.getByText("I am on nobody's side"))
182
+ .not.toBeVisible();
173
183
  });
174
- test('inactive tabs have tabindex -1', async () => {
184
+ test("inactive tabs have tabindex -1", async () => {
175
185
  const page = render(html `<w-tabs active="towers">
176
- <w-tab for="fellowship">Fellowship</w-tab>
177
- <w-tab-panel id="fellowship">
178
- <p>And my axe!</p>
179
- </w-tab-panel>
186
+ <w-tab for="fellowship">Fellowship</w-tab>
187
+ <w-tab-panel id="fellowship">
188
+ <p>And my axe!</p>
189
+ </w-tab-panel>
180
190
 
181
- <w-tab for="towers">Towers</w-tab>
182
- <w-tab-panel id="towers">
183
- <p>
184
- I am on nobody's side, because nobody is on my side, little orc.
185
- </p>
186
- </w-tab-panel>
191
+ <w-tab for="towers">Towers</w-tab>
192
+ <w-tab-panel id="towers">
193
+ <p>
194
+ I am on nobody's side, because nobody is on my side, little orc.
195
+ </p>
196
+ </w-tab-panel>
187
197
 
188
- <w-tab for="return">Return</w-tab>
189
- <w-tab-panel id="return">
190
- <p>I am no man.</p>
191
- </w-tab-panel>
192
- </w-tabs>`);
193
- await page.container.querySelector('w-tabs').updateComplete;
198
+ <w-tab for="return">Return</w-tab>
199
+ <w-tab-panel id="return">
200
+ <p>I am no man.</p>
201
+ </w-tab-panel>
202
+ </w-tabs>`);
203
+ await page.container.querySelector("w-tabs").updateComplete;
194
204
  // Query by property since aria-selected is set via ElementInternals (no DOM attribute)
195
- const inactiveTabs = [...page.container.querySelectorAll('w-tab')].filter((tab) => tab.ariaSelected === 'false');
205
+ const inactiveTabs = [
206
+ ...page.container.querySelectorAll("w-tab"),
207
+ ].filter((tab) => tab.ariaSelected === "false");
196
208
  expect(inactiveTabs).toHaveLength(2);
197
209
  // Check tabIndex property (not attribute) since delegatesFocus is used
198
210
  for (const tab of inactiveTabs) {
199
211
  expect(tab.tabIndex).toBe(-1);
200
212
  }
201
213
  });
202
- test('active tab shows visible focus indicator on keyboard focus', async () => {
214
+ test("active tab shows visible focus indicator on keyboard focus", async () => {
203
215
  const page = render(html `<button type="button">Before</button>
204
- <w-tabs active="towers">
205
- <w-tab for="fellowship">Fellowship</w-tab>
206
- <w-tab-panel id="fellowship"><p>And my axe!</p></w-tab-panel>
216
+ <w-tabs active="towers">
217
+ <w-tab for="fellowship">Fellowship</w-tab>
218
+ <w-tab-panel id="fellowship"><p>And my axe!</p></w-tab-panel>
207
219
 
208
- <w-tab for="towers">Towers</w-tab>
209
- <w-tab-panel id="towers"><p>I am on nobody's side.</p></w-tab-panel>
210
- </w-tabs>`);
211
- await page.container.querySelector('w-tabs').updateComplete;
212
- const beforeButton = page.getByRole('button', { name: 'Before' }).element();
220
+ <w-tab for="towers">Towers</w-tab>
221
+ <w-tab-panel id="towers"><p>I am on nobody's side.</p></w-tab-panel>
222
+ </w-tabs>`);
223
+ await page.container.querySelector("w-tabs").updateComplete;
224
+ const beforeButton = page
225
+ .getByRole("button", { name: "Before" })
226
+ .element();
213
227
  beforeButton.focus();
214
- await expect.element(page.getByRole('button', { name: 'Before' })).toHaveFocus();
228
+ await expect
229
+ .element(page.getByRole("button", { name: "Before" }))
230
+ .toHaveFocus();
215
231
  await userEvent.tab();
216
- const selectedTab = [...page.container.querySelectorAll('w-tab')].find((tab) => tab.ariaSelected === 'true');
217
- const internalButton = selectedTab.shadowRoot?.querySelector('button');
232
+ const selectedTab = [
233
+ ...page.container.querySelectorAll("w-tab"),
234
+ ].find((tab) => tab.ariaSelected === "true");
235
+ const internalButton = selectedTab.shadowRoot?.querySelector("button");
218
236
  if (!internalButton) {
219
- throw new Error('Expected selected tab to have an internal button');
237
+ throw new Error("Expected selected tab to have an internal button");
220
238
  }
221
239
  const activeEl = document.activeElement;
222
240
  expect(activeEl === selectedTab || activeEl === internalButton).toBe(true);
223
241
  const hostStyle = getComputedStyle(selectedTab);
224
242
  const buttonStyle = getComputedStyle(internalButton);
225
- const hostHasRing = hostStyle.outlineStyle === 'solid' && hostStyle.outlineWidth !== '0px';
226
- const buttonHasRing = buttonStyle.outlineStyle === 'solid' && buttonStyle.outlineWidth !== '0px';
243
+ const hostHasRing = hostStyle.outlineStyle === "solid" && hostStyle.outlineWidth !== "0px";
244
+ const buttonHasRing = buttonStyle.outlineStyle === "solid" &&
245
+ buttonStyle.outlineWidth !== "0px";
227
246
  expect(hostHasRing || buttonHasRing).toBe(true);
228
247
  });
229
248
  });
@@ -1,4 +1,5 @@
1
- import { LitElement, PropertyValues } from 'lit';
1
+ import { LitElement, PropertyValues } from "lit";
2
+ import { WarpTab } from "../tab/tab.js";
2
3
  export type WarpTabsChangeEvent = CustomEvent<{
3
4
  panelId: string;
4
5
  }>;
@@ -14,7 +15,7 @@ export declare class WarpTabs extends LitElement {
14
15
  *
15
16
  * @default "" (Shows the first tab)
16
17
  */
17
- active: string;
18
+ active: string | undefined;
18
19
  private tabList;
19
20
  private selectionIndicator;
20
21
  private _uniqueId;
@@ -28,9 +29,9 @@ export declare class WarpTabs extends LitElement {
28
29
  firstUpdated(): void;
29
30
  updated(changedProperties: PropertyValues<this>): void;
30
31
  /** @internal */
31
- get tabs(): Element[];
32
+ get tabs(): WarpTab[];
32
33
  /** @internal */
33
- get activeTab(): Element;
34
+ get activeTab(): WarpTab;
34
35
  private _initializeActiveTab;
35
36
  private _handleTabClick;
36
37
  private _notifyTabChange;
@@ -43,6 +44,6 @@ export declare class WarpTabs extends LitElement {
43
44
  }
44
45
  declare global {
45
46
  interface HTMLElementTagNameMap {
46
- 'w-tabs': WarpTabs;
47
+ "w-tabs": WarpTabs;
47
48
  }
48
49
  }
@@ -1 +1,3 @@
1
- import './index.js';
1
+ import "../tab/tab.js";
2
+ import "../tab-panel/tab-panel.js";
3
+ import "./index.js";
@@ -1,7 +1,9 @@
1
- import { describe, expect, test, beforeEach, afterEach } from 'vitest';
2
- import { setupHydrationWarningCapture, testHydration } from '../../tests/react-hydration';
3
- import './index.js';
4
- describe('w-tabs React SSR hydration', () => {
1
+ import { afterEach, beforeEach, describe, expect, test } from "vitest";
2
+ import { setupHydrationWarningCapture, testHydration, testHydrationWithChildren, } from "../../tests/react-hydration";
3
+ import "../tab/tab.js";
4
+ import "../tab-panel/tab-panel.js";
5
+ import "./index.js";
6
+ describe("w-tabs React SSR hydration", () => {
5
7
  beforeEach(() => setupHydrationWarningCapture());
6
8
  afterEach(() => {
7
9
  window.__HYDRATION_WARNINGS__ = [];
@@ -9,12 +11,24 @@ describe('w-tabs React SSR hydration', () => {
9
11
  // Note: w-tabs requires w-tab and w-tab-panel children to function properly.
10
12
  // Testing the parent element alone to verify its own attributes don't cause mismatch.
11
13
  // Full parent/child hydration requires React component wrappers or framework integration.
12
- test('default (no attributes) hydrates without warnings', async () => {
13
- const warnings = await testHydration('w-tabs', {});
14
+ test("default (no attributes) hydrates without warnings", async () => {
15
+ const warnings = await testHydration("w-tabs", {});
14
16
  expect(warnings).toEqual([]);
15
17
  });
16
- test('with active prop hydrates without warnings', async () => {
17
- const warnings = await testHydration('w-tabs', { active: 'panel1' });
18
+ test("with active prop hydrates without warnings", async () => {
19
+ const warnings = await testHydration("w-tabs", { active: "panel1" });
20
+ expect(warnings).toEqual([]);
21
+ });
22
+ test("with w-tab and w-tab-panel hydrates without warnings as long as you provide slot, ID and active tab ahead of time", async () => {
23
+ const childrenHtml = /* html */ `<w-tab id="t1" slot="tabs" for="tab1"><span>First</span></w-tab><w-tab id="t2" slot="tabs" for="tab2"><span>Second</span></w-tab><w-tab id="t3" slot="tabs" for="tab3"><span>Third</span></w-tab><w-tab-panel id="tab1" slot="panels"><p>Content the first</p></w-tab-panel><w-tab-panel id="tab2" slot="panels"><p>Content the second</p></w-tab-panel><w-tab-panel id="tab3" slot="panels"><p>Content the third</p></w-tab-panel>`;
24
+ const warnings = await testHydrationWithChildren("w-tabs", {
25
+ active: "tab1",
26
+ }, childrenHtml);
27
+ expect(warnings).toEqual([]);
28
+ });
29
+ test.fails("with w-tab and w-tab-panel hydrates with warnings if you omit the client-side added attributes", async () => {
30
+ const childrenHtml = /* html */ `<w-tab for="tab1"><span>First</span></w-tab><w-tab for="tab2"><span>Second</span></w-tab><w-tab for="tab3"><span>Third</span></w-tab><w-tab-panel id="tab1"><p>Content the first</p></w-tab-panel><w-tab-panel id="tab2"><p>Content the second</p></w-tab-panel><w-tab-panel id="tab3"><p>Content the third</p></w-tab-panel>`;
31
+ const warnings = await testHydrationWithChildren("w-tabs", {}, childrenHtml);
18
32
  expect(warnings).toEqual([]);
19
33
  });
20
34
  });