@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,161 +1,201 @@
1
- import { html } from 'lit';
2
- import { expect, test } from 'vitest';
3
- import { render } from 'vitest-browser-lit';
4
- import './page-indicator.js';
5
- test('renders the correct number of dots', async () => {
6
- const component = html `<w-page-indicator page-count="5" selected-page="1"></w-page-indicator>`;
1
+ import { html } from "lit";
2
+ import { expect, test } from "vitest";
3
+ import { render } from "vitest-browser-lit";
4
+ import "./page-indicator.js";
5
+ test("renders the correct number of dots", async () => {
6
+ const component = html `<w-page-indicator
7
+ page-count="5"
8
+ selected-page="1"
9
+ ></w-page-indicator>`;
7
10
  const page = render(component);
8
11
  await expect
9
12
  .poll(() => {
10
- const element = page.container.querySelector('w-page-indicator');
11
- return element?.shadowRoot?.querySelectorAll('.w-page-indicator--dot').length;
13
+ const element = page.container.querySelector("w-page-indicator");
14
+ return element?.shadowRoot?.querySelectorAll(".w-page-indicator--dot")
15
+ .length;
12
16
  })
13
17
  .toBe(5);
14
18
  });
15
- test('renders a single dot when page-count is 1', async () => {
16
- const component = html `<w-page-indicator page-count="1" selected-page="1"></w-page-indicator>`;
19
+ test("renders a single dot when page-count is 1", async () => {
20
+ const component = html `<w-page-indicator
21
+ page-count="1"
22
+ selected-page="1"
23
+ ></w-page-indicator>`;
17
24
  const page = render(component);
18
25
  await expect
19
26
  .poll(() => {
20
- const element = page.container.querySelector('w-page-indicator');
21
- return element?.shadowRoot?.querySelectorAll('.w-page-indicator--dot').length;
27
+ const element = page.container.querySelector("w-page-indicator");
28
+ return element?.shadowRoot?.querySelectorAll(".w-page-indicator--dot")
29
+ .length;
22
30
  })
23
31
  .toBe(1);
24
32
  });
25
- test('has aria-label on the container', async () => {
26
- const component = html `<w-page-indicator page-count="5" selected-page="3"></w-page-indicator>`;
33
+ test("has aria-label on the container", async () => {
34
+ const component = html `<w-page-indicator
35
+ page-count="5"
36
+ selected-page="3"
37
+ ></w-page-indicator>`;
27
38
  const page = render(component);
28
39
  // Check that the container has role="img" and an aria-label attribute
29
- await expect.element(page.getByRole('img')).toHaveAttribute('aria-label');
40
+ await expect.element(page.getByRole("img")).toHaveAttribute("aria-label");
30
41
  });
31
- test('marks the selected dot with correct class', async () => {
32
- const component = html `<w-page-indicator page-count="5" selected-page="2"></w-page-indicator>`;
42
+ test("marks the selected dot with correct class", async () => {
43
+ const component = html `<w-page-indicator
44
+ page-count="5"
45
+ selected-page="2"
46
+ ></w-page-indicator>`;
33
47
  const page = render(component);
34
48
  await expect
35
49
  .poll(() => {
36
- const element = page.container.querySelector('w-page-indicator');
37
- const dots = element?.shadowRoot?.querySelectorAll('.w-page-indicator--dot');
38
- const selectedDots = element?.shadowRoot?.querySelectorAll('.w-page-indicator--selecteddot');
50
+ const element = page.container.querySelector("w-page-indicator");
51
+ const dots = element?.shadowRoot?.querySelectorAll(".w-page-indicator--dot");
52
+ const selectedDots = element?.shadowRoot?.querySelectorAll(".w-page-indicator--selecteddot");
39
53
  return dots?.length === 5 && selectedDots?.length === 1;
40
54
  })
41
55
  .toBe(true);
42
56
  });
43
- test('selected dot is at correct position', async () => {
44
- const component = html `<w-page-indicator page-count="3" selected-page="2"></w-page-indicator>`;
57
+ test("selected dot is at correct position", async () => {
58
+ const component = html `<w-page-indicator
59
+ page-count="3"
60
+ selected-page="2"
61
+ ></w-page-indicator>`;
45
62
  const page = render(component);
46
63
  await expect
47
64
  .poll(() => {
48
- const element = page.container.querySelector('w-page-indicator');
49
- const dots = element?.shadowRoot?.querySelectorAll('.w-page-indicator--dot');
50
- return dots?.[1]?.classList.contains('w-page-indicator--selecteddot');
65
+ const element = page.container.querySelector("w-page-indicator");
66
+ const dots = element?.shadowRoot?.querySelectorAll(".w-page-indicator--dot");
67
+ return dots?.[1]?.classList.contains("w-page-indicator--selecteddot");
51
68
  })
52
69
  .toBe(true);
53
70
  });
54
- test('validates page-count to minimum of 1', async () => {
55
- const component = html `<w-page-indicator page-count="0" selected-page="1"></w-page-indicator>`;
71
+ test("validates page-count to minimum of 1", async () => {
72
+ const component = html `<w-page-indicator
73
+ page-count="0"
74
+ selected-page="1"
75
+ ></w-page-indicator>`;
56
76
  const page = render(component);
57
77
  await expect
58
78
  .poll(() => {
59
- const element = page.container.querySelector('w-page-indicator');
60
- return element?.shadowRoot?.querySelectorAll('.w-page-indicator--dot').length;
79
+ const element = page.container.querySelector("w-page-indicator");
80
+ return element?.shadowRoot?.querySelectorAll(".w-page-indicator--dot")
81
+ .length;
61
82
  })
62
83
  .toBe(1);
63
84
  });
64
- test('validates page-count for negative values', async () => {
65
- const component = html `<w-page-indicator page-count="-5" selected-page="1"></w-page-indicator>`;
85
+ test("validates page-count for negative values", async () => {
86
+ const component = html `<w-page-indicator
87
+ page-count="-5"
88
+ selected-page="1"
89
+ ></w-page-indicator>`;
66
90
  const page = render(component);
67
91
  await expect
68
92
  .poll(() => {
69
- const element = page.container.querySelector('w-page-indicator');
70
- return element?.shadowRoot?.querySelectorAll('.w-page-indicator--dot').length;
93
+ const element = page.container.querySelector("w-page-indicator");
94
+ return element?.shadowRoot?.querySelectorAll(".w-page-indicator--dot")
95
+ .length;
71
96
  })
72
97
  .toBe(1);
73
98
  });
74
- test('clamps selected-page to valid range (too high)', async () => {
75
- const component = html `<w-page-indicator page-count="3" selected-page="10"></w-page-indicator>`;
99
+ test("clamps selected-page to valid range (too high)", async () => {
100
+ const component = html `<w-page-indicator
101
+ page-count="3"
102
+ selected-page="10"
103
+ ></w-page-indicator>`;
76
104
  const page = render(component);
77
105
  // Should clamp to page 3 (the max) - verify selected dot is at position 3 (index 2)
78
106
  await expect
79
107
  .poll(() => {
80
- const element = page.container.querySelector('w-page-indicator');
81
- const dots = element?.shadowRoot?.querySelectorAll('.w-page-indicator--dot');
82
- return dots?.[2]?.classList.contains('w-page-indicator--selecteddot');
108
+ const element = page.container.querySelector("w-page-indicator");
109
+ const dots = element?.shadowRoot?.querySelectorAll(".w-page-indicator--dot");
110
+ return dots?.[2]?.classList.contains("w-page-indicator--selecteddot");
83
111
  })
84
112
  .toBe(true);
85
113
  });
86
- test('clamps selected-page to valid range (too low)', async () => {
87
- const component = html `<w-page-indicator page-count="3" selected-page="0"></w-page-indicator>`;
114
+ test("clamps selected-page to valid range (too low)", async () => {
115
+ const component = html `<w-page-indicator
116
+ page-count="3"
117
+ selected-page="0"
118
+ ></w-page-indicator>`;
88
119
  const page = render(component);
89
120
  // Should clamp to page 1 (the min) - verify selected dot is at position 1 (index 0)
90
121
  await expect
91
122
  .poll(() => {
92
- const element = page.container.querySelector('w-page-indicator');
93
- const dots = element?.shadowRoot?.querySelectorAll('.w-page-indicator--dot');
94
- return dots?.[0]?.classList.contains('w-page-indicator--selecteddot');
123
+ const element = page.container.querySelector("w-page-indicator");
124
+ const dots = element?.shadowRoot?.querySelectorAll(".w-page-indicator--dot");
125
+ return dots?.[0]?.classList.contains("w-page-indicator--selecteddot");
95
126
  })
96
127
  .toBe(true);
97
128
  });
98
- test('handles decimal page-count by flooring', async () => {
99
- const component = html `<w-page-indicator page-count="3.7" selected-page="1"></w-page-indicator>`;
129
+ test("handles decimal page-count by flooring", async () => {
130
+ const component = html `<w-page-indicator
131
+ page-count="3.7"
132
+ selected-page="1"
133
+ ></w-page-indicator>`;
100
134
  const page = render(component);
101
135
  await expect
102
136
  .poll(() => {
103
- const element = page.container.querySelector('w-page-indicator');
104
- return element?.shadowRoot?.querySelectorAll('.w-page-indicator--dot').length;
137
+ const element = page.container.querySelector("w-page-indicator");
138
+ return element?.shadowRoot?.querySelectorAll(".w-page-indicator--dot")
139
+ .length;
105
140
  })
106
141
  .toBe(3);
107
142
  });
108
- test('handles decimal selected-page by flooring', async () => {
109
- const component = html `<w-page-indicator page-count="5" selected-page="2.9"></w-page-indicator>`;
143
+ test("handles decimal selected-page by flooring", async () => {
144
+ const component = html `<w-page-indicator
145
+ page-count="5"
146
+ selected-page="2.9"
147
+ ></w-page-indicator>`;
110
148
  const page = render(component);
111
149
  // Should floor to page 2 - verify selected dot is at position 2 (index 1)
112
150
  await expect
113
151
  .poll(() => {
114
- const element = page.container.querySelector('w-page-indicator');
115
- const dots = element?.shadowRoot?.querySelectorAll('.w-page-indicator--dot');
116
- return dots?.[1]?.classList.contains('w-page-indicator--selecteddot');
152
+ const element = page.container.querySelector("w-page-indicator");
153
+ const dots = element?.shadowRoot?.querySelectorAll(".w-page-indicator--dot");
154
+ return dots?.[1]?.classList.contains("w-page-indicator--selecteddot");
117
155
  })
118
156
  .toBe(true);
119
157
  });
120
- test('updates when selected-page changes', async () => {
121
- const container = document.createElement('div');
158
+ test("updates when selected-page changes", async () => {
159
+ const container = document.createElement("div");
122
160
  document.body.appendChild(container);
123
- container.innerHTML = '<w-page-indicator page-count="5" selected-page="1"></w-page-indicator>';
124
- const element = container.querySelector('w-page-indicator');
161
+ container.innerHTML =
162
+ '<w-page-indicator page-count="5" selected-page="1"></w-page-indicator>';
163
+ const element = container.querySelector("w-page-indicator");
125
164
  // Wait for initial render
126
165
  await element.updateComplete;
127
166
  // Verify initial state - first dot is selected
128
- const dots = element.shadowRoot?.querySelectorAll('.w-page-indicator--dot');
129
- expect(dots?.[0]?.classList.contains('w-page-indicator--selecteddot')).toBe(true);
167
+ const dots = element.shadowRoot?.querySelectorAll(".w-page-indicator--dot");
168
+ expect(dots?.[0]?.classList.contains("w-page-indicator--selecteddot")).toBe(true);
130
169
  // Change selected page
131
- element.setAttribute('selected-page', '3');
170
+ element.setAttribute("selected-page", "3");
132
171
  await element.updateComplete;
133
172
  // Verify updated state - third dot is now selected
134
- expect(dots?.[0]?.classList.contains('w-page-indicator--selecteddot')).toBe(false);
135
- expect(dots?.[2]?.classList.contains('w-page-indicator--selecteddot')).toBe(true);
173
+ expect(dots?.[0]?.classList.contains("w-page-indicator--selecteddot")).toBe(false);
174
+ expect(dots?.[2]?.classList.contains("w-page-indicator--selecteddot")).toBe(true);
136
175
  // Cleanup
137
176
  document.body.removeChild(container);
138
177
  });
139
- test('defaults to page-count=1 and selected-page=1 when no attributes are set', async () => {
178
+ test("defaults to page-count=1 and selected-page=1 when no attributes are set", async () => {
140
179
  const component = html `<w-page-indicator></w-page-indicator>`;
141
180
  const page = render(component);
142
181
  // Should render a single dot (default page-count=1)
143
182
  await expect
144
183
  .poll(() => {
145
- const element = page.container.querySelector('w-page-indicator');
146
- return element?.shadowRoot?.querySelectorAll('.w-page-indicator--dot').length;
184
+ const element = page.container.querySelector("w-page-indicator");
185
+ return element?.shadowRoot?.querySelectorAll(".w-page-indicator--dot")
186
+ .length;
147
187
  })
148
188
  .toBe(1);
149
189
  // The single dot should be selected (default selected-page=1)
150
190
  await expect
151
191
  .poll(() => {
152
- const element = page.container.querySelector('w-page-indicator');
153
- const dots = element?.shadowRoot?.querySelectorAll('.w-page-indicator--dot');
154
- return dots?.[0]?.classList.contains('w-page-indicator--selecteddot');
192
+ const element = page.container.querySelector("w-page-indicator");
193
+ const dots = element?.shadowRoot?.querySelectorAll(".w-page-indicator--dot");
194
+ return dots?.[0]?.classList.contains("w-page-indicator--selecteddot");
155
195
  })
156
196
  .toBe(true);
157
197
  // Verify no attributes are reflected (to avoid hydration mismatch)
158
- const element = page.container.querySelector('w-page-indicator');
159
- expect(element.hasAttribute('page-count')).toBe(false);
160
- expect(element.hasAttribute('selected-page')).toBe(false);
198
+ const element = page.container.querySelector("w-page-indicator");
199
+ expect(element.hasAttribute("page-count")).toBe(false);
200
+ expect(element.hasAttribute("selected-page")).toBe(false);
161
201
  });
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import { WarpPageIndicator } from './page-indicator.js';
1
+ import React from "react";
2
+ import { WarpPageIndicator } from "./page-indicator.js";
3
3
  export declare const PageIndicator: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.HTMLAttributes<WarpPageIndicator>, "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "connectedCallback" | "disconnectedCallback" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "render" | "renderOptions" | "selectedPage" | "pageCount"> & {} & Partial<Omit<WarpPageIndicator, keyof HTMLElement>> & React.RefAttributes<WarpPageIndicator>, "ref">, "selected-page" | "page-count"> & {
4
4
  selectedPage?: number;
5
5
  pageCount?: number;
@@ -1,18 +1,18 @@
1
- import { createComponent } from '@lit/react';
2
- import { LitElement } from 'lit';
3
- import React from 'react';
1
+ import { createComponent } from "@lit/react";
2
+ import { LitElement } from "lit";
3
+ import React from "react";
4
4
  // decouple from CDN by providing a dummy class
5
5
  class Component extends LitElement {
6
6
  }
7
7
  const BasePageIndicator = createComponent({
8
- tagName: 'w-page-indicator',
8
+ tagName: "w-page-indicator",
9
9
  elementClass: Component,
10
10
  react: React,
11
11
  });
12
12
  export const PageIndicator = React.forwardRef(({ selectedPage, pageCount, ...props }, ref) => React.createElement(BasePageIndicator, {
13
13
  ...props,
14
- ...(selectedPage !== undefined ? { 'selected-page': selectedPage } : {}),
15
- ...(pageCount !== undefined ? { 'page-count': pageCount } : {}),
14
+ ...(selectedPage !== undefined ? { "selected-page": selectedPage } : {}),
15
+ ...(pageCount !== undefined ? { "page-count": pageCount } : {}),
16
16
  ref,
17
17
  }));
18
- PageIndicator.displayName = 'PageIndicator';
18
+ PageIndicator.displayName = "PageIndicator";
@@ -1,26 +1,26 @@
1
- import { css } from 'lit';
1
+ import { css } from "lit";
2
2
  export const styles = css `
3
- .w-page-indicator {
4
- display: grid;
5
- justify-content: center;
6
- height: max-content;
7
- pointer-events: none;
8
- }
3
+ .w-page-indicator {
4
+ display: grid;
5
+ justify-content: center;
6
+ height: max-content;
7
+ pointer-events: none;
8
+ }
9
9
 
10
- .w-page-indicator--container {
11
- display: grid;
12
- grid-auto-flow: column;
13
- gap: 8px;
14
- }
10
+ .w-page-indicator--container {
11
+ display: grid;
12
+ grid-auto-flow: column;
13
+ gap: 8px;
14
+ }
15
15
 
16
- .w-page-indicator--dot {
17
- background-color: var(--w-s-color-background-disabled);
18
- border-radius: 5px;
19
- width: 10px;
20
- height: 10px;
21
- }
16
+ .w-page-indicator--dot {
17
+ background-color: var(--w-s-color-background-disabled);
18
+ border-radius: 5px;
19
+ width: 10px;
20
+ height: 10px;
21
+ }
22
22
 
23
- .w-page-indicator--selecteddot {
24
- background-color: var(--w-s-color-icon-selected);
25
- }
23
+ .w-page-indicator--selecteddot {
24
+ background-color: var(--w-s-color-icon-selected);
25
+ }
26
26
  `;
@@ -1 +1 @@
1
- import './pagination.js';
1
+ import "./pagination.js";
@@ -1,36 +1,70 @@
1
- import { html } from 'lit';
2
- import { describe, expect, test } from 'vitest';
3
- import { render } from 'vitest-browser-lit';
4
- import './pagination.js';
5
- describe('w-pagination accessibility (WCAG 2.2)', () => {
6
- describe('axe-core automated checks', () => {
7
- test('default state has no violations', async () => {
8
- const page = render(html `<w-pagination current-page="5" pages="10" base-url="/page/"></w-pagination>`);
1
+ import { html } from "lit";
2
+ import { describe, expect, test } from "vitest";
3
+ import { render } from "vitest-browser-lit";
4
+ import "./pagination.js";
5
+ describe("w-pagination accessibility (WCAG 2.2)", () => {
6
+ describe("axe-core automated checks", () => {
7
+ test("default state has no violations", async () => {
8
+ const page = render(html `<w-pagination
9
+ current-page="5"
10
+ pages="10"
11
+ base-url="/page/"
12
+ ></w-pagination>`);
9
13
  await expect(page).toHaveNoAxeViolations();
10
14
  });
11
- test('first page (no first or previous links) has no violations', async () => {
12
- const page = render(html `<w-pagination current-page="1" pages="10" base-url="/page/"></w-pagination>`);
15
+ test("first page (no first or previous links) has no violations", async () => {
16
+ const page = render(html `<w-pagination
17
+ current-page="1"
18
+ pages="10"
19
+ base-url="/page/"
20
+ ></w-pagination>`);
13
21
  await expect(page).toHaveNoAxeViolations();
14
22
  });
15
23
  });
16
- describe('WCAG 1.3.1 - Info and Relationships', () => {
17
- test('page links expose accessible names', async () => {
18
- const page = render(html `<w-pagination current-page="3" pages="5" base-url="/page/"></w-pagination>`);
19
- await expect.element(page.getByRole('link', { name: 'Page 3' })).toBeVisible();
20
- await expect.element(page.getByRole('link', { name: 'Page 2' })).toBeVisible();
24
+ describe("WCAG 1.3.1 - Info and Relationships", () => {
25
+ test("page links expose accessible names", async () => {
26
+ const page = render(html `<w-pagination
27
+ current-page="3"
28
+ pages="5"
29
+ base-url="/page/"
30
+ ></w-pagination>`);
31
+ await expect
32
+ .element(page.getByRole("link", { name: "Page 3" }))
33
+ .toBeVisible();
34
+ await expect
35
+ .element(page.getByRole("link", { name: "Page 2" }))
36
+ .toBeVisible();
21
37
  });
22
38
  });
23
- describe('WCAG 4.1.2 - Name, Role, Value', () => {
24
- test('current page is exposed via aria-current', async () => {
25
- const page = render(html `<w-pagination current-page="4" pages="8" base-url="/page/"></w-pagination>`);
26
- await expect.element(page.getByRole('link', { name: 'Page 4' })).toHaveAttribute('aria-current', 'page');
27
- await expect.element(page.getByRole('link', { name: 'Page 3' })).not.toHaveAttribute('aria-current', 'page');
39
+ describe("WCAG 4.1.2 - Name, Role, Value", () => {
40
+ test("current page is exposed via aria-current", async () => {
41
+ const page = render(html `<w-pagination
42
+ current-page="4"
43
+ pages="8"
44
+ base-url="/page/"
45
+ ></w-pagination>`);
46
+ await expect
47
+ .element(page.getByRole("link", { name: "Page 4" }))
48
+ .toHaveAttribute("aria-current", "page");
49
+ await expect
50
+ .element(page.getByRole("link", { name: "Page 3" }))
51
+ .not.toHaveAttribute("aria-current", "page");
28
52
  });
29
- test('navigation controls have accessible names', async () => {
30
- const page = render(html `<w-pagination current-page="4" pages="8" base-url="/page/"></w-pagination>`);
31
- await expect.element(page.getByRole('link', { name: 'First page' })).toBeVisible();
32
- await expect.element(page.getByRole('link', { name: 'Previous page' })).toBeVisible();
33
- await expect.element(page.getByRole('link', { name: 'Next page' })).toBeVisible();
53
+ test("navigation controls have accessible names", async () => {
54
+ const page = render(html `<w-pagination
55
+ current-page="4"
56
+ pages="8"
57
+ base-url="/page/"
58
+ ></w-pagination>`);
59
+ await expect
60
+ .element(page.getByRole("link", { name: "First page" }))
61
+ .toBeVisible();
62
+ await expect
63
+ .element(page.getByRole("link", { name: "Previous page" }))
64
+ .toBeVisible();
65
+ await expect
66
+ .element(page.getByRole("link", { name: "Next page" }))
67
+ .toBeVisible();
34
68
  });
35
69
  });
36
70
  });
@@ -1,5 +1,5 @@
1
- import { LitElement } from 'lit';
2
- import '../icon/icon.js';
1
+ import { LitElement } from "lit";
2
+ import "../icon/icon.js";
3
3
  /**
4
4
  * Pagination allows users to navigate through multiple pages of content by providing navigation controls with page numbers and directional arrows.
5
5
  *
@@ -41,7 +41,7 @@ declare class WarpPagination extends LitElement {
41
41
  }
42
42
  declare global {
43
43
  interface GlobalEventHandlersEventMap {
44
- 'page-click': CustomEvent<{
44
+ "page-click": CustomEvent<{
45
45
  clickedPage: string;
46
46
  }>;
47
47
  }
@@ -1 +1 @@
1
- import './pagination.js';
1
+ import "./pagination.js";
@@ -1,37 +1,37 @@
1
- import { afterEach, beforeEach, describe, expect, test } from 'vitest';
2
- import { setupHydrationWarningCapture, testHydration } from '../../tests/react-hydration';
3
- import './pagination.js';
4
- describe('w-pagination React SSR hydration', () => {
1
+ import { afterEach, beforeEach, describe, expect, test } from "vitest";
2
+ import { setupHydrationWarningCapture, testHydration, } from "../../tests/react-hydration";
3
+ import "./pagination.js";
4
+ describe("w-pagination 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-pagination', {});
9
+ test("default (no attributes) hydrates without warnings", async () => {
10
+ const warnings = await testHydration("w-pagination", {});
11
11
  expect(warnings).toEqual([]);
12
12
  });
13
- test('with base-url and pages hydrates without warnings', async () => {
14
- const warnings = await testHydration('w-pagination', {
15
- 'base-url': '/page/',
13
+ test("with base-url and pages hydrates without warnings", async () => {
14
+ const warnings = await testHydration("w-pagination", {
15
+ "base-url": "/page/",
16
16
  pages: 10,
17
- 'current-page': 1,
17
+ "current-page": 1,
18
18
  });
19
19
  expect(warnings).toEqual([]);
20
20
  });
21
- test('with current page hydrates without warnings', async () => {
22
- const warnings = await testHydration('w-pagination', {
23
- 'base-url': '/page/',
21
+ test("with current page hydrates without warnings", async () => {
22
+ const warnings = await testHydration("w-pagination", {
23
+ "base-url": "/page/",
24
24
  pages: 10,
25
- 'current-page': 5,
25
+ "current-page": 5,
26
26
  });
27
27
  expect(warnings).toEqual([]);
28
28
  });
29
- test('with visible pages hydrates without warnings', async () => {
30
- const warnings = await testHydration('w-pagination', {
31
- 'base-url': '/page/',
29
+ test("with visible pages hydrates without warnings", async () => {
30
+ const warnings = await testHydration("w-pagination", {
31
+ "base-url": "/page/",
32
32
  pages: 20,
33
- 'current-page': 10,
34
- 'visible-pages': 5,
33
+ "current-page": 10,
34
+ "visible-pages": 5,
35
35
  });
36
36
  expect(warnings).toEqual([]);
37
37
  });