@fangxinyan/lumina 0.6.17 → 0.7.0

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 (464) hide show
  1. package/dist/{Alert-HVPI6L4V.css → Alert-DJ3K7N7L.css} +9 -9
  2. package/dist/Alert.cjs +5 -3
  3. package/dist/Alert.d.cts +2 -2
  4. package/dist/Alert.d.ts +2 -2
  5. package/dist/Alert.js +4 -2
  6. package/dist/{AppShell-FZCD4C56.css → AppShell-OWJRJ4ZD.css} +57 -22
  7. package/dist/AppShell.cjs +8 -5
  8. package/dist/AppShell.d.cts +19 -16
  9. package/dist/AppShell.d.ts +19 -16
  10. package/dist/AppShell.js +4 -1
  11. package/dist/{AutoComplete-4YZBMW4E.css → AutoComplete-PNCYHU2T.css} +8 -8
  12. package/dist/AutoComplete.cjs +9 -6
  13. package/dist/AutoComplete.d.cts +2 -1
  14. package/dist/AutoComplete.d.ts +2 -1
  15. package/dist/AutoComplete.js +8 -5
  16. package/dist/Avatar-YBU2YZTW.css +48 -0
  17. package/dist/Avatar.cjs +4 -2
  18. package/dist/Avatar.d.cts +6 -2
  19. package/dist/Avatar.d.ts +6 -2
  20. package/dist/Avatar.js +3 -1
  21. package/dist/Badge-DBWJEV4C.css +22 -0
  22. package/dist/Badge.cjs +4 -2
  23. package/dist/Badge.d.cts +6 -2
  24. package/dist/Badge.d.ts +6 -2
  25. package/dist/Badge.js +3 -1
  26. package/dist/{Button-TUMZUQLI.css → Button-ILNZUX2N.css} +28 -21
  27. package/dist/Button.cjs +6 -4
  28. package/dist/Button.d.cts +2 -14
  29. package/dist/Button.d.ts +2 -14
  30. package/dist/Button.js +4 -2
  31. package/dist/{Calendar-I6NHCXIB.css → Calendar-QJ5HWEJQ.css} +26 -26
  32. package/dist/Calendar.cjs +5 -3
  33. package/dist/Calendar.d.cts +8 -4
  34. package/dist/Calendar.d.ts +8 -4
  35. package/dist/Calendar.js +4 -2
  36. package/dist/Card-VPMTWAWZ.css +98 -0
  37. package/dist/Card.cjs +7 -3
  38. package/dist/Card.d.cts +8 -4
  39. package/dist/Card.d.ts +8 -4
  40. package/dist/Card.js +6 -2
  41. package/dist/Cascader-YBVDK6DC.css +168 -0
  42. package/dist/Cascader.cjs +9 -6
  43. package/dist/Cascader.d.cts +21 -3
  44. package/dist/Cascader.d.ts +21 -3
  45. package/dist/Cascader.js +8 -5
  46. package/dist/Checkbox-IHFML4FV.css +50 -0
  47. package/dist/Checkbox.cjs +5 -3
  48. package/dist/Checkbox.d.cts +10 -2
  49. package/dist/Checkbox.d.ts +10 -2
  50. package/dist/Checkbox.js +4 -2
  51. package/dist/{Collapse-UNBHEPYP.css → Collapse-BTSBHBSY.css} +12 -7
  52. package/dist/Collapse.cjs +5 -3
  53. package/dist/Collapse.d.cts +2 -2
  54. package/dist/Collapse.d.ts +2 -2
  55. package/dist/Collapse.js +4 -2
  56. package/dist/{ColorPicker-LPG6QPYF.css → ColorPicker-GRZOKR5O.css} +17 -32
  57. package/dist/ColorPicker.cjs +9 -3
  58. package/dist/ColorPicker.d.cts +7 -11
  59. package/dist/ColorPicker.d.ts +7 -11
  60. package/dist/ColorPicker.js +8 -2
  61. package/dist/{CommandPalette-RTKWNH2D.css → CommandPalette-GHTX7AAA.css} +22 -23
  62. package/dist/CommandPalette.cjs +8 -5
  63. package/dist/CommandPalette.d.cts +5 -28
  64. package/dist/CommandPalette.d.ts +5 -28
  65. package/dist/CommandPalette.js +7 -4
  66. package/dist/{ContextMenu-WRR2SSWL.css → ContextMenu-NG524Y2P.css} +17 -17
  67. package/dist/ContextMenu.cjs +5 -2
  68. package/dist/ContextMenu.d.cts +2 -19
  69. package/dist/ContextMenu.d.ts +2 -19
  70. package/dist/ContextMenu.js +4 -1
  71. package/dist/{DatePicker-VDVSIARF.css → DatePicker-ZSFDXAYD.css} +4 -4
  72. package/dist/DatePicker.cjs +11 -8
  73. package/dist/DatePicker.d.cts +4 -7
  74. package/dist/DatePicker.d.ts +4 -7
  75. package/dist/DatePicker.js +10 -7
  76. package/dist/{DateTimePicker-DRX7XA74.css → DateTimePicker-EWSISVIF.css} +17 -17
  77. package/dist/DateTimePicker.cjs +11 -8
  78. package/dist/DateTimePicker.d.cts +4 -8
  79. package/dist/DateTimePicker.d.ts +4 -8
  80. package/dist/DateTimePicker.js +10 -7
  81. package/dist/{Divider-RPQCVH3J.css → Divider-OI2BXPBU.css} +10 -10
  82. package/dist/Divider.cjs +4 -2
  83. package/dist/Divider.d.cts +2 -2
  84. package/dist/Divider.d.ts +2 -2
  85. package/dist/Divider.js +3 -1
  86. package/dist/{Drawer-7KICRM4L.css → Drawer-VCXAXWV6.css} +30 -17
  87. package/dist/Drawer.cjs +6 -3
  88. package/dist/Drawer.d.cts +25 -3
  89. package/dist/Drawer.d.ts +25 -3
  90. package/dist/Drawer.js +5 -2
  91. package/dist/{Empty-CZTRZMZQ.css → Empty-U5CBLCAL.css} +5 -5
  92. package/dist/Empty.cjs +4 -2
  93. package/dist/Empty.d.cts +2 -2
  94. package/dist/Empty.d.ts +2 -2
  95. package/dist/Empty.js +3 -1
  96. package/dist/{Form-NGCQWTMZ.css → Form-DNEDZRJA.css} +7 -7
  97. package/dist/Form.cjs +7 -4
  98. package/dist/Form.d.cts +4 -3
  99. package/dist/Form.d.ts +4 -3
  100. package/dist/Form.js +4 -1
  101. package/dist/Icon-HJSUVW4O.css +12 -0
  102. package/dist/Icon.cjs +51 -49
  103. package/dist/Icon.d.cts +8 -8
  104. package/dist/Icon.d.ts +8 -8
  105. package/dist/Icon.js +3 -1
  106. package/dist/{Image-TDCXJISG.css → Image-CZJPPURT.css} +95 -14
  107. package/dist/Image.cjs +10 -6
  108. package/dist/Image.d.cts +23 -25
  109. package/dist/Image.d.ts +23 -25
  110. package/dist/Image.js +6 -2
  111. package/dist/{Input-7GDPGP3E.css → Input-ZUASNDXM.css} +15 -15
  112. package/dist/Input.cjs +7 -5
  113. package/dist/Input.d.cts +2 -1
  114. package/dist/Input.d.ts +2 -1
  115. package/dist/Input.js +5 -3
  116. package/dist/{InputNumber-VXQIWLQC.css → InputNumber-6NHBMRT4.css} +7 -7
  117. package/dist/InputNumber.cjs +7 -5
  118. package/dist/InputNumber.d.cts +2 -1
  119. package/dist/InputNumber.d.ts +2 -1
  120. package/dist/InputNumber.js +6 -4
  121. package/dist/List-6BQIFAIT.css +42 -0
  122. package/dist/List.cjs +4 -2
  123. package/dist/List.d.cts +2 -2
  124. package/dist/List.d.ts +2 -2
  125. package/dist/List.js +3 -1
  126. package/dist/{Message-H222YGR6.css → Message-OTZWQTQ5.css} +13 -13
  127. package/dist/Message.cjs +9 -6
  128. package/dist/Message.d.cts +18 -2
  129. package/dist/Message.d.ts +18 -2
  130. package/dist/Message.js +5 -2
  131. package/dist/{Modal-ZFWNFEA5.css → Modal-UI2FXNDR.css} +29 -18
  132. package/dist/Modal.cjs +7 -4
  133. package/dist/Modal.d.cts +13 -2
  134. package/dist/Modal.d.ts +13 -2
  135. package/dist/Modal.js +6 -3
  136. package/dist/Pagination-POJTWMYR.css +70 -0
  137. package/dist/Pagination.cjs +11 -8
  138. package/dist/Pagination.d.cts +2 -2
  139. package/dist/Pagination.d.ts +2 -2
  140. package/dist/Pagination.js +10 -7
  141. package/dist/{Popover-Y3LDCJPW.css → Popover-LCXLR3EU.css} +13 -14
  142. package/dist/Popover.cjs +6 -3
  143. package/dist/Popover.d.cts +3 -10
  144. package/dist/Popover.d.ts +3 -10
  145. package/dist/Popover.js +5 -2
  146. package/dist/Progress-33WE2NI7.css +90 -0
  147. package/dist/Progress.cjs +4 -2
  148. package/dist/Progress.d.cts +4 -2
  149. package/dist/Progress.d.ts +4 -2
  150. package/dist/Progress.js +3 -1
  151. package/dist/{Radio-IQKASYDF.css → Radio-RL7232MZ.css} +21 -13
  152. package/dist/Radio.cjs +5 -3
  153. package/dist/Radio.d.cts +18 -5
  154. package/dist/Radio.d.ts +18 -5
  155. package/dist/Radio.js +3 -1
  156. package/dist/{Select-YZ2NUJSX.css → Select-TU37MAHZ.css} +64 -40
  157. package/dist/Select.cjs +10 -7
  158. package/dist/Select.d.cts +24 -3
  159. package/dist/Select.d.ts +24 -3
  160. package/dist/Select.js +9 -6
  161. package/dist/{Skeleton-CVWH2VWN.css → Skeleton-FMFE3BRI.css} +9 -4
  162. package/dist/Skeleton.cjs +4 -2
  163. package/dist/Skeleton.d.cts +2 -4
  164. package/dist/Skeleton.d.ts +2 -4
  165. package/dist/Skeleton.js +3 -1
  166. package/dist/Slider-FZ5MI4X2.css +145 -0
  167. package/dist/Slider.cjs +4 -2
  168. package/dist/Slider.d.cts +6 -5
  169. package/dist/Slider.d.ts +6 -5
  170. package/dist/Slider.js +3 -1
  171. package/dist/{Spin-GONGPV4Q.css → Spin-F5YIEENO.css} +15 -9
  172. package/dist/Spin.cjs +4 -2
  173. package/dist/Spin.d.cts +2 -2
  174. package/dist/Spin.d.ts +2 -2
  175. package/dist/Spin.js +3 -1
  176. package/dist/{Splitter-DHNOY4NC.css → Splitter-IQ3PFIKK.css} +4 -4
  177. package/dist/Splitter.cjs +4 -2
  178. package/dist/Splitter.d.cts +8 -12
  179. package/dist/Splitter.d.ts +8 -12
  180. package/dist/Splitter.js +3 -1
  181. package/dist/{StatusBar-FJKEEPXU.css → StatusBar-TCGR3LXP.css} +23 -9
  182. package/dist/StatusBar.cjs +5 -3
  183. package/dist/StatusBar.d.cts +5 -17
  184. package/dist/StatusBar.d.ts +5 -17
  185. package/dist/StatusBar.js +3 -1
  186. package/dist/{Surface-UDDN3DGL.css → Surface-CTN775GD.css} +10 -10
  187. package/dist/Surface.cjs +6 -5
  188. package/dist/Surface.d.cts +10 -1
  189. package/dist/Surface.d.ts +10 -1
  190. package/dist/Surface.js +4 -3
  191. package/dist/{Switch-COAQIOMH.css → Switch-TATU3LPB.css} +16 -8
  192. package/dist/Switch.cjs +4 -2
  193. package/dist/Switch.d.cts +10 -4
  194. package/dist/Switch.d.ts +10 -4
  195. package/dist/Switch.js +3 -1
  196. package/dist/{Table-IWHIIGRJ.css → Table-W4HPZ7MZ.css} +78 -53
  197. package/dist/Table.cjs +14 -10
  198. package/dist/Table.d.cts +32 -3
  199. package/dist/Table.d.ts +32 -3
  200. package/dist/Table.js +13 -9
  201. package/dist/{TablePro-3NGWERWT.css → TablePro-WYE6TXWJ.css} +5 -5
  202. package/dist/TablePro.cjs +15 -11
  203. package/dist/TablePro.d.cts +1 -0
  204. package/dist/TablePro.d.ts +1 -0
  205. package/dist/TablePro.js +14 -10
  206. package/dist/{Tabs-X5U5PCPV.css → Tabs-A3IG6UZ6.css} +10 -10
  207. package/dist/Tabs.cjs +4 -2
  208. package/dist/Tabs.d.cts +2 -2
  209. package/dist/Tabs.d.ts +2 -2
  210. package/dist/Tabs.js +3 -1
  211. package/dist/Tag-5GIZLRAH.css +42 -0
  212. package/dist/Tag.cjs +5 -3
  213. package/dist/Tag.d.cts +2 -2
  214. package/dist/Tag.d.ts +2 -2
  215. package/dist/Tag.js +4 -2
  216. package/dist/{Textarea-YHWKHIFE.css → Textarea-ZGHBZNLX.css} +10 -10
  217. package/dist/Textarea.cjs +6 -4
  218. package/dist/Textarea.d.cts +2 -4
  219. package/dist/Textarea.d.ts +2 -4
  220. package/dist/Textarea.js +4 -2
  221. package/dist/Theme-CLedeJ_C.d.ts +193 -0
  222. package/dist/Theme-uQq2B0Yk.d.cts +193 -0
  223. package/dist/Theme.cjs +57 -11
  224. package/dist/Theme.d.cts +26 -145
  225. package/dist/Theme.d.ts +26 -145
  226. package/dist/Theme.js +3 -1
  227. package/dist/{ThemePanel-TEHB2JCQ.css → ThemePanel-EHNAS4RN.css} +52 -52
  228. package/dist/ThemePanel.cjs +17 -15
  229. package/dist/ThemePanel.d.cts +3 -13
  230. package/dist/ThemePanel.d.ts +3 -13
  231. package/dist/ThemePanel.js +14 -12
  232. package/dist/{TimePicker-ZBJOXH3U.css → TimePicker-WJ3FSK6A.css} +17 -17
  233. package/dist/TimePicker.cjs +10 -7
  234. package/dist/TimePicker.d.cts +2 -8
  235. package/dist/TimePicker.d.ts +2 -8
  236. package/dist/TimePicker.js +9 -6
  237. package/dist/{Timeline-CRFZ3I2W.css → Timeline-FUFO2UGY.css} +28 -13
  238. package/dist/Timeline.cjs +5 -3
  239. package/dist/Timeline.d.cts +2 -7
  240. package/dist/Timeline.d.ts +2 -7
  241. package/dist/Timeline.js +4 -2
  242. package/dist/{Tooltip-5FSPJWLX.css → Tooltip-2EUNTOTW.css} +3 -3
  243. package/dist/Tooltip.cjs +6 -3
  244. package/dist/Tooltip.d.cts +2 -2
  245. package/dist/Tooltip.d.ts +2 -2
  246. package/dist/Tooltip.js +5 -2
  247. package/dist/{Typography-32QQLD4F.css → Typography-CQ2OZXQH.css} +105 -42
  248. package/dist/Typography.cjs +11 -8
  249. package/dist/Typography.d.cts +12 -36
  250. package/dist/Typography.d.ts +12 -36
  251. package/dist/Typography.js +6 -3
  252. package/dist/chunk-2A4GYSN4.js +294 -0
  253. package/dist/{chunk-QMX67CVT.cjs → chunk-2AUXUZ3Z.cjs} +56 -31
  254. package/dist/chunk-2BIOTRQC.js +40 -0
  255. package/dist/{chunk-A6O25EP2.js → chunk-2HIN5NFM.js} +14 -6
  256. package/dist/{chunk-I7TOBKJO.js → chunk-3DKFS44V.js} +84 -23
  257. package/dist/{chunk-E22OIVYP.js → chunk-3EHJ5QI3.js} +202 -69
  258. package/dist/{chunk-X5MYHDEQ.cjs → chunk-3EMWDDWK.cjs} +372 -117
  259. package/dist/chunk-3F424R5P.js +143 -0
  260. package/dist/chunk-3IZZBM56.js +269 -0
  261. package/dist/{chunk-DUFRASGO.js → chunk-3QXP2ZNP.js} +18 -23
  262. package/dist/{chunk-5QEI7GGA.cjs → chunk-434Y2JVW.cjs} +60 -27
  263. package/dist/{chunk-SOCYOUGM.js → chunk-4SKHRPDH.js} +168 -64
  264. package/dist/{chunk-L6GIV5DQ.cjs → chunk-56I6ZKGU.cjs} +40 -22
  265. package/dist/{chunk-R3DTXVP2.js → chunk-5AXNUX3J.js} +8 -5
  266. package/dist/chunk-5CZA33BK.cjs +229 -0
  267. package/dist/{chunk-6K5YI4ZE.js → chunk-62VV5COT.js} +16 -6
  268. package/dist/chunk-6DKPJ5LV.cjs +294 -0
  269. package/dist/{chunk-OTSDPQPV.js → chunk-6RQJXSWN.js} +50 -30
  270. package/dist/{chunk-V5KUC5VH.cjs → chunk-77HU7JWK.cjs} +40 -13
  271. package/dist/chunk-7QAVPVMW.js +180 -0
  272. package/dist/chunk-7VLAHOA7.cjs +191 -0
  273. package/dist/chunk-ALAG4ZUH.js +72 -0
  274. package/dist/chunk-ARUN2DMD.js +39 -0
  275. package/dist/chunk-AUO2YYHB.js +248 -0
  276. package/dist/{chunk-6MEOLYNQ.js → chunk-AURYNA6G.js} +6 -5
  277. package/dist/chunk-BIPOXOHP.cjs +287 -0
  278. package/dist/{chunk-V5SQOZPF.js → chunk-BJDQVVCG.js} +38 -20
  279. package/dist/{chunk-BVQOJKRX.js → chunk-BKW5PXEO.js} +115 -72
  280. package/dist/{chunk-UW57F3UO.cjs → chunk-D7YSY5RZ.cjs} +208 -75
  281. package/dist/chunk-DRDDQCDD.js +322 -0
  282. package/dist/chunk-DU2DSERH.js +190 -0
  283. package/dist/{chunk-PSQ3HNZP.cjs → chunk-E66PSVBU.cjs} +106 -19
  284. package/dist/{chunk-UGAN4BBW.js → chunk-EA3NZBCZ.js} +251 -125
  285. package/dist/chunk-EAUB6FEN.js +262 -0
  286. package/dist/chunk-EE5KXDRK.cjs +1223 -0
  287. package/dist/chunk-EE7IJ3MB.js +1 -0
  288. package/dist/{chunk-NXBFEIUX.cjs → chunk-ENFLP7SN.cjs} +255 -129
  289. package/dist/chunk-EUTK2ZRJ.cjs +61 -0
  290. package/dist/chunk-F7WUCOBP.cjs +828 -0
  291. package/dist/{chunk-YB3IWIOJ.cjs → chunk-FJB3243S.cjs} +18 -23
  292. package/dist/chunk-FKCPSVC4.cjs +188 -0
  293. package/dist/chunk-FMUHLIHB.cjs +94 -0
  294. package/dist/chunk-FY73C7JK.js +520 -0
  295. package/dist/{chunk-6EOSMK34.cjs → chunk-G5LCOBOT.cjs} +20 -1
  296. package/dist/{chunk-5ERD3W24.cjs → chunk-GFKWSDD6.cjs} +18 -8
  297. package/dist/{chunk-T2O4DTDE.cjs → chunk-GTFP7HA3.cjs} +58 -32
  298. package/dist/chunk-HQFKXTX6.js +60 -0
  299. package/dist/chunk-HSDMJUB6.cjs +319 -0
  300. package/dist/chunk-HVPUGYBY.js +166 -0
  301. package/dist/chunk-HYHBCHFM.cjs +167 -0
  302. package/dist/chunk-HYJSMFZA.cjs +2 -0
  303. package/dist/chunk-I4YPBAQ5.js +163 -0
  304. package/dist/{chunk-IPSNC5VZ.js → chunk-JHM7MN3G.js} +15 -7
  305. package/dist/{chunk-4ACCOYBY.cjs → chunk-JINKQT6H.cjs} +20 -8
  306. package/dist/{chunk-6Q76VLCE.cjs → chunk-JKUXA3U6.cjs} +50 -30
  307. package/dist/{chunk-D7GK6H6V.js → chunk-K5HGHOG7.js} +50 -21
  308. package/dist/chunk-KATJAJUU.js +78 -0
  309. package/dist/chunk-KCDOC3HS.cjs +100 -0
  310. package/dist/{chunk-M4NJTJKV.cjs → chunk-LDX6Q6RK.cjs} +8 -5
  311. package/dist/chunk-LEDESWNL.js +83 -0
  312. package/dist/chunk-LG62MPMU.cjs +213 -0
  313. package/dist/{chunk-7NTTRKNT.js → chunk-LJVQQEME.js} +54 -28
  314. package/dist/chunk-LOWTSOWT.js +199 -0
  315. package/dist/{chunk-FDZG27IG.js → chunk-LQMOYVQF.js} +57 -32
  316. package/dist/{chunk-P2OQTJZP.cjs → chunk-MCDW3VKZ.cjs} +17 -6
  317. package/dist/{chunk-BT2RXFT4.cjs → chunk-MUZQWIMR.cjs} +121 -78
  318. package/dist/chunk-NRJXZPZR.cjs +351 -0
  319. package/dist/chunk-O6G3F5L4.js +311 -0
  320. package/dist/{chunk-3VSHGM54.js → chunk-OLYSSZHP.js} +126 -68
  321. package/dist/{chunk-A4Z7PLHV.cjs → chunk-PIJV2FHO.cjs} +135 -77
  322. package/dist/{chunk-FYSXJXNW.js → chunk-PQOBBASY.js} +10 -9
  323. package/dist/chunk-Q565GDVK.cjs +205 -0
  324. package/dist/{chunk-FDUQPAQE.cjs → chunk-Q5HLC56A.cjs} +122 -28
  325. package/dist/chunk-QDCPVI3S.cjs +333 -0
  326. package/dist/{chunk-ZR4IMROK.js → chunk-QDMFXRPI.js} +122 -28
  327. package/dist/chunk-QDY56GGO.js +234 -0
  328. package/dist/{chunk-4KDABJSY.cjs → chunk-QNQSNVCU.cjs} +86 -25
  329. package/dist/chunk-QYPA77OI.cjs +55 -0
  330. package/dist/chunk-RAK6CENJ.js +83 -0
  331. package/dist/{chunk-BW76ENTW.cjs → chunk-RERMZNF3.cjs} +10 -9
  332. package/dist/chunk-RMGFRAZ2.cjs +270 -0
  333. package/dist/chunk-RPO7657K.js +228 -0
  334. package/dist/chunk-STQDKMS5.cjs +288 -0
  335. package/dist/{chunk-HG6YS4I7.js → chunk-SXLRWYQQ.js} +71 -24
  336. package/dist/{chunk-SW2HMNCA.cjs → chunk-T4RR6NVU.cjs} +17 -9
  337. package/dist/{chunk-6SPMHY54.js → chunk-TSL3F2K3.js} +20 -2
  338. package/dist/{chunk-BNY2NVTL.cjs → chunk-TYZ6L7E6.cjs} +48 -28
  339. package/dist/{chunk-MOZ52KN6.js → chunk-U3SG2YT2.js} +39 -12
  340. package/dist/{chunk-POU3W5J3.cjs → chunk-U5YYOOLC.cjs} +13 -6
  341. package/dist/chunk-U7VEPMCX.cjs +221 -0
  342. package/dist/chunk-UE4HFGJ6.js +264 -0
  343. package/dist/chunk-ULTDRMGN.js +1175 -0
  344. package/dist/{chunk-6HF6UF73.js → chunk-UQI4R32R.js} +368 -113
  345. package/dist/{chunk-MWEHU7YO.cjs → chunk-VA3JWOAB.cjs} +172 -68
  346. package/dist/chunk-VQEMMJHC.js +33 -0
  347. package/dist/{chunk-S2ZGXBUH.cjs → chunk-VVRXNGYL.cjs} +218 -42
  348. package/dist/{chunk-JMFHL7GN.cjs → chunk-VX6MZO4K.cjs} +100 -22
  349. package/dist/{chunk-2FOC3D6X.js → chunk-WMZV7PNO.js} +19 -7
  350. package/dist/{chunk-MYW7LNB2.cjs → chunk-WROF2PVG.cjs} +40 -21
  351. package/dist/chunk-XZXY3XCL.cjs +105 -0
  352. package/dist/chunk-Y22PTPA7.js +800 -0
  353. package/dist/chunk-Y2MT6PI6.js +207 -0
  354. package/dist/chunk-YAYSXZZZ.cjs +82 -0
  355. package/dist/{chunk-6LN4VVX7.js → chunk-YBGMTQ2V.js} +48 -28
  356. package/dist/{chunk-TYLDISRK.js → chunk-YKHIIC7M.js} +13 -6
  357. package/dist/{chunk-3VXGZ3SJ.js → chunk-YPMQC5HX.js} +57 -24
  358. package/dist/{chunk-UWL6DRZW.cjs → chunk-YUJ7Z6N2.cjs} +74 -27
  359. package/dist/{chunk-LEMMFFEY.cjs → chunk-ZEYK37VW.cjs} +15 -7
  360. package/dist/{chunk-ES7AWMNH.cjs → chunk-ZHVR4YPB.cjs} +6 -5
  361. package/dist/{chunk-MPOO5VPW.cjs → chunk-ZYIE3BH7.cjs} +50 -21
  362. package/dist/componentThemeTypes-Jt4B5aU8.d.cts +77 -0
  363. package/dist/componentThemeTypes-Jt4B5aU8.d.ts +77 -0
  364. package/dist/index.cjs +253 -206
  365. package/dist/index.d.cts +12 -10
  366. package/dist/index.d.ts +12 -10
  367. package/dist/index.js +56 -53
  368. package/dist/styles.css +1697 -692
  369. package/dist/{tokens-RYJ3DFTU.css → tokens-CEJVVA3G.css} +10 -0
  370. package/dist/tokens.css +10 -0
  371. package/docs/llms/appshell.md +9 -6
  372. package/docs/llms/autocomplete.md +8 -2
  373. package/docs/llms/avatar.md +2 -0
  374. package/docs/llms/badge.md +2 -0
  375. package/docs/llms/calendar.md +7 -2
  376. package/docs/llms/card.md +20 -1
  377. package/docs/llms/cascader.md +27 -5
  378. package/docs/llms/checkbox.md +13 -0
  379. package/docs/llms/collapse.md +13 -5
  380. package/docs/llms/colorpicker.md +4 -3
  381. package/docs/llms/commandpalette.md +10 -2
  382. package/docs/llms/contextmenu.md +14 -2
  383. package/docs/llms/datepicker.md +7 -0
  384. package/docs/llms/datetimepicker.md +7 -0
  385. package/docs/llms/drawer.md +20 -4
  386. package/docs/llms/form.md +5 -2
  387. package/docs/llms/icon.md +25 -1
  388. package/docs/llms/image.md +22 -1
  389. package/docs/llms/list.md +11 -0
  390. package/docs/llms/message.md +31 -8
  391. package/docs/llms/modal.md +20 -8
  392. package/docs/llms/pagination.md +12 -4
  393. package/docs/llms/popover.md +11 -1
  394. package/docs/llms/progress.md +1 -0
  395. package/docs/llms/radio.md +13 -0
  396. package/docs/llms/select.md +29 -2
  397. package/docs/llms/sidebar.md +24 -0
  398. package/docs/llms/slider.md +5 -2
  399. package/docs/llms/splitter.md +5 -2
  400. package/docs/llms/switch.md +13 -0
  401. package/docs/llms/table.md +7 -8
  402. package/docs/llms/theme.md +83 -28
  403. package/docs/llms/themepanel.md +1 -0
  404. package/docs/llms/titlebar.md +1 -0
  405. package/docs/llms/tooltip.md +7 -2
  406. package/docs/llms/typography.md +27 -3
  407. package/docs/llms/windowcontrols.md +11 -3
  408. package/docs/llms.md +2 -2
  409. package/package.json +212 -2
  410. package/dist/Avatar-TNPOHVY5.css +0 -40
  411. package/dist/Badge-DPGLV3D3.css +0 -22
  412. package/dist/Card-W3ATFUJW.css +0 -77
  413. package/dist/Cascader-ANEQUPMI.css +0 -150
  414. package/dist/Checkbox-EDNPZRIP.css +0 -42
  415. package/dist/List-LSMU5QAC.css +0 -26
  416. package/dist/Pagination-YSZSNFHG.css +0 -68
  417. package/dist/Progress-CZNXCYGW.css +0 -80
  418. package/dist/Slider-UM2IZZBH.css +0 -127
  419. package/dist/Tag-G2XWAL7A.css +0 -42
  420. package/dist/chunk-262ED6WQ.cjs +0 -88
  421. package/dist/chunk-4HJBF4GY.js +0 -218
  422. package/dist/chunk-4TTRHEGM.cjs +0 -217
  423. package/dist/chunk-5A6KSYWA.cjs +0 -67
  424. package/dist/chunk-5MOYKVB7.js +0 -192
  425. package/dist/chunk-7IO3EOHN.cjs +0 -200
  426. package/dist/chunk-7QXP6DXC.cjs +0 -129
  427. package/dist/chunk-AAPZLBHQ.js +0 -165
  428. package/dist/chunk-ARUPS7JH.js +0 -66
  429. package/dist/chunk-ATUPFAPZ.cjs +0 -76
  430. package/dist/chunk-CFZVWY5N.js +0 -178
  431. package/dist/chunk-DSLYWX4O.js +0 -25
  432. package/dist/chunk-EQ4FPOQQ.js +0 -253
  433. package/dist/chunk-FQJY4D3T.cjs +0 -47
  434. package/dist/chunk-GNV6W4BN.js +0 -495
  435. package/dist/chunk-HBO7ZDEQ.js +0 -29
  436. package/dist/chunk-I777JTTG.js +0 -150
  437. package/dist/chunk-IOAOG5L7.js +0 -191
  438. package/dist/chunk-IOUAZYK2.cjs +0 -116
  439. package/dist/chunk-IZHH6CVY.js +0 -123
  440. package/dist/chunk-JFL2WMJZ.js +0 -106
  441. package/dist/chunk-KMPFESEV.js +0 -41
  442. package/dist/chunk-KYV75JPQ.js +0 -147
  443. package/dist/chunk-N7OQNSII.cjs +0 -145
  444. package/dist/chunk-P64NPZBG.js +0 -113
  445. package/dist/chunk-PKNRTFNE.cjs +0 -526
  446. package/dist/chunk-PU7VXDAS.js +0 -64
  447. package/dist/chunk-RFI5R42I.cjs +0 -138
  448. package/dist/chunk-RMFSX7DO.cjs +0 -281
  449. package/dist/chunk-RR2BKV65.js +0 -39
  450. package/dist/chunk-RSSOX4RQ.cjs +0 -240
  451. package/dist/chunk-RZEFKXL3.cjs +0 -104
  452. package/dist/chunk-S7IHWY24.js +0 -81
  453. package/dist/chunk-SOQ56ZI2.cjs +0 -49
  454. package/dist/chunk-TBNPJPYG.cjs +0 -61
  455. package/dist/chunk-TJECLLN4.js +0 -344
  456. package/dist/chunk-ULUD3FED.cjs +0 -138
  457. package/dist/chunk-VA2I7ZAL.cjs +0 -190
  458. package/dist/chunk-VS3I5OKA.cjs +0 -214
  459. package/dist/chunk-WMGMIE2D.js +0 -113
  460. package/dist/chunk-X7XP6GEI.cjs +0 -63
  461. package/dist/chunk-XCXUGHDF.js +0 -91
  462. package/dist/chunk-YAFDVNXT.js +0 -27
  463. package/dist/chunk-ZD3L4V3H.js +0 -54
  464. package/dist/chunk-ZTCRD2FL.js +0 -45
@@ -1,13 +1,16 @@
1
1
  'use strict';
2
2
 
3
3
  var chunk35RCCUGO_cjs = require('./chunk-35RCCUGO.cjs');
4
- var chunkYB3IWIOJ_cjs = require('./chunk-YB3IWIOJ.cjs');
5
- var chunkVS3I5OKA_cjs = require('./chunk-VS3I5OKA.cjs');
6
- var chunkSW2HMNCA_cjs = require('./chunk-SW2HMNCA.cjs');
7
- var chunk4KDABJSY_cjs = require('./chunk-4KDABJSY.cjs');
8
- require('./tokens-RYJ3DFTU.css');
4
+ var chunkFJB3243S_cjs = require('./chunk-FJB3243S.cjs');
5
+ var chunkSTQDKMS5_cjs = require('./chunk-STQDKMS5.cjs');
6
+ var chunkHSDMJUB6_cjs = require('./chunk-HSDMJUB6.cjs');
7
+ var chunkT4RR6NVU_cjs = require('./chunk-T4RR6NVU.cjs');
8
+ var chunkQNQSNVCU_cjs = require('./chunk-QNQSNVCU.cjs');
9
+ var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
10
+ var chunkEE5KXDRK_cjs = require('./chunk-EE5KXDRK.cjs');
11
+ require('./tokens-CEJVVA3G.css');
9
12
  require('./shared-NJHRNLRH.css');
10
- require('./DateTimePicker-DRX7XA74.css');
13
+ require('./DateTimePicker-EWSISVIF.css');
11
14
  var React = require('react');
12
15
  var reactDom = require('react-dom');
13
16
  var jsxRuntime = require('react/jsx-runtime');
@@ -33,13 +36,14 @@ function _interopNamespace(e) {
33
36
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
34
37
 
35
38
  var pad = (value) => String(value).padStart(2, "0");
39
+ var MAX_DAY_AVAILABILITY_PROBES = 4096;
40
+ var MAX_EAGER_CALENDAR_CANDIDATES = 256;
36
41
  var clampStep = (value) => {
37
42
  if (!Number.isFinite(value) || !value || value < 1) return 1;
38
43
  return Math.floor(value);
39
44
  };
40
45
  var isValidDate = (date) => date instanceof Date && !Number.isNaN(date.getTime());
41
46
  var startOfDay = (date) => new Date(date.getFullYear(), date.getMonth(), date.getDate());
42
- var isSameDay = (a, b) => a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
43
47
  var normalizeDateTime = (date, includeSecond) => {
44
48
  const normalized = new Date(date);
45
49
  if (!includeSecond) normalized.setSeconds(0);
@@ -56,11 +60,6 @@ var composeDateTime = (date, time, includeSecond) => {
56
60
  next.setHours(time.hour, time.minute, includeSecond ? time.second : 0, 0);
57
61
  return next;
58
62
  };
59
- var composeTime = (base, key, value) => ({
60
- hour: key === "hour" ? value : base.hour,
61
- minute: key === "minute" ? value : base.minute,
62
- second: key === "second" ? value : base.second
63
- });
64
63
  var byDistanceFrom = (preferred) => (a, b) => Math.abs(a - preferred) - Math.abs(b - preferred) || a - b;
65
64
  var buildOptions = (max, step, selected) => {
66
65
  const safeStep = clampStep(step);
@@ -106,12 +105,13 @@ var parseDateTimeInput = (input, includeSecond) => {
106
105
  return date;
107
106
  };
108
107
  var getNow = (includeSecond) => normalizeDateTime(/* @__PURE__ */ new Date(), includeSecond);
109
- var DateTimePicker = React__namespace.forwardRef(
108
+ var DateTimePickerBase = React__namespace.forwardRef(
110
109
  ({
111
110
  value,
112
111
  defaultValue = null,
113
112
  onChange,
114
113
  format = "YYYY-MM-DD HH:mm",
114
+ parse,
115
115
  showSecond,
116
116
  placeholder = "\u8BF7\u9009\u62E9\u65E5\u671F\u65F6\u95F4",
117
117
  disabled,
@@ -134,6 +134,12 @@ var DateTimePicker = React__namespace.forwardRef(
134
134
  dropdownClassName = "",
135
135
  className = "",
136
136
  onKeyDown,
137
+ id: fieldId,
138
+ "aria-invalid": ariaInvalid,
139
+ "aria-describedby": ariaDescribedBy,
140
+ "aria-labelledby": ariaLabelledBy,
141
+ "aria-required": ariaRequired,
142
+ "aria-label": ariaLabel,
137
143
  ...rest
138
144
  }, ref) => {
139
145
  const includeSecond = showSecond ?? format === "YYYY-MM-DD HH:mm:ss";
@@ -156,6 +162,7 @@ var DateTimePicker = React__namespace.forwardRef(
156
162
  const open = openControlled ? !!openProp : innerOpen;
157
163
  const [compactPanel, setCompactPanel] = React__namespace.useState(false);
158
164
  const [calendarViewDate, setCalendarViewDate] = React__namespace.useState(null);
165
+ const [calendarVisibleDate, setCalendarVisibleDate] = React__namespace.useState(null);
159
166
  const wasOpenRef = React__namespace.useRef(false);
160
167
  const scrollSignatureRef = React__namespace.useRef(null);
161
168
  const scrollFramesRef = React__namespace.useRef(/* @__PURE__ */ new Map());
@@ -174,13 +181,23 @@ var DateTimePicker = React__namespace.forwardRef(
174
181
  setOpen
175
182
  });
176
183
  const rootRef = React__namespace.useRef(null);
177
- const panelRef = React__namespace.useRef(null);
178
- const { triggerRef, floatingStyle } = chunkYB3IWIOJ_cjs.useFloating({
184
+ const panelId = React__namespace.useId();
185
+ const portalContainer = chunkEE5KXDRK_cjs.usePortalContainer();
186
+ const portalTheme = chunkNRJXZPZR_cjs.useComponentPortalTheme("DateTimePicker");
187
+ const { triggerRef, floatingRef: panelRef, floatingStyle, zIndex: panelZIndex } = chunkFJB3243S_cjs.useFloating({
179
188
  open,
180
189
  placement,
181
190
  panelWidth: compactPanel ? 332 : 476,
182
191
  panelHeight: compactPanel ? includeSecond ? 492 : 468 : 328
183
192
  });
193
+ chunkHSDMJUB6_cjs.useOverlayLayer({
194
+ open: open && !disabled && !readOnly && portalContainer != null,
195
+ containerRef: panelRef,
196
+ ownerRef: triggerRef,
197
+ zIndex: panelZIndex,
198
+ onEscape: () => setOpen(false),
199
+ restoreFocus: true
200
+ });
184
201
  const setRootRef = React__namespace.useCallback(
185
202
  (node) => {
186
203
  rootRef.current = node;
@@ -191,7 +208,7 @@ var DateTimePicker = React__namespace.forwardRef(
191
208
  [ref, triggerRef]
192
209
  );
193
210
  React__namespace.useEffect(() => {
194
- if (typeof window === "undefined") return;
211
+ if (typeof window === "undefined" || typeof window.matchMedia !== "function") return;
195
212
  const media = window.matchMedia("(max-width: 640px)");
196
213
  const update = () => setCompactPanel(media.matches);
197
214
  update();
@@ -215,15 +232,18 @@ var DateTimePicker = React__namespace.forwardRef(
215
232
  },
216
233
  [disabledDate, normalizedMax, normalizedMin]
217
234
  );
218
- const isDisabledDateTime = React__namespace.useCallback(
235
+ const isDisabledTimeOnEnabledDay = React__namespace.useCallback(
219
236
  (date) => {
220
237
  const normalized = normalizeDateTime(date, includeSecond);
221
- if (isDisabledDay(normalized)) return true;
222
238
  if (normalizedMin && normalized < normalizedMin) return true;
223
239
  if (normalizedMax && normalized > normalizedMax) return true;
224
240
  return disabledTime?.(getTimeParts(normalized), startOfDay(normalized)) ?? false;
225
241
  },
226
- [disabledTime, includeSecond, isDisabledDay, normalizedMax, normalizedMin]
242
+ [disabledTime, includeSecond, normalizedMax, normalizedMin]
243
+ );
244
+ const isDisabledDateTime = React__namespace.useCallback(
245
+ (date) => isDisabledDay(date) || isDisabledTimeOnEnabledDay(date),
246
+ [isDisabledDay, isDisabledTimeOnEnabledDay]
227
247
  );
228
248
  const commit = React__namespace.useCallback(
229
249
  (next, close = false) => {
@@ -252,20 +272,16 @@ var DateTimePicker = React__namespace.forwardRef(
252
272
  if (panelRef.current?.contains(target)) return;
253
273
  setOpen(false);
254
274
  };
255
- const onDocKey = (event) => {
256
- if (event.key === "Escape") setOpen(false);
257
- };
258
275
  document.addEventListener("mousedown", onDown);
259
- document.addEventListener("keydown", onDocKey);
260
276
  return () => {
261
277
  document.removeEventListener("mousedown", onDown);
262
- document.removeEventListener("keydown", onDocKey);
263
278
  };
264
279
  }, [open, setOpen]);
265
280
  const scrollListTo = React__namespace.useCallback(
266
281
  (list, top, animate) => {
267
282
  const frame = scrollFramesRef.current.get(list);
268
283
  if (frame != null) cancelAnimationFrame(frame);
284
+ scrollFramesRef.current.delete(list);
269
285
  if (!animate) {
270
286
  list.scrollTop = top;
271
287
  return;
@@ -295,7 +311,8 @@ var DateTimePicker = React__namespace.forwardRef(
295
311
  );
296
312
  React__namespace.useEffect(() => {
297
313
  if (!open) return;
298
- const shouldAnimate = wasOpenRef.current && scrollSignatureRef.current != null && scrollSignatureRef.current !== scrollSignature;
314
+ const prefersReducedMotion = typeof window.matchMedia === "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
315
+ const shouldAnimate = !prefersReducedMotion && wasOpenRef.current && scrollSignatureRef.current != null && scrollSignatureRef.current !== scrollSignature;
299
316
  requestAnimationFrame(() => {
300
317
  panelRef.current?.querySelectorAll(".date-time-picker-time-list").forEach((list) => {
301
318
  const selected = list.querySelector(".date-time-picker-time-option.selected");
@@ -312,6 +329,7 @@ var DateTimePicker = React__namespace.forwardRef(
312
329
  wasOpenRef.current = false;
313
330
  scrollSignatureRef.current = null;
314
331
  setCalendarViewDate(null);
332
+ setCalendarVisibleDate(null);
315
333
  }, [open]);
316
334
  React__namespace.useEffect(
317
335
  () => () => {
@@ -326,37 +344,95 @@ var DateTimePicker = React__namespace.forwardRef(
326
344
  const hourOptions = buildOptions(23, hourStep, timeParts.hour);
327
345
  const minuteOptions = buildOptions(59, minuteStep, timeParts.minute);
328
346
  const secondOptions = buildOptions(59, secondStep, timeParts.second);
329
- const findAvailableTime = (key, value2) => {
330
- const preferred = composeTime(timeParts, key, value2);
331
- if (!isDisabledDateTime(composeDateTime(selectedDay, preferred, includeSecond))) {
332
- return preferred;
347
+ const sortedHourOptions = [...hourOptions].sort(byDistanceFrom(timeParts.hour));
348
+ const sortedMinuteOptions = [...minuteOptions].sort(byDistanceFrom(timeParts.minute));
349
+ const sortedSecondOptions = includeSecond ? [...secondOptions].sort(byDistanceFrom(timeParts.second)) : [0];
350
+ const dayCandidateCount = sortedHourOptions.length * sortedMinuteOptions.length * sortedSecondOptions.length;
351
+ const availabilityCache = React__namespace.useMemo(
352
+ () => /* @__PURE__ */ new Map(),
353
+ [
354
+ disabledDate,
355
+ disabledTime,
356
+ hourStep,
357
+ includeSecond,
358
+ minuteStep,
359
+ normalizedMax?.getTime(),
360
+ normalizedMin?.getTime(),
361
+ secondStep,
362
+ timeParts.hour,
363
+ timeParts.minute,
364
+ timeParts.second
365
+ ]
366
+ );
367
+ const getDayAvailability = (date) => {
368
+ const dayKey = startOfDay(date).getTime();
369
+ const cached = availabilityCache.get(dayKey);
370
+ if (cached) return cached;
371
+ const availability = {
372
+ closestDateTime: null,
373
+ byPart: {
374
+ hour: /* @__PURE__ */ new Map(),
375
+ minute: /* @__PURE__ */ new Map(),
376
+ second: /* @__PURE__ */ new Map()
377
+ },
378
+ complete: false
379
+ };
380
+ availabilityCache.set(dayKey, availability);
381
+ const day = startOfDay(date);
382
+ if (isDisabledDay(day)) {
383
+ availability.complete = true;
384
+ return availability;
333
385
  }
334
- const hours = key === "hour" ? [value2] : [...hourOptions].sort(byDistanceFrom(timeParts.hour));
335
- const minutes = key === "minute" ? [value2] : [...minuteOptions].sort(byDistanceFrom(timeParts.minute));
336
- const seconds = key === "second" ? [value2] : includeSecond ? [...secondOptions].sort(byDistanceFrom(timeParts.second)) : [0];
337
- for (const hour of hours) {
338
- for (const minute of minutes) {
339
- for (const second of seconds) {
340
- const candidate = { hour, minute, second };
341
- if (!isDisabledDateTime(composeDateTime(selectedDay, candidate, includeSecond))) {
342
- return candidate;
386
+ const visited = /* @__PURE__ */ new Set();
387
+ const inspectCandidate = (time) => {
388
+ const key = `${time.hour}:${time.minute}:${time.second}`;
389
+ if (visited.has(key) || visited.size >= MAX_DAY_AVAILABILITY_PROBES) return;
390
+ visited.add(key);
391
+ const candidate = composeDateTime(day, time, includeSecond);
392
+ if (isDisabledTimeOnEnabledDay(candidate)) return;
393
+ availability.closestDateTime ?? (availability.closestDateTime = candidate);
394
+ availability.byPart.hour.set(time.hour, availability.byPart.hour.get(time.hour) ?? time);
395
+ availability.byPart.minute.set(time.minute, availability.byPart.minute.get(time.minute) ?? time);
396
+ availability.byPart.second.set(time.second, availability.byPart.second.get(time.second) ?? time);
397
+ };
398
+ const allPartsCovered = () => availability.byPart.hour.size === hourOptions.length && availability.byPart.minute.size === minuteOptions.length && availability.byPart.second.size === sortedSecondOptions.length;
399
+ inspectCandidate(timeParts);
400
+ sortedHourOptions.forEach((hour) => inspectCandidate({ ...timeParts, hour }));
401
+ sortedMinuteOptions.forEach((minute) => inspectCandidate({ ...timeParts, minute }));
402
+ sortedSecondOptions.forEach((second) => inspectCandidate({ ...timeParts, second }));
403
+ scanCandidates:
404
+ for (const minute of sortedMinuteOptions) {
405
+ for (const second of sortedSecondOptions) {
406
+ for (const hour of sortedHourOptions) {
407
+ if (visited.size >= MAX_DAY_AVAILABILITY_PROBES || allPartsCovered()) {
408
+ break scanCandidates;
409
+ }
410
+ inspectCandidate({ hour, minute, second });
343
411
  }
344
412
  }
345
413
  }
414
+ availability.complete = visited.size >= dayCandidateCount;
415
+ return availability;
416
+ };
417
+ const findAvailableTime = (key, value2) => {
418
+ return getDayAvailability(selectedDay).byPart[key].get(value2) ?? null;
419
+ };
420
+ const findAvailableDateTimeOnDay = (date) => {
421
+ return getDayAvailability(date).closestDateTime;
422
+ };
423
+ const isCalendarDayDisabled = (date) => {
424
+ if (isDisabledDay(date)) return true;
425
+ const visible = calendarVisibleDate ?? calendarViewDate ?? selectedDay;
426
+ if (date.getFullYear() !== visible.getFullYear() || date.getMonth() !== visible.getMonth()) {
427
+ return false;
346
428
  }
347
- return null;
429
+ if (dayCandidateCount > MAX_EAGER_CALENDAR_CANDIDATES) return false;
430
+ const availability = getDayAvailability(date);
431
+ return availability.complete && availability.closestDateTime == null;
348
432
  };
349
433
  const handleDatePick = (date) => {
350
- const next = composeDateTime(date, timeParts, includeSecond);
351
- if (normalizedMin && isSameDay(next, normalizedMin) && next < normalizedMin) {
352
- commit(normalizedMin);
353
- return;
354
- }
355
- if (normalizedMax && isSameDay(next, normalizedMax) && next > normalizedMax) {
356
- commit(normalizedMax);
357
- return;
358
- }
359
- commit(next);
434
+ const available = findAvailableDateTimeOnDay(date);
435
+ if (available) commit(available);
360
436
  };
361
437
  const pickTime = (key, nextValue) => {
362
438
  const nextTime = findAvailableTime(key, nextValue);
@@ -371,12 +447,8 @@ var DateTimePicker = React__namespace.forwardRef(
371
447
  setDraft(formatDateTime(current, format, includeSecond));
372
448
  return;
373
449
  }
374
- if (typeof format === "function") {
375
- setDraft(formatDateTime(current, format, includeSecond));
376
- return;
377
- }
378
- const parsed = parseDateTimeInput(draft, includeSecond);
379
- if (!parsed || isDisabledDateTime(parsed)) {
450
+ const parsed = parse ? parse(draft) : typeof format === "function" ? null : parseDateTimeInput(draft, includeSecond);
451
+ if (!isValidDate(parsed) || isDisabledDateTime(parsed)) {
380
452
  setDraft(formatDateTime(current, format, includeSecond));
381
453
  return;
382
454
  }
@@ -394,6 +466,20 @@ var DateTimePicker = React__namespace.forwardRef(
394
466
  setOpen(false);
395
467
  }
396
468
  };
469
+ const handleTimeOptionKeyDown = (event) => {
470
+ const list = event.currentTarget.parentElement;
471
+ if (!list) return;
472
+ const options = Array.from(list.querySelectorAll("button:not(:disabled)"));
473
+ const index = options.indexOf(event.currentTarget);
474
+ let nextIndex = index;
475
+ if (event.key === "ArrowDown" || event.key === "ArrowRight") nextIndex = index + 1;
476
+ else if (event.key === "ArrowUp" || event.key === "ArrowLeft") nextIndex = index - 1;
477
+ else if (event.key === "Home") nextIndex = 0;
478
+ else if (event.key === "End") nextIndex = options.length - 1;
479
+ else return;
480
+ event.preventDefault();
481
+ options[Math.max(0, Math.min(options.length - 1, nextIndex))]?.focus();
482
+ };
397
483
  const renderTimeColumn = (label, key, options) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "date-time-picker-time-column", children: [
398
484
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "date-time-picker-time-label", children: label }),
399
485
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "date-time-picker-time-list", role: "listbox", "aria-label": label, children: options.map((option) => {
@@ -408,6 +494,7 @@ var DateTimePicker = React__namespace.forwardRef(
408
494
  disabled: optionDisabled,
409
495
  className: `date-time-picker-time-option ${selected ? "selected" : ""}`,
410
496
  onClick: () => pickTime(key, option),
497
+ onKeyDown: handleTimeOptionKeyDown,
411
498
  children: pad(option)
412
499
  },
413
500
  option
@@ -425,10 +512,16 @@ var DateTimePicker = React__namespace.forwardRef(
425
512
  invalid && "invalid",
426
513
  className
427
514
  ].filter(Boolean).join(" ");
428
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: setRootRef, className: rootClassName, onKeyDown: handleRootKeyDown, ...rest, children: [
515
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: setRootRef, className: rootClassName, onKeyDown: handleRootKeyDown, ...rest, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: ["Input", "Calendar", "Button"], children: [
429
516
  /* @__PURE__ */ jsxRuntime.jsx(
430
- chunkVS3I5OKA_cjs.Input,
517
+ chunkSTQDKMS5_cjs.Input,
431
518
  {
519
+ id: fieldId,
520
+ "aria-label": ariaLabel,
521
+ "aria-labelledby": ariaLabelledBy,
522
+ "aria-invalid": ariaInvalid,
523
+ "aria-required": ariaRequired,
524
+ "aria-describedby": ariaDescribedBy,
432
525
  value: draft,
433
526
  size,
434
527
  placeholder,
@@ -442,27 +535,32 @@ var DateTimePicker = React__namespace.forwardRef(
442
535
  onBlur: handleInputBlur,
443
536
  inputMode: "numeric",
444
537
  "aria-expanded": open,
445
- "aria-haspopup": "dialog"
538
+ "aria-haspopup": "dialog",
539
+ "aria-controls": open ? panelId : void 0
446
540
  }
447
541
  ),
448
- open && !disabled && !readOnly && typeof document !== "undefined" && reactDom.createPortal(
542
+ open && !disabled && !readOnly && portalContainer && reactDom.createPortal(
449
543
  /* @__PURE__ */ jsxRuntime.jsxs(
450
544
  "div",
451
545
  {
452
546
  ref: panelRef,
547
+ id: panelId,
453
548
  className: `date-time-picker-panel ${includeSecond ? "with-second" : "without-second"} ${mergedPanelClassName}`,
454
549
  role: "dialog",
455
- style: floatingStyle,
550
+ "aria-label": "\u9009\u62E9\u65E5\u671F\u548C\u65F6\u95F4",
551
+ ...portalTheme.dataAttributes,
552
+ style: { ...floatingStyle, ...portalTheme.style, ...portalTheme.styles.popup },
456
553
  children: [
457
554
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "date-time-picker-body", children: [
458
555
  /* @__PURE__ */ jsxRuntime.jsx(
459
- chunk4KDABJSY_cjs.Calendar,
556
+ chunkQNQSNVCU_cjs.Calendar,
460
557
  {
461
558
  value: selectedDay,
462
559
  viewDate: calendarViewDate ?? void 0,
463
560
  min: normalizedMin ? startOfDay(normalizedMin) : void 0,
464
561
  max: normalizedMax ? startOfDay(normalizedMax) : void 0,
465
- disabledDate: isDisabledDay,
562
+ disabledDate: isCalendarDayDisabled,
563
+ onViewChange: setCalendarVisibleDate,
466
564
  onChange: handleDatePick
467
565
  }
468
566
  ),
@@ -474,13 +572,14 @@ var DateTimePicker = React__namespace.forwardRef(
474
572
  ] }),
475
573
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "date-time-picker-footer", children: [
476
574
  /* @__PURE__ */ jsxRuntime.jsx(
477
- chunkSW2HMNCA_cjs.Button,
575
+ chunkT4RR6NVU_cjs.Button,
478
576
  {
479
577
  size: "sm",
480
578
  variant: "ghost",
481
579
  disabled: isDisabledDateTime(today),
482
580
  onClick: () => {
483
581
  setCalendarViewDate(today);
582
+ setCalendarVisibleDate(today);
484
583
  commit(today);
485
584
  },
486
585
  children: "\u73B0\u5728"
@@ -488,7 +587,7 @@ var DateTimePicker = React__namespace.forwardRef(
488
587
  ),
489
588
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "date-time-picker-footer-spacer" }),
490
589
  allowClear && /* @__PURE__ */ jsxRuntime.jsx(
491
- chunkSW2HMNCA_cjs.Button,
590
+ chunkT4RR6NVU_cjs.Button,
492
591
  {
493
592
  size: "sm",
494
593
  variant: "ghost",
@@ -496,16 +595,21 @@ var DateTimePicker = React__namespace.forwardRef(
496
595
  children: "\u6E05\u7A7A"
497
596
  }
498
597
  ),
499
- /* @__PURE__ */ jsxRuntime.jsx(chunkSW2HMNCA_cjs.Button, { size: "sm", variant: "primary", onClick: () => setOpen(false), children: "\u786E\u5B9A" })
598
+ /* @__PURE__ */ jsxRuntime.jsx(chunkT4RR6NVU_cjs.Button, { size: "sm", variant: "primary", onClick: () => setOpen(false), children: "\u786E\u5B9A" })
500
599
  ] })
501
600
  ]
502
601
  }
503
602
  ),
504
- document.body
603
+ portalContainer
505
604
  )
506
- ] });
605
+ ] }) });
507
606
  }
508
607
  );
509
- DateTimePicker.displayName = "DateTimePicker";
608
+ DateTimePickerBase.displayName = "DateTimePicker";
609
+ var DateTimePicker = chunkNRJXZPZR_cjs.withComponentTheme(
610
+ DateTimePickerBase,
611
+ "DateTimePicker",
612
+ ["date-time-picker", "calendar", "input", "button"]
613
+ );
510
614
 
511
615
  exports.DateTimePicker = DateTimePicker;
@@ -0,0 +1,33 @@
1
+ import { withComponentTheme } from './chunk-DRDDQCDD.js';
2
+ import './tokens-CEJVVA3G.css';
3
+ import './shared-NJHRNLRH.css';
4
+ import './List-6BQIFAIT.css';
5
+ import * as React from 'react';
6
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
+
8
+ var ListBase = React.forwardRef(({ items, dividers = true, className = "", style, ...rest }, ref) => /* @__PURE__ */ jsx(
9
+ "ul",
10
+ {
11
+ ref,
12
+ className: `list ${dividers ? "with-dividers" : ""} ${className}`,
13
+ style: { listStyle: "none", margin: 0, ...style },
14
+ ...rest,
15
+ children: items.map((it) => {
16
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [
17
+ it.avatar && /* @__PURE__ */ jsx("span", { className: "list-item-avatar", children: it.avatar }),
18
+ /* @__PURE__ */ jsxs("span", { className: "list-item-meta", children: [
19
+ it.title && /* @__PURE__ */ jsx("span", { className: "list-item-title", children: it.title }),
20
+ it.description && /* @__PURE__ */ jsx("span", { className: "list-item-desc", children: it.description })
21
+ ] })
22
+ ] });
23
+ return /* @__PURE__ */ jsxs("li", { className: `list-item ${it.onClick ? "clickable" : ""}`, children: [
24
+ it.onClick ? /* @__PURE__ */ jsx("button", { type: "button", className: "list-item-trigger", onClick: it.onClick, children: content }) : /* @__PURE__ */ jsx("div", { className: "list-item-trigger", children: content }),
25
+ it.actions && /* @__PURE__ */ jsx("div", { className: "list-item-actions", children: it.actions })
26
+ ] }, it.key);
27
+ })
28
+ }
29
+ ));
30
+ ListBase.displayName = "List";
31
+ var List = withComponentTheme(ListBase, "List", "list");
32
+
33
+ export { List };