@fangxinyan/lumina 0.6.1 → 0.6.2

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 (246) hide show
  1. package/dist/Alert.cjs +3 -3
  2. package/dist/Alert.js +2 -2
  3. package/dist/AutoComplete.cjs +5 -4
  4. package/dist/AutoComplete.d.cts +1 -1
  5. package/dist/AutoComplete.d.ts +1 -1
  6. package/dist/AutoComplete.js +4 -3
  7. package/dist/Badge-DPGLV3D3.css +22 -0
  8. package/dist/Badge.cjs +10 -0
  9. package/dist/Badge.d.cts +18 -0
  10. package/dist/Badge.d.ts +18 -0
  11. package/dist/Badge.js +1 -0
  12. package/dist/Button.cjs +3 -7
  13. package/dist/Button.d.cts +5 -10
  14. package/dist/Button.d.ts +5 -10
  15. package/dist/Button.js +2 -2
  16. package/dist/Calendar.cjs +3 -3
  17. package/dist/Calendar.js +2 -2
  18. package/dist/{Card-RG7ECXL2.css → Card-6RMVIHWX.css} +7 -13
  19. package/dist/Card.cjs +2 -6
  20. package/dist/Card.d.cts +7 -11
  21. package/dist/Card.d.ts +7 -11
  22. package/dist/Card.js +1 -1
  23. package/dist/{Cascader-VSYEKQCG.css → Cascader-C2DFSMKJ.css} +64 -0
  24. package/dist/Cascader.cjs +5 -3
  25. package/dist/Cascader.d.cts +18 -2
  26. package/dist/Cascader.d.ts +18 -2
  27. package/dist/Cascader.js +4 -2
  28. package/dist/{Checkbox-SKJATVSN.css → Checkbox-U5EUDSYS.css} +5 -35
  29. package/dist/Checkbox.cjs +3 -7
  30. package/dist/Checkbox.d.cts +1 -18
  31. package/dist/Checkbox.d.ts +1 -18
  32. package/dist/Checkbox.js +2 -2
  33. package/dist/Collapse-66U5YJFY.css +53 -0
  34. package/dist/Collapse.cjs +11 -0
  35. package/dist/Collapse.d.cts +32 -0
  36. package/dist/Collapse.d.ts +32 -0
  37. package/dist/Collapse.js +2 -0
  38. package/dist/CommandPalette.cjs +5 -4
  39. package/dist/CommandPalette.js +4 -3
  40. package/dist/Drawer.cjs +3 -3
  41. package/dist/Drawer.js +2 -2
  42. package/dist/Empty-DC2LPORC.css +28 -0
  43. package/dist/Empty.cjs +2 -10
  44. package/dist/Empty.d.cts +1 -62
  45. package/dist/Empty.d.ts +1 -62
  46. package/dist/Empty.js +1 -1
  47. package/dist/Form.d.cts +1 -1
  48. package/dist/Form.d.ts +1 -1
  49. package/dist/Icon.cjs +179 -3
  50. package/dist/Icon.d.cts +96 -3
  51. package/dist/Icon.d.ts +96 -3
  52. package/dist/Icon.js +1 -1
  53. package/dist/Image.cjs +4 -4
  54. package/dist/Image.js +2 -2
  55. package/dist/{Input-33CAH4O6.css → Input-3G4ONWNU.css} +15 -42
  56. package/dist/Input.cjs +6 -5
  57. package/dist/Input.d.cts +19 -23
  58. package/dist/Input.d.ts +19 -23
  59. package/dist/Input.js +3 -2
  60. package/dist/InputNumber.cjs +5 -4
  61. package/dist/InputNumber.d.cts +1 -1
  62. package/dist/InputNumber.d.ts +1 -1
  63. package/dist/InputNumber.js +4 -3
  64. package/dist/Message-2MZ3LFPU.css +45 -0
  65. package/dist/Message.cjs +23 -0
  66. package/dist/Message.d.cts +54 -0
  67. package/dist/Message.d.ts +54 -0
  68. package/dist/Message.js +2 -0
  69. package/dist/{Modal-XSDMU4XJ.css → Modal-2QNDW4SO.css} +27 -0
  70. package/dist/Modal.cjs +4 -4
  71. package/dist/Modal.d.cts +28 -4
  72. package/dist/Modal.d.ts +28 -4
  73. package/dist/Modal.js +3 -3
  74. package/dist/Pagination.cjs +7 -5
  75. package/dist/Pagination.js +6 -4
  76. package/dist/Popover.cjs +2 -2
  77. package/dist/Popover.d.cts +11 -3
  78. package/dist/Popover.d.ts +11 -3
  79. package/dist/Popover.js +1 -1
  80. package/dist/Radio-GVFDPAZM.css +97 -0
  81. package/dist/Radio.cjs +14 -0
  82. package/dist/Radio.d.cts +36 -0
  83. package/dist/Radio.d.ts +36 -0
  84. package/dist/Radio.js +1 -0
  85. package/dist/{Select-J3CCVFJ7.css → Select-JVBQAZBG.css} +7 -23
  86. package/dist/Select.cjs +6 -4
  87. package/dist/Select.d.cts +25 -4
  88. package/dist/Select.d.ts +25 -4
  89. package/dist/Select.js +5 -3
  90. package/dist/Skeleton-CVWH2VWN.css +40 -0
  91. package/dist/Skeleton.cjs +10 -0
  92. package/dist/Skeleton.d.cts +30 -0
  93. package/dist/Skeleton.d.ts +30 -0
  94. package/dist/Skeleton.js +1 -0
  95. package/dist/Spin-3GJNMSIH.css +94 -0
  96. package/dist/Spin.cjs +10 -0
  97. package/dist/Spin.d.cts +20 -0
  98. package/dist/Spin.d.ts +20 -0
  99. package/dist/Spin.js +1 -0
  100. package/dist/{Table-2LPTOUIR.css → Table-ATJJQLKU.css} +0 -53
  101. package/dist/Table.cjs +9 -11
  102. package/dist/Table.d.cts +2 -21
  103. package/dist/Table.d.ts +2 -21
  104. package/dist/Table.js +8 -6
  105. package/dist/TablePro-3XVHYLSL.css +45 -0
  106. package/dist/TablePro.cjs +19 -0
  107. package/dist/TablePro.d.cts +21 -0
  108. package/dist/TablePro.d.ts +21 -0
  109. package/dist/TablePro.js +10 -0
  110. package/dist/{Tabs-RHK6XAFF.css → Tabs-BLSNI2T5.css} +0 -34
  111. package/dist/Tabs.cjs +2 -6
  112. package/dist/Tabs.d.cts +1 -16
  113. package/dist/Tabs.d.ts +1 -16
  114. package/dist/Tabs.js +1 -1
  115. package/dist/Tag-LB3OOJAO.css +29 -0
  116. package/dist/Tag.cjs +3 -7
  117. package/dist/Tag.d.cts +1 -11
  118. package/dist/Tag.d.ts +1 -11
  119. package/dist/Tag.js +2 -2
  120. package/dist/Textarea-YNET7IBH.css +54 -0
  121. package/dist/Textarea.cjs +15 -0
  122. package/dist/Textarea.d.cts +25 -0
  123. package/dist/Textarea.d.ts +25 -0
  124. package/dist/Textarea.js +2 -0
  125. package/dist/{Timeline-RHZAZKZ7.css → Timeline-3ZHOHPXT.css} +2 -2
  126. package/dist/Timeline.cjs +3 -3
  127. package/dist/Timeline.d.cts +1 -1
  128. package/dist/Timeline.d.ts +1 -1
  129. package/dist/Timeline.js +2 -2
  130. package/dist/Tooltip.cjs +2 -2
  131. package/dist/Tooltip.d.cts +17 -4
  132. package/dist/Tooltip.d.ts +17 -4
  133. package/dist/Tooltip.js +1 -1
  134. package/dist/Typography.cjs +7 -7
  135. package/dist/Typography.js +2 -2
  136. package/dist/{chunk-6Y5WRCPW.js → chunk-33NCTOEB.js} +1 -1
  137. package/dist/{chunk-Q2KG6SQK.cjs → chunk-35ZGBAA3.cjs} +3 -3
  138. package/dist/{chunk-Y3ZSG3SJ.cjs → chunk-3AS5B7MQ.cjs} +11 -30
  139. package/dist/{chunk-X2U7EKCS.cjs → chunk-3YJU3D5S.cjs} +28 -5
  140. package/dist/chunk-45VJGBGN.js +25 -0
  141. package/dist/{chunk-3D77MQHO.js → chunk-46VXFTEC.js} +3 -3
  142. package/dist/{chunk-OFGDUCT7.cjs → chunk-4WTU5P3O.cjs} +3 -3
  143. package/dist/{chunk-5A3RT4KD.js → chunk-5TKC6IEN.js} +4 -55
  144. package/dist/{chunk-62GU4OHH.cjs → chunk-5WAXZJG5.cjs} +12 -19
  145. package/dist/chunk-6ACKL3WH.cjs +138 -0
  146. package/dist/{chunk-32HBMXXV.cjs → chunk-6LZ54NPO.cjs} +70 -74
  147. package/dist/{chunk-UXH5PH3S.js → chunk-7NGMQIST.js} +2 -2
  148. package/dist/{chunk-R6BIF3FF.js → chunk-AWXCSX6J.js} +5 -23
  149. package/dist/chunk-AXZ7ELMA.js +41 -0
  150. package/dist/{chunk-G2XK57I7.cjs → chunk-B2KEZQ6S.cjs} +5 -5
  151. package/dist/chunk-CEJ7VBR6.js +283 -0
  152. package/dist/{chunk-WRDKOSSM.js → chunk-CHMCL7AV.js} +1 -1
  153. package/dist/{chunk-EBNRZRWY.cjs → chunk-CUXV6QNN.cjs} +5 -5
  154. package/dist/{chunk-ULOJ5UEY.js → chunk-CXWEOAVU.js} +1 -1
  155. package/dist/{chunk-TWGQZX2R.js → chunk-DQTSTJ6O.js} +3 -18
  156. package/dist/chunk-EIY7KEJ3.cjs +132 -0
  157. package/dist/{chunk-OI3CWXT3.js → chunk-EJBHR2P5.js} +3 -3
  158. package/dist/chunk-ELNT3CFO.js +64 -0
  159. package/dist/{chunk-TGHBKKSS.js → chunk-EQEJTN3V.js} +3 -43
  160. package/dist/chunk-F6RYCBQG.js +25 -0
  161. package/dist/{chunk-N57NXCNC.cjs → chunk-FBVVRTX2.cjs} +3 -44
  162. package/dist/chunk-FFZ6OMZI.js +110 -0
  163. package/dist/{chunk-73RQBWWW.js → chunk-FJNWUELL.js} +2 -2
  164. package/dist/chunk-GENABQYA.cjs +47 -0
  165. package/dist/chunk-GMN74OEY.cjs +63 -0
  166. package/dist/chunk-GNEZQMKH.js +218 -0
  167. package/dist/{chunk-Y47YTYQ3.cjs → chunk-HPFQXYKG.cjs} +159 -8
  168. package/dist/{chunk-4WRE4HQP.js → chunk-HWFM4MAT.js} +18 -6
  169. package/dist/{chunk-GY3BSHHS.cjs → chunk-HZSIUOCN.cjs} +2 -55
  170. package/dist/{chunk-YRZGXXWA.js → chunk-JD7A6VM3.js} +11 -17
  171. package/dist/chunk-K2KYM7LW.cjs +28 -0
  172. package/dist/{chunk-PWW64ZWO.cjs → chunk-KD4YYIIO.cjs} +1 -32
  173. package/dist/chunk-KGSADAOD.cjs +170 -0
  174. package/dist/{chunk-6ODY6MGL.cjs → chunk-MQV2XN4B.cjs} +5 -5
  175. package/dist/{chunk-OVZTG5CP.cjs → chunk-MT7UWY6T.cjs} +2 -2
  176. package/dist/chunk-MUXP7ASL.js +26 -0
  177. package/dist/{chunk-EEMWQX3C.cjs → chunk-NTS5L4NQ.cjs} +3 -3
  178. package/dist/{chunk-WBK6XIDJ.js → chunk-OBEKX4VR.js} +2 -32
  179. package/dist/chunk-OF3SGLZY.js +385 -0
  180. package/dist/chunk-ON4DEDMI.js +113 -0
  181. package/dist/chunk-OQBDU5I2.cjs +104 -0
  182. package/dist/{chunk-FIO65XYG.cjs → chunk-OYMJVU66.cjs} +48 -37
  183. package/dist/{chunk-5M26OVVY.js → chunk-PH3YECMF.js} +1 -1
  184. package/dist/chunk-Q5SZIU7Z.cjs +47 -0
  185. package/dist/chunk-QGHYQCF3.cjs +240 -0
  186. package/dist/chunk-QKQHZIF3.cjs +86 -0
  187. package/dist/{chunk-KYEY2LIB.cjs → chunk-SKMP2A5O.cjs} +3 -3
  188. package/dist/{chunk-IW5LW6XS.js → chunk-TEEFR2FD.js} +28 -5
  189. package/dist/{chunk-GOBWKQCX.cjs → chunk-TEG7NJHS.cjs} +3 -3
  190. package/dist/{chunk-2MNAZRWE.cjs → chunk-TJII7BQ2.cjs} +261 -2
  191. package/dist/{chunk-3TWNBJFI.cjs → chunk-TZJH5HBT.cjs} +6 -6
  192. package/dist/{chunk-D46EM4EN.js → chunk-UMDGS4BP.js} +1 -1
  193. package/dist/chunk-USQ43DJ5.js +147 -0
  194. package/dist/{chunk-G2K6ETP4.cjs → chunk-UUHFKIWP.cjs} +18 -6
  195. package/dist/chunk-WGZ2KJTZ.js +81 -0
  196. package/dist/{chunk-RPFMQZA5.js → chunk-WKKSAGYH.js} +39 -28
  197. package/dist/{chunk-54YLXXS2.js → chunk-XD3JGL5O.js} +2 -2
  198. package/dist/{chunk-DPNDHNKK.js → chunk-XTIN5545.js} +68 -72
  199. package/dist/{chunk-LZU33BX6.cjs → chunk-ZIP7F4UF.cjs} +4 -20
  200. package/dist/index.cjs +312 -122
  201. package/dist/index.d.cts +23 -17
  202. package/dist/index.d.ts +23 -17
  203. package/dist/index.js +34 -28
  204. package/dist/styles.css +313 -192
  205. package/docs/llms/badge.md +3 -3
  206. package/docs/llms/button.md +7 -38
  207. package/docs/llms/card.md +6 -12
  208. package/docs/llms/cascader.md +19 -0
  209. package/docs/llms/{accordion.md → collapse.md} +13 -11
  210. package/docs/llms/drawer.md +1 -1
  211. package/docs/llms/form.md +1 -1
  212. package/docs/llms/input.md +25 -16
  213. package/docs/llms/message.md +63 -0
  214. package/docs/llms/modal.md +30 -0
  215. package/docs/llms/popover.md +18 -1
  216. package/docs/llms/radio.md +37 -1
  217. package/docs/llms/select.md +20 -0
  218. package/docs/llms/spin.md +59 -0
  219. package/docs/llms/table.md +3 -3
  220. package/docs/llms/tooltip.md +16 -3
  221. package/docs/llms.md +5 -5
  222. package/package.json +17 -52
  223. package/dist/Accordion-REMDCQUD.css +0 -44
  224. package/dist/Accordion.cjs +0 -11
  225. package/dist/Accordion.d.cts +0 -33
  226. package/dist/Accordion.d.ts +0 -33
  227. package/dist/Accordion.js +0 -2
  228. package/dist/Empty-NQ72W3D7.css +0 -160
  229. package/dist/Tag-FGDY3W7E.css +0 -51
  230. package/dist/Toast-YSACW3EM.css +0 -45
  231. package/dist/Toast.cjs +0 -15
  232. package/dist/Toast.d.cts +0 -26
  233. package/dist/Toast.d.ts +0 -26
  234. package/dist/Toast.js +0 -2
  235. package/dist/chunk-3XTHKAEY.js +0 -39
  236. package/dist/chunk-DOMYUGJY.js +0 -132
  237. package/dist/chunk-HBWO3QKW.js +0 -74
  238. package/dist/chunk-JVS5ZALZ.js +0 -123
  239. package/dist/chunk-LIGHV4RC.cjs +0 -121
  240. package/dist/chunk-MCTIA6RZ.js +0 -99
  241. package/dist/chunk-NC4YUEXM.cjs +0 -145
  242. package/dist/chunk-NJ6B22YJ.js +0 -170
  243. package/dist/chunk-W64ARHLJ.cjs +0 -62
  244. package/dist/chunk-ZFW6OYAO.cjs +0 -100
  245. package/docs/llms/spinner.md +0 -58
  246. package/docs/llms/toast.md +0 -51
package/dist/Alert.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkQ2KG6SQK_cjs = require('./chunk-Q2KG6SQK.cjs');
4
- require('./chunk-2MNAZRWE.cjs');
3
+ var chunk35ZGBAA3_cjs = require('./chunk-35ZGBAA3.cjs');
4
+ require('./chunk-TJII7BQ2.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Alert", {
9
9
  enumerable: true,
10
- get: function () { return chunkQ2KG6SQK_cjs.Alert; }
10
+ get: function () { return chunk35ZGBAA3_cjs.Alert; }
11
11
  });
package/dist/Alert.js CHANGED
@@ -1,2 +1,2 @@
1
- export { Alert } from './chunk-D46EM4EN.js';
2
- import './chunk-NJ6B22YJ.js';
1
+ export { Alert } from './chunk-UMDGS4BP.js';
2
+ import './chunk-OF3SGLZY.js';
@@ -1,13 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunkKYEY2LIB_cjs = require('./chunk-KYEY2LIB.cjs');
3
+ var chunkSKMP2A5O_cjs = require('./chunk-SKMP2A5O.cjs');
4
4
  require('./chunk-YB3IWIOJ.cjs');
5
- require('./chunk-32HBMXXV.cjs');
6
- require('./chunk-2MNAZRWE.cjs');
5
+ require('./chunk-6LZ54NPO.cjs');
6
+ require('./chunk-OQBDU5I2.cjs');
7
+ require('./chunk-TJII7BQ2.cjs');
7
8
 
8
9
 
9
10
 
10
11
  Object.defineProperty(exports, "AutoComplete", {
11
12
  enumerable: true,
12
- get: function () { return chunkKYEY2LIB_cjs.AutoComplete; }
13
+ get: function () { return chunkSKMP2A5O_cjs.AutoComplete; }
13
14
  });
@@ -32,7 +32,7 @@ interface AutoCompleteProps extends Omit<React.InputHTMLAttributes<HTMLInputElem
32
32
  }
33
33
  /**
34
34
  * `AutoComplete` — text input with a filtered suggestion dropdown.
35
- * Follows antd's API shape (value / onChange / onSelect / options / filterOption).
35
+ * Uses value / onChange / onSelect / options / filterOption for predictable field binding.
36
36
  *
37
37
  * @example
38
38
  * ```tsx
@@ -32,7 +32,7 @@ interface AutoCompleteProps extends Omit<React.InputHTMLAttributes<HTMLInputElem
32
32
  }
33
33
  /**
34
34
  * `AutoComplete` — text input with a filtered suggestion dropdown.
35
- * Follows antd's API shape (value / onChange / onSelect / options / filterOption).
35
+ * Uses value / onChange / onSelect / options / filterOption for predictable field binding.
36
36
  *
37
37
  * @example
38
38
  * ```tsx
@@ -1,4 +1,5 @@
1
- export { AutoComplete } from './chunk-73RQBWWW.js';
1
+ export { AutoComplete } from './chunk-FJNWUELL.js';
2
2
  import './chunk-DUFRASGO.js';
3
- import './chunk-DPNDHNKK.js';
4
- import './chunk-NJ6B22YJ.js';
3
+ import './chunk-XTIN5545.js';
4
+ import './chunk-WGZ2KJTZ.js';
5
+ import './chunk-OF3SGLZY.js';
@@ -0,0 +1,22 @@
1
+ /* ============ Badge ============ */
2
+ .badge {
3
+ display: inline-flex;
4
+ align-items: center; justify-content: center;
5
+ min-width: 18px; height: 18px;
6
+ padding: 0 6px;
7
+ border-radius: 999px;
8
+ font-size: 10px;
9
+ font-weight: 700;
10
+ background: var(--danger);
11
+ color: var(--bg);
12
+ box-shadow: 0 1px 4px color-mix(in oklch, var(--shadow-dark) 35%, transparent);
13
+ font-variant-numeric: tabular-nums;
14
+ }
15
+ .badge.dot { min-width: 10px; height: 10px; padding: 0; }
16
+ .badge.accent { background: var(--accent); box-shadow: 0 1px 4px var(--accent-glow); }
17
+ .badge.info { background: var(--info); box-shadow: 0 1px 4px color-mix(in oklch, var(--info) 35%, transparent); }
18
+ .badge.success { background: var(--success); box-shadow: 0 1px 4px color-mix(in oklch, var(--success) 35%, transparent); }
19
+ .badge.warning { background: var(--warning); box-shadow: 0 1px 4px color-mix(in oklch, var(--warning) 35%, transparent); }
20
+ .badge.neutral { background: var(--fg-muted); box-shadow: 0 1px 4px color-mix(in oklch, var(--shadow-dark) 35%, transparent); }
21
+ .badge-wrap { position: relative; display: inline-block; }
22
+ .badge-wrap > .badge { position: absolute; top: -4px; right: -4px; }
package/dist/Badge.cjs ADDED
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var chunkQ5SZIU7Z_cjs = require('./chunk-Q5SZIU7Z.cjs');
4
+
5
+
6
+
7
+ Object.defineProperty(exports, "Badge", {
8
+ enumerable: true,
9
+ get: function () { return chunkQ5SZIU7Z_cjs.Badge; }
10
+ });
@@ -0,0 +1,18 @@
1
+ import * as React from 'react';
2
+ import { TagTone } from './Tag.cjs';
3
+ import './Icon.cjs';
4
+
5
+ interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
6
+ /** Numeric count — renders as "max+" if greater than `max`. */
7
+ count?: number;
8
+ /** Maximum number to display before adding "+". */
9
+ max?: number;
10
+ /** Show a tiny dot instead of a number. */
11
+ dot?: boolean;
12
+ tone?: TagTone;
13
+ children?: React.ReactNode;
14
+ }
15
+ /** `Badge` — notification dot / count. Wrap around another element. */
16
+ declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
17
+
18
+ export { Badge, type BadgeProps };
@@ -0,0 +1,18 @@
1
+ import * as React from 'react';
2
+ import { TagTone } from './Tag.js';
3
+ import './Icon.js';
4
+
5
+ interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
6
+ /** Numeric count — renders as "max+" if greater than `max`. */
7
+ count?: number;
8
+ /** Maximum number to display before adding "+". */
9
+ max?: number;
10
+ /** Show a tiny dot instead of a number. */
11
+ dot?: boolean;
12
+ tone?: TagTone;
13
+ children?: React.ReactNode;
14
+ }
15
+ /** `Badge` — notification dot / count. Wrap around another element. */
16
+ declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
17
+
18
+ export { Badge, type BadgeProps };
package/dist/Badge.js ADDED
@@ -0,0 +1 @@
1
+ export { Badge } from './chunk-F6RYCBQG.js';
package/dist/Button.cjs CHANGED
@@ -1,15 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunk62GU4OHH_cjs = require('./chunk-62GU4OHH.cjs');
4
- require('./chunk-2MNAZRWE.cjs');
3
+ var chunk5WAXZJG5_cjs = require('./chunk-5WAXZJG5.cjs');
4
+ require('./chunk-TJII7BQ2.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Button", {
9
9
  enumerable: true,
10
- get: function () { return chunk62GU4OHH_cjs.Button; }
11
- });
12
- Object.defineProperty(exports, "IconButton", {
13
- enumerable: true,
14
- get: function () { return chunk62GU4OHH_cjs.IconButton; }
10
+ get: function () { return chunk5WAXZJG5_cjs.Button; }
15
11
  });
package/dist/Button.d.cts CHANGED
@@ -12,6 +12,10 @@ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
12
12
  icon?: IconName;
13
13
  /** Trailing icon. */
14
14
  trailingIcon?: IconName;
15
+ /** Render as a square icon-only button. Automatically enabled when `icon` is set and no children are provided. */
16
+ iconOnly?: boolean;
17
+ /** Native tooltip/title for compact icon-only buttons. */
18
+ tip?: string;
15
19
  /** Show spinner + disable interaction. */
16
20
  loading?: boolean;
17
21
  /** Make the button fill the container's width. */
@@ -30,14 +34,5 @@ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
30
34
  * <Button variant="ghost" loading>保存</Button>
31
35
  */
32
36
  declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
33
- interface IconButtonProps extends Omit<ButtonProps, "icon" | "children"> {
34
- icon: IconName;
35
- tip?: string;
36
- "aria-label"?: string;
37
- }
38
- /**
39
- * `IconButton` — square button containing just an icon. Pair with a tooltip.
40
- */
41
- declare const IconButton: React.ForwardRefExoticComponent<IconButtonProps & React.RefAttributes<HTMLButtonElement>>;
42
37
 
43
- export { Button, type ButtonProps, type ButtonSize, type ButtonVariant, IconButton, type IconButtonProps };
38
+ export { Button, type ButtonProps, type ButtonSize, type ButtonVariant };
package/dist/Button.d.ts CHANGED
@@ -12,6 +12,10 @@ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
12
12
  icon?: IconName;
13
13
  /** Trailing icon. */
14
14
  trailingIcon?: IconName;
15
+ /** Render as a square icon-only button. Automatically enabled when `icon` is set and no children are provided. */
16
+ iconOnly?: boolean;
17
+ /** Native tooltip/title for compact icon-only buttons. */
18
+ tip?: string;
15
19
  /** Show spinner + disable interaction. */
16
20
  loading?: boolean;
17
21
  /** Make the button fill the container's width. */
@@ -30,14 +34,5 @@ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
30
34
  * <Button variant="ghost" loading>保存</Button>
31
35
  */
32
36
  declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
33
- interface IconButtonProps extends Omit<ButtonProps, "icon" | "children"> {
34
- icon: IconName;
35
- tip?: string;
36
- "aria-label"?: string;
37
- }
38
- /**
39
- * `IconButton` — square button containing just an icon. Pair with a tooltip.
40
- */
41
- declare const IconButton: React.ForwardRefExoticComponent<IconButtonProps & React.RefAttributes<HTMLButtonElement>>;
42
37
 
43
- export { Button, type ButtonProps, type ButtonSize, type ButtonVariant, IconButton, type IconButtonProps };
38
+ export { Button, type ButtonProps, type ButtonSize, type ButtonVariant };
package/dist/Button.js CHANGED
@@ -1,2 +1,2 @@
1
- export { Button, IconButton } from './chunk-YRZGXXWA.js';
2
- import './chunk-NJ6B22YJ.js';
1
+ export { Button } from './chunk-JD7A6VM3.js';
2
+ import './chunk-OF3SGLZY.js';
package/dist/Calendar.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkOFGDUCT7_cjs = require('./chunk-OFGDUCT7.cjs');
4
- require('./chunk-2MNAZRWE.cjs');
3
+ var chunk4WTU5P3O_cjs = require('./chunk-4WTU5P3O.cjs');
4
+ require('./chunk-TJII7BQ2.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Calendar", {
9
9
  enumerable: true,
10
- get: function () { return chunkOFGDUCT7_cjs.Calendar; }
10
+ get: function () { return chunk4WTU5P3O_cjs.Calendar; }
11
11
  });
package/dist/Calendar.js CHANGED
@@ -1,2 +1,2 @@
1
- export { Calendar } from './chunk-6Y5WRCPW.js';
2
- import './chunk-NJ6B22YJ.js';
1
+ export { Calendar } from './chunk-33NCTOEB.js';
2
+ import './chunk-OF3SGLZY.js';
@@ -1,4 +1,4 @@
1
- /* ============ Card & Panel ============ */
1
+ /* ============ Card ============ */
2
2
  .card {
3
3
  background: var(--bg);
4
4
  border-radius: var(--r-lg);
@@ -22,18 +22,12 @@
22
22
  .card.hoverable.flat:hover { box-shadow: var(--neu-out-sm); }
23
23
  .card.hoverable.sunken:hover { box-shadow: var(--neu-out); }
24
24
 
25
- .panel {
26
- background: var(--bg);
27
- border-radius: var(--r-lg);
28
- box-shadow: var(--neu-out);
29
- padding: var(--gap-5);
30
- }
31
- .panel-head {
25
+ .card-head {
32
26
  display: flex; align-items: flex-start; justify-content: space-between;
33
27
  gap: var(--gap-3); margin-bottom: var(--gap-4);
34
28
  }
35
- .panel-titles { display: flex; flex-direction: column; gap: 2px; }
36
- .panel-title { font-size: 15px; font-weight: 600; }
37
- .panel-desc { font-size: 12px; color: var(--fg-muted); }
38
- .panel-actions { display: flex; gap: 6px; }
39
- .panel-body { font-size: 13px; }
29
+ .card-titles { display: flex; flex-direction: column; gap: 2px; }
30
+ .card-title { font-size: 15px; font-weight: 600; }
31
+ .card-desc { font-size: 12px; color: var(--fg-muted); }
32
+ .card-actions { display: flex; gap: 6px; }
33
+ .card-body { font-size: 13px; }
package/dist/Card.cjs CHANGED
@@ -1,14 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkW64ARHLJ_cjs = require('./chunk-W64ARHLJ.cjs');
3
+ var chunkGMN74OEY_cjs = require('./chunk-GMN74OEY.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "Card", {
8
8
  enumerable: true,
9
- get: function () { return chunkW64ARHLJ_cjs.Card; }
10
- });
11
- Object.defineProperty(exports, "Panel", {
12
- enumerable: true,
13
- get: function () { return chunkW64ARHLJ_cjs.Panel; }
9
+ get: function () { return chunkGMN74OEY_cjs.Card; }
14
10
  });
package/dist/Card.d.cts CHANGED
@@ -1,27 +1,23 @@
1
1
  import * as React from 'react';
2
2
 
3
- interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ interface CardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
4
4
  /** Visual variant. `raised` protrudes; `sunken` recesses; `flat` is subtle. */
5
5
  variant?: "raised" | "sunken" | "flat";
6
6
  /** Inner padding. */
7
7
  padding?: "none" | "sm" | "md" | "lg";
8
8
  /** When true, the card raises and lifts on hover. */
9
9
  hoverable?: boolean;
10
- children?: React.ReactNode;
11
- }
12
- /**
13
- * `Card` — neumorphic surface container. Use to group related content.
14
- */
15
- declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
16
- interface PanelProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
10
+ /** Optional card heading. */
17
11
  title?: React.ReactNode;
12
+ /** Secondary text shown under `title`. */
18
13
  description?: React.ReactNode;
14
+ /** Action slot aligned to the card heading. */
19
15
  actions?: React.ReactNode;
20
16
  children?: React.ReactNode;
21
17
  }
22
18
  /**
23
- * `Panel` — a titled `Card` with optional actions row.
19
+ * `Card` — neumorphic surface container. Use to group related content.
24
20
  */
25
- declare const Panel: React.FC<PanelProps>;
21
+ declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
26
22
 
27
- export { Card, type CardProps, Panel, type PanelProps };
23
+ export { Card, type CardProps };
package/dist/Card.d.ts CHANGED
@@ -1,27 +1,23 @@
1
1
  import * as React from 'react';
2
2
 
3
- interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ interface CardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
4
4
  /** Visual variant. `raised` protrudes; `sunken` recesses; `flat` is subtle. */
5
5
  variant?: "raised" | "sunken" | "flat";
6
6
  /** Inner padding. */
7
7
  padding?: "none" | "sm" | "md" | "lg";
8
8
  /** When true, the card raises and lifts on hover. */
9
9
  hoverable?: boolean;
10
- children?: React.ReactNode;
11
- }
12
- /**
13
- * `Card` — neumorphic surface container. Use to group related content.
14
- */
15
- declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
16
- interface PanelProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
10
+ /** Optional card heading. */
17
11
  title?: React.ReactNode;
12
+ /** Secondary text shown under `title`. */
18
13
  description?: React.ReactNode;
14
+ /** Action slot aligned to the card heading. */
19
15
  actions?: React.ReactNode;
20
16
  children?: React.ReactNode;
21
17
  }
22
18
  /**
23
- * `Panel` — a titled `Card` with optional actions row.
19
+ * `Card` — neumorphic surface container. Use to group related content.
24
20
  */
25
- declare const Panel: React.FC<PanelProps>;
21
+ declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
26
22
 
27
- export { Card, type CardProps, Panel, type PanelProps };
23
+ export { Card, type CardProps };
package/dist/Card.js CHANGED
@@ -1 +1 @@
1
- export { Card, Panel } from './chunk-3XTHKAEY.js';
1
+ export { Card } from './chunk-AXZ7ELMA.js';
@@ -24,6 +24,24 @@
24
24
  }
25
25
  .cascader-trigger.placeholder { color: var(--fg-subtle); }
26
26
  .cascader.open .cascader-trigger { box-shadow: var(--neu-in-sm); color: var(--accent-ink); }
27
+ .cascader-clear {
28
+ position: absolute;
29
+ right: 30px;
30
+ top: 50%;
31
+ transform: translateY(-50%);
32
+ width: 20px;
33
+ height: 20px;
34
+ border-radius: 999px;
35
+ background: var(--bg);
36
+ box-shadow: var(--neu-out-sm);
37
+ display: inline-grid;
38
+ place-items: center;
39
+ color: var(--fg-subtle);
40
+ opacity: 0;
41
+ transition: all var(--dur-fast) var(--ease);
42
+ }
43
+ .cascader:hover .cascader-clear { opacity: 1; }
44
+ .cascader-clear:hover { color: var(--accent-ink); box-shadow: var(--neu-in-sm); }
27
45
  .cascader-panel {
28
46
  z-index: 1000;
29
47
  display: flex;
@@ -34,6 +52,52 @@
34
52
  animation: menuIn var(--dur) var(--ease);
35
53
  gap: 4px;
36
54
  }
55
+ .cascader-panel.with-search {
56
+ flex-direction: column;
57
+ min-width: 320px;
58
+ }
59
+ .cascader-columns {
60
+ display: flex;
61
+ gap: 4px;
62
+ }
63
+ .cascader-search {
64
+ padding: 4px 2px 8px;
65
+ border-bottom: 1px solid var(--divider);
66
+ }
67
+ .cascader-search-list {
68
+ display: flex;
69
+ flex-direction: column;
70
+ gap: 4px;
71
+ max-height: 260px;
72
+ overflow-y: auto;
73
+ padding: 4px;
74
+ }
75
+ .cascader-search-item {
76
+ border: none;
77
+ background: transparent;
78
+ color: var(--fg);
79
+ border-radius: var(--r-sm);
80
+ padding: 8px 10px;
81
+ display: flex;
82
+ align-items: center;
83
+ gap: 6px;
84
+ font-size: 13px;
85
+ font-family: inherit;
86
+ text-align: left;
87
+ cursor: pointer;
88
+ }
89
+ .cascader-search-item:hover {
90
+ background: var(--bg);
91
+ box-shadow: var(--neu-flat);
92
+ color: var(--accent-ink);
93
+ }
94
+ .cascader-path-sep { color: var(--fg-subtle); }
95
+ .cascader-empty {
96
+ padding: 24px 12px;
97
+ text-align: center;
98
+ color: var(--fg-muted);
99
+ font-size: 12px;
100
+ }
37
101
  .cascader-col {
38
102
  min-width: 160px;
39
103
  max-height: 280px;
package/dist/Cascader.cjs CHANGED
@@ -1,12 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunkNC4YUEXM_cjs = require('./chunk-NC4YUEXM.cjs');
3
+ var chunkQGHYQCF3_cjs = require('./chunk-QGHYQCF3.cjs');
4
4
  require('./chunk-YB3IWIOJ.cjs');
5
- require('./chunk-2MNAZRWE.cjs');
5
+ require('./chunk-6LZ54NPO.cjs');
6
+ require('./chunk-OQBDU5I2.cjs');
7
+ require('./chunk-TJII7BQ2.cjs');
6
8
 
7
9
 
8
10
 
9
11
  Object.defineProperty(exports, "Cascader", {
10
12
  enumerable: true,
11
- get: function () { return chunkNC4YUEXM_cjs.Cascader; }
13
+ get: function () { return chunkQGHYQCF3_cjs.Cascader; }
12
14
  });
@@ -8,16 +8,32 @@ interface CascaderOption {
8
8
  children?: CascaderOption[];
9
9
  disabled?: boolean;
10
10
  }
11
+ interface CascaderShowSearchConfig {
12
+ filter?: (inputValue: string, path: CascaderOption[]) => boolean;
13
+ render?: (inputValue: string, path: CascaderOption[]) => React.ReactNode;
14
+ limit?: number | false;
15
+ }
11
16
  interface CascaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
12
17
  options: CascaderOption[];
13
18
  value?: string[];
14
19
  defaultValue?: string[];
15
- onChange?: (path: string[]) => void;
20
+ onChange?: (path: string[], selectedOptions?: CascaderOption[]) => void;
16
21
  placeholder?: string;
17
22
  disabled?: boolean;
23
+ /** Show a clear button. */
24
+ allowClear?: boolean;
25
+ onClear?: () => void;
26
+ /** Select intermediate nodes instead of only leaf nodes. */
27
+ changeOnSelect?: boolean;
28
+ /** Search mode. */
29
+ showSearch?: boolean | CascaderShowSearchConfig;
30
+ /** Class for the popped-out panel. */
31
+ popupClassName?: string;
32
+ /** Additional alias for `popupClassName`. */
33
+ dropdownClassName?: string;
18
34
  className?: string;
19
35
  }
20
36
  /** `Cascader` — multi-column hierarchical selector. */
21
37
  declare const Cascader: React.ForwardRefExoticComponent<CascaderProps & React.RefAttributes<HTMLDivElement>>;
22
38
 
23
- export { Cascader, type CascaderOption, type CascaderProps };
39
+ export { Cascader, type CascaderOption, type CascaderProps, type CascaderShowSearchConfig };
@@ -8,16 +8,32 @@ interface CascaderOption {
8
8
  children?: CascaderOption[];
9
9
  disabled?: boolean;
10
10
  }
11
+ interface CascaderShowSearchConfig {
12
+ filter?: (inputValue: string, path: CascaderOption[]) => boolean;
13
+ render?: (inputValue: string, path: CascaderOption[]) => React.ReactNode;
14
+ limit?: number | false;
15
+ }
11
16
  interface CascaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
12
17
  options: CascaderOption[];
13
18
  value?: string[];
14
19
  defaultValue?: string[];
15
- onChange?: (path: string[]) => void;
20
+ onChange?: (path: string[], selectedOptions?: CascaderOption[]) => void;
16
21
  placeholder?: string;
17
22
  disabled?: boolean;
23
+ /** Show a clear button. */
24
+ allowClear?: boolean;
25
+ onClear?: () => void;
26
+ /** Select intermediate nodes instead of only leaf nodes. */
27
+ changeOnSelect?: boolean;
28
+ /** Search mode. */
29
+ showSearch?: boolean | CascaderShowSearchConfig;
30
+ /** Class for the popped-out panel. */
31
+ popupClassName?: string;
32
+ /** Additional alias for `popupClassName`. */
33
+ dropdownClassName?: string;
18
34
  className?: string;
19
35
  }
20
36
  /** `Cascader` — multi-column hierarchical selector. */
21
37
  declare const Cascader: React.ForwardRefExoticComponent<CascaderProps & React.RefAttributes<HTMLDivElement>>;
22
38
 
23
- export { Cascader, type CascaderOption, type CascaderProps };
39
+ export { Cascader, type CascaderOption, type CascaderProps, type CascaderShowSearchConfig };
package/dist/Cascader.js CHANGED
@@ -1,3 +1,5 @@
1
- export { Cascader } from './chunk-JVS5ZALZ.js';
1
+ export { Cascader } from './chunk-GNEZQMKH.js';
2
2
  import './chunk-DUFRASGO.js';
3
- import './chunk-NJ6B22YJ.js';
3
+ import './chunk-XTIN5545.js';
4
+ import './chunk-WGZ2KJTZ.js';
5
+ import './chunk-OF3SGLZY.js';
@@ -1,5 +1,5 @@
1
- /* ============ Checkbox & Radio ============ */
2
- .checkbox, .radio {
1
+ /* ============ Checkbox ============ */
2
+ .checkbox {
3
3
  display: inline-flex;
4
4
  align-items: center;
5
5
  gap: 10px;
@@ -8,7 +8,7 @@
8
8
  font-size: 13px;
9
9
  color: var(--fg);
10
10
  }
11
- .checkbox.disabled, .radio.disabled { opacity: 0.5; cursor: not-allowed; }
11
+ .checkbox.disabled { opacity: 0.5; cursor: not-allowed; }
12
12
  .checkbox-box {
13
13
  width: 20px; height: 20px;
14
14
  border: none;
@@ -20,7 +20,7 @@
20
20
  place-items: center;
21
21
  flex-shrink: 0;
22
22
  cursor: inherit;
23
- color: white;
23
+ color: var(--bg);
24
24
  transition: all var(--dur) var(--ease);
25
25
  }
26
26
  .checkbox-box svg { opacity: 0; transform: scale(0.6); transition: all var(--dur) var(--ease); }
@@ -36,37 +36,7 @@
36
36
  .checkbox.indeterminate .checkbox-box::after {
37
37
  content: "";
38
38
  width: 10px; height: 2px;
39
- background: white;
39
+ background: var(--bg);
40
40
  border-radius: 2px;
41
41
  }
42
42
  .checkbox.indeterminate .checkbox-box svg { display: none; }
43
-
44
- .radio-dot {
45
- width: 20px; height: 20px;
46
- border: none;
47
- padding: 0;
48
- border-radius: 999px;
49
- background: var(--bg);
50
- box-shadow: var(--neu-in-sm);
51
- cursor: inherit;
52
- position: relative;
53
- flex-shrink: 0;
54
- transition: all var(--dur) var(--ease);
55
- }
56
- .radio.checked .radio-dot {
57
- background: var(--accent);
58
- box-shadow: var(--neu-out-sm), 0 2px 8px var(--accent-glow);
59
- }
60
- .radio.checked .radio-dot::after {
61
- content: "";
62
- position: absolute;
63
- top: 50%; left: 50%;
64
- transform: translate(-50%, -50%);
65
- width: 8px; height: 8px;
66
- border-radius: 999px;
67
- background: white;
68
- }
69
-
70
- .radio-group { display: flex; gap: 14px; }
71
- .radio-group.vertical { flex-direction: column; gap: 10px; }
72
- .radio-group.horizontal { flex-direction: row; flex-wrap: wrap; }
package/dist/Checkbox.cjs CHANGED
@@ -1,15 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkN57NXCNC_cjs = require('./chunk-N57NXCNC.cjs');
4
- require('./chunk-2MNAZRWE.cjs');
3
+ var chunkFBVVRTX2_cjs = require('./chunk-FBVVRTX2.cjs');
4
+ require('./chunk-TJII7BQ2.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Checkbox", {
9
9
  enumerable: true,
10
- get: function () { return chunkN57NXCNC_cjs.Checkbox; }
11
- });
12
- Object.defineProperty(exports, "RadioGroup", {
13
- enumerable: true,
14
- get: function () { return chunkN57NXCNC_cjs.RadioGroup; }
10
+ get: function () { return chunkFBVVRTX2_cjs.Checkbox; }
15
11
  });