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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (594) hide show
  1. package/dist/.storybook/utilities.js +4 -4
  2. package/dist/api.js.map +2 -2
  3. package/dist/custom-elements.json +68 -56
  4. package/dist/docs/affix/affix.md +2 -2
  5. package/dist/docs/affix/api.md +2 -2
  6. package/dist/docs/alert/alert.md +4 -4
  7. package/dist/docs/alert/api.md +4 -4
  8. package/dist/docs/attention/api.md +2 -2
  9. package/dist/docs/attention/attention.md +2 -2
  10. package/dist/docs/badge/api.md +50 -4
  11. package/dist/docs/badge/badge.md +50 -4
  12. package/dist/docs/box/api.md +2 -2
  13. package/dist/docs/box/box.md +2 -2
  14. package/dist/docs/checkbox/api.md +2 -2
  15. package/dist/docs/checkbox/checkbox.md +176 -2
  16. package/dist/docs/checkbox/styling.md +173 -0
  17. package/dist/docs/checkbox-group/checkbox-group.md +43 -30
  18. package/dist/docs/checkbox-group/styling.md +31 -29
  19. package/dist/docs/combobox/api.md +12 -12
  20. package/dist/docs/combobox/combobox.md +12 -12
  21. package/dist/docs/datepicker/api.md +6 -6
  22. package/dist/docs/datepicker/datepicker.md +6 -6
  23. package/dist/docs/icon/api.md +3 -3
  24. package/dist/docs/icon/icon.md +3 -3
  25. package/dist/docs/index.md +1 -1
  26. package/dist/docs/radio-group/api.md +4 -4
  27. package/dist/docs/radio-group/radio-group.md +183 -68
  28. package/dist/docs/radio-group/styling.md +179 -64
  29. package/dist/docs/snackbar/api.md +1 -1
  30. package/dist/docs/snackbar/snackbar.md +1 -1
  31. package/dist/docs/snackbar-item/api.md +2 -2
  32. package/dist/docs/snackbar-item/snackbar-item.md +2 -2
  33. package/dist/index.d.ts +24 -2
  34. package/dist/packages/affix/affix.d.ts +4 -4
  35. package/dist/packages/affix/affix.hydration.test.d.ts +1 -1
  36. package/dist/packages/affix/affix.hydration.test.js +15 -15
  37. package/dist/packages/affix/affix.js +345 -315
  38. package/dist/packages/affix/affix.js.map +2 -2
  39. package/dist/packages/affix/affix.react.stories.d.ts +2 -2
  40. package/dist/packages/affix/affix.react.stories.js +3 -3
  41. package/dist/packages/affix/affix.react.test.js +5 -3
  42. package/dist/packages/affix/affix.stories.d.ts +3 -3
  43. package/dist/packages/affix/affix.stories.js +10 -10
  44. package/dist/packages/affix/affix.test.d.ts +1 -1
  45. package/dist/packages/affix/affix.test.js +10 -10
  46. package/dist/packages/affix/react.d.ts +2 -2
  47. package/dist/packages/affix/react.js +6 -6
  48. package/dist/packages/affix/styles.js +1 -1
  49. package/dist/packages/alert/alert.d.ts +3 -3
  50. package/dist/packages/alert/alert.hydration.test.d.ts +1 -1
  51. package/dist/packages/alert/alert.hydration.test.js +21 -21
  52. package/dist/packages/alert/alert.js +344 -319
  53. package/dist/packages/alert/alert.js.map +2 -2
  54. package/dist/packages/alert/alert.react.stories.d.ts +2 -2
  55. package/dist/packages/alert/alert.react.stories.js +13 -13
  56. package/dist/packages/alert/alert.stories.d.ts +4 -4
  57. package/dist/packages/alert/alert.stories.js +29 -27
  58. package/dist/packages/alert/alert.test.d.ts +1 -1
  59. package/dist/packages/alert/alert.test.js +34 -21
  60. package/dist/packages/alert/react.d.ts +1 -1
  61. package/dist/packages/alert/react.js +4 -4
  62. package/dist/packages/alert/styles.js +1 -1
  63. package/dist/packages/attention/attention.d.ts +7 -7
  64. package/dist/packages/attention/attention.hydration.test.d.ts +1 -1
  65. package/dist/packages/attention/attention.hydration.test.js +29 -29
  66. package/dist/packages/attention/attention.js +1725 -1683
  67. package/dist/packages/attention/attention.js.map +2 -2
  68. package/dist/packages/attention/attention.react.stories.d.ts +3 -3
  69. package/dist/packages/attention/attention.react.stories.js +13 -13
  70. package/dist/packages/attention/attention.react.test.js +11 -7
  71. package/dist/packages/attention/attention.stories.d.ts +4 -4
  72. package/dist/packages/attention/attention.stories.js +126 -117
  73. package/dist/packages/attention/attention.test.d.ts +1 -1
  74. package/dist/packages/attention/attention.test.js +18 -10
  75. package/dist/packages/attention/layout-styles.js +900 -900
  76. package/dist/packages/attention/react.d.ts +4 -4
  77. package/dist/packages/attention/react.js +13 -11
  78. package/dist/packages/attention/styles.js +1 -1
  79. package/dist/packages/badge/badge.d.ts +3 -3
  80. package/dist/packages/badge/badge.hydration.test.d.ts +1 -1
  81. package/dist/packages/badge/badge.hydration.test.js +25 -25
  82. package/dist/packages/badge/badge.js +276 -276
  83. package/dist/packages/badge/badge.js.map +2 -2
  84. package/dist/packages/badge/badge.react.stories.d.ts +3 -3
  85. package/dist/packages/badge/badge.react.stories.js +17 -17
  86. package/dist/packages/badge/badge.stories.d.ts +3 -3
  87. package/dist/packages/badge/badge.stories.js +22 -20
  88. package/dist/packages/badge/badge.test.d.ts +1 -1
  89. package/dist/packages/badge/badge.test.js +13 -11
  90. package/dist/packages/badge/react.d.ts +1 -1
  91. package/dist/packages/badge/react.js +4 -4
  92. package/dist/packages/badge/styles.js +1 -1
  93. package/dist/packages/box/box.d.ts +1 -1
  94. package/dist/packages/box/box.hydration.test.d.ts +1 -1
  95. package/dist/packages/box/box.hydration.test.js +14 -14
  96. package/dist/packages/box/box.js +283 -283
  97. package/dist/packages/box/box.js.map +2 -2
  98. package/dist/packages/box/box.react.stories.d.ts +3 -3
  99. package/dist/packages/box/box.react.stories.js +8 -8
  100. package/dist/packages/box/box.stories.d.ts +3 -3
  101. package/dist/packages/box/box.stories.js +25 -19
  102. package/dist/packages/box/box.test.d.ts +1 -1
  103. package/dist/packages/box/box.test.js +6 -6
  104. package/dist/packages/box/react.d.ts +1 -1
  105. package/dist/packages/box/react.js +4 -4
  106. package/dist/packages/box/slot.test.d.ts +1 -1
  107. package/dist/packages/box/slot.test.js +6 -6
  108. package/dist/packages/box/styles.js +1 -1
  109. package/dist/packages/breadcrumbs/breadcrumbs.d.ts +1 -1
  110. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.d.ts +1 -1
  111. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.js +55 -49
  112. package/dist/packages/breadcrumbs/breadcrumbs.js +284 -278
  113. package/dist/packages/breadcrumbs/breadcrumbs.js.map +2 -2
  114. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.d.ts +3 -3
  115. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.js +6 -6
  116. package/dist/packages/breadcrumbs/breadcrumbs.stories.d.ts +3 -3
  117. package/dist/packages/breadcrumbs/breadcrumbs.stories.js +27 -26
  118. package/dist/packages/breadcrumbs/breadcrumbs.test.d.ts +1 -1
  119. package/dist/packages/breadcrumbs/breadcrumbs.test.js +19 -17
  120. package/dist/packages/breadcrumbs/react.d.ts +1 -1
  121. package/dist/packages/breadcrumbs/react.js +4 -4
  122. package/dist/packages/breadcrumbs/styles.js +1 -1
  123. package/dist/packages/button/button.d.ts +5 -5
  124. package/dist/packages/button/button.hydration.test.d.ts +1 -1
  125. package/dist/packages/button/button.hydration.test.js +19 -19
  126. package/dist/packages/button/button.js +741 -715
  127. package/dist/packages/button/button.js.map +2 -2
  128. package/dist/packages/button/button.react.stories.d.ts +3 -3
  129. package/dist/packages/button/button.react.stories.js +30 -30
  130. package/dist/packages/button/button.react.test.js +13 -13
  131. package/dist/packages/button/button.stories.d.ts +4 -4
  132. package/dist/packages/button/button.stories.js +276 -167
  133. package/dist/packages/button/button.test.d.ts +1 -1
  134. package/dist/packages/button/button.test.js +36 -34
  135. package/dist/packages/button/react.d.ts +2 -2
  136. package/dist/packages/button/react.js +7 -7
  137. package/dist/packages/button/styles.js +373 -347
  138. package/dist/packages/card/card.d.ts +1 -1
  139. package/dist/packages/card/card.hydration.test.d.ts +1 -1
  140. package/dist/packages/card/card.hydration.test.js +14 -14
  141. package/dist/packages/card/card.js +305 -290
  142. package/dist/packages/card/card.js.map +2 -2
  143. package/dist/packages/card/card.react.stories.d.ts +3 -3
  144. package/dist/packages/card/card.react.stories.js +11 -11
  145. package/dist/packages/card/card.stories.d.ts +3 -3
  146. package/dist/packages/card/card.stories.js +36 -24
  147. package/dist/packages/card/card.test.d.ts +1 -1
  148. package/dist/packages/card/card.test.js +6 -6
  149. package/dist/packages/card/react.d.ts +1 -1
  150. package/dist/packages/card/react.js +4 -4
  151. package/dist/packages/card/styles.js +1 -1
  152. package/dist/packages/checkbox/checkbox.a11y.test.d.ts +1 -1
  153. package/dist/packages/checkbox/checkbox.a11y.test.js +47 -33
  154. package/dist/packages/checkbox/checkbox.d.ts +2 -2
  155. package/dist/packages/checkbox/checkbox.hydration.test.d.ts +1 -1
  156. package/dist/packages/checkbox/checkbox.hydration.test.js +21 -21
  157. package/dist/packages/checkbox/checkbox.js +475 -424
  158. package/dist/packages/checkbox/checkbox.js.map +2 -2
  159. package/dist/packages/checkbox/checkbox.react.stories.d.ts +2 -2
  160. package/dist/packages/checkbox/checkbox.react.stories.js +3 -3
  161. package/dist/packages/checkbox/checkbox.stories.d.ts +4 -4
  162. package/dist/packages/checkbox/checkbox.stories.js +99 -91
  163. package/dist/packages/checkbox/checkbox.test.d.ts +1 -1
  164. package/dist/packages/checkbox/checkbox.test.js +64 -64
  165. package/dist/packages/checkbox/react.d.ts +1 -1
  166. package/dist/packages/checkbox/react.js +6 -6
  167. package/dist/packages/checkbox/styles.js +183 -132
  168. package/dist/packages/checkbox-group/checkbox-group.a11y.test.d.ts +2 -2
  169. package/dist/packages/checkbox-group/checkbox-group.a11y.test.js +83 -73
  170. package/dist/packages/checkbox-group/checkbox-group.d.ts +16 -2
  171. package/dist/packages/checkbox-group/checkbox-group.hydration.test.d.ts +2 -2
  172. package/dist/packages/checkbox-group/checkbox-group.hydration.test.js +36 -19
  173. package/dist/packages/checkbox-group/checkbox-group.js +60 -55
  174. package/dist/packages/checkbox-group/checkbox-group.js.map +2 -2
  175. package/dist/packages/checkbox-group/checkbox-group.react.test.js +4 -4
  176. package/dist/packages/checkbox-group/checkbox-group.test.d.ts +2 -2
  177. package/dist/packages/checkbox-group/checkbox-group.test.js +96 -90
  178. package/dist/packages/checkbox-group/react.d.ts +2 -2
  179. package/dist/packages/checkbox-group/react.js +6 -6
  180. package/dist/packages/combobox/combobox.a11y.test.d.ts +2 -2
  181. package/dist/packages/combobox/combobox.a11y.test.js +72 -49
  182. package/dist/packages/combobox/combobox.d.ts +2 -2
  183. package/dist/packages/combobox/combobox.hydration.test.d.ts +1 -1
  184. package/dist/packages/combobox/combobox.hydration.test.js +45 -45
  185. package/dist/packages/combobox/combobox.js +332 -332
  186. package/dist/packages/combobox/combobox.js.map +3 -3
  187. package/dist/packages/combobox/combobox.react.stories.d.ts +3 -3
  188. package/dist/packages/combobox/combobox.react.stories.js +29 -29
  189. package/dist/packages/combobox/combobox.react.test.js +8 -8
  190. package/dist/packages/combobox/combobox.stories.d.ts +4 -4
  191. package/dist/packages/combobox/combobox.stories.js +100 -94
  192. package/dist/packages/combobox/combobox.test.d.ts +2 -2
  193. package/dist/packages/combobox/combobox.test.js +148 -133
  194. package/dist/packages/combobox/react.d.ts +2 -2
  195. package/dist/packages/combobox/react.js +14 -14
  196. package/dist/packages/combobox/styles.js +1 -1
  197. package/dist/packages/datepicker/DatePicker.test.d.ts +2 -2
  198. package/dist/packages/datepicker/DatePicker.test.js +46 -41
  199. package/dist/packages/datepicker/datepicker.d.ts +3 -3
  200. package/dist/packages/datepicker/datepicker.hydration.test.d.ts +1 -1
  201. package/dist/packages/datepicker/datepicker.hydration.test.js +21 -21
  202. package/dist/packages/datepicker/datepicker.js +665 -625
  203. package/dist/packages/datepicker/datepicker.js.map +3 -3
  204. package/dist/packages/datepicker/datepicker.react.stories.d.ts +3 -3
  205. package/dist/packages/datepicker/datepicker.react.stories.js +9 -9
  206. package/dist/packages/datepicker/datepicker.react.test.js +6 -6
  207. package/dist/packages/datepicker/datepicker.stories.d.ts +4 -4
  208. package/dist/packages/datepicker/datepicker.stories.js +32 -32
  209. package/dist/packages/datepicker/datepicker.test.d.ts +2 -2
  210. package/dist/packages/datepicker/datepicker.test.js +77 -79
  211. package/dist/packages/datepicker/react.d.ts +2 -2
  212. package/dist/packages/datepicker/react.js +16 -14
  213. package/dist/packages/datepicker/styles/w-datepicker-calendar.styles.js +13 -12
  214. package/dist/packages/datepicker/styles/w-datepicker-day.styles.js +58 -55
  215. package/dist/packages/datepicker/styles/w-datepicker-month.styles.js +60 -57
  216. package/dist/packages/datepicker/styles/w-datepicker.styles.js +87 -87
  217. package/dist/packages/datepicker/utils.d.ts +1 -1
  218. package/dist/packages/datepicker/utils.js +25 -19
  219. package/dist/packages/datepicker/utils.test.js +20 -20
  220. package/dist/packages/expandable/expandable.d.ts +4 -4
  221. package/dist/packages/expandable/expandable.hydration.test.d.ts +1 -1
  222. package/dist/packages/expandable/expandable.hydration.test.js +21 -21
  223. package/dist/packages/expandable/expandable.js +353 -326
  224. package/dist/packages/expandable/expandable.js.map +2 -2
  225. package/dist/packages/expandable/expandable.react.stories.d.ts +3 -3
  226. package/dist/packages/expandable/expandable.react.stories.js +7 -7
  227. package/dist/packages/expandable/expandable.react.test.js +15 -7
  228. package/dist/packages/expandable/expandable.stories.d.ts +5 -5
  229. package/dist/packages/expandable/expandable.stories.js +51 -45
  230. package/dist/packages/expandable/expandable.test.d.ts +1 -1
  231. package/dist/packages/expandable/expandable.test.js +19 -17
  232. package/dist/packages/expandable/react.d.ts +2 -2
  233. package/dist/packages/expandable/react.js +9 -9
  234. package/dist/packages/expandable/styles.js +1 -1
  235. package/dist/packages/global.js +2 -2
  236. package/dist/packages/i18n.d.ts +1 -1
  237. package/dist/packages/i18n.js +37 -29
  238. package/dist/packages/icon/icon.d.ts +3 -3
  239. package/dist/packages/icon/icon.hydration.test.d.ts +1 -1
  240. package/dist/packages/icon/icon.hydration.test.js +25 -25
  241. package/dist/packages/icon/icon.js +30 -25
  242. package/dist/packages/icon/icon.js.map +2 -2
  243. package/dist/packages/icon/icon.react.stories.d.ts +1 -1
  244. package/dist/packages/icon/icon.react.stories.js +283 -284
  245. package/dist/packages/icon/icon.stories.d.ts +3 -3
  246. package/dist/packages/icon/icon.stories.js +299 -298
  247. package/dist/packages/icon/icon.test.d.ts +1 -1
  248. package/dist/packages/icon/icon.test.js +36 -28
  249. package/dist/packages/icon/react.d.ts +1 -1
  250. package/dist/packages/icon/react.js +4 -4
  251. package/dist/packages/icon/style.js +24 -25
  252. package/dist/packages/interaction-type-detection.js +9 -9
  253. package/dist/packages/link/link.d.ts +2 -2
  254. package/dist/packages/link/link.hydration.test.d.ts +1 -1
  255. package/dist/packages/link/link.hydration.test.js +27 -27
  256. package/dist/packages/link/link.js +709 -683
  257. package/dist/packages/link/link.js.map +2 -2
  258. package/dist/packages/link/link.react.stories.d.ts +3 -3
  259. package/dist/packages/link/link.react.stories.js +42 -42
  260. package/dist/packages/link/link.react.test.js +5 -3
  261. package/dist/packages/link/link.stories.d.ts +3 -3
  262. package/dist/packages/link/link.stories.js +51 -51
  263. package/dist/packages/link/link.test.d.ts +1 -1
  264. package/dist/packages/link/link.test.js +11 -7
  265. package/dist/packages/link/react.d.ts +2 -2
  266. package/dist/packages/link/react.js +6 -6
  267. package/dist/packages/link/styles.js +57 -57
  268. package/dist/packages/modal/index.d.ts +7 -7
  269. package/dist/packages/modal/index.js +7 -7
  270. package/dist/packages/modal/modal.d.ts +1 -1
  271. package/dist/packages/modal/modal.hydration.test.d.ts +1 -1
  272. package/dist/packages/modal/modal.hydration.test.js +12 -12
  273. package/dist/packages/modal/modal.js +404 -404
  274. package/dist/packages/modal/modal.js.map +2 -2
  275. package/dist/packages/modal/modal.react.stories.d.ts +3 -3
  276. package/dist/packages/modal/modal.react.stories.js +7 -6
  277. package/dist/packages/modal/modal.react.test.js +5 -5
  278. package/dist/packages/modal/modal.stories.d.ts +6 -6
  279. package/dist/packages/modal/modal.stories.js +253 -238
  280. package/dist/packages/modal/react.d.ts +4 -4
  281. package/dist/packages/modal/react.js +13 -13
  282. package/dist/packages/modal/util.js +2 -2
  283. package/dist/packages/modal-footer/modal-footer.d.ts +1 -1
  284. package/dist/packages/modal-footer/modal-footer.js +291 -291
  285. package/dist/packages/modal-footer/modal-footer.js.map +2 -2
  286. package/dist/packages/modal-footer/react.d.ts +1 -1
  287. package/dist/packages/modal-footer/react.js +4 -4
  288. package/dist/packages/modal-header/modal-header.d.ts +2 -2
  289. package/dist/packages/modal-header/modal-header.js +437 -416
  290. package/dist/packages/modal-header/modal-header.js.map +2 -2
  291. package/dist/packages/modal-header/modal-header.react.test.js +5 -3
  292. package/dist/packages/modal-header/react.d.ts +2 -2
  293. package/dist/packages/modal-header/react.js +8 -8
  294. package/dist/packages/page-indicator/page-indicator.d.ts +1 -1
  295. package/dist/packages/page-indicator/page-indicator.hydration.test.d.ts +1 -1
  296. package/dist/packages/page-indicator/page-indicator.hydration.test.js +22 -22
  297. package/dist/packages/page-indicator/page-indicator.js +26 -26
  298. package/dist/packages/page-indicator/page-indicator.js.map +2 -2
  299. package/dist/packages/page-indicator/page-indicator.react.stories.d.ts +3 -3
  300. package/dist/packages/page-indicator/page-indicator.react.stories.js +11 -11
  301. package/dist/packages/page-indicator/page-indicator.react.test.js +5 -5
  302. package/dist/packages/page-indicator/page-indicator.stories.d.ts +3 -3
  303. package/dist/packages/page-indicator/page-indicator.stories.js +56 -27
  304. package/dist/packages/page-indicator/page-indicator.test.d.ts +1 -1
  305. package/dist/packages/page-indicator/page-indicator.test.js +110 -70
  306. package/dist/packages/page-indicator/react.d.ts +2 -2
  307. package/dist/packages/page-indicator/react.js +7 -7
  308. package/dist/packages/page-indicator/style.js +21 -21
  309. package/dist/packages/pagination/pagination.a11y.test.d.ts +1 -1
  310. package/dist/packages/pagination/pagination.a11y.test.js +59 -25
  311. package/dist/packages/pagination/pagination.d.ts +3 -3
  312. package/dist/packages/pagination/pagination.hydration.test.d.ts +1 -1
  313. package/dist/packages/pagination/pagination.hydration.test.js +19 -19
  314. package/dist/packages/pagination/pagination.js +380 -349
  315. package/dist/packages/pagination/pagination.js.map +2 -2
  316. package/dist/packages/pagination/pagination.react.stories.d.ts +5 -5
  317. package/dist/packages/pagination/pagination.react.stories.js +8 -8
  318. package/dist/packages/pagination/pagination.react.test.js +6 -6
  319. package/dist/packages/pagination/pagination.stories.d.ts +3 -3
  320. package/dist/packages/pagination/pagination.stories.js +18 -18
  321. package/dist/packages/pagination/pagination.test.d.ts +1 -1
  322. package/dist/packages/pagination/pagination.test.js +146 -69
  323. package/dist/packages/pagination/react.d.ts +3 -3
  324. package/dist/packages/pagination/react.js +12 -10
  325. package/dist/packages/pagination/styles.js +1 -1
  326. package/dist/packages/pill/pill.d.ts +2 -2
  327. package/dist/packages/pill/pill.hydration.test.d.ts +1 -1
  328. package/dist/packages/pill/pill.hydration.test.js +14 -14
  329. package/dist/packages/pill/pill.js +331 -308
  330. package/dist/packages/pill/pill.js.map +2 -2
  331. package/dist/packages/pill/pill.react.stories.d.ts +3 -3
  332. package/dist/packages/pill/pill.react.stories.js +3 -3
  333. package/dist/packages/pill/pill.react.test.js +8 -8
  334. package/dist/packages/pill/pill.stories.d.ts +3 -3
  335. package/dist/packages/pill/pill.stories.js +8 -8
  336. package/dist/packages/pill/pill.test.d.ts +1 -1
  337. package/dist/packages/pill/pill.test.js +17 -15
  338. package/dist/packages/pill/react.d.ts +2 -2
  339. package/dist/packages/pill/react.js +18 -14
  340. package/dist/packages/pill/styles.js +1 -1
  341. package/dist/packages/radio/base-element.d.ts +3 -3
  342. package/dist/packages/radio/base-element.js +3 -3
  343. package/dist/packages/radio/custom-error-validator.d.ts +1 -1
  344. package/dist/packages/radio/custom-error-validator.js +3 -3
  345. package/dist/packages/radio/form-associated-element.d.ts +8 -8
  346. package/dist/packages/radio/form-associated-element.js +27 -26
  347. package/dist/packages/radio/host-styles.js +9 -9
  348. package/dist/packages/radio/invalid.d.ts +1 -1
  349. package/dist/packages/radio/invalid.js +1 -1
  350. package/dist/packages/radio/radio-styles.js +199 -160
  351. package/dist/packages/radio/radio.a11y.test.d.ts +2 -2
  352. package/dist/packages/radio/radio.a11y.test.js +60 -58
  353. package/dist/packages/radio/radio.d.ts +3 -3
  354. package/dist/packages/radio/radio.hydration.test.d.ts +1 -1
  355. package/dist/packages/radio/radio.hydration.test.js +23 -14
  356. package/dist/packages/radio/radio.js +485 -446
  357. package/dist/packages/radio/radio.js.map +3 -3
  358. package/dist/packages/radio/radio.react.stories.d.ts +2 -2
  359. package/dist/packages/radio/radio.react.stories.js +3 -3
  360. package/dist/packages/radio/radio.stories.d.ts +4 -4
  361. package/dist/packages/radio/radio.stories.js +152 -136
  362. package/dist/packages/radio/radio.test.d.ts +1 -1
  363. package/dist/packages/radio/radio.test.js +74 -73
  364. package/dist/packages/radio/react.d.ts +1 -1
  365. package/dist/packages/radio/react.js +4 -4
  366. package/dist/packages/radio/required-validator.d.ts +1 -1
  367. package/dist/packages/radio/required-validator.js +12 -7
  368. package/dist/packages/radio/slot.d.ts +1 -1
  369. package/dist/packages/radio/slot.js +11 -8
  370. package/dist/packages/radio/watch.d.ts +1 -1
  371. package/dist/packages/radio/watch.js +3 -1
  372. package/dist/packages/radio-group/radio-group-styles.js +121 -88
  373. package/dist/packages/radio-group/radio-group.a11y.test.d.ts +2 -2
  374. package/dist/packages/radio-group/radio-group.a11y.test.js +81 -79
  375. package/dist/packages/radio-group/radio-group.d.ts +14 -5
  376. package/dist/packages/radio-group/radio-group.hydration.test.d.ts +2 -2
  377. package/dist/packages/radio-group/radio-group.hydration.test.js +29 -18
  378. package/dist/packages/radio-group/radio-group.js +648 -560
  379. package/dist/packages/radio-group/radio-group.js.map +3 -3
  380. package/dist/packages/radio-group/radio-group.react.test.js +4 -4
  381. package/dist/packages/radio-group/radio-group.test.d.ts +2 -2
  382. package/dist/packages/radio-group/radio-group.test.js +234 -229
  383. package/dist/packages/radio-group/react.d.ts +2 -2
  384. package/dist/packages/radio-group/react.js +10 -10
  385. package/dist/packages/select/react.d.ts +2 -2
  386. package/dist/packages/select/react.js +11 -11
  387. package/dist/packages/select/select.a11y.test.d.ts +1 -1
  388. package/dist/packages/select/select.a11y.test.js +98 -91
  389. package/dist/packages/select/select.d.ts +4 -4
  390. package/dist/packages/select/select.hydration.test.d.ts +1 -1
  391. package/dist/packages/select/select.hydration.test.js +16 -16
  392. package/dist/packages/select/select.js +348 -329
  393. package/dist/packages/select/select.js.map +2 -2
  394. package/dist/packages/select/select.react.stories.d.ts +3 -3
  395. package/dist/packages/select/select.react.stories.js +7 -7
  396. package/dist/packages/select/select.react.test.js +6 -6
  397. package/dist/packages/select/select.stories.d.ts +3 -3
  398. package/dist/packages/select/select.stories.js +51 -48
  399. package/dist/packages/select/select.test.d.ts +1 -1
  400. package/dist/packages/select/select.test.js +175 -178
  401. package/dist/packages/select/styles.js +1 -1
  402. package/dist/packages/slider/Slider.d.ts +1 -1
  403. package/dist/packages/slider/Slider.js +4 -4
  404. package/dist/packages/slider/index.d.ts +2 -2
  405. package/dist/packages/slider/index.js +2 -2
  406. package/dist/packages/slider/react.d.ts +3 -3
  407. package/dist/packages/slider/react.js +9 -9
  408. package/dist/packages/slider/slider.d.ts +3 -3
  409. package/dist/packages/slider/slider.hydration.test.d.ts +1 -1
  410. package/dist/packages/slider/slider.hydration.test.js +39 -20
  411. package/dist/packages/slider/slider.js +480 -462
  412. package/dist/packages/slider/slider.js.map +2 -2
  413. package/dist/packages/slider/slider.react.stories.d.ts +3 -3
  414. package/dist/packages/slider/slider.react.stories.js +31 -34
  415. package/dist/packages/slider/slider.react.test.js +6 -6
  416. package/dist/packages/slider/slider.stories.d.ts +7 -7
  417. package/dist/packages/slider/slider.stories.js +332 -340
  418. package/dist/packages/slider/slider.test.d.ts +5 -5
  419. package/dist/packages/slider/slider.test.js +367 -334
  420. package/dist/packages/slider/styles/w-slider.styles.js +166 -148
  421. package/dist/packages/slider/styles.js +1 -1
  422. package/dist/packages/slider-thumb/SliderThumb.d.ts +1 -1
  423. package/dist/packages/slider-thumb/SliderThumb.js +4 -4
  424. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.d.ts +1 -1
  425. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.js +1 -1
  426. package/dist/packages/slider-thumb/react.d.ts +3 -3
  427. package/dist/packages/slider-thumb/react.js +11 -9
  428. package/dist/packages/slider-thumb/slider-thumb.d.ts +3 -3
  429. package/dist/packages/slider-thumb/slider-thumb.hydration.test.d.ts +1 -1
  430. package/dist/packages/slider-thumb/slider-thumb.hydration.test.js +26 -17
  431. package/dist/packages/slider-thumb/slider-thumb.js +545 -548
  432. package/dist/packages/slider-thumb/slider-thumb.js.map +3 -3
  433. package/dist/packages/slider-thumb/slider-thumb.react.test.js +9 -5
  434. package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.js +189 -188
  435. package/dist/packages/slider-thumb/styles.js +1 -1
  436. package/dist/packages/snackbar/react.d.ts +1 -1
  437. package/dist/packages/snackbar/react.js +4 -4
  438. package/dist/packages/snackbar/snackbar.d.ts +3 -3
  439. package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -1
  440. package/dist/packages/snackbar/snackbar.hydration.test.js +6 -6
  441. package/dist/packages/snackbar/snackbar.js +487 -468
  442. package/dist/packages/snackbar/snackbar.js.map +2 -2
  443. package/dist/packages/snackbar/snackbar.react.stories.js +3 -3
  444. package/dist/packages/snackbar/snackbar.stories.d.ts +11 -11
  445. package/dist/packages/snackbar/snackbar.stories.js +253 -181
  446. package/dist/packages/snackbar/snackbar.test.d.ts +4 -4
  447. package/dist/packages/snackbar/snackbar.test.js +11 -11
  448. package/dist/packages/snackbar/styles.js +29 -29
  449. package/dist/packages/snackbar-item/react.d.ts +2 -2
  450. package/dist/packages/snackbar-item/react.js +6 -5
  451. package/dist/packages/snackbar-item/snackbar-item.d.ts +4 -4
  452. package/dist/packages/snackbar-item/snackbar-item.js +454 -435
  453. package/dist/packages/snackbar-item/snackbar-item.js.map +2 -2
  454. package/dist/packages/snackbar-item/snackbar-item.react.test.js +4 -4
  455. package/dist/packages/snackbar-item/styles.js +130 -108
  456. package/dist/packages/step/react.d.ts +1 -1
  457. package/dist/packages/step/react.js +4 -4
  458. package/dist/packages/step/step.d.ts +2 -2
  459. package/dist/packages/step/step.hydration.test.d.ts +1 -1
  460. package/dist/packages/step/step.hydration.test.js +10 -10
  461. package/dist/packages/step/step.js +330 -308
  462. package/dist/packages/step/step.js.map +2 -2
  463. package/dist/packages/step-indicator/index.d.ts +2 -2
  464. package/dist/packages/step-indicator/index.js +2 -2
  465. package/dist/packages/step-indicator/react.d.ts +2 -2
  466. package/dist/packages/step-indicator/react.js +5 -5
  467. package/dist/packages/step-indicator/step-indicator.a11y.test.d.ts +2 -2
  468. package/dist/packages/step-indicator/step-indicator.a11y.test.js +48 -46
  469. package/dist/packages/step-indicator/step-indicator.d.ts +1 -1
  470. package/dist/packages/step-indicator/step-indicator.hydration.test.d.ts +1 -1
  471. package/dist/packages/step-indicator/step-indicator.hydration.test.js +10 -10
  472. package/dist/packages/step-indicator/step-indicator.js +280 -276
  473. package/dist/packages/step-indicator/step-indicator.js.map +2 -2
  474. package/dist/packages/step-indicator/stepindicator.react.stories.d.ts +2 -2
  475. package/dist/packages/step-indicator/stepindicator.react.stories.js +3 -3
  476. package/dist/packages/step-indicator/stepindicator.stories.d.ts +3 -3
  477. package/dist/packages/step-indicator/stepindicator.stories.js +129 -129
  478. package/dist/packages/step-indicator/styles.js +1 -1
  479. package/dist/packages/styles.js +274 -274
  480. package/dist/packages/switch/react.d.ts +1 -1
  481. package/dist/packages/switch/react.js +6 -6
  482. package/dist/packages/switch/styles.js +1 -1
  483. package/dist/packages/switch/switch.a11y.test.d.ts +1 -1
  484. package/dist/packages/switch/switch.a11y.test.js +46 -38
  485. package/dist/packages/switch/switch.d.ts +1 -1
  486. package/dist/packages/switch/switch.hydration.test.d.ts +1 -1
  487. package/dist/packages/switch/switch.hydration.test.js +23 -23
  488. package/dist/packages/switch/switch.js +299 -299
  489. package/dist/packages/switch/switch.js.map +2 -2
  490. package/dist/packages/switch/switch.react.stories.d.ts +2 -2
  491. package/dist/packages/switch/switch.react.stories.js +2 -2
  492. package/dist/packages/switch/switch.stories.d.ts +2 -2
  493. package/dist/packages/switch/switch.stories.js +42 -37
  494. package/dist/packages/switch/switch.test.d.ts +1 -1
  495. package/dist/packages/switch/switch.test.js +30 -35
  496. package/dist/packages/tab/react.d.ts +6 -4
  497. package/dist/packages/tab/react.js +11 -10
  498. package/dist/packages/tab/styles.d.ts +1 -0
  499. package/dist/packages/tab/styles.js +2 -0
  500. package/dist/packages/tab/tab.d.ts +5 -5
  501. package/dist/packages/tab/tab.hydration.test.d.ts +1 -1
  502. package/dist/packages/tab/tab.hydration.test.js +18 -12
  503. package/dist/packages/tab/tab.js +305 -304
  504. package/dist/packages/tab/tab.js.map +3 -3
  505. package/dist/packages/tab/tab.react.test.js +5 -3
  506. package/dist/packages/tab-panel/react.d.ts +3 -2
  507. package/dist/packages/tab-panel/react.js +11 -5
  508. package/dist/packages/tab-panel/tab-panel.d.ts +3 -3
  509. package/dist/packages/tab-panel/tab-panel.hydration.test.d.ts +1 -1
  510. package/dist/packages/tab-panel/tab-panel.hydration.test.js +13 -10
  511. package/dist/packages/tab-panel/tab-panel.js +289 -287
  512. package/dist/packages/tab-panel/tab-panel.js.map +2 -2
  513. package/dist/packages/tabs/index.d.ts +4 -4
  514. package/dist/packages/tabs/index.js +3 -3
  515. package/dist/packages/tabs/react.d.ts +27 -8
  516. package/dist/packages/tabs/react.js +30 -9
  517. package/dist/packages/tabs/styles.js +1 -1
  518. package/dist/packages/tabs/tabs.a11y.test.d.ts +3 -3
  519. package/dist/packages/tabs/tabs.a11y.test.js +188 -169
  520. package/dist/packages/tabs/tabs.d.ts +3 -3
  521. package/dist/packages/tabs/tabs.hydration.test.d.ts +3 -1
  522. package/dist/packages/tabs/tabs.hydration.test.js +22 -8
  523. package/dist/packages/tabs/tabs.js +289 -282
  524. package/dist/packages/tabs/tabs.js.map +2 -2
  525. package/dist/packages/tabs/tabs.react.stories.d.ts +12 -10
  526. package/dist/packages/tabs/tabs.react.stories.js +28 -28
  527. package/dist/packages/tabs/tabs.stories.d.ts +4 -4
  528. package/dist/packages/tabs/tabs.stories.js +101 -95
  529. package/dist/packages/tabs/tabs.test.d.ts +3 -3
  530. package/dist/packages/tabs/tabs.test.js +136 -122
  531. package/dist/packages/textarea/react.d.ts +2 -2
  532. package/dist/packages/textarea/react.js +17 -17
  533. package/dist/packages/textarea/styles.js +1 -1
  534. package/dist/packages/textarea/textarea.a11y.test.d.ts +1 -1
  535. package/dist/packages/textarea/textarea.a11y.test.js +89 -57
  536. package/dist/packages/textarea/textarea.d.ts +1 -1
  537. package/dist/packages/textarea/textarea.hydration.test.d.ts +1 -1
  538. package/dist/packages/textarea/textarea.hydration.test.js +19 -19
  539. package/dist/packages/textarea/textarea.js +300 -298
  540. package/dist/packages/textarea/textarea.js.map +2 -2
  541. package/dist/packages/textarea/textarea.react.stories.d.ts +3 -3
  542. package/dist/packages/textarea/textarea.react.stories.js +13 -13
  543. package/dist/packages/textarea/textarea.react.test.js +7 -7
  544. package/dist/packages/textarea/textarea.stories.d.ts +3 -3
  545. package/dist/packages/textarea/textarea.stories.js +44 -42
  546. package/dist/packages/textarea/textarea.test.d.ts +1 -1
  547. package/dist/packages/textarea/textarea.test.js +124 -88
  548. package/dist/packages/textfield/react.d.ts +2 -2
  549. package/dist/packages/textfield/react.js +17 -17
  550. package/dist/packages/textfield/styles/w-textfield.styles.js +60 -58
  551. package/dist/packages/textfield/styles.js +1 -1
  552. package/dist/packages/textfield/textfield.d.ts +3 -3
  553. package/dist/packages/textfield/textfield.hydration.test.d.ts +1 -1
  554. package/dist/packages/textfield/textfield.hydration.test.js +19 -19
  555. package/dist/packages/textfield/textfield.js +376 -368
  556. package/dist/packages/textfield/textfield.js.map +3 -3
  557. package/dist/packages/textfield/textfield.react.stories.d.ts +3 -3
  558. package/dist/packages/textfield/textfield.react.stories.js +31 -31
  559. package/dist/packages/textfield/textfield.react.test.js +7 -7
  560. package/dist/packages/textfield/textfield.stories.d.ts +4 -4
  561. package/dist/packages/textfield/textfield.stories.js +107 -89
  562. package/dist/packages/textfield/textfield.test.d.ts +2 -2
  563. package/dist/packages/textfield/textfield.test.js +103 -71
  564. package/dist/packages/toast/api.d.ts +1 -1
  565. package/dist/packages/toast/api.js +3 -3
  566. package/dist/packages/toast/index.d.ts +5 -5
  567. package/dist/packages/toast/index.js +5 -5
  568. package/dist/packages/toast/toast.d.ts +4 -4
  569. package/dist/packages/toast/toast.js +343 -314
  570. package/dist/packages/toast/toast.js.map +2 -2
  571. package/dist/packages/toast/toast.stories.d.ts +4 -4
  572. package/dist/packages/toast/toast.stories.js +37 -16
  573. package/dist/packages/toast/toast.test.d.ts +1 -1
  574. package/dist/packages/toast/toast.test.js +48 -31
  575. package/dist/packages/toast/types.d.ts +1 -1
  576. package/dist/packages/toast-container/styles.js +1 -1
  577. package/dist/packages/toast-container/toast-container.d.ts +2 -2
  578. package/dist/packages/toast-container/toast-container.js +291 -290
  579. package/dist/packages/toast-container/toast-container.js.map +2 -2
  580. package/dist/packages/utils/element-collapse.js +38 -28
  581. package/dist/packages/utils/expand-transition.d.ts +1 -1
  582. package/dist/packages/utils/expand-transition.js +12 -10
  583. package/dist/packages/utils/unstyled-heading.d.ts +1 -1
  584. package/dist/packages/utils/unstyled-heading.js +4 -4
  585. package/dist/packages/utils/window-exists.js +1 -1
  586. package/dist/packages/utils.js +2 -2
  587. package/dist/setup-tests.d.ts +3 -3
  588. package/dist/setup-tests.js +16 -13
  589. package/dist/tests/react-hydration.js +29 -30
  590. package/dist/tests/react-ssr-attributes.d.ts +1 -1
  591. package/dist/tests/react-ssr-attributes.js +4 -4
  592. package/dist/web-types.json +25 -22
  593. package/eik/index.js +9 -9
  594. package/package.json +11 -16
@@ -1,252 +1,249 @@
1
- import { server, 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 './select.js';
6
- test('works in a form', async () => {
1
+ import { server, 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 "./select.js";
6
+ test("works in a form", async () => {
7
7
  const component = html `
8
- <form data-testid="flavour">
9
- <w-select label="Berries" name="berry">
10
- <option value="strawberries">Strawberries</option>
11
- <option value="raspberries">Raspberries</option>
12
- <option value="cloudberries">Cloudberries</option>
13
- </w-select>
8
+ <form data-testid="flavour">
9
+ <w-select label="Berries" name="berry">
10
+ <option value="strawberries">Strawberries</option>
11
+ <option value="raspberries">Raspberries</option>
12
+ <option value="cloudberries">Cloudberries</option>
13
+ </w-select>
14
14
 
15
- <button>Submit</button>
16
- </form>
17
- `;
15
+ <button>Submit</button>
16
+ </form>
17
+ `;
18
18
  const page = render(component);
19
19
  // Confirm we have a form associated field berry
20
- const form = page.getByTestId('flavour');
20
+ const form = page.getByTestId("flavour");
21
21
  expect(form).toHaveFormValues({
22
22
  berry: undefined,
23
23
  });
24
24
  // Select Raspberries
25
- await expect.element(page.getByLabelText('Berries')).toBeVisible();
26
- await userEvent.selectOptions(page.getByLabelText('Berries').element(), 'Raspberries');
25
+ await expect.element(page.getByLabelText("Berries")).toBeVisible();
26
+ await userEvent.selectOptions(page.getByLabelText("Berries").element(), "Raspberries");
27
27
  // Confirm the form has a field berry with value raspberries
28
28
  expect(form).toHaveFormValues({
29
- berry: 'raspberries',
29
+ berry: "raspberries",
30
30
  });
31
31
  });
32
- test('can reset select by resetting surrounding form', async () => {
33
- const label = 'Test label';
32
+ test("can reset select by resetting surrounding form", async () => {
33
+ const label = "Test label";
34
34
  render(html `
35
- <form>
36
- <w-select
37
- label=${label}
38
- name="test"
39
- value="strawberries"
40
- >
41
- <option value="strawberries">Strawberries</option>
42
- <option value="raspberries">Raspberries</option>
43
- <option value="cloudberries">Cloudberries</option>
44
- </w-select>
45
- </form>
46
- `);
47
- const form = document.querySelector('form');
48
- const wSelect = document.querySelector('w-select');
35
+ <form>
36
+ <w-select label=${label} name="test" value="strawberries">
37
+ <option value="strawberries">Strawberries</option>
38
+ <option value="raspberries">Raspberries</option>
39
+ <option value="cloudberries">Cloudberries</option>
40
+ </w-select>
41
+ </form>
42
+ `);
43
+ const form = document.querySelector("form");
44
+ const wSelect = document.querySelector("w-select");
49
45
  // sanity
50
46
  expect(form).not.toBeNull();
51
47
  expect(wSelect).not.toBeNull();
52
48
  // Initial value is "strawberries"
53
- expect(wSelect.value).toBe('strawberries');
49
+ expect(wSelect.value).toBe("strawberries");
54
50
  // Change the value to "raspberries"
55
- wSelect.value = 'raspberries';
56
- expect(wSelect.value).toBe('raspberries');
51
+ wSelect.value = "raspberries";
52
+ expect(wSelect.value).toBe("raspberries");
57
53
  // Reset the form
58
54
  form.reset();
59
55
  // Value should be reset back to "strawberries"
60
- expect(wSelect.value).toBe('strawberries');
56
+ expect(wSelect.value).toBe("strawberries");
61
57
  });
62
- test('change event target.value reflects the selected value', async () => {
58
+ test("change event target.value reflects the selected value", async () => {
63
59
  render(html `
64
- <w-select label="Fruit">
65
- <option value="apples">Apples</option>
66
- <option value="pears">Pears</option>
67
- </w-select>
68
- `);
69
- const wSelect = document.querySelector('w-select');
60
+ <w-select label="Fruit">
61
+ <option value="apples">Apples</option>
62
+ <option value="pears">Pears</option>
63
+ </w-select>
64
+ `);
65
+ const wSelect = document.querySelector("w-select");
70
66
  await wSelect.updateComplete;
71
- const nativeSelect = wSelect.shadowRoot.querySelector('select');
72
- let observedTargetValue = '';
73
- wSelect.addEventListener('change', (e) => {
74
- observedTargetValue = (e.target.value ?? '');
67
+ const nativeSelect = wSelect.shadowRoot.querySelector("select");
68
+ let observedTargetValue = "";
69
+ wSelect.addEventListener("change", (e) => {
70
+ observedTargetValue = (e.target
71
+ .value ?? "");
75
72
  });
76
- nativeSelect.value = 'pears';
77
- nativeSelect.dispatchEvent(new Event('change'));
78
- expect(observedTargetValue).toBe('pears');
73
+ nativeSelect.value = "pears";
74
+ nativeSelect.dispatchEvent(new Event("change"));
75
+ expect(observedTargetValue).toBe("pears");
79
76
  });
80
- test('keeps native select in sync when host value changes', async () => {
77
+ test("keeps native select in sync when host value changes", async () => {
81
78
  render(html `
82
- <w-select label="Gender" value="male">
83
- <option value="male">Male</option>
84
- <option value="female">Female</option>
85
- </w-select>
86
- `);
87
- const wSelect = document.querySelector('w-select');
79
+ <w-select label="Gender" value="male">
80
+ <option value="male">Male</option>
81
+ <option value="female">Female</option>
82
+ </w-select>
83
+ `);
84
+ const wSelect = document.querySelector("w-select");
88
85
  await wSelect.updateComplete;
89
- const nativeSelect = wSelect.shadowRoot.querySelector('select');
90
- wSelect.value = 'female';
86
+ const nativeSelect = wSelect.shadowRoot.querySelector("select");
87
+ wSelect.value = "female";
91
88
  await wSelect.updateComplete;
92
- expect(nativeSelect.value).toBe('female');
89
+ expect(nativeSelect.value).toBe("female");
93
90
  });
94
- test('syncs host value when native select value changes without firing change', async () => {
91
+ test("syncs host value when native select value changes without firing change", async () => {
95
92
  render(html `
96
- <form>
97
- <w-select label="Gender" name="gender">
98
- <option value="">Choose</option>
99
- <option value="male">Male</option>
100
- <option value="female">Female</option>
101
- </w-select>
102
- </form>
103
- `);
104
- const form = document.querySelector('form');
105
- const wSelect = document.querySelector('w-select');
93
+ <form>
94
+ <w-select label="Gender" name="gender">
95
+ <option value="">Choose</option>
96
+ <option value="male">Male</option>
97
+ <option value="female">Female</option>
98
+ </w-select>
99
+ </form>
100
+ `);
101
+ const form = document.querySelector("form");
102
+ const wSelect = document.querySelector("w-select");
106
103
  await wSelect.updateComplete;
107
- const nativeSelect = wSelect.shadowRoot.querySelector('select');
104
+ const nativeSelect = wSelect.shadowRoot.querySelector("select");
108
105
  // Simulates browser session restore/autocomplete updating only the internal native select.
109
- nativeSelect.value = 'female';
110
- window.dispatchEvent(new PageTransitionEvent('pageshow', { persisted: true }));
111
- await expect.poll(() => wSelect.value).toBe('female');
112
- expect(new FormData(form).get('gender')).toBe('female');
106
+ nativeSelect.value = "female";
107
+ window.dispatchEvent(new PageTransitionEvent("pageshow", { persisted: true }));
108
+ await expect.poll(() => wSelect.value).toBe("female");
109
+ expect(new FormData(form).get("gender")).toBe("female");
113
110
  });
114
- test('does not sync host value from the browser default first option', async () => {
111
+ test("does not sync host value from the browser default first option", async () => {
115
112
  render(html `
116
- <w-select label="Default first option">
117
- <option value="alpha">Alpha</option>
118
- <option value="beta">Beta</option>
119
- </w-select>
120
- `);
121
- const wSelect = document.querySelector('w-select');
113
+ <w-select label="Default first option">
114
+ <option value="alpha">Alpha</option>
115
+ <option value="beta">Beta</option>
116
+ </w-select>
117
+ `);
118
+ const wSelect = document.querySelector("w-select");
122
119
  await wSelect.updateComplete;
123
- window.dispatchEvent(new PageTransitionEvent('pageshow', { persisted: true }));
124
- expect(wSelect.value ?? '').toBe('');
120
+ window.dispatchEvent(new PageTransitionEvent("pageshow", { persisted: true }));
121
+ expect(wSelect.value ?? "").toBe("");
125
122
  });
126
- test('pageshow does not overwrite an intentionally empty host value', async () => {
123
+ test("pageshow does not overwrite an intentionally empty host value", async () => {
127
124
  render(html `
128
- <w-select label="Intentional empty" value="">
129
- <option value="male">Male</option>
130
- <option value="female">Female</option>
131
- </w-select>
132
- `);
133
- const wSelect = document.querySelector('w-select');
125
+ <w-select label="Intentional empty" value="">
126
+ <option value="male">Male</option>
127
+ <option value="female">Female</option>
128
+ </w-select>
129
+ `);
130
+ const wSelect = document.querySelector("w-select");
134
131
  await wSelect.updateComplete;
135
- const nativeSelect = wSelect.shadowRoot.querySelector('select');
136
- expect(nativeSelect.value).toBe('');
137
- window.dispatchEvent(new PageTransitionEvent('pageshow', { persisted: true }));
138
- expect(wSelect.value ?? '').toBe('');
132
+ const nativeSelect = wSelect.shadowRoot.querySelector("select");
133
+ expect(nativeSelect.value).toBe("");
134
+ window.dispatchEvent(new PageTransitionEvent("pageshow", { persisted: true }));
135
+ expect(wSelect.value ?? "").toBe("");
139
136
  });
140
- test('formStateRestoreCallback syncs value from provided state', async () => {
137
+ test("formStateRestoreCallback syncs value from provided state", async () => {
141
138
  render(html `
142
- <form>
143
- <w-select label="Restore state" name="gender">
144
- <option value="">Choose</option>
145
- <option value="male">Male</option>
146
- <option value="female">Female</option>
147
- </w-select>
148
- </form>
149
- `);
150
- const form = document.querySelector('form');
151
- const wSelect = document.querySelector('w-select');
139
+ <form>
140
+ <w-select label="Restore state" name="gender">
141
+ <option value="">Choose</option>
142
+ <option value="male">Male</option>
143
+ <option value="female">Female</option>
144
+ </w-select>
145
+ </form>
146
+ `);
147
+ const form = document.querySelector("form");
148
+ const wSelect = document.querySelector("w-select");
152
149
  await wSelect.updateComplete;
153
- wSelect.formStateRestoreCallback('female', 'restore');
154
- const nativeSelect = wSelect.shadowRoot.querySelector('select');
155
- expect(wSelect.value).toBe('female');
156
- expect(nativeSelect.value).toBe('female');
157
- expect(new FormData(form).get('gender')).toBe('female');
150
+ wSelect.formStateRestoreCallback("female", "restore");
151
+ const nativeSelect = wSelect.shadowRoot.querySelector("select");
152
+ expect(wSelect.value).toBe("female");
153
+ expect(nativeSelect.value).toBe("female");
154
+ expect(new FormData(form).get("gender")).toBe("female");
158
155
  });
159
- test('formStateRestoreCallback with null falls back to native value reconciliation', async () => {
156
+ test("formStateRestoreCallback with null falls back to native value reconciliation", async () => {
160
157
  render(html `
161
- <form>
162
- <w-select label="Restore fallback" name="gender">
163
- <option value="">Choose</option>
164
- <option value="male">Male</option>
165
- <option value="female">Female</option>
166
- </w-select>
167
- </form>
168
- `);
169
- const form = document.querySelector('form');
170
- const wSelect = document.querySelector('w-select');
158
+ <form>
159
+ <w-select label="Restore fallback" name="gender">
160
+ <option value="">Choose</option>
161
+ <option value="male">Male</option>
162
+ <option value="female">Female</option>
163
+ </w-select>
164
+ </form>
165
+ `);
166
+ const form = document.querySelector("form");
167
+ const wSelect = document.querySelector("w-select");
171
168
  await wSelect.updateComplete;
172
- const nativeSelect = wSelect.shadowRoot.querySelector('select');
173
- nativeSelect.value = 'female';
174
- wSelect.formStateRestoreCallback(null, 'restore');
175
- expect(wSelect.value).toBe('female');
176
- expect(new FormData(form).get('gender')).toBe('female');
169
+ const nativeSelect = wSelect.shadowRoot.querySelector("select");
170
+ nativeSelect.value = "female";
171
+ wSelect.formStateRestoreCallback(null, "restore");
172
+ expect(wSelect.value).toBe("female");
173
+ expect(new FormData(form).get("gender")).toBe("female");
177
174
  });
178
- test('change event keeps backward compatibility by exposing detail', async () => {
175
+ test("change event keeps backward compatibility by exposing detail", async () => {
179
176
  render(html `
180
- <w-select label="Legacy change detail">
181
- <option value="alpha">Alpha</option>
182
- <option value="beta">Beta</option>
183
- </w-select>
184
- `);
185
- const wSelect = document.querySelector('w-select');
177
+ <w-select label="Legacy change detail">
178
+ <option value="alpha">Alpha</option>
179
+ <option value="beta">Beta</option>
180
+ </w-select>
181
+ `);
182
+ const wSelect = document.querySelector("w-select");
186
183
  await wSelect.updateComplete;
187
- const nativeSelect = wSelect.shadowRoot.querySelector('select');
184
+ const nativeSelect = wSelect.shadowRoot.querySelector("select");
188
185
  let observedDetail;
189
- wSelect.addEventListener('change', (event) => {
186
+ wSelect.addEventListener("change", (event) => {
190
187
  observedDetail = event.detail;
191
188
  });
192
- nativeSelect.value = 'beta';
193
- nativeSelect.dispatchEvent(new Event('change'));
194
- expect(observedDetail).toBe('beta');
189
+ nativeSelect.value = "beta";
190
+ nativeSelect.dispatchEvent(new Event("change"));
191
+ expect(observedDetail).toBe("beta");
195
192
  });
196
- test('emits a single host change event for one native change interaction', async () => {
193
+ test("emits a single host change event for one native change interaction", async () => {
197
194
  render(html `
198
- <w-select label="Single change event">
199
- <option value="alpha">Alpha</option>
200
- <option value="beta">Beta</option>
201
- </w-select>
202
- `);
203
- const wSelect = document.querySelector('w-select');
195
+ <w-select label="Single change event">
196
+ <option value="alpha">Alpha</option>
197
+ <option value="beta">Beta</option>
198
+ </w-select>
199
+ `);
200
+ const wSelect = document.querySelector("w-select");
204
201
  await wSelect.updateComplete;
205
- const nativeSelect = wSelect.shadowRoot.querySelector('select');
202
+ const nativeSelect = wSelect.shadowRoot.querySelector("select");
206
203
  let changeCount = 0;
207
- wSelect.addEventListener('change', () => {
204
+ wSelect.addEventListener("change", () => {
208
205
  changeCount += 1;
209
206
  });
210
- nativeSelect.value = 'beta';
211
- nativeSelect.dispatchEvent(new Event('change'));
207
+ nativeSelect.value = "beta";
208
+ nativeSelect.dispatchEvent(new Event("change"));
212
209
  expect(changeCount).toBe(1);
213
210
  });
214
- test('reflects dynamic light-DOM option selected changes into native select', async () => {
211
+ test("reflects dynamic light-DOM option selected changes into native select", async () => {
215
212
  render(html `
216
- <w-select label="Dynamic options">
217
- <option value="alpha">Alpha</option>
218
- <option value="beta">Beta</option>
219
- </w-select>
220
- `);
221
- const wSelect = document.querySelector('w-select');
213
+ <w-select label="Dynamic options">
214
+ <option value="alpha">Alpha</option>
215
+ <option value="beta">Beta</option>
216
+ </w-select>
217
+ `);
218
+ const wSelect = document.querySelector("w-select");
222
219
  await wSelect.updateComplete;
223
- const lightOptions = Array.from(wSelect.querySelectorAll('option'));
224
- lightOptions[1].setAttribute('selected', '');
220
+ const lightOptions = [...wSelect.querySelectorAll("option")];
221
+ lightOptions[1].setAttribute("selected", "");
225
222
  await expect
226
223
  .poll(() => {
227
- const nativeSelect = wSelect.shadowRoot.querySelector('select');
224
+ const nativeSelect = wSelect.shadowRoot.querySelector("select");
228
225
  return nativeSelect.value;
229
226
  })
230
- .toBe('beta');
227
+ .toBe("beta");
231
228
  });
232
229
  /* For some reason this test fails only in Chromium and only on CI. Manually tested OK in Chrome. */
233
- test.skipIf(server.browser === 'chromium' && server.config.env.CI)('submits the associated form when radio has focus and user presses Enter', async () => {
230
+ test.skipIf(server.browser === "chromium" && server.config.env.CI)("submits the associated form when radio has focus and user presses Enter", async () => {
234
231
  const screen = render(html `
235
- <form>
236
- <w-select data-testid="select" label="Select">
237
- <option value="alpha" selected>Alpha</option>
238
- <option value="beta">Beta</option>
239
- </w-select>
240
- <button type="submit">Submit</button>
241
- </form>
242
- `);
232
+ <form>
233
+ <w-select data-testid="select" label="Select">
234
+ <option value="alpha" selected>Alpha</option>
235
+ <option value="beta">Beta</option>
236
+ </w-select>
237
+ <button type="submit">Submit</button>
238
+ </form>
239
+ `);
243
240
  const onSubmit = vi.fn();
244
- const form = document.querySelector('form');
245
- form.addEventListener('submit', (event) => {
241
+ const form = document.querySelector("form");
242
+ form.addEventListener("submit", (event) => {
246
243
  event.preventDefault();
247
244
  onSubmit();
248
245
  });
249
- await userEvent.click(screen.getByTestId('select'));
250
- await userEvent.keyboard('{Enter}');
246
+ await userEvent.click(screen.getByTestId("select"));
247
+ await userEvent.keyboard("{Enter}");
251
248
  expect(onSubmit).toHaveBeenCalled();
252
249
  });
@@ -1,2 +1,2 @@
1
- import { unsafeCSS } from 'lit';
1
+ import { unsafeCSS } from "lit";
2
2
  export const styles = unsafeCSS("*,:before,:after{--w-rotate:0;--w-rotate-x:0;--w-rotate-y:0;--w-rotate-z:0;--w-scale-x:1;--w-scale-y:1;--w-scale-z:1;--w-skew-x:0;--w-skew-y:0;--w-translate-x:0;--w-translate-y:0;--w-translate-z:0}.focus\\:\\[--w-outline-offset\\:-2px\\]:focus{--w-outline-offset:-2px}.bg-transparent{background-color:#0000}.appearance-none{-webkit-appearance:none;appearance:none}.border-0{border-width:0}.border-1{border-width:1px}.rounded-4{border-radius:4px}.caret-current{caret-color:currentColor}.opacity-25{opacity:.25}.block,.before\\:block:before{display:block}.flex{display:flex}.before\\:hidden:before{display:none}.focusable:focus{outline:2px solid var(--w-s-color-border-focus);outline-offset:var(--w-outline-offset,1px)}.focusable:focus-visible{outline:2px solid var(--w-s-color-border-focus);outline-offset:var(--w-outline-offset,1px)}.focusable:not(:focus-visible){outline:none}.outline-\\[--w-s-color-border-negative\\]\\!{outline-color:var(--w-s-color-border-negative)!important}.bottom-0{bottom:0}.right-0{right:0}.before\\:bottom-0:before{bottom:0}.before\\:right-0:before{right:0}.top-\\[30\\%\\]{top:30%}.absolute{position:absolute}.relative{position:relative}.static{position:static}.before\\:absolute:before{position:absolute}.s-bg{background-color:var(--w-s-color-background)}.s-bg-disabled-subtle{background-color:var(--w-s-color-background-disabled-subtle)}.s-text{color:var(--w-s-color-text)}.s-text-disabled{color:var(--w-s-color-text-disabled)}.s-text-negative{color:var(--w-s-color-text-negative)}.s-text-subtle{color:var(--w-s-color-text-subtle)}.s-icon{color:var(--w-s-color-icon)}.s-border-disabled{border-color:var(--w-s-color-border-disabled)}.s-border-negative{border-color:var(--w-s-color-border-negative)}.s-border-strong{border-color:var(--w-s-color-border-strong)}.hover\\:s-border-disabled:hover{border-color:var(--w-s-color-border-disabled)}.hover\\:s-border-negative-hover:hover{border-color:var(--w-s-color-border-negative-hover)}.hover\\:s-border-strong-hover:hover{border-color:var(--w-s-color-border-strong-hover)}.active\\:s-border-active:active{border-color:var(--w-s-color-border-active)}.active\\:s-border-disabled:active{border-color:var(--w-s-color-border-disabled)}.h-full{height:100%}.w-32{width:3.2rem}.w-full{width:100%}.before\\:h-full:before{height:100%}.before\\:w-32:before{width:3.2rem}.mb-0{margin-bottom:0}.mt-4{margin-top:.4rem}.py-12{padding-top:1.2rem;padding-bottom:1.2rem}.pb-4{padding-bottom:.4rem}.pl-0{padding-left:0}.pl-8{padding-left:.8rem}.pr-32{padding-right:3.2rem}.cursor-pointer{cursor:pointer}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:grayscale}.font-bold{font-weight:700}.font-normal{font-weight:400}.pointer-events-none,.before\\:pointer-events-none:before{pointer-events:none}.text-m{font-size:var(--w-font-size-m);line-height:var(--w-line-height-m)}.text-s{font-size:var(--w-font-size-s);line-height:var(--w-line-height-s)}.text-xs{font-size:var(--w-font-size-xs);line-height:var(--w-line-height-xs)}");
@@ -1,2 +1,2 @@
1
- import { WarpSlider } from './slider.js';
1
+ import { WarpSlider } from "./slider.js";
2
2
  export declare const Slider: import("@lit/react").ReactWebComponent<WarpSlider, {}>;
@@ -1,8 +1,8 @@
1
- import { createComponent } from '@lit/react';
2
- import React from 'react';
3
- import { WarpSlider } from './slider.js';
1
+ import { createComponent } from "@lit/react";
2
+ import React from "react";
3
+ import { WarpSlider } from "./slider.js";
4
4
  export const Slider = createComponent({
5
- tagName: 'w-slider',
5
+ tagName: "w-slider",
6
6
  elementClass: WarpSlider,
7
7
  react: React,
8
8
  });
@@ -1,2 +1,2 @@
1
- export * from '../slider-thumb/slider-thumb.js';
2
- export * from './slider.js';
1
+ export * from "../slider-thumb/slider-thumb.js";
2
+ export * from "./slider.js";
@@ -1,2 +1,2 @@
1
- export * from '../slider-thumb/slider-thumb.js';
2
- export * from './slider.js';
1
+ export * from "../slider-thumb/slider-thumb.js";
2
+ export * from "./slider.js";
@@ -1,6 +1,6 @@
1
- import React from 'react';
2
- import { WarpSlider } from './slider.js';
3
- export { SliderThumb } from '../slider-thumb/react.js';
1
+ import React from "react";
2
+ import { WarpSlider } from "./slider.js";
3
+ export { SliderThumb } from "../slider-thumb/react.js";
4
4
  export declare const Slider: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.HTMLAttributes<WarpSlider>, "fieldset" | "label" | "disabled" | "invalid" | "helpText" | "max" | "min" | "required" | "step" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "connectedCallback" | "disconnectedCallback" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "updated" | "render" | "renderOptions" | "suffix" | "error" | "openEnded" | "markers" | "valueFormatter" | "tooltipFormatter" | "labelFormatter" | "hiddenTextfield" | "_invalidMessage" | "_hasInternalError" | "_showError" | "_tabbableElements" | "edgeMin" | "edgeMax" | "componentHasError" | "errorText"> & {} & Partial<Omit<WarpSlider, keyof HTMLElement>> & React.RefAttributes<WarpSlider>, "ref">, "help-text" | "open-ended" | "hidden-textfield"> & {
5
5
  openEnded?: boolean;
6
6
  helpText?: string;
@@ -1,21 +1,21 @@
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
  // Re-export from split packages
5
- export { SliderThumb } from '../slider-thumb/react.js';
5
+ export { SliderThumb } from "../slider-thumb/react.js";
6
6
  // decouple from CDN by providing a dummy class
7
7
  class Component extends LitElement {
8
8
  }
9
9
  const BaseSlider = createComponent({
10
- tagName: 'w-slider',
10
+ tagName: "w-slider",
11
11
  elementClass: Component,
12
12
  react: React,
13
13
  });
14
14
  export const Slider = React.forwardRef(({ openEnded, helpText, hiddenTextfield, ...props }, ref) => React.createElement(BaseSlider, {
15
15
  ...props,
16
- ...(openEnded ? { 'open-ended': true } : {}),
17
- ...(helpText !== undefined ? { 'help-text': helpText } : {}),
18
- ...(hiddenTextfield ? { 'hidden-textfield': true } : {}),
16
+ ...(openEnded ? { "open-ended": true } : {}),
17
+ ...(helpText !== undefined ? { "help-text": helpText } : {}),
18
+ ...(hiddenTextfield ? { "hidden-textfield": true } : {}),
19
19
  ref,
20
20
  }));
21
- Slider.displayName = 'Slider';
21
+ Slider.displayName = "Slider";
@@ -1,5 +1,5 @@
1
- import { LitElement, PropertyValues } from 'lit';
2
- import type { SliderSlot } from '../slider-thumb/slider-thumb.js';
1
+ import { LitElement, PropertyValues } from "lit";
2
+ import type { SliderSlot } from "../slider-thumb/slider-thumb.js";
3
3
  /**
4
4
  * Parent component for sliders (both single and range sliders). Used in combination with a `<w-slider-thumb>`.
5
5
  *
@@ -30,7 +30,7 @@ declare class WarpSlider extends LitElement {
30
30
  disabled: boolean;
31
31
  /**
32
32
  * Whether or not to allow values outside the range such as "Before 1950" and "2025+".
33
- */
33
+ */
34
34
  openEnded: boolean;
35
35
  /**
36
36
  * Validation error text, if any
@@ -1 +1 @@
1
- import './slider.js';
1
+ import "./slider.js";
@@ -1,37 +1,56 @@
1
- import { afterEach, beforeEach, describe, expect, test } from 'vitest';
2
- import { setupHydrationWarningCapture, testHydration } from '../../tests/react-hydration';
3
- import './slider.js';
4
- describe('w-slider React SSR hydration', () => {
1
+ import { afterEach, beforeEach, describe, expect, test } from "vitest";
2
+ import { setupHydrationWarningCapture, testHydration, } from "../../tests/react-hydration";
3
+ import "./slider.js";
4
+ describe("w-slider React SSR hydration", () => {
5
5
  beforeEach(() => setupHydrationWarningCapture());
6
6
  afterEach(() => {
7
7
  window.__HYDRATION_WARNINGS__ = [];
8
8
  });
9
- test('default (no attributes) hydrates without warnings', async () => {
10
- const warnings = await testHydration('w-slider', {});
9
+ test("default (no attributes) hydrates without warnings", async () => {
10
+ const warnings = await testHydration("w-slider", {});
11
11
  expect(warnings).toEqual([]);
12
12
  });
13
- test('with label and range hydrates without warnings', async () => {
14
- const warnings = await testHydration('w-slider', { label: 'Value', min: '0', max: '100' });
13
+ test("with label and range hydrates without warnings", async () => {
14
+ const warnings = await testHydration("w-slider", {
15
+ label: "Value",
16
+ min: "0",
17
+ max: "100",
18
+ });
15
19
  expect(warnings).toEqual([]);
16
20
  });
17
- test('with step hydrates without warnings', async () => {
18
- const warnings = await testHydration('w-slider', { label: 'Value', min: '0', max: '100', step: 10 });
21
+ test("with step hydrates without warnings", async () => {
22
+ const warnings = await testHydration("w-slider", {
23
+ label: "Value",
24
+ min: "0",
25
+ max: "100",
26
+ step: 10,
27
+ });
19
28
  expect(warnings).toEqual([]);
20
29
  });
21
- test('disabled slider hydrates without warnings', async () => {
22
- const warnings = await testHydration('w-slider', { label: 'Value', min: '0', max: '100', disabled: true });
30
+ test("disabled slider hydrates without warnings", async () => {
31
+ const warnings = await testHydration("w-slider", {
32
+ label: "Value",
33
+ min: "0",
34
+ max: "100",
35
+ disabled: true,
36
+ });
23
37
  expect(warnings).toEqual([]);
24
38
  });
25
- test('with suffix hydrates without warnings', async () => {
26
- const warnings = await testHydration('w-slider', { label: 'Value', min: '0', max: '100', suffix: '%' });
39
+ test("with suffix hydrates without warnings", async () => {
40
+ const warnings = await testHydration("w-slider", {
41
+ label: "Value",
42
+ min: "0",
43
+ max: "100",
44
+ suffix: "%",
45
+ });
27
46
  expect(warnings).toEqual([]);
28
47
  });
29
- test('with help-text hydrates without warnings', async () => {
30
- const warnings = await testHydration('w-slider', {
31
- label: 'Value',
32
- min: '0',
33
- max: '100',
34
- 'help-text': 'Select a value',
48
+ test("with help-text hydrates without warnings", async () => {
49
+ const warnings = await testHydration("w-slider", {
50
+ label: "Value",
51
+ min: "0",
52
+ max: "100",
53
+ "help-text": "Select a value",
35
54
  });
36
55
  expect(warnings).toEqual([]);
37
56
  });