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