@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('./DatePicker-VDVSIARF.css');
13
+ require('./DatePicker-ZSFDXAYD.css');
11
14
  var React = require('react');
12
15
  var reactDom = require('react-dom');
13
16
  var jsxRuntime = require('react/jsx-runtime');
@@ -59,12 +62,13 @@ var parseDateInput = (input) => {
59
62
  }
60
63
  return date;
61
64
  };
62
- var DatePicker = React__namespace.forwardRef(
65
+ var DatePickerBase = React__namespace.forwardRef(
63
66
  ({
64
67
  value,
65
68
  defaultValue = null,
66
69
  onChange,
67
70
  format = "YYYY-MM-DD",
71
+ parse,
68
72
  placeholder = "\u8BF7\u9009\u62E9\u65E5\u671F",
69
73
  disabled,
70
74
  readOnly,
@@ -82,6 +86,12 @@ var DatePicker = React__namespace.forwardRef(
82
86
  dropdownClassName = "",
83
87
  className = "",
84
88
  onKeyDown,
89
+ id: fieldId,
90
+ "aria-invalid": ariaInvalid,
91
+ "aria-describedby": ariaDescribedBy,
92
+ "aria-labelledby": ariaLabelledBy,
93
+ "aria-required": ariaRequired,
94
+ "aria-label": ariaLabel,
85
95
  ...rest
86
96
  }, ref) => {
87
97
  const controlled = value !== void 0;
@@ -116,13 +126,23 @@ var DatePicker = React__namespace.forwardRef(
116
126
  setOpen
117
127
  });
118
128
  const rootRef = React__namespace.useRef(null);
119
- const panelRef = React__namespace.useRef(null);
120
- const { triggerRef, floatingStyle } = chunkYB3IWIOJ_cjs.useFloating({
129
+ const panelId = React__namespace.useId();
130
+ const portalContainer = chunkEE5KXDRK_cjs.usePortalContainer();
131
+ const portalTheme = chunkNRJXZPZR_cjs.useComponentPortalTheme("DatePicker");
132
+ const { triggerRef, floatingRef: panelRef, floatingStyle, zIndex: panelZIndex } = chunkFJB3243S_cjs.useFloating({
121
133
  open,
122
134
  placement,
123
135
  panelWidth: 344,
124
136
  panelHeight: 404
125
137
  });
138
+ chunkHSDMJUB6_cjs.useOverlayLayer({
139
+ open: open && !disabled && !readOnly && portalContainer != null,
140
+ containerRef: panelRef,
141
+ ownerRef: triggerRef,
142
+ zIndex: panelZIndex,
143
+ onEscape: () => setOpen(false),
144
+ restoreFocus: true
145
+ });
126
146
  const setRootRef = React__namespace.useCallback(
127
147
  (node) => {
128
148
  rootRef.current = node;
@@ -170,14 +190,9 @@ var DatePicker = React__namespace.forwardRef(
170
190
  if (panelRef.current?.contains(target)) return;
171
191
  setOpen(false);
172
192
  };
173
- const onDocKey = (event) => {
174
- if (event.key === "Escape") setOpen(false);
175
- };
176
193
  document.addEventListener("mousedown", onDown);
177
- document.addEventListener("keydown", onDocKey);
178
194
  return () => {
179
195
  document.removeEventListener("mousedown", onDown);
180
- document.removeEventListener("keydown", onDocKey);
181
196
  };
182
197
  }, [open, setOpen]);
183
198
  const handleInputChange = (next) => {
@@ -189,12 +204,8 @@ var DatePicker = React__namespace.forwardRef(
189
204
  setDraft(formattedCurrent);
190
205
  return;
191
206
  }
192
- if (typeof format === "function") {
193
- setDraft(formattedCurrent);
194
- return;
195
- }
196
- const parsed = parseDateInput(draft);
197
- if (!parsed || isDisabledDate(parsed)) {
207
+ const parsed = parse ? parse(draft) : typeof format === "function" ? null : parseDateInput(draft);
208
+ if (!isValidDate(parsed) || isDisabledDate(parsed)) {
198
209
  setDraft(formattedCurrent);
199
210
  return;
200
211
  }
@@ -224,10 +235,16 @@ var DatePicker = React__namespace.forwardRef(
224
235
  invalid && "invalid",
225
236
  className
226
237
  ].filter(Boolean).join(" ");
227
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: setRootRef, className: rootClassName, onKeyDown: handleRootKeyDown, ...rest, children: [
238
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: setRootRef, className: rootClassName, onKeyDown: handleRootKeyDown, ...rest, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: ["Input", "Calendar", "Button"], children: [
228
239
  /* @__PURE__ */ jsxRuntime.jsx(
229
- chunkVS3I5OKA_cjs.Input,
240
+ chunkSTQDKMS5_cjs.Input,
230
241
  {
242
+ id: fieldId,
243
+ "aria-label": ariaLabel,
244
+ "aria-labelledby": ariaLabelledBy,
245
+ "aria-invalid": ariaInvalid,
246
+ "aria-required": ariaRequired,
247
+ "aria-describedby": ariaDescribedBy,
231
248
  value: draft,
232
249
  size,
233
250
  placeholder,
@@ -241,20 +258,24 @@ var DatePicker = React__namespace.forwardRef(
241
258
  onBlur: handleInputBlur,
242
259
  inputMode: "numeric",
243
260
  "aria-expanded": open,
244
- "aria-haspopup": "dialog"
261
+ "aria-haspopup": "dialog",
262
+ "aria-controls": open ? panelId : void 0
245
263
  }
246
264
  ),
247
- open && !disabled && !readOnly && typeof document !== "undefined" && reactDom.createPortal(
265
+ open && !disabled && !readOnly && portalContainer && reactDom.createPortal(
248
266
  /* @__PURE__ */ jsxRuntime.jsxs(
249
267
  "div",
250
268
  {
251
269
  ref: panelRef,
270
+ id: panelId,
252
271
  className: `date-picker-panel ${mergedPanelClassName}`,
253
272
  role: "dialog",
254
- style: floatingStyle,
273
+ "aria-label": "\u9009\u62E9\u65E5\u671F",
274
+ ...portalTheme.dataAttributes,
275
+ style: { ...floatingStyle, ...portalTheme.style, ...portalTheme.styles.popup },
255
276
  children: [
256
277
  /* @__PURE__ */ jsxRuntime.jsx(
257
- chunk4KDABJSY_cjs.Calendar,
278
+ chunkQNQSNVCU_cjs.Calendar,
258
279
  {
259
280
  value: calendarValue,
260
281
  min: normalizedMin,
@@ -265,7 +286,7 @@ var DatePicker = React__namespace.forwardRef(
265
286
  ),
266
287
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "date-picker-footer", children: [
267
288
  /* @__PURE__ */ jsxRuntime.jsx(
268
- chunkSW2HMNCA_cjs.Button,
289
+ chunkT4RR6NVU_cjs.Button,
269
290
  {
270
291
  size: "sm",
271
292
  variant: "ghost",
@@ -276,7 +297,7 @@ var DatePicker = React__namespace.forwardRef(
276
297
  ),
277
298
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "date-picker-footer-spacer" }),
278
299
  allowClear && /* @__PURE__ */ jsxRuntime.jsx(
279
- chunkSW2HMNCA_cjs.Button,
300
+ chunkT4RR6NVU_cjs.Button,
280
301
  {
281
302
  size: "sm",
282
303
  variant: "ghost",
@@ -284,16 +305,21 @@ var DatePicker = React__namespace.forwardRef(
284
305
  children: "\u6E05\u7A7A"
285
306
  }
286
307
  ),
287
- /* @__PURE__ */ jsxRuntime.jsx(chunkSW2HMNCA_cjs.Button, { size: "sm", variant: "primary", onClick: () => setOpen(false), children: "\u786E\u5B9A" })
308
+ /* @__PURE__ */ jsxRuntime.jsx(chunkT4RR6NVU_cjs.Button, { size: "sm", variant: "primary", onClick: () => setOpen(false), children: "\u786E\u5B9A" })
288
309
  ] })
289
310
  ]
290
311
  }
291
312
  ),
292
- document.body
313
+ portalContainer
293
314
  )
294
- ] });
315
+ ] }) });
295
316
  }
296
317
  );
297
- DatePicker.displayName = "DatePicker";
318
+ DatePickerBase.displayName = "DatePicker";
319
+ var DatePicker = chunkNRJXZPZR_cjs.withComponentTheme(
320
+ DatePickerBase,
321
+ "DatePicker",
322
+ ["date-picker", "calendar", "input", "button"]
323
+ );
298
324
 
299
325
  exports.DatePicker = DatePicker;
@@ -0,0 +1,60 @@
1
+ import { withComponentTheme } from './chunk-DRDDQCDD.js';
2
+ import './tokens-CEJVVA3G.css';
3
+ import './shared-NJHRNLRH.css';
4
+ import './Progress-33WE2NI7.css';
5
+ import * as React from 'react';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+
8
+ var ProgressBase = React.forwardRef(({
9
+ value,
10
+ max = 100,
11
+ label,
12
+ showValue,
13
+ tone = "accent",
14
+ color,
15
+ size = "md",
16
+ indeterminate = false,
17
+ className = "",
18
+ style,
19
+ ...rest
20
+ }, ref) => {
21
+ const safeMax = Number.isFinite(max) && max > 0 ? max : 100;
22
+ const safeValue = Number.isFinite(value) ? value : 0;
23
+ const normalizedValue = Math.max(0, Math.min(safeMax, safeValue));
24
+ const pct = normalizedValue / safeMax * 100;
25
+ const rootStyle = {
26
+ ...color ? {
27
+ ["--progress-fill"]: color,
28
+ ["--progress-fill-glow"]: `color-mix(in oklch, ${color} 35%, transparent)`
29
+ } : null,
30
+ ...style
31
+ };
32
+ return /* @__PURE__ */ jsxs(
33
+ "div",
34
+ {
35
+ ref,
36
+ className: `progress ${size} ${tone} ${indeterminate ? "indeterminate" : ""} ${className}`,
37
+ style: rootStyle,
38
+ role: "progressbar",
39
+ "aria-valuemin": 0,
40
+ "aria-valuemax": safeMax,
41
+ "aria-valuenow": indeterminate ? void 0 : normalizedValue,
42
+ "aria-valuetext": indeterminate ? "\u52A0\u8F7D\u4E2D" : void 0,
43
+ ...rest,
44
+ children: [
45
+ (label || showValue) && /* @__PURE__ */ jsxs("div", { className: "progress-label", children: [
46
+ label ? /* @__PURE__ */ jsx("span", { children: label }) : /* @__PURE__ */ jsx("span", {}),
47
+ showValue && !indeterminate && /* @__PURE__ */ jsxs("span", { className: "v", children: [
48
+ Math.round(pct),
49
+ "%"
50
+ ] })
51
+ ] }),
52
+ /* @__PURE__ */ jsx("div", { className: "progress-track", children: /* @__PURE__ */ jsx("div", { className: "progress-bar", style: { width: indeterminate ? "35%" : `${pct}%` } }) })
53
+ ]
54
+ }
55
+ );
56
+ });
57
+ ProgressBase.displayName = "Progress";
58
+ var Progress = withComponentTheme(ProgressBase, "Progress", "progress");
59
+
60
+ export { Progress };
@@ -0,0 +1,319 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function _interopNamespace(e) {
6
+ if (e && e.__esModule) return e;
7
+ var n = Object.create(null);
8
+ if (e) {
9
+ Object.keys(e).forEach(function (k) {
10
+ if (k !== 'default') {
11
+ var d = Object.getOwnPropertyDescriptor(e, k);
12
+ Object.defineProperty(n, k, d.get ? d : {
13
+ enumerable: true,
14
+ get: function () { return e[k]; }
15
+ });
16
+ }
17
+ });
18
+ }
19
+ n.default = e;
20
+ return Object.freeze(n);
21
+ }
22
+
23
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
24
+
25
+ // src/utils/overlayStack.ts
26
+ var FOCUSABLE_SELECTOR = [
27
+ "a[href]",
28
+ "button:not([disabled])",
29
+ "input:not([disabled])",
30
+ "select:not([disabled])",
31
+ "textarea:not([disabled])",
32
+ "[tabindex]:not([tabindex='-1'])",
33
+ "[contenteditable='true']"
34
+ ].join(",");
35
+ var layers = [];
36
+ var listeningDocuments = /* @__PURE__ */ new Map();
37
+ var scrollLocks = /* @__PURE__ */ new Map();
38
+ var nextOverlayZIndex = 1e3;
39
+ var nextLayerOrder = 0;
40
+ var OverlayZIndexContext = React__namespace.createContext(void 0);
41
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React__namespace.useLayoutEffect : React__namespace.useEffect;
42
+ function OverlayZIndexProvider({ zIndex, children }) {
43
+ return React__namespace.createElement(OverlayZIndexContext.Provider, { value: zIndex }, children);
44
+ }
45
+ function useOverlayZIndex(open, explicitZIndex) {
46
+ const parentZIndex = React__namespace.useContext(OverlayZIndexContext);
47
+ const allocatedZIndexRef = React__namespace.useRef();
48
+ const wasOpenRef = React__namespace.useRef(false);
49
+ const hasValidExplicitZIndex = explicitZIndex != null && Number.isFinite(explicitZIndex);
50
+ if (hasValidExplicitZIndex) {
51
+ if (open) nextOverlayZIndex = Math.max(nextOverlayZIndex, explicitZIndex);
52
+ wasOpenRef.current = open;
53
+ return explicitZIndex;
54
+ }
55
+ if (!open) {
56
+ wasOpenRef.current = false;
57
+ return allocatedZIndexRef.current ?? Math.max(nextOverlayZIndex, parentZIndex ?? 0);
58
+ }
59
+ const floor = parentZIndex ?? 0;
60
+ if (!wasOpenRef.current || allocatedZIndexRef.current == null || allocatedZIndexRef.current <= floor) {
61
+ nextOverlayZIndex = Math.max(nextOverlayZIndex, floor) + 10;
62
+ allocatedZIndexRef.current = nextOverlayZIndex;
63
+ }
64
+ wasOpenRef.current = true;
65
+ return allocatedZIndexRef.current;
66
+ }
67
+ function isElementVisibleForFocus(element, container) {
68
+ const view = element.ownerDocument.defaultView;
69
+ if (!view) return true;
70
+ const elementStyle = view.getComputedStyle(element);
71
+ if (elementStyle.visibility === "hidden" || elementStyle.visibility === "collapse") return false;
72
+ let current = element;
73
+ while (current) {
74
+ const style = view.getComputedStyle(current);
75
+ if (style.display === "none" || style.contentVisibility === "hidden") return false;
76
+ if (current === container) break;
77
+ current = current.parentElement;
78
+ }
79
+ return true;
80
+ }
81
+ function getFocusableElements(container) {
82
+ return Array.from(container.querySelectorAll(FOCUSABLE_SELECTOR)).filter(
83
+ (element) => element.tabIndex >= 0 && element.getAttribute("aria-hidden") !== "true" && !element.hasAttribute("hidden") && !element.closest("[hidden],[inert]") && isElementVisibleForFocus(element, container)
84
+ );
85
+ }
86
+ function getLayerZIndex(layer) {
87
+ if (layer.zIndex != null && Number.isFinite(layer.zIndex)) return layer.zIndex;
88
+ const container = layer.containerRef.current;
89
+ if (!container) return 0;
90
+ const inlineValue = container.style.zIndex.trim();
91
+ const computedValue = inlineValue || container.ownerDocument.defaultView?.getComputedStyle(container).zIndex || "";
92
+ const parsed = Number.parseFloat(computedValue);
93
+ return Number.isFinite(parsed) ? parsed : 0;
94
+ }
95
+ function isOwnedBy(child, parent, documentLayers, visited = /* @__PURE__ */ new Set()) {
96
+ if (child === parent || visited.has(child.id)) return false;
97
+ visited.add(child.id);
98
+ const owner = child.ownerRef?.current;
99
+ const parentContainer = parent.containerRef.current;
100
+ if (!owner || !parentContainer) return false;
101
+ if (parentContainer.contains(owner)) return true;
102
+ return documentLayers.some(
103
+ (candidate) => candidate !== child && candidate !== parent && candidate.containerRef.current?.contains(owner) && isOwnedBy(candidate, parent, documentLayers, visited)
104
+ );
105
+ }
106
+ function isLayerOwnedByElement(layer, owner, documentLayers, visited = /* @__PURE__ */ new Set()) {
107
+ if (visited.has(layer.id)) return false;
108
+ visited.add(layer.id);
109
+ const layerOwner = layer.ownerRef?.current;
110
+ if (!layerOwner) return false;
111
+ if (layerOwner === owner || owner.contains(layerOwner)) return true;
112
+ return documentLayers.some((candidate) => {
113
+ if (candidate === layer || !candidate.containerRef.current?.contains(layerOwner)) return false;
114
+ return isLayerOwnedByElement(candidate, owner, documentLayers, visited);
115
+ });
116
+ }
117
+ function isTargetWithinOverlayScope(owner, target) {
118
+ const NodeConstructor = owner.ownerDocument.defaultView?.Node;
119
+ if (!target || !NodeConstructor || !(target instanceof NodeConstructor)) return false;
120
+ if (owner.contains(target)) return true;
121
+ const documentLayers = layers.filter((layer) => layer.document === owner.ownerDocument);
122
+ return documentLayers.some(
123
+ (layer) => !!layer.containerRef.current?.contains(target) && isLayerOwnedByElement(layer, owner, documentLayers)
124
+ );
125
+ }
126
+ function orderDocumentLayers(documentLayers) {
127
+ return [...documentLayers].sort((left, right) => {
128
+ if (isOwnedBy(right, left, documentLayers)) return -1;
129
+ if (isOwnedBy(left, right, documentLayers)) return 1;
130
+ const zIndexDelta = getLayerZIndex(left) - getLayerZIndex(right);
131
+ return zIndexDelta || left.order - right.order;
132
+ });
133
+ }
134
+ function createFocusScope(trappingLayer, documentLayers) {
135
+ const container = trappingLayer.containerRef.current;
136
+ if (!container) return null;
137
+ const containers = [container];
138
+ const focusable = getFocusableElements(container);
139
+ const ownedLayers = orderDocumentLayers(documentLayers).filter((layer) => isOwnedBy(layer, trappingLayer, documentLayers));
140
+ ownedLayers.forEach((layer) => {
141
+ const childContainer = layer.containerRef.current;
142
+ if (!childContainer) return;
143
+ containers.push(childContainer);
144
+ const childFocusable = getFocusableElements(childContainer);
145
+ if (childFocusable.length === 0) return;
146
+ const owner = layer.ownerRef?.current;
147
+ const ownerIndex = owner ? focusable.findIndex((element) => element === owner || owner.contains(element) || element.contains(owner)) : -1;
148
+ focusable.splice(ownerIndex >= 0 ? ownerIndex + 1 : focusable.length, 0, ...childFocusable);
149
+ });
150
+ return { containers, focusable: [...new Set(focusable)] };
151
+ }
152
+ function trapTabKey(event, scope) {
153
+ const { containers, focusable } = scope;
154
+ const container = containers[0];
155
+ if (focusable.length === 0) {
156
+ event.preventDefault();
157
+ container.focus();
158
+ return;
159
+ }
160
+ const active = container.ownerDocument.activeElement;
161
+ const activeInsideScope = containers.some((scopeContainer) => scopeContainer.contains(active));
162
+ const activeIndex = focusable.indexOf(active);
163
+ if (!activeInsideScope || activeIndex < 0) {
164
+ event.preventDefault();
165
+ (event.shiftKey ? focusable[focusable.length - 1] : focusable[0]).focus();
166
+ return;
167
+ }
168
+ const direction = event.shiftKey ? -1 : 1;
169
+ const nextIndex = (activeIndex + direction + focusable.length) % focusable.length;
170
+ event.preventDefault();
171
+ focusable[nextIndex].focus();
172
+ }
173
+ function handleDocumentKeyDown(event) {
174
+ const documentLayers = layers.filter((layer) => layer.document === event.currentTarget);
175
+ const orderedLayers = orderDocumentLayers(documentLayers);
176
+ const top = orderedLayers[orderedLayers.length - 1];
177
+ if (!top) return;
178
+ if (event.key === "Escape" && top.onEscape) {
179
+ event.preventDefault();
180
+ event.stopPropagation();
181
+ top.onEscape();
182
+ return;
183
+ }
184
+ if (event.key === "Tab") {
185
+ const active = top.document.activeElement;
186
+ const trappingLayer = [...orderedLayers].reverse().find((layer) => {
187
+ if (!layer.trapFocus) return false;
188
+ const scope2 = createFocusScope(layer, documentLayers);
189
+ if (!scope2) return false;
190
+ const ownsTop = layer === top || isOwnedBy(top, layer, documentLayers);
191
+ const containsActive = scope2.containers.some((container) => container.contains(active));
192
+ return ownsTop || containsActive;
193
+ });
194
+ const scope = trappingLayer ? createFocusScope(trappingLayer, documentLayers) : null;
195
+ if (scope) trapTabKey(event, scope);
196
+ }
197
+ }
198
+ function retainDocumentListener(doc) {
199
+ const count = listeningDocuments.get(doc) ?? 0;
200
+ if (count === 0) doc.addEventListener("keydown", handleDocumentKeyDown, true);
201
+ listeningDocuments.set(doc, count + 1);
202
+ }
203
+ function releaseDocumentListener(doc) {
204
+ const count = listeningDocuments.get(doc) ?? 0;
205
+ if (count <= 1) {
206
+ doc.removeEventListener("keydown", handleDocumentKeyDown, true);
207
+ listeningDocuments.delete(doc);
208
+ return;
209
+ }
210
+ listeningDocuments.set(doc, count - 1);
211
+ }
212
+ function lockDocumentScroll(doc) {
213
+ const existing = scrollLocks.get(doc);
214
+ if (existing) {
215
+ existing.count += 1;
216
+ return;
217
+ }
218
+ const body = doc.body;
219
+ const scrollbarWidth = Math.max(0, doc.defaultView.innerWidth - doc.documentElement.clientWidth);
220
+ const computedPadding = Number.parseFloat(doc.defaultView.getComputedStyle(body).paddingRight) || 0;
221
+ scrollLocks.set(doc, {
222
+ count: 1,
223
+ overflow: body.style.overflow,
224
+ paddingRight: body.style.paddingRight
225
+ });
226
+ body.style.overflow = "hidden";
227
+ if (scrollbarWidth > 0) body.style.paddingRight = `${computedPadding + scrollbarWidth}px`;
228
+ }
229
+ function unlockDocumentScroll(doc) {
230
+ const state = scrollLocks.get(doc);
231
+ if (!state) return;
232
+ state.count -= 1;
233
+ if (state.count > 0) return;
234
+ doc.body.style.overflow = state.overflow;
235
+ doc.body.style.paddingRight = state.paddingRight;
236
+ scrollLocks.delete(doc);
237
+ }
238
+ function useOverlayLayer({
239
+ open,
240
+ containerRef,
241
+ ownerRef,
242
+ zIndex,
243
+ onEscape,
244
+ escapeEnabled = true,
245
+ trapFocus = false,
246
+ autoFocus = false,
247
+ restoreFocus = false,
248
+ lockScroll = false,
249
+ initialFocusRef
250
+ }) {
251
+ const idRef = React__namespace.useRef(/* @__PURE__ */ Symbol("lumina-overlay"));
252
+ const entryRef = React__namespace.useRef(null);
253
+ const previousFocusRef = React__namespace.useRef(null);
254
+ const restoreFocusRef = React__namespace.useRef(restoreFocus);
255
+ restoreFocusRef.current = restoreFocus;
256
+ if (entryRef.current) {
257
+ entryRef.current.containerRef = containerRef;
258
+ entryRef.current.ownerRef = ownerRef;
259
+ entryRef.current.zIndex = zIndex;
260
+ entryRef.current.onEscape = escapeEnabled ? onEscape : void 0;
261
+ entryRef.current.trapFocus = trapFocus;
262
+ }
263
+ useIsomorphicLayoutEffect(() => {
264
+ if (!open || typeof document === "undefined") return;
265
+ const container = containerRef.current;
266
+ const doc = container?.ownerDocument ?? document;
267
+ previousFocusRef.current = doc.activeElement;
268
+ const entry = {
269
+ id: idRef.current,
270
+ containerRef,
271
+ ownerRef,
272
+ zIndex,
273
+ onEscape: escapeEnabled ? onEscape : void 0,
274
+ trapFocus,
275
+ document: doc,
276
+ order: ++nextLayerOrder
277
+ };
278
+ entryRef.current = entry;
279
+ layers.push(entry);
280
+ retainDocumentListener(doc);
281
+ const frame = autoFocus ? doc.defaultView?.requestAnimationFrame(() => {
282
+ const currentContainer = containerRef.current;
283
+ if (!currentContainer) return;
284
+ const target = initialFocusRef?.current ?? getFocusableElements(currentContainer)[0] ?? currentContainer;
285
+ target?.focus();
286
+ }) : void 0;
287
+ return () => {
288
+ if (frame != null) doc.defaultView?.cancelAnimationFrame(frame);
289
+ const index = layers.findIndex((layer) => layer.id === entry.id);
290
+ if (index >= 0) layers.splice(index, 1);
291
+ releaseDocumentListener(doc);
292
+ const currentEntry = entryRef.current ?? entry;
293
+ entryRef.current = null;
294
+ if (restoreFocusRef.current) {
295
+ const previous = previousFocusRef.current;
296
+ const owner = currentEntry.ownerRef?.current;
297
+ const ownerTarget = owner ? owner.tabIndex >= 0 ? owner : getFocusableElements(owner)[0] : void 0;
298
+ const closingContainer = currentEntry.containerRef.current ?? container;
299
+ doc.defaultView?.requestAnimationFrame(() => {
300
+ const active = doc.activeElement;
301
+ const focusWasReleased = active == null || active === doc.body || active === doc.documentElement || !active.isConnected || closingContainer?.contains(active);
302
+ const target = ownerTarget?.isConnected ? ownerTarget : previous;
303
+ if (target?.isConnected && focusWasReleased) target.focus();
304
+ });
305
+ }
306
+ };
307
+ }, [open]);
308
+ useIsomorphicLayoutEffect(() => {
309
+ if (!open || !lockScroll || typeof document === "undefined") return;
310
+ const doc = containerRef.current?.ownerDocument ?? document;
311
+ lockDocumentScroll(doc);
312
+ return () => unlockDocumentScroll(doc);
313
+ }, [open, lockScroll, containerRef]);
314
+ }
315
+
316
+ exports.OverlayZIndexProvider = OverlayZIndexProvider;
317
+ exports.isTargetWithinOverlayScope = isTargetWithinOverlayScope;
318
+ exports.useOverlayLayer = useOverlayLayer;
319
+ exports.useOverlayZIndex = useOverlayZIndex;