@fangxinyan/lumina 0.6.18 → 0.8.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 (466) 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-NISJRUWX.css → Image-CZJPPURT.css} +25 -23
  107. package/dist/Image.cjs +10 -7
  108. package/dist/Image.d.cts +5 -24
  109. package/dist/Image.d.ts +5 -24
  110. package/dist/Image.js +6 -3
  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 +28 -3
  159. package/dist/Select.d.ts +28 -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 +18 -12
  179. package/dist/Splitter.d.ts +18 -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-KB6EEBDJ.css} +105 -53
  197. package/dist/Table.cjs +14 -10
  198. package/dist/Table.d.cts +38 -3
  199. package/dist/Table.d.ts +38 -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-FB2AMBWL.css} +24 -10
  207. package/dist/Tabs.cjs +4 -2
  208. package/dist/Tabs.d.cts +8 -2
  209. package/dist/Tabs.d.ts +8 -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-X5MYHDEQ.cjs → chunk-3EMWDDWK.cjs} +372 -117
  258. package/dist/chunk-3F424R5P.js +143 -0
  259. package/dist/chunk-3IZZBM56.js +269 -0
  260. package/dist/{chunk-DUFRASGO.js → chunk-3QXP2ZNP.js} +18 -23
  261. package/dist/{chunk-5QEI7GGA.cjs → chunk-434Y2JVW.cjs} +60 -27
  262. package/dist/{chunk-SOCYOUGM.js → chunk-4SKHRPDH.js} +168 -64
  263. package/dist/{chunk-R3DTXVP2.js → chunk-5AXNUX3J.js} +8 -5
  264. package/dist/chunk-5CZA33BK.cjs +229 -0
  265. package/dist/{chunk-6K5YI4ZE.js → chunk-62VV5COT.js} +16 -6
  266. package/dist/{chunk-2FOC3D6X.js → chunk-63RSKQID.js} +23 -7
  267. package/dist/chunk-6DKPJ5LV.cjs +294 -0
  268. package/dist/{chunk-OTSDPQPV.js → chunk-6RQJXSWN.js} +50 -30
  269. package/dist/{chunk-V5KUC5VH.cjs → chunk-77HU7JWK.cjs} +40 -13
  270. package/dist/chunk-7QAVPVMW.js +180 -0
  271. package/dist/chunk-7VLAHOA7.cjs +191 -0
  272. package/dist/chunk-ALAG4ZUH.js +72 -0
  273. package/dist/chunk-ARUN2DMD.js +39 -0
  274. package/dist/chunk-AUO2YYHB.js +248 -0
  275. package/dist/{chunk-6MEOLYNQ.js → chunk-AURYNA6G.js} +6 -5
  276. package/dist/chunk-BIPOXOHP.cjs +287 -0
  277. package/dist/{chunk-BVQOJKRX.js → chunk-BKW5PXEO.js} +115 -72
  278. package/dist/chunk-DRDDQCDD.js +322 -0
  279. package/dist/chunk-DU2DSERH.js +190 -0
  280. package/dist/chunk-DURKCGEM.js +496 -0
  281. package/dist/{chunk-PSQ3HNZP.cjs → chunk-E66PSVBU.cjs} +106 -19
  282. package/dist/chunk-EAUB6FEN.js +262 -0
  283. package/dist/chunk-EE5KXDRK.cjs +1223 -0
  284. package/dist/chunk-EE7IJ3MB.js +1 -0
  285. package/dist/chunk-EUTK2ZRJ.cjs +61 -0
  286. package/dist/{chunk-HSAJUEO7.cjs → chunk-F7WUCOBP.cjs} +150 -86
  287. package/dist/{chunk-YB3IWIOJ.cjs → chunk-FJB3243S.cjs} +18 -23
  288. package/dist/chunk-FKCPSVC4.cjs +188 -0
  289. package/dist/chunk-FMUHLIHB.cjs +94 -0
  290. package/dist/chunk-FY73C7JK.js +520 -0
  291. package/dist/{chunk-6EOSMK34.cjs → chunk-G5LCOBOT.cjs} +20 -1
  292. package/dist/{chunk-5ERD3W24.cjs → chunk-GFKWSDD6.cjs} +18 -8
  293. package/dist/{chunk-T2O4DTDE.cjs → chunk-GTFP7HA3.cjs} +58 -32
  294. package/dist/chunk-HQFKXTX6.js +60 -0
  295. package/dist/{chunk-V5SQOZPF.js → chunk-HQNDVNTQ.js} +38 -20
  296. package/dist/chunk-HSDMJUB6.cjs +319 -0
  297. package/dist/chunk-HVPUGYBY.js +166 -0
  298. package/dist/chunk-HYHBCHFM.cjs +167 -0
  299. package/dist/chunk-HYJSMFZA.cjs +2 -0
  300. package/dist/chunk-I4YPBAQ5.js +163 -0
  301. package/dist/chunk-IJDM2U3B.js +100 -0
  302. package/dist/chunk-J5UEQ3ZQ.js +226 -0
  303. package/dist/chunk-JBS353O4.cjs +248 -0
  304. package/dist/{chunk-IPSNC5VZ.js → chunk-JHM7MN3G.js} +15 -7
  305. package/dist/{chunk-6Q76VLCE.cjs → chunk-JKUXA3U6.cjs} +50 -30
  306. package/dist/{chunk-D7GK6H6V.js → chunk-K5HGHOG7.js} +50 -21
  307. package/dist/chunk-KATJAJUU.js +78 -0
  308. package/dist/chunk-KCDOC3HS.cjs +100 -0
  309. package/dist/{chunk-M4NJTJKV.cjs → chunk-LDX6Q6RK.cjs} +8 -5
  310. package/dist/chunk-LEDESWNL.js +83 -0
  311. package/dist/chunk-LG62MPMU.cjs +213 -0
  312. package/dist/{chunk-7NTTRKNT.js → chunk-LJVQQEME.js} +54 -28
  313. package/dist/{chunk-FDZG27IG.js → chunk-LQMOYVQF.js} +57 -32
  314. package/dist/{chunk-P2OQTJZP.cjs → chunk-MCDW3VKZ.cjs} +17 -6
  315. package/dist/{chunk-BT2RXFT4.cjs → chunk-MUZQWIMR.cjs} +121 -78
  316. package/dist/chunk-NRJXZPZR.cjs +351 -0
  317. package/dist/chunk-O6G3F5L4.js +311 -0
  318. package/dist/{chunk-3VSHGM54.js → chunk-OLYSSZHP.js} +126 -68
  319. package/dist/{chunk-A4Z7PLHV.cjs → chunk-PIJV2FHO.cjs} +135 -77
  320. package/dist/{chunk-L6GIV5DQ.cjs → chunk-PJFYIXBX.cjs} +40 -22
  321. package/dist/{chunk-NXBFEIUX.cjs → chunk-PNKNZREC.cjs} +266 -130
  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-BW76ENTW.cjs → chunk-RERMZNF3.cjs} +10 -9
  331. package/dist/chunk-RMGFRAZ2.cjs +270 -0
  332. package/dist/chunk-RPO7657K.js +228 -0
  333. package/dist/chunk-RR7KWH26.cjs +122 -0
  334. package/dist/chunk-SF7BPXDJ.cjs +518 -0
  335. package/dist/chunk-STQDKMS5.cjs +288 -0
  336. package/dist/{chunk-HG6YS4I7.js → chunk-SXLRWYQQ.js} +71 -24
  337. package/dist/{chunk-SW2HMNCA.cjs → chunk-T4RR6NVU.cjs} +17 -9
  338. package/dist/{chunk-6SPMHY54.js → chunk-TSL3F2K3.js} +20 -2
  339. package/dist/{chunk-BNY2NVTL.cjs → chunk-TYZ6L7E6.cjs} +48 -28
  340. package/dist/{chunk-MOZ52KN6.js → chunk-U3SG2YT2.js} +39 -12
  341. package/dist/{chunk-POU3W5J3.cjs → chunk-U5YYOOLC.cjs} +13 -6
  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-4ACCOYBY.cjs → chunk-WHBKQZU5.cjs} +24 -8
  350. package/dist/{chunk-UGAN4BBW.js → chunk-WMISXERU.js} +262 -126
  351. package/dist/{chunk-MYW7LNB2.cjs → chunk-WROF2PVG.cjs} +40 -21
  352. package/dist/{chunk-5VOUUQF5.js → chunk-Y22PTPA7.js} +145 -81
  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 +11 -9
  366. package/dist/index.d.ts +11 -9
  367. package/dist/index.js +56 -53
  368. package/dist/styles.css +1663 -695
  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 +27 -4
  386. package/docs/llms/form.md +5 -2
  387. package/docs/llms/icon.md +25 -1
  388. package/docs/llms/image.md +3 -3
  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 +48 -2
  397. package/docs/llms/sidebar.md +24 -0
  398. package/docs/llms/slider.md +5 -2
  399. package/docs/llms/splitter.md +17 -3
  400. package/docs/llms/switch.md +13 -0
  401. package/docs/llms/table.md +7 -8
  402. package/docs/llms/tablepro.md +23 -1
  403. package/docs/llms/tabs.md +21 -0
  404. package/docs/llms/theme.md +83 -28
  405. package/docs/llms/themepanel.md +1 -0
  406. package/docs/llms/titlebar.md +1 -0
  407. package/docs/llms/tooltip.md +7 -2
  408. package/docs/llms/typography.md +27 -3
  409. package/docs/llms/windowcontrols.md +11 -3
  410. package/docs/llms.md +2 -2
  411. package/package.json +212 -2
  412. package/dist/Avatar-TNPOHVY5.css +0 -40
  413. package/dist/Badge-DPGLV3D3.css +0 -22
  414. package/dist/Card-W3ATFUJW.css +0 -77
  415. package/dist/Cascader-ANEQUPMI.css +0 -150
  416. package/dist/Checkbox-EDNPZRIP.css +0 -42
  417. package/dist/List-LSMU5QAC.css +0 -26
  418. package/dist/Pagination-YSZSNFHG.css +0 -68
  419. package/dist/Progress-CZNXCYGW.css +0 -80
  420. package/dist/Slider-UM2IZZBH.css +0 -127
  421. package/dist/Tag-G2XWAL7A.css +0 -42
  422. package/dist/chunk-262ED6WQ.cjs +0 -88
  423. package/dist/chunk-4HJBF4GY.js +0 -218
  424. package/dist/chunk-4TTRHEGM.cjs +0 -217
  425. package/dist/chunk-5A6KSYWA.cjs +0 -67
  426. package/dist/chunk-5MOYKVB7.js +0 -192
  427. package/dist/chunk-7IO3EOHN.cjs +0 -200
  428. package/dist/chunk-7QXP6DXC.cjs +0 -129
  429. package/dist/chunk-AAPZLBHQ.js +0 -165
  430. package/dist/chunk-ARUPS7JH.js +0 -66
  431. package/dist/chunk-ATUPFAPZ.cjs +0 -76
  432. package/dist/chunk-CFZVWY5N.js +0 -178
  433. package/dist/chunk-DSLYWX4O.js +0 -25
  434. package/dist/chunk-E22OIVYP.js +0 -349
  435. package/dist/chunk-FQJY4D3T.cjs +0 -47
  436. package/dist/chunk-GNV6W4BN.js +0 -495
  437. package/dist/chunk-HBO7ZDEQ.js +0 -29
  438. package/dist/chunk-I777JTTG.js +0 -150
  439. package/dist/chunk-IOAOG5L7.js +0 -191
  440. package/dist/chunk-IOUAZYK2.cjs +0 -116
  441. package/dist/chunk-IZHH6CVY.js +0 -123
  442. package/dist/chunk-JFL2WMJZ.js +0 -106
  443. package/dist/chunk-KMPFESEV.js +0 -41
  444. package/dist/chunk-KYV75JPQ.js +0 -147
  445. package/dist/chunk-N7OQNSII.cjs +0 -145
  446. package/dist/chunk-P64NPZBG.js +0 -113
  447. package/dist/chunk-PKNRTFNE.cjs +0 -526
  448. package/dist/chunk-PU7VXDAS.js +0 -64
  449. package/dist/chunk-RFI5R42I.cjs +0 -138
  450. package/dist/chunk-RR2BKV65.js +0 -39
  451. package/dist/chunk-RSSOX4RQ.cjs +0 -240
  452. package/dist/chunk-RZEFKXL3.cjs +0 -104
  453. package/dist/chunk-S7IHWY24.js +0 -81
  454. package/dist/chunk-SOQ56ZI2.cjs +0 -49
  455. package/dist/chunk-TBNPJPYG.cjs +0 -61
  456. package/dist/chunk-TJECLLN4.js +0 -344
  457. package/dist/chunk-ULUD3FED.cjs +0 -138
  458. package/dist/chunk-UW57F3UO.cjs +0 -371
  459. package/dist/chunk-VA2I7ZAL.cjs +0 -190
  460. package/dist/chunk-VS3I5OKA.cjs +0 -214
  461. package/dist/chunk-WMGMIE2D.js +0 -113
  462. package/dist/chunk-X7XP6GEI.cjs +0 -63
  463. package/dist/chunk-XCXUGHDF.js +0 -91
  464. package/dist/chunk-YAFDVNXT.js +0 -27
  465. package/dist/chunk-ZD3L4V3H.js +0 -54
  466. package/dist/chunk-ZTCRD2FL.js +0 -45
@@ -1,23 +1,27 @@
1
1
  import { useInputTriggerToggle } from './chunk-RC6ULCQP.js';
2
- import { useFloating } from './chunk-DUFRASGO.js';
3
- import { Input } from './chunk-IOAOG5L7.js';
4
- import { Button } from './chunk-IPSNC5VZ.js';
5
- import { Calendar } from './chunk-I7TOBKJO.js';
6
- import './tokens-RYJ3DFTU.css';
2
+ import { useFloating } from './chunk-3QXP2ZNP.js';
3
+ import { Input } from './chunk-UE4HFGJ6.js';
4
+ import { useOverlayLayer } from './chunk-2A4GYSN4.js';
5
+ import { Button } from './chunk-JHM7MN3G.js';
6
+ import { Calendar } from './chunk-3DKFS44V.js';
7
+ import { useComponentPortalTheme, InternalComponentThemePart, withComponentTheme } from './chunk-DRDDQCDD.js';
8
+ import { usePortalContainer } from './chunk-ULTDRMGN.js';
9
+ import './tokens-CEJVVA3G.css';
7
10
  import './shared-NJHRNLRH.css';
8
- import './DateTimePicker-DRX7XA74.css';
11
+ import './DateTimePicker-EWSISVIF.css';
9
12
  import * as React from 'react';
10
13
  import { createPortal } from 'react-dom';
11
- import { jsxs, jsx } from 'react/jsx-runtime';
14
+ import { jsx, jsxs } from 'react/jsx-runtime';
12
15
 
13
16
  var pad = (value) => String(value).padStart(2, "0");
17
+ var MAX_DAY_AVAILABILITY_PROBES = 4096;
18
+ var MAX_EAGER_CALENDAR_CANDIDATES = 256;
14
19
  var clampStep = (value) => {
15
20
  if (!Number.isFinite(value) || !value || value < 1) return 1;
16
21
  return Math.floor(value);
17
22
  };
18
23
  var isValidDate = (date) => date instanceof Date && !Number.isNaN(date.getTime());
19
24
  var startOfDay = (date) => new Date(date.getFullYear(), date.getMonth(), date.getDate());
20
- var isSameDay = (a, b) => a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
21
25
  var normalizeDateTime = (date, includeSecond) => {
22
26
  const normalized = new Date(date);
23
27
  if (!includeSecond) normalized.setSeconds(0);
@@ -34,11 +38,6 @@ var composeDateTime = (date, time, includeSecond) => {
34
38
  next.setHours(time.hour, time.minute, includeSecond ? time.second : 0, 0);
35
39
  return next;
36
40
  };
37
- var composeTime = (base, key, value) => ({
38
- hour: key === "hour" ? value : base.hour,
39
- minute: key === "minute" ? value : base.minute,
40
- second: key === "second" ? value : base.second
41
- });
42
41
  var byDistanceFrom = (preferred) => (a, b) => Math.abs(a - preferred) - Math.abs(b - preferred) || a - b;
43
42
  var buildOptions = (max, step, selected) => {
44
43
  const safeStep = clampStep(step);
@@ -84,12 +83,13 @@ var parseDateTimeInput = (input, includeSecond) => {
84
83
  return date;
85
84
  };
86
85
  var getNow = (includeSecond) => normalizeDateTime(/* @__PURE__ */ new Date(), includeSecond);
87
- var DateTimePicker = React.forwardRef(
86
+ var DateTimePickerBase = React.forwardRef(
88
87
  ({
89
88
  value,
90
89
  defaultValue = null,
91
90
  onChange,
92
91
  format = "YYYY-MM-DD HH:mm",
92
+ parse,
93
93
  showSecond,
94
94
  placeholder = "\u8BF7\u9009\u62E9\u65E5\u671F\u65F6\u95F4",
95
95
  disabled,
@@ -112,6 +112,12 @@ var DateTimePicker = React.forwardRef(
112
112
  dropdownClassName = "",
113
113
  className = "",
114
114
  onKeyDown,
115
+ id: fieldId,
116
+ "aria-invalid": ariaInvalid,
117
+ "aria-describedby": ariaDescribedBy,
118
+ "aria-labelledby": ariaLabelledBy,
119
+ "aria-required": ariaRequired,
120
+ "aria-label": ariaLabel,
115
121
  ...rest
116
122
  }, ref) => {
117
123
  const includeSecond = showSecond ?? format === "YYYY-MM-DD HH:mm:ss";
@@ -134,6 +140,7 @@ var DateTimePicker = React.forwardRef(
134
140
  const open = openControlled ? !!openProp : innerOpen;
135
141
  const [compactPanel, setCompactPanel] = React.useState(false);
136
142
  const [calendarViewDate, setCalendarViewDate] = React.useState(null);
143
+ const [calendarVisibleDate, setCalendarVisibleDate] = React.useState(null);
137
144
  const wasOpenRef = React.useRef(false);
138
145
  const scrollSignatureRef = React.useRef(null);
139
146
  const scrollFramesRef = React.useRef(/* @__PURE__ */ new Map());
@@ -152,13 +159,23 @@ var DateTimePicker = React.forwardRef(
152
159
  setOpen
153
160
  });
154
161
  const rootRef = React.useRef(null);
155
- const panelRef = React.useRef(null);
156
- const { triggerRef, floatingStyle } = useFloating({
162
+ const panelId = React.useId();
163
+ const portalContainer = usePortalContainer();
164
+ const portalTheme = useComponentPortalTheme("DateTimePicker");
165
+ const { triggerRef, floatingRef: panelRef, floatingStyle, zIndex: panelZIndex } = useFloating({
157
166
  open,
158
167
  placement,
159
168
  panelWidth: compactPanel ? 332 : 476,
160
169
  panelHeight: compactPanel ? includeSecond ? 492 : 468 : 328
161
170
  });
171
+ useOverlayLayer({
172
+ open: open && !disabled && !readOnly && portalContainer != null,
173
+ containerRef: panelRef,
174
+ ownerRef: triggerRef,
175
+ zIndex: panelZIndex,
176
+ onEscape: () => setOpen(false),
177
+ restoreFocus: true
178
+ });
162
179
  const setRootRef = React.useCallback(
163
180
  (node) => {
164
181
  rootRef.current = node;
@@ -169,7 +186,7 @@ var DateTimePicker = React.forwardRef(
169
186
  [ref, triggerRef]
170
187
  );
171
188
  React.useEffect(() => {
172
- if (typeof window === "undefined") return;
189
+ if (typeof window === "undefined" || typeof window.matchMedia !== "function") return;
173
190
  const media = window.matchMedia("(max-width: 640px)");
174
191
  const update = () => setCompactPanel(media.matches);
175
192
  update();
@@ -193,15 +210,18 @@ var DateTimePicker = React.forwardRef(
193
210
  },
194
211
  [disabledDate, normalizedMax, normalizedMin]
195
212
  );
196
- const isDisabledDateTime = React.useCallback(
213
+ const isDisabledTimeOnEnabledDay = React.useCallback(
197
214
  (date) => {
198
215
  const normalized = normalizeDateTime(date, includeSecond);
199
- if (isDisabledDay(normalized)) return true;
200
216
  if (normalizedMin && normalized < normalizedMin) return true;
201
217
  if (normalizedMax && normalized > normalizedMax) return true;
202
218
  return disabledTime?.(getTimeParts(normalized), startOfDay(normalized)) ?? false;
203
219
  },
204
- [disabledTime, includeSecond, isDisabledDay, normalizedMax, normalizedMin]
220
+ [disabledTime, includeSecond, normalizedMax, normalizedMin]
221
+ );
222
+ const isDisabledDateTime = React.useCallback(
223
+ (date) => isDisabledDay(date) || isDisabledTimeOnEnabledDay(date),
224
+ [isDisabledDay, isDisabledTimeOnEnabledDay]
205
225
  );
206
226
  const commit = React.useCallback(
207
227
  (next, close = false) => {
@@ -230,20 +250,16 @@ var DateTimePicker = React.forwardRef(
230
250
  if (panelRef.current?.contains(target)) return;
231
251
  setOpen(false);
232
252
  };
233
- const onDocKey = (event) => {
234
- if (event.key === "Escape") setOpen(false);
235
- };
236
253
  document.addEventListener("mousedown", onDown);
237
- document.addEventListener("keydown", onDocKey);
238
254
  return () => {
239
255
  document.removeEventListener("mousedown", onDown);
240
- document.removeEventListener("keydown", onDocKey);
241
256
  };
242
257
  }, [open, setOpen]);
243
258
  const scrollListTo = React.useCallback(
244
259
  (list, top, animate) => {
245
260
  const frame = scrollFramesRef.current.get(list);
246
261
  if (frame != null) cancelAnimationFrame(frame);
262
+ scrollFramesRef.current.delete(list);
247
263
  if (!animate) {
248
264
  list.scrollTop = top;
249
265
  return;
@@ -273,7 +289,8 @@ var DateTimePicker = React.forwardRef(
273
289
  );
274
290
  React.useEffect(() => {
275
291
  if (!open) return;
276
- const shouldAnimate = wasOpenRef.current && scrollSignatureRef.current != null && scrollSignatureRef.current !== scrollSignature;
292
+ const prefersReducedMotion = typeof window.matchMedia === "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
293
+ const shouldAnimate = !prefersReducedMotion && wasOpenRef.current && scrollSignatureRef.current != null && scrollSignatureRef.current !== scrollSignature;
277
294
  requestAnimationFrame(() => {
278
295
  panelRef.current?.querySelectorAll(".date-time-picker-time-list").forEach((list) => {
279
296
  const selected = list.querySelector(".date-time-picker-time-option.selected");
@@ -290,6 +307,7 @@ var DateTimePicker = React.forwardRef(
290
307
  wasOpenRef.current = false;
291
308
  scrollSignatureRef.current = null;
292
309
  setCalendarViewDate(null);
310
+ setCalendarVisibleDate(null);
293
311
  }, [open]);
294
312
  React.useEffect(
295
313
  () => () => {
@@ -304,37 +322,95 @@ var DateTimePicker = React.forwardRef(
304
322
  const hourOptions = buildOptions(23, hourStep, timeParts.hour);
305
323
  const minuteOptions = buildOptions(59, minuteStep, timeParts.minute);
306
324
  const secondOptions = buildOptions(59, secondStep, timeParts.second);
307
- const findAvailableTime = (key, value2) => {
308
- const preferred = composeTime(timeParts, key, value2);
309
- if (!isDisabledDateTime(composeDateTime(selectedDay, preferred, includeSecond))) {
310
- return preferred;
325
+ const sortedHourOptions = [...hourOptions].sort(byDistanceFrom(timeParts.hour));
326
+ const sortedMinuteOptions = [...minuteOptions].sort(byDistanceFrom(timeParts.minute));
327
+ const sortedSecondOptions = includeSecond ? [...secondOptions].sort(byDistanceFrom(timeParts.second)) : [0];
328
+ const dayCandidateCount = sortedHourOptions.length * sortedMinuteOptions.length * sortedSecondOptions.length;
329
+ const availabilityCache = React.useMemo(
330
+ () => /* @__PURE__ */ new Map(),
331
+ [
332
+ disabledDate,
333
+ disabledTime,
334
+ hourStep,
335
+ includeSecond,
336
+ minuteStep,
337
+ normalizedMax?.getTime(),
338
+ normalizedMin?.getTime(),
339
+ secondStep,
340
+ timeParts.hour,
341
+ timeParts.minute,
342
+ timeParts.second
343
+ ]
344
+ );
345
+ const getDayAvailability = (date) => {
346
+ const dayKey = startOfDay(date).getTime();
347
+ const cached = availabilityCache.get(dayKey);
348
+ if (cached) return cached;
349
+ const availability = {
350
+ closestDateTime: null,
351
+ byPart: {
352
+ hour: /* @__PURE__ */ new Map(),
353
+ minute: /* @__PURE__ */ new Map(),
354
+ second: /* @__PURE__ */ new Map()
355
+ },
356
+ complete: false
357
+ };
358
+ availabilityCache.set(dayKey, availability);
359
+ const day = startOfDay(date);
360
+ if (isDisabledDay(day)) {
361
+ availability.complete = true;
362
+ return availability;
311
363
  }
312
- const hours = key === "hour" ? [value2] : [...hourOptions].sort(byDistanceFrom(timeParts.hour));
313
- const minutes = key === "minute" ? [value2] : [...minuteOptions].sort(byDistanceFrom(timeParts.minute));
314
- const seconds = key === "second" ? [value2] : includeSecond ? [...secondOptions].sort(byDistanceFrom(timeParts.second)) : [0];
315
- for (const hour of hours) {
316
- for (const minute of minutes) {
317
- for (const second of seconds) {
318
- const candidate = { hour, minute, second };
319
- if (!isDisabledDateTime(composeDateTime(selectedDay, candidate, includeSecond))) {
320
- return candidate;
364
+ const visited = /* @__PURE__ */ new Set();
365
+ const inspectCandidate = (time) => {
366
+ const key = `${time.hour}:${time.minute}:${time.second}`;
367
+ if (visited.has(key) || visited.size >= MAX_DAY_AVAILABILITY_PROBES) return;
368
+ visited.add(key);
369
+ const candidate = composeDateTime(day, time, includeSecond);
370
+ if (isDisabledTimeOnEnabledDay(candidate)) return;
371
+ availability.closestDateTime ?? (availability.closestDateTime = candidate);
372
+ availability.byPart.hour.set(time.hour, availability.byPart.hour.get(time.hour) ?? time);
373
+ availability.byPart.minute.set(time.minute, availability.byPart.minute.get(time.minute) ?? time);
374
+ availability.byPart.second.set(time.second, availability.byPart.second.get(time.second) ?? time);
375
+ };
376
+ const allPartsCovered = () => availability.byPart.hour.size === hourOptions.length && availability.byPart.minute.size === minuteOptions.length && availability.byPart.second.size === sortedSecondOptions.length;
377
+ inspectCandidate(timeParts);
378
+ sortedHourOptions.forEach((hour) => inspectCandidate({ ...timeParts, hour }));
379
+ sortedMinuteOptions.forEach((minute) => inspectCandidate({ ...timeParts, minute }));
380
+ sortedSecondOptions.forEach((second) => inspectCandidate({ ...timeParts, second }));
381
+ scanCandidates:
382
+ for (const minute of sortedMinuteOptions) {
383
+ for (const second of sortedSecondOptions) {
384
+ for (const hour of sortedHourOptions) {
385
+ if (visited.size >= MAX_DAY_AVAILABILITY_PROBES || allPartsCovered()) {
386
+ break scanCandidates;
387
+ }
388
+ inspectCandidate({ hour, minute, second });
321
389
  }
322
390
  }
323
391
  }
392
+ availability.complete = visited.size >= dayCandidateCount;
393
+ return availability;
394
+ };
395
+ const findAvailableTime = (key, value2) => {
396
+ return getDayAvailability(selectedDay).byPart[key].get(value2) ?? null;
397
+ };
398
+ const findAvailableDateTimeOnDay = (date) => {
399
+ return getDayAvailability(date).closestDateTime;
400
+ };
401
+ const isCalendarDayDisabled = (date) => {
402
+ if (isDisabledDay(date)) return true;
403
+ const visible = calendarVisibleDate ?? calendarViewDate ?? selectedDay;
404
+ if (date.getFullYear() !== visible.getFullYear() || date.getMonth() !== visible.getMonth()) {
405
+ return false;
324
406
  }
325
- return null;
407
+ if (dayCandidateCount > MAX_EAGER_CALENDAR_CANDIDATES) return false;
408
+ const availability = getDayAvailability(date);
409
+ return availability.complete && availability.closestDateTime == null;
326
410
  };
327
411
  const handleDatePick = (date) => {
328
- const next = composeDateTime(date, timeParts, includeSecond);
329
- if (normalizedMin && isSameDay(next, normalizedMin) && next < normalizedMin) {
330
- commit(normalizedMin);
331
- return;
332
- }
333
- if (normalizedMax && isSameDay(next, normalizedMax) && next > normalizedMax) {
334
- commit(normalizedMax);
335
- return;
336
- }
337
- commit(next);
412
+ const available = findAvailableDateTimeOnDay(date);
413
+ if (available) commit(available);
338
414
  };
339
415
  const pickTime = (key, nextValue) => {
340
416
  const nextTime = findAvailableTime(key, nextValue);
@@ -349,12 +425,8 @@ var DateTimePicker = React.forwardRef(
349
425
  setDraft(formatDateTime(current, format, includeSecond));
350
426
  return;
351
427
  }
352
- if (typeof format === "function") {
353
- setDraft(formatDateTime(current, format, includeSecond));
354
- return;
355
- }
356
- const parsed = parseDateTimeInput(draft, includeSecond);
357
- if (!parsed || isDisabledDateTime(parsed)) {
428
+ const parsed = parse ? parse(draft) : typeof format === "function" ? null : parseDateTimeInput(draft, includeSecond);
429
+ if (!isValidDate(parsed) || isDisabledDateTime(parsed)) {
358
430
  setDraft(formatDateTime(current, format, includeSecond));
359
431
  return;
360
432
  }
@@ -372,6 +444,20 @@ var DateTimePicker = React.forwardRef(
372
444
  setOpen(false);
373
445
  }
374
446
  };
447
+ const handleTimeOptionKeyDown = (event) => {
448
+ const list = event.currentTarget.parentElement;
449
+ if (!list) return;
450
+ const options = Array.from(list.querySelectorAll("button:not(:disabled)"));
451
+ const index = options.indexOf(event.currentTarget);
452
+ let nextIndex = index;
453
+ if (event.key === "ArrowDown" || event.key === "ArrowRight") nextIndex = index + 1;
454
+ else if (event.key === "ArrowUp" || event.key === "ArrowLeft") nextIndex = index - 1;
455
+ else if (event.key === "Home") nextIndex = 0;
456
+ else if (event.key === "End") nextIndex = options.length - 1;
457
+ else return;
458
+ event.preventDefault();
459
+ options[Math.max(0, Math.min(options.length - 1, nextIndex))]?.focus();
460
+ };
375
461
  const renderTimeColumn = (label, key, options) => /* @__PURE__ */ jsxs("div", { className: "date-time-picker-time-column", children: [
376
462
  /* @__PURE__ */ jsx("div", { className: "date-time-picker-time-label", children: label }),
377
463
  /* @__PURE__ */ jsx("div", { className: "date-time-picker-time-list", role: "listbox", "aria-label": label, children: options.map((option) => {
@@ -386,6 +472,7 @@ var DateTimePicker = React.forwardRef(
386
472
  disabled: optionDisabled,
387
473
  className: `date-time-picker-time-option ${selected ? "selected" : ""}`,
388
474
  onClick: () => pickTime(key, option),
475
+ onKeyDown: handleTimeOptionKeyDown,
389
476
  children: pad(option)
390
477
  },
391
478
  option
@@ -403,10 +490,16 @@ var DateTimePicker = React.forwardRef(
403
490
  invalid && "invalid",
404
491
  className
405
492
  ].filter(Boolean).join(" ");
406
- return /* @__PURE__ */ jsxs("div", { ref: setRootRef, className: rootClassName, onKeyDown: handleRootKeyDown, ...rest, children: [
493
+ return /* @__PURE__ */ jsx("div", { ref: setRootRef, className: rootClassName, onKeyDown: handleRootKeyDown, ...rest, children: /* @__PURE__ */ jsxs(InternalComponentThemePart, { components: ["Input", "Calendar", "Button"], children: [
407
494
  /* @__PURE__ */ jsx(
408
495
  Input,
409
496
  {
497
+ id: fieldId,
498
+ "aria-label": ariaLabel,
499
+ "aria-labelledby": ariaLabelledBy,
500
+ "aria-invalid": ariaInvalid,
501
+ "aria-required": ariaRequired,
502
+ "aria-describedby": ariaDescribedBy,
410
503
  value: draft,
411
504
  size,
412
505
  placeholder,
@@ -420,17 +513,21 @@ var DateTimePicker = React.forwardRef(
420
513
  onBlur: handleInputBlur,
421
514
  inputMode: "numeric",
422
515
  "aria-expanded": open,
423
- "aria-haspopup": "dialog"
516
+ "aria-haspopup": "dialog",
517
+ "aria-controls": open ? panelId : void 0
424
518
  }
425
519
  ),
426
- open && !disabled && !readOnly && typeof document !== "undefined" && createPortal(
520
+ open && !disabled && !readOnly && portalContainer && createPortal(
427
521
  /* @__PURE__ */ jsxs(
428
522
  "div",
429
523
  {
430
524
  ref: panelRef,
525
+ id: panelId,
431
526
  className: `date-time-picker-panel ${includeSecond ? "with-second" : "without-second"} ${mergedPanelClassName}`,
432
527
  role: "dialog",
433
- style: floatingStyle,
528
+ "aria-label": "\u9009\u62E9\u65E5\u671F\u548C\u65F6\u95F4",
529
+ ...portalTheme.dataAttributes,
530
+ style: { ...floatingStyle, ...portalTheme.style, ...portalTheme.styles.popup },
434
531
  children: [
435
532
  /* @__PURE__ */ jsxs("div", { className: "date-time-picker-body", children: [
436
533
  /* @__PURE__ */ jsx(
@@ -440,7 +537,8 @@ var DateTimePicker = React.forwardRef(
440
537
  viewDate: calendarViewDate ?? void 0,
441
538
  min: normalizedMin ? startOfDay(normalizedMin) : void 0,
442
539
  max: normalizedMax ? startOfDay(normalizedMax) : void 0,
443
- disabledDate: isDisabledDay,
540
+ disabledDate: isCalendarDayDisabled,
541
+ onViewChange: setCalendarVisibleDate,
444
542
  onChange: handleDatePick
445
543
  }
446
544
  ),
@@ -459,6 +557,7 @@ var DateTimePicker = React.forwardRef(
459
557
  disabled: isDisabledDateTime(today),
460
558
  onClick: () => {
461
559
  setCalendarViewDate(today);
560
+ setCalendarVisibleDate(today);
462
561
  commit(today);
463
562
  },
464
563
  children: "\u73B0\u5728"
@@ -479,11 +578,16 @@ var DateTimePicker = React.forwardRef(
479
578
  ]
480
579
  }
481
580
  ),
482
- document.body
581
+ portalContainer
483
582
  )
484
- ] });
583
+ ] }) });
485
584
  }
486
585
  );
487
- DateTimePicker.displayName = "DateTimePicker";
586
+ DateTimePickerBase.displayName = "DateTimePicker";
587
+ var DateTimePicker = withComponentTheme(
588
+ DateTimePickerBase,
589
+ "DateTimePicker",
590
+ ["date-time-picker", "calendar", "input", "button"]
591
+ );
488
592
 
489
593
  export { DateTimePicker };
@@ -1,12 +1,12 @@
1
- import './tokens-RYJ3DFTU.css';
1
+ import { withComponentTheme } from './chunk-DRDDQCDD.js';
2
+ import './tokens-CEJVVA3G.css';
2
3
  import './shared-NJHRNLRH.css';
3
- import './Skeleton-CVWH2VWN.css';
4
+ import './Skeleton-FMFE3BRI.css';
4
5
  import * as React from 'react';
5
6
  import { jsx, jsxs } from 'react/jsx-runtime';
6
7
 
7
- // src/components/Skeleton/Skeleton.tsx
8
8
  var AVATAR_SIZE_PX = { sm: 32, md: 40, lg: 56 };
9
- var Skeleton = React.forwardRef(({
9
+ var SkeletonBase = React.forwardRef(({
10
10
  width = "100%",
11
11
  height = 16,
12
12
  circle,
@@ -26,6 +26,7 @@ var Skeleton = React.forwardRef(({
26
26
  ref,
27
27
  className: `skeleton ${animation} ${circle ? "circle" : ""} ${className}`.trim(),
28
28
  style: { width, height, borderRadius: circle ? "50%" : void 0, ...style },
29
+ "aria-hidden": "true",
29
30
  ...rest
30
31
  }
31
32
  );
@@ -48,6 +49,7 @@ var Skeleton = React.forwardRef(({
48
49
  ref,
49
50
  className: `skeleton-box ${className}`.trim(),
50
51
  style,
52
+ "aria-hidden": "true",
51
53
  ...rest,
52
54
  children: [
53
55
  avatarCfg && /* @__PURE__ */ jsx(
@@ -83,6 +85,7 @@ var Skeleton = React.forwardRef(({
83
85
  }
84
86
  );
85
87
  });
86
- Skeleton.displayName = "Skeleton";
88
+ SkeletonBase.displayName = "Skeleton";
89
+ var Skeleton = withComponentTheme(SkeletonBase, "Skeleton", "skeleton");
87
90
 
88
91
  export { Skeleton };