@fangxinyan/lumina 0.6.6 → 0.6.8

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 (231) hide show
  1. package/dist/Alert.cjs +3 -3
  2. package/dist/Alert.js +2 -2
  3. package/dist/AppShell.cjs +5 -5
  4. package/dist/AppShell.js +1 -1
  5. package/dist/AutoComplete.cjs +5 -5
  6. package/dist/AutoComplete.js +4 -4
  7. package/dist/Avatar.cjs +2 -2
  8. package/dist/Avatar.js +1 -1
  9. package/dist/Badge.cjs +2 -2
  10. package/dist/Badge.js +1 -1
  11. package/dist/Button.cjs +7 -3
  12. package/dist/Button.d.cts +13 -1
  13. package/dist/Button.d.ts +13 -1
  14. package/dist/Button.js +2 -2
  15. package/dist/Calendar.cjs +3 -3
  16. package/dist/Calendar.js +2 -2
  17. package/dist/{Card-MA6SV7D5.css → Card-M6UMBDD2.css} +41 -1
  18. package/dist/Card.cjs +3 -2
  19. package/dist/Card.d.cts +18 -0
  20. package/dist/Card.d.ts +18 -0
  21. package/dist/Card.js +2 -1
  22. package/dist/Cascader.cjs +5 -5
  23. package/dist/Cascader.js +4 -4
  24. package/dist/Checkbox.cjs +3 -3
  25. package/dist/Checkbox.js +2 -2
  26. package/dist/Collapse.cjs +3 -3
  27. package/dist/Collapse.js +2 -2
  28. package/dist/ColorPicker.cjs +2 -2
  29. package/dist/ColorPicker.js +1 -1
  30. package/dist/CommandPalette.cjs +5 -5
  31. package/dist/CommandPalette.js +4 -4
  32. package/dist/ContextMenu.cjs +2 -2
  33. package/dist/ContextMenu.js +1 -1
  34. package/dist/Divider.cjs +2 -2
  35. package/dist/Divider.js +1 -1
  36. package/dist/Drawer.cjs +3 -3
  37. package/dist/Drawer.js +2 -2
  38. package/dist/Empty.cjs +2 -2
  39. package/dist/Empty.js +1 -1
  40. package/dist/Form.cjs +4 -4
  41. package/dist/Form.js +1 -1
  42. package/dist/Icon.cjs +49 -49
  43. package/dist/Icon.js +1 -1
  44. package/dist/Image.cjs +6 -6
  45. package/dist/Image.js +2 -2
  46. package/dist/Input.cjs +5 -5
  47. package/dist/Input.js +3 -3
  48. package/dist/InputNumber.cjs +5 -5
  49. package/dist/InputNumber.js +4 -4
  50. package/dist/List.cjs +2 -2
  51. package/dist/List.js +1 -1
  52. package/dist/Message.cjs +6 -6
  53. package/dist/Message.js +2 -2
  54. package/dist/Modal.cjs +4 -4
  55. package/dist/Modal.d.cts +12 -0
  56. package/dist/Modal.d.ts +12 -0
  57. package/dist/Modal.js +3 -3
  58. package/dist/Pagination.cjs +7 -7
  59. package/dist/Pagination.js +6 -6
  60. package/dist/Popover.cjs +2 -2
  61. package/dist/Popover.js +1 -1
  62. package/dist/Progress.cjs +2 -2
  63. package/dist/Progress.js +1 -1
  64. package/dist/Radio.cjs +3 -3
  65. package/dist/Radio.js +1 -1
  66. package/dist/Select.cjs +6 -6
  67. package/dist/Select.js +5 -5
  68. package/dist/Skeleton.cjs +2 -2
  69. package/dist/Skeleton.js +1 -1
  70. package/dist/Slider.cjs +2 -2
  71. package/dist/Slider.js +1 -1
  72. package/dist/Spin.cjs +2 -2
  73. package/dist/Spin.js +1 -1
  74. package/dist/Splitter.cjs +2 -2
  75. package/dist/Splitter.js +1 -1
  76. package/dist/StatusBar.cjs +3 -3
  77. package/dist/StatusBar.js +1 -1
  78. package/dist/Surface.cjs +4 -4
  79. package/dist/Surface.js +2 -2
  80. package/dist/Switch.cjs +2 -2
  81. package/dist/Switch.js +1 -1
  82. package/dist/Table.cjs +9 -9
  83. package/dist/Table.js +8 -8
  84. package/dist/TablePro.cjs +10 -10
  85. package/dist/TablePro.d.cts +11 -7
  86. package/dist/TablePro.d.ts +11 -7
  87. package/dist/TablePro.js +9 -9
  88. package/dist/Tabs.cjs +2 -2
  89. package/dist/Tabs.js +1 -1
  90. package/dist/Tag.cjs +3 -3
  91. package/dist/Tag.js +2 -2
  92. package/dist/Textarea.cjs +4 -4
  93. package/dist/Textarea.js +2 -2
  94. package/dist/Theme.cjs +11 -11
  95. package/dist/Theme.js +1 -1
  96. package/dist/{ThemePanel-76LB3YA5.css → ThemePanel-TEHB2JCQ.css} +68 -0
  97. package/dist/ThemePanel.cjs +13 -13
  98. package/dist/ThemePanel.d.cts +12 -2
  99. package/dist/ThemePanel.d.ts +12 -2
  100. package/dist/ThemePanel.js +10 -10
  101. package/dist/{Timeline-ZIM7QFQC.css → Timeline-CRFZ3I2W.css} +4 -1
  102. package/dist/Timeline.cjs +3 -3
  103. package/dist/Timeline.d.cts +38 -0
  104. package/dist/Timeline.d.ts +38 -0
  105. package/dist/Timeline.js +2 -2
  106. package/dist/Tooltip.cjs +2 -2
  107. package/dist/Tooltip.js +1 -1
  108. package/dist/Typography.cjs +7 -7
  109. package/dist/Typography.js +2 -2
  110. package/dist/{chunk-MOMLQP7B.cjs → chunk-2EY34PPA.cjs} +1 -1
  111. package/dist/{chunk-IHK2FRTS.cjs → chunk-2LM5UYNU.cjs} +1 -1
  112. package/dist/{chunk-Y5F7ZTBH.js → chunk-3GJZRYTD.js} +1 -1
  113. package/dist/{chunk-D5PCIVID.cjs → chunk-3HPHQV2L.cjs} +3 -3
  114. package/dist/{chunk-DYHNOYRC.cjs → chunk-3NSBPQBT.cjs} +6 -6
  115. package/dist/{chunk-LI4XJTEA.js → chunk-3VXBSLPT.js} +3 -3
  116. package/dist/{chunk-YVTLHTG6.js → chunk-44WHEN76.js} +1 -1
  117. package/dist/{chunk-NT6CJYI3.cjs → chunk-4LOOWTRX.cjs} +4 -4
  118. package/dist/{chunk-U2H4DRMV.cjs → chunk-4N64ZL5M.cjs} +1 -1
  119. package/dist/{chunk-6XVLERA3.cjs → chunk-5C3ZSOKF.cjs} +1 -1
  120. package/dist/{chunk-2ZFJTMEF.js → chunk-5CWTC3I2.js} +3 -3
  121. package/dist/{chunk-ZPKHGKVL.cjs → chunk-5KGGB3EH.cjs} +3 -3
  122. package/dist/{chunk-W5CJC7S7.js → chunk-62RPBEAW.js} +2 -2
  123. package/dist/{chunk-NE7IUGMK.js → chunk-64ZQHLHL.js} +2 -2
  124. package/dist/{chunk-YJEXAO2I.js → chunk-6VSNO7IH.js} +1 -1
  125. package/dist/{chunk-3YP7CBJT.js → chunk-762NV3E4.js} +2 -2
  126. package/dist/{chunk-SYWTT5TY.cjs → chunk-76OH42CM.cjs} +4 -4
  127. package/dist/{chunk-56PHETWO.js → chunk-7DNK5JB2.js} +2 -2
  128. package/dist/chunk-7IWYBQAE.js +151 -0
  129. package/dist/{chunk-VAXWWJJP.cjs → chunk-7OYMY22O.cjs} +8 -8
  130. package/dist/{chunk-L27C5O4W.cjs → chunk-7UCXY4T5.cjs} +3 -3
  131. package/dist/{chunk-7NZ2A4MA.js → chunk-7ZCTEIOW.js} +1 -1
  132. package/dist/{chunk-QY76WTO5.cjs → chunk-AA2FRQUQ.cjs} +8 -8
  133. package/dist/{chunk-SABWUELE.js → chunk-ACZA7HHP.js} +1 -1
  134. package/dist/{chunk-GZCU6HXD.js → chunk-AHS2AFTD.js} +1 -1
  135. package/dist/{chunk-YSCIMHOI.cjs → chunk-AYZ4BWHG.cjs} +4 -4
  136. package/dist/{chunk-WEJKY3DF.js → chunk-BKI7JY4Z.js} +24 -5
  137. package/dist/{chunk-NFXHIO3G.js → chunk-BY2YW5XN.js} +1 -1
  138. package/dist/{chunk-OGPDCBPD.cjs → chunk-CPBFUKSX.cjs} +11 -11
  139. package/dist/{chunk-R74TZKJS.cjs → chunk-D56CNYUP.cjs} +3 -3
  140. package/dist/{chunk-4UKM4KAC.cjs → chunk-DDCAHAAE.cjs} +1 -1
  141. package/dist/{chunk-N2COYOXE.cjs → chunk-DGB6KVU3.cjs} +1 -1
  142. package/dist/{chunk-PNZJFLMY.js → chunk-EXN64ADJ.js} +2 -2
  143. package/dist/{chunk-LFTCK2VM.cjs → chunk-F3DN2JGE.cjs} +489 -238
  144. package/dist/{chunk-IDJCFYPP.cjs → chunk-F65KYGPX.cjs} +14 -14
  145. package/dist/{chunk-RIUDYPRB.cjs → chunk-FJHFUES7.cjs} +1 -1
  146. package/dist/{chunk-66GXZQKL.cjs → chunk-FL25IGIG.cjs} +3 -3
  147. package/dist/{chunk-REMJWNAT.js → chunk-FPII6I52.js} +3 -3
  148. package/dist/{chunk-YSXD344H.js → chunk-FZITSOKH.js} +4 -4
  149. package/dist/{chunk-2NT5QKEX.js → chunk-GEANNF4T.js} +2 -2
  150. package/dist/{chunk-6LARTGLP.cjs → chunk-GJAEGIPM.cjs} +1 -1
  151. package/dist/chunk-GT34KAMX.cjs +173 -0
  152. package/dist/{chunk-TVUBGXWA.js → chunk-GVPGJXZT.js} +1 -1
  153. package/dist/{chunk-6GQPF3EI.cjs → chunk-HFM4YKM5.cjs} +1 -1
  154. package/dist/{chunk-2SCXQ7QS.js → chunk-HR5QBBIS.js} +1 -1
  155. package/dist/{chunk-ACQSRMLF.cjs → chunk-HTW62OMX.cjs} +4 -4
  156. package/dist/{chunk-VNNQYJLT.js → chunk-I5XCHN67.js} +2 -2
  157. package/dist/{chunk-N3OLFKV5.cjs → chunk-IMAGOTLP.cjs} +1 -1
  158. package/dist/{chunk-Z4PZ2ZHI.cjs → chunk-J2R3BEEH.cjs} +1 -1
  159. package/dist/{chunk-PEJLXJQD.js → chunk-JPAYPF6H.js} +1 -1
  160. package/dist/{chunk-YNCDTKAE.cjs → chunk-JWZ6HJIF.cjs} +1 -1
  161. package/dist/{chunk-S6OKX4H7.cjs → chunk-KOY7GNP3.cjs} +1 -1
  162. package/dist/{chunk-NDO22RER.cjs → chunk-LF3ATJFY.cjs} +1 -1
  163. package/dist/{chunk-5NFSDFBB.cjs → chunk-LW6Z2WDZ.cjs} +3 -3
  164. package/dist/{chunk-YUKXNWVE.cjs → chunk-MLOT2AGK.cjs} +1 -1
  165. package/dist/{chunk-7D76MI37.js → chunk-MOLKLUSQ.js} +4 -4
  166. package/dist/{chunk-SG42F5VB.cjs → chunk-MZCKPLHQ.cjs} +1 -1
  167. package/dist/chunk-N24KHD5B.js +84 -0
  168. package/dist/{chunk-C24W6PTJ.cjs → chunk-N4JH6HHA.cjs} +1 -1
  169. package/dist/{chunk-5JNDDWFZ.js → chunk-NUF3EA7T.js} +2 -2
  170. package/dist/chunk-NUNPFMCM.cjs +106 -0
  171. package/dist/{chunk-AJH2O4WC.js → chunk-OVTB7FQQ.js} +2 -2
  172. package/dist/{chunk-HFUHQUPQ.js → chunk-P434GBHP.js} +1 -1
  173. package/dist/{chunk-66T76GII.cjs → chunk-PEFIXNAV.cjs} +6 -6
  174. package/dist/{chunk-WXWFMWWF.js → chunk-PHONNUK2.js} +2 -2
  175. package/dist/{chunk-MYRLCN6V.js → chunk-PWPL3DRN.js} +1 -1
  176. package/dist/{chunk-HU7T64Y3.js → chunk-Q5KHJ32P.js} +1 -1
  177. package/dist/{chunk-OHFZ7L4T.js → chunk-Q77BWQNG.js} +1 -1
  178. package/dist/{chunk-XVP7IKLZ.js → chunk-QDXBI3PV.js} +3 -3
  179. package/dist/{chunk-PKHITACT.js → chunk-QKWRN2JL.js} +1 -1
  180. package/dist/{chunk-7ZNGHWVS.js → chunk-R53WIZY5.js} +1 -1
  181. package/dist/{chunk-LQLOOUS3.js → chunk-RYRBNMCC.js} +1 -1
  182. package/dist/{chunk-2ZADGBUN.cjs → chunk-S4CZ3VO6.cjs} +9 -4
  183. package/dist/{chunk-OHIFKN4E.js → chunk-SGNDIRZC.js} +17 -4
  184. package/dist/{chunk-YT5NLCRC.js → chunk-SNX4FZYB.js} +1 -1
  185. package/dist/{chunk-CBKJXKVI.cjs → chunk-TDYJ5ECR.cjs} +24 -5
  186. package/dist/{chunk-KMG7OMOS.js → chunk-TJB7U72Z.js} +1 -1
  187. package/dist/{chunk-SFAGHPBT.js → chunk-TWJAYAK2.js} +1 -1
  188. package/dist/{chunk-JFQ53MO4.cjs → chunk-VM6CJYP6.cjs} +1 -1
  189. package/dist/{chunk-CNGKJYGZ.js → chunk-VRA4CQCJ.js} +7 -3
  190. package/dist/{chunk-YU5JK247.cjs → chunk-VUTCNATX.cjs} +6 -6
  191. package/dist/{chunk-CEZ2DR4R.js → chunk-W72IIGOV.js} +2 -2
  192. package/dist/{chunk-QP7RXZES.js → chunk-WIBAYFBB.js} +1 -1
  193. package/dist/{chunk-O43DOE7V.js → chunk-WIZVOZNO.js} +2 -2
  194. package/dist/{chunk-SQIWPU6V.js → chunk-XN52S7PT.js} +1 -1
  195. package/dist/{chunk-O4BOBOYV.cjs → chunk-XOYMBL5R.cjs} +1 -1
  196. package/dist/{chunk-MYHBC3HA.cjs → chunk-XPV672EI.cjs} +1 -1
  197. package/dist/{chunk-DYSGXQUK.cjs → chunk-XVDD6JEU.cjs} +6 -6
  198. package/dist/{chunk-ZWCDB5PP.cjs → chunk-XWRQ7ZLT.cjs} +1 -1
  199. package/dist/{chunk-N2BTMKF2.cjs → chunk-Z35Q432P.cjs} +4 -4
  200. package/dist/{chunk-VSUMJX6Z.cjs → chunk-ZC5VDX4W.cjs} +1 -1
  201. package/dist/{chunk-ZPP7LTHP.js → chunk-ZCMFLRZS.js} +2 -2
  202. package/dist/{chunk-GBKUGKIY.cjs → chunk-ZGDAYWWC.cjs} +24 -11
  203. package/dist/{chunk-NJCHFXGC.js → chunk-ZTIECMCF.js} +455 -204
  204. package/dist/index.cjs +180 -176
  205. package/dist/index.d.cts +3 -3
  206. package/dist/index.d.ts +3 -3
  207. package/dist/index.js +48 -48
  208. package/dist/styles.css +118 -1
  209. package/dist/{tokens-EF34LSWI.css → tokens-RGFJKRC7.css} +21 -0
  210. package/dist/tokens.css +21 -0
  211. package/docs/llms/autocomplete.md +6 -0
  212. package/docs/llms/button.md +16 -4
  213. package/docs/llms/card.md +32 -0
  214. package/docs/llms/commandpalette.md +6 -0
  215. package/docs/llms/contextmenu.md +6 -0
  216. package/docs/llms/form.md +6 -0
  217. package/docs/llms/inputnumber.md +6 -0
  218. package/docs/llms/modal.md +19 -0
  219. package/docs/llms/splitter.md +6 -0
  220. package/docs/llms/statusbar.md +6 -0
  221. package/docs/llms/tablepro.md +2 -0
  222. package/docs/llms/textarea.md +83 -0
  223. package/docs/llms/themepanel.md +26 -5
  224. package/docs/llms/timeline.md +35 -0
  225. package/docs/llms/typography.md +1 -1
  226. package/docs/llms.md +2 -1
  227. package/package.json +51 -1
  228. package/dist/chunk-BJ6WUVEG.cjs +0 -106
  229. package/dist/chunk-D64IPDUE.cjs +0 -28
  230. package/dist/chunk-GUZ2DNDC.js +0 -26
  231. package/dist/chunk-OQU3TJCF.js +0 -84
@@ -11,6 +11,7 @@
11
11
  grid-template-columns: 1fr auto 1fr;
12
12
  gap: 0 var(--gap-3);
13
13
  min-height: 60px;
14
+ min-width: 0;
14
15
  position: relative;
15
16
  }
16
17
 
@@ -78,7 +79,7 @@
78
79
  justify-content: center;
79
80
  position: relative;
80
81
  z-index: 1;
81
- margin-top: 4px;
82
+ margin-top: var(--timeline-dot-offset, 4px);
82
83
  }
83
84
 
84
85
  .timeline-item-dot.accent { background: var(--accent); }
@@ -108,6 +109,7 @@
108
109
  .timeline-item-content {
109
110
  padding-bottom: var(--gap-5);
110
111
  line-height: 1.6;
112
+ min-width: var(--timeline-content-min-width, 0);
111
113
  }
112
114
  .timeline-item-last .timeline-item-content {
113
115
  padding-bottom: 0;
@@ -118,6 +120,7 @@
118
120
  line-height: 1.6;
119
121
  color: var(--fg-muted);
120
122
  font-size: 13px;
123
+ min-width: 0;
121
124
  }
122
125
 
123
126
  /* ---- Pending animation ---- */
package/dist/Timeline.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkBJ6WUVEG_cjs = require('./chunk-BJ6WUVEG.cjs');
4
- require('./chunk-SG42F5VB.cjs');
3
+ var chunkGT34KAMX_cjs = require('./chunk-GT34KAMX.cjs');
4
+ require('./chunk-MZCKPLHQ.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Timeline", {
9
9
  enumerable: true,
10
- get: function () { return chunkBJ6WUVEG_cjs.Timeline; }
10
+ get: function () { return chunkGT34KAMX_cjs.Timeline; }
11
11
  });
@@ -11,6 +11,22 @@ interface TimelineItemConfig {
11
11
  color?: "accent" | "success" | "warning" | "danger" | "info" | "muted";
12
12
  /** Custom dot content (replaces default dot) */
13
13
  dot?: React.ReactNode;
14
+ /** Class name forwarded to the item wrapper. */
15
+ className?: string;
16
+ /** Inline style forwarded to the item wrapper. */
17
+ style?: React.CSSProperties;
18
+ /** Class name forwarded to the content wrapper. */
19
+ contentClassName?: string;
20
+ /** Inline style forwarded to the content wrapper. */
21
+ contentStyle?: React.CSSProperties;
22
+ /** Class name forwarded to the dot wrapper. */
23
+ dotClassName?: string;
24
+ /** Inline style forwarded to the dot wrapper. */
25
+ dotStyle?: React.CSSProperties;
26
+ /** Class name forwarded to the label wrapper. */
27
+ labelClassName?: string;
28
+ /** Inline style forwarded to the label wrapper. */
29
+ labelStyle?: React.CSSProperties;
14
30
  }
15
31
  interface TimelineProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
16
32
  /** Timeline items */
@@ -26,6 +42,28 @@ interface TimelineProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "chil
26
42
  mode?: "left" | "right" | "alternate";
27
43
  /** Reverse the order of items */
28
44
  reverse?: boolean;
45
+ /** Class name forwarded to every item wrapper. */
46
+ itemClassName?: string;
47
+ /** Inline style forwarded to every item wrapper. */
48
+ itemStyle?: React.CSSProperties;
49
+ /** Class name forwarded to every content wrapper. */
50
+ contentClassName?: string;
51
+ /** Inline style forwarded to every content wrapper. */
52
+ contentStyle?: React.CSSProperties;
53
+ /** Minimum width for every content wrapper. Defaults to `0` so flex/grid children can shrink. */
54
+ contentMinWidth?: React.CSSProperties["minWidth"];
55
+ /** Class name forwarded to every dot wrapper. */
56
+ dotClassName?: string;
57
+ /** Inline style forwarded to every dot wrapper. */
58
+ dotStyle?: React.CSSProperties;
59
+ /** Vertical offset for the dot. */
60
+ dotOffset?: React.CSSProperties["marginTop"];
61
+ /** Cross-axis dot alignment inside the head column. */
62
+ dotAlign?: "start" | "center" | "end";
63
+ /** Class name forwarded to every label wrapper. */
64
+ labelClassName?: string;
65
+ /** Inline style forwarded to every label wrapper. */
66
+ labelStyle?: React.CSSProperties;
29
67
  }
30
68
  /**
31
69
  * `Timeline` — vertical timeline with pending/loading state.
@@ -11,6 +11,22 @@ interface TimelineItemConfig {
11
11
  color?: "accent" | "success" | "warning" | "danger" | "info" | "muted";
12
12
  /** Custom dot content (replaces default dot) */
13
13
  dot?: React.ReactNode;
14
+ /** Class name forwarded to the item wrapper. */
15
+ className?: string;
16
+ /** Inline style forwarded to the item wrapper. */
17
+ style?: React.CSSProperties;
18
+ /** Class name forwarded to the content wrapper. */
19
+ contentClassName?: string;
20
+ /** Inline style forwarded to the content wrapper. */
21
+ contentStyle?: React.CSSProperties;
22
+ /** Class name forwarded to the dot wrapper. */
23
+ dotClassName?: string;
24
+ /** Inline style forwarded to the dot wrapper. */
25
+ dotStyle?: React.CSSProperties;
26
+ /** Class name forwarded to the label wrapper. */
27
+ labelClassName?: string;
28
+ /** Inline style forwarded to the label wrapper. */
29
+ labelStyle?: React.CSSProperties;
14
30
  }
15
31
  interface TimelineProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
16
32
  /** Timeline items */
@@ -26,6 +42,28 @@ interface TimelineProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "chil
26
42
  mode?: "left" | "right" | "alternate";
27
43
  /** Reverse the order of items */
28
44
  reverse?: boolean;
45
+ /** Class name forwarded to every item wrapper. */
46
+ itemClassName?: string;
47
+ /** Inline style forwarded to every item wrapper. */
48
+ itemStyle?: React.CSSProperties;
49
+ /** Class name forwarded to every content wrapper. */
50
+ contentClassName?: string;
51
+ /** Inline style forwarded to every content wrapper. */
52
+ contentStyle?: React.CSSProperties;
53
+ /** Minimum width for every content wrapper. Defaults to `0` so flex/grid children can shrink. */
54
+ contentMinWidth?: React.CSSProperties["minWidth"];
55
+ /** Class name forwarded to every dot wrapper. */
56
+ dotClassName?: string;
57
+ /** Inline style forwarded to every dot wrapper. */
58
+ dotStyle?: React.CSSProperties;
59
+ /** Vertical offset for the dot. */
60
+ dotOffset?: React.CSSProperties["marginTop"];
61
+ /** Cross-axis dot alignment inside the head column. */
62
+ dotAlign?: "start" | "center" | "end";
63
+ /** Class name forwarded to every label wrapper. */
64
+ labelClassName?: string;
65
+ /** Inline style forwarded to every label wrapper. */
66
+ labelStyle?: React.CSSProperties;
29
67
  }
30
68
  /**
31
69
  * `Timeline` — vertical timeline with pending/loading state.
package/dist/Timeline.js CHANGED
@@ -1,2 +1,2 @@
1
- export { Timeline } from './chunk-OQU3TJCF.js';
2
- import './chunk-Y5F7ZTBH.js';
1
+ export { Timeline } from './chunk-7IWYBQAE.js';
2
+ import './chunk-3GJZRYTD.js';
package/dist/Tooltip.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkRIUDYPRB_cjs = require('./chunk-RIUDYPRB.cjs');
3
+ var chunkFJHFUES7_cjs = require('./chunk-FJHFUES7.cjs');
4
4
  require('./chunk-YB3IWIOJ.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Tooltip", {
9
9
  enumerable: true,
10
- get: function () { return chunkRIUDYPRB_cjs.Tooltip; }
10
+ get: function () { return chunkFJHFUES7_cjs.Tooltip; }
11
11
  });
package/dist/Tooltip.js CHANGED
@@ -1,2 +1,2 @@
1
- export { Tooltip } from './chunk-SFAGHPBT.js';
1
+ export { Tooltip } from './chunk-TWJAYAK2.js';
2
2
  import './chunk-DUFRASGO.js';
@@ -1,28 +1,28 @@
1
1
  'use strict';
2
2
 
3
- var chunkYU5JK247_cjs = require('./chunk-YU5JK247.cjs');
3
+ var chunkVUTCNATX_cjs = require('./chunk-VUTCNATX.cjs');
4
4
  require('./chunk-YB3IWIOJ.cjs');
5
- require('./chunk-6LARTGLP.cjs');
5
+ require('./chunk-GJAEGIPM.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "Link", {
10
10
  enumerable: true,
11
- get: function () { return chunkYU5JK247_cjs.Link; }
11
+ get: function () { return chunkVUTCNATX_cjs.Link; }
12
12
  });
13
13
  Object.defineProperty(exports, "Paragraph", {
14
14
  enumerable: true,
15
- get: function () { return chunkYU5JK247_cjs.Paragraph; }
15
+ get: function () { return chunkVUTCNATX_cjs.Paragraph; }
16
16
  });
17
17
  Object.defineProperty(exports, "Text", {
18
18
  enumerable: true,
19
- get: function () { return chunkYU5JK247_cjs.Text; }
19
+ get: function () { return chunkVUTCNATX_cjs.Text; }
20
20
  });
21
21
  Object.defineProperty(exports, "Title", {
22
22
  enumerable: true,
23
- get: function () { return chunkYU5JK247_cjs.Title; }
23
+ get: function () { return chunkVUTCNATX_cjs.Title; }
24
24
  });
25
25
  Object.defineProperty(exports, "Typography", {
26
26
  enumerable: true,
27
- get: function () { return chunkYU5JK247_cjs.Typography; }
27
+ get: function () { return chunkVUTCNATX_cjs.Typography; }
28
28
  });
@@ -1,3 +1,3 @@
1
- export { Link, Paragraph, Text, Title, Typography } from './chunk-5JNDDWFZ.js';
1
+ export { Link, Paragraph, Text, Title, Typography } from './chunk-NUF3EA7T.js';
2
2
  import './chunk-DUFRASGO.js';
3
- import './chunk-YT5NLCRC.js';
3
+ import './chunk-SNX4FZYB.js';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- require('./tokens-EF34LSWI.css');
3
+ require('./tokens-RGFJKRC7.css');
4
4
  require('./shared-NJHRNLRH.css');
5
5
  require('./Progress-CZNXCYGW.css');
6
6
  var React = require('react');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- require('./tokens-EF34LSWI.css');
3
+ require('./tokens-RGFJKRC7.css');
4
4
  require('./shared-NJHRNLRH.css');
5
5
  require('./Tabs-X5U5PCPV.css');
6
6
  var React = require('react');
@@ -1,4 +1,4 @@
1
- import './tokens-EF34LSWI.css';
1
+ import './tokens-RGFJKRC7.css';
2
2
  import './shared-NJHRNLRH.css';
3
3
  import './Spin-GONGPV4Q.css';
4
4
  import * as React from 'react';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkVAXWWJJP_cjs = require('./chunk-VAXWWJJP.cjs');
4
- require('./tokens-EF34LSWI.css');
3
+ var chunk7OYMY22O_cjs = require('./chunk-7OYMY22O.cjs');
4
+ require('./tokens-RGFJKRC7.css');
5
5
  require('./shared-NJHRNLRH.css');
6
6
  require('./CommandPalette-RTKWNH2D.css');
7
7
  var React = require('react');
@@ -149,7 +149,7 @@ var CommandPalette = React__namespace.forwardRef(({
149
149
  ...rest,
150
150
  children: [
151
151
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cmdp-search", children: /* @__PURE__ */ jsxRuntime.jsx(
152
- chunkVAXWWJJP_cjs.Input,
152
+ chunk7OYMY22O_cjs.Input,
153
153
  {
154
154
  ref: inputRef,
155
155
  size: "lg",
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunk6LARTGLP_cjs = require('./chunk-6LARTGLP.cjs');
4
- require('./tokens-EF34LSWI.css');
3
+ var chunkGJAEGIPM_cjs = require('./chunk-GJAEGIPM.cjs');
4
+ require('./tokens-RGFJKRC7.css');
5
5
  require('./shared-NJHRNLRH.css');
6
6
  require('./Image-SGSRTHQX.css');
7
7
  var React = require('react');
@@ -97,10 +97,10 @@ var Image = React__namespace.forwardRef(({
97
97
  }
98
98
  }
99
99
  ),
100
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: `n-image-placeholder ${loaded && !err ? "loaded" : ""}`, children: placeholder ?? /* @__PURE__ */ jsxRuntime.jsx(chunk6LARTGLP_cjs.Icon, { name: "image", size: 28 }) }),
100
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: `n-image-placeholder ${loaded && !err ? "loaded" : ""}`, children: placeholder ?? /* @__PURE__ */ jsxRuntime.jsx(chunkGJAEGIPM_cjs.Icon, { name: "image", size: 28 }) }),
101
101
  canPreview && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
102
102
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "image-hint", children: [
103
- /* @__PURE__ */ jsxRuntime.jsx(chunk6LARTGLP_cjs.Icon, { name: "eye", size: 14 }),
103
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGJAEGIPM_cjs.Icon, { name: "eye", size: 14 }),
104
104
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "\u70B9\u51FB\u67E5\u770B" })
105
105
  ] }),
106
106
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "image-actions", onClick: (e) => e.stopPropagation(), children: [
@@ -111,10 +111,10 @@ var Image = React__namespace.forwardRef(({
111
111
  className: "ia-btn",
112
112
  onClick: () => setOpen(true),
113
113
  "aria-label": "\u9884\u89C8",
114
- children: /* @__PURE__ */ jsxRuntime.jsx(chunk6LARTGLP_cjs.Icon, { name: "eye", size: 13 })
114
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkGJAEGIPM_cjs.Icon, { name: "eye", size: 13 })
115
115
  }
116
116
  ),
117
- src && /* @__PURE__ */ jsxRuntime.jsx("a", { className: "ia-btn", href: src, download: true, "aria-label": "\u4E0B\u8F7D", children: /* @__PURE__ */ jsxRuntime.jsx(chunk6LARTGLP_cjs.Icon, { name: "download", size: 13 }) })
117
+ src && /* @__PURE__ */ jsxRuntime.jsx("a", { className: "ia-btn", href: src, download: true, "aria-label": "\u4E0B\u8F7D", children: /* @__PURE__ */ jsxRuntime.jsx(chunkGJAEGIPM_cjs.Icon, { name: "download", size: 13 }) })
118
118
  ] })
119
119
  ] })
120
120
  ] })
@@ -1,6 +1,6 @@
1
- import { Input } from './chunk-XVP7IKLZ.js';
2
- import { Icon } from './chunk-YT5NLCRC.js';
3
- import './tokens-EF34LSWI.css';
1
+ import { Input } from './chunk-QDXBI3PV.js';
2
+ import { Icon } from './chunk-SNX4FZYB.js';
3
+ import './tokens-RGFJKRC7.css';
4
4
  import './shared-NJHRNLRH.css';
5
5
  import './InputNumber-VXQIWLQC.css';
6
6
  import * as React from 'react';
@@ -1,4 +1,4 @@
1
- import './tokens-EF34LSWI.css';
1
+ import './tokens-RGFJKRC7.css';
2
2
  import './shared-NJHRNLRH.css';
3
3
  import './Progress-CZNXCYGW.css';
4
4
  import * as React from 'react';
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunk6EOSMK34_cjs = require('./chunk-6EOSMK34.cjs');
4
- var chunkN2COYOXE_cjs = require('./chunk-N2COYOXE.cjs');
5
- require('./tokens-EF34LSWI.css');
4
+ var chunkDGB6KVU3_cjs = require('./chunk-DGB6KVU3.cjs');
5
+ require('./tokens-RGFJKRC7.css');
6
6
  require('./shared-NJHRNLRH.css');
7
7
  require('./Surface-UDDN3DGL.css');
8
8
  var React = require('react');
@@ -71,7 +71,7 @@ var Surface = React__namespace.forwardRef(
71
71
  children,
72
72
  ...rest
73
73
  }, ref) => {
74
- const inherited = chunkN2COYOXE_cjs.useThemeOptional();
74
+ const inherited = chunkDGB6KVU3_cjs.useThemeOptional();
75
75
  const presetConfig = preset === "inherit" ? void 0 : surfacePresetMap[preset];
76
76
  const usesLocalTheme = preset !== "inherit" || isDefined(mode) || isDefined(colorScheme) || isDefined(accent) || isDefined(density) || isDefined(intensity) || isDefined(themeRadius) || isDefined(font) || isDefined(tokens) || isDefined(themes);
77
77
  const cls = [
@@ -98,7 +98,7 @@ var Surface = React__namespace.forwardRef(
98
98
  );
99
99
  if (!usesLocalTheme) return surfaceNode;
100
100
  return /* @__PURE__ */ jsxRuntime.jsx(
101
- chunkN2COYOXE_cjs.ThemeProvider,
101
+ chunkDGB6KVU3_cjs.ThemeProvider,
102
102
  {
103
103
  target: "scope",
104
104
  as: "div",
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- require('./tokens-EF34LSWI.css');
3
+ require('./tokens-RGFJKRC7.css');
4
4
  require('./shared-NJHRNLRH.css');
5
5
  require('./List-LSMU5QAC.css');
6
6
  var React = require('react');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- require('./tokens-EF34LSWI.css');
3
+ require('./tokens-RGFJKRC7.css');
4
4
  require('./shared-NJHRNLRH.css');
5
5
  require('./StatusBar-FJKEEPXU.css');
6
6
  var React = require('react');
@@ -1,6 +1,6 @@
1
- import { Select } from './chunk-7D76MI37.js';
2
- import { Icon } from './chunk-YT5NLCRC.js';
3
- import './tokens-EF34LSWI.css';
1
+ import { Select } from './chunk-MOLKLUSQ.js';
2
+ import { Icon } from './chunk-SNX4FZYB.js';
3
+ import './tokens-RGFJKRC7.css';
4
4
  import './shared-NJHRNLRH.css';
5
5
  import './Pagination-YSZSNFHG.css';
6
6
  import * as React from 'react';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunk6LARTGLP_cjs = require('./chunk-6LARTGLP.cjs');
4
- require('./tokens-EF34LSWI.css');
3
+ var chunkGJAEGIPM_cjs = require('./chunk-GJAEGIPM.cjs');
4
+ require('./tokens-RGFJKRC7.css');
5
5
  require('./shared-NJHRNLRH.css');
6
6
  require('./Checkbox-EDNPZRIP.css');
7
7
  var React = require('react');
@@ -65,7 +65,7 @@ var Checkbox = React__namespace.forwardRef(({
65
65
  onClick: toggle,
66
66
  id,
67
67
  className: "checkbox-box",
68
- children: indeterminate ? /* @__PURE__ */ jsxRuntime.jsx(chunk6LARTGLP_cjs.Icon, { name: "minus", size: 11 }) : value ? /* @__PURE__ */ jsxRuntime.jsx(chunk6LARTGLP_cjs.Icon, { name: "check", size: 11 }) : null
68
+ children: indeterminate ? /* @__PURE__ */ jsxRuntime.jsx(chunkGJAEGIPM_cjs.Icon, { name: "minus", size: 11 }) : value ? /* @__PURE__ */ jsxRuntime.jsx(chunkGJAEGIPM_cjs.Icon, { name: "check", size: 11 }) : null
69
69
  }
70
70
  ),
71
71
  label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "checkbox-label", children: label })
@@ -1,5 +1,5 @@
1
- import { Icon } from './chunk-YT5NLCRC.js';
2
- import './tokens-EF34LSWI.css';
1
+ import { Icon } from './chunk-SNX4FZYB.js';
2
+ import './tokens-RGFJKRC7.css';
3
3
  import './shared-NJHRNLRH.css';
4
4
  import './Message-H222YGR6.css';
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
- import { Input } from './chunk-XVP7IKLZ.js';
2
- import './tokens-EF34LSWI.css';
1
+ import { Input } from './chunk-QDXBI3PV.js';
2
+ import './tokens-RGFJKRC7.css';
3
3
  import './shared-NJHRNLRH.css';
4
4
  import './CommandPalette-RTKWNH2D.css';
5
5
  import * as React from 'react';
@@ -1,4 +1,4 @@
1
- import './tokens-EF34LSWI.css';
1
+ import './tokens-RGFJKRC7.css';
2
2
  import './shared-NJHRNLRH.css';
3
3
  import './Switch-COAQIOMH.css';
4
4
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
- import { renderIconSlot, Icon } from './chunk-YT5NLCRC.js';
2
- import './tokens-EF34LSWI.css';
1
+ import { renderIconSlot, Icon } from './chunk-SNX4FZYB.js';
2
+ import './tokens-RGFJKRC7.css';
3
3
  import './shared-NJHRNLRH.css';
4
4
  import './Alert-HVPI6L4V.css';
5
5
  import * as React from 'react';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunk6LARTGLP_cjs = require('./chunk-6LARTGLP.cjs');
4
- require('./tokens-EF34LSWI.css');
3
+ var chunkGJAEGIPM_cjs = require('./chunk-GJAEGIPM.cjs');
4
+ require('./tokens-RGFJKRC7.css');
5
5
  require('./shared-NJHRNLRH.css');
6
6
  require('./Tag-G2XWAL7A.css');
7
7
  var React = require('react');
@@ -48,7 +48,7 @@ var Tag = React__namespace.forwardRef(({
48
48
  ].filter(Boolean).join(" ");
49
49
  return /* @__PURE__ */ jsxRuntime.jsxs("span", { ref, className: cls, ...rest, children: [
50
50
  dot && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dot" }),
51
- chunk6LARTGLP_cjs.renderIconSlot(icon, { size: 11, className: "tag-ico" }),
51
+ chunkGJAEGIPM_cjs.renderIconSlot(icon, { size: 11, className: "tag-ico" }),
52
52
  children,
53
53
  removable && /* @__PURE__ */ jsxRuntime.jsx(
54
54
  "span",
@@ -60,7 +60,7 @@ var Tag = React__namespace.forwardRef(({
60
60
  e.stopPropagation();
61
61
  onRemove?.();
62
62
  },
63
- children: /* @__PURE__ */ jsxRuntime.jsx(chunk6LARTGLP_cjs.Icon, { name: "x", size: 11 })
63
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkGJAEGIPM_cjs.Icon, { name: "x", size: 11 })
64
64
  }
65
65
  )
66
66
  ] });
@@ -1,5 +1,5 @@
1
- import { Icon } from './chunk-YT5NLCRC.js';
2
- import './tokens-EF34LSWI.css';
1
+ import { Icon } from './chunk-SNX4FZYB.js';
2
+ import './tokens-RGFJKRC7.css';
3
3
  import './shared-NJHRNLRH.css';
4
4
  import './Textarea-YHWKHIFE.css';
5
5
  import * as React from 'react';
@@ -0,0 +1,151 @@
1
+ import { Spin } from './chunk-3GJZRYTD.js';
2
+ import './tokens-RGFJKRC7.css';
3
+ import './shared-NJHRNLRH.css';
4
+ import './Timeline-CRFZ3I2W.css';
5
+ import * as React from 'react';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+
8
+ var Timeline = React.forwardRef(
9
+ ({
10
+ items,
11
+ pending = false,
12
+ pendingContent = "\u52A0\u8F7D\u4E2D...",
13
+ mode = "left",
14
+ reverse = false,
15
+ itemClassName,
16
+ itemStyle,
17
+ contentClassName,
18
+ contentStyle,
19
+ contentMinWidth,
20
+ dotClassName,
21
+ dotStyle,
22
+ dotOffset,
23
+ dotAlign = "center",
24
+ labelClassName,
25
+ labelStyle,
26
+ className = "",
27
+ style,
28
+ ...rest
29
+ }, ref) => {
30
+ const displayItems = [...items];
31
+ if (reverse) displayItems.reverse();
32
+ const hasPending = pending !== false;
33
+ const timelineStyle = {
34
+ ...dotOffset != null ? { "--timeline-dot-offset": toCssSize(dotOffset) } : {},
35
+ ...contentMinWidth != null ? { "--timeline-content-min-width": toCssSize(contentMinWidth) } : {},
36
+ ...style
37
+ };
38
+ const sharedItemProps = {
39
+ itemClassName,
40
+ itemStyle,
41
+ contentClassName,
42
+ contentStyle,
43
+ dotClassName,
44
+ dotStyle,
45
+ dotAlign,
46
+ labelClassName,
47
+ labelStyle
48
+ };
49
+ return /* @__PURE__ */ jsxs(
50
+ "div",
51
+ {
52
+ ref,
53
+ className: `timeline timeline-${mode} timeline-dot-${dotAlign} ${className}`,
54
+ style: timelineStyle,
55
+ ...rest,
56
+ children: [
57
+ displayItems.map((item, i) => /* @__PURE__ */ jsx(
58
+ TimelineItem,
59
+ {
60
+ item,
61
+ isLast: !hasPending && i === displayItems.length - 1,
62
+ position: getPosition(mode, i),
63
+ ...sharedItemProps
64
+ },
65
+ item.key ?? i
66
+ )),
67
+ hasPending && /* @__PURE__ */ jsx(
68
+ TimelineItem,
69
+ {
70
+ item: {
71
+ children: pendingContent,
72
+ dot: typeof pending === "boolean" ? void 0 : pending,
73
+ color: "muted"
74
+ },
75
+ isLast: true,
76
+ isPending: true,
77
+ position: getPosition(mode, displayItems.length),
78
+ ...sharedItemProps
79
+ }
80
+ )
81
+ ]
82
+ }
83
+ );
84
+ }
85
+ );
86
+ Timeline.displayName = "Timeline";
87
+ function getPosition(mode, index) {
88
+ if (mode === "left") return "left";
89
+ if (mode === "right") return "right";
90
+ return index % 2 === 0 ? "left" : "right";
91
+ }
92
+ var TimelineItem = ({
93
+ item,
94
+ isLast,
95
+ isPending,
96
+ position,
97
+ itemClassName,
98
+ itemStyle,
99
+ contentClassName,
100
+ contentStyle,
101
+ dotClassName,
102
+ dotStyle,
103
+ dotAlign,
104
+ labelClassName,
105
+ labelStyle
106
+ }) => {
107
+ const color = item.color ?? "accent";
108
+ const cls = [
109
+ "timeline-item",
110
+ `timeline-item-${position}`,
111
+ isLast ? "timeline-item-last" : "",
112
+ isPending ? "timeline-item-pending" : "",
113
+ itemClassName,
114
+ item.className
115
+ ].filter(Boolean).join(" ");
116
+ const dotCls = [
117
+ "timeline-item-dot",
118
+ color,
119
+ isPending ? "pending" : "",
120
+ dotClassName,
121
+ item.dotClassName
122
+ ].filter(Boolean).join(" ");
123
+ const dotAlignStyle = dotAlign === "start" ? { alignSelf: "flex-start" } : dotAlign === "end" ? { alignSelf: "flex-end" } : {};
124
+ return /* @__PURE__ */ jsxs("div", { className: cls, style: { ...itemStyle, ...item.style }, children: [
125
+ /* @__PURE__ */ jsx(
126
+ "div",
127
+ {
128
+ className: `timeline-item-label ${labelClassName ?? ""} ${item.labelClassName ?? ""}`,
129
+ style: { ...labelStyle, ...item.labelStyle },
130
+ children: item.label
131
+ }
132
+ ),
133
+ /* @__PURE__ */ jsxs("div", { className: "timeline-item-head", children: [
134
+ /* @__PURE__ */ jsx("div", { className: dotCls, style: { ...dotAlignStyle, ...dotStyle, ...item.dotStyle }, children: item.dot ?? (isPending && /* @__PURE__ */ jsx(Spin, { size: 14 })) }),
135
+ !isLast && /* @__PURE__ */ jsx("div", { className: "timeline-item-tail" })
136
+ ] }),
137
+ /* @__PURE__ */ jsx(
138
+ "div",
139
+ {
140
+ className: `timeline-item-content ${contentClassName ?? ""} ${item.contentClassName ?? ""}`,
141
+ style: { ...contentStyle, ...item.contentStyle },
142
+ children: item.children
143
+ }
144
+ )
145
+ ] });
146
+ };
147
+ function toCssSize(value) {
148
+ return typeof value === "number" ? `${value}px` : String(value);
149
+ }
150
+
151
+ export { Timeline };