@chenzy-design/svelte 0.2.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/dist/anchor/Anchor.svelte +1 -1
  2. package/dist/anchor/meta.d.ts +1 -1
  3. package/dist/anchor/meta.js +1 -1
  4. package/dist/autocomplete/AutoComplete.svelte +10 -10
  5. package/dist/avatar/Avatar.svelte +12 -7
  6. package/dist/avatar/AvatarGroup.svelte +2 -2
  7. package/dist/avatar/context.d.ts +1 -1
  8. package/dist/avatar/context.d.ts.map +1 -1
  9. package/dist/avatar/meta.d.ts +2 -2
  10. package/dist/avatar/meta.d.ts.map +1 -1
  11. package/dist/avatar/meta.js +3 -1
  12. package/dist/badge/Badge.svelte +5 -5
  13. package/dist/banner/Banner.svelte +1 -1
  14. package/dist/breadcrumb/Breadcrumb.svelte +9 -8
  15. package/dist/breadcrumb/meta.d.ts +1 -1
  16. package/dist/breadcrumb/meta.js +1 -1
  17. package/dist/button/Button.svelte +289 -55
  18. package/dist/button/Button.svelte.d.ts +20 -4
  19. package/dist/button/Button.svelte.d.ts.map +1 -1
  20. package/dist/button/ButtonGroup.svelte +107 -0
  21. package/dist/button/ButtonGroup.svelte.d.ts +21 -0
  22. package/dist/button/ButtonGroup.svelte.d.ts.map +1 -0
  23. package/dist/button/SplitButtonGroup.svelte +127 -0
  24. package/dist/button/SplitButtonGroup.svelte.d.ts +35 -0
  25. package/dist/button/SplitButtonGroup.svelte.d.ts.map +1 -0
  26. package/dist/button/context.d.ts +14 -0
  27. package/dist/button/context.d.ts.map +1 -0
  28. package/dist/button/context.js +14 -0
  29. package/dist/button/index.d.ts +3 -0
  30. package/dist/button/index.d.ts.map +1 -1
  31. package/dist/button/index.js +3 -0
  32. package/dist/button/meta.d.ts +173 -4
  33. package/dist/button/meta.d.ts.map +1 -1
  34. package/dist/button/meta.js +58 -9
  35. package/dist/calendar/Calendar.svelte +16 -16
  36. package/dist/card/Card.svelte +10 -10
  37. package/dist/card/Card.svelte.d.ts +1 -1
  38. package/dist/card/Card.svelte.d.ts.map +1 -1
  39. package/dist/card/CardMeta.svelte +6 -6
  40. package/dist/card/CardMeta.svelte.d.ts +1 -1
  41. package/dist/card/CardMeta.svelte.d.ts.map +1 -1
  42. package/dist/card/index.d.ts +8 -0
  43. package/dist/card/index.d.ts.map +1 -0
  44. package/dist/card/meta.d.ts +1 -1
  45. package/dist/card/meta.d.ts.map +1 -1
  46. package/dist/card/meta.js +4 -0
  47. package/dist/carousel/Carousel.svelte +14 -14
  48. package/dist/carousel/meta.d.ts +1 -1
  49. package/dist/carousel/meta.js +2 -2
  50. package/dist/cascader/Cascader.svelte +18 -10
  51. package/dist/checkbox/Checkbox.svelte +19 -5
  52. package/dist/checkbox/Checkbox.svelte.d.ts +3 -0
  53. package/dist/checkbox/Checkbox.svelte.d.ts.map +1 -1
  54. package/dist/checkbox/CheckboxGroup.svelte +1 -1
  55. package/dist/checkbox/meta.d.ts +15 -0
  56. package/dist/checkbox/meta.d.ts.map +1 -1
  57. package/dist/checkbox/meta.js +3 -0
  58. package/dist/collapse/Collapse.svelte +6 -2
  59. package/dist/collapse/meta.d.ts +1 -1
  60. package/dist/collapse/meta.js +2 -2
  61. package/dist/color-picker/ColorPicker.svelte +69 -33
  62. package/dist/color-picker/ColorPicker.svelte.d.ts +13 -0
  63. package/dist/color-picker/ColorPicker.svelte.d.ts.map +1 -1
  64. package/dist/color-picker/meta.d.ts +30 -0
  65. package/dist/color-picker/meta.d.ts.map +1 -1
  66. package/dist/color-picker/meta.js +6 -0
  67. package/dist/components.d.ts +25 -9
  68. package/dist/components.json +986 -76
  69. package/dist/date-picker/DatePicker.svelte +43 -42
  70. package/dist/date-picker/RangePicker.svelte +10 -10
  71. package/dist/descriptions/Descriptions.svelte +7 -3
  72. package/dist/divider/Divider.svelte +1 -1
  73. package/dist/drawer/Drawer.svelte +1 -1
  74. package/dist/dropdown/Dropdown.svelte +6 -5
  75. package/dist/dropdown/DropdownDivider.svelte +1 -1
  76. package/dist/dropdown/DropdownItem.svelte +1 -1
  77. package/dist/dropdown/DropdownItemNode.svelte +4 -4
  78. package/dist/dropdown/DropdownSubMenu.svelte +2 -2
  79. package/dist/dropdown/DropdownTitle.svelte +1 -1
  80. package/dist/dropdown/meta.d.ts +1 -1
  81. package/dist/dropdown/meta.js +1 -1
  82. package/dist/empty/Empty.svelte +1 -0
  83. package/dist/form/Field.svelte +14 -14
  84. package/dist/form/Form.svelte +2 -2
  85. package/dist/form/FormCascader.svelte +6 -6
  86. package/dist/form/FormCheckbox.svelte +6 -6
  87. package/dist/form/FormDatePicker.svelte +5 -5
  88. package/dist/form/FormLabel.svelte +2 -2
  89. package/dist/form/FormRadio.svelte +5 -5
  90. package/dist/form/FormRating.svelte +7 -7
  91. package/dist/form/FormSection.svelte +2 -2
  92. package/dist/form/FormSelect.svelte +12 -12
  93. package/dist/form/FormSlider.svelte +10 -10
  94. package/dist/form/FormSwitch.svelte +5 -5
  95. package/dist/form/FormTagInput.svelte +5 -5
  96. package/dist/form/FormTreeSelect.svelte +7 -7
  97. package/dist/form/FormUpload.svelte +10 -10
  98. package/dist/highlight/Highlight.svelte +2 -2
  99. package/dist/highlight/meta.d.ts +1 -1
  100. package/dist/highlight/meta.d.ts.map +1 -1
  101. package/dist/highlight/meta.js +6 -1
  102. package/dist/image/ImagePreview.svelte +7 -7
  103. package/dist/image/meta.d.ts +1 -1
  104. package/dist/image/meta.js +1 -1
  105. package/dist/index.d.ts +2 -1
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +2 -1
  108. package/dist/input/Input.svelte +14 -7
  109. package/dist/input-number/InputNumber.svelte +25 -19
  110. package/dist/layout/Content.svelte +17 -3
  111. package/dist/layout/Content.svelte.d.ts +6 -0
  112. package/dist/layout/Content.svelte.d.ts.map +1 -1
  113. package/dist/layout/Footer.svelte +22 -5
  114. package/dist/layout/Footer.svelte.d.ts +6 -0
  115. package/dist/layout/Footer.svelte.d.ts.map +1 -1
  116. package/dist/layout/Header.svelte +20 -3
  117. package/dist/layout/Header.svelte.d.ts +6 -0
  118. package/dist/layout/Header.svelte.d.ts.map +1 -1
  119. package/dist/layout/Layout.svelte +15 -2
  120. package/dist/layout/Layout.svelte.d.ts +6 -0
  121. package/dist/layout/Layout.svelte.d.ts.map +1 -1
  122. package/dist/layout/Sider.svelte +29 -4
  123. package/dist/layout/Sider.svelte.d.ts +8 -0
  124. package/dist/layout/Sider.svelte.d.ts.map +1 -1
  125. package/dist/layout/meta.d.ts +88 -0
  126. package/dist/layout/meta.d.ts.map +1 -1
  127. package/dist/layout/meta.js +22 -5
  128. package/dist/list/List.svelte +3 -3
  129. package/dist/list/ListItem.svelte +5 -5
  130. package/dist/list/ListMeta.svelte +1 -1
  131. package/dist/list/meta.d.ts +1 -1
  132. package/dist/list/meta.js +2 -2
  133. package/dist/menu/Menu.svelte +119 -38
  134. package/dist/menu/Menu.svelte.d.ts +16 -1
  135. package/dist/menu/Menu.svelte.d.ts.map +1 -1
  136. package/dist/menu/MenuPopupNode.svelte +37 -37
  137. package/dist/menu/MenuPopupNode.svelte.d.ts +1 -1
  138. package/dist/menu/MenuPopupNode.svelte.d.ts.map +1 -1
  139. package/dist/menu/meta.d.ts +21 -1
  140. package/dist/menu/meta.d.ts.map +1 -1
  141. package/dist/menu/meta.js +6 -1
  142. package/dist/menu/types.d.ts +6 -0
  143. package/dist/menu/types.d.ts.map +1 -1
  144. package/dist/modal/ConfirmModal.svelte +1 -1
  145. package/dist/modal/Modal.svelte +1 -1
  146. package/dist/nav/Nav.svelte +293 -0
  147. package/dist/nav/Nav.svelte.d.ts +75 -0
  148. package/dist/nav/Nav.svelte.d.ts.map +1 -0
  149. package/dist/nav/NavFooter.svelte +82 -0
  150. package/dist/nav/NavFooter.svelte.d.ts +14 -0
  151. package/dist/nav/NavFooter.svelte.d.ts.map +1 -0
  152. package/dist/nav/NavHeader.svelte +66 -0
  153. package/dist/nav/NavHeader.svelte.d.ts +18 -0
  154. package/dist/nav/NavHeader.svelte.d.ts.map +1 -0
  155. package/dist/nav/NavItem.svelte +68 -0
  156. package/dist/nav/NavItem.svelte.d.ts +28 -0
  157. package/dist/nav/NavItem.svelte.d.ts.map +1 -0
  158. package/dist/nav/NavSub.svelte +57 -0
  159. package/dist/nav/NavSub.svelte.d.ts +18 -0
  160. package/dist/nav/NavSub.svelte.d.ts.map +1 -0
  161. package/dist/nav/context.d.ts +31 -0
  162. package/dist/nav/context.d.ts.map +1 -0
  163. package/dist/nav/context.js +15 -0
  164. package/dist/nav/index.d.ts +20 -0
  165. package/dist/nav/index.d.ts.map +1 -0
  166. package/dist/nav/index.js +18 -0
  167. package/dist/nav/meta.d.ts +296 -0
  168. package/dist/nav/meta.d.ts.map +1 -0
  169. package/dist/nav/meta.js +119 -0
  170. package/dist/nav/types.d.ts +52 -0
  171. package/dist/nav/types.d.ts.map +1 -0
  172. package/dist/nav/types.js +31 -0
  173. package/dist/notification/NotificationItem.svelte +5 -5
  174. package/dist/notification/meta.d.ts +1 -1
  175. package/dist/notification/meta.d.ts.map +1 -1
  176. package/dist/notification/meta.js +1 -0
  177. package/dist/overflow-list/OverflowList.svelte +4 -4
  178. package/dist/pagination/Pagination.svelte +5 -5
  179. package/dist/popconfirm/Popconfirm.svelte +10 -14
  180. package/dist/popconfirm/Popconfirm.svelte.d.ts.map +1 -1
  181. package/dist/popconfirm/meta.d.ts +1 -1
  182. package/dist/popconfirm/meta.d.ts.map +1 -1
  183. package/dist/popconfirm/meta.js +1 -0
  184. package/dist/popover/Popover.svelte +13 -13
  185. package/dist/progress/Progress.svelte +1 -1
  186. package/dist/radio/Radio.svelte +58 -11
  187. package/dist/radio/Radio.svelte.d.ts +11 -0
  188. package/dist/radio/Radio.svelte.d.ts.map +1 -1
  189. package/dist/radio/RadioGroup.svelte +1 -1
  190. package/dist/radio/meta.d.ts +54 -1
  191. package/dist/radio/meta.d.ts.map +1 -1
  192. package/dist/radio/meta.js +12 -1
  193. package/dist/rating/Rating.svelte +20 -4
  194. package/dist/rating/Rating.svelte.d.ts +5 -0
  195. package/dist/rating/Rating.svelte.d.ts.map +1 -1
  196. package/dist/rating/meta.d.ts +25 -0
  197. package/dist/rating/meta.d.ts.map +1 -1
  198. package/dist/rating/meta.js +5 -0
  199. package/dist/scroll-list/ScrollColumn.svelte +1 -1
  200. package/dist/select/Select.svelte +26 -18
  201. package/dist/side-sheet/SideSheet.svelte +4 -4
  202. package/dist/slider/Slider.svelte +93 -17
  203. package/dist/slider/Slider.svelte.d.ts +20 -0
  204. package/dist/slider/Slider.svelte.d.ts.map +1 -1
  205. package/dist/slider/meta.d.ts +36 -1
  206. package/dist/slider/meta.d.ts.map +1 -1
  207. package/dist/slider/meta.js +8 -1
  208. package/dist/steps/Steps.svelte +7 -7
  209. package/dist/steps/meta.d.ts +1 -1
  210. package/dist/steps/meta.js +1 -1
  211. package/dist/switch/Switch.svelte +6 -6
  212. package/dist/switch/meta.d.ts +1 -1
  213. package/dist/switch/meta.js +1 -1
  214. package/dist/table/Table.svelte +17 -17
  215. package/dist/tabs/Tabs.svelte +12 -12
  216. package/dist/tabs/meta.d.ts +1 -1
  217. package/dist/tabs/meta.js +1 -1
  218. package/dist/tag/Tag.svelte +4 -2
  219. package/dist/tag/meta.d.ts +1 -1
  220. package/dist/tag/meta.d.ts.map +1 -1
  221. package/dist/tag/meta.js +2 -0
  222. package/dist/tag-input/TagInput.svelte +25 -14
  223. package/dist/textarea/TextArea.svelte +8 -8
  224. package/dist/time-picker/TimePicker.svelte +16 -16
  225. package/dist/timeline/Timeline.svelte +3 -3
  226. package/dist/timeline/meta.d.ts +1 -1
  227. package/dist/timeline/meta.js +1 -1
  228. package/dist/toast/ToastItem.svelte +2 -1
  229. package/dist/toast/meta.d.ts +1 -1
  230. package/dist/toast/meta.d.ts.map +1 -1
  231. package/dist/toast/meta.js +1 -0
  232. package/dist/tooltip/Tooltip.svelte +1 -1
  233. package/dist/transfer/Transfer.svelte +19 -19
  234. package/dist/tree/Tree.svelte +7 -6
  235. package/dist/tree-select/TreeSelect.svelte +20 -11
  236. package/dist/typography/TypographyBase.svelte +21 -12
  237. package/dist/typography/meta.d.ts +1 -1
  238. package/dist/typography/meta.d.ts.map +1 -1
  239. package/dist/typography/meta.js +3 -1
  240. package/dist/upload/Upload.svelte +44 -41
  241. package/package.json +4 -4
@@ -3,6 +3,12 @@ interface Props {
3
3
  /** true→token padding; number→px; string→raw; false→0 */
4
4
  padding?: string | number | boolean;
5
5
  class?: string;
6
+ /** 根元素自定义内联样式(透传,叠加在 padding 之后)。 */
7
+ style?: string;
8
+ /** 可访问性标签(透传到根元素 aria-label)。 */
9
+ ariaLabel?: string;
10
+ /** 可访问性 role(透传到根元素,覆盖默认 main 语义)。 */
11
+ role?: string;
6
12
  children?: Snippet;
7
13
  }
8
14
  declare const Content: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"Content.svelte.d.ts","sourceRoot":"","sources":["../../src/layout/Content.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGpC,UAAU,KAAK;IACb,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA2BH,QAAA,MAAM,OAAO,2CAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Content.svelte.d.ts","sourceRoot":"","sources":["../../src/layout/Content.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGpC,UAAU,KAAK;IACb,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAmCH,QAAA,MAAM,OAAO,2CAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
@@ -9,10 +9,24 @@
9
9
  /** override height; number→px, string→raw */
10
10
  height?: string | number;
11
11
  class?: string;
12
+ /** 根元素自定义内联样式(透传,叠加在 height 之后)。 */
13
+ style?: string;
14
+ /** 可访问性标签(透传到根元素 aria-label)。 */
15
+ ariaLabel?: string;
16
+ /** 可访问性 role(透传到根元素)。 */
17
+ role?: string;
12
18
  children?: Snippet;
13
19
  }
14
20
 
15
- let { sticky = false, height, class: className = '', children }: Props = $props();
21
+ let {
22
+ sticky = false,
23
+ height,
24
+ class: className = '',
25
+ style,
26
+ ariaLabel,
27
+ role,
28
+ children,
29
+ }: Props = $props();
16
30
 
17
31
  const heightCss = $derived.by(() => {
18
32
  if (height === undefined) return undefined;
@@ -23,10 +37,13 @@
23
37
  ['cd-layout-footer', sticky && 'cd-layout-footer--sticky', className].filter(Boolean).join(' '),
24
38
  );
25
39
 
26
- const inlineStyle = $derived(heightCss ? `height:${heightCss}` : undefined);
40
+ // height 派生样式在前,用户 style 在后(可覆盖)。
41
+ const inlineStyle = $derived(
42
+ [heightCss ? `height:${heightCss}` : '', style ?? ''].filter(Boolean).join(';') || undefined,
43
+ );
27
44
  </script>
28
45
 
29
- <footer class={cls} style={inlineStyle}>
46
+ <footer class={cls} style={inlineStyle} aria-label={ariaLabel} {role}>
30
47
  {@render children?.()}
31
48
  </footer>
32
49
 
@@ -36,8 +53,8 @@
36
53
  flex: 0 0 auto;
37
54
  align-items: center;
38
55
  justify-content: center;
39
- padding-block: var(--cd-spacing-4);
40
- padding-inline: var(--cd-spacing-6);
56
+ padding-block: var(--cd-spacing-base);
57
+ padding-inline: var(--cd-spacing-loose);
41
58
  background: var(--cd-layout-footer-bg);
42
59
  color: var(--cd-layout-footer-color);
43
60
  text-align: center;
@@ -4,6 +4,12 @@ interface Props {
4
4
  /** override height; number→px, string→raw */
5
5
  height?: string | number;
6
6
  class?: string;
7
+ /** 根元素自定义内联样式(透传,叠加在 height 之后)。 */
8
+ style?: string;
9
+ /** 可访问性标签(透传到根元素 aria-label)。 */
10
+ ariaLabel?: string;
11
+ /** 可访问性 role(透传到根元素)。 */
12
+ role?: string;
7
13
  children?: Snippet;
8
14
  }
9
15
  declare const Footer: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.svelte.d.ts","sourceRoot":"","sources":["../../src/layout/Footer.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGpC,UAAU,KAAK;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA4BH,QAAA,MAAM,MAAM,2CAAwC,CAAC;AACrD,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;AACxC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Footer.svelte.d.ts","sourceRoot":"","sources":["../../src/layout/Footer.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGpC,UAAU,KAAK;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAuCH,QAAA,MAAM,MAAM,2CAAwC,CAAC;AACrD,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;AACxC,eAAe,MAAM,CAAC"}
@@ -9,10 +9,24 @@
9
9
  /** override token height; number→px, string→raw */
10
10
  height?: string | number;
11
11
  class?: string;
12
+ /** 根元素自定义内联样式(透传,叠加在 height 之后)。 */
13
+ style?: string;
14
+ /** 可访问性标签(透传到根元素 aria-label)。 */
15
+ ariaLabel?: string;
16
+ /** 可访问性 role(透传到根元素)。 */
17
+ role?: string;
12
18
  children?: Snippet;
13
19
  }
14
20
 
15
- let { sticky = false, height, class: className = '', children }: Props = $props();
21
+ let {
22
+ sticky = false,
23
+ height,
24
+ class: className = '',
25
+ style,
26
+ ariaLabel,
27
+ role,
28
+ children,
29
+ }: Props = $props();
16
30
 
17
31
  const heightCss = $derived.by(() => {
18
32
  if (height === undefined) return undefined;
@@ -23,10 +37,13 @@
23
37
  ['cd-layout-header', sticky && 'cd-layout-header--sticky', className].filter(Boolean).join(' '),
24
38
  );
25
39
 
26
- const inlineStyle = $derived(heightCss ? `height:${heightCss}` : undefined);
40
+ // height 派生样式在前,用户 style 在后(可覆盖)。
41
+ const inlineStyle = $derived(
42
+ [heightCss ? `height:${heightCss}` : '', style ?? ''].filter(Boolean).join(';') || undefined,
43
+ );
27
44
  </script>
28
45
 
29
- <header class={cls} style={inlineStyle}>
46
+ <header class={cls} style={inlineStyle} aria-label={ariaLabel} {role}>
30
47
  {@render children?.()}
31
48
  </header>
32
49
 
@@ -4,6 +4,12 @@ interface Props {
4
4
  /** override token height; number→px, string→raw */
5
5
  height?: string | number;
6
6
  class?: string;
7
+ /** 根元素自定义内联样式(透传,叠加在 height 之后)。 */
8
+ style?: string;
9
+ /** 可访问性标签(透传到根元素 aria-label)。 */
10
+ ariaLabel?: string;
11
+ /** 可访问性 role(透传到根元素)。 */
12
+ role?: string;
7
13
  children?: Snippet;
8
14
  }
9
15
  declare const Header: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"Header.svelte.d.ts","sourceRoot":"","sources":["../../src/layout/Header.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGpC,UAAU,KAAK;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA4BH,QAAA,MAAM,MAAM,2CAAwC,CAAC;AACrD,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;AACxC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Header.svelte.d.ts","sourceRoot":"","sources":["../../src/layout/Header.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGpC,UAAU,KAAK;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAuCH,QAAA,MAAM,MAAM,2CAAwC,CAAC;AACrD,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;AACxC,eAAe,MAAM,CAAC"}
@@ -20,10 +20,23 @@
20
20
  interface Props {
21
21
  hasSider?: boolean;
22
22
  class?: string;
23
+ /** 根元素自定义内联样式(透传)。Layout 不附带背景/尺寸样式,按需自定义。 */
24
+ style?: string;
25
+ /** 可访问性标签(透传到根元素 aria-label)。 */
26
+ ariaLabel?: string;
27
+ /** 可访问性 role(透传到根元素,覆盖默认语义)。 */
28
+ role?: string;
23
29
  children?: Snippet;
24
30
  }
25
31
 
26
- let { hasSider, class: className = '', children }: Props = $props();
32
+ let {
33
+ hasSider,
34
+ class: className = '',
35
+ style,
36
+ ariaLabel,
37
+ role,
38
+ children,
39
+ }: Props = $props();
27
40
 
28
41
  let hasSiderDetected = $state(false);
29
42
 
@@ -42,7 +55,7 @@
42
55
  );
43
56
  </script>
44
57
 
45
- <section class={cls}>
58
+ <section class={cls} {style} aria-label={ariaLabel} {role}>
46
59
  {@render children?.()}
47
60
  </section>
48
61
 
@@ -6,6 +6,12 @@ import type { Snippet } from 'svelte';
6
6
  interface Props {
7
7
  hasSider?: boolean;
8
8
  class?: string;
9
+ /** 根元素自定义内联样式(透传)。Layout 不附带背景/尺寸样式,按需自定义。 */
10
+ style?: string;
11
+ /** 可访问性标签(透传到根元素 aria-label)。 */
12
+ ariaLabel?: string;
13
+ /** 可访问性 role(透传到根元素,覆盖默认语义)。 */
14
+ role?: string;
9
15
  children?: Snippet;
10
16
  }
11
17
  declare const Layout: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.svelte.d.ts","sourceRoot":"","sources":["../../src/layout/Layout.svelte.ts"],"names":[],"mappings":"AAGE,eAAO,MAAM,kBAAkB,eAAsB,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIpC,UAAU,KAAK;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAoCH,QAAA,MAAM,MAAM,2CAAwC,CAAC;AACrD,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;AACxC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Layout.svelte.d.ts","sourceRoot":"","sources":["../../src/layout/Layout.svelte.ts"],"names":[],"mappings":"AAGE,eAAO,MAAM,kBAAkB,eAAsB,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIpC,UAAU,KAAK;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA2CH,QAAA,MAAM,MAAM,2CAAwC,CAAC;AACrD,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;AACxC,eAAe,MAAM,CAAC"}
@@ -26,7 +26,15 @@
26
26
  reverseArrow?: boolean;
27
27
  placement?: 'left' | 'right';
28
28
  class?: string;
29
+ /** 根元素自定义内联样式(透传,叠加在宽度样式之后)。 */
30
+ style?: string;
31
+ /** 可访问性标签(透传到 aside 的 aria-label,描述该 Sider 作用)。 */
32
+ ariaLabel?: string;
33
+ /** 可访问性 role(透传到根元素)。 */
34
+ role?: string;
29
35
  onCollapse?: (collapsed: boolean, trigger: SiderTrigger) => void;
36
+ /** 触发响应式断点时的回调(matched=是否命中 max-width 断点)。 */
37
+ onBreakpoint?: (matched: boolean, breakpoint: Breakpoint) => void;
30
38
  children?: Snippet;
31
39
  /** custom trigger; receives current collapsed + toggle */
32
40
  trigger?: Snippet<[{ collapsed: boolean; toggle: () => void }]>;
@@ -42,7 +50,11 @@
42
50
  reverseArrow = false,
43
51
  placement = 'left',
44
52
  class: className = '',
53
+ style,
54
+ ariaLabel,
55
+ role,
45
56
  onCollapse,
57
+ onBreakpoint,
46
58
  children,
47
59
  trigger,
48
60
  }: Props = $props();
@@ -60,6 +72,7 @@
60
72
  const options: SiderOptions = {
61
73
  defaultCollapsed,
62
74
  onChange: (value, t) => onCollapse?.(value, t),
75
+ onBreakpoint: (matched, bp) => onBreakpoint?.(matched, bp),
63
76
  };
64
77
  if (collapsed !== undefined) options.collapsed = collapsed;
65
78
  if (breakpoint !== undefined) options.breakpoint = breakpoint;
@@ -91,7 +104,14 @@
91
104
  });
92
105
 
93
106
  function toggle(): void {
94
- sider.toggle();
107
+ // 受控模式:headless 在构造时捕获了初始 collapsed,其 current() 是陈旧值,
108
+ // 直接 sider.toggle() 会一直按初值翻转。故用 Svelte 侧 live 的 collapsedState
109
+ // 计算目标并 setCollapsed(仅触发 onChange,受控不自改)。非受控走 headless toggle。
110
+ if (collapsed !== undefined) {
111
+ sider.setCollapsed(!collapsedState, 'click');
112
+ } else {
113
+ sider.toggle();
114
+ }
95
115
  }
96
116
 
97
117
  function toCss(value: string | number): string {
@@ -115,7 +135,12 @@
115
135
  .join(' '),
116
136
  );
117
137
 
118
- const inlineStyle = $derived(`flex: 0 0 ${widthCss}; width: ${widthCss}; max-width: ${widthCss}`);
138
+ // 宽度派生样式在前,用户 style 在后(可覆盖)。
139
+ const inlineStyle = $derived(
140
+ [`flex: 0 0 ${widthCss}; width: ${widthCss}; max-width: ${widthCss}`, style ?? '']
141
+ .filter(Boolean)
142
+ .join('; '),
143
+ );
119
144
 
120
145
  // Arrow direction: point "outward" to expand, "inward" to collapse.
121
146
  // placement + reverseArrow flip which glyph means which.
@@ -125,7 +150,7 @@
125
150
  });
126
151
  </script>
127
152
 
128
- <aside class={cls} style={inlineStyle}>
153
+ <aside class={cls} style={inlineStyle} aria-label={ariaLabel} {role}>
129
154
  <div
130
155
  id={sider.id}
131
156
  class="cd-layout-sider__children"
@@ -195,7 +220,7 @@
195
220
  }
196
221
  .cd-layout-sider__arrow {
197
222
  display: inline-flex;
198
- font-size: var(--cd-font-size-3);
223
+ font-size: var(--cd-font-size-header-6);
199
224
  line-height: 1;
200
225
  }
201
226
  @media (prefers-reduced-motion: reduce) {
@@ -11,7 +11,15 @@ interface Props {
11
11
  reverseArrow?: boolean;
12
12
  placement?: 'left' | 'right';
13
13
  class?: string;
14
+ /** 根元素自定义内联样式(透传,叠加在宽度样式之后)。 */
15
+ style?: string;
16
+ /** 可访问性标签(透传到 aside 的 aria-label,描述该 Sider 作用)。 */
17
+ ariaLabel?: string;
18
+ /** 可访问性 role(透传到根元素)。 */
19
+ role?: string;
14
20
  onCollapse?: (collapsed: boolean, trigger: SiderTrigger) => void;
21
+ /** 触发响应式断点时的回调(matched=是否命中 max-width 断点)。 */
22
+ onBreakpoint?: (matched: boolean, breakpoint: Breakpoint) => void;
15
23
  children?: Snippet;
16
24
  /** custom trigger; receives current collapsed + toggle */
17
25
  trigger?: Snippet<[{
@@ -1 +1 @@
1
- {"version":3,"file":"Sider.svelte.d.ts","sourceRoot":"","sources":["../../src/layout/Sider.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAEH,KAAK,UAAU,EAEf,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAK7B,UAAU,KAAK;IACb,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAC,CAAC;CACjE;AAyHH,QAAA,MAAM,KAAK,2CAAwC,CAAC;AACpD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Sider.svelte.d.ts","sourceRoot":"","sources":["../../src/layout/Sider.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAEH,KAAK,UAAU,EAEf,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAK7B,UAAU,KAAK;IACb,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACjE,8CAA8C;IAC9C,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAC,CAAC;CACjE;AA0IH,QAAA,MAAM,KAAK,2CAAwC,CAAC;AACpD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
@@ -18,6 +18,22 @@ export declare const meta: {
18
18
  readonly name: "class";
19
19
  readonly type: "string";
20
20
  readonly default: "''";
21
+ readonly desc: "根元素自定义类名";
22
+ }, {
23
+ readonly name: "style";
24
+ readonly type: "string";
25
+ readonly default: "undefined";
26
+ readonly desc: "根元素自定义内联样式";
27
+ }, {
28
+ readonly name: "ariaLabel";
29
+ readonly type: "string";
30
+ readonly default: "undefined";
31
+ readonly desc: "可访问性标签";
32
+ }, {
33
+ readonly name: "role";
34
+ readonly type: "string";
35
+ readonly default: "undefined";
36
+ readonly desc: "可访问性 role";
21
37
  }];
22
38
  }, {
23
39
  readonly name: "Layout.Header";
@@ -36,6 +52,22 @@ export declare const meta: {
36
52
  readonly name: "class";
37
53
  readonly type: "string";
38
54
  readonly default: "''";
55
+ readonly desc: "根元素自定义类名";
56
+ }, {
57
+ readonly name: "style";
58
+ readonly type: "string";
59
+ readonly default: "undefined";
60
+ readonly desc: "根元素自定义内联样式";
61
+ }, {
62
+ readonly name: "ariaLabel";
63
+ readonly type: "string";
64
+ readonly default: "undefined";
65
+ readonly desc: "可访问性标签";
66
+ }, {
67
+ readonly name: "role";
68
+ readonly type: "string";
69
+ readonly default: "undefined";
70
+ readonly desc: "可访问性 role";
39
71
  }];
40
72
  }, {
41
73
  readonly name: "Layout.Footer";
@@ -53,6 +85,22 @@ export declare const meta: {
53
85
  readonly name: "class";
54
86
  readonly type: "string";
55
87
  readonly default: "''";
88
+ readonly desc: "根元素自定义类名";
89
+ }, {
90
+ readonly name: "style";
91
+ readonly type: "string";
92
+ readonly default: "undefined";
93
+ readonly desc: "根元素自定义内联样式";
94
+ }, {
95
+ readonly name: "ariaLabel";
96
+ readonly type: "string";
97
+ readonly default: "undefined";
98
+ readonly desc: "可访问性标签";
99
+ }, {
100
+ readonly name: "role";
101
+ readonly type: "string";
102
+ readonly default: "undefined";
103
+ readonly desc: "可访问性 role";
56
104
  }];
57
105
  }, {
58
106
  readonly name: "Layout.Content";
@@ -66,6 +114,22 @@ export declare const meta: {
66
114
  readonly name: "class";
67
115
  readonly type: "string";
68
116
  readonly default: "''";
117
+ readonly desc: "根元素自定义类名";
118
+ }, {
119
+ readonly name: "style";
120
+ readonly type: "string";
121
+ readonly default: "undefined";
122
+ readonly desc: "根元素自定义内联样式";
123
+ }, {
124
+ readonly name: "ariaLabel";
125
+ readonly type: "string";
126
+ readonly default: "undefined";
127
+ readonly desc: "可访问性标签";
128
+ }, {
129
+ readonly name: "role";
130
+ readonly type: "string";
131
+ readonly default: "undefined";
132
+ readonly desc: "可访问性 role";
69
133
  }];
70
134
  }, {
71
135
  readonly name: "Layout.Sider";
@@ -112,10 +176,31 @@ export declare const meta: {
112
176
  readonly name: "class";
113
177
  readonly type: "string";
114
178
  readonly default: "''";
179
+ readonly desc: "根元素自定义类名";
180
+ }, {
181
+ readonly name: "style";
182
+ readonly type: "string";
183
+ readonly default: "undefined";
184
+ readonly desc: "根元素自定义内联样式";
185
+ }, {
186
+ readonly name: "ariaLabel";
187
+ readonly type: "string";
188
+ readonly default: "undefined";
189
+ readonly desc: "可访问性标签,描述该 Sider 作用";
190
+ }, {
191
+ readonly name: "role";
192
+ readonly type: "string";
193
+ readonly default: "undefined";
194
+ readonly desc: "可访问性 role";
115
195
  }, {
116
196
  readonly name: "onCollapse";
117
197
  readonly type: "(collapsed, trigger:'click'|'breakpoint')=>void";
118
198
  readonly default: "undefined";
199
+ }, {
200
+ readonly name: "onBreakpoint";
201
+ readonly type: "(matched: boolean, breakpoint) => void";
202
+ readonly default: "undefined";
203
+ readonly desc: "命中响应式断点时回调";
119
204
  }, {
120
205
  readonly name: "trigger";
121
206
  readonly type: "Snippet<[{collapsed,toggle}]>";
@@ -126,6 +211,9 @@ export declare const meta: {
126
211
  readonly events: readonly [{
127
212
  readonly name: "onCollapse";
128
213
  readonly desc: "Sider 收起状态变化,第二参数区分 click / breakpoint 触发来源";
214
+ }, {
215
+ readonly name: "onBreakpoint";
216
+ readonly desc: "Sider 命中响应式断点时触发,(matched, breakpoint)";
129
217
  }];
130
218
  readonly slots: readonly [{
131
219
  readonly name: "children";
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/layout/meta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+GP,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/layout/meta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgIP,CAAC"}
@@ -17,7 +17,10 @@ export const meta = {
17
17
  default: 'undefined',
18
18
  desc: '显式声明含侧边栏→row 方向;不传则由 Sider 挂载时自动检测',
19
19
  },
20
- { name: 'class', type: 'string', default: "''" },
20
+ { name: 'class', type: 'string', default: "''", desc: '根元素自定义类名' },
21
+ { name: 'style', type: 'string', default: 'undefined', desc: '根元素自定义内联样式' },
22
+ { name: 'ariaLabel', type: 'string', default: 'undefined', desc: '可访问性标签' },
23
+ { name: 'role', type: 'string', default: 'undefined', desc: '可访问性 role' },
21
24
  ],
22
25
  },
23
26
  {
@@ -26,7 +29,10 @@ export const meta = {
26
29
  props: [
27
30
  { name: 'sticky', type: 'boolean', default: 'false', desc: 'position:sticky top:0' },
28
31
  { name: 'height', type: 'string|number', default: 'undefined', desc: 'number→px,覆盖 token 高度' },
29
- { name: 'class', type: 'string', default: "''" },
32
+ { name: 'class', type: 'string', default: "''", desc: '根元素自定义类名' },
33
+ { name: 'style', type: 'string', default: 'undefined', desc: '根元素自定义内联样式' },
34
+ { name: 'ariaLabel', type: 'string', default: 'undefined', desc: '可访问性标签' },
35
+ { name: 'role', type: 'string', default: 'undefined', desc: '可访问性 role' },
30
36
  ],
31
37
  },
32
38
  {
@@ -35,7 +41,10 @@ export const meta = {
35
41
  props: [
36
42
  { name: 'sticky', type: 'boolean', default: 'false', desc: 'position:sticky bottom:0' },
37
43
  { name: 'height', type: 'string|number', default: 'undefined' },
38
- { name: 'class', type: 'string', default: "''" },
44
+ { name: 'class', type: 'string', default: "''", desc: '根元素自定义类名' },
45
+ { name: 'style', type: 'string', default: 'undefined', desc: '根元素自定义内联样式' },
46
+ { name: 'ariaLabel', type: 'string', default: 'undefined', desc: '可访问性标签' },
47
+ { name: 'role', type: 'string', default: 'undefined', desc: '可访问性 role' },
39
48
  ],
40
49
  },
41
50
  {
@@ -48,7 +57,10 @@ export const meta = {
48
57
  default: 'false',
49
58
  desc: 'true→token padding;number→px;string→原样;false→0',
50
59
  },
51
- { name: 'class', type: 'string', default: "''" },
60
+ { name: 'class', type: 'string', default: "''", desc: '根元素自定义类名' },
61
+ { name: 'style', type: 'string', default: 'undefined', desc: '根元素自定义内联样式' },
62
+ { name: 'ariaLabel', type: 'string', default: 'undefined', desc: '可访问性标签' },
63
+ { name: 'role', type: 'string', default: 'undefined', desc: '可访问性 role' },
52
64
  ],
53
65
  },
54
66
  {
@@ -63,14 +75,19 @@ export const meta = {
63
75
  { name: 'breakpoint', type: "'xs'|'sm'|'md'|'lg'|'xl'|'xxl'", default: 'undefined', desc: '低于断点自动收起' },
64
76
  { name: 'reverseArrow', type: 'boolean', default: 'false', desc: '反转触发器箭头方向' },
65
77
  { name: 'placement', type: "'left'|'right'", default: "'left'" },
66
- { name: 'class', type: 'string', default: "''" },
78
+ { name: 'class', type: 'string', default: "''", desc: '根元素自定义类名' },
79
+ { name: 'style', type: 'string', default: 'undefined', desc: '根元素自定义内联样式' },
80
+ { name: 'ariaLabel', type: 'string', default: 'undefined', desc: '可访问性标签,描述该 Sider 作用' },
81
+ { name: 'role', type: 'string', default: 'undefined', desc: '可访问性 role' },
67
82
  { name: 'onCollapse', type: "(collapsed, trigger:'click'|'breakpoint')=>void", default: 'undefined' },
83
+ { name: 'onBreakpoint', type: '(matched: boolean, breakpoint) => void', default: 'undefined', desc: '命中响应式断点时回调' },
68
84
  { name: 'trigger', type: 'Snippet<[{collapsed,toggle}]>', default: 'undefined', desc: '自定义触发器' },
69
85
  ],
70
86
  },
71
87
  ],
72
88
  events: [
73
89
  { name: 'onCollapse', desc: 'Sider 收起状态变化,第二参数区分 click / breakpoint 触发来源' },
90
+ { name: 'onBreakpoint', desc: 'Sider 命中响应式断点时触发,(matched, breakpoint)' },
74
91
  ],
75
92
  slots: [
76
93
  { name: 'children', desc: '各子组件内容' },
@@ -743,7 +743,7 @@
743
743
  display: flex;
744
744
  flex-direction: row;
745
745
  align-items: flex-start;
746
- gap: var(--cd-spacing-3, 12px);
746
+ gap: var(--cd-spacing-base-tight, 12px);
747
747
  }
748
748
 
749
749
  .cd-list__header {
@@ -785,7 +785,7 @@
785
785
  .cd-list__item--selectable {
786
786
  display: flex;
787
787
  align-items: flex-start;
788
- gap: var(--cd-spacing-2, 8px);
788
+ gap: var(--cd-spacing-tight, 8px);
789
789
  cursor: pointer;
790
790
  outline: none;
791
791
  }
@@ -871,7 +871,7 @@
871
871
  block-size: 1.5em;
872
872
  border: 2px solid var(--cd-list-split-color);
873
873
  border-block-start-color: var(--cd-color-primary, currentColor);
874
- border-radius: var(--cd-radius-full);
874
+ border-radius: var(--cd-border-radius-full);
875
875
  animation: cd-list-spin 0.7s linear infinite;
876
876
  }
877
877
 
@@ -129,13 +129,13 @@
129
129
  }
130
130
  .cd-list__item-header {
131
131
  font-weight: var(--cd-font-weight-medium, 500);
132
- margin-block-end: var(--cd-spacing-1, 4px);
132
+ margin-block-end: var(--cd-spacing-extra-tight, 4px);
133
133
  color: var(--cd-color-text-0);
134
134
  }
135
135
  .cd-list__item-row {
136
136
  display: flex;
137
137
  align-items: flex-start;
138
- gap: var(--cd-spacing-3, 12px);
138
+ gap: var(--cd-spacing-base-tight, 12px);
139
139
  }
140
140
  .cd-list__item-content {
141
141
  flex: 1;
@@ -146,14 +146,14 @@
146
146
  }
147
147
  .cd-list__item-actions {
148
148
  display: flex;
149
- gap: var(--cd-spacing-3, 12px);
150
- margin-block-start: var(--cd-spacing-2, 8px);
149
+ gap: var(--cd-spacing-base-tight, 12px);
150
+ margin-block-start: var(--cd-spacing-tight, 8px);
151
151
  }
152
152
 
153
153
  .cd-list__item--selectable {
154
154
  display: flex;
155
155
  align-items: flex-start;
156
- gap: var(--cd-spacing-2, 8px);
156
+ gap: var(--cd-spacing-tight, 8px);
157
157
  cursor: pointer;
158
158
  outline: none;
159
159
  }
@@ -46,7 +46,7 @@
46
46
  .cd-list__meta {
47
47
  display: flex;
48
48
  align-items: flex-start;
49
- gap: var(--cd-spacing-3, 12px);
49
+ gap: var(--cd-spacing-base-tight, 12px);
50
50
  flex: 1;
51
51
  min-inline-size: 0;
52
52
  }
@@ -166,7 +166,7 @@ export declare const meta: {
166
166
  readonly focusable: false;
167
167
  readonly notes: readonly ["ul/li 原生列表语义;selectable 时容器 role=listbox(multiple 加 aria-multiselectable),行 role=option + aria-selected", "selectable 行 tabindex=0,Space/Enter 切换选中;multiple 支持 shift 连选", "loading 时根容器 aria-busy=true", "骨架行 aria-hidden=true,spinner aria-hidden=true", "虚拟化行带 aria-setsize/aria-posinset"];
168
168
  };
169
- readonly tokens: readonly ["--cd-list-bg", "--cd-list-border", "--cd-list-radius", "--cd-list-item-padding", "--cd-list-item-padding-small", "--cd-list-split-color", "--cd-list-header-color", "--cd-list-item-color", "--cd-radius-full", "--cd-radius-small", "--cd-color-primary"];
169
+ readonly tokens: readonly ["--cd-list-bg", "--cd-list-border", "--cd-list-radius", "--cd-list-item-padding", "--cd-list-item-padding-small", "--cd-list-split-color", "--cd-list-header-color", "--cd-list-item-color", "--cd-border-radius-full", "--cd-border-radius-small", "--cd-color-primary"];
170
170
  readonly examples: readonly [{
171
171
  readonly title: "基础";
172
172
  readonly code: "{#snippet item(d)}<span>{d.title}</span>{/snippet}\n<List dataSource={data} renderItem={item} bordered />";
package/dist/list/meta.js CHANGED
@@ -84,8 +84,8 @@ export const meta = {
84
84
  '--cd-list-split-color',
85
85
  '--cd-list-header-color',
86
86
  '--cd-list-item-color',
87
- '--cd-radius-full',
88
- '--cd-radius-small',
87
+ '--cd-border-radius-full',
88
+ '--cd-border-radius-small',
89
89
  '--cd-color-primary',
90
90
  ],
91
91
  examples: [