@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
@@ -0,0 +1,54 @@
1
+ import * as React from 'react';
2
+
3
+ type MessageType = "info" | "success" | "warning" | "error";
4
+ interface MessageConfig {
5
+ /** Message body. */
6
+ content?: React.ReactNode;
7
+ /** Alias for callers that pass `{ message }` instead of `{ content }`. */
8
+ message?: React.ReactNode;
9
+ /** Optional title shown above the body. */
10
+ title?: React.ReactNode;
11
+ type?: MessageType;
12
+ /** Auto-dismiss delay in ms. `0` keeps it until manually closed. */
13
+ duration?: number;
14
+ /** Stable key; opening another message with the same key updates it. */
15
+ key?: React.Key;
16
+ onClose?: () => void;
17
+ }
18
+ interface MessageItem {
19
+ id: number;
20
+ key?: React.Key;
21
+ type: MessageType;
22
+ title?: React.ReactNode;
23
+ content?: React.ReactNode;
24
+ duration?: number;
25
+ onClose?: () => void;
26
+ }
27
+ type MessageMethod = (configOrContent: MessageConfig | React.ReactNode, durationOrTitle?: number | React.ReactNode, onClose?: () => void) => number;
28
+ interface MessageApi {
29
+ open(config: MessageConfig): number;
30
+ show(config: MessageConfig): number;
31
+ info: MessageMethod;
32
+ success: MessageMethod;
33
+ warning: MessageMethod;
34
+ warn: MessageMethod;
35
+ error: MessageMethod;
36
+ dismiss(idOrKey: number | React.Key): void;
37
+ destroy(idOrKey?: number | React.Key): void;
38
+ clear(): void;
39
+ }
40
+ declare const message: MessageApi;
41
+ interface MessageContainerProps extends React.HTMLAttributes<HTMLDivElement> {
42
+ placement?: "top-right" | "top-left" | "bottom-right" | "bottom-left" | "top-center";
43
+ }
44
+ /** `MessageContainer` — optional app-root mount point for `message.*` calls. */
45
+ declare const MessageContainer: React.ForwardRefExoticComponent<MessageContainerProps & React.RefAttributes<HTMLDivElement>>;
46
+ type ToastType = MessageType;
47
+ type ToastItem = MessageItem;
48
+ type ToastContainerProps = MessageContainerProps;
49
+ /** @deprecated Use `message` instead. */
50
+ declare const toast: MessageApi;
51
+ /** @deprecated Use `MessageContainer` instead. */
52
+ declare const ToastContainer: React.ForwardRefExoticComponent<MessageContainerProps & React.RefAttributes<HTMLDivElement>>;
53
+
54
+ export { type MessageApi, type MessageConfig, MessageContainer, type MessageContainerProps, type MessageItem, type MessageMethod, type MessageType, ToastContainer, type ToastContainerProps, type ToastItem, type ToastType, message, toast };
@@ -0,0 +1,54 @@
1
+ import * as React from 'react';
2
+
3
+ type MessageType = "info" | "success" | "warning" | "error";
4
+ interface MessageConfig {
5
+ /** Message body. */
6
+ content?: React.ReactNode;
7
+ /** Alias for callers that pass `{ message }` instead of `{ content }`. */
8
+ message?: React.ReactNode;
9
+ /** Optional title shown above the body. */
10
+ title?: React.ReactNode;
11
+ type?: MessageType;
12
+ /** Auto-dismiss delay in ms. `0` keeps it until manually closed. */
13
+ duration?: number;
14
+ /** Stable key; opening another message with the same key updates it. */
15
+ key?: React.Key;
16
+ onClose?: () => void;
17
+ }
18
+ interface MessageItem {
19
+ id: number;
20
+ key?: React.Key;
21
+ type: MessageType;
22
+ title?: React.ReactNode;
23
+ content?: React.ReactNode;
24
+ duration?: number;
25
+ onClose?: () => void;
26
+ }
27
+ type MessageMethod = (configOrContent: MessageConfig | React.ReactNode, durationOrTitle?: number | React.ReactNode, onClose?: () => void) => number;
28
+ interface MessageApi {
29
+ open(config: MessageConfig): number;
30
+ show(config: MessageConfig): number;
31
+ info: MessageMethod;
32
+ success: MessageMethod;
33
+ warning: MessageMethod;
34
+ warn: MessageMethod;
35
+ error: MessageMethod;
36
+ dismiss(idOrKey: number | React.Key): void;
37
+ destroy(idOrKey?: number | React.Key): void;
38
+ clear(): void;
39
+ }
40
+ declare const message: MessageApi;
41
+ interface MessageContainerProps extends React.HTMLAttributes<HTMLDivElement> {
42
+ placement?: "top-right" | "top-left" | "bottom-right" | "bottom-left" | "top-center";
43
+ }
44
+ /** `MessageContainer` — optional app-root mount point for `message.*` calls. */
45
+ declare const MessageContainer: React.ForwardRefExoticComponent<MessageContainerProps & React.RefAttributes<HTMLDivElement>>;
46
+ type ToastType = MessageType;
47
+ type ToastItem = MessageItem;
48
+ type ToastContainerProps = MessageContainerProps;
49
+ /** @deprecated Use `message` instead. */
50
+ declare const toast: MessageApi;
51
+ /** @deprecated Use `MessageContainer` instead. */
52
+ declare const ToastContainer: React.ForwardRefExoticComponent<MessageContainerProps & React.RefAttributes<HTMLDivElement>>;
53
+
54
+ export { type MessageApi, type MessageConfig, MessageContainer, type MessageContainerProps, type MessageItem, type MessageMethod, type MessageType, ToastContainer, type ToastContainerProps, type ToastItem, type ToastType, message, toast };
@@ -0,0 +1,2 @@
1
+ export { MessageContainer, ToastContainer, message, toast } from './chunk-ON4DEDMI.js';
2
+ import './chunk-OF3SGLZY.js';
@@ -70,3 +70,30 @@
70
70
  background: var(--bg);
71
71
  box-shadow: var(--neu-flat);
72
72
  }
73
+
74
+ .modal-static-body {
75
+ display: flex;
76
+ gap: var(--gap-3);
77
+ align-items: flex-start;
78
+ }
79
+
80
+ .modal-static-icon {
81
+ width: 34px;
82
+ height: 34px;
83
+ border-radius: var(--r-md);
84
+ display: inline-grid;
85
+ place-items: center;
86
+ flex-shrink: 0;
87
+ background: var(--bg);
88
+ box-shadow: var(--neu-in-sm);
89
+ color: var(--accent);
90
+ }
91
+
92
+ .modal-static-icon.success { color: var(--success); }
93
+ .modal-static-icon.warning { color: var(--warning); }
94
+ .modal-static-icon.error { color: var(--danger); }
95
+
96
+ .modal-static-content {
97
+ min-width: 0;
98
+ color: var(--fg-muted);
99
+ }
package/dist/Modal.cjs CHANGED
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkY47YTYQ3_cjs = require('./chunk-Y47YTYQ3.cjs');
4
- require('./chunk-62GU4OHH.cjs');
5
- require('./chunk-2MNAZRWE.cjs');
3
+ var chunkHPFQXYKG_cjs = require('./chunk-HPFQXYKG.cjs');
4
+ require('./chunk-5WAXZJG5.cjs');
5
+ require('./chunk-TJII7BQ2.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "Modal", {
10
10
  enumerable: true,
11
- get: function () { return chunkY47YTYQ3_cjs.Modal; }
11
+ get: function () { return chunkHPFQXYKG_cjs.Modal; }
12
12
  });
package/dist/Modal.d.cts CHANGED
@@ -41,7 +41,7 @@ interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"
41
41
  /**
42
42
  * When true the modal's children are unmounted every time it closes.
43
43
  * Default `false` — children stay mounted so internal state survives
44
- * reopens, matching antd's default.
44
+ * reopens.
45
45
  */
46
46
  destroyOnClose?: boolean;
47
47
  /** Fires after the open/close animation finishes. */
@@ -50,7 +50,31 @@ interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"
50
50
  zIndex?: number;
51
51
  className?: string;
52
52
  }
53
- /** `Modal` — centered dialog with mask. Renders into `document.body`. */
54
- declare const Modal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>>;
53
+ type ModalStaticKind = "confirm" | "info" | "success" | "warning" | "error";
54
+ interface ModalStaticConfig extends Omit<ModalProps, "open" | "onClose" | "onOk" | "onCancel" | "children" | "afterOpenChange" | "content"> {
55
+ content?: React.ReactNode;
56
+ children?: React.ReactNode;
57
+ /** Override the semantic icon. Pass `false` to hide it. */
58
+ icon?: React.ReactNode | false;
59
+ /** Whether to show Cancel + OK. Defaults to true for confirm, false for the other static methods. */
60
+ okCancel?: boolean;
61
+ onOk?: () => void | boolean | Promise<void | boolean>;
62
+ onCancel?: () => void;
63
+ }
64
+ interface ModalStaticHandle {
65
+ destroy: () => void;
66
+ update: (config: Partial<ModalStaticConfig> | ((prev: ModalStaticConfig) => Partial<ModalStaticConfig>)) => void;
67
+ }
68
+ interface ModalStaticFunctions {
69
+ confirm: (config: ModalStaticConfig) => ModalStaticHandle;
70
+ info: (config: ModalStaticConfig) => ModalStaticHandle;
71
+ success: (config: ModalStaticConfig) => ModalStaticHandle;
72
+ warning: (config: ModalStaticConfig) => ModalStaticHandle;
73
+ warn: (config: ModalStaticConfig) => ModalStaticHandle;
74
+ error: (config: ModalStaticConfig) => ModalStaticHandle;
75
+ destroyAll: () => void;
76
+ }
77
+ type ModalComponent = React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>> & ModalStaticFunctions;
78
+ declare const Modal: ModalComponent;
55
79
 
56
- export { Modal, type ModalProps };
80
+ export { Modal, type ModalComponent, type ModalProps, type ModalStaticConfig, type ModalStaticFunctions, type ModalStaticHandle, type ModalStaticKind };
package/dist/Modal.d.ts CHANGED
@@ -41,7 +41,7 @@ interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"
41
41
  /**
42
42
  * When true the modal's children are unmounted every time it closes.
43
43
  * Default `false` — children stay mounted so internal state survives
44
- * reopens, matching antd's default.
44
+ * reopens.
45
45
  */
46
46
  destroyOnClose?: boolean;
47
47
  /** Fires after the open/close animation finishes. */
@@ -50,7 +50,31 @@ interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"
50
50
  zIndex?: number;
51
51
  className?: string;
52
52
  }
53
- /** `Modal` — centered dialog with mask. Renders into `document.body`. */
54
- declare const Modal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>>;
53
+ type ModalStaticKind = "confirm" | "info" | "success" | "warning" | "error";
54
+ interface ModalStaticConfig extends Omit<ModalProps, "open" | "onClose" | "onOk" | "onCancel" | "children" | "afterOpenChange" | "content"> {
55
+ content?: React.ReactNode;
56
+ children?: React.ReactNode;
57
+ /** Override the semantic icon. Pass `false` to hide it. */
58
+ icon?: React.ReactNode | false;
59
+ /** Whether to show Cancel + OK. Defaults to true for confirm, false for the other static methods. */
60
+ okCancel?: boolean;
61
+ onOk?: () => void | boolean | Promise<void | boolean>;
62
+ onCancel?: () => void;
63
+ }
64
+ interface ModalStaticHandle {
65
+ destroy: () => void;
66
+ update: (config: Partial<ModalStaticConfig> | ((prev: ModalStaticConfig) => Partial<ModalStaticConfig>)) => void;
67
+ }
68
+ interface ModalStaticFunctions {
69
+ confirm: (config: ModalStaticConfig) => ModalStaticHandle;
70
+ info: (config: ModalStaticConfig) => ModalStaticHandle;
71
+ success: (config: ModalStaticConfig) => ModalStaticHandle;
72
+ warning: (config: ModalStaticConfig) => ModalStaticHandle;
73
+ warn: (config: ModalStaticConfig) => ModalStaticHandle;
74
+ error: (config: ModalStaticConfig) => ModalStaticHandle;
75
+ destroyAll: () => void;
76
+ }
77
+ type ModalComponent = React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>> & ModalStaticFunctions;
78
+ declare const Modal: ModalComponent;
55
79
 
56
- export { Modal, type ModalProps };
80
+ export { Modal, type ModalComponent, type ModalProps, type ModalStaticConfig, type ModalStaticFunctions, type ModalStaticHandle, type ModalStaticKind };
package/dist/Modal.js CHANGED
@@ -1,3 +1,3 @@
1
- export { Modal } from './chunk-DOMYUGJY.js';
2
- import './chunk-YRZGXXWA.js';
3
- import './chunk-NJ6B22YJ.js';
1
+ export { Modal } from './chunk-CEJ7VBR6.js';
2
+ import './chunk-JD7A6VM3.js';
3
+ import './chunk-OF3SGLZY.js';
@@ -1,14 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkEBNRZRWY_cjs = require('./chunk-EBNRZRWY.cjs');
4
- require('./chunk-FIO65XYG.cjs');
5
- require('./chunk-LZU33BX6.cjs');
3
+ var chunkCUXV6QNN_cjs = require('./chunk-CUXV6QNN.cjs');
4
+ require('./chunk-OYMJVU66.cjs');
5
+ require('./chunk-ZIP7F4UF.cjs');
6
6
  require('./chunk-YB3IWIOJ.cjs');
7
- require('./chunk-2MNAZRWE.cjs');
7
+ require('./chunk-6LZ54NPO.cjs');
8
+ require('./chunk-OQBDU5I2.cjs');
9
+ require('./chunk-TJII7BQ2.cjs');
8
10
 
9
11
 
10
12
 
11
13
  Object.defineProperty(exports, "Pagination", {
12
14
  enumerable: true,
13
- get: function () { return chunkEBNRZRWY_cjs.Pagination; }
15
+ get: function () { return chunkCUXV6QNN_cjs.Pagination; }
14
16
  });
@@ -1,5 +1,7 @@
1
- export { Pagination } from './chunk-UXH5PH3S.js';
2
- import './chunk-RPFMQZA5.js';
3
- import './chunk-TWGQZX2R.js';
1
+ export { Pagination } from './chunk-7NGMQIST.js';
2
+ import './chunk-WKKSAGYH.js';
3
+ import './chunk-DQTSTJ6O.js';
4
4
  import './chunk-DUFRASGO.js';
5
- import './chunk-NJ6B22YJ.js';
5
+ import './chunk-XTIN5545.js';
6
+ import './chunk-WGZ2KJTZ.js';
7
+ import './chunk-OF3SGLZY.js';
package/dist/Popover.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkG2K6ETP4_cjs = require('./chunk-G2K6ETP4.cjs');
3
+ var chunkUUHFKIWP_cjs = require('./chunk-UUHFKIWP.cjs');
4
4
  require('./chunk-YB3IWIOJ.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Popover", {
9
9
  enumerable: true,
10
- get: function () { return chunkG2K6ETP4_cjs.Popover; }
10
+ get: function () { return chunkUUHFKIWP_cjs.Popover; }
11
11
  });
@@ -1,12 +1,13 @@
1
1
  import * as React from 'react';
2
2
 
3
+ type PopoverPlacement = "top" | "bottom" | "left" | "right" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom";
3
4
  interface PopoverProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "title" | "children" | "content"> {
4
5
  /** Popover body content. */
5
- content: React.ReactNode;
6
+ content?: React.ReactNode;
6
7
  /** Optional title rendered above content. */
7
8
  title?: React.ReactNode;
8
9
  /** Preferred placement relative to the trigger. */
9
- placement?: "top" | "bottom" | "left" | "right";
10
+ placement?: PopoverPlacement;
10
11
  /** How the popover is triggered. */
11
12
  trigger?: "click" | "hover";
12
13
  /** Show a small arrow pointing at the trigger. */
@@ -19,11 +20,18 @@ interface PopoverProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "titl
19
20
  defaultOpen?: boolean;
20
21
  /** Controlled open state. */
21
22
  open?: boolean;
23
+ /** Controlled visibility alias. */
24
+ visible?: boolean;
22
25
  /** Callback when visibility changes. */
23
26
  onOpenChange?: (open: boolean) => void;
27
+ onVisibleChange?: (visible: boolean) => void;
24
28
  /** Trigger element. */
25
29
  children: React.ReactElement;
26
30
  className?: string;
31
+ /** Class for the popped-out panel. */
32
+ overlayClassName?: string;
33
+ /** Alias used by some popup APIs. */
34
+ popupClassName?: string;
27
35
  }
28
36
  /**
29
37
  * `Popover` — rich content bubble with optional title, arrow, and close button.
@@ -35,4 +43,4 @@ interface PopoverProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "titl
35
43
  */
36
44
  declare const Popover: React.ForwardRefExoticComponent<PopoverProps & React.RefAttributes<HTMLSpanElement>>;
37
45
 
38
- export { Popover, type PopoverProps };
46
+ export { Popover, type PopoverPlacement, type PopoverProps };
package/dist/Popover.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import * as React from 'react';
2
2
 
3
+ type PopoverPlacement = "top" | "bottom" | "left" | "right" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom";
3
4
  interface PopoverProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "title" | "children" | "content"> {
4
5
  /** Popover body content. */
5
- content: React.ReactNode;
6
+ content?: React.ReactNode;
6
7
  /** Optional title rendered above content. */
7
8
  title?: React.ReactNode;
8
9
  /** Preferred placement relative to the trigger. */
9
- placement?: "top" | "bottom" | "left" | "right";
10
+ placement?: PopoverPlacement;
10
11
  /** How the popover is triggered. */
11
12
  trigger?: "click" | "hover";
12
13
  /** Show a small arrow pointing at the trigger. */
@@ -19,11 +20,18 @@ interface PopoverProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "titl
19
20
  defaultOpen?: boolean;
20
21
  /** Controlled open state. */
21
22
  open?: boolean;
23
+ /** Controlled visibility alias. */
24
+ visible?: boolean;
22
25
  /** Callback when visibility changes. */
23
26
  onOpenChange?: (open: boolean) => void;
27
+ onVisibleChange?: (visible: boolean) => void;
24
28
  /** Trigger element. */
25
29
  children: React.ReactElement;
26
30
  className?: string;
31
+ /** Class for the popped-out panel. */
32
+ overlayClassName?: string;
33
+ /** Alias used by some popup APIs. */
34
+ popupClassName?: string;
27
35
  }
28
36
  /**
29
37
  * `Popover` — rich content bubble with optional title, arrow, and close button.
@@ -35,4 +43,4 @@ interface PopoverProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "titl
35
43
  */
36
44
  declare const Popover: React.ForwardRefExoticComponent<PopoverProps & React.RefAttributes<HTMLSpanElement>>;
37
45
 
38
- export { Popover, type PopoverProps };
46
+ export { Popover, type PopoverPlacement, type PopoverProps };
package/dist/Popover.js CHANGED
@@ -1,2 +1,2 @@
1
- export { Popover } from './chunk-4WRE4HQP.js';
1
+ export { Popover } from './chunk-HWFM4MAT.js';
2
2
  import './chunk-DUFRASGO.js';
@@ -0,0 +1,97 @@
1
+ /* ============ Radio ============ */
2
+ .radio {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ gap: 10px;
6
+ cursor: pointer;
7
+ user-select: none;
8
+ font-size: 13px;
9
+ color: var(--fg);
10
+ }
11
+ .radio.disabled { opacity: 0.5; cursor: not-allowed; }
12
+
13
+ .radio-dot {
14
+ width: 20px; height: 20px;
15
+ border: none;
16
+ padding: 0;
17
+ border-radius: 999px;
18
+ background: var(--bg);
19
+ box-shadow: var(--neu-in-sm);
20
+ cursor: inherit;
21
+ position: relative;
22
+ flex-shrink: 0;
23
+ transition: all var(--dur) var(--ease);
24
+ }
25
+ .radio.checked .radio-dot {
26
+ background: var(--accent);
27
+ box-shadow: var(--neu-out-sm), 0 2px 8px var(--accent-glow);
28
+ }
29
+ .radio.checked .radio-dot::after {
30
+ content: "";
31
+ position: absolute;
32
+ top: 50%; left: 50%;
33
+ transform: translate(-50%, -50%);
34
+ width: 8px; height: 8px;
35
+ border-radius: 999px;
36
+ background: var(--bg);
37
+ }
38
+
39
+ .radio-group { display: flex; gap: 14px; }
40
+ .radio-group.vertical { flex-direction: column; gap: 10px; }
41
+ .radio-group.horizontal { flex-direction: row; flex-wrap: wrap; }
42
+
43
+ .radio-group.segmented {
44
+ position: relative;
45
+ display: inline-flex;
46
+ padding: 4px;
47
+ border-radius: var(--r-md);
48
+ background: var(--bg);
49
+ box-shadow: var(--neu-in-sm);
50
+ gap: 2px;
51
+ flex-wrap: nowrap;
52
+ }
53
+
54
+ .radio-group.segmented .radio {
55
+ position: relative;
56
+ z-index: 1;
57
+ height: 32px;
58
+ padding: 6px 14px;
59
+ border-radius: calc(var(--r-md) - 4px);
60
+ color: var(--fg-muted);
61
+ font-size: 12px;
62
+ gap: 6px;
63
+ transition: all var(--dur-fast) var(--ease);
64
+ }
65
+
66
+ .radio-group.segmented .radio:hover { color: var(--fg); }
67
+ .radio-group.segmented .radio.checked {
68
+ color: var(--accent-ink);
69
+ font-weight: 600;
70
+ }
71
+ .radio-group.segmented .radio-dot { display: none; }
72
+ .radio-group.segmented .radio-label { line-height: 1; }
73
+ .radio-group.segmented .radio.disabled { opacity: 0.4; }
74
+ .radio-group.segmented.sm .radio { height: 26px; padding: 4px 10px; font-size: 11px; }
75
+ .radio-group.segmented.lg .radio { height: 38px; padding: 8px 18px; font-size: 13px; }
76
+
77
+ .radio-segment-thumb {
78
+ position: absolute;
79
+ top: 4px;
80
+ bottom: 4px;
81
+ left: 0;
82
+ border-radius: calc(var(--r-md) - 4px);
83
+ background: var(--bg);
84
+ box-shadow: var(--neu-out-sm);
85
+ pointer-events: none;
86
+ transition:
87
+ transform var(--dur-slow) var(--ease),
88
+ width var(--dur-slow) var(--ease),
89
+ opacity var(--dur-fast) var(--ease);
90
+ will-change: transform, width;
91
+ }
92
+
93
+ @media (prefers-reduced-motion: reduce) {
94
+ .radio-segment-thumb {
95
+ transition: none;
96
+ }
97
+ }
package/dist/Radio.cjs ADDED
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var chunkKGSADAOD_cjs = require('./chunk-KGSADAOD.cjs');
4
+
5
+
6
+
7
+ Object.defineProperty(exports, "Radio", {
8
+ enumerable: true,
9
+ get: function () { return chunkKGSADAOD_cjs.Radio; }
10
+ });
11
+ Object.defineProperty(exports, "RadioGroup", {
12
+ enumerable: true,
13
+ get: function () { return chunkKGSADAOD_cjs.RadioGroup; }
14
+ });
@@ -0,0 +1,36 @@
1
+ import * as React from 'react';
2
+
3
+ interface RadioProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "onChange" | "children" | "id"> {
4
+ checked?: boolean;
5
+ defaultChecked?: boolean;
6
+ onChange?: (checked: boolean) => void;
7
+ disabled?: boolean;
8
+ label?: React.ReactNode;
9
+ className?: string;
10
+ id?: string;
11
+ }
12
+ declare const RadioRoot: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLLabelElement>>;
13
+ interface RadioOption<T extends string | number = string> {
14
+ value: T;
15
+ label: React.ReactNode;
16
+ disabled?: boolean;
17
+ }
18
+ interface RadioGroupProps<T extends string | number = string> extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
19
+ options: RadioOption<T>[];
20
+ value?: T;
21
+ defaultValue?: T;
22
+ onChange?: (value: T) => void;
23
+ name?: string;
24
+ direction?: "vertical" | "horizontal";
25
+ variant?: "default" | "segmented";
26
+ size?: "sm" | "md" | "lg";
27
+ className?: string;
28
+ }
29
+ type RadioGroupComponent = <T extends string | number = string>(props: RadioGroupProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
30
+ /** `RadioGroup` — mutually exclusive options. */
31
+ declare const RadioGroup: RadioGroupComponent;
32
+ declare const Radio: typeof RadioRoot & {
33
+ Group: typeof RadioGroup;
34
+ };
35
+
36
+ export { Radio, RadioGroup, type RadioGroupProps, type RadioOption, type RadioProps };
@@ -0,0 +1,36 @@
1
+ import * as React from 'react';
2
+
3
+ interface RadioProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "onChange" | "children" | "id"> {
4
+ checked?: boolean;
5
+ defaultChecked?: boolean;
6
+ onChange?: (checked: boolean) => void;
7
+ disabled?: boolean;
8
+ label?: React.ReactNode;
9
+ className?: string;
10
+ id?: string;
11
+ }
12
+ declare const RadioRoot: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLLabelElement>>;
13
+ interface RadioOption<T extends string | number = string> {
14
+ value: T;
15
+ label: React.ReactNode;
16
+ disabled?: boolean;
17
+ }
18
+ interface RadioGroupProps<T extends string | number = string> extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
19
+ options: RadioOption<T>[];
20
+ value?: T;
21
+ defaultValue?: T;
22
+ onChange?: (value: T) => void;
23
+ name?: string;
24
+ direction?: "vertical" | "horizontal";
25
+ variant?: "default" | "segmented";
26
+ size?: "sm" | "md" | "lg";
27
+ className?: string;
28
+ }
29
+ type RadioGroupComponent = <T extends string | number = string>(props: RadioGroupProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
30
+ /** `RadioGroup` — mutually exclusive options. */
31
+ declare const RadioGroup: RadioGroupComponent;
32
+ declare const Radio: typeof RadioRoot & {
33
+ Group: typeof RadioGroup;
34
+ };
35
+
36
+ export { Radio, RadioGroup, type RadioGroupProps, type RadioOption, type RadioProps };
package/dist/Radio.js ADDED
@@ -0,0 +1 @@
1
+ export { Radio, RadioGroup } from './chunk-USQ43DJ5.js';
@@ -128,32 +128,12 @@
128
128
 
129
129
  /* Menu search — flush with menu, single subtle separator (no nested frame) */
130
130
  .menu-search {
131
- display: flex;
132
- align-items: center;
133
- gap: 8px;
134
- height: 32px;
135
- padding: 0 6px;
131
+ display: block;
132
+ padding: 4px 2px 8px;
136
133
  margin: -2px -2px 4px;
137
134
  border-bottom: 1px solid var(--divider);
138
- color: var(--fg-subtle);
139
- transition: color var(--dur) var(--ease);
140
135
  }
141
- .menu-search:focus-within { color: var(--accent); }
142
- .menu-search input {
143
- flex: 1;
144
- min-width: 0;
145
- border: none;
146
- outline: none;
147
- background: transparent;
148
- color: var(--fg);
149
- font-size: 13px;
150
- font-family: inherit;
151
- height: 100%;
152
- padding: 0;
153
- }
154
- .menu-search input::placeholder { color: var(--fg-subtle); }
155
- .menu-search input:focus,
156
- .menu-search input:focus-visible { box-shadow: none; }
136
+ .menu-search .input-wrap { width: 100%; }
157
137
 
158
138
  /* Menu state (loading / empty) */
159
139
  .menu-state {
@@ -179,8 +159,12 @@
179
159
  .menu-state .menu-state-ico .spinner {
180
160
  width: 16px;
181
161
  height: 16px;
162
+ display: inline-block;
163
+ border-radius: 999px;
164
+ border: 2px solid var(--accent);
182
165
  border-color: var(--accent);
183
166
  border-right-color: transparent;
167
+ animation: spin 0.8s linear infinite;
184
168
  }
185
169
 
186
170
  /* Option body — supports description line under label */
package/dist/Select.cjs CHANGED
@@ -1,13 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var chunkFIO65XYG_cjs = require('./chunk-FIO65XYG.cjs');
4
- require('./chunk-LZU33BX6.cjs');
3
+ var chunkOYMJVU66_cjs = require('./chunk-OYMJVU66.cjs');
4
+ require('./chunk-ZIP7F4UF.cjs');
5
5
  require('./chunk-YB3IWIOJ.cjs');
6
- require('./chunk-2MNAZRWE.cjs');
6
+ require('./chunk-6LZ54NPO.cjs');
7
+ require('./chunk-OQBDU5I2.cjs');
8
+ require('./chunk-TJII7BQ2.cjs');
7
9
 
8
10
 
9
11
 
10
12
  Object.defineProperty(exports, "Select", {
11
13
  enumerable: true,
12
- get: function () { return chunkFIO65XYG_cjs.Select; }
14
+ get: function () { return chunkOYMJVU66_cjs.Select; }
13
15
  });