@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,387 +0,0 @@
1
- <!--
2
- Image — see specs/components/show/Image.spec.md
3
- 基础子集:src + 懒加载(native/observer) + fit/position + 占位 + 失败降级 +
4
- 点击预览(全屏遮罩 portal + 缩放/旋转/重置工具栏 + 多图左右切换) + LQIP 模糊占位 +
5
- crossorigin/srcset/sizes 原生属性透传(响应式图源)。
6
-
7
- 红线遵守:
8
- - observer 模式 IntersectionObserver 在 $effect 内命令式创建 + cleanup disconnect;
9
- node 用 bind:this 普通引用,不在 render 期读几何。
10
- - 预览浮层 portal、keydown 监听在 ImagePreview 内命令式 + cleanup。
11
- - 无受控 prop 需回写(previewOpen 为本地 $state)。
12
- - 在 Image.PreviewGroup 内时,预览态交由组共享浮层管理(受控不回写仅回调)。
13
- -->
14
- <script lang="ts">
15
- import type { Snippet } from 'svelte';
16
- import { untrack } from 'svelte';
17
- import { useLocale } from '../locale-provider/index.js';
18
- import ImagePreview from './ImagePreview.svelte';
19
- import { getImageGroupContext } from './context.js';
20
-
21
- type ImageFit = 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
22
- type ImageStatus = 'pending' | 'loading' | 'loaded' | 'error';
23
- type LazyMode = 'native' | 'observer';
24
-
25
- interface Props {
26
- src: string;
27
- alt?: string;
28
- width?: number | string;
29
- height?: number | string;
30
- fit?: ImageFit;
31
- position?: string;
32
- crossorigin?: 'anonymous' | 'use-credentials';
33
- srcset?: string;
34
- sizes?: string;
35
- lazy?: boolean;
36
- lazyMode?: LazyMode;
37
- rootMargin?: string;
38
- placeholder?: string | boolean;
39
- fallback?: string | boolean;
40
- preview?: boolean;
41
- /** 自定义预览图 URL,不传时用 src。 */
42
- previewSrc?: string;
43
- /** img 加载失败回调。 */
44
- onError?: (e: Event) => void;
45
- /** img 加载成功回调。 */
46
- onLoad?: (e: Event) => void;
47
- class?: string;
48
- errorSlot?: Snippet;
49
- placeholderSlot?: Snippet;
50
- }
51
-
52
- let {
53
- src,
54
- alt = '',
55
- width,
56
- height,
57
- fit = 'fill',
58
- position = 'center',
59
- crossorigin,
60
- srcset,
61
- sizes,
62
- lazy = true,
63
- lazyMode = 'native',
64
- rootMargin = '200px',
65
- placeholder = true,
66
- fallback = true,
67
- preview = false,
68
- previewSrc,
69
- onError,
70
- onLoad,
71
- class: className = '',
72
- errorSlot,
73
- placeholderSlot,
74
- }: Props = $props();
75
-
76
- const loc = useLocale();
77
-
78
- const useObserver = $derived(lazy && lazyMode === 'observer');
79
- // 仅用于 $state 初始值:untrack 读一次原始 props,避免 state_referenced_locally 警告。
80
- const initialObserver = untrack(() => lazy && lazyMode === 'observer');
81
-
82
- // observer 模式初始为 pending(未进视口),否则直接 loading
83
- let status = $state<ImageStatus>(initialObserver ? 'pending' : 'loading');
84
- let inView = $state(!initialObserver);
85
- let previewOpen = $state(false);
86
-
87
- let imgNode = $state<HTMLImageElement | null>(null);
88
-
89
- // observer 模式下,进入视口前不设真实 src
90
- const resolvedSrc = $derived(useObserver && !inView ? undefined : src);
91
- // srcset 与 src 同步延迟:observer 未进视口前不设,避免浏览器提前选源加载。
92
- const resolvedSrcset = $derived(useObserver && !inView ? undefined : srcset);
93
-
94
- // placeholder 是字符串时当作 LQIP 低质占位图 src(loading/pending 阶段显示,CSS blur 模糊)。
95
- // 主图 onload 前显示模糊占位,加载完成后主图淡入清晰、占位淡出。
96
- const placeholderSrc = $derived(typeof placeholder === 'string' ? placeholder : undefined);
97
- const showPlaceholder = $derived(status === 'pending' || status === 'loading');
98
- const showSkeleton = $derived(showPlaceholder && placeholder === true);
99
- // 是否为 LQIP 模糊占位(字符串占位 = 低质图,需 blur + 淡入主图)。
100
- const isLqip = $derived(placeholderSrc !== undefined);
101
- // 主图加载完成才淡入(仅 LQIP 场景需要,避免无占位时初始透明闪烁)。
102
- const imgLoaded = $derived(status === 'loaded');
103
-
104
- // error 降级:fallback 为字符串 → 降级图;true → 默认破图占位;false → errorSlot
105
- const fallbackSrc = $derived(typeof fallback === 'string' ? fallback : undefined);
106
-
107
- const nativeLoading = $derived(lazy && lazyMode === 'native' ? 'lazy' : undefined);
108
-
109
- const rootStyle = $derived(
110
- [
111
- width !== undefined ? `inline-size:${typeof width === 'number' ? `${width}px` : width}` : '',
112
- height !== undefined ? `block-size:${typeof height === 'number' ? `${height}px` : height}` : '',
113
- ]
114
- .filter(Boolean)
115
- .join(';'),
116
- );
117
-
118
- const imgStyle = $derived(`object-fit:${fit};object-position:${position}`);
119
-
120
- // 装饰性图片(明确传 alt=''):role="presentation" 让读屏跳过,不当作有意义内容。
121
- const presentationRole = $derived(alt === '' ? 'presentation' : undefined);
122
-
123
- // 主图类名:LQIP 场景下未加载完成时透明,加载完成淡入清晰。
124
- const imgCls = $derived(
125
- ['cd-image__img', isLqip && 'cd-image__img--fade', isLqip && imgLoaded && 'cd-image__img--in']
126
- .filter(Boolean)
127
- .join(' '),
128
- );
129
-
130
- const cls = $derived(
131
- ['cd-image', preview && status === 'loaded' && 'cd-image--previewable', className]
132
- .filter(Boolean)
133
- .join(' '),
134
- );
135
-
136
- const canPreview = $derived(preview && status === 'loaded');
137
-
138
- function handleLoad(e: Event) {
139
- status = 'loaded';
140
- onLoad?.(e);
141
- }
142
-
143
- function handleError(e: Event) {
144
- status = 'error';
145
- onError?.(e);
146
- }
147
-
148
- // 预览组上下文:存在则把预览态交给组共享浮层(多图切换);否则用本地单图浮层。
149
- const group = getImageGroupContext();
150
- // 在组内注册自身(注册顺序 = 组内稳定槽位索引)。注册是一次性的(非响应式),
151
- // src/alt 经 getter 暴露给组以保持响应性。卸载时经 $effect cleanup 注销。
152
- const groupSlot = group ? group.register({ getSrc: () => previewSrc ?? src, getAlt: () => alt }) : -1;
153
- if (group) {
154
- $effect(() => () => group.unregister(groupSlot));
155
- }
156
-
157
- function openPreview() {
158
- if (!canPreview) return;
159
- if (group) {
160
- group.open(groupSlot);
161
- } else {
162
- previewOpen = true;
163
- }
164
- }
165
-
166
- function closePreview() {
167
- previewOpen = false;
168
- }
169
-
170
- // 单图浮层只有一张图,索引恒为 0;onChange 无实际切换(满足共享组件接口)。
171
- // previewSrc 指定自定义预览图(缩略图与预览图可不同)。
172
- const singleImages = $derived([{ src: previewSrc ?? src, alt }]);
173
-
174
- // IntersectionObserver:命令式创建 + cleanup,进入视口才放行真实 src
175
- $effect(() => {
176
- if (!useObserver) return;
177
- if (inView) return;
178
- const node = imgNode;
179
- if (!node) return;
180
- if (typeof IntersectionObserver === 'undefined') {
181
- inView = true;
182
- status = 'loading';
183
- return;
184
- }
185
- const observer = new IntersectionObserver(
186
- (entries) => {
187
- for (const entry of entries) {
188
- if (entry.isIntersecting) {
189
- inView = true;
190
- status = 'loading';
191
- observer.disconnect();
192
- break;
193
- }
194
- }
195
- },
196
- { rootMargin },
197
- );
198
- observer.observe(node);
199
- return () => observer.disconnect();
200
- });
201
-
202
- // 缓存图竞态兜底:若图片在 onload 监听挂载前已 complete(如缓存命中 / data-URI 同步解码),
203
- // load 事件可能不再触发,status 会卡在 loading。此处命令式补判 complete 推进状态。
204
- $effect(() => {
205
- if (status !== 'loading') return;
206
- const node = imgNode;
207
- if (!node || !node.getAttribute('src')) return;
208
- if (node.complete) {
209
- // naturalWidth 为 0 视为解码失败 → error,否则 loaded。
210
- status = node.naturalWidth > 0 ? 'loaded' : 'error';
211
- }
212
- });
213
- </script>
214
-
215
- <div class={cls} style={rootStyle || undefined} data-status={status}>
216
- {#if status === 'error'}
217
- {#if fallbackSrc}
218
- <img class="cd-image__img" src={fallbackSrc} {alt} style={imgStyle} />
219
- {:else if fallback === true}
220
- <div class="cd-image__error" role="img" aria-label={alt || loc().t('Image.errorAlt')}>
221
- <svg viewBox="0 0 48 48" width="32" height="32" aria-hidden="true" focusable="false">
222
- <rect x="6" y="10" width="36" height="28" rx="3" fill="none" stroke="currentColor" stroke-width="2" />
223
- <path d="M12 32 20 22 27 30 32 25 38 32" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round" />
224
- <circle cx="30" cy="18" r="3" fill="currentColor" />
225
- </svg>
226
- </div>
227
- {:else if errorSlot}
228
- {@render errorSlot()}
229
- {/if}
230
- {:else}
231
- {#if showPlaceholder}
232
- <div class="cd-image__placeholder" aria-hidden="true" aria-busy="true">
233
- {#if placeholderSrc}
234
- <img class="cd-image__img cd-image__placeholder-img cd-image__placeholder-img--blur" src={placeholderSrc} alt="" style={imgStyle} />
235
- {:else if placeholderSlot}
236
- {@render placeholderSlot()}
237
- {:else if showSkeleton}
238
- <span class="cd-image__skeleton"></span>
239
- {/if}
240
- </div>
241
- {/if}
242
-
243
- {#if canPreview}
244
- <button
245
- type="button"
246
- class="cd-image__trigger"
247
- onclick={openPreview}
248
- aria-label={loc().t('Image.previewTrigger')}
249
- >
250
- <img
251
- bind:this={imgNode}
252
- class={imgCls}
253
- src={resolvedSrc}
254
- srcset={resolvedSrcset}
255
- {sizes}
256
- {crossorigin}
257
- {alt}
258
- role={presentationRole}
259
- loading={nativeLoading}
260
- style={imgStyle}
261
- onload={handleLoad}
262
- onerror={handleError}
263
- />
264
- <span class="cd-image__mask" aria-hidden="true">{loc().t('Image.previewMask')}</span>
265
- </button>
266
- {:else}
267
- <img
268
- bind:this={imgNode}
269
- class={imgCls}
270
- src={resolvedSrc}
271
- srcset={resolvedSrcset}
272
- {sizes}
273
- {crossorigin}
274
- {alt}
275
- role={presentationRole}
276
- loading={nativeLoading}
277
- style={imgStyle}
278
- onload={handleLoad}
279
- onerror={handleError}
280
- />
281
- {/if}
282
- {/if}
283
- </div>
284
-
285
- <!-- 单图预览:复用共享浮层(组预览由 Image.PreviewGroup 渲染共享浮层)。 -->
286
- {#if previewOpen && !group}
287
- <ImagePreview
288
- images={singleImages}
289
- current={0}
290
- onClose={closePreview}
291
- onChange={() => {}}
292
- />
293
- {/if}
294
-
295
- <style>
296
- .cd-image {
297
- position: relative;
298
- display: inline-block;
299
- overflow: hidden;
300
- background: var(--cd-image-bg);
301
- border-radius: var(--cd-image-radius);
302
- line-height: 0;
303
- }
304
- .cd-image__img {
305
- display: block;
306
- inline-size: 100%;
307
- block-size: 100%;
308
- }
309
- .cd-image__trigger {
310
- display: block;
311
- inline-size: 100%;
312
- block-size: 100%;
313
- padding: 0;
314
- margin: 0;
315
- border: 0;
316
- background: none;
317
- cursor: zoom-in;
318
- }
319
- .cd-image__trigger:focus-visible {
320
- outline: var(--cd-focus-ring);
321
- outline-offset: -2px;
322
- }
323
-
324
- .cd-image__placeholder {
325
- position: absolute;
326
- inset: 0;
327
- display: flex;
328
- align-items: center;
329
- justify-content: center;
330
- }
331
- .cd-image__placeholder-img {
332
- object-fit: cover;
333
- }
334
- .cd-image__skeleton {
335
- inline-size: 100%;
336
- block-size: 100%;
337
- background: var(--cd-image-placeholder-color);
338
- opacity: 0.4;
339
- }
340
-
341
- .cd-image__error {
342
- display: flex;
343
- align-items: center;
344
- justify-content: center;
345
- inline-size: 100%;
346
- block-size: 100%;
347
- min-block-size: 64px;
348
- color: var(--cd-image-placeholder-color);
349
- }
350
-
351
- .cd-image__mask {
352
- position: absolute;
353
- inset: 0;
354
- display: flex;
355
- align-items: center;
356
- justify-content: center;
357
- background: var(--cd-image-mask-bg);
358
- color: var(--cd-image-mask-color);
359
- line-height: normal;
360
- opacity: 0;
361
- transition: opacity var(--cd-motion-duration-fast, 0.12s) ease;
362
- }
363
- .cd-image__trigger:hover .cd-image__mask,
364
- .cd-image__trigger:focus-visible .cd-image__mask {
365
- opacity: 1;
366
- }
367
-
368
- /* LQIP:低质占位图模糊;主图加载完成前透明,加载后淡入清晰。 */
369
- .cd-image__placeholder-img--blur {
370
- filter: blur(12px);
371
- transform: scale(1.05);
372
- }
373
- .cd-image__img--fade {
374
- opacity: 0;
375
- transition: opacity var(--cd-motion-duration-mid, 0.2s) var(--cd-motion-ease-standard);
376
- }
377
- .cd-image__img--in {
378
- opacity: 1;
379
- }
380
-
381
- @media (prefers-reduced-motion: reduce) {
382
- .cd-image__mask,
383
- .cd-image__img--fade {
384
- transition: none;
385
- }
386
- }
387
- </style>
@@ -1,52 +0,0 @@
1
- // Image 灯箱键盘 e2e(browser project / 真实 chromium)。
2
- // ImagePreview 是 portal 到 body 的全屏 dialog(aria-modal=true):useFocusTrap 把焦点锁在
3
- // 灯箱内 + 关闭归还触发元素;全局 keydown 监听 Esc 关闭、←→ 翻页(onChange 切 current)。
4
- // jsdom 测不了真实焦点陷阱/归还,故真浏览器断 .toHaveFocus()。
5
- // 1. 聚焦 trigger 并点击开灯箱 → 焦点进入灯箱(首个可聚焦 = 关闭按钮)。
6
- // 2. → 翻到下一张(counter 1/3 → 2/3),← 翻回。
7
- // 3. Esc 关闭灯箱 → 焦点归还 trigger。
8
- import { describe, it, expect } from 'vitest';
9
- import { page } from 'vitest/browser';
10
- import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
11
- import ImagePreviewKbdFixture from './ImagePreviewKbdFixture.svelte';
12
-
13
- function loc(el: Element) {
14
- return page.elementLocator(el);
15
- }
16
-
17
- function counterText(): string {
18
- return document.querySelector('.cd-image__preview-counter')?.textContent?.trim() ?? '';
19
- }
20
-
21
- describe('Image 灯箱键盘 e2e(focus trap + ←→ 翻页 + Esc 归还)', () => {
22
- it('开灯箱焦点入内;←→ 翻页;Esc 关闭归还 trigger', async () => {
23
- const { baseElement } = renderKbdFixture(ImagePreviewKbdFixture);
24
-
25
- const trigger = baseElement.querySelector('[data-testid="trigger"]') as HTMLButtonElement;
26
- expect(trigger).not.toBeNull();
27
- await userEvent.click(trigger);
28
-
29
- // 灯箱 portal 到 body:查 role=dialog(aria-modal=true)。
30
- const overlay = document.querySelector('.cd-image__preview[role="dialog"]') as HTMLElement;
31
- expect(overlay).not.toBeNull();
32
- expect(overlay.getAttribute('aria-modal')).toBe('true');
33
-
34
- // 1. 焦点进入灯箱(focus trap activate;落在内部可聚焦项)。
35
- await expect.poll(() => overlay.contains(document.activeElement)).toBe(true);
36
- expect(counterText()).toBe('1 / 3');
37
-
38
- // 2. → 翻到下一张(onChange 切 current)。
39
- await userEvent.keyboard('{ArrowRight}');
40
- await expect.poll(() => counterText()).toBe('2 / 3');
41
- // 焦点仍困在灯箱内。
42
- expect(overlay.contains(document.activeElement)).toBe(true);
43
- // ← 翻回上一张。
44
- await userEvent.keyboard('{ArrowLeft}');
45
- await expect.poll(() => counterText()).toBe('1 / 3');
46
-
47
- // 3. Esc 关闭灯箱 → 焦点归还 trigger(focus trap deactivate returnFocus)。
48
- await userEvent.keyboard('{Escape}');
49
- await expect.poll(() => document.querySelector('.cd-image__preview')).toBeNull();
50
- await expect.element(loc(trigger)).toHaveFocus();
51
- });
52
- });