@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,103 +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: 'Popover',
7
- category: 'show',
8
- description:
9
- '气泡卡片,点击/悬停/聚焦触发元素时弹出富内容浮层。支持标题、常用 position、对齐、箭头与间距,浮层纯 CSS 定位。',
10
- props: [
11
- { name: 'content', type: 'string | Snippet', default: 'undefined', desc: '简单文本内容' },
12
- { name: 'title', type: 'string | Snippet', default: 'undefined', desc: '标题,提供则渲染标题区与下边框' },
13
- { name: 'open', type: 'boolean', default: 'undefined', desc: '受控显隐' },
14
- { name: 'defaultOpen', type: 'boolean', default: 'false', desc: '非受控初始显隐' },
15
- { name: 'trigger', type: "'hover'|'click'|'focus'|'custom'", default: 'hover', desc: "触发方式;custom 时显隐完全由受控 open + onOpenChange 控制,不自动响应交互、不启用外部点击/Esc 关闭" },
16
- { name: 'position', type: "'top'|'bottom'|'left'|'right'", default: 'bottom', desc: '浮层主方向' },
17
- { name: 'align', type: "'start'|'center'|'end'", default: 'center', desc: '交叉轴对齐' },
18
- { name: 'showArrow', type: 'boolean', default: 'true', desc: '是否显示箭头' },
19
- {
20
- name: 'arrowPointAtCenter',
21
- type: 'boolean',
22
- default: 'false',
23
- desc: 'start/end 对齐时箭头指向触发器中心',
24
- },
25
- { name: 'spacing', type: 'number', default: '8', desc: '浮层与触发器间距(px)' },
26
- { name: 'mouseEnterDelay', type: 'number', default: '100', desc: 'hover 进入延迟(ms)' },
27
- { name: 'mouseLeaveDelay', type: 'number', default: '100', desc: 'hover 离开延迟(ms)' },
28
- { name: 'disabled', type: 'boolean', default: 'false', desc: '禁用触发' },
29
- {
30
- name: 'getPopupContainer',
31
- type: '() => HTMLElement',
32
- default: '() => body',
33
- desc: '浮层挂载容器,回退 ConfigProvider 全局再回退 body',
34
- },
35
- { name: 'zIndex', type: 'number', default: 'var(--cd-popover-z)', desc: '浮层层级' },
36
- {
37
- name: 'trapFocus',
38
- type: 'boolean',
39
- default: "trigger==='click'",
40
- desc: '是否陷入焦点(Tab 循环)',
41
- },
42
- {
43
- name: 'returnFocus',
44
- type: 'boolean',
45
- default: 'true',
46
- desc: '关闭后焦点是否归还触发器(仅 trapFocus 生效)',
47
- },
48
- { name: 'closeOnEsc', type: 'boolean', default: 'true', desc: 'Esc 关闭' },
49
- {
50
- name: 'closeOnOutsideClick',
51
- type: 'boolean',
52
- default: 'true',
53
- desc: '外部点击关闭',
54
- },
55
- { name: 'lockScroll', type: 'boolean', default: 'false', desc: '打开时锁定背景滚动' },
56
- {
57
- name: 'destroyOnClose',
58
- type: 'boolean',
59
- default: 'false',
60
- desc: '关闭时销毁浮层 DOM',
61
- },
62
- {
63
- name: 'rememberFocus',
64
- type: 'boolean',
65
- default: 'false',
66
- desc: '重新打开时恢复上次浮层内焦点位置(仅 trapFocus 生效)',
67
- },
68
- {
69
- name: 'stopPropagation',
70
- type: 'boolean',
71
- default: 'false',
72
- desc: '阻断浮层内事件冒泡',
73
- },
74
- {
75
- name: 'size',
76
- type: "'small'|'default'|'large'",
77
- default: 'default',
78
- desc: '内边距尺寸档位',
79
- },
80
- {
81
- name: 'motion',
82
- type: 'boolean | { duration?: number }',
83
- default: 'true',
84
- desc: '动画开关/配置,reduced-motion 退化',
85
- },
86
- { name: 'onOpenChange', type: '(open: boolean) => void', default: 'undefined' },
87
- { name: 'children', type: 'Snippet', default: 'undefined', desc: '触发元素(必填)' },
88
- { name: 'contentSlot', type: 'Snippet', default: 'undefined', desc: '富内容,优先于 content' },
89
- ],
90
- a11y: {
91
- role: 'dialog',
92
- keyboard: ['Escape', 'Tab', 'Shift+Tab'],
93
- notes: [
94
- '浮层 role=dialog aria-modal=false,使用 useId 生成唯一 id;有标题时 aria-labelledby,无标题兜底 aria-label(Popover.dialogLabel)',
95
- '触发元素 aria-haspopup=dialog + aria-expanded,open 时 aria-controls 指向浮层',
96
- 'click 触发用 useDismiss 处理 Escape(closeOnEsc)与外部点击(closeOnOutsideClick)关闭',
97
- 'trapFocus(默认随 click)用 useFocusTrap 陷入焦点并循环 Tab,关闭后 returnFocus 归还触发器;rememberFocus 可恢复上次焦点',
98
- 'lockScroll 用 useScrollLock 锁背景滚动;motion 进场动画在 reduced-motion 下退化',
99
- 'custom 触发完全受控,不启用 useDismiss,由调用方控制显隐',
100
- ],
101
- },
102
- tokens: ['--cd-popover-*', '--cd-spacing-*', '--cd-focus-ring', '--cd-motion-*'],
103
- } as const;
@@ -1,37 +0,0 @@
1
- // Progress a11y:role=progressbar + aria-valuenow/min/max;indeterminate 省略 valuenow 并设 aria-busy。
2
- import { describe, it, expect } from 'vitest';
3
- import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
4
- import Progress from './Progress.svelte';
5
-
6
- describe('Progress a11y', () => {
7
- it('line:role=progressbar + aria-valuenow,无 axe violations', async () => {
8
- const { container } = renderWithLocale(Progress, {
9
- props: { percent: 42, ariaLabel: 'Upload progress' },
10
- });
11
- const bar = container.querySelector('[role="progressbar"]');
12
- expect(bar).not.toBeNull();
13
- expect(bar?.getAttribute('aria-valuenow')).toBe('42');
14
- expect(bar?.getAttribute('aria-valuemin')).toBe('0');
15
- expect(bar?.getAttribute('aria-valuemax')).toBe('100');
16
- await expectNoAxeViolations(container);
17
- });
18
-
19
- it('circle:role=progressbar,无 axe violations', async () => {
20
- const { container } = renderWithLocale(Progress, {
21
- props: { type: 'circle', percent: 70, ariaLabel: 'Task' },
22
- });
23
- const bar = container.querySelector('[role="progressbar"]');
24
- expect(bar?.getAttribute('aria-valuenow')).toBe('70');
25
- await expectNoAxeViolations(container);
26
- });
27
-
28
- it('indeterminate:省略 aria-valuenow 并设 aria-busy,无 axe violations', async () => {
29
- const { container } = renderWithLocale(Progress, {
30
- props: { indeterminate: true, ariaLabel: 'Loading' },
31
- });
32
- const bar = container.querySelector('[role="progressbar"]');
33
- expect(bar?.getAttribute('aria-valuenow')).toBeNull();
34
- expect(bar?.getAttribute('aria-busy')).toBe('true');
35
- await expectNoAxeViolations(container);
36
- });
37
- });
@@ -1,423 +0,0 @@
1
- <!--
2
- Progress — see specs/components/feedback/Progress.spec.md
3
- 进度条:line / circle / dashboard 三形态,normal/success/error/warning 四态。
4
- 几何与 a11y 逻辑全部复用 @chenzy-design/core 纯函数(clampPercent / resolveStatus /
5
- getCirclePathProps / getRootAriaProps),不在组件里重复实现。
6
- 红线 #1:percent 是受控输入,绝不回写;onComplete/onChange 仅通知。
7
- 红线 #3:无 DOM 测量、无定时器;indeterminate 纯 CSS 动画。
8
- role=progressbar + aria-valuenow/min/max/valuetext;indeterminate 省略 valuenow 并设 aria-busy。
9
- success 环形显示对勾(非颜色冗余信号);reduced-motion 禁用过渡与循环动画。
10
- -->
11
- <script lang="ts">
12
- import type { Snippet } from 'svelte';
13
- import { untrack } from 'svelte';
14
- import {
15
- clampPercent,
16
- resolveStatus,
17
- getCirclePathProps,
18
- getRootAriaProps,
19
- type ProgressStatus,
20
- type ProgressType,
21
- type GapPosition,
22
- } from '@chenzy-design/core';
23
-
24
- type Size = 'small' | 'default' | 'large';
25
-
26
- type StrokeColorGradient = { from: string; to: string; direction?: string };
27
-
28
- interface Props {
29
- percent?: number;
30
- type?: ProgressType;
31
- status?: ProgressStatus;
32
- size?: Size;
33
- width?: number;
34
- strokeWidth?: number;
35
- strokeLinecap?: 'round' | 'butt' | 'square';
36
- showInfo?: boolean;
37
- format?: (percent: number, status: ProgressStatus) => string | null;
38
- indeterminate?: boolean;
39
- gapDegree?: number;
40
- gapPosition?: GapPosition;
41
- successWhenFull?: boolean;
42
- /** 进度条颜色:字符串直接用作颜色,对象 {from, to, direction?} 生成渐变。 */
43
- strokeColor?: string | StrokeColorGradient;
44
- /** 轨道(背景)颜色。 */
45
- trailColor?: string;
46
- motion?: boolean;
47
- ariaLabel?: string;
48
- formatSnippet?: Snippet<[{ percent: number; status: ProgressStatus }]>;
49
- onComplete?: (info: { percent: number }) => void;
50
- onChange?: (info: { percent: number }) => void;
51
- }
52
-
53
- let {
54
- percent = 0,
55
- type = 'line',
56
- status = 'normal',
57
- size = 'default',
58
- width,
59
- strokeWidth,
60
- strokeLinecap = 'round',
61
- showInfo = true,
62
- format,
63
- indeterminate = false,
64
- gapDegree,
65
- gapPosition = 'bottom',
66
- successWhenFull = false,
67
- strokeColor,
68
- trailColor,
69
- motion = true,
70
- ariaLabel,
71
- formatSnippet,
72
- onComplete,
73
- onChange,
74
- }: Props = $props();
75
-
76
- const pct = $derived(clampPercent(percent));
77
- const effStatus = $derived(resolveStatus(pct, status, successWhenFull));
78
-
79
- const isCircle = $derived(type === 'circle' || type === 'dashboard');
80
- const gap = $derived(gapDegree ?? (type === 'dashboard' ? 75 : 0));
81
-
82
- const circleSize: Record<Size, number> = { small: 80, default: 120, large: 160 };
83
- const diameter = $derived(width ?? circleSize[size]);
84
- const sw = $derived(strokeWidth ?? Math.max(2, Math.round(diameter * 0.06)));
85
-
86
- const circle = $derived(
87
- getCirclePathProps({
88
- width: diameter,
89
- strokeWidth: sw,
90
- percent: pct,
91
- gapDegree: gap,
92
- gapPosition,
93
- }),
94
- );
95
-
96
- const aria = $derived(
97
- getRootAriaProps({
98
- percent: pct,
99
- indeterminate,
100
- ...(ariaLabel !== undefined ? { label: ariaLabel } : {}),
101
- valueText: `${pct}%`,
102
- }),
103
- );
104
-
105
- // 信息区文本:formatSnippet 优先于 format prop;format 返回 null 时隐藏。
106
- // indeterminate(不确定进度)忽略 percent 数值显示,不渲染默认百分比。
107
- const infoText = $derived(
108
- indeterminate ? null : format ? format(pct, effStatus) : `${pct}%`,
109
- );
110
- const showCheck = $derived(isCircle && effStatus === 'success');
111
-
112
- // strokeColor 处理:字符串直接用,对象生成渐变
113
- const isGradientStroke = $derived(typeof strokeColor === 'object' && strokeColor !== null);
114
- const gradientId = $derived(isGradientStroke ? `cd-progress-grad-${Math.abs(hashStr(JSON.stringify(strokeColor)))}` : '');
115
- const strokeColorValue = $derived(
116
- !strokeColor
117
- ? undefined
118
- : typeof strokeColor === 'string'
119
- ? strokeColor
120
- : `url(#${gradientId})`
121
- );
122
- const trailColorValue = $derived(trailColor ?? undefined);
123
-
124
- function hashStr(s: string): number {
125
- let h = 0;
126
- for (let i = 0; i < s.length; i++) { h = (h << 5) - h + s.charCodeAt(i); h |= 0; }
127
- return h;
128
- }
129
-
130
- // onComplete:percent 首达 100 触发一次;回落到 <100 后重置可再次触发。
131
- let firedComplete = false;
132
- $effect(() => {
133
- const p = pct;
134
- if (p >= 100 && !firedComplete) {
135
- firedComplete = true;
136
- onComplete?.({ percent: p });
137
- }
138
- if (p < 100) firedComplete = false;
139
- });
140
-
141
- // onChange:percent 变化时通知,untrack 上次值避免初次挂载触发噪音。
142
- let prevPct = untrack(() => pct);
143
- $effect(() => {
144
- const p = pct;
145
- if (p !== untrack(() => prevPct)) {
146
- prevPct = p;
147
- onChange?.({ percent: p });
148
- }
149
- });
150
- </script>
151
-
152
- {#snippet checkIcon()}
153
- <svg
154
- class="cd-progress__check"
155
- viewBox="0 0 24 24"
156
- aria-hidden="true"
157
- focusable="false"
158
- >
159
- <path
160
- d="M5 13l4 4L19 7"
161
- fill="none"
162
- stroke="currentColor"
163
- stroke-width="2.5"
164
- stroke-linecap="round"
165
- stroke-linejoin="round"
166
- />
167
- </svg>
168
- {/snippet}
169
-
170
- {#snippet info(forCircle: boolean)}
171
- {#if formatSnippet}
172
- {@render formatSnippet({ percent: pct, status: effStatus })}
173
- {:else if forCircle && showCheck}
174
- {@render checkIcon()}
175
- {:else}
176
- {infoText}
177
- {/if}
178
- {/snippet}
179
-
180
- {#if isCircle}
181
- <div
182
- class="cd-progress cd-progress--circle cd-progress--{effStatus}"
183
- class:cd-progress--no-motion={!motion}
184
- class:cd-progress--indeterminate={indeterminate}
185
- style="inline-size:{diameter}px; block-size:{diameter}px"
186
- {...aria}
187
- >
188
- <svg
189
- class="cd-progress__svg"
190
- width={diameter}
191
- height={diameter}
192
- viewBox="0 0 {diameter} {diameter}"
193
- aria-hidden="true"
194
- >
195
- {#if isGradientStroke && strokeColor && typeof strokeColor === 'object'}
196
- <defs>
197
- <linearGradient
198
- id={gradientId}
199
- x1={strokeColor.direction === 'to bottom' ? '0%' : '0%'}
200
- y1={strokeColor.direction === 'to bottom' ? '0%' : '0%'}
201
- x2={strokeColor.direction === 'to bottom' ? '0%' : '100%'}
202
- y2={strokeColor.direction === 'to bottom' ? '100%' : '0%'}
203
- >
204
- <stop offset="0%" stop-color={strokeColor.from} />
205
- <stop offset="100%" stop-color={strokeColor.to} />
206
- </linearGradient>
207
- </defs>
208
- {/if}
209
- <circle
210
- class="cd-progress__circle-track"
211
- cx={circle.center}
212
- cy={circle.center}
213
- r={circle.radius}
214
- fill="none"
215
- stroke={trailColorValue ?? 'var(--cd-progress-track-color)'}
216
- stroke-width={sw}
217
- stroke-dasharray={circle.trackDash}
218
- transform="rotate({circle.rotation} {circle.center} {circle.center})"
219
- />
220
- <circle
221
- class="cd-progress__circle-fill"
222
- cx={circle.center}
223
- cy={circle.center}
224
- r={circle.radius}
225
- fill="none"
226
- stroke={strokeColorValue}
227
- stroke-width={sw}
228
- stroke-linecap={strokeLinecap}
229
- stroke-dasharray={circle.fillDash}
230
- transform="rotate({circle.rotation} {circle.center} {circle.center})"
231
- />
232
- </svg>
233
- {#if showInfo}
234
- <span class="cd-progress__circle-info">{@render info(true)}</span>
235
- {/if}
236
- </div>
237
- {:else}
238
- {#if isGradientStroke && strokeColor && typeof strokeColor === 'object'}
239
- <svg width="0" height="0" aria-hidden="true" style="position:absolute">
240
- <defs>
241
- <linearGradient
242
- id={gradientId}
243
- x1={strokeColor.direction === 'to bottom' ? '0%' : '0%'}
244
- y1={strokeColor.direction === 'to bottom' ? '0%' : '0%'}
245
- x2={strokeColor.direction === 'to bottom' ? '0%' : '100%'}
246
- y2={strokeColor.direction === 'to bottom' ? '100%' : '0%'}
247
- >
248
- <stop offset="0%" stop-color={strokeColor.from} />
249
- <stop offset="100%" stop-color={strokeColor.to} />
250
- </linearGradient>
251
- </defs>
252
- </svg>
253
- {/if}
254
- <div
255
- class="cd-progress cd-progress--line cd-progress--{size} cd-progress--{effStatus}"
256
- class:cd-progress--no-motion={!motion}
257
- {...aria}
258
- >
259
- <div class="cd-progress__track" style={trailColorValue ? `background:${trailColorValue}` : undefined}>
260
- <div
261
- class="cd-progress__fill"
262
- class:cd-progress__fill--indeterminate={indeterminate}
263
- style={[
264
- `inline-size: ${indeterminate ? 100 : pct}%`,
265
- strokeColorValue ? `background:${strokeColorValue}` : '',
266
- ].filter(Boolean).join(';')}
267
- ></div>
268
- </div>
269
- {#if showInfo && infoText !== null}
270
- <span class="cd-progress__info">{@render info(false)}</span>
271
- {/if}
272
- </div>
273
- {/if}
274
-
275
- <style>
276
- /* ---- line 形态 ---- */
277
- .cd-progress--line {
278
- display: flex;
279
- align-items: center;
280
- gap: var(--cd-spacing-2, 8px);
281
- inline-size: 100%;
282
- }
283
-
284
- .cd-progress__track {
285
- position: relative;
286
- flex: 1 1 auto;
287
- overflow: hidden;
288
- block-size: var(--cd-progress-height-default);
289
- border-radius: calc(var(--cd-progress-height-default) / 2);
290
- background: var(--cd-progress-track-color);
291
- }
292
- .cd-progress--small .cd-progress__track {
293
- block-size: var(--cd-progress-height-small);
294
- border-radius: calc(var(--cd-progress-height-small) / 2);
295
- }
296
- .cd-progress--large .cd-progress__track {
297
- block-size: var(--cd-progress-height-large);
298
- border-radius: calc(var(--cd-progress-height-large) / 2);
299
- }
300
-
301
- .cd-progress__fill {
302
- block-size: 100%;
303
- border-radius: inherit;
304
- background: var(--cd-progress-stroke-normal);
305
- transition: inline-size var(--cd-progress-transition);
306
- }
307
- .cd-progress--success .cd-progress__fill {
308
- background: var(--cd-progress-stroke-success);
309
- }
310
- .cd-progress--error .cd-progress__fill {
311
- background: var(--cd-progress-stroke-error);
312
- }
313
- .cd-progress--warning .cd-progress__fill {
314
- background: var(--cd-progress-stroke-warning);
315
- }
316
-
317
- .cd-progress__fill--indeterminate {
318
- inline-size: 40% !important;
319
- border-radius: inherit;
320
- transition: none;
321
- animation: cd-progress-indeterminate 1.4s ease-in-out infinite;
322
- }
323
-
324
- .cd-progress__info {
325
- flex: 0 0 auto;
326
- min-inline-size: 3em;
327
- color: var(--cd-progress-info-color);
328
- font-size: var(--cd-font-size-body, 14px);
329
- text-align: end;
330
- white-space: nowrap;
331
- }
332
- .cd-progress--success .cd-progress__info {
333
- color: var(--cd-progress-info-success-color);
334
- }
335
-
336
- /* ---- circle / dashboard 形态 ---- */
337
- .cd-progress--circle {
338
- position: relative;
339
- display: inline-flex;
340
- align-items: center;
341
- justify-content: center;
342
- }
343
-
344
- .cd-progress__svg {
345
- display: block;
346
- }
347
-
348
- .cd-progress__circle-fill {
349
- stroke: var(--cd-progress-stroke-normal);
350
- transition: stroke-dasharray var(--cd-progress-transition);
351
- }
352
- .cd-progress--success .cd-progress__circle-fill {
353
- stroke: var(--cd-progress-stroke-success);
354
- }
355
- .cd-progress--error .cd-progress__circle-fill {
356
- stroke: var(--cd-progress-stroke-error);
357
- }
358
- .cd-progress--warning .cd-progress__circle-fill {
359
- stroke: var(--cd-progress-stroke-warning);
360
- }
361
-
362
- .cd-progress__circle-info {
363
- position: absolute;
364
- inset: 0;
365
- display: flex;
366
- align-items: center;
367
- justify-content: center;
368
- color: var(--cd-progress-info-color);
369
- font-size: var(--cd-font-size-h4, 20px);
370
- line-height: 1;
371
- }
372
- .cd-progress--success .cd-progress__circle-info {
373
- color: var(--cd-progress-info-success-color);
374
- }
375
-
376
- .cd-progress__check {
377
- inline-size: 40%;
378
- block-size: 40%;
379
- }
380
-
381
- /* indeterminate circle:整体旋转 + 固定弧(fillDash 由 percent 给一段弧即可) */
382
- .cd-progress--indeterminate .cd-progress__svg {
383
- animation: cd-progress-spin 1.4s linear infinite;
384
- }
385
- .cd-progress--indeterminate .cd-progress__circle-fill {
386
- transition: none;
387
- }
388
-
389
- @keyframes cd-progress-indeterminate {
390
- 0% {
391
- transform: translateX(-100%);
392
- }
393
- 100% {
394
- transform: translateX(250%);
395
- }
396
- }
397
- @keyframes cd-progress-spin {
398
- to {
399
- transform: rotate(360deg);
400
- }
401
- }
402
-
403
- /* motion=false 与 reduced-motion:禁用过渡与循环动画 */
404
- .cd-progress--no-motion .cd-progress__fill,
405
- .cd-progress--no-motion .cd-progress__circle-fill {
406
- transition: none;
407
- }
408
- .cd-progress--no-motion .cd-progress__fill--indeterminate,
409
- .cd-progress--no-motion .cd-progress__svg {
410
- animation: none;
411
- }
412
-
413
- @media (prefers-reduced-motion: reduce) {
414
- .cd-progress__fill,
415
- .cd-progress__circle-fill {
416
- transition: none;
417
- }
418
- .cd-progress__fill--indeterminate,
419
- .cd-progress--indeterminate .cd-progress__svg {
420
- animation: none;
421
- }
422
- }
423
- </style>
@@ -1,3 +0,0 @@
1
- export { default as Progress } from './Progress.svelte';
2
- export { meta as progressMeta } from './meta.js';
3
- export type { ProgressStatus, ProgressType } from '@chenzy-design/core';