@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,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
  });