@chenzy-design/svelte 0.1.0 → 0.2.0

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 (476) hide show
  1. package/dist/components.json +1 -1
  2. package/package.json +7 -8
  3. package/src/_floating/use-floating.ts +0 -208
  4. package/src/anchor/Anchor.a11y.test.ts +0 -49
  5. package/src/anchor/Anchor.kbd.test.ts +0 -70
  6. package/src/anchor/Anchor.svelte +0 -359
  7. package/src/anchor/AnchorKbdFixture.svelte +0 -24
  8. package/src/anchor/index.ts +0 -3
  9. package/src/anchor/meta.ts +0 -70
  10. package/src/anchor/types.ts +0 -8
  11. package/src/autocomplete/AutoComplete.a11y.test.ts +0 -49
  12. package/src/autocomplete/AutoComplete.kbd.test.ts +0 -69
  13. package/src/autocomplete/AutoComplete.svelte +0 -706
  14. package/src/autocomplete/AutoCompleteKbdFixture.svelte +0 -24
  15. package/src/autocomplete/index.ts +0 -2
  16. package/src/autocomplete/meta.ts +0 -41
  17. package/src/avatar/Avatar.a11y.test.ts +0 -37
  18. package/src/avatar/Avatar.svelte +0 -315
  19. package/src/avatar/AvatarGroup.svelte +0 -142
  20. package/src/avatar/context.ts +0 -21
  21. package/src/avatar/index.ts +0 -10
  22. package/src/avatar/meta.ts +0 -73
  23. package/src/back-top/BackTop.a11y.test.ts +0 -40
  24. package/src/back-top/BackTop.svelte +0 -314
  25. package/src/back-top/index.ts +0 -2
  26. package/src/back-top/meta.ts +0 -108
  27. package/src/badge/Badge.a11y.test.ts +0 -35
  28. package/src/badge/Badge.svelte +0 -328
  29. package/src/badge/BadgeA11yFixture.svelte +0 -18
  30. package/src/badge/index.ts +0 -2
  31. package/src/badge/meta.ts +0 -62
  32. package/src/banner/Banner.a11y.test.ts +0 -48
  33. package/src/banner/Banner.svelte +0 -368
  34. package/src/banner/index.ts +0 -3
  35. package/src/banner/meta.ts +0 -121
  36. package/src/breadcrumb/Breadcrumb.a11y.test.ts +0 -35
  37. package/src/breadcrumb/Breadcrumb.kbd.test.ts +0 -45
  38. package/src/breadcrumb/Breadcrumb.svelte +0 -414
  39. package/src/breadcrumb/BreadcrumbKbdFixture.svelte +0 -23
  40. package/src/breadcrumb/Item.svelte +0 -77
  41. package/src/breadcrumb/context.ts +0 -27
  42. package/src/breadcrumb/index.ts +0 -21
  43. package/src/breadcrumb/meta.ts +0 -128
  44. package/src/breadcrumb/types.ts +0 -4
  45. package/src/button/Button.a11y.test.ts +0 -54
  46. package/src/button/Button.svelte +0 -176
  47. package/src/button/index.ts +0 -2
  48. package/src/button/meta.ts +0 -28
  49. package/src/calendar/Calendar.a11y.test.ts +0 -51
  50. package/src/calendar/Calendar.kbd.test.ts +0 -59
  51. package/src/calendar/Calendar.svelte +0 -1344
  52. package/src/calendar/CalendarKbdFixture.svelte +0 -23
  53. package/src/calendar/index.ts +0 -3
  54. package/src/calendar/meta.ts +0 -117
  55. package/src/card/Card.a11y.test.ts +0 -38
  56. package/src/card/Card.svelte +0 -341
  57. package/src/card/CardMeta.svelte +0 -60
  58. package/src/card/index.ts +0 -8
  59. package/src/card/meta.ts +0 -83
  60. package/src/carousel/Carousel.a11y.test.ts +0 -53
  61. package/src/carousel/Carousel.kbd.test.ts +0 -67
  62. package/src/carousel/Carousel.svelte +0 -806
  63. package/src/carousel/CarouselA11yFixture.svelte +0 -25
  64. package/src/carousel/CarouselKbdFixture.svelte +0 -24
  65. package/src/carousel/index.ts +0 -2
  66. package/src/carousel/meta.ts +0 -74
  67. package/src/cascader/Cascader.a11y.test.ts +0 -59
  68. package/src/cascader/Cascader.kbd.test.ts +0 -56
  69. package/src/cascader/Cascader.svelte +0 -1570
  70. package/src/cascader/CascaderKbdFixture.svelte +0 -31
  71. package/src/cascader/index.ts +0 -3
  72. package/src/cascader/meta.ts +0 -57
  73. package/src/cascader/types.ts +0 -9
  74. package/src/checkbox/Checkbox.svelte +0 -281
  75. package/src/checkbox/CheckboxGroup.a11y.test.ts +0 -43
  76. package/src/checkbox/CheckboxGroup.kbd.test.ts +0 -40
  77. package/src/checkbox/CheckboxGroup.svelte +0 -122
  78. package/src/checkbox/CheckboxGroupKbdFixture.svelte +0 -20
  79. package/src/checkbox/context.ts +0 -31
  80. package/src/checkbox/index.ts +0 -4
  81. package/src/checkbox/meta.ts +0 -67
  82. package/src/collapse/Collapse.a11y.test.ts +0 -53
  83. package/src/collapse/Collapse.kbd.test.ts +0 -89
  84. package/src/collapse/Collapse.svelte +0 -406
  85. package/src/collapse/CollapseA11yFixture.svelte +0 -27
  86. package/src/collapse/CollapseKbdFixture.svelte +0 -25
  87. package/src/collapse/CollapsePanel.svelte +0 -102
  88. package/src/collapse/context.ts +0 -54
  89. package/src/collapse/index.ts +0 -17
  90. package/src/collapse/meta.ts +0 -79
  91. package/src/collapse/types.ts +0 -5
  92. package/src/color-picker/ColorPicker.a11y.test.ts +0 -60
  93. package/src/color-picker/ColorPicker.kbd.test.ts +0 -73
  94. package/src/color-picker/ColorPicker.svelte +0 -985
  95. package/src/color-picker/ColorPickerKbdFixture.svelte +0 -25
  96. package/src/color-picker/index.ts +0 -2
  97. package/src/color-picker/meta.ts +0 -47
  98. package/src/config-provider/ConfigProvider.svelte +0 -227
  99. package/src/config-provider/context.ts +0 -29
  100. package/src/config-provider/index.ts +0 -48
  101. package/src/config-provider/meta.ts +0 -128
  102. package/src/date-picker/DatePicker.a11y.test.ts +0 -45
  103. package/src/date-picker/DatePicker.kbd.test.ts +0 -71
  104. package/src/date-picker/DatePicker.svelte +0 -1798
  105. package/src/date-picker/DatePickerKbdFixture.svelte +0 -26
  106. package/src/date-picker/RangePicker.kbd.test.ts +0 -69
  107. package/src/date-picker/RangePicker.svelte +0 -775
  108. package/src/date-picker/RangePickerKbdFixture.svelte +0 -30
  109. package/src/date-picker/index.ts +0 -4
  110. package/src/date-picker/meta.ts +0 -67
  111. package/src/date-picker/range-meta.ts +0 -44
  112. package/src/descriptions/Descriptions.a11y.test.ts +0 -33
  113. package/src/descriptions/Descriptions.svelte +0 -287
  114. package/src/descriptions/DescriptionsItem.svelte +0 -43
  115. package/src/descriptions/context.ts +0 -21
  116. package/src/descriptions/index.ts +0 -16
  117. package/src/descriptions/meta.ts +0 -45
  118. package/src/descriptions/types.ts +0 -6
  119. package/src/divider/Divider.a11y.test.ts +0 -23
  120. package/src/divider/Divider.svelte +0 -154
  121. package/src/divider/index.ts +0 -2
  122. package/src/divider/meta.ts +0 -23
  123. package/src/drawer/Drawer.a11y.test.ts +0 -41
  124. package/src/drawer/Drawer.kbd.test.ts +0 -67
  125. package/src/drawer/Drawer.svelte +0 -554
  126. package/src/drawer/DrawerKbdFixture.svelte +0 -28
  127. package/src/drawer/index.ts +0 -2
  128. package/src/drawer/meta.ts +0 -127
  129. package/src/dropdown/Dropdown.a11y.test.ts +0 -46
  130. package/src/dropdown/Dropdown.kbd.test.ts +0 -56
  131. package/src/dropdown/Dropdown.svelte +0 -573
  132. package/src/dropdown/DropdownA11yFixture.svelte +0 -24
  133. package/src/dropdown/DropdownDivider.svelte +0 -17
  134. package/src/dropdown/DropdownItem.svelte +0 -127
  135. package/src/dropdown/DropdownItemNode.svelte +0 -355
  136. package/src/dropdown/DropdownKbdFixture.svelte +0 -26
  137. package/src/dropdown/DropdownMenu.svelte +0 -24
  138. package/src/dropdown/DropdownSubMenu.svelte +0 -212
  139. package/src/dropdown/DropdownTitle.svelte +0 -34
  140. package/src/dropdown/context.ts +0 -13
  141. package/src/dropdown/index.ts +0 -36
  142. package/src/dropdown/meta.ts +0 -97
  143. package/src/dropdown/types.test.ts +0 -50
  144. package/src/dropdown/types.ts +0 -67
  145. package/src/empty/Empty.a11y.test.ts +0 -24
  146. package/src/empty/Empty.svelte +0 -304
  147. package/src/empty/index.ts +0 -2
  148. package/src/empty/meta.ts +0 -41
  149. package/src/form/Field.svelte +0 -492
  150. package/src/form/FieldArray.svelte +0 -75
  151. package/src/form/Form.a11y.test.ts +0 -39
  152. package/src/form/Form.svelte +0 -243
  153. package/src/form/FormA11yFixture.svelte +0 -31
  154. package/src/form/FormCascader.svelte +0 -82
  155. package/src/form/FormCheckbox.svelte +0 -83
  156. package/src/form/FormDatePicker.svelte +0 -80
  157. package/src/form/FormErrorMessage.svelte +0 -44
  158. package/src/form/FormInput.svelte +0 -95
  159. package/src/form/FormLabel.svelte +0 -46
  160. package/src/form/FormRadio.svelte +0 -83
  161. package/src/form/FormRating.svelte +0 -85
  162. package/src/form/FormSection.svelte +0 -45
  163. package/src/form/FormSelect.svelte +0 -96
  164. package/src/form/FormSlider.svelte +0 -95
  165. package/src/form/FormSlot.svelte +0 -51
  166. package/src/form/FormSwitch.svelte +0 -82
  167. package/src/form/FormTagInput.svelte +0 -79
  168. package/src/form/FormTreeSelect.svelte +0 -85
  169. package/src/form/FormUpload.svelte +0 -92
  170. package/src/form/context.ts +0 -47
  171. package/src/form/index.ts +0 -22
  172. package/src/form/meta.ts +0 -85
  173. package/src/grid/Col.svelte +0 -142
  174. package/src/grid/Grid.a11y.test.ts +0 -14
  175. package/src/grid/GridA11yFixture.svelte +0 -12
  176. package/src/grid/Row.svelte +0 -116
  177. package/src/grid/index.ts +0 -3
  178. package/src/grid/meta.ts +0 -72
  179. package/src/grid/use-breakpoint.svelte.ts +0 -48
  180. package/src/highlight/Highlight.a11y.test.ts +0 -25
  181. package/src/highlight/Highlight.svelte +0 -99
  182. package/src/highlight/index.ts +0 -2
  183. package/src/highlight/meta.ts +0 -80
  184. package/src/icon/Icon.svelte +0 -156
  185. package/src/icon/index.ts +0 -2
  186. package/src/icon/meta.ts +0 -41
  187. package/src/image/Image.a11y.test.ts +0 -30
  188. package/src/image/Image.svelte +0 -387
  189. package/src/image/ImagePreview.kbd.test.ts +0 -52
  190. package/src/image/ImagePreview.svelte +0 -309
  191. package/src/image/ImagePreviewGroup.svelte +0 -93
  192. package/src/image/ImagePreviewKbdFixture.svelte +0 -32
  193. package/src/image/context.ts +0 -26
  194. package/src/image/index.ts +0 -15
  195. package/src/image/meta.ts +0 -131
  196. package/src/index.ts +0 -208
  197. package/src/input/Input.a11y.test.ts +0 -58
  198. package/src/input/Input.svelte +0 -505
  199. package/src/input/index.ts +0 -2
  200. package/src/input/meta.ts +0 -40
  201. package/src/input-number/InputNumber.a11y.test.ts +0 -43
  202. package/src/input-number/InputNumber.kbd.test.ts +0 -41
  203. package/src/input-number/InputNumber.svelte +0 -674
  204. package/src/input-number/InputNumberKbdFixture.svelte +0 -15
  205. package/src/input-number/index.ts +0 -2
  206. package/src/input-number/meta.ts +0 -65
  207. package/src/layout/Content.svelte +0 -37
  208. package/src/layout/Footer.svelte +0 -49
  209. package/src/layout/Header.svelte +0 -46
  210. package/src/layout/Layout.a11y.test.ts +0 -34
  211. package/src/layout/Layout.svelte +0 -60
  212. package/src/layout/LayoutA11yFixture.svelte +0 -21
  213. package/src/layout/Sider.svelte +0 -207
  214. package/src/layout/index.ts +0 -26
  215. package/src/layout/meta.ts +0 -116
  216. package/src/list/List.a11y.test.ts +0 -69
  217. package/src/list/List.bench.ts +0 -26
  218. package/src/list/List.kbd.test.ts +0 -71
  219. package/src/list/List.svelte +0 -920
  220. package/src/list/ListA11yFixture.svelte +0 -38
  221. package/src/list/ListBenchFixture.svelte +0 -22
  222. package/src/list/ListItem.svelte +0 -175
  223. package/src/list/ListKbdFixture.svelte +0 -31
  224. package/src/list/ListMeta.svelte +0 -73
  225. package/src/list/context.ts +0 -39
  226. package/src/list/index.ts +0 -21
  227. package/src/list/meta.ts +0 -99
  228. package/src/locale-provider/LocaleProvider.svelte +0 -110
  229. package/src/locale-provider/context.ts +0 -22
  230. package/src/locale-provider/index.ts +0 -21
  231. package/src/locale-provider/meta.ts +0 -93
  232. package/src/locale-provider/use-locale.ts +0 -25
  233. package/src/lottie-icon/LottieIcon.svelte +0 -330
  234. package/src/lottie-icon/index.ts +0 -9
  235. package/src/lottie-icon/meta.ts +0 -162
  236. package/src/menu/Menu.a11y.test.ts +0 -54
  237. package/src/menu/Menu.kbd.test.ts +0 -69
  238. package/src/menu/Menu.svelte +0 -762
  239. package/src/menu/MenuKbdFixture.svelte +0 -22
  240. package/src/menu/MenuPopupNode.svelte +0 -525
  241. package/src/menu/index.ts +0 -4
  242. package/src/menu/meta.ts +0 -137
  243. package/src/menu/types.ts +0 -120
  244. package/src/meta.test.ts +0 -173
  245. package/src/modal/ConfirmModal.svelte +0 -173
  246. package/src/modal/Modal.a11y.test.ts +0 -46
  247. package/src/modal/Modal.kbd.test.ts +0 -65
  248. package/src/modal/Modal.svelte +0 -511
  249. package/src/modal/ModalKbdFixture.svelte +0 -24
  250. package/src/modal/command.svelte.ts +0 -103
  251. package/src/modal/index.ts +0 -30
  252. package/src/modal/meta.ts +0 -165
  253. package/src/modal/z-stack.ts +0 -26
  254. package/src/notification/NotificationContainer.svelte +0 -192
  255. package/src/notification/NotificationItem.a11y.test.ts +0 -73
  256. package/src/notification/NotificationItem.svelte +0 -368
  257. package/src/notification/index.ts +0 -9
  258. package/src/notification/meta.ts +0 -120
  259. package/src/notification/store.ts +0 -191
  260. package/src/overflow-list/OverflowList.a11y.test.ts +0 -46
  261. package/src/overflow-list/OverflowList.kbd.test.ts +0 -34
  262. package/src/overflow-list/OverflowList.svelte +0 -539
  263. package/src/overflow-list/OverflowListA11yFixture.svelte +0 -22
  264. package/src/overflow-list/OverflowListKbdFixture.svelte +0 -21
  265. package/src/overflow-list/index.ts +0 -2
  266. package/src/overflow-list/meta.ts +0 -138
  267. package/src/pagination/Pagination.a11y.test.ts +0 -62
  268. package/src/pagination/Pagination.kbd.test.ts +0 -66
  269. package/src/pagination/Pagination.svelte +0 -428
  270. package/src/pagination/PaginationKbdFixture.svelte +0 -15
  271. package/src/pagination/index.ts +0 -2
  272. package/src/pagination/meta.ts +0 -73
  273. package/src/popconfirm/Popconfirm.a11y.test.ts +0 -46
  274. package/src/popconfirm/Popconfirm.kbd.test.ts +0 -42
  275. package/src/popconfirm/Popconfirm.svelte +0 -724
  276. package/src/popconfirm/PopconfirmA11yFixture.svelte +0 -34
  277. package/src/popconfirm/PopconfirmKbdFixture.svelte +0 -17
  278. package/src/popconfirm/index.ts +0 -2
  279. package/src/popconfirm/meta.ts +0 -200
  280. package/src/popover/Popover.a11y.test.ts +0 -58
  281. package/src/popover/Popover.kbd.test.ts +0 -42
  282. package/src/popover/Popover.svelte +0 -643
  283. package/src/popover/PopoverA11yFixture.svelte +0 -35
  284. package/src/popover/PopoverKbdFixture.svelte +0 -18
  285. package/src/popover/index.ts +0 -2
  286. package/src/popover/meta.ts +0 -103
  287. package/src/progress/Progress.a11y.test.ts +0 -37
  288. package/src/progress/Progress.svelte +0 -423
  289. package/src/progress/index.ts +0 -3
  290. package/src/progress/meta.ts +0 -132
  291. package/src/radio/Radio.svelte +0 -330
  292. package/src/radio/RadioGroup.a11y.test.ts +0 -43
  293. package/src/radio/RadioGroup.kbd.test.ts +0 -75
  294. package/src/radio/RadioGroup.svelte +0 -199
  295. package/src/radio/RadioGroupKbdFixture.svelte +0 -21
  296. package/src/radio/context.ts +0 -42
  297. package/src/radio/index.ts +0 -4
  298. package/src/radio/meta.ts +0 -68
  299. package/src/rating/Rating.a11y.test.ts +0 -41
  300. package/src/rating/Rating.kbd.test.ts +0 -48
  301. package/src/rating/Rating.svelte +0 -407
  302. package/src/rating/RatingKbdFixture.svelte +0 -15
  303. package/src/rating/index.ts +0 -2
  304. package/src/rating/meta.ts +0 -40
  305. package/src/resize-observer/ResizeObserver.svelte +0 -169
  306. package/src/resize-observer/action.ts +0 -80
  307. package/src/resize-observer/index.ts +0 -9
  308. package/src/resize-observer/meta.ts +0 -102
  309. package/src/scroll-list/ScrollColumn.svelte +0 -592
  310. package/src/scroll-list/ScrollList.svelte +0 -257
  311. package/src/scroll-list/index.ts +0 -4
  312. package/src/scroll-list/meta.ts +0 -93
  313. package/src/scroll-list/types.ts +0 -18
  314. package/src/select/Select.a11y.test.ts +0 -59
  315. package/src/select/Select.kbd.test.ts +0 -59
  316. package/src/select/Select.svelte +0 -1155
  317. package/src/select/SelectKbdFixture.svelte +0 -29
  318. package/src/select/index.ts +0 -3
  319. package/src/select/meta.ts +0 -78
  320. package/src/select/types.ts +0 -2
  321. package/src/side-sheet/SideSheet.a11y.test.ts +0 -53
  322. package/src/side-sheet/SideSheet.kbd.test.ts +0 -63
  323. package/src/side-sheet/SideSheet.svelte +0 -659
  324. package/src/side-sheet/SideSheetKbdFixture.svelte +0 -30
  325. package/src/side-sheet/index.ts +0 -2
  326. package/src/side-sheet/meta.ts +0 -116
  327. package/src/skeleton/Skeleton.a11y.test.ts +0 -35
  328. package/src/skeleton/Skeleton.svelte +0 -131
  329. package/src/skeleton/SkeletonAvatar.svelte +0 -82
  330. package/src/skeleton/SkeletonButton.svelte +0 -90
  331. package/src/skeleton/SkeletonImage.svelte +0 -100
  332. package/src/skeleton/SkeletonParagraph.svelte +0 -103
  333. package/src/skeleton/SkeletonTitle.svelte +0 -74
  334. package/src/skeleton/context.ts +0 -11
  335. package/src/skeleton/index.ts +0 -8
  336. package/src/skeleton/meta.ts +0 -65
  337. package/src/slider/Slider.a11y.test.ts +0 -44
  338. package/src/slider/Slider.kbd.test.ts +0 -74
  339. package/src/slider/Slider.svelte +0 -716
  340. package/src/slider/SliderKbdFixture.svelte +0 -21
  341. package/src/slider/index.ts +0 -2
  342. package/src/slider/meta.ts +0 -55
  343. package/src/space/Space.a11y.test.ts +0 -22
  344. package/src/space/Space.svelte +0 -109
  345. package/src/space/SpaceA11yFixture.svelte +0 -17
  346. package/src/space/index.ts +0 -2
  347. package/src/space/meta.ts +0 -27
  348. package/src/spin/Spin.a11y.test.ts +0 -29
  349. package/src/spin/Spin.svelte +0 -293
  350. package/src/spin/SpinA11yFixture.svelte +0 -18
  351. package/src/spin/index.ts +0 -2
  352. package/src/spin/meta.ts +0 -72
  353. package/src/steps/Steps.a11y.test.ts +0 -39
  354. package/src/steps/Steps.kbd.test.ts +0 -73
  355. package/src/steps/Steps.svelte +0 -392
  356. package/src/steps/StepsKbdFixture.svelte +0 -21
  357. package/src/steps/index.ts +0 -3
  358. package/src/steps/meta.ts +0 -59
  359. package/src/steps/types.ts +0 -8
  360. package/src/switch/Switch.a11y.test.ts +0 -46
  361. package/src/switch/Switch.kbd.test.ts +0 -40
  362. package/src/switch/Switch.svelte +0 -310
  363. package/src/switch/SwitchKbdFixture.svelte +0 -22
  364. package/src/switch/index.ts +0 -2
  365. package/src/switch/meta.ts +0 -44
  366. package/src/table/Table.a11y.test.ts +0 -70
  367. package/src/table/Table.bench.ts +0 -51
  368. package/src/table/Table.kbd.test.ts +0 -94
  369. package/src/table/Table.svelte +0 -2327
  370. package/src/table/TableKbdFixture.svelte +0 -35
  371. package/src/table/grid-nav.test.ts +0 -173
  372. package/src/table/grid-nav.ts +0 -146
  373. package/src/table/index.ts +0 -13
  374. package/src/table/meta.ts +0 -121
  375. package/src/table/types.ts +0 -133
  376. package/src/tabs/TabPane.svelte +0 -92
  377. package/src/tabs/Tabs.a11y.test.ts +0 -47
  378. package/src/tabs/Tabs.kbd.test.ts +0 -74
  379. package/src/tabs/Tabs.svelte +0 -1128
  380. package/src/tabs/TabsA11yFixture.svelte +0 -20
  381. package/src/tabs/TabsKbdFixture.svelte +0 -25
  382. package/src/tabs/context.ts +0 -43
  383. package/src/tabs/index.ts +0 -14
  384. package/src/tabs/meta.ts +0 -152
  385. package/src/tabs/types.ts +0 -6
  386. package/src/tag/Tag.a11y.test.ts +0 -33
  387. package/src/tag/Tag.svelte +0 -366
  388. package/src/tag/TagA11yFixture.svelte +0 -18
  389. package/src/tag/index.ts +0 -2
  390. package/src/tag/meta.ts +0 -92
  391. package/src/tag-input/TagInput.a11y.test.ts +0 -41
  392. package/src/tag-input/TagInput.svelte +0 -544
  393. package/src/tag-input/index.ts +0 -2
  394. package/src/tag-input/meta.ts +0 -43
  395. package/src/tag-input/reorder.test.ts +0 -59
  396. package/src/tag-input/reorder.ts +0 -41
  397. package/src/test-utils/LocaleHarness.svelte +0 -29
  398. package/src/test-utils/a11y.ts +0 -108
  399. package/src/test-utils/kbd.ts +0 -52
  400. package/src/textarea/TextArea.a11y.test.ts +0 -44
  401. package/src/textarea/TextArea.svelte +0 -420
  402. package/src/textarea/index.ts +0 -2
  403. package/src/textarea/meta.ts +0 -104
  404. package/src/time-picker/TimePicker.a11y.test.ts +0 -45
  405. package/src/time-picker/TimePicker.kbd.test.ts +0 -70
  406. package/src/time-picker/TimePicker.svelte +0 -1023
  407. package/src/time-picker/TimePickerKbdFixture.svelte +0 -23
  408. package/src/time-picker/index.ts +0 -2
  409. package/src/time-picker/meta.ts +0 -64
  410. package/src/timeline/Timeline.a11y.test.ts +0 -54
  411. package/src/timeline/Timeline.svelte +0 -599
  412. package/src/timeline/TimelineItem.svelte +0 -164
  413. package/src/timeline/context.ts +0 -28
  414. package/src/timeline/index.ts +0 -16
  415. package/src/timeline/meta.ts +0 -129
  416. package/src/timeline/types.ts +0 -9
  417. package/src/toast/Toast.a11y.test.ts +0 -67
  418. package/src/toast/ToastContainer.svelte +0 -184
  419. package/src/toast/ToastItem.svelte +0 -247
  420. package/src/toast/index.ts +0 -9
  421. package/src/toast/live-region.ts +0 -78
  422. package/src/toast/meta.ts +0 -95
  423. package/src/toast/store.ts +0 -187
  424. package/src/tooltip/Tooltip.a11y.test.ts +0 -41
  425. package/src/tooltip/Tooltip.kbd.test.ts +0 -37
  426. package/src/tooltip/Tooltip.svelte +0 -416
  427. package/src/tooltip/TooltipA11yFixture.svelte +0 -31
  428. package/src/tooltip/TooltipKbdFixture.svelte +0 -16
  429. package/src/tooltip/index.ts +0 -2
  430. package/src/tooltip/meta.ts +0 -59
  431. package/src/tooltip/placement.ts +0 -6
  432. package/src/transfer/Transfer.a11y.test.ts +0 -63
  433. package/src/transfer/Transfer.kbd.test.ts +0 -75
  434. package/src/transfer/Transfer.svelte +0 -1451
  435. package/src/transfer/TransferKbdFixture.svelte +0 -23
  436. package/src/transfer/group.test.ts +0 -55
  437. package/src/transfer/group.ts +0 -61
  438. package/src/transfer/index.ts +0 -3
  439. package/src/transfer/meta.ts +0 -55
  440. package/src/transfer/reorder.test.ts +0 -52
  441. package/src/transfer/reorder.ts +0 -42
  442. package/src/transfer/tree.test.ts +0 -44
  443. package/src/transfer/tree.ts +0 -52
  444. package/src/transfer/types.ts +0 -32
  445. package/src/tree/Tree.a11y.test.ts +0 -63
  446. package/src/tree/Tree.kbd.test.ts +0 -91
  447. package/src/tree/Tree.svelte +0 -1500
  448. package/src/tree/TreeKbdFixture.svelte +0 -30
  449. package/src/tree/index.ts +0 -3
  450. package/src/tree/meta.ts +0 -152
  451. package/src/tree-select/TreeSelect.a11y.test.ts +0 -52
  452. package/src/tree-select/TreeSelect.kbd.test.ts +0 -53
  453. package/src/tree-select/TreeSelect.svelte +0 -1611
  454. package/src/tree-select/TreeSelectKbdFixture.svelte +0 -20
  455. package/src/tree-select/index.ts +0 -3
  456. package/src/tree-select/meta.ts +0 -73
  457. package/src/tree-select/types.ts +0 -11
  458. package/src/tree-select/virtual.test.ts +0 -104
  459. package/src/typography/Link.svelte +0 -120
  460. package/src/typography/Paragraph.svelte +0 -92
  461. package/src/typography/Text.svelte +0 -93
  462. package/src/typography/Title.svelte +0 -91
  463. package/src/typography/Typography.a11y.test.ts +0 -34
  464. package/src/typography/TypographyA11yFixture.svelte +0 -27
  465. package/src/typography/TypographyBase.svelte +0 -807
  466. package/src/typography/index.ts +0 -16
  467. package/src/typography/meta.ts +0 -158
  468. package/src/upload/Upload.a11y.test.ts +0 -58
  469. package/src/upload/Upload.svelte +0 -1094
  470. package/src/upload/UploadA11yFixture.svelte +0 -23
  471. package/src/upload/index.ts +0 -3
  472. package/src/upload/meta.ts +0 -64
  473. package/src/upload/types.ts +0 -16
  474. package/src/virtual-list/VirtualList.svelte +0 -401
  475. package/src/virtual-list/index.ts +0 -2
  476. package/src/virtual-list/meta.ts +0 -106
@@ -1,43 +0,0 @@
1
- /**
2
- * Machine-readable component metadata for AI/docs consumption.
3
- * See specs/00-foundation/ai-friendly.spec.md.
4
- */
5
- export const meta = {
6
- name: 'TagInput',
7
- category: 'input',
8
- description: '标签输入框,支持回车 / 分隔符提交、退格删除、去重、上限与失焦提交。',
9
- props: [
10
- { name: 'value', type: 'string[]', default: 'undefined' },
11
- { name: 'defaultValue', type: 'string[]', default: '[]' },
12
- { name: 'inputValue', type: 'string', default: 'undefined' },
13
- { name: 'defaultInputValue', type: 'string', default: "''" },
14
- { name: 'placeholder', type: 'string', default: 'undefined' },
15
- { name: 'size', type: "'small'|'default'|'large'", default: 'default' },
16
- { name: 'status', type: "'default'|'warning'|'error'", default: 'default' },
17
- { name: 'disabled', type: 'boolean', default: 'false' },
18
- { name: 'readonly', type: 'boolean', default: 'false' },
19
- { name: 'max', type: 'number', default: 'undefined' },
20
- { name: 'maxLength', type: 'number', default: 'undefined' },
21
- { name: 'maxTagTextLength', type: 'number', default: 'undefined' },
22
- { name: 'separator', type: 'string|string[]', default: "['Enter']" },
23
- { name: 'addOnBlur', type: 'boolean', default: 'false' },
24
- { name: 'allowDuplicates', type: 'boolean', default: 'false' },
25
- { name: 'trimWhitespace', type: 'boolean', default: 'true' },
26
- { name: 'draggable', type: 'boolean', default: 'false' },
27
- { name: 'onChange', type: '(tags: string[]) => void', default: 'undefined' },
28
- { name: 'onInputChange', type: '(value: string) => void', default: 'undefined' },
29
- { name: 'ariaLabel', type: 'string', default: 'undefined' },
30
- ],
31
- a11y: {
32
- role: 'group',
33
- notes: [
34
- '容器 role=group + aria-label',
35
- '每个标签删除按钮含 aria-label,文案取自 locale(TagInput.remove,默认中文「删除」)',
36
- '键盘:分隔符(默认 Enter)提交、输入为空时 Backspace 删除末尾标签',
37
- 'draggable 仅为鼠标增强(HTML5 DnD);键盘增删标签交互不受影响',
38
- 'error 状态时 aria-invalid 标注于内部输入',
39
- ],
40
- },
41
- i18nKeys: ['TagInput.remove'],
42
- tokens: ['--cd-input-*', '--cd-focus-ring', '--cd-motion-*', '--cd-color-fill-*'],
43
- } as const;
@@ -1,59 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { computeInsertSide, reorder } from './reorder.js';
3
-
4
- describe('tag-input/reorder', () => {
5
- describe('computeInsertSide', () => {
6
- it('left half → before', () => {
7
- expect(computeInsertSide(0, 100)).toBe('before');
8
- expect(computeInsertSide(49, 100)).toBe('before');
9
- });
10
- it('mid and right half → after', () => {
11
- expect(computeInsertSide(50, 100)).toBe('after');
12
- expect(computeInsertSide(99, 100)).toBe('after');
13
- });
14
- });
15
-
16
- describe('reorder', () => {
17
- const list = ['a', 'b', 'c', 'd'];
18
-
19
- it('moves an item forward (before a later target)', () => {
20
- expect(reorder(list, 0, 2, 'before')).toEqual(['b', 'a', 'c', 'd']);
21
- });
22
-
23
- it('moves an item forward (after a later target)', () => {
24
- expect(reorder(list, 0, 2, 'after')).toEqual(['b', 'c', 'a', 'd']);
25
- });
26
-
27
- it('moves an item backward (before an earlier target)', () => {
28
- expect(reorder(list, 3, 1, 'before')).toEqual(['a', 'd', 'b', 'c']);
29
- });
30
-
31
- it('moves an item backward (after an earlier target)', () => {
32
- expect(reorder(list, 3, 1, 'after')).toEqual(['a', 'b', 'd', 'c']);
33
- });
34
-
35
- it('moves to the very end', () => {
36
- expect(reorder(list, 0, 3, 'after')).toEqual(['b', 'c', 'd', 'a']);
37
- });
38
-
39
- it('moves to the very start', () => {
40
- expect(reorder(list, 3, 0, 'before')).toEqual(['d', 'a', 'b', 'c']);
41
- });
42
-
43
- it('no-op when result position equals source (drop after previous neighbor)', () => {
44
- expect(reorder(list, 1, 0, 'after')).toEqual(list);
45
- expect(reorder(list, 1, 2, 'before')).toEqual(list);
46
- });
47
-
48
- it('returns a new array (immutable)', () => {
49
- const out = reorder(list, 0, 1, 'after');
50
- expect(out).not.toBe(list);
51
- expect(list).toEqual(['a', 'b', 'c', 'd']);
52
- });
53
-
54
- it('out-of-range indices return a copy unchanged', () => {
55
- expect(reorder(list, -1, 2, 'before')).toEqual(list);
56
- expect(reorder(list, 0, 9, 'after')).toEqual(list);
57
- });
58
- });
59
- });
@@ -1,41 +0,0 @@
1
- /**
2
- * 标签拖拽重排的纯函数 (红线 #2):不触碰组件状态,仅做数组计算,便于单测。
3
- */
4
-
5
- /** dragover 时根据指针在目标标签内的水平位置判断插入在其「前」或「后」。 */
6
- export type InsertSide = 'before' | 'after';
7
-
8
- /**
9
- * 以目标标签中线为界:指针在左半区插入到目标之前,右半区插入到目标之后。
10
- * @param offsetX 指针相对目标标签左边缘的水平偏移
11
- * @param width 目标标签宽度
12
- */
13
- export function computeInsertSide(offsetX: number, width: number): InsertSide {
14
- return offsetX < width / 2 ? 'before' : 'after';
15
- }
16
-
17
- /**
18
- * 把 `from` 处的元素移动到目标 `to` 的 `before`/`after` 侧,返回新数组(不可变)。
19
- * 越界或目标即自身(移动后位置不变)时原样返回原数组的浅拷贝。
20
- */
21
- export function reorder<T>(
22
- list: readonly T[],
23
- from: number,
24
- to: number,
25
- side: InsertSide,
26
- ): T[] {
27
- const n = list.length;
28
- if (from < 0 || from >= n || to < 0 || to >= n) return list.slice();
29
-
30
- // 目标插入下标(在「移除 from 之前」的坐标系中)。
31
- let insert = side === 'before' ? to : to + 1;
32
- // 移除被拖项后,位于其右侧的插入点需左移一位。
33
- if (from < insert) insert -= 1;
34
-
35
- if (insert === from) return list.slice();
36
-
37
- const next = list.slice();
38
- const removed = next.splice(from, 1);
39
- next.splice(insert, 0, ...removed);
40
- return next;
41
- }
@@ -1,29 +0,0 @@
1
- <!--
2
- LocaleHarness — a11y 测试专用包装组件。
3
- 把被测组件包进 <LocaleProvider>,使 useLocale() 能拿到 context(默认 en_US)。
4
- 通过 component prop 接收被测组件构造器,props 透传,children 作为默认插槽渲染。
5
- 注意:仅用于测试,不对外导出。
6
- -->
7
- <script lang="ts">
8
- import type { Component, Snippet } from 'svelte';
9
- import { LocaleProvider } from '../locale-provider/index.js';
10
-
11
- interface Props {
12
- // 被测组件构造器(Svelte 5 Component)。
13
- component: Component<any>;
14
- // 透传给被测组件的 props。
15
- props?: Record<string, unknown>;
16
- // 语言码,默认 en_US。
17
- locale?: string;
18
- // 默认插槽内容(如 Button 的文字)。
19
- children?: Snippet;
20
- }
21
-
22
- let { component: Cmp, props = {}, locale = 'en_US', children }: Props = $props();
23
- </script>
24
-
25
- <LocaleProvider {locale}>
26
- <Cmp {...props}>
27
- {#if children}{@render children()}{/if}
28
- </Cmp>
29
- </LocaleProvider>
@@ -1,108 +0,0 @@
1
- // a11y 渲染测试基建(仅 dom project / jsdom 下使用)。
2
- //
3
- // 提供两个帮手:
4
- // - renderWithLocale:用 testing-library 的 render 把组件挂到 jsdom,
5
- // 并用 LocaleHarness 包一层 LocaleProvider(默认 en_US),使 useLocale() 可用。
6
- // - expectNoAxeViolations:对容器跑 axe-core,断言 0 violations。
7
- //
8
- // 设计取舍:本套件只做 axe 静态规则 + role/aria 断言,不测真实键盘/焦点行为
9
- // (jsdom 焦点模型不完整、委托事件合成不可靠——见项目已知教训)。焦点陷阱/键盘
10
- // 导航留给将来 Playwright。
11
- import { render, type RenderResult } from '@testing-library/svelte';
12
- import type { Component } from 'svelte';
13
- import axe, { type RunOptions, type Result } from 'axe-core';
14
-
15
- // 被测组件的宽松构造器类型——props 形态各异,测试帮手不关心其精确 prop 签名。
16
- // 用 Record<string, unknown> 而非 any,既满足 eslint no-explicit-any,又能接收任意组件。
17
- type AnyComponent = Component<Record<string, unknown>>;
18
- import { expect } from 'vitest';
19
- import LocaleHarness from './LocaleHarness.svelte';
20
-
21
- export interface RenderWithLocaleOptions {
22
- /** 透传给被测组件的 props。 */
23
- props?: Record<string, unknown>;
24
- /** 语言码,默认 en_US。 */
25
- locale?: string;
26
- }
27
-
28
- /**
29
- * 把组件包进 LocaleProvider 渲染到 jsdom。
30
- * 返回 testing-library 的 RenderResult(含 container / baseElement / queries)。
31
- *
32
- * 用法:
33
- * const { container } = renderWithLocale(Button, { props: { type: 'primary' } });
34
- *
35
- * 纯展示组件(无 useLocale)同样可用——Provider 包裹无副作用。
36
- */
37
- export function renderWithLocale(
38
- component: AnyComponent,
39
- options: RenderWithLocaleOptions = {},
40
- ): RenderResult<AnyComponent> {
41
- const { props = {}, locale = 'en_US' } = options;
42
- return render(LocaleHarness as unknown as AnyComponent, {
43
- props: { component, props, locale },
44
- });
45
- }
46
-
47
- // jsdom 下不可靠 / 无意义、需禁用的 axe 规则及原因:
48
- // - color-contrast:jsdom 不做布局与渲染,拿不到真实计算后的颜色/尺寸,
49
- // 对比度无法计算(axe 本就会 incomplete,这里显式关掉避免噪音)。对比度
50
- // 交给将来的真实浏览器(Playwright)或专门的 token 对比度校验。
51
- const JSDOM_DISABLED_RULES = ['color-contrast'] as const;
52
-
53
- export interface AxeAssertOptions {
54
- /** 额外要禁用的规则 id(在默认禁用项之外追加)。 */
55
- disableRules?: string[];
56
- /** 覆盖默认 runOptions(一般不需要)。 */
57
- runOptions?: RunOptions;
58
- }
59
-
60
- function formatViolations(violations: Result[]): string {
61
- return violations
62
- .map((v) => {
63
- const nodes = v.nodes.map((n) => ` - ${n.html}\n ${n.failureSummary ?? ''}`).join('\n');
64
- return ` [${v.id}] ${v.help} (${v.impact ?? 'n/a'})\n ${v.helpUrl}\n${nodes}`;
65
- })
66
- .join('\n\n');
67
- }
68
-
69
- /**
70
- * 对容器跑 axe-core,断言 0 violations。
71
- * 默认规则集:WCAG 2.0/2.1 A & AA(axe tags wcag2a/wcag2aa/wcag21a/wcag21aa)。
72
- * 默认禁用 jsdom 下不可靠的规则(见 JSDOM_DISABLED_RULES)。
73
- *
74
- * 用法:await expectNoAxeViolations(container);
75
- */
76
- export async function expectNoAxeViolations(
77
- container: Element,
78
- options: AxeAssertOptions = {},
79
- ): Promise<void> {
80
- const { disableRules = [], runOptions } = options;
81
-
82
- const rules: RunOptions['rules'] = {};
83
- for (const id of [...JSDOM_DISABLED_RULES, ...disableRules]) {
84
- rules[id] = { enabled: false };
85
- }
86
-
87
- const results = await axe.run(
88
- container,
89
- runOptions ?? {
90
- runOnly: {
91
- type: 'tag',
92
- values: ['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa'],
93
- },
94
- rules,
95
- },
96
- );
97
-
98
- if (results.violations.length > 0) {
99
- throw new Error(
100
- `Expected no axe violations but found ${results.violations.length}:\n\n${formatViolations(
101
- results.violations,
102
- )}`,
103
- );
104
- }
105
-
106
- // 给 vitest 一个显式断言计数,便于报告/快照。
107
- expect(results.violations).toHaveLength(0);
108
- }
@@ -1,52 +0,0 @@
1
- // 键盘 e2e 测试基建(仅 browser project / 真实 chromium 下使用)。
2
- //
3
- // 与 a11y.ts(jsdom + axe)的关键区别:本套件在真实 chromium 里 mount 组件,
4
- // 用 vitest browser 的 userEvent 触发真实键盘/Tab,并用 page locator 的
5
- // `.toHaveFocus()` 断言真实 document.activeElement。jsdom 测不了的焦点陷阱、
6
- // roving 漫游、焦点归还都在这里覆盖。
7
- //
8
- // 渲染走 vitest-browser-svelte 的 render(基于 @testing-library/svelte-core,
9
- // 真实 mount 到 document.body),外层用 LocaleHarness 包一层 LocaleProvider
10
- // (复用 a11y 套件的同一 harness),使 useLocale() 可用。
11
- import { render } from 'vitest-browser-svelte';
12
- import { userEvent } from 'vitest/browser';
13
- import type { Component } from 'svelte';
14
- import LocaleHarness from './LocaleHarness.svelte';
15
-
16
- // 被测组件的宽松构造器类型——props 形态各异,帮手不关心精确 prop 签名。
17
- type AnyComponent = Component<Record<string, unknown>>;
18
-
19
- export interface RenderKbdOptions {
20
- /** 透传给被测组件的 props。 */
21
- props?: Record<string, unknown>;
22
- /** 语言码,默认 en_US。 */
23
- locale?: string;
24
- }
25
-
26
- /**
27
- * 在真实浏览器里把组件包进 LocaleProvider 渲染。
28
- * 返回 vitest-browser-svelte 的 RenderResult(含 baseElement / container / 各 locator 查询)。
29
- *
30
- * 用法:
31
- * const screen = renderKbd(Modal, { props: { open: true, title: '...' } });
32
- * const dialog = screen.baseElement.querySelector('[role="dialog"]');
33
- */
34
- export function renderKbd(component: AnyComponent, options: RenderKbdOptions = {}) {
35
- const { props = {}, locale = 'en_US' } = options;
36
- return render(LocaleHarness as unknown as AnyComponent, {
37
- props: { component, props, locale },
38
- });
39
- }
40
-
41
- /**
42
- * 直接渲染一个已自带 LocaleProvider/不需要 locale 的 fixture 组件。
43
- * fixture 通常无 props(构造器类型为 Component<Record<string, never>>),
44
- * 故入参用宽松的 Component<any> 接收,避免与具体 fixture 的精确 props 类型冲突。
45
- */
46
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
- export function renderKbdFixture(component: Component<any>, props: Record<string, unknown> = {}) {
48
- return render(component as AnyComponent, { props });
49
- }
50
-
51
- // 重新导出 userEvent,键盘 e2e 统一从这里取(tab()/keyboard()/click())。
52
- export { userEvent };
@@ -1,44 +0,0 @@
1
- // TextArea a11y:原生 <textarea> + ariaLabel 可访问名;error 态 aria-invalid;
2
- // showClear 清除按钮 locale 可访问名。
3
- import { describe, it, expect } from 'vitest';
4
- import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
5
- import TextArea from './TextArea.svelte';
6
-
7
- describe('TextArea a11y', () => {
8
- it('默认渲染:ariaLabel 提供可访问名,无 axe violations', async () => {
9
- const { container } = renderWithLocale(TextArea, {
10
- props: { ariaLabel: 'Bio', placeholder: 'Tell us about yourself' },
11
- });
12
- const ta = container.querySelector('textarea');
13
- expect(ta).not.toBeNull();
14
- expect(ta?.getAttribute('aria-label')).toBe('Bio');
15
- await expectNoAxeViolations(container);
16
- });
17
-
18
- it('error 状态:aria-invalid=true', async () => {
19
- const { container } = renderWithLocale(TextArea, {
20
- props: { ariaLabel: 'Notes', status: 'error' },
21
- });
22
- const ta = container.querySelector('textarea');
23
- expect(ta?.getAttribute('aria-invalid')).toBe('true');
24
- await expectNoAxeViolations(container);
25
- });
26
-
27
- it('showClear + showCount:清除按钮 locale 可访问名,无 axe violations', async () => {
28
- const { container } = renderWithLocale(TextArea, {
29
- props: {
30
- ariaLabel: 'Comment',
31
- defaultValue: 'hello',
32
- showClear: true,
33
- showCount: true,
34
- maxLength: 100,
35
- },
36
- });
37
- const clearBtn = container.querySelector('.cd-textarea__clear');
38
- expect(clearBtn).not.toBeNull();
39
- const label = clearBtn?.getAttribute('aria-label');
40
- expect(label).toBeTruthy();
41
- expect(label).not.toBe('Textarea.clear');
42
- await expectNoAxeViolations(container);
43
- });
44
- });