@fangxinyan/lumina 0.6.13 → 0.6.15

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 (239) hide show
  1. package/dist/Alert.cjs +3 -3
  2. package/dist/Alert.js +2 -2
  3. package/dist/AppShell.cjs +5 -5
  4. package/dist/AppShell.js +1 -1
  5. package/dist/AutoComplete.cjs +5 -5
  6. package/dist/AutoComplete.js +4 -4
  7. package/dist/Avatar.cjs +2 -2
  8. package/dist/Avatar.js +1 -1
  9. package/dist/Badge.cjs +2 -2
  10. package/dist/Badge.js +1 -1
  11. package/dist/Button.cjs +4 -4
  12. package/dist/Button.js +2 -2
  13. package/dist/{Calendar-RUTPKREW.css → Calendar-I6NHCXIB.css} +65 -0
  14. package/dist/Calendar.cjs +3 -3
  15. package/dist/Calendar.d.cts +2 -0
  16. package/dist/Calendar.d.ts +2 -0
  17. package/dist/Calendar.js +2 -2
  18. package/dist/Card.cjs +3 -3
  19. package/dist/Card.js +2 -2
  20. package/dist/Cascader.cjs +5 -5
  21. package/dist/Cascader.js +4 -4
  22. package/dist/Checkbox.cjs +3 -3
  23. package/dist/Checkbox.js +2 -2
  24. package/dist/Collapse.cjs +3 -3
  25. package/dist/Collapse.js +2 -2
  26. package/dist/ColorPicker.cjs +2 -2
  27. package/dist/ColorPicker.js +1 -1
  28. package/dist/CommandPalette.cjs +5 -5
  29. package/dist/CommandPalette.js +4 -4
  30. package/dist/ContextMenu.cjs +2 -2
  31. package/dist/ContextMenu.js +1 -1
  32. package/dist/DatePicker-VDVSIARF.css +60 -0
  33. package/dist/DatePicker.cjs +16 -0
  34. package/dist/DatePicker.d.cts +49 -0
  35. package/dist/DatePicker.d.ts +49 -0
  36. package/dist/DatePicker.js +7 -0
  37. package/dist/DateTimePicker-77ZLZIWO.css +224 -0
  38. package/dist/DateTimePicker.cjs +16 -0
  39. package/dist/DateTimePicker.d.cts +61 -0
  40. package/dist/DateTimePicker.d.ts +61 -0
  41. package/dist/DateTimePicker.js +7 -0
  42. package/dist/Divider.cjs +2 -2
  43. package/dist/Divider.js +1 -1
  44. package/dist/{Drawer-7N3URAJ6.css → Drawer-7KICRM4L.css} +1 -1
  45. package/dist/Drawer.cjs +3 -3
  46. package/dist/Drawer.d.cts +4 -0
  47. package/dist/Drawer.d.ts +4 -0
  48. package/dist/Drawer.js +2 -2
  49. package/dist/Empty.cjs +2 -2
  50. package/dist/Empty.js +1 -1
  51. package/dist/Form.cjs +4 -4
  52. package/dist/Form.js +1 -1
  53. package/dist/Icon.cjs +49 -49
  54. package/dist/Icon.js +1 -1
  55. package/dist/{Image-SGSRTHQX.css → Image-TDCXJISG.css} +1 -1
  56. package/dist/Image.cjs +6 -6
  57. package/dist/Image.d.cts +4 -0
  58. package/dist/Image.d.ts +4 -0
  59. package/dist/Image.js +2 -2
  60. package/dist/Input.cjs +5 -5
  61. package/dist/Input.js +3 -3
  62. package/dist/InputNumber.cjs +5 -5
  63. package/dist/InputNumber.js +4 -4
  64. package/dist/List.cjs +2 -2
  65. package/dist/List.js +1 -1
  66. package/dist/Message.cjs +6 -6
  67. package/dist/Message.js +2 -2
  68. package/dist/{Modal-MCFDYVUQ.css → Modal-ZFWNFEA5.css} +1 -1
  69. package/dist/Modal.cjs +4 -4
  70. package/dist/Modal.d.cts +4 -0
  71. package/dist/Modal.d.ts +4 -0
  72. package/dist/Modal.js +3 -3
  73. package/dist/Pagination.cjs +7 -7
  74. package/dist/Pagination.js +6 -6
  75. package/dist/Popover.cjs +2 -2
  76. package/dist/Popover.js +1 -1
  77. package/dist/Progress.cjs +2 -2
  78. package/dist/Progress.js +1 -1
  79. package/dist/Radio.cjs +3 -3
  80. package/dist/Radio.js +1 -1
  81. package/dist/Select.cjs +6 -6
  82. package/dist/Select.js +5 -5
  83. package/dist/Skeleton.cjs +2 -2
  84. package/dist/Skeleton.js +1 -1
  85. package/dist/Slider.cjs +2 -2
  86. package/dist/Slider.js +1 -1
  87. package/dist/Spin.cjs +2 -2
  88. package/dist/Spin.js +1 -1
  89. package/dist/Splitter.cjs +2 -2
  90. package/dist/Splitter.js +1 -1
  91. package/dist/StatusBar.cjs +3 -3
  92. package/dist/StatusBar.js +1 -1
  93. package/dist/Surface.cjs +4 -4
  94. package/dist/Surface.js +2 -2
  95. package/dist/Switch.cjs +2 -2
  96. package/dist/Switch.js +1 -1
  97. package/dist/Table.cjs +9 -9
  98. package/dist/Table.js +8 -8
  99. package/dist/TablePro.cjs +10 -10
  100. package/dist/TablePro.js +9 -9
  101. package/dist/Tabs.cjs +2 -2
  102. package/dist/Tabs.js +1 -1
  103. package/dist/Tag.cjs +3 -3
  104. package/dist/Tag.js +2 -2
  105. package/dist/Textarea.cjs +4 -4
  106. package/dist/Textarea.js +2 -2
  107. package/dist/Theme.cjs +11 -11
  108. package/dist/Theme.js +1 -1
  109. package/dist/ThemePanel.cjs +13 -13
  110. package/dist/ThemePanel.js +10 -10
  111. package/dist/TimePicker-6URACYEH.css +151 -0
  112. package/dist/TimePicker.cjs +15 -0
  113. package/dist/TimePicker.d.cts +63 -0
  114. package/dist/TimePicker.d.ts +63 -0
  115. package/dist/TimePicker.js +6 -0
  116. package/dist/Timeline.cjs +3 -3
  117. package/dist/Timeline.js +2 -2
  118. package/dist/Tooltip.cjs +2 -2
  119. package/dist/Tooltip.js +1 -1
  120. package/dist/Typography.cjs +7 -7
  121. package/dist/Typography.js +2 -2
  122. package/dist/{chunk-J7VYTDFN.cjs → chunk-262ED6WQ.cjs} +3 -3
  123. package/dist/chunk-26AJ7OY3.cjs +505 -0
  124. package/dist/{chunk-BX45WJRT.js → chunk-3VSHGM54.js} +9 -9
  125. package/dist/{chunk-KRVWQKTZ.js → chunk-3VXGZ3SJ.js} +3 -3
  126. package/dist/{chunk-VJVXXCNL.js → chunk-4HJBF4GY.js} +3 -3
  127. package/dist/chunk-4KDABJSY.cjs +241 -0
  128. package/dist/{chunk-ONHYDQFP.cjs → chunk-4TTRHEGM.cjs} +3 -3
  129. package/dist/{chunk-GVULVTWO.js → chunk-4YSGGZDB.js} +4 -4
  130. package/dist/{chunk-HNP7KEQP.cjs → chunk-5A6KSYWA.cjs} +1 -1
  131. package/dist/{chunk-RFFP6J6O.cjs → chunk-5ERD3W24.cjs} +4 -4
  132. package/dist/{chunk-TTXYZDQ3.js → chunk-5MOYKVB7.js} +2 -2
  133. package/dist/{chunk-X2NY3YQS.cjs → chunk-5QEI7GGA.cjs} +6 -6
  134. package/dist/{chunk-O7OPFKAM.js → chunk-6HF6UF73.js} +2 -2
  135. package/dist/{chunk-DCATZUT3.js → chunk-6K5YI4ZE.js} +2 -2
  136. package/dist/{chunk-EVKLGNVR.js → chunk-6LC4QROE.js} +3 -3
  137. package/dist/{chunk-6Z4PZWND.js → chunk-6LN4VVX7.js} +2 -2
  138. package/dist/{chunk-7RNT6KN4.js → chunk-6MEOLYNQ.js} +1 -1
  139. package/dist/{chunk-UMLRSKBE.js → chunk-6PHPRZTT.js} +4 -4
  140. package/dist/{chunk-4VPRY4EM.cjs → chunk-6Q76VLCE.cjs} +3 -3
  141. package/dist/{chunk-SWMQ2GKT.cjs → chunk-7IO3EOHN.cjs} +3 -3
  142. package/dist/{chunk-B55XILNY.cjs → chunk-7QXP6DXC.cjs} +4 -4
  143. package/dist/{chunk-56GNNOOT.cjs → chunk-7YJV45U6.cjs} +11 -11
  144. package/dist/{chunk-AJ44ZLJY.cjs → chunk-A4Z7PLHV.cjs} +59 -59
  145. package/dist/{chunk-RUE3QE6T.js → chunk-A6O25EP2.js} +2 -2
  146. package/dist/{chunk-ZNR6LWTQ.js → chunk-AAPZLBHQ.js} +1 -1
  147. package/dist/{chunk-Q4IAUKAW.js → chunk-ARUPS7JH.js} +2 -2
  148. package/dist/{chunk-VAOAAWGI.cjs → chunk-ATUPFAPZ.cjs} +3 -3
  149. package/dist/{chunk-GKBCXYDF.cjs → chunk-BNY2NVTL.cjs} +3 -3
  150. package/dist/{chunk-7J26GI3T.cjs → chunk-BT2RXFT4.cjs} +15 -13
  151. package/dist/{chunk-WY6AEPFW.js → chunk-BVQOJKRX.js} +8 -6
  152. package/dist/{chunk-QPZCDZWI.cjs → chunk-BW76ENTW.cjs} +1 -1
  153. package/dist/{chunk-EKNDL2XB.js → chunk-CFZVWY5N.js} +2 -2
  154. package/dist/chunk-CUBKHQ63.js +483 -0
  155. package/dist/chunk-CYBBUXUK.cjs +415 -0
  156. package/dist/{chunk-JST4HJ3I.js → chunk-D7GK6H6V.js} +1 -1
  157. package/dist/{chunk-T7RV2UMU.js → chunk-DSLYWX4O.js} +1 -1
  158. package/dist/{chunk-JKFGLYMM.js → chunk-EQ4FPOQQ.js} +14 -4
  159. package/dist/{chunk-ZZH4UIPN.cjs → chunk-ES7AWMNH.cjs} +1 -1
  160. package/dist/{chunk-ZLMJVSBO.cjs → chunk-FDUQPAQE.cjs} +1 -1
  161. package/dist/{chunk-HHBXCBZP.js → chunk-FDZG27IG.js} +1 -1
  162. package/dist/chunk-FKP5D5IS.js +271 -0
  163. package/dist/{chunk-EEHZRPPF.cjs → chunk-FQJY4D3T.cjs} +1 -1
  164. package/dist/{chunk-LA62SD2F.js → chunk-FYSXJXNW.js} +1 -1
  165. package/dist/{chunk-DEXYWDHF.js → chunk-GNV6W4BN.js} +1 -1
  166. package/dist/{chunk-NZBOHEQA.js → chunk-HBO7ZDEQ.js} +1 -1
  167. package/dist/{chunk-BAWP2QVY.js → chunk-I777JTTG.js} +1 -1
  168. package/dist/chunk-I7TOBKJO.js +219 -0
  169. package/dist/{chunk-IZGHMMX7.js → chunk-IOAOG5L7.js} +3 -3
  170. package/dist/{chunk-QQROR2RU.cjs → chunk-IOUAZYK2.cjs} +1 -1
  171. package/dist/{chunk-CQKQ7KS2.js → chunk-IPSNC5VZ.js} +2 -2
  172. package/dist/{chunk-7X7FXV5E.cjs → chunk-IVFVLRWJ.cjs} +14 -14
  173. package/dist/{chunk-LM5XXSGE.js → chunk-IZHH6CVY.js} +1 -1
  174. package/dist/{chunk-GGNBMIZ2.js → chunk-JFL2WMJZ.js} +2 -2
  175. package/dist/{chunk-XRIXQM3Z.cjs → chunk-JMFHL7GN.cjs} +1 -1
  176. package/dist/chunk-KHRYPNUV.cjs +293 -0
  177. package/dist/{chunk-LFPFFSN2.js → chunk-KMPFESEV.js} +1 -1
  178. package/dist/{chunk-TAHZH6DJ.js → chunk-KYV75JPQ.js} +1 -1
  179. package/dist/{chunk-2A2XM7D5.cjs → chunk-LEMMFFEY.cjs} +4 -4
  180. package/dist/{chunk-MZIZGYA4.cjs → chunk-M4NJTJKV.cjs} +1 -1
  181. package/dist/{chunk-HYXA7S43.js → chunk-MOZ52KN6.js} +1 -1
  182. package/dist/{chunk-E5MSFY5H.cjs → chunk-MPOO5VPW.cjs} +1 -1
  183. package/dist/{chunk-MPJLGYFV.cjs → chunk-MYW7LNB2.cjs} +1 -1
  184. package/dist/chunk-N7CHFKRS.js +393 -0
  185. package/dist/{chunk-VBTASJ3Y.cjs → chunk-N7OQNSII.cjs} +1 -1
  186. package/dist/{chunk-VGERRI4S.js → chunk-OTSDPQPV.js} +2 -2
  187. package/dist/{chunk-7NAN7OVX.cjs → chunk-P2OQTJZP.cjs} +1 -1
  188. package/dist/{chunk-HAA5C5YW.js → chunk-P64NPZBG.js} +2 -2
  189. package/dist/{chunk-QP6RNHGR.cjs → chunk-PBT4UKPL.cjs} +3 -3
  190. package/dist/{chunk-FUR5SDP7.cjs → chunk-PKNRTFNE.cjs} +1 -1
  191. package/dist/{chunk-FPXBY2MY.cjs → chunk-POU3W5J3.cjs} +1 -1
  192. package/dist/{chunk-SOY3LB7W.cjs → chunk-PSQ3HNZP.cjs} +1 -1
  193. package/dist/{chunk-BK4XKZUO.js → chunk-PU7VXDAS.js} +1 -1
  194. package/dist/{chunk-OCQC2ZSV.cjs → chunk-QMX67CVT.cjs} +1 -1
  195. package/dist/{chunk-R3JCW3ES.js → chunk-QNN3YV2P.js} +2 -2
  196. package/dist/{chunk-V5HMQGFD.js → chunk-R3DTXVP2.js} +1 -1
  197. package/dist/{chunk-EQGNKCBY.cjs → chunk-RFI5R42I.cjs} +4 -4
  198. package/dist/{chunk-FROWMHDP.cjs → chunk-RMFSX7DO.cjs} +18 -8
  199. package/dist/{chunk-TCWGIRAW.js → chunk-RR2BKV65.js} +1 -1
  200. package/dist/{chunk-YHFGMI7T.cjs → chunk-RSSOX4RQ.cjs} +8 -8
  201. package/dist/{chunk-3XV4LGQ7.cjs → chunk-RZEFKXL3.cjs} +3 -3
  202. package/dist/{chunk-GDWAQGOH.cjs → chunk-S2ZGXBUH.cjs} +1 -1
  203. package/dist/{chunk-M63HWVOS.js → chunk-S7IHWY24.js} +2 -2
  204. package/dist/{chunk-NLX2RB4L.cjs → chunk-SOQ56ZI2.cjs} +1 -1
  205. package/dist/{chunk-RV37BGW3.cjs → chunk-SW2HMNCA.cjs} +4 -4
  206. package/dist/{chunk-UVL5SIAQ.cjs → chunk-TBNPJPYG.cjs} +1 -1
  207. package/dist/{chunk-QVWCUKEY.js → chunk-TJECLLN4.js} +1 -1
  208. package/dist/{chunk-E2OC4CUE.js → chunk-TYLDISRK.js} +1 -1
  209. package/dist/{chunk-23HN42SP.cjs → chunk-ULUD3FED.cjs} +9 -6
  210. package/dist/{chunk-LINUXKS7.cjs → chunk-V5KUC5VH.cjs} +1 -1
  211. package/dist/{chunk-U2543OZS.cjs → chunk-VA2I7ZAL.cjs} +1 -1
  212. package/dist/{chunk-7TWL3SJ5.cjs → chunk-VS3I5OKA.cjs} +8 -8
  213. package/dist/{chunk-A7BI7YWZ.js → chunk-WMGMIE2D.js} +8 -5
  214. package/dist/{chunk-CCBEHIRU.cjs → chunk-X5MYHDEQ.cjs} +6 -6
  215. package/dist/{chunk-QSGH4FCS.cjs → chunk-X7XP6GEI.cjs} +1 -1
  216. package/dist/{chunk-UROQO2HR.js → chunk-XCXUGHDF.js} +1 -1
  217. package/dist/{chunk-2M5WJENK.js → chunk-YAFDVNXT.js} +1 -1
  218. package/dist/{chunk-PDYM26IC.cjs → chunk-ZBWUIR2J.cjs} +6 -6
  219. package/dist/{chunk-5GKALAMP.js → chunk-ZD3L4V3H.js} +2 -2
  220. package/dist/{chunk-XJTDCWKP.js → chunk-ZR4IMROK.js} +1 -1
  221. package/dist/{chunk-5MCFW2HC.js → chunk-ZTCRD2FL.js} +1 -1
  222. package/dist/index.cjs +214 -199
  223. package/dist/index.d.cts +4 -1
  224. package/dist/index.d.ts +4 -1
  225. package/dist/index.js +51 -48
  226. package/dist/styles.css +445 -3
  227. package/dist/{tokens-OJLK3XMZ.css → tokens-RYJ3DFTU.css} +3 -0
  228. package/dist/tokens.css +3 -0
  229. package/docs/llms/calendar.md +2 -1
  230. package/docs/llms/datepicker.md +69 -0
  231. package/docs/llms/datetimepicker.md +83 -0
  232. package/docs/llms/drawer.md +13 -0
  233. package/docs/llms/image.md +14 -0
  234. package/docs/llms/modal.md +13 -0
  235. package/docs/llms/timepicker.md +81 -0
  236. package/docs/llms.md +5 -2
  237. package/package.json +7 -3
  238. package/dist/chunk-56U4P7QA.cjs +0 -112
  239. package/dist/chunk-J3LUTXVO.js +0 -90
@@ -0,0 +1,241 @@
1
+ 'use strict';
2
+
3
+ var chunkQMX67CVT_cjs = require('./chunk-QMX67CVT.cjs');
4
+ require('./tokens-RYJ3DFTU.css');
5
+ require('./shared-NJHRNLRH.css');
6
+ require('./Calendar-I6NHCXIB.css');
7
+ var React = require('react');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+
10
+ function _interopNamespace(e) {
11
+ if (e && e.__esModule) return e;
12
+ var n = Object.create(null);
13
+ if (e) {
14
+ Object.keys(e).forEach(function (k) {
15
+ if (k !== 'default') {
16
+ var d = Object.getOwnPropertyDescriptor(e, k);
17
+ Object.defineProperty(n, k, d.get ? d : {
18
+ enumerable: true,
19
+ get: function () { return e[k]; }
20
+ });
21
+ }
22
+ });
23
+ }
24
+ n.default = e;
25
+ return Object.freeze(n);
26
+ }
27
+
28
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
29
+
30
+ var WEEKDAYS = ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"];
31
+ var MONTHS = Array.from({ length: 12 }, (_, index) => `${index + 1} \u6708`);
32
+ var YEARS_PER_PAGE = 12;
33
+ var isSameDay = (a, b) => a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
34
+ var isValidDate = (date) => date instanceof Date && !Number.isNaN(date.getTime());
35
+ var Calendar = React__namespace.forwardRef(({
36
+ value,
37
+ defaultValue,
38
+ onChange,
39
+ viewDate,
40
+ min,
41
+ max,
42
+ disabledDate,
43
+ className = "",
44
+ ...rest
45
+ }, ref) => {
46
+ const [inner, setInner] = React__namespace.useState(defaultValue ?? /* @__PURE__ */ new Date());
47
+ const isControlled = value !== void 0;
48
+ const sel = isControlled ? value : inner;
49
+ const [view, setView] = React__namespace.useState(new Date(sel.getFullYear(), sel.getMonth(), 1));
50
+ const [mode, setMode] = React__namespace.useState("date");
51
+ const viewDateTime = isValidDate(viewDate) ? viewDate.getTime() : null;
52
+ const viewDateYear = isValidDate(viewDate) ? viewDate.getFullYear() : null;
53
+ const viewDateMonth = isValidDate(viewDate) ? viewDate.getMonth() : null;
54
+ React__namespace.useEffect(() => {
55
+ if (viewDateTime == null || viewDateYear == null || viewDateMonth == null) return;
56
+ setView(new Date(viewDateYear, viewDateMonth, 1));
57
+ setMode("date");
58
+ }, [viewDateMonth, viewDateTime, viewDateYear]);
59
+ const first = new Date(view.getFullYear(), view.getMonth(), 1);
60
+ const startDay = first.getDay();
61
+ const daysInMonth = new Date(view.getFullYear(), view.getMonth() + 1, 0).getDate();
62
+ const cells = [];
63
+ for (let i = 0; i < startDay; i++) cells.push(null);
64
+ for (let d = 1; d <= daysInMonth; d++) cells.push(d);
65
+ const isDisabledDay = React__namespace.useCallback(
66
+ (date) => min && date < min || max && date > max || (disabledDate?.(date) ?? false),
67
+ [disabledDate, max, min]
68
+ );
69
+ const isMonthDisabled = React__namespace.useCallback(
70
+ (year, month) => {
71
+ const count = new Date(year, month + 1, 0).getDate();
72
+ for (let day = 1; day <= count; day++) {
73
+ if (!isDisabledDay(new Date(year, month, day))) return false;
74
+ }
75
+ return true;
76
+ },
77
+ [isDisabledDay]
78
+ );
79
+ const isYearDisabled = React__namespace.useCallback(
80
+ (year) => Array.from({ length: 12 }, (_, month) => month).every(
81
+ (month) => isMonthDisabled(year, month)
82
+ ),
83
+ [isMonthDisabled]
84
+ );
85
+ const pick = (d) => {
86
+ const next = new Date(view.getFullYear(), view.getMonth(), d);
87
+ if (isDisabledDay(next)) return;
88
+ if (!isControlled) setInner(next);
89
+ onChange?.(next);
90
+ };
91
+ const shiftView = (step) => {
92
+ if (mode === "year") {
93
+ setView(new Date(view.getFullYear() + step * YEARS_PER_PAGE, view.getMonth(), 1));
94
+ return;
95
+ }
96
+ if (mode === "month") {
97
+ setView(new Date(view.getFullYear() + step, view.getMonth(), 1));
98
+ return;
99
+ }
100
+ setView(new Date(view.getFullYear(), view.getMonth() + step, 1));
101
+ };
102
+ const pickMonth = (month) => {
103
+ if (isMonthDisabled(view.getFullYear(), month)) return;
104
+ setView(new Date(view.getFullYear(), month, 1));
105
+ setMode("date");
106
+ };
107
+ const pickYear = (year) => {
108
+ if (isYearDisabled(year)) return;
109
+ setView(new Date(year, view.getMonth(), 1));
110
+ setMode("month");
111
+ };
112
+ const yearPageStart = Math.floor(view.getFullYear() / YEARS_PER_PAGE) * YEARS_PER_PAGE;
113
+ const years = Array.from({ length: YEARS_PER_PAGE }, (_, index) => yearPageStart + index);
114
+ const renderTitle = () => {
115
+ if (mode === "year") {
116
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "calendar-title static", children: [
117
+ yearPageStart,
118
+ " - ",
119
+ yearPageStart + YEARS_PER_PAGE - 1
120
+ ] });
121
+ }
122
+ if (mode === "month") {
123
+ return /* @__PURE__ */ jsxRuntime.jsxs(
124
+ "button",
125
+ {
126
+ type: "button",
127
+ className: "calendar-title",
128
+ onClick: () => setMode("year"),
129
+ "aria-label": "\u9009\u62E9\u5E74\u4EFD",
130
+ children: [
131
+ view.getFullYear(),
132
+ " \u5E74"
133
+ ]
134
+ }
135
+ );
136
+ }
137
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "calendar-title-group", children: [
138
+ /* @__PURE__ */ jsxRuntime.jsxs(
139
+ "button",
140
+ {
141
+ type: "button",
142
+ className: "calendar-title-part",
143
+ onClick: () => setMode("year"),
144
+ "aria-label": "\u9009\u62E9\u5E74\u4EFD",
145
+ children: [
146
+ view.getFullYear(),
147
+ " \u5E74"
148
+ ]
149
+ }
150
+ ),
151
+ /* @__PURE__ */ jsxRuntime.jsxs(
152
+ "button",
153
+ {
154
+ type: "button",
155
+ className: "calendar-title-part",
156
+ onClick: () => setMode("month"),
157
+ "aria-label": "\u9009\u62E9\u6708\u4EFD",
158
+ children: [
159
+ view.getMonth() + 1,
160
+ " \u6708"
161
+ ]
162
+ }
163
+ )
164
+ ] });
165
+ };
166
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: `calendar ${className}`, ...rest, children: [
167
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "calendar-head", children: [
168
+ /* @__PURE__ */ jsxRuntime.jsx(
169
+ "button",
170
+ {
171
+ type: "button",
172
+ className: "btn icon sm ghost",
173
+ onClick: () => shiftView(-1),
174
+ "aria-label": mode === "year" ? "Previous years" : mode === "month" ? "Previous year" : "Previous month",
175
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "chevLeft", size: 14 })
176
+ }
177
+ ),
178
+ renderTitle(),
179
+ /* @__PURE__ */ jsxRuntime.jsx(
180
+ "button",
181
+ {
182
+ type: "button",
183
+ className: "btn icon sm ghost",
184
+ onClick: () => shiftView(1),
185
+ "aria-label": mode === "year" ? "Next years" : mode === "month" ? "Next year" : "Next month",
186
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "chevRight", size: 14 })
187
+ }
188
+ )
189
+ ] }),
190
+ mode === "date" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "calendar-grid", children: [
191
+ WEEKDAYS.map((w) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "calendar-dow", children: w }, w)),
192
+ cells.map((d, i) => {
193
+ if (d === null) return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "calendar-cell out" }, i);
194
+ const date = new Date(view.getFullYear(), view.getMonth(), d);
195
+ const disabled = isDisabledDay(date);
196
+ return /* @__PURE__ */ jsxRuntime.jsx(
197
+ "button",
198
+ {
199
+ type: "button",
200
+ disabled: !!disabled,
201
+ className: `calendar-cell ${isSameDay(date, sel) ? "selected" : ""} ${isSameDay(date, /* @__PURE__ */ new Date()) ? "today" : ""} ${disabled ? "disabled" : ""}`,
202
+ onClick: () => pick(d),
203
+ children: d
204
+ },
205
+ i
206
+ );
207
+ })
208
+ ] }),
209
+ mode === "month" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "calendar-select-grid month", children: MONTHS.map((month, index) => {
210
+ const disabled = isMonthDisabled(view.getFullYear(), index);
211
+ return /* @__PURE__ */ jsxRuntime.jsx(
212
+ "button",
213
+ {
214
+ type: "button",
215
+ disabled,
216
+ className: `calendar-select-option ${index === view.getMonth() ? "selected" : ""} ${disabled ? "disabled" : ""}`,
217
+ onClick: () => pickMonth(index),
218
+ children: month
219
+ },
220
+ month
221
+ );
222
+ }) }),
223
+ mode === "year" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "calendar-select-grid year", children: years.map((year) => {
224
+ const disabled = isYearDisabled(year);
225
+ return /* @__PURE__ */ jsxRuntime.jsx(
226
+ "button",
227
+ {
228
+ type: "button",
229
+ disabled,
230
+ className: `calendar-select-option ${year === view.getFullYear() ? "selected" : ""} ${disabled ? "disabled" : ""}`,
231
+ onClick: () => pickYear(year),
232
+ children: year
233
+ },
234
+ year
235
+ );
236
+ }) })
237
+ ] });
238
+ });
239
+ Calendar.displayName = "Calendar";
240
+
241
+ exports.Calendar = Calendar;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunk7TWL3SJ5_cjs = require('./chunk-7TWL3SJ5.cjs');
4
- require('./tokens-OJLK3XMZ.css');
3
+ var chunkVS3I5OKA_cjs = require('./chunk-VS3I5OKA.cjs');
4
+ require('./tokens-RYJ3DFTU.css');
5
5
  require('./shared-NJHRNLRH.css');
6
6
  require('./CommandPalette-RTKWNH2D.css');
7
7
  var React = require('react');
@@ -149,7 +149,7 @@ var CommandPalette = React__namespace.forwardRef(({
149
149
  ...rest,
150
150
  children: [
151
151
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cmdp-search", children: /* @__PURE__ */ jsxRuntime.jsx(
152
- chunk7TWL3SJ5_cjs.Input,
152
+ chunkVS3I5OKA_cjs.Input,
153
153
  {
154
154
  ref: inputRef,
155
155
  size: "lg",
@@ -1,8 +1,8 @@
1
- import { Pagination } from './chunk-EVKLGNVR.js';
2
- import { Checkbox } from './chunk-5GKALAMP.js';
1
+ import { Pagination } from './chunk-6LC4QROE.js';
2
+ import { Checkbox } from './chunk-ZD3L4V3H.js';
3
3
  import { useFloating } from './chunk-DUFRASGO.js';
4
- import { Icon } from './chunk-HHBXCBZP.js';
5
- import './tokens-OJLK3XMZ.css';
4
+ import { Icon } from './chunk-FDZG27IG.js';
5
+ import './tokens-RYJ3DFTU.css';
6
6
  import './shared-NJHRNLRH.css';
7
7
  import './Table-IWHIIGRJ.css';
8
8
  import * as React from 'react';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- require('./tokens-OJLK3XMZ.css');
3
+ require('./tokens-RYJ3DFTU.css');
4
4
  require('./shared-NJHRNLRH.css');
5
5
  require('./Tabs-X5U5PCPV.css');
6
6
  var React = require('react');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkOCQC2ZSV_cjs = require('./chunk-OCQC2ZSV.cjs');
4
- require('./tokens-OJLK3XMZ.css');
3
+ var chunkQMX67CVT_cjs = require('./chunk-QMX67CVT.cjs');
4
+ require('./tokens-RYJ3DFTU.css');
5
5
  require('./shared-NJHRNLRH.css');
6
6
  require('./Tag-G2XWAL7A.css');
7
7
  var React = require('react');
@@ -48,7 +48,7 @@ var Tag = React__namespace.forwardRef(({
48
48
  ].filter(Boolean).join(" ");
49
49
  return /* @__PURE__ */ jsxRuntime.jsxs("span", { ref, className: cls, ...rest, children: [
50
50
  dot && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "dot" }),
51
- chunkOCQC2ZSV_cjs.renderIconSlot(icon, { size: 11, className: "tag-ico" }),
51
+ chunkQMX67CVT_cjs.renderIconSlot(icon, { size: 11, className: "tag-ico" }),
52
52
  children,
53
53
  removable && /* @__PURE__ */ jsxRuntime.jsx(
54
54
  "span",
@@ -60,7 +60,7 @@ var Tag = React__namespace.forwardRef(({
60
60
  e.stopPropagation();
61
61
  onRemove?.();
62
62
  },
63
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkOCQC2ZSV_cjs.Icon, { name: "x", size: 11 })
63
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "x", size: 11 })
64
64
  }
65
65
  )
66
66
  ] });
@@ -1,5 +1,5 @@
1
- import { Input } from './chunk-IZGHMMX7.js';
2
- import './tokens-OJLK3XMZ.css';
1
+ import { Input } from './chunk-IOAOG5L7.js';
2
+ import './tokens-RYJ3DFTU.css';
3
3
  import './shared-NJHRNLRH.css';
4
4
  import './CommandPalette-RTKWNH2D.css';
5
5
  import * as React from 'react';
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunk7TWL3SJ5_cjs = require('./chunk-7TWL3SJ5.cjs');
4
- var chunkOCQC2ZSV_cjs = require('./chunk-OCQC2ZSV.cjs');
5
- require('./tokens-OJLK3XMZ.css');
3
+ var chunkVS3I5OKA_cjs = require('./chunk-VS3I5OKA.cjs');
4
+ var chunkQMX67CVT_cjs = require('./chunk-QMX67CVT.cjs');
5
+ require('./tokens-RYJ3DFTU.css');
6
6
  require('./shared-NJHRNLRH.css');
7
7
  require('./InputNumber-VXQIWLQC.css');
8
8
  var React = require('react');
@@ -117,7 +117,7 @@ var InputNumber = React__namespace.forwardRef(
117
117
  disabled: upDisabled,
118
118
  onMouseDown: (e) => e.preventDefault(),
119
119
  onClick: () => increment(step),
120
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkOCQC2ZSV_cjs.Icon, { name: "chevUp", size: 10, stroke: 2.5 })
120
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "chevUp", size: 10, stroke: 2.5 })
121
121
  }
122
122
  ),
123
123
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -129,7 +129,7 @@ var InputNumber = React__namespace.forwardRef(
129
129
  disabled: downDisabled,
130
130
  onMouseDown: (e) => e.preventDefault(),
131
131
  onClick: () => increment(-step),
132
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkOCQC2ZSV_cjs.Icon, { name: "chevDown", size: 10, stroke: 2.5 })
132
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "chevDown", size: 10, stroke: 2.5 })
133
133
  }
134
134
  )
135
135
  ] }) : null;
@@ -138,7 +138,7 @@ var InputNumber = React__namespace.forwardRef(
138
138
  stepperSuffix
139
139
  ] }) : stepperSuffix ?? suffix;
140
140
  return /* @__PURE__ */ jsxRuntime.jsx(
141
- chunk7TWL3SJ5_cjs.Input,
141
+ chunkVS3I5OKA_cjs.Input,
142
142
  {
143
143
  ref,
144
144
  id,
@@ -1,6 +1,6 @@
1
1
  import { useFloating } from './chunk-DUFRASGO.js';
2
- import { Icon } from './chunk-HHBXCBZP.js';
3
- import './tokens-OJLK3XMZ.css';
2
+ import { Icon } from './chunk-FDZG27IG.js';
3
+ import './tokens-RYJ3DFTU.css';
4
4
  import './shared-NJHRNLRH.css';
5
5
  import './Typography-32QQLD4F.css';
6
6
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
- import { renderIconSlot, Icon } from './chunk-HHBXCBZP.js';
2
- import './tokens-OJLK3XMZ.css';
1
+ import { renderIconSlot, Icon } from './chunk-FDZG27IG.js';
2
+ import './tokens-RYJ3DFTU.css';
3
3
  import './shared-NJHRNLRH.css';
4
4
  import './Tag-G2XWAL7A.css';
5
5
  import * as React from 'react';
@@ -1,6 +1,6 @@
1
- import { Select } from './chunk-UMLRSKBE.js';
2
- import { Icon } from './chunk-HHBXCBZP.js';
3
- import './tokens-OJLK3XMZ.css';
1
+ import { Select } from './chunk-6PHPRZTT.js';
2
+ import { Icon } from './chunk-FDZG27IG.js';
3
+ import './tokens-RYJ3DFTU.css';
4
4
  import './shared-NJHRNLRH.css';
5
5
  import './Pagination-YSZSNFHG.css';
6
6
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
- import { Icon } from './chunk-HHBXCBZP.js';
2
- import './tokens-OJLK3XMZ.css';
1
+ import { Icon } from './chunk-FDZG27IG.js';
2
+ import './tokens-RYJ3DFTU.css';
3
3
  import './shared-NJHRNLRH.css';
4
4
  import './Collapse-UNBHEPYP.css';
5
5
  import * as React from 'react';
@@ -1,4 +1,4 @@
1
- import './tokens-OJLK3XMZ.css';
1
+ import './tokens-RYJ3DFTU.css';
2
2
  import './shared-NJHRNLRH.css';
3
3
  import './Empty-CZTRZMZQ.css';
4
4
  import * as React from 'react';
@@ -1,8 +1,8 @@
1
- import { Tag } from './chunk-DCATZUT3.js';
1
+ import { Tag } from './chunk-6K5YI4ZE.js';
2
2
  import { useFloating } from './chunk-DUFRASGO.js';
3
- import { Input } from './chunk-IZGHMMX7.js';
4
- import { Icon, renderIconSlot } from './chunk-HHBXCBZP.js';
5
- import './tokens-OJLK3XMZ.css';
3
+ import { Input } from './chunk-IOAOG5L7.js';
4
+ import { Icon, renderIconSlot } from './chunk-FDZG27IG.js';
5
+ import './tokens-RYJ3DFTU.css';
6
6
  import './shared-NJHRNLRH.css';
7
7
  import './Select-YZ2NUJSX.css';
8
8
  import * as React from 'react';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkQPZCDZWI_cjs = require('./chunk-QPZCDZWI.cjs');
4
- require('./tokens-OJLK3XMZ.css');
3
+ var chunkBW76ENTW_cjs = require('./chunk-BW76ENTW.cjs');
4
+ require('./tokens-RYJ3DFTU.css');
5
5
  require('./shared-NJHRNLRH.css');
6
6
  require('./Timeline-CRFZ3I2W.css');
7
7
  var React = require('react');
@@ -153,7 +153,7 @@ var TimelineItem = ({
153
153
  }
154
154
  ),
155
155
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "timeline-item-head", children: [
156
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: dotCls, style: { ...dotAlignStyle, ...dotStyle, ...item.dotStyle }, children: item.dot ?? (isPending && /* @__PURE__ */ jsxRuntime.jsx(chunkQPZCDZWI_cjs.Spin, { size: 14 })) }),
156
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: dotCls, style: { ...dotAlignStyle, ...dotStyle, ...item.dotStyle }, children: item.dot ?? (isPending && /* @__PURE__ */ jsxRuntime.jsx(chunkBW76ENTW_cjs.Spin, { size: 14 })) }),
157
157
  !isLast && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "timeline-item-tail" })
158
158
  ] }),
159
159
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkYB3IWIOJ_cjs = require('./chunk-YB3IWIOJ.cjs');
4
- var chunk7TWL3SJ5_cjs = require('./chunk-7TWL3SJ5.cjs');
5
- require('./tokens-OJLK3XMZ.css');
4
+ var chunkVS3I5OKA_cjs = require('./chunk-VS3I5OKA.cjs');
5
+ require('./tokens-RYJ3DFTU.css');
6
6
  require('./shared-NJHRNLRH.css');
7
7
  require('./AutoComplete-4YZBMW4E.css');
8
8
  var React = require('react');
@@ -168,7 +168,7 @@ var AutoComplete = React__namespace.forwardRef(
168
168
  ) : null;
169
169
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: triggerRef, className: `autocomplete ${className}`, children: [
170
170
  /* @__PURE__ */ jsxRuntime.jsx(
171
- chunk7TWL3SJ5_cjs.Input,
171
+ chunkVS3I5OKA_cjs.Input,
172
172
  {
173
173
  ref,
174
174
  ...rest,
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunk6EOSMK34_cjs = require('./chunk-6EOSMK34.cjs');
4
- var chunkFUR5SDP7_cjs = require('./chunk-FUR5SDP7.cjs');
5
- require('./tokens-OJLK3XMZ.css');
4
+ var chunkPKNRTFNE_cjs = require('./chunk-PKNRTFNE.cjs');
5
+ require('./tokens-RYJ3DFTU.css');
6
6
  require('./shared-NJHRNLRH.css');
7
7
  require('./Surface-UDDN3DGL.css');
8
8
  var React = require('react');
@@ -71,7 +71,7 @@ var Surface = React__namespace.forwardRef(
71
71
  children,
72
72
  ...rest
73
73
  }, ref) => {
74
- const inherited = chunkFUR5SDP7_cjs.useThemeOptional();
74
+ const inherited = chunkPKNRTFNE_cjs.useThemeOptional();
75
75
  const presetConfig = preset === "inherit" ? void 0 : surfacePresetMap[preset];
76
76
  const usesLocalTheme = preset !== "inherit" || isDefined(mode) || isDefined(colorScheme) || isDefined(accent) || isDefined(density) || isDefined(intensity) || isDefined(themeRadius) || isDefined(font) || isDefined(tokens) || isDefined(themes);
77
77
  const cls = [
@@ -98,7 +98,7 @@ var Surface = React__namespace.forwardRef(
98
98
  );
99
99
  if (!usesLocalTheme) return surfaceNode;
100
100
  return /* @__PURE__ */ jsxRuntime.jsx(
101
- chunkFUR5SDP7_cjs.ThemeProvider,
101
+ chunkPKNRTFNE_cjs.ThemeProvider,
102
102
  {
103
103
  target: "scope",
104
104
  as: "div",
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkPDYM26IC_cjs = require('./chunk-PDYM26IC.cjs');
4
- var chunkVAOAAWGI_cjs = require('./chunk-VAOAAWGI.cjs');
3
+ var chunkZBWUIR2J_cjs = require('./chunk-ZBWUIR2J.cjs');
4
+ var chunkATUPFAPZ_cjs = require('./chunk-ATUPFAPZ.cjs');
5
5
  var chunkYB3IWIOJ_cjs = require('./chunk-YB3IWIOJ.cjs');
6
- var chunkOCQC2ZSV_cjs = require('./chunk-OCQC2ZSV.cjs');
7
- require('./tokens-OJLK3XMZ.css');
6
+ var chunkQMX67CVT_cjs = require('./chunk-QMX67CVT.cjs');
7
+ require('./tokens-RYJ3DFTU.css');
8
8
  require('./shared-NJHRNLRH.css');
9
9
  require('./Table-IWHIIGRJ.css');
10
10
  var React = require('react');
@@ -262,7 +262,7 @@ var TableInner = ({
262
262
  /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
263
263
  showExpandCol && /* @__PURE__ */ jsxRuntime.jsx("th", { className: "row-expand", style: { width: 40 } }),
264
264
  showSelCol && /* @__PURE__ */ jsxRuntime.jsx("th", { className: "row-check", style: { width: 44 }, children: selectionType === "checkbox" && /* @__PURE__ */ jsxRuntime.jsx(
265
- chunkVAOAAWGI_cjs.Checkbox,
265
+ chunkATUPFAPZ_cjs.Checkbox,
266
266
  {
267
267
  checked: allSelectedOnPage,
268
268
  indeterminate: someSelectedOnPage,
@@ -282,7 +282,7 @@ var TableInner = ({
282
282
  children: [
283
283
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "th-label", children: c.title }),
284
284
  c.sortable && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sort-ind", children: /* @__PURE__ */ jsxRuntime.jsx(
285
- chunkOCQC2ZSV_cjs.Icon,
285
+ chunkQMX67CVT_cjs.Icon,
286
286
  {
287
287
  name: sorted ? sortDir === "asc" ? "chevUp" : "chevDown" : "chevDown",
288
288
  size: 10
@@ -339,7 +339,7 @@ var TableInner = ({
339
339
  e.stopPropagation();
340
340
  toggleExpand(row, k);
341
341
  },
342
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkOCQC2ZSV_cjs.Icon, { name: "chevRight", size: 12 })
342
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "chevRight", size: 12 })
343
343
  }
344
344
  )
345
345
  ]
@@ -369,7 +369,7 @@ var TableInner = ({
369
369
  }
370
370
  }
371
371
  ) : /* @__PURE__ */ jsxRuntime.jsx(
372
- chunkVAOAAWGI_cjs.Checkbox,
372
+ chunkATUPFAPZ_cjs.Checkbox,
373
373
  {
374
374
  checked: isSel,
375
375
  disabled: selProps?.disabled,
@@ -398,7 +398,7 @@ var TableInner = ({
398
398
  }
399
399
  ),
400
400
  pagEnabled && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-pagination", children: /* @__PURE__ */ jsxRuntime.jsx(
401
- chunkPDYM26IC_cjs.Pagination,
401
+ chunkZBWUIR2J_cjs.Pagination,
402
402
  {
403
403
  total: totalCount,
404
404
  pageSize: curPageSize,
@@ -457,7 +457,7 @@ function ColumnFilterButton({
457
457
  e.stopPropagation();
458
458
  setOpen((o) => !o);
459
459
  },
460
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkOCQC2ZSV_cjs.Icon, { name: "filter", size: 10 })
460
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "filter", size: 10 })
461
461
  }
462
462
  ),
463
463
  open && typeof document !== "undefined" && reactDom.createPortal(
@@ -471,7 +471,7 @@ function ColumnFilterButton({
471
471
  children: [
472
472
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-filter-options", children: (column.filters ?? []).map((f) => /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "table-filter-item", children: [
473
473
  /* @__PURE__ */ jsxRuntime.jsx(
474
- chunkVAOAAWGI_cjs.Checkbox,
474
+ chunkATUPFAPZ_cjs.Checkbox,
475
475
  {
476
476
  checked: draft.includes(f.value),
477
477
  onChange: () => toggle(f.value)