@chenzy-design/svelte 0.2.0 → 0.2.1

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 (500) hide show
  1. package/README.md +66 -0
  2. package/dist/badge/Badge.svelte +5 -2
  3. package/dist/badge/Badge.svelte.d.ts.map +1 -1
  4. package/dist/components.json +1 -1
  5. package/package.json +6 -5
  6. package/dist/anchor/Anchor.a11y.test.d.ts +0 -2
  7. package/dist/anchor/Anchor.a11y.test.d.ts.map +0 -1
  8. package/dist/anchor/Anchor.a11y.test.js +0 -44
  9. package/dist/anchor/Anchor.kbd.test.d.ts +0 -2
  10. package/dist/anchor/Anchor.kbd.test.d.ts.map +0 -1
  11. package/dist/anchor/Anchor.kbd.test.js +0 -59
  12. package/dist/anchor/AnchorKbdFixture.svelte +0 -24
  13. package/dist/anchor/AnchorKbdFixture.svelte.d.ts +0 -19
  14. package/dist/anchor/AnchorKbdFixture.svelte.d.ts.map +0 -1
  15. package/dist/autocomplete/AutoComplete.a11y.test.d.ts +0 -2
  16. package/dist/autocomplete/AutoComplete.a11y.test.d.ts.map +0 -1
  17. package/dist/autocomplete/AutoComplete.a11y.test.js +0 -45
  18. package/dist/autocomplete/AutoComplete.kbd.test.d.ts +0 -2
  19. package/dist/autocomplete/AutoComplete.kbd.test.d.ts.map +0 -1
  20. package/dist/autocomplete/AutoComplete.kbd.test.js +0 -60
  21. package/dist/autocomplete/AutoCompleteKbdFixture.svelte +0 -24
  22. package/dist/autocomplete/AutoCompleteKbdFixture.svelte.d.ts +0 -4
  23. package/dist/autocomplete/AutoCompleteKbdFixture.svelte.d.ts.map +0 -1
  24. package/dist/avatar/Avatar.a11y.test.d.ts +0 -2
  25. package/dist/avatar/Avatar.a11y.test.d.ts.map +0 -1
  26. package/dist/avatar/Avatar.a11y.test.js +0 -34
  27. package/dist/back-top/BackTop.a11y.test.d.ts +0 -2
  28. package/dist/back-top/BackTop.a11y.test.d.ts.map +0 -1
  29. package/dist/back-top/BackTop.a11y.test.js +0 -37
  30. package/dist/badge/Badge.a11y.test.d.ts +0 -2
  31. package/dist/badge/Badge.a11y.test.d.ts.map +0 -1
  32. package/dist/badge/Badge.a11y.test.js +0 -32
  33. package/dist/badge/BadgeA11yFixture.svelte +0 -18
  34. package/dist/badge/BadgeA11yFixture.svelte.d.ts +0 -7
  35. package/dist/badge/BadgeA11yFixture.svelte.d.ts.map +0 -1
  36. package/dist/banner/Banner.a11y.test.d.ts +0 -2
  37. package/dist/banner/Banner.a11y.test.d.ts.map +0 -1
  38. package/dist/banner/Banner.a11y.test.js +0 -43
  39. package/dist/breadcrumb/Breadcrumb.a11y.test.d.ts +0 -2
  40. package/dist/breadcrumb/Breadcrumb.a11y.test.d.ts.map +0 -1
  41. package/dist/breadcrumb/Breadcrumb.a11y.test.js +0 -31
  42. package/dist/breadcrumb/Breadcrumb.kbd.test.d.ts +0 -2
  43. package/dist/breadcrumb/Breadcrumb.kbd.test.d.ts.map +0 -1
  44. package/dist/breadcrumb/Breadcrumb.kbd.test.js +0 -37
  45. package/dist/breadcrumb/BreadcrumbKbdFixture.svelte +0 -23
  46. package/dist/breadcrumb/BreadcrumbKbdFixture.svelte.d.ts +0 -19
  47. package/dist/breadcrumb/BreadcrumbKbdFixture.svelte.d.ts.map +0 -1
  48. package/dist/button/Button.a11y.test.d.ts +0 -2
  49. package/dist/button/Button.a11y.test.d.ts.map +0 -1
  50. package/dist/button/Button.a11y.test.js +0 -49
  51. package/dist/calendar/Calendar.a11y.test.d.ts +0 -2
  52. package/dist/calendar/Calendar.a11y.test.d.ts.map +0 -1
  53. package/dist/calendar/Calendar.a11y.test.js +0 -46
  54. package/dist/calendar/Calendar.kbd.test.d.ts +0 -2
  55. package/dist/calendar/Calendar.kbd.test.d.ts.map +0 -1
  56. package/dist/calendar/Calendar.kbd.test.js +0 -50
  57. package/dist/calendar/CalendarKbdFixture.svelte +0 -23
  58. package/dist/calendar/CalendarKbdFixture.svelte.d.ts +0 -19
  59. package/dist/calendar/CalendarKbdFixture.svelte.d.ts.map +0 -1
  60. package/dist/card/Card.a11y.test.d.ts +0 -2
  61. package/dist/card/Card.a11y.test.d.ts.map +0 -1
  62. package/dist/card/Card.a11y.test.js +0 -35
  63. package/dist/carousel/Carousel.a11y.test.d.ts +0 -2
  64. package/dist/carousel/Carousel.a11y.test.d.ts.map +0 -1
  65. package/dist/carousel/Carousel.a11y.test.js +0 -43
  66. package/dist/carousel/Carousel.kbd.test.d.ts +0 -2
  67. package/dist/carousel/Carousel.kbd.test.d.ts.map +0 -1
  68. package/dist/carousel/Carousel.kbd.test.js +0 -51
  69. package/dist/carousel/CarouselA11yFixture.svelte +0 -25
  70. package/dist/carousel/CarouselA11yFixture.svelte.d.ts +0 -8
  71. package/dist/carousel/CarouselA11yFixture.svelte.d.ts.map +0 -1
  72. package/dist/carousel/CarouselKbdFixture.svelte +0 -24
  73. package/dist/carousel/CarouselKbdFixture.svelte.d.ts +0 -19
  74. package/dist/carousel/CarouselKbdFixture.svelte.d.ts.map +0 -1
  75. package/dist/cascader/Cascader.a11y.test.d.ts +0 -2
  76. package/dist/cascader/Cascader.a11y.test.d.ts.map +0 -1
  77. package/dist/cascader/Cascader.a11y.test.js +0 -55
  78. package/dist/cascader/Cascader.kbd.test.d.ts +0 -2
  79. package/dist/cascader/Cascader.kbd.test.d.ts.map +0 -1
  80. package/dist/cascader/Cascader.kbd.test.js +0 -47
  81. package/dist/cascader/CascaderKbdFixture.svelte +0 -31
  82. package/dist/cascader/CascaderKbdFixture.svelte.d.ts +0 -19
  83. package/dist/cascader/CascaderKbdFixture.svelte.d.ts.map +0 -1
  84. package/dist/checkbox/CheckboxGroup.a11y.test.d.ts +0 -2
  85. package/dist/checkbox/CheckboxGroup.a11y.test.d.ts.map +0 -1
  86. package/dist/checkbox/CheckboxGroup.a11y.test.js +0 -38
  87. package/dist/checkbox/CheckboxGroup.kbd.test.d.ts +0 -2
  88. package/dist/checkbox/CheckboxGroup.kbd.test.d.ts.map +0 -1
  89. package/dist/checkbox/CheckboxGroup.kbd.test.js +0 -33
  90. package/dist/checkbox/CheckboxGroupKbdFixture.svelte +0 -20
  91. package/dist/checkbox/CheckboxGroupKbdFixture.svelte.d.ts +0 -19
  92. package/dist/checkbox/CheckboxGroupKbdFixture.svelte.d.ts.map +0 -1
  93. package/dist/collapse/Collapse.a11y.test.d.ts +0 -2
  94. package/dist/collapse/Collapse.a11y.test.d.ts.map +0 -1
  95. package/dist/collapse/Collapse.a11y.test.js +0 -46
  96. package/dist/collapse/Collapse.kbd.test.d.ts +0 -2
  97. package/dist/collapse/Collapse.kbd.test.d.ts.map +0 -1
  98. package/dist/collapse/Collapse.kbd.test.js +0 -70
  99. package/dist/collapse/CollapseA11yFixture.svelte +0 -27
  100. package/dist/collapse/CollapseA11yFixture.svelte.d.ts +0 -9
  101. package/dist/collapse/CollapseA11yFixture.svelte.d.ts.map +0 -1
  102. package/dist/collapse/CollapseKbdFixture.svelte +0 -25
  103. package/dist/collapse/CollapseKbdFixture.svelte.d.ts +0 -19
  104. package/dist/collapse/CollapseKbdFixture.svelte.d.ts.map +0 -1
  105. package/dist/color-picker/ColorPicker.a11y.test.d.ts +0 -2
  106. package/dist/color-picker/ColorPicker.a11y.test.d.ts.map +0 -1
  107. package/dist/color-picker/ColorPicker.a11y.test.js +0 -54
  108. package/dist/color-picker/ColorPicker.kbd.test.d.ts +0 -2
  109. package/dist/color-picker/ColorPicker.kbd.test.d.ts.map +0 -1
  110. package/dist/color-picker/ColorPicker.kbd.test.js +0 -59
  111. package/dist/color-picker/ColorPickerKbdFixture.svelte +0 -25
  112. package/dist/color-picker/ColorPickerKbdFixture.svelte.d.ts +0 -4
  113. package/dist/color-picker/ColorPickerKbdFixture.svelte.d.ts.map +0 -1
  114. package/dist/date-picker/DatePicker.a11y.test.d.ts +0 -2
  115. package/dist/date-picker/DatePicker.a11y.test.d.ts.map +0 -1
  116. package/dist/date-picker/DatePicker.a11y.test.js +0 -42
  117. package/dist/date-picker/DatePicker.kbd.test.d.ts +0 -2
  118. package/dist/date-picker/DatePicker.kbd.test.d.ts.map +0 -1
  119. package/dist/date-picker/DatePicker.kbd.test.js +0 -59
  120. package/dist/date-picker/DatePickerKbdFixture.svelte +0 -26
  121. package/dist/date-picker/DatePickerKbdFixture.svelte.d.ts +0 -4
  122. package/dist/date-picker/DatePickerKbdFixture.svelte.d.ts.map +0 -1
  123. package/dist/date-picker/RangePicker.kbd.test.d.ts +0 -2
  124. package/dist/date-picker/RangePicker.kbd.test.d.ts.map +0 -1
  125. package/dist/date-picker/RangePicker.kbd.test.js +0 -60
  126. package/dist/date-picker/RangePickerKbdFixture.svelte +0 -30
  127. package/dist/date-picker/RangePickerKbdFixture.svelte.d.ts +0 -7
  128. package/dist/date-picker/RangePickerKbdFixture.svelte.d.ts.map +0 -1
  129. package/dist/descriptions/Descriptions.a11y.test.d.ts +0 -2
  130. package/dist/descriptions/Descriptions.a11y.test.d.ts.map +0 -1
  131. package/dist/descriptions/Descriptions.a11y.test.js +0 -31
  132. package/dist/divider/Divider.a11y.test.d.ts +0 -2
  133. package/dist/divider/Divider.a11y.test.d.ts.map +0 -1
  134. package/dist/divider/Divider.a11y.test.js +0 -21
  135. package/dist/drawer/Drawer.a11y.test.d.ts +0 -2
  136. package/dist/drawer/Drawer.a11y.test.d.ts.map +0 -1
  137. package/dist/drawer/Drawer.a11y.test.js +0 -33
  138. package/dist/drawer/Drawer.kbd.test.d.ts +0 -2
  139. package/dist/drawer/Drawer.kbd.test.d.ts.map +0 -1
  140. package/dist/drawer/Drawer.kbd.test.js +0 -53
  141. package/dist/drawer/DrawerKbdFixture.svelte +0 -28
  142. package/dist/drawer/DrawerKbdFixture.svelte.d.ts +0 -4
  143. package/dist/drawer/DrawerKbdFixture.svelte.d.ts.map +0 -1
  144. package/dist/dropdown/Dropdown.a11y.test.d.ts +0 -2
  145. package/dist/dropdown/Dropdown.a11y.test.d.ts.map +0 -1
  146. package/dist/dropdown/Dropdown.a11y.test.js +0 -39
  147. package/dist/dropdown/Dropdown.kbd.test.d.ts +0 -2
  148. package/dist/dropdown/Dropdown.kbd.test.d.ts.map +0 -1
  149. package/dist/dropdown/Dropdown.kbd.test.js +0 -47
  150. package/dist/dropdown/DropdownA11yFixture.svelte +0 -24
  151. package/dist/dropdown/DropdownA11yFixture.svelte.d.ts +0 -11
  152. package/dist/dropdown/DropdownA11yFixture.svelte.d.ts.map +0 -1
  153. package/dist/dropdown/DropdownKbdFixture.svelte +0 -26
  154. package/dist/dropdown/DropdownKbdFixture.svelte.d.ts +0 -19
  155. package/dist/dropdown/DropdownKbdFixture.svelte.d.ts.map +0 -1
  156. package/dist/dropdown/types.test.d.ts +0 -2
  157. package/dist/dropdown/types.test.d.ts.map +0 -1
  158. package/dist/dropdown/types.test.js +0 -40
  159. package/dist/empty/Empty.a11y.test.d.ts +0 -2
  160. package/dist/empty/Empty.a11y.test.d.ts.map +0 -1
  161. package/dist/empty/Empty.a11y.test.js +0 -22
  162. package/dist/form/Form.a11y.test.d.ts +0 -2
  163. package/dist/form/Form.a11y.test.d.ts.map +0 -1
  164. package/dist/form/Form.a11y.test.js +0 -36
  165. package/dist/form/FormA11yFixture.svelte +0 -31
  166. package/dist/form/FormA11yFixture.svelte.d.ts +0 -19
  167. package/dist/form/FormA11yFixture.svelte.d.ts.map +0 -1
  168. package/dist/grid/Grid.a11y.test.d.ts +0 -2
  169. package/dist/grid/Grid.a11y.test.d.ts.map +0 -1
  170. package/dist/grid/Grid.a11y.test.js +0 -13
  171. package/dist/grid/GridA11yFixture.svelte +0 -12
  172. package/dist/grid/GridA11yFixture.svelte.d.ts +0 -19
  173. package/dist/grid/GridA11yFixture.svelte.d.ts.map +0 -1
  174. package/dist/highlight/Highlight.a11y.test.d.ts +0 -2
  175. package/dist/highlight/Highlight.a11y.test.d.ts.map +0 -1
  176. package/dist/highlight/Highlight.a11y.test.js +0 -23
  177. package/dist/image/Image.a11y.test.d.ts +0 -2
  178. package/dist/image/Image.a11y.test.d.ts.map +0 -1
  179. package/dist/image/Image.a11y.test.js +0 -27
  180. package/dist/image/ImagePreview.kbd.test.d.ts +0 -2
  181. package/dist/image/ImagePreview.kbd.test.d.ts.map +0 -1
  182. package/dist/image/ImagePreview.kbd.test.js +0 -44
  183. package/dist/image/ImagePreviewKbdFixture.svelte +0 -32
  184. package/dist/image/ImagePreviewKbdFixture.svelte.d.ts +0 -4
  185. package/dist/image/ImagePreviewKbdFixture.svelte.d.ts.map +0 -1
  186. package/dist/input/Input.a11y.test.d.ts +0 -2
  187. package/dist/input/Input.a11y.test.d.ts.map +0 -1
  188. package/dist/input/Input.a11y.test.js +0 -53
  189. package/dist/input-number/InputNumber.a11y.test.d.ts +0 -2
  190. package/dist/input-number/InputNumber.a11y.test.d.ts.map +0 -1
  191. package/dist/input-number/InputNumber.a11y.test.js +0 -40
  192. package/dist/input-number/InputNumber.kbd.test.d.ts +0 -2
  193. package/dist/input-number/InputNumber.kbd.test.d.ts.map +0 -1
  194. package/dist/input-number/InputNumber.kbd.test.js +0 -35
  195. package/dist/input-number/InputNumberKbdFixture.svelte +0 -15
  196. package/dist/input-number/InputNumberKbdFixture.svelte.d.ts +0 -19
  197. package/dist/input-number/InputNumberKbdFixture.svelte.d.ts.map +0 -1
  198. package/dist/layout/Layout.a11y.test.d.ts +0 -2
  199. package/dist/layout/Layout.a11y.test.d.ts.map +0 -1
  200. package/dist/layout/Layout.a11y.test.js +0 -32
  201. package/dist/layout/LayoutA11yFixture.svelte +0 -21
  202. package/dist/layout/LayoutA11yFixture.svelte.d.ts +0 -7
  203. package/dist/layout/LayoutA11yFixture.svelte.d.ts.map +0 -1
  204. package/dist/list/List.a11y.test.d.ts +0 -2
  205. package/dist/list/List.a11y.test.d.ts.map +0 -1
  206. package/dist/list/List.a11y.test.js +0 -62
  207. package/dist/list/List.bench.d.ts +0 -2
  208. package/dist/list/List.bench.d.ts.map +0 -1
  209. package/dist/list/List.bench.js +0 -16
  210. package/dist/list/List.kbd.test.d.ts +0 -2
  211. package/dist/list/List.kbd.test.d.ts.map +0 -1
  212. package/dist/list/List.kbd.test.js +0 -60
  213. package/dist/list/ListA11yFixture.svelte +0 -38
  214. package/dist/list/ListA11yFixture.svelte.d.ts +0 -10
  215. package/dist/list/ListA11yFixture.svelte.d.ts.map +0 -1
  216. package/dist/list/ListBenchFixture.svelte +0 -22
  217. package/dist/list/ListBenchFixture.svelte.d.ts +0 -7
  218. package/dist/list/ListBenchFixture.svelte.d.ts.map +0 -1
  219. package/dist/list/ListKbdFixture.svelte +0 -31
  220. package/dist/list/ListKbdFixture.svelte.d.ts +0 -19
  221. package/dist/list/ListKbdFixture.svelte.d.ts.map +0 -1
  222. package/dist/menu/Menu.a11y.test.d.ts +0 -2
  223. package/dist/menu/Menu.a11y.test.d.ts.map +0 -1
  224. package/dist/menu/Menu.a11y.test.js +0 -49
  225. package/dist/menu/Menu.kbd.test.d.ts +0 -2
  226. package/dist/menu/Menu.kbd.test.d.ts.map +0 -1
  227. package/dist/menu/Menu.kbd.test.js +0 -56
  228. package/dist/menu/MenuKbdFixture.svelte +0 -22
  229. package/dist/menu/MenuKbdFixture.svelte.d.ts +0 -19
  230. package/dist/menu/MenuKbdFixture.svelte.d.ts.map +0 -1
  231. package/dist/meta.test.d.ts +0 -2
  232. package/dist/meta.test.d.ts.map +0 -1
  233. package/dist/meta.test.js +0 -164
  234. package/dist/modal/Modal.a11y.test.d.ts +0 -2
  235. package/dist/modal/Modal.a11y.test.d.ts.map +0 -1
  236. package/dist/modal/Modal.a11y.test.js +0 -38
  237. package/dist/modal/Modal.kbd.test.d.ts +0 -2
  238. package/dist/modal/Modal.kbd.test.d.ts.map +0 -1
  239. package/dist/modal/Modal.kbd.test.js +0 -52
  240. package/dist/modal/ModalKbdFixture.svelte +0 -24
  241. package/dist/modal/ModalKbdFixture.svelte.d.ts +0 -4
  242. package/dist/modal/ModalKbdFixture.svelte.d.ts.map +0 -1
  243. package/dist/notification/NotificationItem.a11y.test.d.ts +0 -2
  244. package/dist/notification/NotificationItem.a11y.test.d.ts.map +0 -1
  245. package/dist/notification/NotificationItem.a11y.test.js +0 -64
  246. package/dist/overflow-list/OverflowList.a11y.test.d.ts +0 -2
  247. package/dist/overflow-list/OverflowList.a11y.test.d.ts.map +0 -1
  248. package/dist/overflow-list/OverflowList.a11y.test.js +0 -41
  249. package/dist/overflow-list/OverflowList.kbd.test.d.ts +0 -2
  250. package/dist/overflow-list/OverflowList.kbd.test.d.ts.map +0 -1
  251. package/dist/overflow-list/OverflowList.kbd.test.js +0 -28
  252. package/dist/overflow-list/OverflowListA11yFixture.svelte +0 -22
  253. package/dist/overflow-list/OverflowListA11yFixture.svelte.d.ts +0 -8
  254. package/dist/overflow-list/OverflowListA11yFixture.svelte.d.ts.map +0 -1
  255. package/dist/overflow-list/OverflowListKbdFixture.svelte +0 -21
  256. package/dist/overflow-list/OverflowListKbdFixture.svelte.d.ts +0 -19
  257. package/dist/overflow-list/OverflowListKbdFixture.svelte.d.ts.map +0 -1
  258. package/dist/pagination/Pagination.a11y.test.d.ts +0 -2
  259. package/dist/pagination/Pagination.a11y.test.d.ts.map +0 -1
  260. package/dist/pagination/Pagination.a11y.test.js +0 -57
  261. package/dist/pagination/Pagination.kbd.test.d.ts +0 -2
  262. package/dist/pagination/Pagination.kbd.test.d.ts.map +0 -1
  263. package/dist/pagination/Pagination.kbd.test.js +0 -54
  264. package/dist/pagination/PaginationKbdFixture.svelte +0 -15
  265. package/dist/pagination/PaginationKbdFixture.svelte.d.ts +0 -19
  266. package/dist/pagination/PaginationKbdFixture.svelte.d.ts.map +0 -1
  267. package/dist/popconfirm/Popconfirm.a11y.test.d.ts +0 -2
  268. package/dist/popconfirm/Popconfirm.a11y.test.d.ts.map +0 -1
  269. package/dist/popconfirm/Popconfirm.a11y.test.js +0 -37
  270. package/dist/popconfirm/Popconfirm.kbd.test.d.ts +0 -2
  271. package/dist/popconfirm/Popconfirm.kbd.test.d.ts.map +0 -1
  272. package/dist/popconfirm/Popconfirm.kbd.test.js +0 -36
  273. package/dist/popconfirm/PopconfirmA11yFixture.svelte +0 -34
  274. package/dist/popconfirm/PopconfirmA11yFixture.svelte.d.ts +0 -11
  275. package/dist/popconfirm/PopconfirmA11yFixture.svelte.d.ts.map +0 -1
  276. package/dist/popconfirm/PopconfirmKbdFixture.svelte +0 -17
  277. package/dist/popconfirm/PopconfirmKbdFixture.svelte.d.ts +0 -19
  278. package/dist/popconfirm/PopconfirmKbdFixture.svelte.d.ts.map +0 -1
  279. package/dist/popover/Popover.a11y.test.d.ts +0 -2
  280. package/dist/popover/Popover.a11y.test.d.ts.map +0 -1
  281. package/dist/popover/Popover.a11y.test.js +0 -47
  282. package/dist/popover/Popover.kbd.test.d.ts +0 -2
  283. package/dist/popover/Popover.kbd.test.d.ts.map +0 -1
  284. package/dist/popover/Popover.kbd.test.js +0 -36
  285. package/dist/popover/PopoverA11yFixture.svelte +0 -35
  286. package/dist/popover/PopoverA11yFixture.svelte.d.ts +0 -11
  287. package/dist/popover/PopoverA11yFixture.svelte.d.ts.map +0 -1
  288. package/dist/popover/PopoverKbdFixture.svelte +0 -18
  289. package/dist/popover/PopoverKbdFixture.svelte.d.ts +0 -19
  290. package/dist/popover/PopoverKbdFixture.svelte.d.ts.map +0 -1
  291. package/dist/progress/Progress.a11y.test.d.ts +0 -2
  292. package/dist/progress/Progress.a11y.test.d.ts.map +0 -1
  293. package/dist/progress/Progress.a11y.test.js +0 -34
  294. package/dist/radio/RadioGroup.a11y.test.d.ts +0 -2
  295. package/dist/radio/RadioGroup.a11y.test.d.ts.map +0 -1
  296. package/dist/radio/RadioGroup.a11y.test.js +0 -38
  297. package/dist/radio/RadioGroup.kbd.test.d.ts +0 -2
  298. package/dist/radio/RadioGroup.kbd.test.d.ts.map +0 -1
  299. package/dist/radio/RadioGroup.kbd.test.js +0 -59
  300. package/dist/radio/RadioGroupKbdFixture.svelte +0 -21
  301. package/dist/radio/RadioGroupKbdFixture.svelte.d.ts +0 -19
  302. package/dist/radio/RadioGroupKbdFixture.svelte.d.ts.map +0 -1
  303. package/dist/rating/Rating.a11y.test.d.ts +0 -2
  304. package/dist/rating/Rating.a11y.test.d.ts.map +0 -1
  305. package/dist/rating/Rating.a11y.test.js +0 -38
  306. package/dist/rating/Rating.kbd.test.d.ts +0 -2
  307. package/dist/rating/Rating.kbd.test.d.ts.map +0 -1
  308. package/dist/rating/Rating.kbd.test.js +0 -41
  309. package/dist/rating/RatingKbdFixture.svelte +0 -15
  310. package/dist/rating/RatingKbdFixture.svelte.d.ts +0 -19
  311. package/dist/rating/RatingKbdFixture.svelte.d.ts.map +0 -1
  312. package/dist/select/Select.a11y.test.d.ts +0 -2
  313. package/dist/select/Select.a11y.test.d.ts.map +0 -1
  314. package/dist/select/Select.a11y.test.js +0 -53
  315. package/dist/select/Select.kbd.test.d.ts +0 -2
  316. package/dist/select/Select.kbd.test.d.ts.map +0 -1
  317. package/dist/select/Select.kbd.test.js +0 -47
  318. package/dist/select/SelectKbdFixture.svelte +0 -29
  319. package/dist/select/SelectKbdFixture.svelte.d.ts +0 -4
  320. package/dist/select/SelectKbdFixture.svelte.d.ts.map +0 -1
  321. package/dist/side-sheet/SideSheet.a11y.test.d.ts +0 -2
  322. package/dist/side-sheet/SideSheet.a11y.test.d.ts.map +0 -1
  323. package/dist/side-sheet/SideSheet.a11y.test.js +0 -46
  324. package/dist/side-sheet/SideSheet.kbd.test.d.ts +0 -2
  325. package/dist/side-sheet/SideSheet.kbd.test.d.ts.map +0 -1
  326. package/dist/side-sheet/SideSheet.kbd.test.js +0 -49
  327. package/dist/side-sheet/SideSheetKbdFixture.svelte +0 -30
  328. package/dist/side-sheet/SideSheetKbdFixture.svelte.d.ts +0 -4
  329. package/dist/side-sheet/SideSheetKbdFixture.svelte.d.ts.map +0 -1
  330. package/dist/skeleton/Skeleton.a11y.test.d.ts +0 -2
  331. package/dist/skeleton/Skeleton.a11y.test.d.ts.map +0 -1
  332. package/dist/skeleton/Skeleton.a11y.test.js +0 -32
  333. package/dist/slider/Slider.a11y.test.d.ts +0 -2
  334. package/dist/slider/Slider.a11y.test.d.ts.map +0 -1
  335. package/dist/slider/Slider.a11y.test.js +0 -40
  336. package/dist/slider/Slider.kbd.test.d.ts +0 -2
  337. package/dist/slider/Slider.kbd.test.d.ts.map +0 -1
  338. package/dist/slider/Slider.kbd.test.js +0 -63
  339. package/dist/slider/SliderKbdFixture.svelte +0 -21
  340. package/dist/slider/SliderKbdFixture.svelte.d.ts +0 -19
  341. package/dist/slider/SliderKbdFixture.svelte.d.ts.map +0 -1
  342. package/dist/space/Space.a11y.test.d.ts +0 -2
  343. package/dist/space/Space.a11y.test.d.ts.map +0 -1
  344. package/dist/space/Space.a11y.test.js +0 -20
  345. package/dist/space/SpaceA11yFixture.svelte +0 -17
  346. package/dist/space/SpaceA11yFixture.svelte.d.ts +0 -7
  347. package/dist/space/SpaceA11yFixture.svelte.d.ts.map +0 -1
  348. package/dist/spin/Spin.a11y.test.d.ts +0 -2
  349. package/dist/spin/Spin.a11y.test.d.ts.map +0 -1
  350. package/dist/spin/Spin.a11y.test.js +0 -27
  351. package/dist/spin/SpinA11yFixture.svelte +0 -18
  352. package/dist/spin/SpinA11yFixture.svelte.d.ts +0 -7
  353. package/dist/spin/SpinA11yFixture.svelte.d.ts.map +0 -1
  354. package/dist/steps/Steps.a11y.test.d.ts +0 -2
  355. package/dist/steps/Steps.a11y.test.d.ts.map +0 -1
  356. package/dist/steps/Steps.a11y.test.js +0 -35
  357. package/dist/steps/Steps.kbd.test.d.ts +0 -2
  358. package/dist/steps/Steps.kbd.test.d.ts.map +0 -1
  359. package/dist/steps/Steps.kbd.test.js +0 -59
  360. package/dist/steps/StepsKbdFixture.svelte +0 -21
  361. package/dist/steps/StepsKbdFixture.svelte.d.ts +0 -19
  362. package/dist/steps/StepsKbdFixture.svelte.d.ts.map +0 -1
  363. package/dist/switch/Switch.a11y.test.d.ts +0 -2
  364. package/dist/switch/Switch.a11y.test.d.ts.map +0 -1
  365. package/dist/switch/Switch.a11y.test.js +0 -42
  366. package/dist/switch/Switch.kbd.test.d.ts +0 -2
  367. package/dist/switch/Switch.kbd.test.d.ts.map +0 -1
  368. package/dist/switch/Switch.kbd.test.js +0 -34
  369. package/dist/switch/SwitchKbdFixture.svelte +0 -22
  370. package/dist/switch/SwitchKbdFixture.svelte.d.ts +0 -4
  371. package/dist/switch/SwitchKbdFixture.svelte.d.ts.map +0 -1
  372. package/dist/table/Table.a11y.test.d.ts +0 -2
  373. package/dist/table/Table.a11y.test.d.ts.map +0 -1
  374. package/dist/table/Table.a11y.test.js +0 -59
  375. package/dist/table/Table.bench.d.ts +0 -2
  376. package/dist/table/Table.bench.d.ts.map +0 -1
  377. package/dist/table/Table.bench.js +0 -31
  378. package/dist/table/Table.kbd.test.d.ts +0 -2
  379. package/dist/table/Table.kbd.test.d.ts.map +0 -1
  380. package/dist/table/Table.kbd.test.js +0 -74
  381. package/dist/table/TableKbdFixture.svelte +0 -35
  382. package/dist/table/TableKbdFixture.svelte.d.ts +0 -19
  383. package/dist/table/TableKbdFixture.svelte.d.ts.map +0 -1
  384. package/dist/table/grid-nav.test.d.ts +0 -2
  385. package/dist/table/grid-nav.test.d.ts.map +0 -1
  386. package/dist/table/grid-nav.test.js +0 -133
  387. package/dist/tabs/Tabs.a11y.test.d.ts +0 -2
  388. package/dist/tabs/Tabs.a11y.test.d.ts.map +0 -1
  389. package/dist/tabs/Tabs.a11y.test.js +0 -43
  390. package/dist/tabs/Tabs.kbd.test.d.ts +0 -2
  391. package/dist/tabs/Tabs.kbd.test.d.ts.map +0 -1
  392. package/dist/tabs/Tabs.kbd.test.js +0 -63
  393. package/dist/tabs/TabsA11yFixture.svelte +0 -20
  394. package/dist/tabs/TabsA11yFixture.svelte.d.ts +0 -8
  395. package/dist/tabs/TabsA11yFixture.svelte.d.ts.map +0 -1
  396. package/dist/tabs/TabsKbdFixture.svelte +0 -25
  397. package/dist/tabs/TabsKbdFixture.svelte.d.ts +0 -7
  398. package/dist/tabs/TabsKbdFixture.svelte.d.ts.map +0 -1
  399. package/dist/tag/Tag.a11y.test.d.ts +0 -2
  400. package/dist/tag/Tag.a11y.test.d.ts.map +0 -1
  401. package/dist/tag/Tag.a11y.test.js +0 -30
  402. package/dist/tag/TagA11yFixture.svelte +0 -18
  403. package/dist/tag/TagA11yFixture.svelte.d.ts +0 -8
  404. package/dist/tag/TagA11yFixture.svelte.d.ts.map +0 -1
  405. package/dist/tag-input/TagInput.a11y.test.d.ts +0 -2
  406. package/dist/tag-input/TagInput.a11y.test.d.ts.map +0 -1
  407. package/dist/tag-input/TagInput.a11y.test.js +0 -38
  408. package/dist/tag-input/reorder.test.d.ts +0 -2
  409. package/dist/tag-input/reorder.test.d.ts.map +0 -1
  410. package/dist/tag-input/reorder.test.js +0 -48
  411. package/dist/test-utils/LocaleHarness.svelte +0 -29
  412. package/dist/test-utils/LocaleHarness.svelte.d.ts +0 -11
  413. package/dist/test-utils/LocaleHarness.svelte.d.ts.map +0 -1
  414. package/dist/test-utils/a11y.d.ts +0 -36
  415. package/dist/test-utils/a11y.d.ts.map +0 -1
  416. package/dist/test-utils/a11y.js +0 -68
  417. package/dist/test-utils/kbd.d.ts +0 -26
  418. package/dist/test-utils/kbd.d.ts.map +0 -1
  419. package/dist/test-utils/kbd.js +0 -38
  420. package/dist/textarea/TextArea.a11y.test.d.ts +0 -2
  421. package/dist/textarea/TextArea.a11y.test.d.ts.map +0 -1
  422. package/dist/textarea/TextArea.a11y.test.js +0 -41
  423. package/dist/time-picker/TimePicker.a11y.test.d.ts +0 -2
  424. package/dist/time-picker/TimePicker.a11y.test.d.ts.map +0 -1
  425. package/dist/time-picker/TimePicker.a11y.test.js +0 -42
  426. package/dist/time-picker/TimePicker.kbd.test.d.ts +0 -2
  427. package/dist/time-picker/TimePicker.kbd.test.d.ts.map +0 -1
  428. package/dist/time-picker/TimePicker.kbd.test.js +0 -59
  429. package/dist/time-picker/TimePickerKbdFixture.svelte +0 -23
  430. package/dist/time-picker/TimePickerKbdFixture.svelte.d.ts +0 -4
  431. package/dist/time-picker/TimePickerKbdFixture.svelte.d.ts.map +0 -1
  432. package/dist/timeline/Timeline.a11y.test.d.ts +0 -2
  433. package/dist/timeline/Timeline.a11y.test.d.ts.map +0 -1
  434. package/dist/timeline/Timeline.a11y.test.js +0 -51
  435. package/dist/toast/Toast.a11y.test.d.ts +0 -2
  436. package/dist/toast/Toast.a11y.test.d.ts.map +0 -1
  437. package/dist/toast/Toast.a11y.test.js +0 -58
  438. package/dist/tooltip/Tooltip.a11y.test.d.ts +0 -2
  439. package/dist/tooltip/Tooltip.a11y.test.d.ts.map +0 -1
  440. package/dist/tooltip/Tooltip.a11y.test.js +0 -33
  441. package/dist/tooltip/Tooltip.kbd.test.d.ts +0 -2
  442. package/dist/tooltip/Tooltip.kbd.test.d.ts.map +0 -1
  443. package/dist/tooltip/Tooltip.kbd.test.js +0 -31
  444. package/dist/tooltip/TooltipA11yFixture.svelte +0 -31
  445. package/dist/tooltip/TooltipA11yFixture.svelte.d.ts +0 -11
  446. package/dist/tooltip/TooltipA11yFixture.svelte.d.ts.map +0 -1
  447. package/dist/tooltip/TooltipKbdFixture.svelte +0 -16
  448. package/dist/tooltip/TooltipKbdFixture.svelte.d.ts +0 -19
  449. package/dist/tooltip/TooltipKbdFixture.svelte.d.ts.map +0 -1
  450. package/dist/transfer/Transfer.a11y.test.d.ts +0 -2
  451. package/dist/transfer/Transfer.a11y.test.d.ts.map +0 -1
  452. package/dist/transfer/Transfer.a11y.test.js +0 -59
  453. package/dist/transfer/Transfer.kbd.test.d.ts +0 -2
  454. package/dist/transfer/Transfer.kbd.test.d.ts.map +0 -1
  455. package/dist/transfer/Transfer.kbd.test.js +0 -64
  456. package/dist/transfer/TransferKbdFixture.svelte +0 -23
  457. package/dist/transfer/TransferKbdFixture.svelte.d.ts +0 -4
  458. package/dist/transfer/TransferKbdFixture.svelte.d.ts.map +0 -1
  459. package/dist/transfer/group.test.d.ts +0 -2
  460. package/dist/transfer/group.test.d.ts.map +0 -1
  461. package/dist/transfer/group.test.js +0 -47
  462. package/dist/transfer/reorder.test.d.ts +0 -2
  463. package/dist/transfer/reorder.test.d.ts.map +0 -1
  464. package/dist/transfer/reorder.test.js +0 -42
  465. package/dist/transfer/tree.test.d.ts +0 -2
  466. package/dist/transfer/tree.test.d.ts.map +0 -1
  467. package/dist/transfer/tree.test.js +0 -39
  468. package/dist/tree/Tree.a11y.test.d.ts +0 -2
  469. package/dist/tree/Tree.a11y.test.d.ts.map +0 -1
  470. package/dist/tree/Tree.a11y.test.js +0 -56
  471. package/dist/tree/Tree.kbd.test.d.ts +0 -2
  472. package/dist/tree/Tree.kbd.test.d.ts.map +0 -1
  473. package/dist/tree/Tree.kbd.test.js +0 -78
  474. package/dist/tree/TreeKbdFixture.svelte +0 -30
  475. package/dist/tree/TreeKbdFixture.svelte.d.ts +0 -19
  476. package/dist/tree/TreeKbdFixture.svelte.d.ts.map +0 -1
  477. package/dist/tree-select/TreeSelect.a11y.test.d.ts +0 -2
  478. package/dist/tree-select/TreeSelect.a11y.test.d.ts.map +0 -1
  479. package/dist/tree-select/TreeSelect.a11y.test.js +0 -48
  480. package/dist/tree-select/TreeSelect.kbd.test.d.ts +0 -2
  481. package/dist/tree-select/TreeSelect.kbd.test.d.ts.map +0 -1
  482. package/dist/tree-select/TreeSelect.kbd.test.js +0 -46
  483. package/dist/tree-select/TreeSelectKbdFixture.svelte +0 -20
  484. package/dist/tree-select/TreeSelectKbdFixture.svelte.d.ts +0 -19
  485. package/dist/tree-select/TreeSelectKbdFixture.svelte.d.ts.map +0 -1
  486. package/dist/tree-select/virtual.test.d.ts +0 -2
  487. package/dist/tree-select/virtual.test.d.ts.map +0 -1
  488. package/dist/tree-select/virtual.test.js +0 -86
  489. package/dist/typography/Typography.a11y.test.d.ts +0 -2
  490. package/dist/typography/Typography.a11y.test.d.ts.map +0 -1
  491. package/dist/typography/Typography.a11y.test.js +0 -31
  492. package/dist/typography/TypographyA11yFixture.svelte +0 -27
  493. package/dist/typography/TypographyA11yFixture.svelte.d.ts +0 -9
  494. package/dist/typography/TypographyA11yFixture.svelte.d.ts.map +0 -1
  495. package/dist/upload/Upload.a11y.test.d.ts +0 -2
  496. package/dist/upload/Upload.a11y.test.d.ts.map +0 -1
  497. package/dist/upload/Upload.a11y.test.js +0 -49
  498. package/dist/upload/UploadA11yFixture.svelte +0 -23
  499. package/dist/upload/UploadA11yFixture.svelte.d.ts +0 -10
  500. package/dist/upload/UploadA11yFixture.svelte.d.ts.map +0 -1
@@ -1,19 +0,0 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const CarouselKbdFixture: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
- [evt: string]: CustomEvent<any>;
16
- }, {}, {}, string>;
17
- type CarouselKbdFixture = InstanceType<typeof CarouselKbdFixture>;
18
- export default CarouselKbdFixture;
19
- //# sourceMappingURL=CarouselKbdFixture.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CarouselKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/carousel/CarouselKbdFixture.svelte.ts"],"names":[],"mappings":"AAsBA,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IACtG,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,kBAAkB;;kBAA+E,CAAC;AACtF,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,eAAe,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Cascader.a11y.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cascader.a11y.test.d.ts","sourceRoot":"","sources":["../../src/cascader/Cascader.a11y.test.ts"],"names":[],"mappings":""}
@@ -1,55 +0,0 @@
1
- // Cascader a11y:combobox 触发器 + 每列 listbox/option 浮层(use:floating portal 到 body)。
2
- // 只断言静态 ARIA + axe 0 violations,不测真实键盘/焦点(jsdom 限制)。
3
- // 打开态面板 portal 到 document.body,故扫描 document.body。
4
- import { describe, it, expect } from 'vitest';
5
- import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
6
- import Cascader from './Cascader.svelte';
7
- const treeData = [
8
- {
9
- label: 'Zhejiang',
10
- value: 'zj',
11
- children: [
12
- { label: 'Hangzhou', value: 'hz', children: [{ label: 'West Lake', value: 'xh' }] },
13
- ],
14
- },
15
- {
16
- label: 'Jiangsu',
17
- value: 'js',
18
- children: [{ label: 'Nanjing', value: 'nj' }],
19
- },
20
- ];
21
- describe('Cascader a11y', () => {
22
- it('关闭态:触发器 role=combobox / aria-expanded=false,无 axe violations', async () => {
23
- const { container } = renderWithLocale(Cascader, {
24
- props: { treeData, ariaLabel: 'Region', placeholder: 'Select region' },
25
- });
26
- const combobox = container.querySelector('[role="combobox"]');
27
- expect(combobox).not.toBeNull();
28
- expect(combobox?.getAttribute('aria-expanded')).toBe('false');
29
- expect(combobox?.getAttribute('aria-haspopup')).toBe('listbox');
30
- expect(combobox?.getAttribute('aria-label')).toBe('Region');
31
- await expectNoAxeViolations(container);
32
- });
33
- // 每列 listbox 经 locale Cascader.columnLabel 获可访问名(「第 N 级选项」)。
34
- it('打开态:面板列 listbox + option 渲染(portal 到 body),无 axe violations', async () => {
35
- renderWithLocale(Cascader, {
36
- props: { treeData, defaultOpen: true, ariaLabel: 'Region' },
37
- });
38
- const listbox = document.querySelector('[role="listbox"]');
39
- expect(listbox).not.toBeNull();
40
- expect(listbox?.getAttribute('aria-label')).toBeTruthy();
41
- const optionEls = document.querySelectorAll('[role="option"]');
42
- expect(optionEls.length).toBeGreaterThan(0);
43
- await expectNoAxeViolations(document.body);
44
- });
45
- it('已选路径:触发器 aria-expanded 切换,选中 option 标记 aria-selected', async () => {
46
- renderWithLocale(Cascader, {
47
- props: { treeData, defaultOpen: true, defaultValue: ['zj', 'hz', 'xh'], ariaLabel: 'Region' },
48
- });
49
- const combobox = document.querySelector('[role="combobox"]');
50
- expect(combobox?.getAttribute('aria-expanded')).toBe('true');
51
- const selected = document.querySelector('[role="option"][aria-selected="true"]');
52
- expect(selected).not.toBeNull();
53
- await expectNoAxeViolations(document.body);
54
- });
55
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Cascader.kbd.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cascader.kbd.test.d.ts","sourceRoot":"","sources":["../../src/cascader/Cascader.kbd.test.ts"],"names":[],"mappings":""}
@@ -1,47 +0,0 @@
1
- // Cascader 键盘 e2e(browser project / 真实 chromium),浮层列内方向键 roving。
2
- // Cascader 高亮走 aria-activedescendant 模型:焦点留在 role=combobox 触发器上
3
- // (options tabindex=-1,从不真实聚焦),列内高亮由触发器 aria-activedescendant
4
- // 指向的 option id 表达。故断言 activedescendant 指向的 option 文本变化,而非 toHaveFocus。
5
- // 浮层经 use:floating portal 到 document.body —— 在 document 范围查列 listbox。
6
- // 1. 打开后首次 ↓ 进首列首项;再 ↓ 移列内下一项;↑ 回上一项。
7
- // 2. Home/End 跳列内首/末项。
8
- import { describe, it, expect } from 'vitest';
9
- import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
10
- import CascaderKbdFixture from './CascaderKbdFixture.svelte';
11
- // 读触发器 aria-activedescendant 指向的 option,断言其 label(剥离展开箭头 ›)。
12
- function activeOptionText(combobox) {
13
- const id = combobox.getAttribute('aria-activedescendant');
14
- if (!id)
15
- return null;
16
- const el = document.getElementById(id);
17
- const label = el?.querySelector('.cd-cascader__option-label');
18
- return label?.textContent?.trim() ?? null;
19
- }
20
- describe('Cascader 键盘 e2e(aria-activedescendant 列内 roving)', () => {
21
- it('打开后 ↑↓ 列内移高亮 + Home/End 列内首末', async () => {
22
- renderKbdFixture(CascaderKbdFixture);
23
- const combobox = document.querySelector('[role="combobox"]');
24
- expect(combobox).not.toBeNull();
25
- // 点击触发器打开浮层(焦点留在 combobox)。
26
- await userEvent.click(combobox);
27
- const listbox = document.querySelector('.cd-cascader__column[role="listbox"]');
28
- expect(listbox).not.toBeNull();
29
- const options = Array.from(listbox.querySelectorAll('[role="option"]'));
30
- expect(options.length).toBe(3);
31
- expect(options.every((o) => o.tabIndex === -1)).toBe(true);
32
- // 1. 首次 ↓ 进首列首项(Zhejiang)。
33
- await userEvent.keyboard('{ArrowDown}');
34
- expect(activeOptionText(combobox)).toBe('Zhejiang');
35
- // 再 ↓ 列内移到第二项(Jiangsu)。
36
- await userEvent.keyboard('{ArrowDown}');
37
- expect(activeOptionText(combobox)).toBe('Jiangsu');
38
- // ↑ 回到第一项(Zhejiang)。
39
- await userEvent.keyboard('{ArrowUp}');
40
- expect(activeOptionText(combobox)).toBe('Zhejiang');
41
- // 2. End 跳列内末项(Fujian);Home 回列内首项(Zhejiang)。
42
- await userEvent.keyboard('{End}');
43
- expect(activeOptionText(combobox)).toBe('Fujian');
44
- await userEvent.keyboard('{Home}');
45
- expect(activeOptionText(combobox)).toBe('Zhejiang');
46
- });
47
- });
@@ -1,31 +0,0 @@
1
- <!--
2
- 仅供 Cascader.kbd.test.ts(browser project)使用的键盘 e2e 夹具。
3
- Cascader 浮层 portal 到 document.body;列内高亮走 aria-activedescendant
4
- (焦点留在 role=combobox 触发器上,方向键移动列内高亮,options tabindex=-1)。
5
- -->
6
- <script lang="ts">
7
- import { LocaleProvider } from '../locale-provider/index.js';
8
- import Cascader from './Cascader.svelte';
9
-
10
- const treeData = [
11
- {
12
- label: 'Zhejiang',
13
- value: 'zj',
14
- children: [{ label: 'Hangzhou', value: 'hz' }],
15
- },
16
- {
17
- label: 'Jiangsu',
18
- value: 'js',
19
- children: [{ label: 'Nanjing', value: 'nj' }],
20
- },
21
- {
22
- label: 'Fujian',
23
- value: 'fj',
24
- children: [{ label: 'Xiamen', value: 'xm' }],
25
- },
26
- ];
27
- </script>
28
-
29
- <LocaleProvider locale="en_US">
30
- <Cascader {treeData} ariaLabel="Region" placeholder="Select region" />
31
- </LocaleProvider>
@@ -1,19 +0,0 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const CascaderKbdFixture: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
- [evt: string]: CustomEvent<any>;
16
- }, {}, {}, string>;
17
- type CascaderKbdFixture = InstanceType<typeof CascaderKbdFixture>;
18
- export default CascaderKbdFixture;
19
- //# sourceMappingURL=CascaderKbdFixture.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CascaderKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/cascader/CascaderKbdFixture.svelte.ts"],"names":[],"mappings":"AAoCA,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IACtG,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,kBAAkB;;kBAA+E,CAAC;AACtF,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,eAAe,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=CheckboxGroup.a11y.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckboxGroup.a11y.test.d.ts","sourceRoot":"","sources":["../../src/checkbox/CheckboxGroup.a11y.test.ts"],"names":[],"mappings":""}
@@ -1,38 +0,0 @@
1
- // CheckboxGroup a11y:role="group" 容器 + 多个 checkbox 选项(原生 input)。
2
- // 只断言静态 ARIA + axe 0 violations,不测键盘(jsdom 限制)。
3
- import { describe, it, expect } from 'vitest';
4
- import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
5
- import CheckboxGroup from './CheckboxGroup.svelte';
6
- const OPTIONS = [
7
- { label: 'Read', value: 'read' },
8
- { label: 'Write', value: 'write' },
9
- { label: 'Delete', value: 'delete', disabled: true },
10
- ];
11
- describe('CheckboxGroup a11y', () => {
12
- it('默认:role=group + ariaLabel + 多选项渲染,无 axe violations', async () => {
13
- const { container } = renderWithLocale(CheckboxGroup, {
14
- props: { ariaLabel: 'Permissions', options: OPTIONS },
15
- });
16
- const group = container.querySelector('[role="group"]');
17
- expect(group?.getAttribute('aria-label')).toBe('Permissions');
18
- const boxes = container.querySelectorAll('input[type="checkbox"]');
19
- expect(boxes.length).toBe(3);
20
- await expectNoAxeViolations(container);
21
- });
22
- it('选中态:value 命中的 checkbox 为 checked', async () => {
23
- const { container } = renderWithLocale(CheckboxGroup, {
24
- props: { ariaLabel: 'Permissions', options: OPTIONS, value: ['read', 'write'] },
25
- });
26
- const checked = container.querySelectorAll('input[type="checkbox"]:checked');
27
- expect(checked.length).toBe(2);
28
- await expectNoAxeViolations(container);
29
- });
30
- it('禁用项:对应 checkbox 为 disabled', async () => {
31
- const { container } = renderWithLocale(CheckboxGroup, {
32
- props: { ariaLabel: 'Permissions', options: OPTIONS },
33
- });
34
- const disabled = container.querySelectorAll('input[type="checkbox"]:disabled');
35
- expect(disabled.length).toBe(1);
36
- await expectNoAxeViolations(container);
37
- });
38
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=CheckboxGroup.kbd.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckboxGroup.kbd.test.d.ts","sourceRoot":"","sources":["../../src/checkbox/CheckboxGroup.kbd.test.ts"],"names":[],"mappings":""}
@@ -1,33 +0,0 @@
1
- // CheckboxGroup 键盘 e2e(browser project / 真实 chromium)。
2
- // 组(role=group)内为原生 <input type=checkbox>(视觉隐藏但 Tab 可达、Space 可切):
3
- // Tab 从前置按钮进入聚焦首个复选框,Space 切换其 checked(原生语义 → checked 属性)。
4
- import { describe, it, expect } from 'vitest';
5
- import { page } from 'vitest/browser';
6
- import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
7
- import CheckboxGroupKbdFixture from './CheckboxGroupKbdFixture.svelte';
8
- function loc(el) {
9
- return page.elementLocator(el);
10
- }
11
- describe('CheckboxGroup 键盘 e2e(Tab 进入 + Space 切换)', () => {
12
- it('Tab 聚焦首个复选框 + Space 切换 checked', async () => {
13
- const { baseElement } = renderKbdFixture(CheckboxGroupKbdFixture);
14
- const group = baseElement.querySelector('[role="group"]');
15
- expect(group).not.toBeNull();
16
- const inputs = Array.from(group.querySelectorAll('input[type="checkbox"]'));
17
- expect(inputs.length).toBe(2);
18
- const first = inputs[0];
19
- expect(first.checked).toBe(false);
20
- // 从前置按钮 Tab 进入 → 焦点落到首个复选框(真实焦点)。
21
- const before = baseElement.querySelector('[data-testid="before"]');
22
- before.focus();
23
- await expect.element(loc(before)).toHaveFocus();
24
- await userEvent.tab();
25
- await expect.element(loc(first)).toHaveFocus();
26
- // Space 切换 checked:未选 → 选中。
27
- await userEvent.keyboard(' ');
28
- expect(first.checked).toBe(true);
29
- // 再次 Space 取消。
30
- await userEvent.keyboard(' ');
31
- expect(first.checked).toBe(false);
32
- });
33
- });
@@ -1,20 +0,0 @@
1
- <!--
2
- 仅供 CheckboxGroup.kbd.test.ts(browser project)使用的键盘 e2e 夹具。
3
- CheckboxGroup(role=group)内为原生 <input type=checkbox>(视觉隐藏但可聚焦)。
4
- Tab 进入聚焦首个 input,Space 切换其 checked 状态。data-testid=before 用于起跳。
5
- -->
6
- <script lang="ts">
7
- import { LocaleProvider } from '../locale-provider/index.js';
8
- import CheckboxGroup from './CheckboxGroup.svelte';
9
- </script>
10
-
11
- <LocaleProvider locale="en_US">
12
- <button type="button" data-testid="before">before</button>
13
- <CheckboxGroup
14
- options={[
15
- { label: 'Apple', value: 'a' },
16
- { label: 'Banana', value: 'b' },
17
- ]}
18
- ariaLabel="Fruits"
19
- />
20
- </LocaleProvider>
@@ -1,19 +0,0 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const CheckboxGroupKbdFixture: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
- [evt: string]: CustomEvent<any>;
16
- }, {}, {}, string>;
17
- type CheckboxGroupKbdFixture = InstanceType<typeof CheckboxGroupKbdFixture>;
18
- export default CheckboxGroupKbdFixture;
19
- //# sourceMappingURL=CheckboxGroupKbdFixture.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckboxGroupKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/checkbox/CheckboxGroupKbdFixture.svelte.ts"],"names":[],"mappings":"AAsBA,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IACtG,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,uBAAuB;;kBAA+E,CAAC;AAC3F,KAAK,uBAAuB,GAAG,YAAY,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC9E,eAAe,uBAAuB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Collapse.a11y.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Collapse.a11y.test.d.ts","sourceRoot":"","sources":["../../src/collapse/Collapse.a11y.test.ts"],"names":[],"mappings":""}
@@ -1,46 +0,0 @@
1
- // Collapse a11y:折叠面板(APG Accordion)。
2
- // Header 外层 role=heading + aria-level;触发器为原生 button + aria-expanded;
3
- // button aria-controls 指向内容 region,region aria-labelledby 指回 header。
4
- // 用数据驱动夹具(CollapseA11yFixture)渲染真实 region,使 aria-controls 不悬空。
5
- import { describe, it, expect } from 'vitest';
6
- import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
7
- import CollapseFixture from './CollapseA11yFixture.svelte';
8
- describe('Collapse a11y', () => {
9
- it('默认渲染:role=heading + button aria-expanded + region 关联,无 axe violations', async () => {
10
- const { container } = renderWithLocale(CollapseFixture, {});
11
- // 每个 panel 的 Header 外层为 role=heading + aria-level。
12
- const headings = container.querySelectorAll('[role="heading"]');
13
- expect(headings.length).toBe(3);
14
- expect(headings[0]?.getAttribute('aria-level')).toBe('3');
15
- // 触发器为原生 button,aria-expanded 标记展开态(默认全收起)。
16
- const headerBtns = container.querySelectorAll('button.cd-collapse__header');
17
- expect(headerBtns.length).toBe(3);
18
- expect(headerBtns[0]?.getAttribute('aria-expanded')).toBe('false');
19
- // aria-controls 指向真实存在的 region,region aria-labelledby 指回 header。
20
- const controls = headerBtns[0]?.getAttribute('aria-controls');
21
- expect(controls).toBeTruthy();
22
- const region = controls ? container.ownerDocument.getElementById(controls) : null;
23
- expect(region?.getAttribute('role')).toBe('region');
24
- expect(region?.getAttribute('aria-labelledby')).toBe(headerBtns[0]?.id);
25
- await expectNoAxeViolations(container);
26
- });
27
- it('defaultActiveKey 展开:对应 header aria-expanded=true,region 非 hidden', async () => {
28
- const { container } = renderWithLocale(CollapseFixture, {
29
- props: { defaultActiveKey: 'a' },
30
- });
31
- const headerBtns = container.querySelectorAll('button.cd-collapse__header');
32
- expect(headerBtns[0]?.getAttribute('aria-expanded')).toBe('true');
33
- const controls = headerBtns[0]?.getAttribute('aria-controls');
34
- const region = controls ? container.ownerDocument.getElementById(controls) : null;
35
- expect(region?.hasAttribute('hidden')).toBe(false);
36
- await expectNoAxeViolations(container);
37
- });
38
- it('roving tabindex:仅一个 Header 为 Tab 停靠点(tabindex=0),其余 -1', async () => {
39
- const { container } = renderWithLocale(CollapseFixture, {});
40
- const headerBtns = [...container.querySelectorAll('button.cd-collapse__header')];
41
- const zero = headerBtns.filter((b) => b.getAttribute('tabindex') === '0');
42
- // 首个未禁用 Header 为停靠点;禁用项(第三个)从 roving 中排除。
43
- expect(zero.length).toBe(1);
44
- await expectNoAxeViolations(container);
45
- });
46
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Collapse.kbd.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Collapse.kbd.test.d.ts","sourceRoot":"","sources":["../../src/collapse/Collapse.kbd.test.ts"],"names":[],"mappings":""}
@@ -1,70 +0,0 @@
1
- // Collapse 键盘 e2e(browser project / 真实 chromium)。
2
- // APG Accordion:Header 组为单一 Tab 停靠点,roving(真实焦点)。
3
- // 测真实焦点移动 + Enter/Space 展开——jsdom 测不了(命令式 focus() 不可靠):
4
- // 1. roving 单停靠点:Tab 进入只停在一个 Header(其余 tabindex=-1,默认首个)。
5
- // 2. ↑↓ 真实移动焦点到相邻 Header(无 wrap:clamp,源码 nextRovingIndex(...,false))。
6
- // 3. Home/End 跳首/末 Header。
7
- // 4. Enter / Space 展开当前焦点 Header(aria-expanded=true)。
8
- //
9
- // 真实焦点断言用 page locator 的 .toHaveFocus()。
10
- import { describe, it, expect } from 'vitest';
11
- import { page } from 'vitest/browser';
12
- import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
13
- import CollapseKbdFixture from './CollapseKbdFixture.svelte';
14
- function loc(el) {
15
- return page.elementLocator(el);
16
- }
17
- describe('Collapse 键盘 e2e(accordion header roving,真实焦点)', () => {
18
- it('Tab 单停靠点 + ↑↓ 移动焦点(clamp)+ Home/End', async () => {
19
- const { baseElement } = renderKbdFixture(CollapseKbdFixture);
20
- const headers = Array.from(baseElement.querySelectorAll('.cd-collapse__header[data-collapse-key]'));
21
- expect(headers.length).toBe(3);
22
- const [h1, h2, h3] = headers;
23
- // 1. roving 单停靠点:默认首个 Header 为 tabindex=0,其余 -1。
24
- expect(headers.filter((el) => el.tabIndex === 0).length).toBe(1);
25
- expect(h1.tabIndex).toBe(0);
26
- const before = baseElement.querySelector('[data-testid="before"]');
27
- before.focus();
28
- await expect.element(loc(before)).toHaveFocus();
29
- await userEvent.tab();
30
- await expect.element(loc(h1)).toHaveFocus();
31
- // 2. ↓ 移动焦点到下一 Header(真实焦点 + 停靠点同步)。
32
- await userEvent.keyboard('{ArrowDown}');
33
- await expect.element(loc(h2)).toHaveFocus();
34
- expect(h2.tabIndex).toBe(0);
35
- expect(h1.tabIndex).toBe(-1);
36
- await userEvent.keyboard('{ArrowDown}');
37
- await expect.element(loc(h3)).toHaveFocus();
38
- // 无 wrap:末项再 ↓ 停在末项(clamp)。
39
- await userEvent.keyboard('{ArrowDown}');
40
- await expect.element(loc(h3)).toHaveFocus();
41
- // ↑ 回退;首项再 ↑ 停在首项(clamp)。
42
- await userEvent.keyboard('{ArrowUp}');
43
- await expect.element(loc(h2)).toHaveFocus();
44
- await userEvent.keyboard('{ArrowUp}');
45
- await expect.element(loc(h1)).toHaveFocus();
46
- await userEvent.keyboard('{ArrowUp}');
47
- await expect.element(loc(h1)).toHaveFocus();
48
- // 3. Home/End 跳首/末。
49
- await userEvent.keyboard('{End}');
50
- await expect.element(loc(h3)).toHaveFocus();
51
- await userEvent.keyboard('{Home}');
52
- await expect.element(loc(h1)).toHaveFocus();
53
- });
54
- it('Enter / Space 展开当前焦点 Header(aria-expanded)', async () => {
55
- const { baseElement } = renderKbdFixture(CollapseKbdFixture);
56
- const headers = Array.from(baseElement.querySelectorAll('.cd-collapse__header[data-collapse-key]'));
57
- const [h1, h2] = headers;
58
- h1.focus();
59
- await expect.element(loc(h1)).toHaveFocus();
60
- expect(h1.getAttribute('aria-expanded')).toBe('false');
61
- // Enter 展开当前 Header(原生 button 触发 onclick → toggle)。
62
- await userEvent.keyboard('{Enter}');
63
- await expect.element(loc(h1)).toHaveAttribute('aria-expanded', 'true');
64
- // 移到下一 Header,Space 展开(非 accordion,可同时展开)。
65
- await userEvent.keyboard('{ArrowDown}');
66
- await expect.element(loc(h2)).toHaveFocus();
67
- await userEvent.keyboard(' ');
68
- await expect.element(loc(h2)).toHaveAttribute('aria-expanded', 'true');
69
- });
70
- });
@@ -1,27 +0,0 @@
1
- <!--
2
- 仅供 Collapse.a11y.test.ts 使用的测试夹具:数据驱动 panels + children Snippet 渲染面板内容,
3
- 使 header button 的 aria-controls 指向真实存在的 region(axe aria-valid-attr-value 通过)。
4
- -->
5
- <script lang="ts">
6
- import { Collapse } from './index.js';
7
- import type { CollapsePanel } from './types.js';
8
-
9
- interface Props {
10
- accordion?: boolean;
11
- disabled?: boolean;
12
- defaultActiveKey?: string | string[];
13
- }
14
- let { accordion = false, disabled = false, defaultActiveKey = [] }: Props = $props();
15
-
16
- const panels: CollapsePanel[] = [
17
- { key: 'a', header: 'Section A' },
18
- { key: 'b', header: 'Section B' },
19
- { key: 'c', header: 'Section C', disabled: true },
20
- ];
21
- </script>
22
-
23
- <Collapse {panels} {accordion} {disabled} {defaultActiveKey}>
24
- {#snippet children({ key })}
25
- <p>Content for {key}</p>
26
- {/snippet}
27
- </Collapse>
@@ -1,9 +0,0 @@
1
- interface Props {
2
- accordion?: boolean;
3
- disabled?: boolean;
4
- defaultActiveKey?: string | string[];
5
- }
6
- declare const CollapseA11yFixture: import("svelte").Component<Props, {}, "">;
7
- type CollapseA11yFixture = ReturnType<typeof CollapseA11yFixture>;
8
- export default CollapseA11yFixture;
9
- //# sourceMappingURL=CollapseA11yFixture.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CollapseA11yFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/collapse/CollapseA11yFixture.svelte.ts"],"names":[],"mappings":"AAOE,UAAU,KAAK;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACtC;AAuBH,QAAA,MAAM,mBAAmB,2CAAwC,CAAC;AAClE,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAClE,eAAe,mBAAmB,CAAC"}
@@ -1,25 +0,0 @@
1
- <!--
2
- 仅供 Collapse.kbd.test.ts(browser project)使用的键盘 e2e 夹具。
3
- 数据驱动 panels;Header 组为单一 Tab 停靠点(roving,真实焦点)。
4
- 前后各放按钮验证 Tab 进入只停靠单个 Header、Tab 出去落到 after。
5
- -->
6
- <script lang="ts">
7
- import { LocaleProvider } from '../locale-provider/index.js';
8
- import Collapse from './Collapse.svelte';
9
-
10
- const panels = [
11
- { key: 'p1', header: 'Panel One' },
12
- { key: 'p2', header: 'Panel Two' },
13
- { key: 'p3', header: 'Panel Three' },
14
- ];
15
- </script>
16
-
17
- <LocaleProvider locale="en_US">
18
- <button type="button" data-testid="before">before</button>
19
- <Collapse {panels}>
20
- {#snippet children({ key }: { key: string })}
21
- <p>content {key}</p>
22
- {/snippet}
23
- </Collapse>
24
- <button type="button" data-testid="after">after</button>
25
- </LocaleProvider>
@@ -1,19 +0,0 @@
1
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
- $$bindings?: Bindings;
4
- } & Exports;
5
- (internal: unknown, props: {
6
- $$events?: Events;
7
- $$slots?: Slots;
8
- }): Exports & {
9
- $set?: any;
10
- $on?: any;
11
- };
12
- z_$$bindings?: Bindings;
13
- }
14
- declare const CollapseKbdFixture: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
- [evt: string]: CustomEvent<any>;
16
- }, {}, {}, string>;
17
- type CollapseKbdFixture = InstanceType<typeof CollapseKbdFixture>;
18
- export default CollapseKbdFixture;
19
- //# sourceMappingURL=CollapseKbdFixture.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CollapseKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/collapse/CollapseKbdFixture.svelte.ts"],"names":[],"mappings":"AA8BA,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IACtG,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,kBAAkB;;kBAA+E,CAAC;AACtF,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,eAAe,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ColorPicker.a11y.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColorPicker.a11y.test.d.ts","sourceRoot":"","sources":["../../src/color-picker/ColorPicker.a11y.test.ts"],"names":[],"mappings":""}
@@ -1,54 +0,0 @@
1
- // ColorPicker a11y:inline 面板 role=group;saturation/hue/alpha 滑块 role=slider;
2
- // presets role=listbox/option;trigger 模式按钮 aria-haspopup/aria-expanded,需 ariaLabel 提供可访问名。
3
- // 浮层不 portal,渲染在 root 容器内,故扫 container(参照 Modal 但无需扫 body)。
4
- import { describe, it, expect } from 'vitest';
5
- import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
6
- import ColorPicker from './ColorPicker.svelte';
7
- describe('ColorPicker a11y', () => {
8
- it('inline:role=group 面板 + 滑块 role=slider + presets listbox/option,无 axe violations', async () => {
9
- const { container } = renderWithLocale(ColorPicker, {
10
- props: { inline: true, defaultValue: '#3370ff', alpha: true, presets: ['#ff0000', '#00ff00'] },
11
- });
12
- const panel = container.querySelector('[role="group"]');
13
- expect(panel).not.toBeNull();
14
- expect(panel?.getAttribute('aria-label')).toBeTruthy();
15
- // saturation / hue / alpha 三个 slider,均有 aria-label + aria-valuenow。
16
- const sliders = container.querySelectorAll('[role="slider"]');
17
- expect(sliders.length).toBeGreaterThanOrEqual(3);
18
- sliders.forEach((s) => {
19
- expect(s.getAttribute('aria-label')).toBeTruthy();
20
- expect(s.getAttribute('aria-valuenow')).not.toBeNull();
21
- });
22
- // presets:listbox + option,可访问名/选中态。
23
- const listbox = container.querySelector('[role="listbox"]');
24
- expect(listbox).not.toBeNull();
25
- expect(listbox?.getAttribute('aria-label')).toBeTruthy();
26
- const options = container.querySelectorAll('[role="option"]');
27
- expect(options.length).toBe(2);
28
- expect(options[0]?.getAttribute('aria-label')).toBeTruthy();
29
- await expectNoAxeViolations(container);
30
- });
31
- it('trigger 模式(关闭态):trigger 按钮 aria-haspopup=dialog / aria-expanded=false / ariaLabel 可访问名', async () => {
32
- const { container } = renderWithLocale(ColorPicker, {
33
- props: { ariaLabel: 'Pick brand color', defaultValue: '#3370ff' },
34
- });
35
- const trigger = container.querySelector('.cd-color-picker__trigger');
36
- expect(trigger?.getAttribute('aria-haspopup')).toBe('dialog');
37
- expect(trigger?.getAttribute('aria-expanded')).toBe('false');
38
- expect(trigger?.getAttribute('aria-label')).toBe('Pick brand color');
39
- await expectNoAxeViolations(container);
40
- });
41
- it('trigger 模式(打开态):role=dialog 面板渲染于容器内,aria-expanded=true,无 axe violations', async () => {
42
- const { container } = renderWithLocale(ColorPicker, {
43
- props: { ariaLabel: 'Background color', open: true, defaultValue: '#112233' },
44
- });
45
- const trigger = container.querySelector('.cd-color-picker__trigger');
46
- expect(trigger?.getAttribute('aria-expanded')).toBe('true');
47
- // 浮层非 portal:直接在 root 容器内查询。
48
- const dialog = container.querySelector('[role="dialog"]');
49
- expect(dialog).not.toBeNull();
50
- expect(dialog?.getAttribute('aria-label')).toBe('Background color');
51
- expect(container.querySelectorAll('[role="slider"]').length).toBeGreaterThanOrEqual(2);
52
- await expectNoAxeViolations(container);
53
- });
54
- });