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

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