@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,9 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkYB3IWIOJ_cjs = require('./chunk-YB3IWIOJ.cjs');
4
- require('./tokens-RYJ3DFTU.css');
3
+ var chunkFJB3243S_cjs = require('./chunk-FJB3243S.cjs');
4
+ var chunkSTQDKMS5_cjs = require('./chunk-STQDKMS5.cjs');
5
+ var chunkHSDMJUB6_cjs = require('./chunk-HSDMJUB6.cjs');
6
+ var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
7
+ var chunkEE5KXDRK_cjs = require('./chunk-EE5KXDRK.cjs');
8
+ require('./tokens-CEJVVA3G.css');
5
9
  require('./shared-NJHRNLRH.css');
6
- require('./ColorPicker-LPG6QPYF.css');
10
+ require('./ColorPicker-GRZOKR5O.css');
7
11
  var React = require('react');
8
12
  var reactDom = require('react-dom');
9
13
  var jsxRuntime = require('react/jsx-runtime');
@@ -90,6 +94,16 @@ var hexToHsv = (hex) => {
90
94
  return rgb ? rgbToHsv(...rgb) : null;
91
95
  };
92
96
  var hsvToHex = (h, s, v) => rgbToHex(...hsvToRgb(h, s, v));
97
+ function supportsDomRef(type) {
98
+ if (typeof type === "string") return type !== "svg";
99
+ if (typeof type !== "object" || type == null) return false;
100
+ const marker = type.$$typeof;
101
+ if (marker === /* @__PURE__ */ Symbol.for("react.memo")) {
102
+ return supportsDomRef(type.type);
103
+ }
104
+ const displayName = type.displayName;
105
+ return marker === /* @__PURE__ */ Symbol.for("react.forward_ref") && (displayName === "Button" || displayName === "IconButton");
106
+ }
93
107
  var DEFAULT_PRESETS = [
94
108
  "#ff6b6b",
95
109
  "#ffa94d",
@@ -134,6 +148,17 @@ var SaturationBoard = ({ hue, s, v, onChange }) => {
134
148
  el.addEventListener("pointerup", up);
135
149
  el.addEventListener("pointercancel", up);
136
150
  };
151
+ const handleKeyDown = (event) => {
152
+ let nextS = s;
153
+ let nextV = v;
154
+ if (event.key === "ArrowLeft") nextS -= 1;
155
+ else if (event.key === "ArrowRight") nextS += 1;
156
+ else if (event.key === "ArrowDown") nextV -= 1;
157
+ else if (event.key === "ArrowUp") nextV += 1;
158
+ else return;
159
+ event.preventDefault();
160
+ onChange(clamp(nextS, 0, 100), clamp(nextV, 0, 100), true);
161
+ };
137
162
  return /* @__PURE__ */ jsxRuntime.jsxs(
138
163
  "div",
139
164
  {
@@ -141,6 +166,14 @@ var SaturationBoard = ({ hue, s, v, onChange }) => {
141
166
  className: "cp-board",
142
167
  style: { background: `hsl(${hue}, 100%, 50%)` },
143
168
  onPointerDown: handlePointerDown,
169
+ onKeyDown: handleKeyDown,
170
+ tabIndex: 0,
171
+ role: "slider",
172
+ "aria-label": "\u989C\u8272\u9971\u548C\u5EA6\u4E0E\u660E\u5EA6",
173
+ "aria-valuemin": 0,
174
+ "aria-valuemax": 100,
175
+ "aria-valuenow": Math.round(s),
176
+ "aria-valuetext": `\u9971\u548C\u5EA6 ${Math.round(s)}%\uFF0C\u660E\u5EA6 ${Math.round(v)}%`,
144
177
  children: [
145
178
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cp-board-white" }),
146
179
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cp-board-black" }),
@@ -180,15 +213,40 @@ var HueSlider = ({ hue, onChange }) => {
180
213
  el.addEventListener("pointerup", up);
181
214
  el.addEventListener("pointercancel", up);
182
215
  };
183
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: "cp-hue", onPointerDown: handlePointerDown, children: /* @__PURE__ */ jsxRuntime.jsx(
216
+ const handleKeyDown = (event) => {
217
+ let next = hue;
218
+ if (event.key === "ArrowLeft" || event.key === "ArrowDown") next -= 1;
219
+ else if (event.key === "ArrowRight" || event.key === "ArrowUp") next += 1;
220
+ else if (event.key === "Home") next = 0;
221
+ else if (event.key === "End") next = 360;
222
+ else return;
223
+ event.preventDefault();
224
+ onChange(clamp(next, 0, 360), true);
225
+ };
226
+ return /* @__PURE__ */ jsxRuntime.jsx(
184
227
  "div",
185
228
  {
186
- className: "cp-hue-thumb",
187
- style: { left: `${hue / 360 * 100}%` }
229
+ ref,
230
+ className: "cp-hue",
231
+ onPointerDown: handlePointerDown,
232
+ onKeyDown: handleKeyDown,
233
+ tabIndex: 0,
234
+ role: "slider",
235
+ "aria-label": "\u8272\u76F8",
236
+ "aria-valuemin": 0,
237
+ "aria-valuemax": 360,
238
+ "aria-valuenow": Math.round(hue),
239
+ children: /* @__PURE__ */ jsxRuntime.jsx(
240
+ "div",
241
+ {
242
+ className: "cp-hue-thumb",
243
+ style: { left: `${hue / 360 * 100}%` }
244
+ }
245
+ )
188
246
  }
189
- ) });
247
+ );
190
248
  };
191
- var ColorPicker = React__namespace.forwardRef(
249
+ var ColorPickerBase = React__namespace.forwardRef(
192
250
  (props, ref) => {
193
251
  const {
194
252
  value,
@@ -207,6 +265,8 @@ var ColorPicker = React__namespace.forwardRef(
207
265
  className = "",
208
266
  style,
209
267
  onClick,
268
+ onKeyDown,
269
+ tabIndex,
210
270
  ...rest
211
271
  } = props;
212
272
  const isControlled = value != null;
@@ -216,21 +276,49 @@ var ColorPicker = React__namespace.forwardRef(
216
276
  const current = normalizeHex((isControlled ? value : internal) ?? "") ?? "#845ef7";
217
277
  const isOpenControlled = openProp != null;
218
278
  const [openState, setOpenState] = React__namespace.useState(defaultOpen);
219
- const open = isOpenControlled ? !!openProp : openState;
279
+ const open = !disabled && (isOpenControlled ? !!openProp : openState);
220
280
  const setOpen = (next) => {
221
281
  if (!isOpenControlled) setOpenState(next);
222
282
  onOpenChange?.(next);
223
283
  };
284
+ React__namespace.useEffect(() => {
285
+ if (!disabled || isOpenControlled || !openState) return;
286
+ setOpenState(false);
287
+ onOpenChange?.(false);
288
+ }, [disabled, isOpenControlled, onOpenChange, openState]);
224
289
  const [inputText, setInputText] = React__namespace.useState(current);
290
+ const [wrappedHasInteractiveChild, setWrappedHasInteractiveChild] = React__namespace.useState(false);
225
291
  React__namespace.useEffect(() => setInputText(current), [current]);
226
- const { triggerRef, floatingStyle } = chunkYB3IWIOJ_cjs.useFloating({
292
+ const { triggerRef, floatingRef: panelRef, floatingStyle, zIndex: panelZIndex } = chunkFJB3243S_cjs.useFloating({
227
293
  open,
228
294
  placement,
229
295
  panelWidth: 256,
230
296
  panelHeight: 300
231
297
  });
232
- const panelRef = React__namespace.useRef(null);
233
- React__namespace.useImperativeHandle(ref, () => triggerRef.current);
298
+ const portalContainer = chunkEE5KXDRK_cjs.usePortalContainer();
299
+ const portalTheme = chunkNRJXZPZR_cjs.useComponentPortalTheme(["ColorPicker", "ThemePanel"]);
300
+ const panelId = React__namespace.useId();
301
+ chunkHSDMJUB6_cjs.useOverlayLayer({
302
+ open: open && !disabled && portalContainer != null,
303
+ containerRef: panelRef,
304
+ ownerRef: triggerRef,
305
+ zIndex: panelZIndex,
306
+ onEscape: () => setOpen(false),
307
+ restoreFocus: true
308
+ });
309
+ const setTriggerRef = React__namespace.useCallback((node) => {
310
+ triggerRef.current = node;
311
+ if (typeof ref === "function") ref(node);
312
+ else if (ref) ref.current = node;
313
+ }, [ref, triggerRef]);
314
+ const setWrappedTriggerRef = React__namespace.useCallback((node) => {
315
+ setTriggerRef(node);
316
+ if (!node) return;
317
+ const hasInteractiveChild = !!node?.querySelector(
318
+ "button,input,select,textarea,a[href],[role='button'],[role='link']"
319
+ );
320
+ setWrappedHasInteractiveChild(hasInteractiveChild);
321
+ }, [setTriggerRef]);
234
322
  React__namespace.useEffect(() => {
235
323
  if (!open) return;
236
324
  const onDown = (e) => {
@@ -239,14 +327,9 @@ var ColorPicker = React__namespace.forwardRef(
239
327
  if (panelRef.current?.contains(t)) return;
240
328
  setOpen(false);
241
329
  };
242
- const onKey = (e) => {
243
- if (e.key === "Escape") setOpen(false);
244
- };
245
330
  document.addEventListener("mousedown", onDown);
246
- document.addEventListener("keydown", onKey);
247
331
  return () => {
248
332
  document.removeEventListener("mousedown", onDown);
249
- document.removeEventListener("keydown", onKey);
250
333
  };
251
334
  }, [open]);
252
335
  const commit = (hex, done) => {
@@ -275,38 +358,121 @@ var ColorPicker = React__namespace.forwardRef(
275
358
  e.target.blur();
276
359
  }
277
360
  };
361
+ const handleInputChange = (next) => {
362
+ setInputText(next);
363
+ const digits = next.trim().replace(/^#/, "");
364
+ if (digits.length === 6 && normalizeHex(next)) commit(next, false);
365
+ };
366
+ const childElement = React__namespace.isValidElement(children) ? children : null;
367
+ const childSupportsRef = childElement ? supportsDomRef(childElement.type) : false;
368
+ const childType = childElement && typeof childElement.type === "string" ? childElement.type : void 0;
369
+ const nativeInteractive = childType === "button" || childType === "input" || childType === "select" || childType === "textarea" || childType === "a" && childElement?.props.href != null;
370
+ const handleCustomClick = (event) => {
371
+ if (disabled) {
372
+ event.preventDefault();
373
+ event.stopPropagation();
374
+ return;
375
+ }
376
+ childElement?.props.onClick?.(event);
377
+ onClick?.(event);
378
+ if (!event.defaultPrevented) setOpen(!open);
379
+ };
380
+ const handleWrappedClick = (event) => {
381
+ if (disabled) {
382
+ event.preventDefault();
383
+ event.stopPropagation();
384
+ return;
385
+ }
386
+ onClick?.(event);
387
+ if (!event.defaultPrevented) setOpen(!open);
388
+ };
389
+ const handleCustomKeyDown = (event) => {
390
+ childElement?.props.onKeyDown?.(event);
391
+ onKeyDown?.(event);
392
+ if (event.defaultPrevented || disabled) return;
393
+ const current2 = event.currentTarget;
394
+ const handlesKeyboardNatively = current2.matches("button,input,select,textarea") || current2.matches("a") && current2.hasAttribute("href");
395
+ if (!handlesKeyboardNatively && (event.key === "Enter" || event.key === " ")) {
396
+ event.preventDefault();
397
+ setOpen(!open);
398
+ }
399
+ };
400
+ const handleWrappedKeyDown = (event) => {
401
+ onKeyDown?.(event);
402
+ if (event.defaultPrevented || disabled) return;
403
+ const target = event.target;
404
+ const handlesKeyboardNatively = target.matches("button,input,select,textarea") || target.matches("a") && target.hasAttribute("href");
405
+ if (!handlesKeyboardNatively && (event.key === "Enter" || event.key === " ")) {
406
+ event.preventDefault();
407
+ setOpen(!open);
408
+ }
409
+ };
410
+ const customTrigger = childElement && childSupportsRef ? React__namespace.cloneElement(childElement, {
411
+ ...rest,
412
+ ref: setTriggerRef,
413
+ role: childElement.props.role ?? (nativeInteractive ? void 0 : "button"),
414
+ tabIndex: disabled ? -1 : childElement.props.tabIndex ?? tabIndex ?? (nativeInteractive ? void 0 : 0),
415
+ ...childType === "button" || typeof childElement.type !== "string" ? { disabled: childElement.props.disabled ?? disabled } : {},
416
+ "aria-disabled": disabled || void 0,
417
+ "aria-haspopup": "dialog",
418
+ "aria-expanded": open,
419
+ "aria-controls": open ? panelId : void 0,
420
+ onClick: handleCustomClick,
421
+ onKeyDown: handleCustomKeyDown
422
+ }) : null;
423
+ const wrappedCustomTrigger = children != null && !customTrigger ? /* @__PURE__ */ jsxRuntime.jsx(
424
+ "span",
425
+ {
426
+ ...rest,
427
+ ref: setWrappedTriggerRef,
428
+ className: "cp-custom-trigger",
429
+ role: wrappedHasInteractiveChild ? void 0 : "button",
430
+ tabIndex: wrappedHasInteractiveChild ? void 0 : disabled ? -1 : tabIndex ?? 0,
431
+ "aria-disabled": disabled || void 0,
432
+ "aria-haspopup": "dialog",
433
+ "aria-expanded": open,
434
+ "aria-controls": open ? panelId : void 0,
435
+ "aria-label": rest["aria-label"] ?? (typeof children === "string" ? `\u9009\u62E9\u989C\u8272\uFF1A${children}` : void 0),
436
+ onClickCapture: disabled ? (event) => {
437
+ event.preventDefault();
438
+ event.stopPropagation();
439
+ } : rest.onClickCapture,
440
+ onKeyDownCapture: disabled ? (event) => {
441
+ event.preventDefault();
442
+ event.stopPropagation();
443
+ } : rest.onKeyDownCapture,
444
+ onClick: handleWrappedClick,
445
+ onKeyDown: handleWrappedKeyDown,
446
+ children: childElement ? React__namespace.cloneElement(childElement, {
447
+ "aria-haspopup": "dialog",
448
+ "aria-expanded": open,
449
+ "aria-controls": open ? panelId : void 0
450
+ }) : children
451
+ }
452
+ ) : null;
278
453
  return /* @__PURE__ */ jsxRuntime.jsxs(
279
454
  "div",
280
455
  {
281
456
  className: `cp ${placement} ${open ? "open" : ""} ${className}`,
282
457
  style,
283
458
  children: [
284
- children ? /* @__PURE__ */ jsxRuntime.jsx(
285
- "button",
286
- {
287
- type: "button",
288
- ref: triggerRef,
289
- className: "cp-custom-trigger",
290
- disabled,
291
- onClick: (e) => {
292
- onClick?.(e);
293
- if (!disabled) setOpen(!open);
294
- },
295
- ...rest,
296
- children
297
- }
298
- ) : /* @__PURE__ */ jsxRuntime.jsxs(
459
+ customTrigger ? customTrigger : wrappedCustomTrigger ? wrappedCustomTrigger : /* @__PURE__ */ jsxRuntime.jsxs(
299
460
  "button",
300
461
  {
301
462
  type: "button",
302
- ref: triggerRef,
463
+ ref: setTriggerRef,
303
464
  className: `cp-trigger ${size}`,
304
465
  disabled,
466
+ tabIndex,
305
467
  onClick: (e) => {
306
468
  onClick?.(e);
307
469
  if (!disabled) setOpen(!open);
308
470
  },
471
+ onKeyDown,
309
472
  "aria-label": `\u9009\u62E9\u989C\u8272 (\u5F53\u524D ${current})`,
473
+ "aria-haspopup": "dialog",
474
+ "aria-expanded": open,
475
+ "aria-controls": open ? panelId : void 0,
310
476
  style,
311
477
  ...rest,
312
478
  children: [
@@ -315,30 +481,35 @@ var ColorPicker = React__namespace.forwardRef(
315
481
  ]
316
482
  }
317
483
  ),
318
- open && !disabled && typeof document !== "undefined" && reactDom.createPortal(
484
+ open && !disabled && portalContainer && reactDom.createPortal(
319
485
  /* @__PURE__ */ jsxRuntime.jsxs(
320
486
  "div",
321
487
  {
322
488
  ref: panelRef,
489
+ id: panelId,
323
490
  className: "cp-panel",
324
491
  role: "dialog",
325
- style: floatingStyle,
492
+ "aria-label": "\u9009\u62E9\u989C\u8272",
493
+ ...portalTheme.dataAttributes,
494
+ style: { ...floatingStyle, ...portalTheme.style, ...portalTheme.styles.popup },
326
495
  children: [
327
496
  /* @__PURE__ */ jsxRuntime.jsx(SaturationBoard, { hue: h, s, v, onChange: handleBoard }),
328
497
  /* @__PURE__ */ jsxRuntime.jsx(HueSlider, { hue: h, onChange: handleHue }),
329
498
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cp-row", children: [
330
499
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "cp-swatch sm", style: { background: current } }),
331
- /* @__PURE__ */ jsxRuntime.jsx(
332
- "input",
500
+ /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Input", children: /* @__PURE__ */ jsxRuntime.jsx(
501
+ chunkSTQDKMS5_cjs.Input,
333
502
  {
334
503
  className: "cp-input",
504
+ size: "sm",
335
505
  value: inputText,
336
- onChange: (e) => setInputText(e.target.value),
506
+ onValueChange: handleInputChange,
337
507
  onBlur: handleInputBlur,
338
508
  onKeyDown: handleInputKey,
339
- spellCheck: false
509
+ spellCheck: false,
510
+ "aria-label": "\u5341\u516D\u8FDB\u5236\u989C\u8272"
340
511
  }
341
- )
512
+ ) })
342
513
  ] }),
343
514
  presets.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cp-presets", children: presets.map((p) => /* @__PURE__ */ jsxRuntime.jsx(
344
515
  "button",
@@ -354,13 +525,18 @@ var ColorPicker = React__namespace.forwardRef(
354
525
  ]
355
526
  }
356
527
  ),
357
- document.body
528
+ portalContainer
358
529
  )
359
530
  ]
360
531
  }
361
532
  );
362
533
  }
363
534
  );
364
- ColorPicker.displayName = "ColorPicker";
535
+ ColorPickerBase.displayName = "ColorPicker";
536
+ var ColorPicker = chunkNRJXZPZR_cjs.withComponentTheme(
537
+ ColorPickerBase,
538
+ "ColorPicker",
539
+ ["color-picker", "input"]
540
+ );
365
541
 
366
542
  exports.ColorPicker = ColorPicker;
@@ -1,9 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkYB3IWIOJ_cjs = require('./chunk-YB3IWIOJ.cjs');
4
- require('./tokens-RYJ3DFTU.css');
3
+ var chunkFJB3243S_cjs = require('./chunk-FJB3243S.cjs');
4
+ var chunkHSDMJUB6_cjs = require('./chunk-HSDMJUB6.cjs');
5
+ var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
6
+ var chunkEE5KXDRK_cjs = require('./chunk-EE5KXDRK.cjs');
7
+ require('./tokens-CEJVVA3G.css');
5
8
  require('./shared-NJHRNLRH.css');
6
- require('./Popover-Y3LDCJPW.css');
9
+ require('./Popover-LCXLR3EU.css');
7
10
  var React = require('react');
8
11
  var reactDom = require('react-dom');
9
12
  var jsxRuntime = require('react/jsx-runtime');
@@ -33,7 +36,7 @@ var normalizePlacement = (placement) => {
33
36
  const alignCross = placement.endsWith("Left") || placement.endsWith("Top") ? "start" : placement.endsWith("Right") || placement.endsWith("Bottom") ? "end" : "center";
34
37
  return { placement: base, alignCross };
35
38
  };
36
- var Popover = React__namespace.forwardRef(({
39
+ var PopoverBase = React__namespace.forwardRef(({
37
40
  content,
38
41
  title,
39
42
  placement = "bottom",
@@ -53,20 +56,33 @@ var Popover = React__namespace.forwardRef(({
53
56
  onClick,
54
57
  onMouseEnter,
55
58
  onMouseLeave,
59
+ onFocus,
60
+ onBlur,
61
+ "aria-label": ariaLabel,
62
+ style,
56
63
  ...rest
57
64
  }, ref) => {
65
+ const portalContainer = chunkEE5KXDRK_cjs.usePortalContainer();
66
+ const portalTheme = chunkNRJXZPZR_cjs.useComponentPortalTheme("Popover");
58
67
  const [inner, setInner] = React__namespace.useState(defaultOpen);
68
+ const hoverTimeout = React__namespace.useRef();
69
+ const nestedPointerEvents = React__namespace.useRef(/* @__PURE__ */ new WeakSet());
70
+ const popoverId = React__namespace.useId();
71
+ const titleId = React__namespace.useId();
59
72
  const controlledOpen = open ?? visible;
60
73
  const isControlled = controlledOpen !== void 0;
61
74
  const show = isControlled ? controlledOpen : inner;
62
- const panelWidth = width === "auto" ? 160 : width ?? 240;
75
+ const themedPopupStyle = portalTheme.styles.popup;
76
+ const themedPanelWidth = themedPopupStyle?.width ?? themedPopupStyle?.minWidth;
77
+ const panelWidth = width === "auto" ? 160 : width ?? (typeof themedPanelWidth === "number" ? themedPanelWidth : 240);
63
78
  const normalized = normalizePlacement(placement);
64
79
  const {
65
80
  triggerRef,
66
81
  floatingRef,
67
82
  floatingStyle,
68
- placement: resolved
69
- } = chunkYB3IWIOJ_cjs.useFloating({
83
+ placement: resolved,
84
+ zIndex: panelZIndex
85
+ } = chunkFJB3243S_cjs.useFloating({
70
86
  open: show,
71
87
  placement: normalized.placement,
72
88
  panelWidth,
@@ -78,6 +94,22 @@ var Popover = React__namespace.forwardRef(({
78
94
  onOpenChange?.(v);
79
95
  onVisibleChange?.(v);
80
96
  }, [isControlled, onOpenChange, onVisibleChange]);
97
+ const closeFromEscape = React__namespace.useCallback(() => {
98
+ set(false);
99
+ window.requestAnimationFrame(() => {
100
+ const focusTarget = triggerRef.current?.querySelector(
101
+ "button, a[href], input, select, textarea, [tabindex]:not([tabindex='-1'])"
102
+ );
103
+ (focusTarget ?? triggerRef.current)?.focus();
104
+ });
105
+ }, [set, triggerRef]);
106
+ chunkHSDMJUB6_cjs.useOverlayLayer({
107
+ open: show && portalContainer != null,
108
+ containerRef: floatingRef,
109
+ ownerRef: triggerRef,
110
+ zIndex: panelZIndex,
111
+ onEscape: closeFromEscape
112
+ });
81
113
  const setTriggerRef = React__namespace.useCallback(
82
114
  (node) => {
83
115
  triggerRef.current = node;
@@ -87,17 +119,19 @@ var Popover = React__namespace.forwardRef(({
87
119
  [ref, triggerRef]
88
120
  );
89
121
  React__namespace.useEffect(() => {
90
- if (trigger !== "click" || !show) return;
122
+ if (trigger !== "click" || !show || !portalContainer) return;
91
123
  const h = (e) => {
124
+ if (nestedPointerEvents.current.has(e)) return;
92
125
  const t = e.target;
93
126
  if (triggerRef.current?.contains(t)) return;
94
127
  if (floatingRef.current?.contains(t)) return;
95
128
  set(false);
96
129
  };
97
- document.addEventListener("mousedown", h);
98
- return () => document.removeEventListener("mousedown", h);
99
- }, [show, trigger, set, triggerRef, floatingRef]);
100
- const hoverTimeout = React__namespace.useRef();
130
+ const doc = portalContainer.ownerDocument;
131
+ doc.addEventListener("mousedown", h);
132
+ return () => doc.removeEventListener("mousedown", h);
133
+ }, [show, trigger, set, triggerRef, floatingRef, portalContainer]);
134
+ React__namespace.useEffect(() => () => window.clearTimeout(hoverTimeout.current), []);
101
135
  const interact = trigger === "hover" ? {
102
136
  onMouseEnter: () => {
103
137
  window.clearTimeout(hoverTimeout.current);
@@ -106,21 +140,31 @@ var Popover = React__namespace.forwardRef(({
106
140
  onMouseLeave: () => {
107
141
  hoverTimeout.current = window.setTimeout(() => set(false), 100);
108
142
  }
109
- } : { onClick: () => set(!show) };
143
+ } : trigger === "click" ? { onClick: () => set(!show) } : {};
110
144
  const panelHover = trigger === "hover" ? {
111
145
  onMouseEnter: () => window.clearTimeout(hoverTimeout.current),
112
146
  onMouseLeave: () => {
113
147
  hoverTimeout.current = window.setTimeout(() => set(false), 100);
114
148
  }
115
149
  } : {};
116
- const widthStyle = width === "auto" ? {} : { width: width ?? void 0, minWidth: width ? void 0 : 220 };
150
+ const focusRemainsInside = (next) => {
151
+ const node = next;
152
+ return !!node && (!!triggerRef.current?.contains(node) || !!floatingRef.current?.contains(node));
153
+ };
154
+ const triggerChild = React__namespace.cloneElement(children, {
155
+ "aria-haspopup": children.props["aria-haspopup"] ?? "dialog",
156
+ "aria-expanded": show,
157
+ "aria-controls": show ? popoverId : void 0
158
+ });
159
+ const hasThemedPopupWidth = themedPopupStyle?.width != null || themedPopupStyle?.minWidth != null || themedPopupStyle?.maxWidth != null;
160
+ const widthStyle = width === "auto" ? {} : width !== void 0 ? { width } : hasThemedPopupWidth ? {} : { minWidth: 220 };
117
161
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
118
162
  /* @__PURE__ */ jsxRuntime.jsx(
119
163
  "span",
120
164
  {
121
165
  ref: setTriggerRef,
122
166
  className: `popover-anchor ${className}`,
123
- style: { display: "inline-flex", alignSelf: "flex-start" },
167
+ style: { display: "inline-flex", alignSelf: "flex-start", ...style },
124
168
  onClick: (e) => {
125
169
  onClick?.(e);
126
170
  if ("onClick" in interact) interact.onClick?.();
@@ -133,24 +177,57 @@ var Popover = React__namespace.forwardRef(({
133
177
  onMouseLeave?.(e);
134
178
  if ("onMouseLeave" in interact) interact.onMouseLeave?.();
135
179
  },
180
+ onFocus: (e) => {
181
+ onFocus?.(e);
182
+ if (trigger === "hover" || trigger === "focus") {
183
+ window.clearTimeout(hoverTimeout.current);
184
+ set(true);
185
+ }
186
+ },
187
+ onBlur: (e) => {
188
+ onBlur?.(e);
189
+ if ((trigger === "hover" || trigger === "focus") && !focusRemainsInside(e.relatedTarget)) {
190
+ hoverTimeout.current = window.setTimeout(() => set(false), 100);
191
+ }
192
+ },
193
+ "aria-label": ariaLabel,
136
194
  ...rest,
137
- children
195
+ children: triggerChild
138
196
  }
139
197
  ),
140
- show && typeof document !== "undefined" && reactDom.createPortal(
198
+ show && portalContainer && reactDom.createPortal(
141
199
  /* @__PURE__ */ jsxRuntime.jsxs(
142
200
  "div",
143
201
  {
144
202
  ref: floatingRef,
203
+ id: popoverId,
145
204
  className: `popover popover-${resolved} ${overlayClassName} ${popupClassName}`,
146
- style: { ...floatingStyle, ...widthStyle },
205
+ ...portalTheme.dataAttributes,
206
+ style: {
207
+ ...floatingStyle,
208
+ ...portalTheme.style,
209
+ ...portalTheme.styles.popup,
210
+ ...widthStyle
211
+ },
212
+ role: "dialog",
213
+ "aria-labelledby": title ? titleId : void 0,
214
+ "aria-label": !title ? ariaLabel : void 0,
215
+ tabIndex: -1,
216
+ onMouseDownCapture: (e) => nestedPointerEvents.current.add(e.nativeEvent),
217
+ onFocusCapture: () => window.clearTimeout(hoverTimeout.current),
218
+ onBlurCapture: (e) => {
219
+ if ((trigger === "hover" || trigger === "focus") && !focusRemainsInside(e.relatedTarget)) {
220
+ hoverTimeout.current = window.setTimeout(() => set(false), 100);
221
+ }
222
+ },
147
223
  ...panelHover,
148
224
  children: [
149
225
  (title || closable) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "popover-header", children: [
150
- title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "popover-title", children: title }),
226
+ title && /* @__PURE__ */ jsxRuntime.jsx("div", { id: titleId, className: "popover-title", children: title }),
151
227
  closable && /* @__PURE__ */ jsxRuntime.jsx(
152
228
  "button",
153
229
  {
230
+ type: "button",
154
231
  className: "popover-close",
155
232
  onClick: () => set(false),
156
233
  "aria-label": "Close",
@@ -158,15 +235,16 @@ var Popover = React__namespace.forwardRef(({
158
235
  }
159
236
  )
160
237
  ] }),
161
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "popover-body", children: content }),
238
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "popover-body", style: portalTheme.styles.body, children: content }),
162
239
  arrow && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `popover-arrow popover-arrow-${resolved}` })
163
240
  ]
164
241
  }
165
242
  ),
166
- document.body
243
+ portalContainer
167
244
  )
168
245
  ] });
169
246
  });
170
- Popover.displayName = "Popover";
247
+ PopoverBase.displayName = "Popover";
248
+ var Popover = chunkNRJXZPZR_cjs.withComponentTheme(PopoverBase, "Popover", "popover");
171
249
 
172
250
  exports.Popover = Popover;