@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,10 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkYB3IWIOJ_cjs = require('./chunk-YB3IWIOJ.cjs');
4
- var chunkQMX67CVT_cjs = require('./chunk-QMX67CVT.cjs');
5
- require('./tokens-RYJ3DFTU.css');
3
+ var chunkFJB3243S_cjs = require('./chunk-FJB3243S.cjs');
4
+ var chunkHSDMJUB6_cjs = require('./chunk-HSDMJUB6.cjs');
5
+ var chunk2AUXUZ3Z_cjs = require('./chunk-2AUXUZ3Z.cjs');
6
+ var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
7
+ var chunkEE5KXDRK_cjs = require('./chunk-EE5KXDRK.cjs');
8
+ require('./tokens-CEJVVA3G.css');
6
9
  require('./shared-NJHRNLRH.css');
7
- require('./Typography-32QQLD4F.css');
10
+ require('./Typography-CQ2OZXQH.css');
8
11
  var React = require('react');
9
12
  var reactDom = require('react-dom');
10
13
  var jsxRuntime = require('react/jsx-runtime');
@@ -63,8 +66,44 @@ function assignRef(ref, value) {
63
66
  }
64
67
  ref.current = value;
65
68
  }
69
+ function getNativeTypographyProps(props) {
70
+ const {
71
+ type: _type,
72
+ disabled: _disabled,
73
+ mark: _mark,
74
+ code: _code,
75
+ keyboard: _keyboard,
76
+ underline: _underline,
77
+ delete: _delete,
78
+ strong: _strong,
79
+ italic: _italic,
80
+ copyable: _copyable,
81
+ editable: _editable,
82
+ ellipsis: _ellipsis,
83
+ className: _className,
84
+ style: _style,
85
+ children: _children,
86
+ ...nativeProps
87
+ } = props;
88
+ return nativeProps;
89
+ }
90
+ function composeTypographyRef(internalRef, forwardedRef) {
91
+ return (node) => {
92
+ internalRef.current = node;
93
+ assignRef(forwardedRef, node);
94
+ };
95
+ }
66
96
  var EllipsisTooltip = React__namespace.forwardRef(({ content, children }, forwardedRef) => {
67
97
  const [open, setOpen] = React__namespace.useState(false);
98
+ const tooltipId = React__namespace.useId();
99
+ const portalContainer = chunkEE5KXDRK_cjs.usePortalContainer();
100
+ const portalTheme = chunkNRJXZPZR_cjs.useComponentPortalTheme([
101
+ "Typography",
102
+ "Title",
103
+ "Text",
104
+ "Paragraph",
105
+ "Link"
106
+ ]);
68
107
  const openTimerRef = React__namespace.useRef();
69
108
  const closeTimerRef = React__namespace.useRef();
70
109
  const childRef = children.ref;
@@ -72,14 +111,22 @@ var EllipsisTooltip = React__namespace.forwardRef(({ content, children }, forwar
72
111
  triggerRef,
73
112
  floatingRef,
74
113
  floatingStyle,
75
- placement
76
- } = chunkYB3IWIOJ_cjs.useFloating({
114
+ placement,
115
+ zIndex: tooltipZIndex
116
+ } = chunkFJB3243S_cjs.useFloating({
77
117
  open,
78
118
  placement: "top",
79
119
  panelWidth: 360,
80
120
  panelHeight: 96,
81
121
  alignCross: "center"
82
122
  });
123
+ chunkHSDMJUB6_cjs.useOverlayLayer({
124
+ open: open && portalContainer != null,
125
+ containerRef: floatingRef,
126
+ ownerRef: triggerRef,
127
+ zIndex: tooltipZIndex,
128
+ onEscape: () => setOpen(false)
129
+ });
83
130
  React__namespace.useEffect(() => {
84
131
  return () => {
85
132
  window.clearTimeout(openTimerRef.current);
@@ -112,6 +159,7 @@ var EllipsisTooltip = React__namespace.forwardRef(({ content, children }, forwar
112
159
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
113
160
  React__namespace.cloneElement(children, {
114
161
  ref: setTriggerRef,
162
+ "aria-describedby": open ? [childProps["aria-describedby"], tooltipId].filter(Boolean).join(" ") : childProps["aria-describedby"],
115
163
  onMouseEnter: (event) => {
116
164
  childProps.onMouseEnter?.(event);
117
165
  show();
@@ -149,13 +197,15 @@ var EllipsisTooltip = React__namespace.forwardRef(({ content, children }, forwar
149
197
  hide();
150
198
  }
151
199
  }),
152
- open && typeof document !== "undefined" && reactDom.createPortal(
200
+ open && portalContainer && reactDom.createPortal(
153
201
  /* @__PURE__ */ jsxRuntime.jsx(
154
202
  "div",
155
203
  {
204
+ id: tooltipId,
156
205
  ref: floatingRef,
157
206
  className: `typo-ellipsis-tooltip ${placement}`,
158
- style: floatingStyle,
207
+ ...portalTheme.dataAttributes,
208
+ style: { ...floatingStyle, ...portalTheme.style, ...portalTheme.styles.popup },
159
209
  role: "tooltip",
160
210
  onMouseEnter: show,
161
211
  onMouseMove: show,
@@ -166,58 +216,80 @@ var EllipsisTooltip = React__namespace.forwardRef(({ content, children }, forwar
166
216
  children: content
167
217
  }
168
218
  ),
169
- document.body
219
+ portalContainer
170
220
  )
171
221
  ] });
172
222
  });
173
223
  EllipsisTooltip.displayName = "Typography.EllipsisTooltip";
224
+ async function writeTypographyClipboard(text, format) {
225
+ if (typeof navigator !== "undefined" && navigator.clipboard) {
226
+ if (format === "text/html" && navigator.clipboard.write && typeof ClipboardItem !== "undefined") {
227
+ await navigator.clipboard.write([
228
+ new ClipboardItem({ "text/html": new Blob([text], { type: "text/html" }) })
229
+ ]);
230
+ return;
231
+ }
232
+ if (navigator.clipboard.writeText) {
233
+ await navigator.clipboard.writeText(text);
234
+ return;
235
+ }
236
+ }
237
+ if (typeof document === "undefined") throw new Error("Clipboard is unavailable");
238
+ const textarea = document.createElement("textarea");
239
+ textarea.value = text;
240
+ textarea.setAttribute("readonly", "");
241
+ textarea.style.position = "fixed";
242
+ textarea.style.inset = "-9999px auto auto -9999px";
243
+ document.body.appendChild(textarea);
244
+ textarea.select();
245
+ const copied = document.execCommand?.("copy") ?? false;
246
+ textarea.remove();
247
+ if (!copied) throw new Error("Clipboard write failed");
248
+ }
174
249
  var CopyAction = ({ config, fallbackText }) => {
175
- const [copied, setCopied] = React__namespace.useState(false);
250
+ const [status, setStatus] = React__namespace.useState("idle");
176
251
  const timerRef = React__namespace.useRef(null);
177
252
  React__namespace.useEffect(() => {
178
253
  return () => {
179
254
  if (timerRef.current != null) window.clearTimeout(timerRef.current);
180
255
  };
181
256
  }, []);
182
- const handleCopy = (event) => {
257
+ const handleCopy = async (event) => {
183
258
  event.stopPropagation();
184
259
  const text = config.text ?? fallbackText;
185
- if (typeof navigator !== "undefined" && navigator.clipboard) {
186
- navigator.clipboard.writeText(text).catch(() => {
187
- });
260
+ try {
261
+ await writeTypographyClipboard(text, config.format ?? "text/plain");
262
+ config.onCopy?.(event);
263
+ setStatus("copied");
264
+ } catch (error) {
265
+ config.onCopyError?.(error);
266
+ setStatus("error");
188
267
  }
189
- config.onCopy?.(event);
190
- setCopied(true);
191
268
  if (timerRef.current != null) window.clearTimeout(timerRef.current);
192
- timerRef.current = window.setTimeout(() => setCopied(false), 2400);
269
+ timerRef.current = window.setTimeout(() => setStatus("idle"), 2400);
193
270
  };
194
271
  const [defIcon, doneIcon] = config.icon ?? [
195
- /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "copy", size: 12 }, "def"),
196
- /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "check", size: 12 }, "done")
272
+ /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: "copy", size: 12 }, "def"),
273
+ /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: "check", size: 12 }, "done")
197
274
  ];
198
- const tipText = config.tooltips === false ? void 0 : Array.isArray(config.tooltips) ? copied ? config.tooltips[1] : config.tooltips[0] : copied ? "\u5DF2\u590D\u5236" : "\u590D\u5236";
275
+ const tipText = config.tooltips === false ? void 0 : status === "error" ? "\u590D\u5236\u5931\u8D25" : Array.isArray(config.tooltips) ? status === "copied" ? config.tooltips[1] : config.tooltips[0] : status === "copied" ? "\u5DF2\u590D\u5236" : "\u590D\u5236";
199
276
  return /* @__PURE__ */ jsxRuntime.jsx(
200
- "span",
277
+ "button",
201
278
  {
202
- role: "button",
203
- "aria-label": typeof tipText === "string" ? tipText : "Copy",
204
- tabIndex: 0,
279
+ type: "button",
280
+ "aria-label": typeof tipText === "string" ? tipText : "\u590D\u5236",
205
281
  title: typeof tipText === "string" ? tipText : void 0,
206
- onClick: handleCopy,
207
- onKeyDown: (e) => {
208
- if (e.key === "Enter" || e.key === " ") {
209
- e.preventDefault();
210
- handleCopy(e);
211
- }
212
- },
213
- className: `typo-action typo-copy ${copied ? "copied" : ""}`,
214
- children: copied ? doneIcon : defIcon
282
+ onClick: (event) => void handleCopy(event),
283
+ className: `typo-action typo-copy ${status}`,
284
+ children: status === "copied" ? doneIcon : defIcon
215
285
  }
216
286
  );
217
287
  };
218
- var EditableEditor = ({ initial, multiline, maxLength, autoSize, onConfirm, onCancel }) => {
288
+ var EditableEditor = ({ initial, multiline, maxLength, autoSize, enterIcon, onConfirm, onCancel }) => {
219
289
  const [value, setValue] = React__namespace.useState(initial);
220
290
  const ref = React__namespace.useRef(null);
291
+ const groupRef = React__namespace.useRef(null);
292
+ const finishedRef = React__namespace.useRef(false);
221
293
  React__namespace.useEffect(() => {
222
294
  const el = ref.current;
223
295
  if (el) {
@@ -226,6 +298,10 @@ var EditableEditor = ({ initial, multiline, maxLength, autoSize, onConfirm, onCa
226
298
  el.setSelectionRange(len, len);
227
299
  }
228
300
  }, []);
301
+ React__namespace.useEffect(() => {
302
+ setValue(initial);
303
+ finishedRef.current = false;
304
+ }, [initial]);
229
305
  const resize = React__namespace.useCallback(() => {
230
306
  const el = ref.current;
231
307
  if (!el || !multiline || !autoSize) return;
@@ -243,15 +319,38 @@ var EditableEditor = ({ initial, multiline, maxLength, autoSize, onConfirm, onCa
243
319
  React__namespace.useEffect(() => {
244
320
  resize();
245
321
  }, [value, resize]);
322
+ const confirm = () => {
323
+ if (finishedRef.current) return;
324
+ finishedRef.current = true;
325
+ try {
326
+ onConfirm(value);
327
+ } finally {
328
+ finishedRef.current = false;
329
+ }
330
+ };
331
+ const cancel = () => {
332
+ if (finishedRef.current) return;
333
+ finishedRef.current = true;
334
+ try {
335
+ onCancel();
336
+ } finally {
337
+ finishedRef.current = false;
338
+ }
339
+ };
340
+ const handleGroupBlur = (event) => {
341
+ const nextTarget = event.relatedTarget;
342
+ if (nextTarget instanceof Node && groupRef.current?.contains(nextTarget)) return;
343
+ cancel();
344
+ };
246
345
  const handleKeyDown = (e) => {
247
346
  if (e.key === "Escape") {
248
347
  e.preventDefault();
249
- onCancel();
348
+ cancel();
250
349
  return;
251
350
  }
252
351
  if (e.key === "Enter" && (!multiline || (e.metaKey || e.ctrlKey))) {
253
352
  e.preventDefault();
254
- onConfirm(value);
353
+ confirm();
255
354
  }
256
355
  };
257
356
  const common = {
@@ -260,10 +359,26 @@ var EditableEditor = ({ initial, multiline, maxLength, autoSize, onConfirm, onCa
260
359
  maxLength,
261
360
  className: "typo-editor",
262
361
  onChange: (e) => setValue(e.target.value),
263
- onBlur: () => onConfirm(value),
264
362
  onKeyDown: handleKeyDown
265
363
  };
266
- return multiline ? /* @__PURE__ */ jsxRuntime.jsx("textarea", { rows: 1, ...common }) : /* @__PURE__ */ jsxRuntime.jsx("input", { type: "text", ...common });
364
+ const editor = multiline ? /* @__PURE__ */ jsxRuntime.jsx("textarea", { rows: 1, ...common }) : /* @__PURE__ */ jsxRuntime.jsx("input", { type: "text", ...common });
365
+ const resolvedEnterIcon = enterIcon === void 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: "check", size: 12 }) : enterIcon;
366
+ const showEnterAction = !multiline && resolvedEnterIcon !== null && resolvedEnterIcon !== false;
367
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { ref: groupRef, className: "typo-editor-wrap", onBlur: handleGroupBlur, children: [
368
+ editor,
369
+ showEnterAction && /* @__PURE__ */ jsxRuntime.jsx(
370
+ "button",
371
+ {
372
+ type: "button",
373
+ className: "typo-action typo-enter",
374
+ "aria-label": "\u786E\u8BA4\u7F16\u8F91",
375
+ title: "\u786E\u8BA4\u7F16\u8F91",
376
+ onMouseDown: (event) => event.preventDefault(),
377
+ onClick: confirm,
378
+ children: resolvedEnterIcon
379
+ }
380
+ )
381
+ ] });
267
382
  };
268
383
  function useTypographyBody(props) {
269
384
  const fallbackText = React__namespace.useMemo(
@@ -294,9 +409,29 @@ function useTypographyBody(props) {
294
409
  };
295
410
  const ellipsis = props.ellipsis;
296
411
  const ellConf = ellipsis && typeof ellipsis === "object" ? ellipsis : {};
297
- const rows = ellConf.rows ?? props.ellipsisRows ?? 1;
412
+ const rows = Math.max(1, Math.floor(ellConf.rows ?? props.ellipsisRows ?? 1));
298
413
  const wantClamp = !!ellipsis;
299
414
  const [expanded, setExpanded] = React__namespace.useState(false);
415
+ const [truncated, setTruncated] = React__namespace.useState(false);
416
+ const elementRef = React__namespace.useRef(null);
417
+ const ellipsisContentRef = React__namespace.useRef(null);
418
+ React__namespace.useEffect(() => setExpanded(false), [fallbackText, rows, wantClamp]);
419
+ React__namespace.useLayoutEffect(() => {
420
+ const element = ellConf.suffix ? ellipsisContentRef.current : elementRef.current;
421
+ if (!element || !wantClamp || expanded) {
422
+ setTruncated(false);
423
+ return;
424
+ }
425
+ const measure = () => {
426
+ const next = rows > 1 ? element.scrollHeight > element.clientHeight + 1 : element.scrollWidth > element.clientWidth + 1;
427
+ setTruncated(next);
428
+ };
429
+ measure();
430
+ if (typeof ResizeObserver === "undefined") return;
431
+ const observer = new ResizeObserver(measure);
432
+ observer.observe(element);
433
+ return () => observer.disconnect();
434
+ }, [ellConf.suffix, expanded, fallbackText, rows, wantClamp]);
300
435
  let inner = props.children;
301
436
  if (props.code) inner = /* @__PURE__ */ jsxRuntime.jsx("code", { children: inner });
302
437
  if (props.keyboard) inner = /* @__PURE__ */ jsxRuntime.jsx("kbd", { children: inner });
@@ -306,41 +441,43 @@ function useTypographyBody(props) {
306
441
  if (props.strong) inner = /* @__PURE__ */ jsxRuntime.jsx("strong", { children: inner });
307
442
  if (props.italic) inner = /* @__PURE__ */ jsxRuntime.jsx("i", { children: inner });
308
443
  let copyNode = null;
309
- if (props.copyable) {
444
+ if (props.copyable && !props.disabled) {
310
445
  const conf = typeof props.copyable === "object" ? props.copyable : {};
311
446
  copyNode = /* @__PURE__ */ jsxRuntime.jsx(CopyAction, { config: conf, fallbackText });
312
447
  }
313
448
  let editIconNode = null;
314
- if (editable) {
449
+ if (editable && !props.disabled && triggers.includes("icon")) {
315
450
  const tip = editConf.tooltip ?? "\u7F16\u8F91";
316
451
  editIconNode = /* @__PURE__ */ jsxRuntime.jsx(
317
- "span",
452
+ "button",
318
453
  {
319
- role: "button",
320
- "aria-label": typeof tip === "string" ? tip : "Edit",
321
- tabIndex: 0,
454
+ type: "button",
455
+ "aria-label": typeof tip === "string" ? tip : "\u7F16\u8F91",
322
456
  title: typeof tip === "string" && tip !== "" ? tip : void 0,
323
457
  onClick: (e) => {
324
458
  e.stopPropagation();
325
459
  startEdit();
326
460
  },
327
- onKeyDown: (e) => {
328
- if (e.key === "Enter" || e.key === " ") {
329
- e.preventDefault();
330
- startEdit();
331
- }
332
- },
333
461
  className: "typo-action typo-edit",
334
- children: editConf.icon ?? /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "edit", size: 12 })
462
+ children: editConf.icon ?? /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: "edit", size: 12 })
335
463
  }
336
464
  );
337
465
  }
338
- if (editable && triggers.includes("text") && !editing) {
466
+ const textEditTrigger = !!editable && !props.disabled && triggers.includes("text") && !editing;
467
+ if (textEditTrigger && props.renderTextTrigger !== false) {
339
468
  inner = /* @__PURE__ */ jsxRuntime.jsx(
340
469
  "span",
341
470
  {
342
471
  className: "typo-edit-text-trigger",
472
+ role: "button",
473
+ tabIndex: 0,
343
474
  onClick: () => startEdit(),
475
+ onKeyDown: (event) => {
476
+ if (event.key === "Enter" || event.key === " ") {
477
+ event.preventDefault();
478
+ startEdit();
479
+ }
480
+ },
344
481
  children: inner
345
482
  }
346
483
  );
@@ -348,19 +485,42 @@ function useTypographyBody(props) {
348
485
  let style = props.style;
349
486
  let extraCls;
350
487
  if (wantClamp && !expanded) {
351
- extraCls = rows > 1 ? "ellipsis-multi" : "ellipsis";
352
- if (rows > 1) {
353
- style = {
354
- ...style,
355
- WebkitLineClamp: rows
356
- };
488
+ const clampClassName = rows > 1 ? "ellipsis-multi" : "ellipsis";
489
+ if (ellConf.suffix) {
490
+ extraCls = "ellipsis-with-suffix";
491
+ inner = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
492
+ /* @__PURE__ */ jsxRuntime.jsx(
493
+ "span",
494
+ {
495
+ ref: ellipsisContentRef,
496
+ className: `typo-ellipsis-content ${clampClassName}`,
497
+ style: rows > 1 ? { WebkitLineClamp: rows } : void 0,
498
+ children: inner
499
+ }
500
+ ),
501
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "typo-suffix", children: ellConf.suffix })
502
+ ] });
503
+ } else {
504
+ extraCls = clampClassName;
505
+ if (rows > 1) {
506
+ style = {
507
+ ...style,
508
+ WebkitLineClamp: rows
509
+ };
510
+ }
357
511
  }
512
+ } else if (ellConf.suffix) {
513
+ inner = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
514
+ inner,
515
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "typo-suffix", children: ellConf.suffix })
516
+ ] });
358
517
  }
359
518
  let expandNode = null;
360
- if (wantClamp && ellConf.expandable && !expanded) {
519
+ if (wantClamp && truncated && ellConf.expandable && !expanded) {
361
520
  expandNode = /* @__PURE__ */ jsxRuntime.jsx(
362
- "a",
521
+ "button",
363
522
  {
523
+ type: "button",
364
524
  className: "typo-expand",
365
525
  onClick: (e) => {
366
526
  ellConf.onExpand?.(e);
@@ -370,33 +530,40 @@ function useTypographyBody(props) {
370
530
  }
371
531
  );
372
532
  }
373
- const tooltipContent = wantClamp && !expanded && ellConf.tooltip ? ellConf.tooltip === true ? fallbackText : ellConf.tooltip : void 0;
533
+ const tooltipContent = wantClamp && truncated && !expanded && ellConf.tooltip ? ellConf.tooltip === true ? fallbackText : ellConf.tooltip : void 0;
374
534
  return {
375
535
  editing,
376
536
  editConf,
377
537
  fallbackText,
378
538
  handleConfirm,
379
539
  handleCancel,
540
+ startEdit,
541
+ textEditTrigger,
380
542
  inner,
381
543
  copyNode,
382
544
  editIconNode,
383
545
  expandNode,
384
546
  style,
385
547
  extraCls,
386
- tooltipContent
548
+ tooltipContent,
549
+ elementRef
387
550
  };
388
551
  }
389
- var Title = React__namespace.forwardRef((props, ref) => {
552
+ var TitleBase = React__namespace.forwardRef((props, ref) => {
390
553
  const { level = 1, ...rest } = props;
391
554
  const body = useTypographyBody({ ...rest});
392
555
  const Tag = `h${level}`;
556
+ const nativeProps = getNativeTypographyProps(rest);
557
+ const composedRef = composeTypographyRef(body.elementRef, ref);
393
558
  if (body.editing) {
394
559
  return /* @__PURE__ */ jsxRuntime.jsx(
395
560
  Tag,
396
561
  {
397
- ref,
562
+ ...nativeProps,
563
+ ref: composedRef,
398
564
  className: buildClass(rest, `typo typo-title h${level}`, "editing"),
399
565
  style: rest.style,
566
+ "aria-disabled": rest.disabled || void 0,
400
567
  children: /* @__PURE__ */ jsxRuntime.jsx(
401
568
  EditableEditor,
402
569
  {
@@ -404,6 +571,7 @@ var Title = React__namespace.forwardRef((props, ref) => {
404
571
  multiline: false,
405
572
  maxLength: body.editConf.maxLength,
406
573
  autoSize: body.editConf.autoSize,
574
+ enterIcon: body.editConf.enterIcon,
407
575
  onConfirm: body.handleConfirm,
408
576
  onCancel: body.handleCancel
409
577
  }
@@ -414,9 +582,11 @@ var Title = React__namespace.forwardRef((props, ref) => {
414
582
  const element = /* @__PURE__ */ jsxRuntime.jsxs(
415
583
  Tag,
416
584
  {
417
- ref,
585
+ ...nativeProps,
586
+ ref: composedRef,
418
587
  className: buildClass(rest, `typo typo-title h${level}`, body.extraCls),
419
588
  style: body.style,
589
+ "aria-disabled": rest.disabled || void 0,
420
590
  children: [
421
591
  body.inner,
422
592
  body.expandNode,
@@ -425,20 +595,25 @@ var Title = React__namespace.forwardRef((props, ref) => {
425
595
  ]
426
596
  }
427
597
  );
428
- return body.tooltipContent ? /* @__PURE__ */ jsxRuntime.jsx(EllipsisTooltip, { ref, content: body.tooltipContent, children: element }) : element;
598
+ return body.tooltipContent ? /* @__PURE__ */ jsxRuntime.jsx(EllipsisTooltip, { content: body.tooltipContent, children: element }) : element;
429
599
  });
430
- Title.displayName = "Typography.Title";
431
- var Text = React__namespace.forwardRef((props, ref) => {
600
+ TitleBase.displayName = "Typography.Title";
601
+ var Title = chunkNRJXZPZR_cjs.withComponentTheme(TitleBase, "Title", "typography");
602
+ var TextBase = React__namespace.forwardRef((props, ref) => {
432
603
  const { as = "span", ...rest } = props;
433
604
  const body = useTypographyBody({ ...rest});
434
605
  const Tag = as;
606
+ const nativeProps = getNativeTypographyProps(rest);
607
+ const composedRef = composeTypographyRef(body.elementRef, ref);
435
608
  if (body.editing) {
436
609
  return /* @__PURE__ */ jsxRuntime.jsx(
437
610
  Tag,
438
611
  {
439
- ref,
612
+ ...nativeProps,
613
+ ref: composedRef,
440
614
  className: buildClass(rest, "typo typo-text", "editing"),
441
615
  style: rest.style,
616
+ "aria-disabled": rest.disabled || void 0,
442
617
  children: /* @__PURE__ */ jsxRuntime.jsx(
443
618
  EditableEditor,
444
619
  {
@@ -446,6 +621,7 @@ var Text = React__namespace.forwardRef((props, ref) => {
446
621
  multiline: false,
447
622
  maxLength: body.editConf.maxLength,
448
623
  autoSize: body.editConf.autoSize,
624
+ enterIcon: body.editConf.enterIcon,
449
625
  onConfirm: body.handleConfirm,
450
626
  onCancel: body.handleCancel
451
627
  }
@@ -456,9 +632,11 @@ var Text = React__namespace.forwardRef((props, ref) => {
456
632
  const element = /* @__PURE__ */ jsxRuntime.jsxs(
457
633
  Tag,
458
634
  {
459
- ref,
635
+ ...nativeProps,
636
+ ref: composedRef,
460
637
  className: buildClass(rest, "typo typo-text", body.extraCls),
461
638
  style: body.style,
639
+ "aria-disabled": rest.disabled || void 0,
462
640
  children: [
463
641
  body.inner,
464
642
  body.expandNode,
@@ -467,19 +645,24 @@ var Text = React__namespace.forwardRef((props, ref) => {
467
645
  ]
468
646
  }
469
647
  );
470
- return body.tooltipContent ? /* @__PURE__ */ jsxRuntime.jsx(EllipsisTooltip, { ref, content: body.tooltipContent, children: element }) : element;
648
+ return body.tooltipContent ? /* @__PURE__ */ jsxRuntime.jsx(EllipsisTooltip, { content: body.tooltipContent, children: element }) : element;
471
649
  });
472
- Text.displayName = "Typography.Text";
473
- var Paragraph = React__namespace.forwardRef(
650
+ TextBase.displayName = "Typography.Text";
651
+ var Text = chunkNRJXZPZR_cjs.withComponentTheme(TextBase, "Text", "typography");
652
+ var ParagraphBase = React__namespace.forwardRef(
474
653
  (props, ref) => {
475
654
  const body = useTypographyBody({ ...props});
655
+ const nativeProps = getNativeTypographyProps(props);
656
+ const composedRef = composeTypographyRef(body.elementRef, ref);
476
657
  if (body.editing) {
477
658
  return /* @__PURE__ */ jsxRuntime.jsx(
478
- "div",
659
+ "p",
479
660
  {
480
- ref,
661
+ ...nativeProps,
662
+ ref: composedRef,
481
663
  className: buildClass(props, "typo typo-paragraph", "editing"),
482
664
  style: props.style,
665
+ "aria-disabled": props.disabled || void 0,
483
666
  children: /* @__PURE__ */ jsxRuntime.jsx(
484
667
  EditableEditor,
485
668
  {
@@ -497,9 +680,11 @@ var Paragraph = React__namespace.forwardRef(
497
680
  const element = /* @__PURE__ */ jsxRuntime.jsxs(
498
681
  "p",
499
682
  {
500
- ref,
683
+ ...nativeProps,
684
+ ref: composedRef,
501
685
  className: buildClass(props, "typo typo-paragraph", body.extraCls),
502
686
  style: body.style,
687
+ "aria-disabled": props.disabled || void 0,
503
688
  children: [
504
689
  body.inner,
505
690
  body.expandNode,
@@ -508,11 +693,16 @@ var Paragraph = React__namespace.forwardRef(
508
693
  ]
509
694
  }
510
695
  );
511
- return body.tooltipContent ? /* @__PURE__ */ jsxRuntime.jsx(EllipsisTooltip, { ref, content: body.tooltipContent, children: element }) : element;
696
+ return body.tooltipContent ? /* @__PURE__ */ jsxRuntime.jsx(EllipsisTooltip, { content: body.tooltipContent, children: element }) : element;
512
697
  }
513
698
  );
514
- Paragraph.displayName = "Typography.Paragraph";
515
- var Link = React__namespace.forwardRef(
699
+ ParagraphBase.displayName = "Typography.Paragraph";
700
+ var Paragraph = chunkNRJXZPZR_cjs.withComponentTheme(
701
+ ParagraphBase,
702
+ "Paragraph",
703
+ "typography"
704
+ );
705
+ var LinkBase = React__namespace.forwardRef(
516
706
  (props, ref) => {
517
707
  const {
518
708
  type,
@@ -534,9 +724,14 @@ var Link = React__namespace.forwardRef(
534
724
  externalIcon = "arrowRight",
535
725
  target,
536
726
  rel,
727
+ href,
728
+ tabIndex,
729
+ onClick: anchorOnClick,
730
+ onKeyDown: anchorOnKeyDown,
537
731
  ...anchorRest
538
732
  } = props;
539
733
  const body = useTypographyBody({
734
+ disabled,
540
735
  mark,
541
736
  code,
542
737
  keyboard,
@@ -548,60 +743,115 @@ var Link = React__namespace.forwardRef(
548
743
  editable,
549
744
  ellipsis,
550
745
  style,
551
- children
746
+ children,
747
+ renderTextTrigger: false
552
748
  });
553
749
  const safeRel = target === "_blank" ? rel ?? "noopener noreferrer" : rel;
750
+ const composedRef = composeTypographyRef(body.elementRef, ref);
554
751
  if (body.editing) {
555
- return /* @__PURE__ */ jsxRuntime.jsx(
556
- "span",
557
- {
558
- className: buildClass(props, "typo typo-link", "editing"),
559
- style,
560
- children: /* @__PURE__ */ jsxRuntime.jsx(
561
- EditableEditor,
562
- {
563
- initial: body.editConf.text ?? body.fallbackText,
564
- multiline: false,
565
- maxLength: body.editConf.maxLength,
566
- autoSize: body.editConf.autoSize,
567
- onConfirm: body.handleConfirm,
568
- onCancel: body.handleCancel
569
- }
570
- )
571
- }
572
- );
752
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "typo-link-group typo-link-editing-group", children: [
753
+ /* @__PURE__ */ jsxRuntime.jsx(
754
+ "a",
755
+ {
756
+ ...anchorRest,
757
+ ref: composedRef,
758
+ className: [className, "typo-link-editing-anchor"].filter(Boolean).join(" "),
759
+ style,
760
+ tabIndex: -1,
761
+ "aria-hidden": "true",
762
+ "aria-disabled": disabled || void 0,
763
+ onClick: (event) => event.preventDefault()
764
+ }
765
+ ),
766
+ /* @__PURE__ */ jsxRuntime.jsx(
767
+ "span",
768
+ {
769
+ className: buildClass(
770
+ { ...props, className: "" },
771
+ "typo typo-link",
772
+ "editing typo-link-editor-shell"
773
+ ),
774
+ style,
775
+ children: /* @__PURE__ */ jsxRuntime.jsx(
776
+ EditableEditor,
777
+ {
778
+ initial: body.editConf.text ?? body.fallbackText,
779
+ multiline: false,
780
+ maxLength: body.editConf.maxLength,
781
+ autoSize: body.editConf.autoSize,
782
+ enterIcon: body.editConf.enterIcon,
783
+ onConfirm: body.handleConfirm,
784
+ onCancel: body.handleCancel
785
+ }
786
+ )
787
+ }
788
+ )
789
+ ] });
573
790
  }
791
+ const linkExtraClass = [
792
+ body.extraCls,
793
+ body.textEditTrigger && "typo-edit-text-trigger"
794
+ ].filter(Boolean).join(" ");
574
795
  const element = /* @__PURE__ */ jsxRuntime.jsxs(
575
796
  "a",
576
797
  {
577
- ref,
578
- className: buildClass(props, "typo typo-link", body.extraCls),
798
+ ...anchorRest,
799
+ ref: composedRef,
800
+ className: buildClass(props, "typo typo-link", linkExtraClass),
579
801
  style: body.style,
580
- target,
802
+ href: disabled ? void 0 : href,
803
+ target: disabled ? void 0 : target,
581
804
  rel: safeRel,
805
+ tabIndex: disabled ? -1 : tabIndex,
582
806
  "aria-disabled": disabled || void 0,
583
807
  onClick: (e) => {
584
808
  if (disabled) {
585
809
  e.preventDefault();
810
+ e.stopPropagation();
586
811
  return;
587
812
  }
588
- anchorRest.onClick?.(e);
813
+ if (body.textEditTrigger) {
814
+ e.preventDefault();
815
+ e.stopPropagation();
816
+ body.startEdit();
817
+ return;
818
+ }
819
+ anchorOnClick?.(e);
820
+ },
821
+ onKeyDown: (event) => {
822
+ if (disabled) {
823
+ event.preventDefault();
824
+ event.stopPropagation();
825
+ return;
826
+ }
827
+ anchorOnKeyDown?.(event);
828
+ if (!event.defaultPrevented && body.textEditTrigger && (event.key === "Enter" || event.key === " ")) {
829
+ event.preventDefault();
830
+ event.stopPropagation();
831
+ body.startEdit();
832
+ }
589
833
  },
590
- ...anchorRest,
591
834
  children: [
592
835
  body.inner,
593
- external && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "typo-link-ext", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: externalIcon, size: 12 }) }),
594
- body.expandNode,
595
- body.copyNode,
596
- body.editIconNode
836
+ external && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "typo-link-ext", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: externalIcon, size: 12 }) })
597
837
  ]
598
838
  }
599
839
  );
600
- return body.tooltipContent ? /* @__PURE__ */ jsxRuntime.jsx(EllipsisTooltip, { ref, content: body.tooltipContent, children: element }) : element;
840
+ const linkedElement = body.tooltipContent ? /* @__PURE__ */ jsxRuntime.jsx(EllipsisTooltip, { content: body.tooltipContent, children: element }) : element;
841
+ if (!body.expandNode && !body.copyNode && !body.editIconNode) {
842
+ return linkedElement;
843
+ }
844
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "typo-link-group", children: [
845
+ linkedElement,
846
+ body.expandNode,
847
+ body.copyNode,
848
+ body.editIconNode
849
+ ] });
601
850
  }
602
851
  );
603
- Link.displayName = "Typography.Link";
604
- var TypographyBase = React__namespace.forwardRef(
852
+ LinkBase.displayName = "Typography.Link";
853
+ var Link = chunkNRJXZPZR_cjs.withComponentTheme(LinkBase, "Link", "typography");
854
+ var TypographyRoot = React__namespace.forwardRef(
605
855
  ({ className = "", children, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
606
856
  "article",
607
857
  {
@@ -612,12 +862,17 @@ var TypographyBase = React__namespace.forwardRef(
612
862
  }
613
863
  )
614
864
  );
615
- TypographyBase.Title = Title;
616
- TypographyBase.Text = Text;
617
- TypographyBase.Paragraph = Paragraph;
618
- TypographyBase.Link = Link;
619
- TypographyBase.displayName = "Typography";
620
- var Typography = TypographyBase;
865
+ TypographyRoot.displayName = "Typography";
866
+ var ThemedTypography = chunkNRJXZPZR_cjs.withComponentTheme(
867
+ TypographyRoot,
868
+ "Typography",
869
+ "typography"
870
+ );
871
+ var Typography = ThemedTypography;
872
+ Typography.Title = Title;
873
+ Typography.Text = Text;
874
+ Typography.Paragraph = Paragraph;
875
+ Typography.Link = Link;
621
876
 
622
877
  exports.Link = Link;
623
878
  exports.Paragraph = Paragraph;