@fangxinyan/lumina 0.6.1 → 0.6.3

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 (270) hide show
  1. package/README.md +2 -1
  2. package/dist/{Alert-JJ7GB3UU.css → Alert-QBKIDY5H.css} +7 -0
  3. package/dist/Alert.cjs +3 -3
  4. package/dist/Alert.d.cts +3 -2
  5. package/dist/Alert.d.ts +3 -2
  6. package/dist/Alert.js +2 -2
  7. package/dist/AutoComplete.cjs +5 -4
  8. package/dist/AutoComplete.d.cts +1 -1
  9. package/dist/AutoComplete.d.ts +1 -1
  10. package/dist/AutoComplete.js +4 -3
  11. package/dist/Badge-DPGLV3D3.css +22 -0
  12. package/dist/Badge.cjs +10 -0
  13. package/dist/Badge.d.cts +19 -0
  14. package/dist/Badge.d.ts +19 -0
  15. package/dist/Badge.js +1 -0
  16. package/dist/{Button-SDQD25AG.css → Button-4Z3Q6KII.css} +56 -36
  17. package/dist/Button.cjs +3 -7
  18. package/dist/Button.d.cts +11 -15
  19. package/dist/Button.d.ts +11 -15
  20. package/dist/Button.js +2 -2
  21. package/dist/Calendar.cjs +3 -3
  22. package/dist/Calendar.js +2 -2
  23. package/dist/{Card-RG7ECXL2.css → Card-6RMVIHWX.css} +7 -13
  24. package/dist/Card.cjs +2 -6
  25. package/dist/Card.d.cts +7 -11
  26. package/dist/Card.d.ts +7 -11
  27. package/dist/Card.js +1 -1
  28. package/dist/{Cascader-VSYEKQCG.css → Cascader-3BLLA7EN.css} +77 -0
  29. package/dist/Cascader.cjs +5 -3
  30. package/dist/Cascader.d.cts +22 -4
  31. package/dist/Cascader.d.ts +22 -4
  32. package/dist/Cascader.js +4 -2
  33. package/dist/{Checkbox-SKJATVSN.css → Checkbox-U5EUDSYS.css} +5 -35
  34. package/dist/Checkbox.cjs +3 -7
  35. package/dist/Checkbox.d.cts +1 -18
  36. package/dist/Checkbox.d.ts +1 -18
  37. package/dist/Checkbox.js +2 -2
  38. package/dist/Collapse-66U5YJFY.css +53 -0
  39. package/dist/Collapse.cjs +11 -0
  40. package/dist/Collapse.d.cts +32 -0
  41. package/dist/Collapse.d.ts +32 -0
  42. package/dist/Collapse.js +2 -0
  43. package/dist/CommandPalette.cjs +5 -4
  44. package/dist/CommandPalette.js +4 -3
  45. package/dist/Drawer.cjs +3 -3
  46. package/dist/Drawer.js +2 -2
  47. package/dist/Empty-DC2LPORC.css +28 -0
  48. package/dist/Empty.cjs +2 -10
  49. package/dist/Empty.d.cts +1 -62
  50. package/dist/Empty.d.ts +1 -62
  51. package/dist/Empty.js +1 -1
  52. package/dist/Form.d.cts +1 -1
  53. package/dist/Form.d.ts +1 -1
  54. package/dist/Icon.cjs +187 -3
  55. package/dist/Icon.d.cts +104 -3
  56. package/dist/Icon.d.ts +104 -3
  57. package/dist/Icon.js +1 -1
  58. package/dist/{Image-4MN34O6P.css → Image-MRYQCRQ5.css} +78 -0
  59. package/dist/Image.cjs +12 -4
  60. package/dist/Image.d.cts +79 -6
  61. package/dist/Image.d.ts +79 -6
  62. package/dist/Image.js +2 -2
  63. package/dist/{Input-33CAH4O6.css → Input-HUBJ55OH.css} +25 -42
  64. package/dist/Input.cjs +6 -5
  65. package/dist/Input.d.cts +23 -26
  66. package/dist/Input.d.ts +23 -26
  67. package/dist/Input.js +3 -2
  68. package/dist/InputNumber.cjs +5 -4
  69. package/dist/InputNumber.d.cts +1 -1
  70. package/dist/InputNumber.d.ts +1 -1
  71. package/dist/InputNumber.js +4 -3
  72. package/dist/Message-2MZ3LFPU.css +45 -0
  73. package/dist/Message.cjs +23 -0
  74. package/dist/Message.d.cts +54 -0
  75. package/dist/Message.d.ts +54 -0
  76. package/dist/Message.js +2 -0
  77. package/dist/{Modal-XSDMU4XJ.css → Modal-2QNDW4SO.css} +27 -0
  78. package/dist/Modal.cjs +4 -4
  79. package/dist/Modal.d.cts +29 -4
  80. package/dist/Modal.d.ts +29 -4
  81. package/dist/Modal.js +3 -3
  82. package/dist/Pagination.cjs +7 -5
  83. package/dist/Pagination.js +6 -4
  84. package/dist/Popover.cjs +2 -2
  85. package/dist/Popover.d.cts +11 -3
  86. package/dist/Popover.d.ts +11 -3
  87. package/dist/Popover.js +1 -1
  88. package/dist/Radio-GVFDPAZM.css +97 -0
  89. package/dist/Radio.cjs +14 -0
  90. package/dist/Radio.d.cts +36 -0
  91. package/dist/Radio.d.ts +36 -0
  92. package/dist/Radio.js +1 -0
  93. package/dist/{Select-J3CCVFJ7.css → Select-Z5VYPEEY.css} +33 -24
  94. package/dist/Select.cjs +6 -4
  95. package/dist/Select.d.cts +29 -7
  96. package/dist/Select.d.ts +29 -7
  97. package/dist/Select.js +5 -3
  98. package/dist/Skeleton-CVWH2VWN.css +40 -0
  99. package/dist/Skeleton.cjs +10 -0
  100. package/dist/Skeleton.d.cts +30 -0
  101. package/dist/Skeleton.d.ts +30 -0
  102. package/dist/Skeleton.js +1 -0
  103. package/dist/Spin-3GJNMSIH.css +94 -0
  104. package/dist/Spin.cjs +10 -0
  105. package/dist/Spin.d.cts +20 -0
  106. package/dist/Spin.d.ts +20 -0
  107. package/dist/Spin.js +1 -0
  108. package/dist/{Table-2LPTOUIR.css → Table-ATJJQLKU.css} +0 -53
  109. package/dist/Table.cjs +9 -11
  110. package/dist/Table.d.cts +2 -21
  111. package/dist/Table.d.ts +2 -21
  112. package/dist/Table.js +8 -6
  113. package/dist/TablePro-3XVHYLSL.css +45 -0
  114. package/dist/TablePro.cjs +19 -0
  115. package/dist/TablePro.d.cts +21 -0
  116. package/dist/TablePro.d.ts +21 -0
  117. package/dist/TablePro.js +10 -0
  118. package/dist/{Tabs-RHK6XAFF.css → Tabs-BLSNI2T5.css} +0 -34
  119. package/dist/Tabs.cjs +2 -6
  120. package/dist/Tabs.d.cts +1 -16
  121. package/dist/Tabs.d.ts +1 -16
  122. package/dist/Tabs.js +1 -1
  123. package/dist/Tag-HDYCDPFS.css +42 -0
  124. package/dist/Tag.cjs +3 -7
  125. package/dist/Tag.d.cts +5 -14
  126. package/dist/Tag.d.ts +5 -14
  127. package/dist/Tag.js +2 -2
  128. package/dist/Textarea-YNET7IBH.css +54 -0
  129. package/dist/Textarea.cjs +15 -0
  130. package/dist/Textarea.d.cts +25 -0
  131. package/dist/Textarea.d.ts +25 -0
  132. package/dist/Textarea.js +2 -0
  133. package/dist/Theme.cjs +14 -10
  134. package/dist/Theme.d.cts +29 -6
  135. package/dist/Theme.d.ts +29 -6
  136. package/dist/Theme.js +1 -1
  137. package/dist/{Timeline-RHZAZKZ7.css → Timeline-3ZHOHPXT.css} +2 -2
  138. package/dist/Timeline.cjs +3 -3
  139. package/dist/Timeline.d.cts +1 -1
  140. package/dist/Timeline.d.ts +1 -1
  141. package/dist/Timeline.js +2 -2
  142. package/dist/Tooltip.cjs +2 -2
  143. package/dist/Tooltip.d.cts +17 -4
  144. package/dist/Tooltip.d.ts +17 -4
  145. package/dist/Tooltip.js +1 -1
  146. package/dist/Typography.cjs +7 -7
  147. package/dist/Typography.d.cts +1 -0
  148. package/dist/Typography.d.ts +1 -0
  149. package/dist/Typography.js +2 -2
  150. package/dist/{chunk-OVZTG5CP.cjs → chunk-2HQCUBA7.cjs} +2 -2
  151. package/dist/{chunk-X2U7EKCS.cjs → chunk-3YJU3D5S.cjs} +28 -5
  152. package/dist/chunk-45VJGBGN.js +25 -0
  153. package/dist/{chunk-3D77MQHO.js → chunk-46VXFTEC.js} +3 -3
  154. package/dist/chunk-47VG2P34.js +393 -0
  155. package/dist/{chunk-LZU33BX6.cjs → chunk-5DKRY67M.cjs} +4 -20
  156. package/dist/{chunk-TWGQZX2R.js → chunk-5H5YP2TB.js} +4 -19
  157. package/dist/chunk-5MN3PMF4.cjs +240 -0
  158. package/dist/{chunk-5A3RT4KD.js → chunk-5TKC6IEN.js} +4 -55
  159. package/dist/{chunk-N57NXCNC.cjs → chunk-6HMTV6P4.cjs} +3 -44
  160. package/dist/{chunk-RF2EY5JS.cjs → chunk-6ZXQJRAT.cjs} +153 -34
  161. package/dist/{chunk-OFGDUCT7.cjs → chunk-7AG524YZ.cjs} +3 -3
  162. package/dist/chunk-7IYKKLV3.js +283 -0
  163. package/dist/{chunk-73RQBWWW.js → chunk-AAGF7K3L.js} +2 -2
  164. package/dist/chunk-AXZ7ELMA.js +41 -0
  165. package/dist/{chunk-R6BIF3FF.js → chunk-BPOOVO5T.js} +5 -23
  166. package/dist/{chunk-OI3CWXT3.js → chunk-BVQ77VRY.js} +3 -3
  167. package/dist/{chunk-UXH5PH3S.js → chunk-CETNCRZ4.js} +2 -2
  168. package/dist/chunk-DG5VQ6BO.cjs +28 -0
  169. package/dist/chunk-DWAN57G4.js +243 -0
  170. package/dist/chunk-ELNT3CFO.js +64 -0
  171. package/dist/{chunk-ULOJ5UEY.js → chunk-ET6DYQVZ.js} +1 -1
  172. package/dist/chunk-F6RYCBQG.js +25 -0
  173. package/dist/{chunk-RPFMQZA5.js → chunk-FBYUZOZP.js} +42 -31
  174. package/dist/chunk-FGW5GJ22.cjs +132 -0
  175. package/dist/{chunk-6Y5WRCPW.js → chunk-FWPBORRB.js} +1 -1
  176. package/dist/chunk-GENABQYA.cjs +47 -0
  177. package/dist/{chunk-TGHBKKSS.js → chunk-GIZU3H6H.js} +3 -43
  178. package/dist/chunk-GMN74OEY.cjs +63 -0
  179. package/dist/{chunk-Y47YTYQ3.cjs → chunk-H4LGWZMH.cjs} +159 -8
  180. package/dist/chunk-HKF2V5MM.cjs +214 -0
  181. package/dist/chunk-HLFH5HWR.js +81 -0
  182. package/dist/{chunk-4WRE4HQP.js → chunk-HWFM4MAT.js} +18 -6
  183. package/dist/{chunk-GY3BSHHS.cjs → chunk-HZSIUOCN.cjs} +2 -55
  184. package/dist/{chunk-D46EM4EN.js → chunk-I5WTQ5Y3.js} +4 -4
  185. package/dist/chunk-J2HZTJO6.js +26 -0
  186. package/dist/{chunk-NN25YMOL.js → chunk-J5ZGYQZK.js} +153 -35
  187. package/dist/{chunk-WRDKOSSM.js → chunk-JCEHZ336.js} +1 -1
  188. package/dist/chunk-JVUVOR6S.js +110 -0
  189. package/dist/chunk-K5IGFBDR.js +113 -0
  190. package/dist/{chunk-Q2KG6SQK.cjs → chunk-K7FV7W6U.cjs} +5 -5
  191. package/dist/{chunk-PWW64ZWO.cjs → chunk-KD4YYIIO.cjs} +1 -32
  192. package/dist/chunk-KGSADAOD.cjs +170 -0
  193. package/dist/{chunk-54YLXXS2.js → chunk-ME5BZ2WA.js} +2 -2
  194. package/dist/chunk-MPVCYU2K.cjs +104 -0
  195. package/dist/{chunk-EEMWQX3C.cjs → chunk-NTS5L4NQ.cjs} +3 -3
  196. package/dist/{chunk-WBK6XIDJ.js → chunk-OBEKX4VR.js} +2 -32
  197. package/dist/{chunk-EBNRZRWY.cjs → chunk-P6EZG2R7.cjs} +5 -5
  198. package/dist/{chunk-KYEY2LIB.cjs → chunk-P6P4DGLF.cjs} +3 -3
  199. package/dist/{chunk-GOBWKQCX.cjs → chunk-PULGVK2I.cjs} +3 -3
  200. package/dist/chunk-Q5SZIU7Z.cjs +47 -0
  201. package/dist/chunk-QKQHZIF3.cjs +86 -0
  202. package/dist/{chunk-3TWNBJFI.cjs → chunk-QP3VCSRY.cjs} +6 -6
  203. package/dist/{chunk-6ODY6MGL.cjs → chunk-R2TEDH2F.cjs} +5 -5
  204. package/dist/{chunk-YRZGXXWA.js → chunk-SQGPSMSK.js} +14 -20
  205. package/dist/{chunk-IW5LW6XS.js → chunk-TEEFR2FD.js} +28 -5
  206. package/dist/chunk-TGL5BGMR.js +218 -0
  207. package/dist/{chunk-62GU4OHH.cjs → chunk-TP567B3L.cjs} +13 -20
  208. package/dist/chunk-UKS23N3L.js +191 -0
  209. package/dist/chunk-USQ43DJ5.js +147 -0
  210. package/dist/{chunk-G2K6ETP4.cjs → chunk-UUHFKIWP.cjs} +18 -6
  211. package/dist/{chunk-2MNAZRWE.cjs → chunk-V272XR3F.cjs} +271 -2
  212. package/dist/chunk-VFFIE2VO.cjs +271 -0
  213. package/dist/{chunk-FIO65XYG.cjs → chunk-X5GCOMC3.cjs} +49 -38
  214. package/dist/{chunk-Y3ZSG3SJ.cjs → chunk-XSN4TLN5.cjs} +11 -30
  215. package/dist/chunk-ZKE73UQF.cjs +138 -0
  216. package/dist/index.cjs +342 -132
  217. package/dist/index.d.cts +26 -20
  218. package/dist/index.d.ts +26 -20
  219. package/dist/index.js +35 -29
  220. package/dist/styles.css +515 -230
  221. package/docs/llms/alert.md +4 -3
  222. package/docs/llms/badge.md +3 -3
  223. package/docs/llms/button.md +11 -41
  224. package/docs/llms/card.md +6 -12
  225. package/docs/llms/cascader.md +22 -0
  226. package/docs/llms/{accordion.md → collapse.md} +13 -11
  227. package/docs/llms/drawer.md +1 -1
  228. package/docs/llms/form.md +1 -1
  229. package/docs/llms/image.md +72 -1
  230. package/docs/llms/input.md +28 -18
  231. package/docs/llms/message.md +63 -0
  232. package/docs/llms/modal.md +30 -0
  233. package/docs/llms/popover.md +18 -1
  234. package/docs/llms/radio.md +37 -1
  235. package/docs/llms/select.md +22 -2
  236. package/docs/llms/spin.md +59 -0
  237. package/docs/llms/table.md +3 -3
  238. package/docs/llms/tag.md +3 -2
  239. package/docs/llms/theme.md +41 -4
  240. package/docs/llms/tooltip.md +16 -3
  241. package/docs/llms.md +8 -8
  242. package/package.json +32 -52
  243. package/dist/Accordion-REMDCQUD.css +0 -44
  244. package/dist/Accordion.cjs +0 -11
  245. package/dist/Accordion.d.cts +0 -33
  246. package/dist/Accordion.d.ts +0 -33
  247. package/dist/Accordion.js +0 -2
  248. package/dist/Empty-NQ72W3D7.css +0 -160
  249. package/dist/Tag-FGDY3W7E.css +0 -51
  250. package/dist/Toast-YSACW3EM.css +0 -45
  251. package/dist/Toast.cjs +0 -15
  252. package/dist/Toast.d.cts +0 -26
  253. package/dist/Toast.d.ts +0 -26
  254. package/dist/Toast.js +0 -2
  255. package/dist/chunk-32HBMXXV.cjs +0 -208
  256. package/dist/chunk-3XTHKAEY.js +0 -39
  257. package/dist/chunk-5M26OVVY.js +0 -90
  258. package/dist/chunk-DOMYUGJY.js +0 -132
  259. package/dist/chunk-DPNDHNKK.js +0 -185
  260. package/dist/chunk-G2XK57I7.cjs +0 -116
  261. package/dist/chunk-HBWO3QKW.js +0 -74
  262. package/dist/chunk-JVS5ZALZ.js +0 -123
  263. package/dist/chunk-LIGHV4RC.cjs +0 -121
  264. package/dist/chunk-MCTIA6RZ.js +0 -99
  265. package/dist/chunk-NC4YUEXM.cjs +0 -145
  266. package/dist/chunk-NJ6B22YJ.js +0 -170
  267. package/dist/chunk-W64ARHLJ.cjs +0 -62
  268. package/dist/chunk-ZFW6OYAO.cjs +0 -100
  269. package/docs/llms/spinner.md +0 -58
  270. package/docs/llms/toast.md +0 -51
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ require('./tokens-BIIUTPKN.css');
4
+ require('./shared-NJHRNLRH.css');
5
+ require('./Empty-DC2LPORC.css');
6
+ var React = require('react');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
+
29
+ // src/components/Empty/Empty.tsx
30
+ var Empty = React__namespace.forwardRef(({
31
+ title = "\u6682\u65E0\u5185\u5BB9",
32
+ description,
33
+ icon,
34
+ action,
35
+ size = "md",
36
+ variant = "default",
37
+ className = "",
38
+ ...rest
39
+ }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: `empty ${size} ${variant} ${className}`, ...rest, children: [
40
+ icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "empty-ico", children: icon }),
41
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "empty-title", children: title }),
42
+ description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "empty-desc", children: description }),
43
+ action && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "empty-action", children: action })
44
+ ] }));
45
+ Empty.displayName = "Empty";
46
+
47
+ exports.Empty = Empty;
@@ -1,7 +1,7 @@
1
- import { Icon } from './chunk-NJ6B22YJ.js';
1
+ import { Icon } from './chunk-47VG2P34.js';
2
2
  import './tokens-BIIUTPKN.css';
3
3
  import './shared-NJHRNLRH.css';
4
- import './Checkbox-SKJATVSN.css';
4
+ import './Checkbox-U5EUDSYS.css';
5
5
  import * as React from 'react';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
7
 
@@ -50,45 +50,5 @@ var Checkbox = React.forwardRef(({
50
50
  ] });
51
51
  });
52
52
  Checkbox.displayName = "Checkbox";
53
- var RadioGroupInner = ({
54
- options,
55
- value,
56
- defaultValue,
57
- onChange,
58
- direction = "vertical",
59
- className = "",
60
- ...rest
61
- }, ref) => {
62
- const [inner, setInner] = React.useState(defaultValue);
63
- const isControlled = value !== void 0;
64
- const current = isControlled ? value : inner;
65
- const pick = (v) => {
66
- if (!isControlled) setInner(v);
67
- onChange?.(v);
68
- };
69
- return /* @__PURE__ */ jsx("div", { ref, className: `radio-group ${direction} ${className}`, ...rest, children: options.map((opt) => /* @__PURE__ */ jsxs(
70
- "label",
71
- {
72
- className: `radio ${current === opt.value ? "checked" : ""} ${opt.disabled ? "disabled" : ""}`,
73
- children: [
74
- /* @__PURE__ */ jsx(
75
- "button",
76
- {
77
- type: "button",
78
- role: "radio",
79
- "aria-checked": current === opt.value,
80
- disabled: opt.disabled,
81
- onClick: () => pick(opt.value),
82
- className: "radio-dot"
83
- }
84
- ),
85
- /* @__PURE__ */ jsx("span", { className: "radio-label", children: opt.label })
86
- ]
87
- },
88
- String(opt.value)
89
- )) });
90
- };
91
- var RadioGroup = React.forwardRef(RadioGroupInner);
92
- RadioGroup.displayName = "RadioGroup";
93
53
 
94
- export { Checkbox, RadioGroup };
54
+ export { Checkbox };
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ require('./tokens-BIIUTPKN.css');
4
+ require('./shared-NJHRNLRH.css');
5
+ require('./Card-6RMVIHWX.css');
6
+ var React = require('react');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
+
29
+ // src/components/Card/Card.tsx
30
+ var Card = React__namespace.forwardRef(
31
+ ({
32
+ variant = "raised",
33
+ padding = "md",
34
+ hoverable,
35
+ title,
36
+ description,
37
+ actions,
38
+ className = "",
39
+ children,
40
+ ...rest
41
+ }, ref) => {
42
+ const cls = [
43
+ "card",
44
+ variant,
45
+ padding !== "md" && `pad-${padding}`,
46
+ hoverable && "hoverable",
47
+ className
48
+ ].filter(Boolean).join(" ");
49
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cls, ...rest, children: [
50
+ (title || description || actions) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "card-head", children: [
51
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "card-titles", children: [
52
+ title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "card-title", children: title }),
53
+ description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "card-desc", children: description })
54
+ ] }),
55
+ actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "card-actions", children: actions })
56
+ ] }),
57
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "card-body", children })
58
+ ] });
59
+ }
60
+ );
61
+ Card.displayName = "Card";
62
+
63
+ exports.Card = Card;
@@ -1,12 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunk62GU4OHH_cjs = require('./chunk-62GU4OHH.cjs');
4
- var chunk2MNAZRWE_cjs = require('./chunk-2MNAZRWE.cjs');
3
+ var chunkTP567B3L_cjs = require('./chunk-TP567B3L.cjs');
4
+ var chunkV272XR3F_cjs = require('./chunk-V272XR3F.cjs');
5
5
  require('./tokens-BIIUTPKN.css');
6
6
  require('./shared-NJHRNLRH.css');
7
- require('./Modal-XSDMU4XJ.css');
7
+ require('./Modal-2QNDW4SO.css');
8
8
  var React = require('react');
9
9
  var ReactDOM = require('react-dom');
10
+ var client = require('react-dom/client');
10
11
  var jsxRuntime = require('react/jsx-runtime');
11
12
 
12
13
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -33,7 +34,7 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
33
34
  var ReactDOM__default = /*#__PURE__*/_interopDefault(ReactDOM);
34
35
 
35
36
  var ANIM_MS = 280;
36
- var Modal = React__namespace.forwardRef(({
37
+ var ModalBase = React__namespace.forwardRef(({
37
38
  open,
38
39
  onClose,
39
40
  onCancel,
@@ -91,9 +92,9 @@ var Modal = React__namespace.forwardRef(({
91
92
  if (!open && destroyOnClose) return null;
92
93
  const overlayStyle = zIndex != null ? { zIndex } : void 0;
93
94
  const defaultFooter = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
94
- /* @__PURE__ */ jsxRuntime.jsx(chunk62GU4OHH_cjs.Button, { variant: "ghost", onClick: handleCancel, ...cancelButtonProps, children: cancelText }),
95
+ /* @__PURE__ */ jsxRuntime.jsx(chunkTP567B3L_cjs.Button, { variant: "ghost", onClick: handleCancel, ...cancelButtonProps, children: cancelText }),
95
96
  /* @__PURE__ */ jsxRuntime.jsx(
96
- chunk62GU4OHH_cjs.Button,
97
+ chunkTP567B3L_cjs.Button,
97
98
  {
98
99
  variant: "primary",
99
100
  loading: confirmLoading,
@@ -138,7 +139,7 @@ var Modal = React__namespace.forwardRef(({
138
139
  className: "modal-close",
139
140
  onClick: handleCancel,
140
141
  "aria-label": "Close",
141
- children: closeIcon ?? /* @__PURE__ */ jsxRuntime.jsx(chunk2MNAZRWE_cjs.Icon, { name: "x", size: 16 })
142
+ children: closeIcon ?? /* @__PURE__ */ jsxRuntime.jsx(chunkV272XR3F_cjs.Icon, { name: "x", size: 16 })
142
143
  }
143
144
  )
144
145
  ] }),
@@ -152,6 +153,156 @@ var Modal = React__namespace.forwardRef(({
152
153
  document.body
153
154
  );
154
155
  });
155
- Modal.displayName = "Modal";
156
+ ModalBase.displayName = "Modal";
157
+ var staticHandles = /* @__PURE__ */ new Set();
158
+ var staticIconName = {
159
+ confirm: "info",
160
+ info: "info",
161
+ success: "check2",
162
+ warning: "alert",
163
+ error: "alert"
164
+ };
165
+ var isThenable = (value) => !!value && typeof value.then === "function";
166
+ var StaticModalHost = ({
167
+ kind,
168
+ config,
169
+ open,
170
+ destroy
171
+ }) => {
172
+ const [loading, setLoading] = React__namespace.useState(false);
173
+ const {
174
+ content,
175
+ children,
176
+ icon,
177
+ okCancel = kind === "confirm",
178
+ onOk,
179
+ onCancel,
180
+ okText = "\u786E\u5B9A",
181
+ cancelText = "\u53D6\u6D88",
182
+ okButtonProps,
183
+ cancelButtonProps,
184
+ confirmLoading,
185
+ footer,
186
+ maskClosable,
187
+ escClosable,
188
+ className = "",
189
+ ...modalProps
190
+ } = config;
191
+ const close = React__namespace.useCallback(() => {
192
+ onCancel?.();
193
+ destroy();
194
+ }, [destroy, onCancel]);
195
+ const handleOk = React__namespace.useCallback(() => {
196
+ const result = onOk?.();
197
+ if (result === false) return;
198
+ if (isThenable(result)) {
199
+ setLoading(true);
200
+ result.then((next) => {
201
+ if (next !== false) destroy();
202
+ }).finally(() => setLoading(false));
203
+ return;
204
+ }
205
+ destroy();
206
+ }, [destroy, onOk]);
207
+ const okVariant = kind === "error" ? "danger" : "primary";
208
+ const mergedFooter = footer !== void 0 ? footer : okCancel ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
209
+ /* @__PURE__ */ jsxRuntime.jsx(chunkTP567B3L_cjs.Button, { variant: "ghost", onClick: close, ...cancelButtonProps, children: cancelText }),
210
+ /* @__PURE__ */ jsxRuntime.jsx(
211
+ chunkTP567B3L_cjs.Button,
212
+ {
213
+ variant: okVariant,
214
+ loading: loading || confirmLoading,
215
+ onClick: handleOk,
216
+ ...okButtonProps,
217
+ children: okText
218
+ }
219
+ )
220
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(
221
+ chunkTP567B3L_cjs.Button,
222
+ {
223
+ variant: okVariant,
224
+ loading: loading || confirmLoading,
225
+ onClick: handleOk,
226
+ ...okButtonProps,
227
+ children: okText
228
+ }
229
+ );
230
+ return /* @__PURE__ */ jsxRuntime.jsx(
231
+ ModalBase,
232
+ {
233
+ ...modalProps,
234
+ open,
235
+ onClose: close,
236
+ onCancel: close,
237
+ footer: mergedFooter,
238
+ maskClosable: maskClosable ?? false,
239
+ escClosable: escClosable ?? true,
240
+ className: `modal-static-overlay ${className}`,
241
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "modal-static-body", children: [
242
+ icon !== false && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `modal-static-icon ${kind}`, children: icon ?? /* @__PURE__ */ jsxRuntime.jsx(chunkV272XR3F_cjs.Icon, { name: staticIconName[kind], size: 20 }) }),
243
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "modal-static-content", children: content ?? children })
244
+ ] })
245
+ }
246
+ );
247
+ };
248
+ var createStaticModal = (kind, config) => {
249
+ if (typeof document === "undefined") {
250
+ return { destroy: () => {
251
+ }, update: () => {
252
+ } };
253
+ }
254
+ const div = document.createElement("div");
255
+ document.body.appendChild(div);
256
+ let root = client.createRoot(div);
257
+ let current = { ...config };
258
+ let open = true;
259
+ const render = () => {
260
+ root?.render(
261
+ /* @__PURE__ */ jsxRuntime.jsx(
262
+ StaticModalHost,
263
+ {
264
+ kind,
265
+ config: current,
266
+ open,
267
+ destroy: handle.destroy
268
+ }
269
+ )
270
+ );
271
+ };
272
+ const handle = {
273
+ destroy: () => {
274
+ if (!root) return;
275
+ open = false;
276
+ render();
277
+ staticHandles.delete(handle);
278
+ window.setTimeout(() => {
279
+ root?.unmount();
280
+ root = null;
281
+ div.remove();
282
+ }, ANIM_MS);
283
+ },
284
+ update: (next) => {
285
+ if (!root) return;
286
+ current = {
287
+ ...current,
288
+ ...typeof next === "function" ? next(current) : next
289
+ };
290
+ render();
291
+ }
292
+ };
293
+ staticHandles.add(handle);
294
+ render();
295
+ return handle;
296
+ };
297
+ var Modal = ModalBase;
298
+ Modal.confirm = (config) => createStaticModal("confirm", config);
299
+ Modal.info = (config) => createStaticModal("info", config);
300
+ Modal.success = (config) => createStaticModal("success", config);
301
+ Modal.warning = (config) => createStaticModal("warning", config);
302
+ Modal.warn = Modal.warning;
303
+ Modal.error = (config) => createStaticModal("error", config);
304
+ Modal.destroyAll = () => {
305
+ Array.from(staticHandles).forEach((handle) => handle.destroy());
306
+ };
156
307
 
157
308
  exports.Modal = Modal;
@@ -0,0 +1,214 @@
1
+ 'use strict';
2
+
3
+ var chunkMPVCYU2K_cjs = require('./chunk-MPVCYU2K.cjs');
4
+ var chunkV272XR3F_cjs = require('./chunk-V272XR3F.cjs');
5
+ require('./tokens-BIIUTPKN.css');
6
+ require('./shared-NJHRNLRH.css');
7
+ require('./Input-HUBJ55OH.css');
8
+ var React = require('react');
9
+ var jsxRuntime = require('react/jsx-runtime');
10
+
11
+ function _interopNamespace(e) {
12
+ if (e && e.__esModule) return e;
13
+ var n = Object.create(null);
14
+ if (e) {
15
+ Object.keys(e).forEach(function (k) {
16
+ if (k !== 'default') {
17
+ var d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: function () { return e[k]; }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ n.default = e;
26
+ return Object.freeze(n);
27
+ }
28
+
29
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
30
+
31
+ var InputBase = React__namespace.forwardRef(
32
+ ({
33
+ value,
34
+ defaultValue,
35
+ onChange,
36
+ onValueChange,
37
+ placeholder,
38
+ leadingIcon,
39
+ trailingIcon,
40
+ onLeadingIconClick,
41
+ onTrailingIconClick,
42
+ size = "md",
43
+ invalid,
44
+ disabled,
45
+ allowClear,
46
+ maxLength,
47
+ showCount,
48
+ prefix,
49
+ suffix,
50
+ className = "",
51
+ ...rest
52
+ }, ref) => {
53
+ const [inner, setInner] = React__namespace.useState(defaultValue ?? "");
54
+ const inputRef = React__namespace.useRef(null);
55
+ const isControlled = value !== void 0;
56
+ const currentValue = isControlled ? value : inner;
57
+ const setInputRef = React__namespace.useCallback(
58
+ (node) => {
59
+ inputRef.current = node;
60
+ if (typeof ref === "function") ref(node);
61
+ else if (ref) ref.current = node;
62
+ },
63
+ [ref]
64
+ );
65
+ const wrapCls = [
66
+ "input-wrap",
67
+ size !== "md" && size,
68
+ invalid && "invalid",
69
+ disabled && "disabled",
70
+ className
71
+ ].filter(Boolean).join(" ");
72
+ const handleIconClick = (handler) => handler ? (e) => {
73
+ e.stopPropagation();
74
+ if (!disabled) handler(e);
75
+ } : void 0;
76
+ const renderAffixIcon = (icon, side, handler) => {
77
+ if (icon == null || icon === false) return null;
78
+ const className2 = `${side}${handler ? " interactive" : ""}`;
79
+ if (chunkV272XR3F_cjs.isIconName(icon)) {
80
+ return /* @__PURE__ */ jsxRuntime.jsx(
81
+ chunkV272XR3F_cjs.Icon,
82
+ {
83
+ name: icon,
84
+ size: 14,
85
+ className: className2,
86
+ onClick: handleIconClick(handler)
87
+ }
88
+ );
89
+ }
90
+ return /* @__PURE__ */ jsxRuntime.jsx(
91
+ "span",
92
+ {
93
+ className: className2,
94
+ onClick: handler ? (e) => {
95
+ e.stopPropagation();
96
+ if (!disabled) handler(e);
97
+ } : void 0,
98
+ children: chunkV272XR3F_cjs.renderIconSlot(icon)
99
+ }
100
+ );
101
+ };
102
+ const handleChange = (e) => {
103
+ if (!isControlled) setInner(e.target.value);
104
+ onChange?.(e);
105
+ onValueChange?.(e.target.value, e);
106
+ };
107
+ const handleClear = (e) => {
108
+ e.stopPropagation();
109
+ if (disabled) return;
110
+ if (!isControlled) setInner("");
111
+ if (inputRef.current) inputRef.current.value = "";
112
+ const synthetic = {
113
+ ...e,
114
+ target: inputRef.current ?? { value: "" },
115
+ currentTarget: inputRef.current ?? { value: "" }
116
+ };
117
+ onChange?.(synthetic);
118
+ onValueChange?.("", synthetic);
119
+ };
120
+ const showClear = !!allowClear && !!currentValue && !disabled;
121
+ const count = currentValue ? currentValue.length : 0;
122
+ const inputElement = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: wrapCls, children: [
123
+ renderAffixIcon(leadingIcon, "lead", onLeadingIconClick),
124
+ prefix && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "input-affix prefix", children: prefix }),
125
+ /* @__PURE__ */ jsxRuntime.jsx(
126
+ "input",
127
+ {
128
+ ref: setInputRef,
129
+ className: "input",
130
+ value: isControlled ? value : void 0,
131
+ defaultValue: isControlled ? void 0 : defaultValue,
132
+ onChange: handleChange,
133
+ placeholder,
134
+ disabled,
135
+ maxLength,
136
+ ...rest
137
+ }
138
+ ),
139
+ suffix && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "input-affix suffix", children: suffix }),
140
+ showClear && /* @__PURE__ */ jsxRuntime.jsx(
141
+ "span",
142
+ {
143
+ className: "input-clear",
144
+ role: "button",
145
+ "aria-label": "Clear",
146
+ tabIndex: -1,
147
+ onMouseDown: (e) => e.preventDefault(),
148
+ onClick: handleClear,
149
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkV272XR3F_cjs.Icon, { name: "x", size: 12 })
150
+ }
151
+ ),
152
+ renderAffixIcon(trailingIcon, "trail", onTrailingIconClick)
153
+ ] });
154
+ if (!showCount) return inputElement;
155
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "input-shell", children: [
156
+ inputElement,
157
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "input-count", children: maxLength != null ? `${count} / ${maxLength}` : `${count}` })
158
+ ] });
159
+ }
160
+ );
161
+ InputBase.displayName = "Input";
162
+ var InputPassword = React__namespace.forwardRef(
163
+ ({
164
+ visibilityToggle = true,
165
+ iconRender,
166
+ suffix,
167
+ onValueChange,
168
+ ...rest
169
+ }, ref) => {
170
+ const [visible, setVisible] = React__namespace.useState(false);
171
+ const renderedIcon = iconRender?.(visible);
172
+ const useCustomToggle = visibilityToggle !== false && !!renderedIcon;
173
+ const useDefaultToggle = visibilityToggle !== false && !renderedIcon;
174
+ const toggle = (e) => {
175
+ e.preventDefault();
176
+ e.stopPropagation();
177
+ setVisible((v) => !v);
178
+ };
179
+ const toggleNode = useCustomToggle ? /* @__PURE__ */ jsxRuntime.jsx(
180
+ "button",
181
+ {
182
+ type: "button",
183
+ className: "input-password-toggle",
184
+ tabIndex: -1,
185
+ onMouseDown: (e) => e.preventDefault(),
186
+ onClick: toggle,
187
+ "aria-label": visible ? "Hide password" : "Show password",
188
+ children: renderedIcon
189
+ }
190
+ ) : null;
191
+ return /* @__PURE__ */ jsxRuntime.jsx(
192
+ InputBase,
193
+ {
194
+ ref,
195
+ ...rest,
196
+ type: visible ? "text" : "password",
197
+ suffix: toggleNode ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
198
+ suffix,
199
+ toggleNode
200
+ ] }) : suffix,
201
+ trailingIcon: useDefaultToggle ? visible ? "eyeOff" : "eye" : void 0,
202
+ onTrailingIconClick: useDefaultToggle ? () => setVisible((v) => !v) : void 0,
203
+ onValueChange
204
+ }
205
+ );
206
+ }
207
+ );
208
+ InputPassword.displayName = "Input.Password";
209
+ var Input = InputBase;
210
+ Input.Password = InputPassword;
211
+ Input.TextArea = chunkMPVCYU2K_cjs.Textarea;
212
+
213
+ exports.Input = Input;
214
+ exports.InputPassword = InputPassword;
@@ -0,0 +1,81 @@
1
+ import { Icon } from './chunk-47VG2P34.js';
2
+ import './tokens-BIIUTPKN.css';
3
+ import './shared-NJHRNLRH.css';
4
+ import './Textarea-YNET7IBH.css';
5
+ import * as React from 'react';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+
8
+ var Textarea = React.forwardRef(
9
+ ({
10
+ value,
11
+ defaultValue,
12
+ onChange,
13
+ onValueChange,
14
+ invalid,
15
+ allowClear,
16
+ maxLength,
17
+ showCount,
18
+ className = "",
19
+ ...rest
20
+ }, ref) => {
21
+ const [inner, setInner] = React.useState(defaultValue ?? "");
22
+ const isControlled = value !== void 0;
23
+ const currentValue = isControlled ? value : inner;
24
+ const disabled = rest.disabled;
25
+ const handleChange = (e) => {
26
+ if (!isControlled) setInner(e.target.value);
27
+ onChange?.(e);
28
+ onValueChange?.(e.target.value, e);
29
+ };
30
+ const handleClear = (e) => {
31
+ e.stopPropagation();
32
+ if (disabled) return;
33
+ if (!isControlled) setInner("");
34
+ const synthetic = {
35
+ ...e,
36
+ target: { ...e.target, value: "" },
37
+ currentTarget: { ...e.currentTarget, value: "" }
38
+ };
39
+ onChange?.(synthetic);
40
+ onValueChange?.("", synthetic);
41
+ };
42
+ const cls = ["textarea", invalid && "invalid", className].filter(Boolean).join(" ");
43
+ const showClear = !!allowClear && !!currentValue && !disabled;
44
+ const count = currentValue ? currentValue.length : 0;
45
+ const field = /* @__PURE__ */ jsxs("div", { className: "textarea-wrap", children: [
46
+ /* @__PURE__ */ jsx(
47
+ "textarea",
48
+ {
49
+ ref,
50
+ className: cls,
51
+ value: isControlled ? value : void 0,
52
+ defaultValue: isControlled ? void 0 : defaultValue,
53
+ onChange: handleChange,
54
+ maxLength,
55
+ ...rest
56
+ }
57
+ ),
58
+ showClear && /* @__PURE__ */ jsx(
59
+ "span",
60
+ {
61
+ className: "textarea-clear",
62
+ role: "button",
63
+ "aria-label": "Clear",
64
+ tabIndex: -1,
65
+ onMouseDown: (e) => e.preventDefault(),
66
+ onClick: handleClear,
67
+ children: /* @__PURE__ */ jsx(Icon, { name: "x", size: 12 })
68
+ }
69
+ )
70
+ ] });
71
+ if (!showCount) return field;
72
+ return /* @__PURE__ */ jsxs("div", { className: "textarea-shell", children: [
73
+ field,
74
+ /* @__PURE__ */ jsx("div", { className: "textarea-count", children: maxLength != null ? `${count} / ${maxLength}` : `${count}` })
75
+ ] });
76
+ }
77
+ );
78
+ Textarea.displayName = "Textarea";
79
+ var TextArea = Textarea;
80
+
81
+ export { TextArea, Textarea };