@lobehub/ui 4.3.2 → 4.3.3

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 (633) hide show
  1. package/es/Accordion/Accordion.mjs +2 -2
  2. package/es/Accordion/Accordion.mjs.map +1 -1
  3. package/es/Accordion/AccordionItem.mjs +11 -2
  4. package/es/Accordion/AccordionItem.mjs.map +1 -1
  5. package/es/Accordion/style.mjs +12 -9
  6. package/es/Accordion/style.mjs.map +1 -1
  7. package/es/ActionIcon/ActionIcon.d.mts +2 -2
  8. package/es/ActionIcon/ActionIcon.mjs +2 -57
  9. package/es/ActionIcon/ActionIcon.mjs.map +1 -1
  10. package/es/ActionIcon/style.mjs +76 -20
  11. package/es/ActionIcon/style.mjs.map +1 -1
  12. package/es/ActionIconGroup/ActionIconGroup.mjs +2 -30
  13. package/es/ActionIconGroup/ActionIconGroup.mjs.map +1 -1
  14. package/es/ActionIconGroup/style.mjs +39 -10
  15. package/es/ActionIconGroup/style.mjs.map +1 -1
  16. package/es/Alert/Alert.d.mts +2 -2
  17. package/es/Alert/Alert.mjs +17 -60
  18. package/es/Alert/Alert.mjs.map +1 -1
  19. package/es/Alert/style.mjs +318 -82
  20. package/es/Alert/style.mjs.map +1 -1
  21. package/es/AutoComplete/Select.d.mts +2 -2
  22. package/es/AutoComplete/Select.mjs +7 -21
  23. package/es/AutoComplete/Select.mjs.map +1 -1
  24. package/es/AutoComplete/style.mjs +32 -15
  25. package/es/AutoComplete/style.mjs.map +1 -1
  26. package/es/Avatar/Avatar.mjs +12 -24
  27. package/es/Avatar/Avatar.mjs.map +1 -1
  28. package/es/Avatar/AvatarGroup/index.d.mts +2 -2
  29. package/es/Avatar/AvatarGroup/index.mjs +3 -3
  30. package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
  31. package/es/Avatar/AvatarGroup/style.mjs +9 -8
  32. package/es/Avatar/AvatarGroup/style.mjs.map +1 -1
  33. package/es/Avatar/style.mjs +30 -10
  34. package/es/Avatar/style.mjs.map +1 -1
  35. package/es/Block/Block.mjs +3 -48
  36. package/es/Block/Block.mjs.map +1 -1
  37. package/es/Block/style.mjs +58 -12
  38. package/es/Block/style.mjs.map +1 -1
  39. package/es/Burger/Burger.d.mts +2 -2
  40. package/es/Burger/Burger.mjs +21 -8
  41. package/es/Burger/Burger.mjs.map +1 -1
  42. package/es/Burger/style.mjs +115 -96
  43. package/es/Burger/style.mjs.map +1 -1
  44. package/es/Button/Button.mjs +6 -21
  45. package/es/Button/Button.mjs.map +1 -1
  46. package/es/Button/style.mjs +25 -7
  47. package/es/Button/style.mjs.map +1 -1
  48. package/es/Checkbox/Checkbox.mjs +2 -2
  49. package/es/Checkbox/Checkbox.mjs.map +1 -1
  50. package/es/Checkbox/style.mjs +12 -13
  51. package/es/Checkbox/style.mjs.map +1 -1
  52. package/es/CodeEditor/CodeEditor.d.mts +2 -2
  53. package/es/CodeEditor/CodeEditor.mjs +5 -13
  54. package/es/CodeEditor/CodeEditor.mjs.map +1 -1
  55. package/es/CodeEditor/style.mjs +21 -12
  56. package/es/CodeEditor/style.mjs.map +1 -1
  57. package/es/Collapse/Collapse.d.mts +2 -2
  58. package/es/Collapse/Collapse.mjs +4 -29
  59. package/es/Collapse/Collapse.mjs.map +1 -1
  60. package/es/Collapse/style.mjs +78 -18
  61. package/es/Collapse/style.mjs.map +1 -1
  62. package/es/ColorSwatches/ColorSwatches.mjs +20 -14
  63. package/es/ColorSwatches/ColorSwatches.mjs.map +1 -1
  64. package/es/ColorSwatches/style.mjs +35 -34
  65. package/es/ColorSwatches/style.mjs.map +1 -1
  66. package/es/ConfigProvider/index.d.mts +2 -2
  67. package/es/CopyButton/CopyButton.d.mts +2 -2
  68. package/es/DatePicker/DatePicker.d.mts +2 -2
  69. package/es/DatePicker/DatePicker.mjs +7 -21
  70. package/es/DatePicker/DatePicker.mjs.map +1 -1
  71. package/es/DatePicker/style.mjs +24 -7
  72. package/es/DatePicker/style.mjs.map +1 -1
  73. package/es/DraggablePanel/DraggablePanel.mjs +19 -62
  74. package/es/DraggablePanel/DraggablePanel.mjs.map +1 -1
  75. package/es/DraggablePanel/components/DraggablePanelBody.d.mts +2 -2
  76. package/es/DraggablePanel/components/DraggablePanelBody.mjs +2 -2
  77. package/es/DraggablePanel/components/DraggablePanelBody.mjs.map +1 -1
  78. package/es/DraggablePanel/components/DraggablePanelContainer.d.mts +2 -2
  79. package/es/DraggablePanel/components/DraggablePanelContainer.mjs +2 -2
  80. package/es/DraggablePanel/components/DraggablePanelContainer.mjs.map +1 -1
  81. package/es/DraggablePanel/components/DraggablePanelFooter.d.mts +2 -2
  82. package/es/DraggablePanel/components/DraggablePanelFooter.mjs +2 -2
  83. package/es/DraggablePanel/components/DraggablePanelFooter.mjs.map +1 -1
  84. package/es/DraggablePanel/components/DraggablePanelHeader.d.mts +2 -2
  85. package/es/DraggablePanel/components/DraggablePanelHeader.mjs +2 -2
  86. package/es/DraggablePanel/components/DraggablePanelHeader.mjs.map +1 -1
  87. package/es/DraggablePanel/components/style.mjs +6 -6
  88. package/es/DraggablePanel/components/style.mjs.map +1 -1
  89. package/es/DraggablePanel/style.mjs +336 -194
  90. package/es/DraggablePanel/style.mjs.map +1 -1
  91. package/es/DraggableSideNav/DraggableSideNav.d.mts +2 -2
  92. package/es/DraggableSideNav/DraggableSideNav.mjs +11 -8
  93. package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
  94. package/es/DraggableSideNav/style.mjs +192 -181
  95. package/es/DraggableSideNav/style.mjs.map +1 -1
  96. package/es/Drawer/Drawer.d.mts +2 -2
  97. package/es/Drawer/Drawer.mjs +11 -13
  98. package/es/Drawer/Drawer.mjs.map +1 -1
  99. package/es/Dropdown/Dropdown.d.mts +2 -2
  100. package/es/EditableText/EditableText.d.mts +2 -2
  101. package/es/EditableText/EditableText.mjs +1 -1
  102. package/es/EmojiPicker/AvatarUploader.mjs +3 -4
  103. package/es/EmojiPicker/AvatarUploader.mjs.map +1 -1
  104. package/es/EmojiPicker/EmojiPicker.d.mts +2 -2
  105. package/es/EmojiPicker/EmojiPicker.mjs +11 -4
  106. package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
  107. package/es/EmojiPicker/style.mjs +9 -9
  108. package/es/EmojiPicker/style.mjs.map +1 -1
  109. package/es/Empty/Empty.mjs +4 -4
  110. package/es/Empty/Empty.mjs.map +1 -1
  111. package/es/FileTypeIcon/FileTypeIcon.mjs +5 -6
  112. package/es/FileTypeIcon/FileTypeIcon.mjs.map +1 -1
  113. package/es/FileTypeIcon/components/FileIcon.mjs +5 -5
  114. package/es/FileTypeIcon/components/FileIcon.mjs.map +1 -1
  115. package/es/FileTypeIcon/components/FolderIcon.mjs +4 -4
  116. package/es/FileTypeIcon/components/FolderIcon.mjs.map +1 -1
  117. package/es/FileTypeIcon/style.mjs +3 -3
  118. package/es/FileTypeIcon/style.mjs.map +1 -1
  119. package/es/Flex/FlexBasic.d.mts +2 -2
  120. package/es/FluentEmoji/FluentEmoji.mjs +2 -2
  121. package/es/FluentEmoji/FluentEmoji.mjs.map +1 -1
  122. package/es/FluentEmoji/style.mjs +3 -3
  123. package/es/FluentEmoji/style.mjs.map +1 -1
  124. package/es/FontLoader/index.d.mts +2 -2
  125. package/es/Footer/Footer.d.mts +2 -2
  126. package/es/Footer/Footer.mjs +10 -8
  127. package/es/Footer/Footer.mjs.map +1 -1
  128. package/es/Footer/style.mjs +169 -133
  129. package/es/Footer/style.mjs.map +1 -1
  130. package/es/Form/Form.mjs +4 -14
  131. package/es/Form/Form.mjs.map +1 -1
  132. package/es/Form/components/FormDivider.mjs +3 -4
  133. package/es/Form/components/FormDivider.mjs.map +1 -1
  134. package/es/Form/components/FormFlatGroup.mjs +4 -14
  135. package/es/Form/components/FormFlatGroup.mjs.map +1 -1
  136. package/es/Form/components/FormGroup.d.mts +2 -2
  137. package/es/Form/components/FormGroup.mjs +5 -13
  138. package/es/Form/components/FormGroup.mjs.map +1 -1
  139. package/es/Form/components/FormItem.d.mts +2 -2
  140. package/es/Form/components/FormItem.mjs +12 -27
  141. package/es/Form/components/FormItem.mjs.map +1 -1
  142. package/es/Form/components/FormSubmitFooter.d.mts +2 -2
  143. package/es/Form/components/FormSubmitFooter.mjs +5 -4
  144. package/es/Form/components/FormSubmitFooter.mjs.map +1 -1
  145. package/es/Form/components/FormTitle.mjs +5 -5
  146. package/es/Form/components/FormTitle.mjs.map +1 -1
  147. package/es/Form/style.mjs +120 -72
  148. package/es/Form/style.mjs.map +1 -1
  149. package/es/FormModal/FormModal.d.mts +2 -2
  150. package/es/FormModal/FormModal.mjs +7 -8
  151. package/es/FormModal/FormModal.mjs.map +1 -1
  152. package/es/FormModal/style.mjs +7 -7
  153. package/es/FormModal/style.mjs.map +1 -1
  154. package/es/Grid/Grid.mjs +17 -4
  155. package/es/Grid/Grid.mjs.map +1 -1
  156. package/es/Grid/style.mjs +15 -16
  157. package/es/Grid/style.mjs.map +1 -1
  158. package/es/GroupAvatar/GroupAvatar.mjs +2 -14
  159. package/es/GroupAvatar/GroupAvatar.mjs.map +1 -1
  160. package/es/GroupAvatar/style.mjs +27 -16
  161. package/es/GroupAvatar/style.mjs.map +1 -1
  162. package/es/GuideCard/GuideCard.d.mts +2 -2
  163. package/es/GuideCard/GuideCard.mjs +5 -21
  164. package/es/GuideCard/GuideCard.mjs.map +1 -1
  165. package/es/GuideCard/style.mjs +57 -15
  166. package/es/GuideCard/style.mjs.map +1 -1
  167. package/es/Header/Header.d.mts +2 -2
  168. package/es/Header/Header.mjs +6 -7
  169. package/es/Header/Header.mjs.map +1 -1
  170. package/es/Header/style.mjs +8 -10
  171. package/es/Header/style.mjs.map +1 -1
  172. package/es/Highlighter/FullFeatured.mjs +2 -40
  173. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  174. package/es/Highlighter/Highlighter.d.mts +2 -2
  175. package/es/Highlighter/Highlighter.mjs +2 -25
  176. package/es/Highlighter/Highlighter.mjs.map +1 -1
  177. package/es/Highlighter/SyntaxHighlighter/StaticRenderer.mjs +1 -1
  178. package/es/Highlighter/SyntaxHighlighter/StaticRenderer.mjs.map +1 -1
  179. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +11 -31
  180. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
  181. package/es/Highlighter/SyntaxHighlighter/index.d.mts +2 -2
  182. package/es/Highlighter/SyntaxHighlighter/index.mjs +3 -31
  183. package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
  184. package/es/Highlighter/SyntaxHighlighter/style.mjs +43 -16
  185. package/es/Highlighter/SyntaxHighlighter/style.mjs.map +1 -1
  186. package/es/Highlighter/style.mjs +64 -25
  187. package/es/Highlighter/style.mjs.map +1 -1
  188. package/es/Highlighter/theme/lobe-theme.mjs +370 -0
  189. package/es/Highlighter/theme/lobe-theme.mjs.map +1 -0
  190. package/es/Hotkey/Hotkey.d.mts +2 -2
  191. package/es/Hotkey/Hotkey.mjs +5 -20
  192. package/es/Hotkey/Hotkey.mjs.map +1 -1
  193. package/es/Hotkey/style.mjs +53 -17
  194. package/es/Hotkey/style.mjs.map +1 -1
  195. package/es/HotkeyInput/HotkeyInput.d.mts +2 -2
  196. package/es/HotkeyInput/HotkeyInput.mjs +5 -36
  197. package/es/HotkeyInput/HotkeyInput.mjs.map +1 -1
  198. package/es/HotkeyInput/style.mjs +46 -14
  199. package/es/HotkeyInput/style.mjs.map +1 -1
  200. package/es/Icon/Icon.d.mts +2 -2
  201. package/es/Icon/Icon.mjs +2 -10
  202. package/es/Icon/Icon.mjs.map +1 -1
  203. package/es/Icon/components/IconProvider.d.mts +3 -3
  204. package/es/Icon/style.mjs +15 -6
  205. package/es/Icon/style.mjs.map +1 -1
  206. package/es/Image/Image.mjs +8 -15
  207. package/es/Image/Image.mjs.map +1 -1
  208. package/es/Image/PreviewGroup.d.mts +2 -2
  209. package/es/Image/components/Toolbar.mjs +1 -2
  210. package/es/Image/components/Toolbar.mjs.map +1 -1
  211. package/es/Image/components/usePreview.mjs +2 -2
  212. package/es/Image/components/usePreview.mjs.map +1 -1
  213. package/es/Image/components/usePreviewGroup.mjs +4 -4
  214. package/es/Image/components/usePreviewGroup.mjs.map +1 -1
  215. package/es/Image/style.mjs +79 -54
  216. package/es/Image/style.mjs.map +1 -1
  217. package/es/ImageSelect/ImageSelect.mjs +2 -2
  218. package/es/ImageSelect/ImageSelect.mjs.map +1 -1
  219. package/es/ImageSelect/styles.mjs +11 -10
  220. package/es/ImageSelect/styles.mjs.map +1 -1
  221. package/es/Input/Input.d.mts +2 -2
  222. package/es/Input/Input.mjs +7 -21
  223. package/es/Input/Input.mjs.map +1 -1
  224. package/es/Input/InputNumber.d.mts +2 -2
  225. package/es/Input/InputNumber.mjs +7 -21
  226. package/es/Input/InputNumber.mjs.map +1 -1
  227. package/es/Input/InputOPT.d.mts +2 -2
  228. package/es/Input/InputOPT.mjs +7 -22
  229. package/es/Input/InputOPT.mjs.map +1 -1
  230. package/es/Input/InputPassword.d.mts +2 -2
  231. package/es/Input/InputPassword.mjs +6 -21
  232. package/es/Input/InputPassword.mjs.map +1 -1
  233. package/es/Input/TextArea.d.mts +2 -2
  234. package/es/Input/TextArea.mjs +6 -21
  235. package/es/Input/TextArea.mjs.map +1 -1
  236. package/es/Input/style.mjs +57 -25
  237. package/es/Input/style.mjs.map +1 -1
  238. package/es/Layout/Layout.mjs +36 -33
  239. package/es/Layout/Layout.mjs.map +1 -1
  240. package/es/Layout/components/LayoutFooter.d.mts +2 -2
  241. package/es/Layout/components/LayoutFooter.mjs +2 -2
  242. package/es/Layout/components/LayoutFooter.mjs.map +1 -1
  243. package/es/Layout/components/LayoutHeader.d.mts +2 -2
  244. package/es/Layout/components/LayoutHeader.mjs +2 -2
  245. package/es/Layout/components/LayoutHeader.mjs.map +1 -1
  246. package/es/Layout/components/LayoutMain.d.mts +2 -2
  247. package/es/Layout/components/LayoutMain.mjs +2 -2
  248. package/es/Layout/components/LayoutMain.mjs.map +1 -1
  249. package/es/Layout/components/LayoutSidebar.d.mts +2 -2
  250. package/es/Layout/components/LayoutSidebar.mjs +3 -3
  251. package/es/Layout/components/LayoutSidebar.mjs.map +1 -1
  252. package/es/Layout/components/LayoutSidebarInner.d.mts +2 -2
  253. package/es/Layout/components/LayoutSidebarInner.mjs +2 -2
  254. package/es/Layout/components/LayoutSidebarInner.mjs.map +1 -1
  255. package/es/Layout/components/LayoutToc.d.mts +2 -2
  256. package/es/Layout/components/LayoutToc.mjs +2 -2
  257. package/es/Layout/components/LayoutToc.mjs.map +1 -1
  258. package/es/Layout/style.mjs +6 -5
  259. package/es/Layout/style.mjs.map +1 -1
  260. package/es/List/ListItem/index.d.mts +2 -2
  261. package/es/List/ListItem/index.mjs +2 -2
  262. package/es/List/ListItem/index.mjs.map +1 -1
  263. package/es/List/ListItem/style.mjs +12 -11
  264. package/es/List/ListItem/style.mjs.map +1 -1
  265. package/es/Markdown/Markdown.d.mts +2 -2
  266. package/es/Markdown/Markdown.mjs +3 -25
  267. package/es/Markdown/Markdown.mjs.map +1 -1
  268. package/es/Markdown/SyntaxMarkdown/StreamdownRender.mjs +1 -2
  269. package/es/Markdown/SyntaxMarkdown/StreamdownRender.mjs.map +1 -1
  270. package/es/Markdown/SyntaxMarkdown/style.mjs +3 -3
  271. package/es/Markdown/SyntaxMarkdown/style.mjs.map +1 -1
  272. package/es/Markdown/Typography.d.mts +2 -2
  273. package/es/Markdown/Typography.mjs +2 -2
  274. package/es/Markdown/Typography.mjs.map +1 -1
  275. package/es/Markdown/components/CodeBlock.mjs +1 -0
  276. package/es/Markdown/components/CodeBlock.mjs.map +1 -1
  277. package/es/Markdown/components/SearchResultCards/SearchResultCard.mjs +1 -2
  278. package/es/Markdown/components/SearchResultCards/SearchResultCard.mjs.map +1 -1
  279. package/es/Markdown/components/SearchResultCards/index.d.mts +2 -2
  280. package/es/Markdown/components/SearchResultCards/style.mjs +3 -3
  281. package/es/Markdown/components/SearchResultCards/style.mjs.map +1 -1
  282. package/es/Markdown/markdown.style.mjs +23 -23
  283. package/es/Markdown/markdown.style.mjs.map +1 -1
  284. package/es/Markdown/style.mjs +48 -26
  285. package/es/Markdown/style.mjs.map +1 -1
  286. package/es/MaskShadow/MaskShadow.d.mts +2 -2
  287. package/es/MaskShadow/MaskShadow.mjs +8 -12
  288. package/es/MaskShadow/MaskShadow.mjs.map +1 -1
  289. package/es/MaskShadow/style.mjs +33 -8
  290. package/es/MaskShadow/style.mjs.map +1 -1
  291. package/es/Menu/Menu.d.mts +2 -2
  292. package/es/Menu/Menu.mjs +3 -25
  293. package/es/Menu/Menu.mjs.map +1 -1
  294. package/es/Menu/style.mjs +40 -15
  295. package/es/Menu/style.mjs.map +1 -1
  296. package/es/Mermaid/FullFeatured.mjs +2 -35
  297. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  298. package/es/Mermaid/Mermaid.d.mts +2 -2
  299. package/es/Mermaid/Mermaid.mjs +5 -28
  300. package/es/Mermaid/Mermaid.mjs.map +1 -1
  301. package/es/Mermaid/SyntaxMermaid/StaticMermaid.mjs +82 -0
  302. package/es/Mermaid/SyntaxMermaid/StaticMermaid.mjs.map +1 -0
  303. package/es/Mermaid/SyntaxMermaid/StreamMermaid.mjs +94 -0
  304. package/es/Mermaid/SyntaxMermaid/StreamMermaid.mjs.map +1 -0
  305. package/es/Mermaid/SyntaxMermaid/index.d.mts +2 -2
  306. package/es/Mermaid/SyntaxMermaid/index.mjs +36 -58
  307. package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
  308. package/es/Mermaid/SyntaxMermaid/style.mjs +80 -0
  309. package/es/Mermaid/SyntaxMermaid/style.mjs.map +1 -0
  310. package/es/Mermaid/type.d.mts +3 -2
  311. package/es/Modal/Modal.d.mts +2 -2
  312. package/es/Modal/Modal.mjs +8 -9
  313. package/es/Modal/Modal.mjs.map +1 -1
  314. package/es/Modal/style.mjs +13 -11
  315. package/es/Modal/style.mjs.map +1 -1
  316. package/es/MotionProvider/index.d.mts +2 -2
  317. package/es/ScrollShadow/ScrollShadow.mjs +20 -43
  318. package/es/ScrollShadow/ScrollShadow.mjs.map +1 -1
  319. package/es/ScrollShadow/style.mjs +54 -12
  320. package/es/ScrollShadow/style.mjs.map +1 -1
  321. package/es/SearchBar/SearchBar.d.mts +2 -2
  322. package/es/SearchBar/SearchBar.mjs +2 -2
  323. package/es/SearchBar/SearchBar.mjs.map +1 -1
  324. package/es/SearchBar/style.mjs +7 -6
  325. package/es/SearchBar/style.mjs.map +1 -1
  326. package/es/Segmented/Segmented.d.mts +2 -2
  327. package/es/Segmented/Segmented.mjs +4 -26
  328. package/es/Segmented/Segmented.mjs.map +1 -1
  329. package/es/Segmented/style.mjs +33 -9
  330. package/es/Segmented/style.mjs.map +1 -1
  331. package/es/Select/Select.d.mts +2 -2
  332. package/es/Select/Select.mjs +7 -21
  333. package/es/Select/Select.mjs.map +1 -1
  334. package/es/Select/style.mjs +36 -19
  335. package/es/Select/style.mjs.map +1 -1
  336. package/es/SideNav/SideNav.d.mts +2 -2
  337. package/es/SideNav/SideNav.mjs +2 -2
  338. package/es/SideNav/SideNav.mjs.map +1 -1
  339. package/es/SideNav/style.mjs +5 -5
  340. package/es/SideNav/style.mjs.map +1 -1
  341. package/es/Skeleton/Skeleton.mjs +2 -2
  342. package/es/Skeleton/Skeleton.mjs.map +1 -1
  343. package/es/Skeleton/SkeletonAvatar.mjs +3 -3
  344. package/es/Skeleton/SkeletonAvatar.mjs.map +1 -1
  345. package/es/Skeleton/SkeletonBlock.mjs +2 -2
  346. package/es/Skeleton/SkeletonBlock.mjs.map +1 -1
  347. package/es/Skeleton/SkeletonButton.mjs +5 -6
  348. package/es/Skeleton/SkeletonButton.mjs.map +1 -1
  349. package/es/Skeleton/SkeletonTags.mjs +5 -5
  350. package/es/Skeleton/SkeletonTags.mjs.map +1 -1
  351. package/es/Skeleton/SkeletonTitle.mjs +2 -2
  352. package/es/Skeleton/SkeletonTitle.mjs.map +1 -1
  353. package/es/Skeleton/style.mjs +7 -8
  354. package/es/Skeleton/style.mjs.map +1 -1
  355. package/es/SliderWithInput/SliderWithInput.d.mts +2 -2
  356. package/es/Snippet/Snippet.mjs +2 -21
  357. package/es/Snippet/Snippet.mjs.map +1 -1
  358. package/es/Snippet/style.mjs +27 -9
  359. package/es/Snippet/style.mjs.map +1 -1
  360. package/es/SortableList/SortableList.mjs +1 -2
  361. package/es/SortableList/SortableList.mjs.map +1 -1
  362. package/es/SortableList/components/DragHandle.d.mts +2 -2
  363. package/es/SortableList/components/SortableItem.d.mts +2 -2
  364. package/es/SortableList/components/SortableItem.mjs +3 -22
  365. package/es/SortableList/components/SortableItem.mjs.map +1 -1
  366. package/es/SortableList/style.mjs +24 -7
  367. package/es/SortableList/style.mjs.map +1 -1
  368. package/es/Tabs/Tabs.mjs +3 -26
  369. package/es/Tabs/Tabs.mjs.map +1 -1
  370. package/es/Tabs/style.mjs +34 -10
  371. package/es/Tabs/style.mjs.map +1 -1
  372. package/es/Tag/Tag.mjs +3 -21
  373. package/es/Tag/Tag.mjs.map +1 -1
  374. package/es/Tag/styles.mjs +36 -10
  375. package/es/Tag/styles.mjs.map +1 -1
  376. package/es/Text/Text.mjs +2 -35
  377. package/es/Text/Text.mjs.map +1 -1
  378. package/es/Text/styles.mjs +49 -17
  379. package/es/Text/styles.mjs.map +1 -1
  380. package/es/ThemeProvider/ConfigProvider.mjs +11 -12
  381. package/es/ThemeProvider/ConfigProvider.mjs.map +1 -1
  382. package/es/ThemeProvider/ThemeProvider.d.mts +2 -2
  383. package/es/ThemeProvider/ThemeProvider.mjs +1 -1
  384. package/es/Toc/Toc.d.mts +2 -2
  385. package/es/Toc/Toc.mjs +8 -6
  386. package/es/Toc/Toc.mjs.map +1 -1
  387. package/es/Toc/TocMobile.mjs +1 -5
  388. package/es/Toc/TocMobile.mjs.map +1 -1
  389. package/es/Toc/style.mjs +52 -52
  390. package/es/Toc/style.mjs.map +1 -1
  391. package/es/Tooltip/TooltipFloating.mjs +2 -2
  392. package/es/Tooltip/TooltipFloating.mjs.map +1 -1
  393. package/es/Tooltip/TooltipPortal.mjs +3 -1
  394. package/es/Tooltip/TooltipPortal.mjs.map +1 -1
  395. package/es/Tooltip/style.mjs +7 -7
  396. package/es/Tooltip/style.mjs.map +1 -1
  397. package/es/Video/index.d.mts +2 -2
  398. package/es/Video/index.mjs +13 -13
  399. package/es/Video/index.mjs.map +1 -1
  400. package/es/Video/style.mjs +49 -42
  401. package/es/Video/style.mjs.map +1 -1
  402. package/es/awesome/AuroraBackground/AuroraBackground.d.mts +2 -2
  403. package/es/awesome/AuroraBackground/AuroraBackground.mjs +4 -3
  404. package/es/awesome/AuroraBackground/AuroraBackground.mjs.map +1 -1
  405. package/es/awesome/AuroraBackground/style.mjs +129 -90
  406. package/es/awesome/AuroraBackground/style.mjs.map +1 -1
  407. package/es/awesome/BottomGradientButton/BottomGradientButton.d.mts +2 -2
  408. package/es/awesome/BottomGradientButton/BottomGradientButton.mjs +2 -2
  409. package/es/awesome/BottomGradientButton/BottomGradientButton.mjs.map +1 -1
  410. package/es/awesome/BottomGradientButton/style.mjs +6 -5
  411. package/es/awesome/BottomGradientButton/style.mjs.map +1 -1
  412. package/es/awesome/Features/FeatureItem.mjs +10 -7
  413. package/es/awesome/Features/FeatureItem.mjs.map +1 -1
  414. package/es/awesome/Features/Features.d.mts +2 -2
  415. package/es/awesome/Features/style.mjs +141 -90
  416. package/es/awesome/Features/style.mjs.map +1 -1
  417. package/es/awesome/Giscus/Giscus.d.mts +2 -2
  418. package/es/awesome/GradientButton/GradientButton.d.mts +2 -2
  419. package/es/awesome/GradientButton/GradientButton.mjs +26 -5
  420. package/es/awesome/GradientButton/GradientButton.mjs.map +1 -1
  421. package/es/awesome/GradientButton/style.mjs +93 -63
  422. package/es/awesome/GradientButton/style.mjs.map +1 -1
  423. package/es/awesome/GridBackground/GridBackground.d.mts +2 -2
  424. package/es/awesome/GridBackground/GridBackground.mjs +30 -9
  425. package/es/awesome/GridBackground/GridBackground.mjs.map +1 -1
  426. package/es/awesome/GridBackground/GridShowcase.d.mts +2 -2
  427. package/es/awesome/GridBackground/style.mjs +70 -62
  428. package/es/awesome/GridBackground/style.mjs.map +1 -1
  429. package/es/awesome/Hero/Hero.d.mts +2 -2
  430. package/es/awesome/Hero/Hero.mjs +1 -2
  431. package/es/awesome/Hero/Hero.mjs.map +1 -1
  432. package/es/awesome/Hero/style.mjs +11 -10
  433. package/es/awesome/Hero/style.mjs.map +1 -1
  434. package/es/awesome/Spline/ParentSize.mjs +1 -1
  435. package/es/awesome/Spline/Spine.d.mts +2 -2
  436. package/es/awesome/Spotlight/Spotlight.d.mts +2 -2
  437. package/es/awesome/Spotlight/Spotlight.mjs +15 -7
  438. package/es/awesome/Spotlight/Spotlight.mjs.map +1 -1
  439. package/es/awesome/Spotlight/style.mjs +76 -23
  440. package/es/awesome/Spotlight/style.mjs.map +1 -1
  441. package/es/awesome/SpotlightCard/SpotlightCard.d.mts +2 -2
  442. package/es/awesome/SpotlightCard/SpotlightCard.mjs +11 -7
  443. package/es/awesome/SpotlightCard/SpotlightCard.mjs.map +1 -1
  444. package/es/awesome/SpotlightCard/SpotlightCardItem.mjs +10 -7
  445. package/es/awesome/SpotlightCard/SpotlightCardItem.mjs.map +1 -1
  446. package/es/awesome/SpotlightCard/style.mjs +121 -69
  447. package/es/awesome/SpotlightCard/style.mjs.map +1 -1
  448. package/es/awesome/TypewriterEffect/TypewriterEffect.d.mts +2 -2
  449. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +6 -5
  450. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
  451. package/es/awesome/TypewriterEffect/style.mjs +8 -8
  452. package/es/awesome/TypewriterEffect/style.mjs.map +1 -1
  453. package/es/brand/BrandLoading/{style-Cz42xGgB.css → style-DX648z7a.css} +1 -1
  454. package/es/brand/BrandLoading/{style-Cz42xGgB.css.map → style-DX648z7a.css.map} +1 -1
  455. package/es/brand/LobeChat/index.d.mts +2 -2
  456. package/es/brand/LobeChat/index.mjs +5 -7
  457. package/es/brand/LobeChat/index.mjs.map +1 -1
  458. package/es/brand/LobeHub/index.d.mts +2 -2
  459. package/es/brand/LobeHub/index.mjs +5 -7
  460. package/es/brand/LobeHub/index.mjs.map +1 -1
  461. package/es/brand/LobeHub/style.mjs +3 -3
  462. package/es/brand/LobeHub/style.mjs.map +1 -1
  463. package/es/brand/LogoFlat/index.d.mts +3 -6
  464. package/es/brand/LogoFlat/index.mjs +2 -76
  465. package/es/brand/LogoFlat/index.mjs.map +1 -1
  466. package/es/brand/LogoMono/index.d.mts +2 -10
  467. package/es/brand/LogoMono/index.mjs +2 -84
  468. package/es/brand/LogoThree/LogoSpline.d.mts +2 -2
  469. package/es/brand/LogoThree/index.d.mts +2 -2
  470. package/es/brand/index.d.mts +3 -3
  471. package/es/brand/index.mjs +2 -2
  472. package/es/chat/BackBottom/BackBottom.d.mts +2 -2
  473. package/es/chat/BackBottom/BackBottom.mjs +3 -3
  474. package/es/chat/BackBottom/BackBottom.mjs.map +1 -1
  475. package/es/chat/BackBottom/style.mjs +27 -8
  476. package/es/chat/BackBottom/style.mjs.map +1 -1
  477. package/es/chat/ChatHeader/ChatHeader.mjs +2 -2
  478. package/es/chat/ChatHeader/ChatHeader.mjs.map +1 -1
  479. package/es/chat/ChatHeader/ChatHeaderTitle.mjs +8 -9
  480. package/es/chat/ChatHeader/ChatHeaderTitle.mjs.map +1 -1
  481. package/es/chat/ChatHeader/style.mjs +7 -7
  482. package/es/chat/ChatHeader/style.mjs.map +1 -1
  483. package/es/chat/ChatInputArea/ChatInputArea.mjs +1 -2
  484. package/es/chat/ChatInputArea/ChatInputArea.mjs.map +1 -1
  485. package/es/chat/ChatInputArea/components/ChatInputActionBar.mjs +4 -5
  486. package/es/chat/ChatInputArea/components/ChatInputActionBar.mjs.map +1 -1
  487. package/es/chat/ChatInputArea/components/ChatInputAreaInner.d.mts +2 -2
  488. package/es/chat/ChatInputArea/components/ChatSendButton.mjs +2 -3
  489. package/es/chat/ChatInputArea/components/ChatSendButton.mjs.map +1 -1
  490. package/es/chat/ChatInputArea/style.mjs +6 -5
  491. package/es/chat/ChatInputArea/style.mjs.map +1 -1
  492. package/es/chat/ChatItem/ChatItem.d.mts +2 -2
  493. package/es/chat/ChatItem/ChatItem.mjs +19 -16
  494. package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
  495. package/es/chat/ChatItem/components/Actions.mjs +8 -8
  496. package/es/chat/ChatItem/components/Actions.mjs.map +1 -1
  497. package/es/chat/ChatItem/components/Avatar.mjs +7 -3
  498. package/es/chat/ChatItem/components/Avatar.mjs.map +1 -1
  499. package/es/chat/ChatItem/components/ErrorContent.mjs +2 -3
  500. package/es/chat/ChatItem/components/ErrorContent.mjs.map +1 -1
  501. package/es/chat/ChatItem/components/Loading.mjs +3 -4
  502. package/es/chat/ChatItem/components/Loading.mjs.map +1 -1
  503. package/es/chat/ChatItem/components/MessageContent.mjs +11 -10
  504. package/es/chat/ChatItem/components/MessageContent.mjs.map +1 -1
  505. package/es/chat/ChatItem/components/Title.mjs +3 -8
  506. package/es/chat/ChatItem/components/Title.mjs.map +1 -1
  507. package/es/chat/ChatItem/style.mjs +294 -142
  508. package/es/chat/ChatItem/style.mjs.map +1 -1
  509. package/es/chat/ChatList/ChatList.d.mts +2 -2
  510. package/es/chat/ChatList/ChatList.mjs +2 -2
  511. package/es/chat/ChatList/ChatList.mjs.map +1 -1
  512. package/es/chat/ChatList/style.mjs +3 -3
  513. package/es/chat/ChatList/style.mjs.map +1 -1
  514. package/es/chat/EditableMessage/EditableMessage.d.mts +2 -2
  515. package/es/chat/EditableMessage/EditableMessage.mjs +1 -1
  516. package/es/chat/EditableMessageList/EditableMessageList.d.mts +2 -2
  517. package/es/chat/LoadingDots/LoadingDots.mjs +17 -10
  518. package/es/chat/LoadingDots/LoadingDots.mjs.map +1 -1
  519. package/es/chat/LoadingDots/style.mjs +117 -116
  520. package/es/chat/LoadingDots/style.mjs.map +1 -1
  521. package/es/chat/LoadingDots/type.d.mts +6 -0
  522. package/es/chat/MessageInput/MessageInput.d.mts +2 -2
  523. package/es/chat/MessageInput/MessageInput.mjs +4 -5
  524. package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
  525. package/es/chat/MessageInput/style.mjs +4 -4
  526. package/es/chat/MessageInput/style.mjs.map +1 -1
  527. package/es/chat/MessageModal/MessageModal.d.mts +2 -2
  528. package/es/chat/MessageModal/MessageModal.mjs +4 -5
  529. package/es/chat/MessageModal/MessageModal.mjs.map +1 -1
  530. package/es/chat/TokenTag/TokenTag.mjs +5 -6
  531. package/es/chat/TokenTag/TokenTag.mjs.map +1 -1
  532. package/es/color/ColorScales/ScaleRow.mjs +1 -2
  533. package/es/color/ColorScales/ScaleRow.mjs.map +1 -1
  534. package/es/color/ColorScales/index.d.mts +2 -2
  535. package/es/color/ColorScales/index.mjs +1 -2
  536. package/es/color/ColorScales/index.mjs.map +1 -1
  537. package/es/color/ColorScales/style.mjs +4 -4
  538. package/es/color/ColorScales/style.mjs.map +1 -1
  539. package/es/hooks/useHighlight.mjs +84 -227
  540. package/es/hooks/useHighlight.mjs.map +1 -1
  541. package/es/hooks/useMermaid.mjs +104 -57
  542. package/es/hooks/useMermaid.mjs.map +1 -1
  543. package/es/hooks/useStreamHighlight.mjs +221 -0
  544. package/es/hooks/useStreamHighlight.mjs.map +1 -0
  545. package/es/hooks/useStreamMermaid.mjs +87 -0
  546. package/es/hooks/useStreamMermaid.mjs.map +1 -0
  547. package/es/i18n/context.d.mts +2 -2
  548. package/es/icons/lucideExtra/BotPromptIcon.d.mts +2 -2
  549. package/es/icons/lucideExtra/CreateBotIcon.d.mts +2 -2
  550. package/es/icons/lucideExtra/DiscordIcon.d.mts +2 -2
  551. package/es/icons/lucideExtra/GlobeOffIcon.d.mts +3 -3
  552. package/es/icons/lucideExtra/GroupBotIcon.d.mts +3 -3
  553. package/es/icons/lucideExtra/GroupBotSquareIcon.d.mts +3 -3
  554. package/es/icons/lucideExtra/LeftClickIcon.d.mts +3 -3
  555. package/es/icons/lucideExtra/LeftDoubleClickIcon.d.mts +3 -3
  556. package/es/icons/lucideExtra/McpIcon.d.mts +3 -3
  557. package/es/icons/lucideExtra/ProviderIcon.d.mts +3 -3
  558. package/es/icons/lucideExtra/RightClickIcon.d.mts +3 -3
  559. package/es/icons/lucideExtra/RightDoubleClickIcon.d.mts +3 -3
  560. package/es/icons/lucideExtra/ShapesUploadIcon.d.mts +3 -3
  561. package/es/icons/lucideExtra/TreeDownRightIcon.d.mts +3 -3
  562. package/es/icons/lucideExtra/TreeUpDownRightIcon.d.mts +3 -3
  563. package/es/index.d.mts +2 -1
  564. package/es/index.mjs +9 -8
  565. package/es/mdx/Callout/index.mjs +8 -7
  566. package/es/mdx/Callout/index.mjs.map +1 -1
  567. package/es/mdx/Callout/style.mjs +3 -4
  568. package/es/mdx/Callout/style.mjs.map +1 -1
  569. package/es/mdx/Cards/Card.mjs +14 -16
  570. package/es/mdx/Cards/Card.mjs.map +1 -1
  571. package/es/mdx/Cards/index.mjs +2 -2
  572. package/es/mdx/Cards/index.mjs.map +1 -1
  573. package/es/mdx/Cards/style.mjs +3 -3
  574. package/es/mdx/Cards/style.mjs.map +1 -1
  575. package/es/mdx/FileTree/Folder.mjs +1 -16
  576. package/es/mdx/FileTree/Folder.mjs.map +1 -1
  577. package/es/mdx/FileTree/index.mjs +2 -2
  578. package/es/mdx/FileTree/index.mjs.map +1 -1
  579. package/es/mdx/FileTree/style.mjs +19 -7
  580. package/es/mdx/FileTree/style.mjs.map +1 -1
  581. package/es/mdx/Mdx/index.d.mts +2 -2
  582. package/es/mdx/Mdx/index.mjs +2 -2
  583. package/es/mdx/Mdx/index.mjs.map +1 -1
  584. package/es/mdx/Steps/index.mjs +2 -2
  585. package/es/mdx/Steps/index.mjs.map +1 -1
  586. package/es/mdx/Steps/style.mjs +8 -8
  587. package/es/mdx/Steps/style.mjs.map +1 -1
  588. package/es/mdx/Tabs/Tab.mjs +3 -12
  589. package/es/mdx/Tabs/Tab.mjs.map +1 -1
  590. package/es/mdx/Tabs/index.mjs +2 -2
  591. package/es/mdx/Tabs/index.mjs.map +1 -1
  592. package/es/mdx/Tabs/style.mjs +12 -14
  593. package/es/mdx/Tabs/style.mjs.map +1 -1
  594. package/es/mdx/mdxComponents/Citation/PopoverPanel.mjs +1 -22
  595. package/es/mdx/mdxComponents/Citation/PopoverPanel.mjs.map +1 -1
  596. package/es/mdx/mdxComponents/Citation/index.mjs +3 -17
  597. package/es/mdx/mdxComponents/Citation/index.mjs.map +1 -1
  598. package/es/mdx/mdxComponents/Citation/style.mjs +39 -0
  599. package/es/mdx/mdxComponents/Citation/style.mjs.map +1 -0
  600. package/es/mdx/mdxComponents/Pre.mjs +7 -9
  601. package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
  602. package/es/mobile/ChatHeader/ChatHeader.mjs +2 -2
  603. package/es/mobile/ChatHeader/ChatHeader.mjs.map +1 -1
  604. package/es/mobile/ChatHeader/ChatHeaderTitle.d.mts +2 -2
  605. package/es/mobile/ChatHeader/ChatHeaderTitle.mjs +7 -8
  606. package/es/mobile/ChatHeader/ChatHeaderTitle.mjs.map +1 -1
  607. package/es/mobile/ChatHeader/style.mjs +6 -6
  608. package/es/mobile/ChatHeader/style.mjs.map +1 -1
  609. package/es/mobile/ChatInputArea/ChatInputArea.mjs +2 -2
  610. package/es/mobile/ChatInputArea/ChatInputArea.mjs.map +1 -1
  611. package/es/mobile/ChatInputArea/components/ChatSendButton.d.mts +2 -2
  612. package/es/mobile/ChatInputArea/style.mjs +5 -5
  613. package/es/mobile/ChatInputArea/style.mjs.map +1 -1
  614. package/es/mobile/SafeArea/SafeArea.mjs +2 -2
  615. package/es/mobile/SafeArea/SafeArea.mjs.map +1 -1
  616. package/es/mobile/SafeArea/style.mjs +3 -3
  617. package/es/mobile/SafeArea/style.mjs.map +1 -1
  618. package/es/mobile/TabBar/TabBar.mjs +2 -2
  619. package/es/mobile/TabBar/TabBar.mjs.map +1 -1
  620. package/es/mobile/TabBar/style.mjs +7 -7
  621. package/es/mobile/TabBar/style.mjs.map +1 -1
  622. package/es/storybook/StoryBook/index.d.mts +2 -2
  623. package/es/storybook/StoryBook/index.mjs +4 -5
  624. package/es/storybook/StoryBook/index.mjs.map +1 -1
  625. package/es/storybook/StoryBook/style.mjs +27 -24
  626. package/es/storybook/StoryBook/style.mjs.map +1 -1
  627. package/es/styles/index.d.mts +2 -1
  628. package/es/styles/index.mjs +2 -1
  629. package/es/styles/theme/customStylishStatic.d.mts +7 -0
  630. package/es/styles/theme/customStylishStatic.mjs +161 -0
  631. package/es/styles/theme/customStylishStatic.mjs.map +1 -0
  632. package/package.json +3 -2
  633. package/es/brand/LogoMono/index.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","names":[],"sources":["../../src/DraggableSideNav/style.ts"],"sourcesContent":["import { createStyles } from 'antd-style';\n\n// Layout constants (aligned with DraggablePanel)\nconst LAYOUT = {\n offset: 16,\n toggleLength: 54,\n toggleShort: 16,\n};\n\nexport const useStyles = createStyles(\n (\n { css, token, prefixCls },\n { showBorder, backgroundColor }: { backgroundColor?: string; showBorder: boolean },\n ) => ({\n body: css`\n /* Smooth scroll behavior */\n scroll-behavior: smooth;\n overflow: hidden auto;\n flex: 1;\n\n /* Better scrollbar styling */\n &::-webkit-scrollbar {\n width: 6px;\n }\n\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n\n &::-webkit-scrollbar-thumb {\n border-radius: 3px;\n background: ${token.colorBorderSecondary};\n\n &:hover {\n background: ${token.colorBorder};\n }\n }\n `,\n container: css`\n /* Width transition controlled by inline style */\n\n /* Ensure smooth animations */\n will-change: width;\n\n position: relative;\n\n display: flex;\n flex-direction: column;\n\n height: 100%;\n `,\n contentContainer: css`\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n height: 100%;\n border-inline-end: ${showBorder ? '1px' : '0'} solid ${token.colorBorderSecondary};\n\n background: ${backgroundColor || token.colorBgLayout};\n `,\n footer: css`\n flex-shrink: 0;\n `,\n handlerIcon: css`\n /* Icon transitions are now handled by motion */\n display: flex;\n align-items: center;\n justify-content: center;\n `,\n header: css`\n flex-shrink: 0;\n `,\n menuOverride: css`\n .${prefixCls}-menu {\n .${prefixCls}-menu-item {\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: center;\n\n height: unset;\n min-height: 36px;\n padding-block: 4px;\n padding-inline: 8px !important;\n }\n\n .${prefixCls}-menu-item-group-title {\n overflow: hidden;\n padding-inline: 8px;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .${prefixCls}-menu-item-icon {\n position: absolute;\n inset-inline-start: 0;\n\n display: flex !important;\n flex: none;\n align-items: center;\n justify-content: center;\n\n width: 36px;\n height: 36px;\n }\n\n .${prefixCls}-menu-title-content {\n overflow: hidden;\n flex: 1;\n\n margin: 0 !important;\n padding-inline-start: 36px;\n\n line-height: 1.5;\n }\n\n &.${prefixCls}-menu-inline-collapsed {\n .ant-menu-title-content {\n display: none;\n width: 0;\n opacity: 0;\n }\n\n .${prefixCls}-menu-item {\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: 36px !important;\n height: 36px !important;\n }\n }\n }\n `,\n resizeHandle: css`\n cursor: col-resize;\n\n position: absolute;\n inset-block: 0 0;\n\n width: 8px;\n\n transition: background-color 0.2s ease;\n\n &::after {\n content: '';\n\n position: absolute;\n inset-block: 0;\n inset-inline-start: 50%;\n transform: translateX(-50%);\n\n width: 2px;\n\n background: transparent;\n\n transition: all 0.25s cubic-bezier(0.22, 1, 0.36, 1);\n }\n `,\n resizeHandleHighlight: css`\n &:hover {\n &::after {\n width: 3px;\n background: ${token.colorPrimary};\n box-shadow: 0 0 8px ${token.colorPrimary}40;\n }\n }\n\n &:active {\n &::after {\n background: ${token.colorPrimaryActive};\n }\n }\n `,\n resizeHandleLeft: css`\n inset-inline-end: -4px;\n `,\n resizeHandleRight: css`\n inset-inline-start: -4px;\n `,\n toggleLeft: css`\n inset-inline-end: -${LAYOUT.offset}px;\n width: ${LAYOUT.toggleShort}px;\n height: 100%;\n\n > div {\n inset-block-start: 50%;\n\n width: ${LAYOUT.toggleShort}px;\n height: ${LAYOUT.toggleLength}px;\n margin-block-start: -${LAYOUT.toggleLength / 2}px;\n margin-inline-start: -1px;\n border-inline-start-width: 0;\n border-radius: 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px 0;\n }\n `,\n toggleRight: css`\n inset-inline-start: -${LAYOUT.offset}px;\n width: ${LAYOUT.toggleShort}px;\n height: 100%;\n\n > div {\n inset-block-start: 50%;\n\n width: ${LAYOUT.toggleShort}px;\n height: ${LAYOUT.toggleLength}px;\n margin-block-start: -${LAYOUT.toggleLength / 2}px;\n margin-inline-end: -1px;\n border-inline-end-width: 0;\n border-radius: ${token.borderRadiusLG}px 0 0 ${token.borderRadiusLG}px; /* 右侧面板,handle 在左边,左侧圆角 */\n }\n `,\n toggleRoot: css`\n pointer-events: none;\n position: absolute;\n z-index: 50;\n\n /* Smooth transitions for all states */\n transition: opacity 0.25s cubic-bezier(0.22, 1, 0.36, 1);\n\n &:has(> div) {\n pointer-events: all;\n }\n\n > div {\n pointer-events: all;\n cursor: pointer;\n\n position: absolute;\n\n border: 1px solid ${token.colorBorder};\n\n color: ${token.colorTextTertiary};\n\n background: ${backgroundColor || token.colorBgLayout};\n backdrop-filter: blur(8px);\n\n /* Enhanced transitions with backdrop blur */\n transition:\n color 0.2s ${token.motionEaseOut},\n transform 0.2s ${token.motionEaseOut},\n box-shadow 0.2s ${token.motionEaseOut};\n\n &:hover {\n color: ${token.colorTextSecondary};\n }\n\n &:active {\n transform: scale(0.95);\n color: ${token.colorText};\n }\n }\n `,\n }),\n);\n"],"mappings":";;;AAGA,MAAM,SAAS;CACb,QAAQ;CACR,cAAc;CACd,aAAa;CACd;AAED,MAAa,YAAY,cAErB,EAAE,YAAK,OAAO,aACd,EAAE,YAAY,uBACV;CACJ,MAAM,KAAG;;;;;;;;;;;;;;;;;sBAiBS,MAAM,qBAAqB;;;wBAGzB,MAAM,YAAY;;;;CAItC,WAAW,KAAG;;;;;;;;;;;;;CAad,kBAAkB,KAAG;;;;;;2BAME,aAAa,QAAQ,IAAI,SAAS,MAAM,qBAAqB;;oBAEpE,mBAAmB,MAAM,cAAc;;CAEvD,QAAQ,KAAG;;;CAGX,aAAa,KAAG;;;;;;CAMhB,QAAQ,KAAG;;;CAGX,cAAc,KAAG;SACZ,UAAU;WACR,UAAU;;;;;;;;;;;;WAYV,UAAU;;;;;;;WAOV,UAAU;;;;;;;;;;;;;WAaV,UAAU;;;;;;;;;;YAUT,UAAU;;;;;;;aAOT,UAAU;;;;;;;;;;;CAWnB,cAAc,KAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBjB,uBAAuB,KAAG;;;;wBAIN,MAAM,aAAa;gCACX,MAAM,aAAa;;;;;;wBAM3B,MAAM,mBAAmB;;;;CAI7C,kBAAkB,KAAG;;;CAGrB,mBAAmB,KAAG;;;CAGtB,YAAY,KAAG;2BACQ,OAAO,OAAO;eAC1B,OAAO,YAAY;;;;;;iBAMjB,OAAO,YAAY;kBAClB,OAAO,aAAa;+BACP,OAAO,eAAe,EAAE;;;2BAG5B,MAAM,eAAe,KAAK,MAAM,eAAe;;;CAGtE,aAAa,KAAG;6BACS,OAAO,OAAO;eAC5B,OAAO,YAAY;;;;;;iBAMjB,OAAO,YAAY;kBAClB,OAAO,aAAa;+BACP,OAAO,eAAe,EAAE;;;yBAG9B,MAAM,eAAe,SAAS,MAAM,eAAe;;;CAGxE,YAAY,KAAG;;;;;;;;;;;;;;;;;;4BAkBS,MAAM,YAAY;;iBAE7B,MAAM,kBAAkB;;sBAEnB,mBAAmB,MAAM,cAAc;;;;;uBAKtC,MAAM,cAAc;2BAChB,MAAM,cAAc;4BACnB,MAAM,cAAc;;;mBAG7B,MAAM,mBAAmB;;;;;mBAKzB,MAAM,UAAU;;;;CAIhC,EACF"}
1
+ {"version":3,"file":"style.mjs","names":["cssVar"],"sources":["../../src/DraggableSideNav/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\n// Layout constants (aligned with DraggablePanel)\nconst LAYOUT = {\n offset: 16,\n toggleLength: 54,\n toggleShort: 16,\n};\n\nconst prefixCls = 'ant';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n body: css`\n /* Smooth scroll behavior */\n scroll-behavior: smooth;\n overflow: hidden auto;\n flex: 1;\n\n /* Better scrollbar styling */\n &::-webkit-scrollbar {\n width: 6px;\n }\n\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n\n &::-webkit-scrollbar-thumb {\n border-radius: 3px;\n background: ${cssVar.colorBorderSecondary};\n\n &:hover {\n background: ${cssVar.colorBorder};\n }\n }\n `,\n container: css`\n /* Width transition controlled by inline style */\n\n /* Ensure smooth animations */\n will-change: width;\n\n position: relative;\n\n display: flex;\n flex-direction: column;\n\n height: 100%;\n `,\n contentContainer: css`\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n height: 100%;\n border-inline-end: 1px solid ${cssVar.colorBorderSecondary};\n\n background: var(--draggable-side-nav-bg, ${cssVar.colorBgLayout});\n `,\n contentContainerNoBorder: css`\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n height: 100%;\n border-inline-end: 0 solid ${cssVar.colorBorderSecondary};\n\n background: var(--draggable-side-nav-bg, ${cssVar.colorBgLayout});\n `,\n footer: css`\n flex-shrink: 0;\n `,\n handlerIcon: css`\n /* Icon transitions are now handled by motion */\n display: flex;\n align-items: center;\n justify-content: center;\n `,\n header: css`\n flex-shrink: 0;\n `,\n menuOverride: css`\n .${prefixCls}-menu {\n .${prefixCls}-menu-item {\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: center;\n\n height: unset;\n min-height: 36px;\n padding-block: 4px;\n padding-inline: 8px !important;\n }\n\n .${prefixCls}-menu-item-group-title {\n overflow: hidden;\n padding-inline: 8px;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .${prefixCls}-menu-item-icon {\n position: absolute;\n inset-inline-start: 0;\n\n display: flex !important;\n flex: none;\n align-items: center;\n justify-content: center;\n\n width: 36px;\n height: 36px;\n }\n\n .${prefixCls}-menu-title-content {\n overflow: hidden;\n flex: 1;\n\n margin: 0 !important;\n padding-inline-start: 36px;\n\n line-height: 1.5;\n }\n\n &.${prefixCls}-menu-inline-collapsed {\n .ant-menu-title-content {\n display: none;\n width: 0;\n opacity: 0;\n }\n\n .${prefixCls}-menu-item {\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: 36px !important;\n height: 36px !important;\n }\n }\n }\n `,\n resizeHandle: css`\n cursor: col-resize;\n\n position: absolute;\n inset-block: 0 0;\n\n width: 8px;\n\n transition: background-color 0.2s ease;\n\n &::after {\n content: '';\n\n position: absolute;\n inset-block: 0;\n inset-inline-start: 50%;\n transform: translateX(-50%);\n\n width: 2px;\n\n background: transparent;\n\n transition: all 0.25s cubic-bezier(0.22, 1, 0.36, 1);\n }\n `,\n resizeHandleHighlight: css`\n &:hover {\n &::after {\n width: 3px;\n background: ${cssVar.colorPrimary};\n box-shadow: 0 0 8px color-mix(in srgb, ${cssVar.colorPrimary} 25%, transparent);\n }\n }\n\n &:active {\n &::after {\n background: ${cssVar.colorPrimaryActive};\n }\n }\n `,\n resizeHandleLeft: css`\n inset-inline-end: -4px;\n `,\n resizeHandleRight: css`\n inset-inline-start: -4px;\n `,\n toggleLeft: css`\n inset-inline-end: -${LAYOUT.offset}px;\n width: ${LAYOUT.toggleShort}px;\n height: 100%;\n\n > div {\n inset-block-start: 50%;\n\n width: ${LAYOUT.toggleShort}px;\n height: ${LAYOUT.toggleLength}px;\n margin-block-start: -${LAYOUT.toggleLength / 2}px;\n margin-inline-start: -1px;\n border-inline-start-width: 0;\n border-radius: 0 ${cssVar.borderRadiusLG} ${cssVar.borderRadiusLG} 0;\n }\n `,\n toggleRight: css`\n inset-inline-start: -${LAYOUT.offset}px;\n width: ${LAYOUT.toggleShort}px;\n height: 100%;\n\n > div {\n inset-block-start: 50%;\n\n width: ${LAYOUT.toggleShort}px;\n height: ${LAYOUT.toggleLength}px;\n margin-block-start: -${LAYOUT.toggleLength / 2}px;\n margin-inline-end: -1px;\n border-inline-end-width: 0;\n border-radius: ${cssVar.borderRadiusLG} 0 0 ${cssVar.borderRadiusLG}; /* 右侧面板,handle 在左边,左侧圆角 */\n }\n `,\n toggleRoot: css`\n pointer-events: none;\n position: absolute;\n z-index: 50;\n\n /* Smooth transitions for all states */\n transition: opacity 0.25s cubic-bezier(0.22, 1, 0.36, 1);\n\n &:has(> div) {\n pointer-events: all;\n }\n\n > div {\n pointer-events: all;\n cursor: pointer;\n\n position: absolute;\n\n border: 1px solid ${cssVar.colorBorder};\n\n color: ${cssVar.colorTextTertiary};\n\n background: var(--draggable-side-nav-bg, ${cssVar.colorBgLayout});\n backdrop-filter: blur(8px);\n\n /* Enhanced transitions with backdrop blur */\n transition:\n color 0.2s ${cssVar.motionEaseOut},\n transform 0.2s ${cssVar.motionEaseOut},\n box-shadow 0.2s ${cssVar.motionEaseOut};\n\n &:hover {\n color: ${cssVar.colorTextSecondary};\n }\n\n &:active {\n transform: scale(0.95);\n color: ${cssVar.colorText};\n }\n }\n `,\n}));\n"],"mappings":";;;AAGA,MAAM,SAAS;CACb,QAAQ;CACR,cAAc;CACd,aAAa;CACd;AAED,MAAM,YAAY;AAElB,MAAa,SAAS,oBAAoB,EAAE,YAAK,wBAAc;CAC7D,MAAM,KAAG;;;;;;;;;;;;;;;;;oBAiBSA,SAAO,qBAAqB;;;sBAG1BA,SAAO,YAAY;;;;CAIvC,WAAW,KAAG;;;;;;;;;;;;;CAad,kBAAkB,KAAG;;;;;;mCAMYA,SAAO,qBAAqB;;+CAEhBA,SAAO,cAAc;;CAElE,0BAA0B,KAAG;;;;;;iCAMEA,SAAO,qBAAqB;;+CAEdA,SAAO,cAAc;;CAElE,QAAQ,KAAG;;;CAGX,aAAa,KAAG;;;;;;CAMhB,QAAQ,KAAG;;;CAGX,cAAc,KAAG;OACZ,UAAU;SACR,UAAU;;;;;;;;;;;;SAYV,UAAU;;;;;;;SAOV,UAAU;;;;;;;;;;;;;SAaV,UAAU;;;;;;;;;;UAUT,UAAU;;;;;;;WAOT,UAAU;;;;;;;;;;;CAWnB,cAAc,KAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBjB,uBAAuB,KAAG;;;;sBAINA,SAAO,aAAa;iDACOA,SAAO,aAAa;;;;;;sBAM/CA,SAAO,mBAAmB;;;;CAI9C,kBAAkB,KAAG;;;CAGrB,mBAAmB,KAAG;;;CAGtB,YAAY,KAAG;yBACQ,OAAO,OAAO;aAC1B,OAAO,YAAY;;;;;;eAMjB,OAAO,YAAY;gBAClB,OAAO,aAAa;6BACP,OAAO,eAAe,EAAE;;;yBAG5BA,SAAO,eAAe,GAAGA,SAAO,eAAe;;;CAGtE,aAAa,KAAG;2BACS,OAAO,OAAO;aAC5B,OAAO,YAAY;;;;;;eAMjB,OAAO,YAAY;gBAClB,OAAO,aAAa;6BACP,OAAO,eAAe,EAAE;;;uBAG9BA,SAAO,eAAe,OAAOA,SAAO,eAAe;;;CAGxE,YAAY,KAAG;;;;;;;;;;;;;;;;;;0BAkBSA,SAAO,YAAY;;eAE9BA,SAAO,kBAAkB;;iDAESA,SAAO,cAAc;;;;;qBAKjDA,SAAO,cAAc;yBACjBA,SAAO,cAAc;0BACpBA,SAAO,cAAc;;;iBAG9BA,SAAO,mBAAmB;;;;;iBAK1BA,SAAO,UAAU;;;;CAIjC,EAAE"}
@@ -1,8 +1,8 @@
1
1
  import { DrawerProps } from "./type.mjs";
2
- import * as react13 from "react";
2
+ import * as react17 from "react";
3
3
 
4
4
  //#region src/Drawer/Drawer.d.ts
5
- declare const Drawer: react13.NamedExoticComponent<DrawerProps>;
5
+ declare const Drawer: react17.NamedExoticComponent<DrawerProps>;
6
6
  //#endregion
7
7
  export { Drawer };
8
8
  //# sourceMappingURL=Drawer.d.mts.map
@@ -5,26 +5,24 @@ import ActionIcon_default from "../ActionIcon/ActionIcon.mjs";
5
5
  import { memo, useMemo } from "react";
6
6
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
7
  import { Drawer } from "antd";
8
- import { useTheme } from "antd-style";
8
+ import { cssVar } from "antd-style";
9
9
  import { XIcon } from "lucide-react";
10
10
 
11
11
  //#region src/Drawer/Drawer.tsx
12
12
  const Drawer$1 = memo(({ onClose, containerMaxWidth = 1024, classNames, title, placement, styles, children, height, width, extra, closeIconProps, noHeader, sidebarWidth = 280, sidebar, closeIcon, ref, ...rest }) => {
13
- const theme = useTheme();
14
13
  const headerBorder = useMemo(() => {
15
14
  if (height === "100%" || width === "100%" || height === "100vh" || width === "100vw") return {};
16
15
  switch (placement) {
17
- case "top": return { borderBottom: `1px solid ${theme.colorBorder}` };
18
- case "bottom": return { borderTop: `1px solid ${theme.colorBorder}` };
19
- case "left": return { borderRight: `1px solid ${theme.colorBorder}` };
20
- case "right": return { borderLeft: `1px solid ${theme.colorBorder}` };
16
+ case "top": return { borderBottom: `1px solid ${cssVar.colorBorder}` };
17
+ case "bottom": return { borderTop: `1px solid ${cssVar.colorBorder}` };
18
+ case "left": return { borderRight: `1px solid ${cssVar.colorBorder}` };
19
+ case "right": return { borderLeft: `1px solid ${cssVar.colorBorder}` };
21
20
  default: return {};
22
21
  }
23
22
  }, [
24
23
  placement,
25
24
  height,
26
- width,
27
- theme.colorBorder
25
+ width
28
26
  ]);
29
27
  const extraNode = /* @__PURE__ */ jsxs(FlexBasic_default, {
30
28
  align: "center",
@@ -49,8 +47,8 @@ const Drawer$1 = memo(({ onClose, containerMaxWidth = 1024, classNames, title, p
49
47
  paddingBlock: 12,
50
48
  paddingInline: 16,
51
49
  style: {
52
- background: theme.colorBgLayout,
53
- borderRight: `1px solid ${theme.colorBorderSecondary}`,
50
+ background: cssVar.colorBgLayout,
51
+ borderRight: `1px solid ${cssVar.colorBorderSecondary}`,
54
52
  height: "100vh",
55
53
  overflowX: "hidden",
56
54
  overflowY: "auto",
@@ -66,7 +64,7 @@ const Drawer$1 = memo(({ onClose, containerMaxWidth = 1024, classNames, title, p
66
64
  paddingBlock: 12,
67
65
  paddingInline: 16,
68
66
  style: {
69
- background: theme.colorBgContainer,
67
+ background: cssVar.colorBgContainer,
70
68
  overflowX: "hidden",
71
69
  overflowY: "auto",
72
70
  ...styles?.sidebarContent
@@ -97,11 +95,11 @@ const Drawer$1 = memo(({ onClose, containerMaxWidth = 1024, classNames, title, p
97
95
  ...styles?.header
98
96
  },
99
97
  section: {
100
- background: sidebar ? `linear-gradient(to right, ${theme.colorBgLayout} 49.9%, ${theme.colorBgContainer} 50%)` : theme.colorBgContainer,
98
+ background: sidebar ? `linear-gradient(to right, ${cssVar.colorBgLayout} 49.9%, ${cssVar.colorBgContainer} 50%)` : cssVar.colorBgContainer,
101
99
  ...styles?.section
102
100
  },
103
101
  wrapper: {
104
- background: theme.colorBgContainer,
102
+ background: cssVar.colorBgContainer,
105
103
  ...headerBorder,
106
104
  ...styles?.wrapper
107
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.mjs","names":["Drawer","headerBorder: CSSProperties","Flexbox","ActionIcon","AntdDrawer"],"sources":["../../src/Drawer/Drawer.tsx"],"sourcesContent":["'use client';\n\nimport { Drawer as AntdDrawer } from 'antd';\nimport { useTheme } from 'antd-style';\nimport { XIcon } from 'lucide-react';\nimport { CSSProperties, memo, useMemo } from 'react';\n\nimport ActionIcon from '@/ActionIcon';\nimport { Flexbox } from '@/Flex';\n\nimport type { DrawerProps } from './type';\n\nconst Drawer = memo<DrawerProps>(\n ({\n onClose,\n containerMaxWidth = 1024,\n classNames,\n title,\n placement,\n styles,\n children,\n height,\n width,\n extra,\n closeIconProps,\n noHeader,\n sidebarWidth = 280,\n sidebar,\n closeIcon,\n ref,\n ...rest\n }) => {\n const theme = useTheme();\n\n const headerBorder: CSSProperties = useMemo(() => {\n if (height === '100%' || width === '100%' || height === '100vh' || width === '100vw')\n return {};\n\n switch (placement) {\n case 'top': {\n return {\n borderBottom: `1px solid ${theme.colorBorder}`,\n };\n }\n case 'bottom': {\n return {\n borderTop: `1px solid ${theme.colorBorder}`,\n };\n }\n case 'left': {\n return {\n borderRight: `1px solid ${theme.colorBorder}`,\n };\n }\n case 'right': {\n return {\n borderLeft: `1px solid ${theme.colorBorder}`,\n };\n }\n default: {\n return {};\n }\n }\n }, [placement, height, width, theme.colorBorder]);\n\n const extraNode = (\n <Flexbox\n align={'center'}\n className={classNames?.extra}\n gap={4}\n horizontal\n justify={'flex-end'}\n style={{\n position: 'absolute',\n right: 4,\n top: 4,\n ...styles?.extra,\n }}\n >\n {extra}\n {closeIcon || <ActionIcon icon={XIcon} onClick={onClose} {...closeIconProps} />}\n </Flexbox>\n );\n\n const sidebarContent = (\n <>\n <Flexbox\n className={classNames?.sidebar}\n paddingBlock={12}\n paddingInline={16}\n style={{\n background: theme.colorBgLayout,\n borderRight: `1px solid ${theme.colorBorderSecondary}`,\n height: '100vh',\n overflowX: 'hidden',\n overflowY: 'auto',\n position: 'sticky',\n top: 0,\n ...styles?.sidebar,\n }}\n width={sidebarWidth}\n >\n {sidebar}\n </Flexbox>\n <Flexbox\n className={classNames?.sidebarContent}\n flex={1}\n paddingBlock={12}\n paddingInline={16}\n style={{\n background: theme.colorBgContainer,\n overflowX: 'hidden',\n overflowY: 'auto',\n ...styles?.sidebarContent,\n }}\n >\n {children}\n </Flexbox>\n </>\n );\n\n return (\n <AntdDrawer\n classNames={classNames}\n closable={false}\n extra={noHeader ? undefined : extraNode}\n height={height}\n keyboard={true}\n onClose={onClose}\n panelRef={ref}\n placement={placement}\n styles={\n typeof styles === 'function'\n ? styles\n : {\n ...styles,\n body: {\n background: 'transparent',\n paddingBlock: sidebar ? 0 : 12,\n paddingInline: sidebar ? 0 : 16,\n ...styles?.body,\n },\n header: {\n background: 'transparent',\n display: noHeader ? 'none' : undefined,\n padding: 4,\n ...styles?.header,\n },\n section: {\n background: sidebar\n ? `linear-gradient(to right, ${theme.colorBgLayout} 49.9%, ${theme.colorBgContainer} 50%)`\n : theme.colorBgContainer,\n ...styles?.section,\n },\n wrapper: {\n background: theme.colorBgContainer,\n ...headerBorder,\n ...styles?.wrapper,\n },\n }\n }\n title={\n <Flexbox\n align={'center'}\n className={classNames?.title}\n horizontal\n justify={'flex-start'}\n paddingBlock={8}\n paddingInline={16}\n style={{\n justifySelf: 'center',\n maxWidth: containerMaxWidth,\n width: '100%',\n ...styles?.title,\n }}\n >\n {title}\n </Flexbox>\n }\n width={width}\n {...rest}\n >\n <Flexbox\n className={classNames?.bodyContent}\n horizontal={!!sidebar}\n style={{\n justifySelf: 'center',\n maxWidth: containerMaxWidth,\n minHeight: '100%',\n overflow: sidebar ? 'visible' : undefined,\n width: '100%',\n ...styles?.bodyContent,\n }}\n >\n {noHeader && extraNode}\n {sidebar ? sidebarContent : children}\n </Flexbox>\n </AntdDrawer>\n );\n },\n);\n\nDrawer.displayName = 'Drawer';\n\nexport default Drawer;\n"],"mappings":";;;;;;;;;;;AAYA,MAAMA,WAAS,MACZ,EACC,SACA,oBAAoB,MACpB,YACA,OACA,WACA,QACA,UACA,QACA,OACA,OACA,gBACA,UACA,eAAe,KACf,SACA,WACA,KACA,GAAG,WACC;CACJ,MAAM,QAAQ,UAAU;CAExB,MAAMC,eAA8B,cAAc;AAChD,MAAI,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,UAAU,QAC3E,QAAO,EAAE;AAEX,UAAQ,WAAR;GACE,KAAK,MACH,QAAO,EACL,cAAc,aAAa,MAAM,eAClC;GAEH,KAAK,SACH,QAAO,EACL,WAAW,aAAa,MAAM,eAC/B;GAEH,KAAK,OACH,QAAO,EACL,aAAa,aAAa,MAAM,eACjC;GAEH,KAAK,QACH,QAAO,EACL,YAAY,aAAa,MAAM,eAChC;GAEH,QACE,QAAO,EAAE;;IAGZ;EAAC;EAAW;EAAQ;EAAO,MAAM;EAAY,CAAC;CAEjD,MAAM,YACJ,qBAACC;EACC,OAAO;EACP,WAAW,YAAY;EACvB,KAAK;EACL;EACA,SAAS;EACT,OAAO;GACL,UAAU;GACV,OAAO;GACP,KAAK;GACL,GAAG,QAAQ;GACZ;aAEA,OACA,aAAa,oBAACC;GAAW,MAAM;GAAO,SAAS;GAAS,GAAI;IAAkB;GACvE;CAGZ,MAAM,iBACJ,8CACE,oBAACD;EACC,WAAW,YAAY;EACvB,cAAc;EACd,eAAe;EACf,OAAO;GACL,YAAY,MAAM;GAClB,aAAa,aAAa,MAAM;GAChC,QAAQ;GACR,WAAW;GACX,WAAW;GACX,UAAU;GACV,KAAK;GACL,GAAG,QAAQ;GACZ;EACD,OAAO;YAEN;GACO,EACV,oBAACA;EACC,WAAW,YAAY;EACvB,MAAM;EACN,cAAc;EACd,eAAe;EACf,OAAO;GACL,YAAY,MAAM;GAClB,WAAW;GACX,WAAW;GACX,GAAG,QAAQ;GACZ;EAEA;GACO,IACT;AAGL,QACE,oBAACE;EACa;EACZ,UAAU;EACV,OAAO,WAAW,SAAY;EACtB;EACR,UAAU;EACD;EACT,UAAU;EACC;EACX,QACE,OAAO,WAAW,aACd,SACA;GACE,GAAG;GACH,MAAM;IACJ,YAAY;IACZ,cAAc,UAAU,IAAI;IAC5B,eAAe,UAAU,IAAI;IAC7B,GAAG,QAAQ;IACZ;GACD,QAAQ;IACN,YAAY;IACZ,SAAS,WAAW,SAAS;IAC7B,SAAS;IACT,GAAG,QAAQ;IACZ;GACD,SAAS;IACP,YAAY,UACR,6BAA6B,MAAM,cAAc,UAAU,MAAM,iBAAiB,SAClF,MAAM;IACV,GAAG,QAAQ;IACZ;GACD,SAAS;IACP,YAAY,MAAM;IAClB,GAAG;IACH,GAAG,QAAQ;IACZ;GACF;EAEP,OACE,oBAACF;GACC,OAAO;GACP,WAAW,YAAY;GACvB;GACA,SAAS;GACT,cAAc;GACd,eAAe;GACf,OAAO;IACL,aAAa;IACb,UAAU;IACV,OAAO;IACP,GAAG,QAAQ;IACZ;aAEA;IACO;EAEL;EACP,GAAI;YAEJ,qBAACA;GACC,WAAW,YAAY;GACvB,YAAY,CAAC,CAAC;GACd,OAAO;IACL,aAAa;IACb,UAAU;IACV,WAAW;IACX,UAAU,UAAU,YAAY;IAChC,OAAO;IACP,GAAG,QAAQ;IACZ;cAEA,YAAY,WACZ,UAAU,iBAAiB;IACpB;GACC;EAGlB;AAED,SAAO,cAAc;AAErB,qBAAeF"}
1
+ {"version":3,"file":"Drawer.mjs","names":["Drawer","headerBorder: CSSProperties","Flexbox","ActionIcon","AntdDrawer"],"sources":["../../src/Drawer/Drawer.tsx"],"sourcesContent":["'use client';\n\nimport { Drawer as AntdDrawer } from 'antd';\nimport { cssVar } from 'antd-style';\nimport { XIcon } from 'lucide-react';\nimport { CSSProperties, memo, useMemo } from 'react';\n\nimport ActionIcon from '@/ActionIcon';\nimport { Flexbox } from '@/Flex';\n\nimport type { DrawerProps } from './type';\n\nconst Drawer = memo<DrawerProps>(\n ({\n onClose,\n containerMaxWidth = 1024,\n classNames,\n title,\n placement,\n styles,\n children,\n height,\n width,\n extra,\n closeIconProps,\n noHeader,\n sidebarWidth = 280,\n sidebar,\n closeIcon,\n ref,\n ...rest\n }) => {\n const headerBorder: CSSProperties = useMemo(() => {\n if (height === '100%' || width === '100%' || height === '100vh' || width === '100vw')\n return {};\n\n switch (placement) {\n case 'top': {\n return {\n borderBottom: `1px solid ${cssVar.colorBorder}`,\n };\n }\n case 'bottom': {\n return {\n borderTop: `1px solid ${cssVar.colorBorder}`,\n };\n }\n case 'left': {\n return {\n borderRight: `1px solid ${cssVar.colorBorder}`,\n };\n }\n case 'right': {\n return {\n borderLeft: `1px solid ${cssVar.colorBorder}`,\n };\n }\n default: {\n return {};\n }\n }\n }, [placement, height, width]);\n\n const extraNode = (\n <Flexbox\n align={'center'}\n className={classNames?.extra}\n gap={4}\n horizontal\n justify={'flex-end'}\n style={{\n position: 'absolute',\n right: 4,\n top: 4,\n ...styles?.extra,\n }}\n >\n {extra}\n {closeIcon || <ActionIcon icon={XIcon} onClick={onClose} {...closeIconProps} />}\n </Flexbox>\n );\n\n const sidebarContent = (\n <>\n <Flexbox\n className={classNames?.sidebar}\n paddingBlock={12}\n paddingInline={16}\n style={{\n background: cssVar.colorBgLayout,\n borderRight: `1px solid ${cssVar.colorBorderSecondary}`,\n height: '100vh',\n overflowX: 'hidden',\n overflowY: 'auto',\n position: 'sticky',\n top: 0,\n ...styles?.sidebar,\n }}\n width={sidebarWidth}\n >\n {sidebar}\n </Flexbox>\n <Flexbox\n className={classNames?.sidebarContent}\n flex={1}\n paddingBlock={12}\n paddingInline={16}\n style={{\n background: cssVar.colorBgContainer,\n overflowX: 'hidden',\n overflowY: 'auto',\n ...styles?.sidebarContent,\n }}\n >\n {children}\n </Flexbox>\n </>\n );\n\n return (\n <AntdDrawer\n classNames={classNames}\n closable={false}\n extra={noHeader ? undefined : extraNode}\n height={height}\n keyboard={true}\n onClose={onClose}\n panelRef={ref}\n placement={placement}\n styles={\n typeof styles === 'function'\n ? styles\n : {\n ...styles,\n body: {\n background: 'transparent',\n paddingBlock: sidebar ? 0 : 12,\n paddingInline: sidebar ? 0 : 16,\n ...styles?.body,\n },\n header: {\n background: 'transparent',\n display: noHeader ? 'none' : undefined,\n padding: 4,\n ...styles?.header,\n },\n section: {\n background: sidebar\n ? `linear-gradient(to right, ${cssVar.colorBgLayout} 49.9%, ${cssVar.colorBgContainer} 50%)`\n : cssVar.colorBgContainer,\n ...styles?.section,\n },\n wrapper: {\n background: cssVar.colorBgContainer,\n ...headerBorder,\n ...styles?.wrapper,\n },\n }\n }\n title={\n <Flexbox\n align={'center'}\n className={classNames?.title}\n horizontal\n justify={'flex-start'}\n paddingBlock={8}\n paddingInline={16}\n style={{\n justifySelf: 'center',\n maxWidth: containerMaxWidth,\n width: '100%',\n ...styles?.title,\n }}\n >\n {title}\n </Flexbox>\n }\n width={width}\n {...rest}\n >\n <Flexbox\n className={classNames?.bodyContent}\n horizontal={!!sidebar}\n style={{\n justifySelf: 'center',\n maxWidth: containerMaxWidth,\n minHeight: '100%',\n overflow: sidebar ? 'visible' : undefined,\n width: '100%',\n ...styles?.bodyContent,\n }}\n >\n {noHeader && extraNode}\n {sidebar ? sidebarContent : children}\n </Flexbox>\n </AntdDrawer>\n );\n },\n);\n\nDrawer.displayName = 'Drawer';\n\nexport default Drawer;\n"],"mappings":";;;;;;;;;;;AAYA,MAAMA,WAAS,MACZ,EACC,SACA,oBAAoB,MACpB,YACA,OACA,WACA,QACA,UACA,QACA,OACA,OACA,gBACA,UACA,eAAe,KACf,SACA,WACA,KACA,GAAG,WACC;CACJ,MAAMC,eAA8B,cAAc;AAChD,MAAI,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,UAAU,QAC3E,QAAO,EAAE;AAEX,UAAQ,WAAR;GACE,KAAK,MACH,QAAO,EACL,cAAc,aAAa,OAAO,eACnC;GAEH,KAAK,SACH,QAAO,EACL,WAAW,aAAa,OAAO,eAChC;GAEH,KAAK,OACH,QAAO,EACL,aAAa,aAAa,OAAO,eAClC;GAEH,KAAK,QACH,QAAO,EACL,YAAY,aAAa,OAAO,eACjC;GAEH,QACE,QAAO,EAAE;;IAGZ;EAAC;EAAW;EAAQ;EAAM,CAAC;CAE9B,MAAM,YACJ,qBAACC;EACC,OAAO;EACP,WAAW,YAAY;EACvB,KAAK;EACL;EACA,SAAS;EACT,OAAO;GACL,UAAU;GACV,OAAO;GACP,KAAK;GACL,GAAG,QAAQ;GACZ;aAEA,OACA,aAAa,oBAACC;GAAW,MAAM;GAAO,SAAS;GAAS,GAAI;IAAkB;GACvE;CAGZ,MAAM,iBACJ,8CACE,oBAACD;EACC,WAAW,YAAY;EACvB,cAAc;EACd,eAAe;EACf,OAAO;GACL,YAAY,OAAO;GACnB,aAAa,aAAa,OAAO;GACjC,QAAQ;GACR,WAAW;GACX,WAAW;GACX,UAAU;GACV,KAAK;GACL,GAAG,QAAQ;GACZ;EACD,OAAO;YAEN;GACO,EACV,oBAACA;EACC,WAAW,YAAY;EACvB,MAAM;EACN,cAAc;EACd,eAAe;EACf,OAAO;GACL,YAAY,OAAO;GACnB,WAAW;GACX,WAAW;GACX,GAAG,QAAQ;GACZ;EAEA;GACO,IACT;AAGL,QACE,oBAACE;EACa;EACZ,UAAU;EACV,OAAO,WAAW,SAAY;EACtB;EACR,UAAU;EACD;EACT,UAAU;EACC;EACX,QACE,OAAO,WAAW,aACd,SACA;GACE,GAAG;GACH,MAAM;IACJ,YAAY;IACZ,cAAc,UAAU,IAAI;IAC5B,eAAe,UAAU,IAAI;IAC7B,GAAG,QAAQ;IACZ;GACD,QAAQ;IACN,YAAY;IACZ,SAAS,WAAW,SAAS;IAC7B,SAAS;IACT,GAAG,QAAQ;IACZ;GACD,SAAS;IACP,YAAY,UACR,6BAA6B,OAAO,cAAc,UAAU,OAAO,iBAAiB,SACpF,OAAO;IACX,GAAG,QAAQ;IACZ;GACD,SAAS;IACP,YAAY,OAAO;IACnB,GAAG;IACH,GAAG,QAAQ;IACZ;GACF;EAEP,OACE,oBAACF;GACC,OAAO;GACP,WAAW,YAAY;GACvB;GACA,SAAS;GACT,cAAc;GACd,eAAe;GACf,OAAO;IACL,aAAa;IACb,UAAU;IACV,OAAO;IACP,GAAG,QAAQ;IACZ;aAEA;IACO;EAEL;EACP,GAAI;YAEJ,qBAACA;GACC,WAAW,YAAY;GACvB,YAAY,CAAC,CAAC;GACd,OAAO;IACL,aAAa;IACb,UAAU;IACV,WAAW;IACX,UAAU,UAAU,YAAY;IAChC,OAAO;IACP,GAAG,QAAQ;IACZ;cAEA,YAAY,WACZ,UAAU,iBAAiB;IACpB;GACC;EAGlB;AAED,SAAO,cAAc;AAErB,qBAAeF"}
@@ -1,8 +1,8 @@
1
1
  import { DropdownProps } from "./type.mjs";
2
- import * as react11 from "react";
2
+ import * as react24 from "react";
3
3
 
4
4
  //#region src/Dropdown/Dropdown.d.ts
5
- declare const Dropdown: react11.NamedExoticComponent<DropdownProps>;
5
+ declare const Dropdown: react24.NamedExoticComponent<DropdownProps>;
6
6
  //#endregion
7
7
  export { Dropdown };
8
8
  //# sourceMappingURL=Dropdown.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { EditableTextProps } from "./type.mjs";
2
- import * as react59 from "react";
2
+ import * as react19 from "react";
3
3
 
4
4
  //#region src/EditableText/EditableText.d.ts
5
- declare const EditableText: react59.NamedExoticComponent<EditableTextProps>;
5
+ declare const EditableText: react19.NamedExoticComponent<EditableTextProps>;
6
6
  //#endregion
7
7
  export { EditableText };
8
8
  //# sourceMappingURL=EditableText.d.mts.map
@@ -5,8 +5,8 @@ import ActionIcon_default from "../ActionIcon/ActionIcon.mjs";
5
5
  import ControlInput_default from "./ControlInput.mjs";
6
6
  import { memo, useMemo } from "react";
7
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
- import useMergeState from "use-merge-value";
9
8
  import { cx } from "antd-style";
9
+ import useMergeState from "use-merge-value";
10
10
  import { Edit3 } from "lucide-react";
11
11
  import { useHotkeys } from "react-hotkeys-hook";
12
12
 
@@ -11,7 +11,7 @@ import Tag_default from "../Tag/Tag.mjs";
11
11
  import { memo, useCallback, useRef, useState } from "react";
12
12
  import { jsx, jsxs } from "react/jsx-runtime";
13
13
  import { Upload, message } from "antd";
14
- import { useTheme } from "antd-style";
14
+ import { cssVar } from "antd-style";
15
15
  import { ChevronLeftIcon, ImageUpIcon } from "lucide-react";
16
16
  import AvatarEditor from "react-avatar-editor";
17
17
 
@@ -27,7 +27,6 @@ const createUploadImageHandler = (onUploadImage) => (file) => {
27
27
  const AvatarUploader = memo(({ shape, onChange, texts, compressSize = 256, onUpload }) => {
28
28
  const editor = useRef(null);
29
29
  const [previewImage, setPreviewImage] = useState("");
30
- const theme = useTheme();
31
30
  const { t } = useTranslation(emojiPicker_default);
32
31
  const fileTypeErrorText = texts?.fileTypeError ?? t("emojiPicker.fileTypeError");
33
32
  const draggerDescText = texts?.draggerDesc ?? t("emojiPicker.draggerDesc");
@@ -66,12 +65,12 @@ const AvatarUploader = memo(({ shape, onChange, texts, compressSize = 256, onUpl
66
65
  width: compressSize,
67
66
  children: [
68
67
  /* @__PURE__ */ jsx(Icon_default, {
69
- color: theme.colorTextDescription,
68
+ color: cssVar.colorTextDescription,
70
69
  icon: ImageUpIcon,
71
70
  size: 48
72
71
  }),
73
72
  /* @__PURE__ */ jsx(Text_default, {
74
- color: theme.colorTextSecondary,
73
+ color: cssVar.colorTextSecondary,
75
74
  children: draggerDescText
76
75
  }),
77
76
  /* @__PURE__ */ jsxs(Center_default, {
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarUploader.mjs","names":["emojiPickerMessages","Flexbox","Center","Icon","Text","Tag","Button"],"sources":["../../src/EmojiPicker/AvatarUploader.tsx"],"sourcesContent":["'use client';\n\nimport { type GetProp, Upload, type UploadProps, message } from 'antd';\nimport { useTheme } from 'antd-style';\nimport { ChevronLeftIcon, ImageUpIcon } from 'lucide-react';\nimport { memo, useCallback, useRef, useState } from 'react';\nimport AvatarEditor from 'react-avatar-editor';\n\nimport Button from '@/Button';\nimport { Center, Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\nimport Tag from '@/Tag';\nimport Text from '@/Text';\nimport emojiPickerMessages from '@/i18n/resources/en/emojiPicker';\nimport { useTranslation } from '@/i18n/useTranslation';\n\nimport { AvatarUploaderProps } from './type';\n\ntype FileType = Parameters<GetProp<UploadProps, 'beforeUpload'>>[0];\n\nconst { Dragger } = Upload;\n\nconst createUploadImageHandler = (onUploadImage: (base64: string) => void) => (file: any) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.addEventListener('load', () => {\n onUploadImage(String(reader.result));\n });\n};\n\nconst AvatarUploader = memo<AvatarUploaderProps>(\n ({ shape, onChange, texts, compressSize = 256, onUpload }) => {\n const editor = useRef<any>(null);\n const [previewImage, setPreviewImage] = useState('');\n const theme = useTheme();\n const { t } = useTranslation(emojiPickerMessages);\n\n const fileTypeErrorText = texts?.fileTypeError ?? t('emojiPicker.fileTypeError');\n const draggerDescText = texts?.draggerDesc ?? t('emojiPicker.draggerDesc');\n const uploadBtnText = texts?.uploadBtn ?? t('emojiPicker.uploadBtn');\n\n const beforeUpload = useCallback(\n (file: FileType) => {\n const isJpgOrPng =\n file.type === 'image/jpeg' ||\n file.type === 'image/png' ||\n file.type === 'image/gif' ||\n file.type === 'image/webp';\n if (!isJpgOrPng) {\n message.error(fileTypeErrorText);\n return;\n }\n return createUploadImageHandler((avatar) => {\n setPreviewImage(avatar);\n })(file);\n },\n [fileTypeErrorText],\n );\n\n const handleUpload = () => {\n if (!editor.current) return;\n const canvasScaled = editor.current.getImageScaledToCanvas() as HTMLCanvasElement;\n const dataUrl = canvasScaled.toDataURL();\n onChange(dataUrl);\n\n if (!onUpload) return;\n\n // 使用 toBlob 直接获取 Blob,然后创建 File 对象\n canvasScaled.toBlob(\n (blob) => {\n if (blob) {\n const file = new File([blob], 'avatar.webp', { type: 'image/webp' });\n onUpload(file);\n }\n },\n 'image/webp',\n 0.95,\n ); // 0.95 是图片质量\n };\n\n return (\n <Flexbox padding={10} style={{ position: 'relative' }} width={'100%'}>\n {!previewImage && (\n <Dragger\n accept={'image'}\n beforeUpload={beforeUpload}\n itemRender={() => void 0}\n maxCount={1}\n multiple={false}\n >\n <Center gap={16} height={compressSize} width={compressSize}>\n <Icon color={theme.colorTextDescription} icon={ImageUpIcon} size={48} />\n <Text color={theme.colorTextSecondary}>{draggerDescText}</Text>\n <Center gap={4} horizontal>\n <Tag>JPG</Tag>\n <Tag>PNG</Tag>\n <Tag>GIF</Tag>\n <Tag>WEBP</Tag>\n </Center>\n </Center>\n </Dragger>\n )}\n {previewImage && (\n <Center gap={8} style={{ position: 'relative' }} width={'100%'}>\n <AvatarEditor\n border={0}\n borderRadius={shape === 'square' ? undefined : compressSize / 2}\n height={compressSize}\n image={previewImage}\n ref={editor}\n width={compressSize}\n />\n\n <Flexbox gap={8} horizontal style={{ position: 'relative' }} width={'100%'}>\n <Button\n icon={ChevronLeftIcon}\n onClick={() => setPreviewImage('')}\n style={{ flex: 'none' }}\n />\n <Button onClick={handleUpload} style={{ flex: 1, fontWeight: 500 }} type={'primary'}>\n {uploadBtnText}\n </Button>\n </Flexbox>\n </Center>\n )}\n </Flexbox>\n );\n },\n);\n\nAvatarUploader.displayName = 'AvatarUploader';\n\nexport default AvatarUploader;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAoBA,MAAM,EAAE,YAAY;AAEpB,MAAM,4BAA4B,mBAA6C,SAAc;CAC3F,MAAM,SAAS,IAAI,YAAY;AAC/B,QAAO,cAAc,KAAK;AAC1B,QAAO,iBAAiB,cAAc;AACpC,gBAAc,OAAO,OAAO,OAAO,CAAC;GACpC;;AAGJ,MAAM,iBAAiB,MACpB,EAAE,OAAO,UAAU,OAAO,eAAe,KAAK,eAAe;CAC5D,MAAM,SAAS,OAAY,KAAK;CAChC,MAAM,CAAC,cAAc,mBAAmB,SAAS,GAAG;CACpD,MAAM,QAAQ,UAAU;CACxB,MAAM,EAAE,MAAM,eAAeA,oBAAoB;CAEjD,MAAM,oBAAoB,OAAO,iBAAiB,EAAE,4BAA4B;CAChF,MAAM,kBAAkB,OAAO,eAAe,EAAE,0BAA0B;CAC1E,MAAM,gBAAgB,OAAO,aAAa,EAAE,wBAAwB;CAEpE,MAAM,eAAe,aAClB,SAAmB;AAMlB,MAAI,EAJF,KAAK,SAAS,gBACd,KAAK,SAAS,eACd,KAAK,SAAS,eACd,KAAK,SAAS,eACC;AACf,WAAQ,MAAM,kBAAkB;AAChC;;AAEF,SAAO,0BAA0B,WAAW;AAC1C,mBAAgB,OAAO;IACvB,CAAC,KAAK;IAEV,CAAC,kBAAkB,CACpB;CAED,MAAM,qBAAqB;AACzB,MAAI,CAAC,OAAO,QAAS;EACrB,MAAM,eAAe,OAAO,QAAQ,wBAAwB;AAE5D,WADgB,aAAa,WAAW,CACvB;AAEjB,MAAI,CAAC,SAAU;AAGf,eAAa,QACV,SAAS;AACR,OAAI,KAEF,UADa,IAAI,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC,CACtD;KAGlB,cACA,IACD;;AAGH,QACE,qBAACC;EAAQ,SAAS;EAAI,OAAO,EAAE,UAAU,YAAY;EAAE,OAAO;aAC3D,CAAC,gBACA,oBAAC;GACC,QAAQ;GACM;GACd,kBAAkB,KAAK;GACvB,UAAU;GACV,UAAU;aAEV,qBAACC;IAAO,KAAK;IAAI,QAAQ;IAAc,OAAO;;KAC5C,oBAACC;MAAK,OAAO,MAAM;MAAsB,MAAM;MAAa,MAAM;OAAM;KACxE,oBAACC;MAAK,OAAO,MAAM;gBAAqB;OAAuB;KAC/D,qBAACF;MAAO,KAAK;MAAG;;OACd,oBAACG,yBAAI,QAAS;OACd,oBAACA,yBAAI,QAAS;OACd,oBAACA,yBAAI,QAAS;OACd,oBAACA,yBAAI,SAAU;;OACR;;KACF;IACD,EAEX,gBACC,qBAACH;GAAO,KAAK;GAAG,OAAO,EAAE,UAAU,YAAY;GAAE,OAAO;cACtD,oBAAC;IACC,QAAQ;IACR,cAAc,UAAU,WAAW,SAAY,eAAe;IAC9D,QAAQ;IACR,OAAO;IACP,KAAK;IACL,OAAO;KACP,EAEF,qBAACD;IAAQ,KAAK;IAAG;IAAW,OAAO,EAAE,UAAU,YAAY;IAAE,OAAO;eAClE,oBAACK;KACC,MAAM;KACN,eAAe,gBAAgB,GAAG;KAClC,OAAO,EAAE,MAAM,QAAQ;MACvB,EACF,oBAACA;KAAO,SAAS;KAAc,OAAO;MAAE,MAAM;MAAG,YAAY;MAAK;KAAE,MAAM;eACvE;MACM;KACD;IACH;GAEH;EAGf;AAED,eAAe,cAAc;AAE7B,6BAAe"}
1
+ {"version":3,"file":"AvatarUploader.mjs","names":["emojiPickerMessages","Flexbox","Center","Icon","Text","Tag","Button"],"sources":["../../src/EmojiPicker/AvatarUploader.tsx"],"sourcesContent":["'use client';\n\nimport { type GetProp, Upload, type UploadProps, message } from 'antd';\nimport { cssVar } from 'antd-style';\nimport { ChevronLeftIcon, ImageUpIcon } from 'lucide-react';\nimport { memo, useCallback, useRef, useState } from 'react';\nimport AvatarEditor from 'react-avatar-editor';\n\nimport Button from '@/Button';\nimport { Center, Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\nimport Tag from '@/Tag';\nimport Text from '@/Text';\nimport emojiPickerMessages from '@/i18n/resources/en/emojiPicker';\nimport { useTranslation } from '@/i18n/useTranslation';\n\nimport { AvatarUploaderProps } from './type';\n\ntype FileType = Parameters<GetProp<UploadProps, 'beforeUpload'>>[0];\n\nconst { Dragger } = Upload;\n\nconst createUploadImageHandler = (onUploadImage: (base64: string) => void) => (file: any) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.addEventListener('load', () => {\n onUploadImage(String(reader.result));\n });\n};\n\nconst AvatarUploader = memo<AvatarUploaderProps>(\n ({ shape, onChange, texts, compressSize = 256, onUpload }) => {\n const editor = useRef<any>(null);\n const [previewImage, setPreviewImage] = useState('');\n const { t } = useTranslation(emojiPickerMessages);\n\n const fileTypeErrorText = texts?.fileTypeError ?? t('emojiPicker.fileTypeError');\n const draggerDescText = texts?.draggerDesc ?? t('emojiPicker.draggerDesc');\n const uploadBtnText = texts?.uploadBtn ?? t('emojiPicker.uploadBtn');\n\n const beforeUpload = useCallback(\n (file: FileType) => {\n const isJpgOrPng =\n file.type === 'image/jpeg' ||\n file.type === 'image/png' ||\n file.type === 'image/gif' ||\n file.type === 'image/webp';\n if (!isJpgOrPng) {\n message.error(fileTypeErrorText);\n return;\n }\n return createUploadImageHandler((avatar) => {\n setPreviewImage(avatar);\n })(file);\n },\n [fileTypeErrorText],\n );\n\n const handleUpload = () => {\n if (!editor.current) return;\n const canvasScaled = editor.current.getImageScaledToCanvas() as HTMLCanvasElement;\n const dataUrl = canvasScaled.toDataURL();\n onChange(dataUrl);\n\n if (!onUpload) return;\n\n // 使用 toBlob 直接获取 Blob,然后创建 File 对象\n canvasScaled.toBlob(\n (blob) => {\n if (blob) {\n const file = new File([blob], 'avatar.webp', { type: 'image/webp' });\n onUpload(file);\n }\n },\n 'image/webp',\n 0.95,\n ); // 0.95 是图片质量\n };\n\n return (\n <Flexbox padding={10} style={{ position: 'relative' }} width={'100%'}>\n {!previewImage && (\n <Dragger\n accept={'image'}\n beforeUpload={beforeUpload}\n itemRender={() => void 0}\n maxCount={1}\n multiple={false}\n >\n <Center gap={16} height={compressSize} width={compressSize}>\n <Icon color={cssVar.colorTextDescription} icon={ImageUpIcon} size={48} />\n <Text color={cssVar.colorTextSecondary}>{draggerDescText}</Text>\n <Center gap={4} horizontal>\n <Tag>JPG</Tag>\n <Tag>PNG</Tag>\n <Tag>GIF</Tag>\n <Tag>WEBP</Tag>\n </Center>\n </Center>\n </Dragger>\n )}\n {previewImage && (\n <Center gap={8} style={{ position: 'relative' }} width={'100%'}>\n <AvatarEditor\n border={0}\n borderRadius={shape === 'square' ? undefined : compressSize / 2}\n height={compressSize}\n image={previewImage}\n ref={editor}\n width={compressSize}\n />\n\n <Flexbox gap={8} horizontal style={{ position: 'relative' }} width={'100%'}>\n <Button\n icon={ChevronLeftIcon}\n onClick={() => setPreviewImage('')}\n style={{ flex: 'none' }}\n />\n <Button onClick={handleUpload} style={{ flex: 1, fontWeight: 500 }} type={'primary'}>\n {uploadBtnText}\n </Button>\n </Flexbox>\n </Center>\n )}\n </Flexbox>\n );\n },\n);\n\nAvatarUploader.displayName = 'AvatarUploader';\n\nexport default AvatarUploader;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAoBA,MAAM,EAAE,YAAY;AAEpB,MAAM,4BAA4B,mBAA6C,SAAc;CAC3F,MAAM,SAAS,IAAI,YAAY;AAC/B,QAAO,cAAc,KAAK;AAC1B,QAAO,iBAAiB,cAAc;AACpC,gBAAc,OAAO,OAAO,OAAO,CAAC;GACpC;;AAGJ,MAAM,iBAAiB,MACpB,EAAE,OAAO,UAAU,OAAO,eAAe,KAAK,eAAe;CAC5D,MAAM,SAAS,OAAY,KAAK;CAChC,MAAM,CAAC,cAAc,mBAAmB,SAAS,GAAG;CACpD,MAAM,EAAE,MAAM,eAAeA,oBAAoB;CAEjD,MAAM,oBAAoB,OAAO,iBAAiB,EAAE,4BAA4B;CAChF,MAAM,kBAAkB,OAAO,eAAe,EAAE,0BAA0B;CAC1E,MAAM,gBAAgB,OAAO,aAAa,EAAE,wBAAwB;CAEpE,MAAM,eAAe,aAClB,SAAmB;AAMlB,MAAI,EAJF,KAAK,SAAS,gBACd,KAAK,SAAS,eACd,KAAK,SAAS,eACd,KAAK,SAAS,eACC;AACf,WAAQ,MAAM,kBAAkB;AAChC;;AAEF,SAAO,0BAA0B,WAAW;AAC1C,mBAAgB,OAAO;IACvB,CAAC,KAAK;IAEV,CAAC,kBAAkB,CACpB;CAED,MAAM,qBAAqB;AACzB,MAAI,CAAC,OAAO,QAAS;EACrB,MAAM,eAAe,OAAO,QAAQ,wBAAwB;AAE5D,WADgB,aAAa,WAAW,CACvB;AAEjB,MAAI,CAAC,SAAU;AAGf,eAAa,QACV,SAAS;AACR,OAAI,KAEF,UADa,IAAI,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC,CACtD;KAGlB,cACA,IACD;;AAGH,QACE,qBAACC;EAAQ,SAAS;EAAI,OAAO,EAAE,UAAU,YAAY;EAAE,OAAO;aAC3D,CAAC,gBACA,oBAAC;GACC,QAAQ;GACM;GACd,kBAAkB,KAAK;GACvB,UAAU;GACV,UAAU;aAEV,qBAACC;IAAO,KAAK;IAAI,QAAQ;IAAc,OAAO;;KAC5C,oBAACC;MAAK,OAAO,OAAO;MAAsB,MAAM;MAAa,MAAM;OAAM;KACzE,oBAACC;MAAK,OAAO,OAAO;gBAAqB;OAAuB;KAChE,qBAACF;MAAO,KAAK;MAAG;;OACd,oBAACG,yBAAI,QAAS;OACd,oBAACA,yBAAI,QAAS;OACd,oBAACA,yBAAI,QAAS;OACd,oBAACA,yBAAI,SAAU;;OACR;;KACF;IACD,EAEX,gBACC,qBAACH;GAAO,KAAK;GAAG,OAAO,EAAE,UAAU,YAAY;GAAE,OAAO;cACtD,oBAAC;IACC,QAAQ;IACR,cAAc,UAAU,WAAW,SAAY,eAAe;IAC9D,QAAQ;IACR,OAAO;IACP,KAAK;IACL,OAAO;KACP,EAEF,qBAACD;IAAQ,KAAK;IAAG;IAAW,OAAO,EAAE,UAAU,YAAY;IAAE,OAAO;eAClE,oBAACK;KACC,MAAM;KACN,eAAe,gBAAgB,GAAG;KAClC,OAAO,EAAE,MAAM,QAAQ;MACvB,EACF,oBAACA;KAAO,SAAS;KAAc,OAAO;MAAE,MAAM;MAAG,YAAY;MAAK;KAAE,MAAM;eACvE;MACM;KACD;IACH;GAEH;EAGf;AAED,eAAe,cAAc;AAE7B,6BAAe"}
@@ -1,8 +1,8 @@
1
1
  import { EmojiPickerProps } from "./type.mjs";
2
- import * as react57 from "react";
2
+ import * as react18 from "react";
3
3
 
4
4
  //#region src/EmojiPicker/EmojiPicker.d.ts
5
- declare const EmojiPicker: react57.NamedExoticComponent<EmojiPickerProps>;
5
+ declare const EmojiPicker: react18.NamedExoticComponent<EmojiPickerProps>;
6
6
  //#endregion
7
7
  export { EmojiPicker };
8
8
  //# sourceMappingURL=EmojiPicker.d.mts.map
@@ -9,15 +9,17 @@ import Tabs_default from "../Tabs/Tabs.mjs";
9
9
  import emojiPicker_default from "../i18n/resources/en/emojiPicker.mjs";
10
10
  import { useTranslation } from "../i18n/useTranslation.mjs";
11
11
  import AvatarUploader_default from "./AvatarUploader.mjs";
12
- import { useStyles } from "./style.mjs";
13
- import { memo, useRef, useState } from "react";
12
+ import { styles } from "./style.mjs";
13
+ import { memo, useMemo, useRef, useState } from "react";
14
14
  import { jsx, jsxs } from "react/jsx-runtime";
15
15
  import { Popover } from "antd";
16
+ import { cx, useTheme } from "antd-style";
16
17
  import useMergeState from "use-merge-value";
17
18
  import { SmileIcon, TrashIcon, UploadIcon } from "lucide-react";
18
- import useSWR from "swr";
19
+ import chroma from "chroma-js";
19
20
  import data from "@emoji-mart/data";
20
21
  import Picker from "@emoji-mart/react";
22
+ import useSWR from "swr";
21
23
 
22
24
  //#region src/EmojiPicker/EmojiPicker.tsx
23
25
  const DEFAULT_AVATAR = "🤖";
@@ -30,7 +32,11 @@ const EmojiPicker = memo(({ value, defaultAvatar = DEFAULT_AVATAR, onChange, loc
30
32
  value: open
31
33
  });
32
34
  const [tab, setTab] = useState("emoji");
33
- const { cx, styles, theme } = useStyles();
35
+ const theme = useTheme();
36
+ const pickerCssVariables = useMemo(() => ({
37
+ "--emoji-picker-rgb-accent": chroma(theme.colorPrimary).rgb().join(", "),
38
+ "--emoji-picker-rgb-background": chroma(theme.colorBgElevated).rgb().join(", ")
39
+ }), [theme.colorPrimary, theme.colorBgElevated]);
34
40
  const { data: i18n } = useSWR(locale, async () => await import(`@emoji-mart/data/i18n/${locale.split("-")[0]}.json`), {
35
41
  revalidateOnFocus: false,
36
42
  revalidateOnMount: false
@@ -88,6 +94,7 @@ const EmojiPicker = memo(({ value, defaultAvatar = DEFAULT_AVATAR, onChange, loc
88
94
  style: {
89
95
  minWidth: 310,
90
96
  paddingTop: showTabs ? 4 : 0,
97
+ ...pickerCssVariables,
91
98
  ...popupStyle
92
99
  },
93
100
  children: [
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiPicker.mjs","names":["emojiPickerMessages","items: TabsProps['items']","Tooltip","Icon","tab","Flexbox","Tabs","ActionIcon","AvatarUploader","Avatar"],"sources":["../../src/EmojiPicker/EmojiPicker.tsx"],"sourcesContent":["'use client';\n\nimport data from '@emoji-mart/data';\nimport Picker from '@emoji-mart/react';\nimport { Popover } from 'antd';\nimport { SmileIcon, TrashIcon, UploadIcon } from 'lucide-react';\nimport { memo, useRef, useState } from 'react';\nimport useSWR from 'swr';\nimport useMergeState from 'use-merge-value';\n\nimport ActionIcon from '@/ActionIcon';\nimport Avatar from '@/Avatar';\nimport { Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\nimport Tabs, { TabsProps } from '@/Tabs';\nimport Tooltip from '@/Tooltip';\nimport emojiPickerMessages from '@/i18n/resources/en/emojiPicker';\nimport { useTranslation } from '@/i18n/useTranslation';\n\nimport AvatarUploader from './AvatarUploader';\nimport { useStyles } from './style';\nimport type { EmojiPickerProps } from './type';\n\nconst DEFAULT_AVATAR = '🤖';\n\nconst EmojiPicker = memo<EmojiPickerProps>(\n ({\n value,\n defaultAvatar = DEFAULT_AVATAR,\n onChange,\n locale = 'en-US',\n allowUpload,\n allowDelete,\n texts,\n onDelete,\n compressSize = 256,\n customEmojis,\n className,\n loading,\n onUpload,\n customTabs = [],\n popupClassName,\n popupStyle,\n customRender,\n open,\n defaultOpen = false,\n onOpenChange,\n popupProps,\n shape,\n ...rest\n }) => {\n const ref = useRef<HTMLDivElement>(null);\n const { t } = useTranslation(emojiPickerMessages);\n const [visible, setVisible] = useMergeState(defaultOpen, {\n defaultValue: defaultOpen,\n onChange: onOpenChange,\n value: open,\n });\n const [tab, setTab] = useState<'emoji' | 'upload'>('emoji');\n\n const { cx, styles, theme } = useStyles();\n\n const { data: i18n } = useSWR(\n locale,\n async () => await import(`@emoji-mart/data/i18n/${locale.split('-')[0]}.json`),\n { revalidateOnFocus: false, revalidateOnMount: false },\n );\n\n const [ava, setAva] = useMergeState(defaultAvatar, {\n defaultValue: defaultAvatar,\n onChange,\n value,\n });\n\n const handleAvatarChange = (emoji: string) => {\n setAva(emoji);\n setVisible(false);\n };\n\n const emojiText = texts?.emoji ?? t('emojiPicker.emoji');\n const uploadText = texts?.upload ?? t('emojiPicker.upload');\n const deleteText = texts?.delete ?? t('emojiPicker.delete');\n\n const hideEmojiTab = typeof allowUpload === 'object' && allowUpload?.enableEmoji === false;\n\n const items: TabsProps['items'] = [\n !hideEmojiTab && {\n key: 'emoji',\n label: (\n <Tooltip title={emojiText}>\n <Icon icon={SmileIcon} size={{ size: 20, strokeWidth: 2.5 }} />\n </Tooltip>\n ),\n },\n allowUpload && {\n key: 'upload',\n label: (\n <Tooltip title={uploadText}>\n <Icon icon={UploadIcon} size={{ size: 20, strokeWidth: 2.5 }} />\n </Tooltip>\n ),\n },\n ...customTabs.map((tab) => ({ key: tab.value, label: tab.label })),\n ].filter(Boolean) as TabsProps['items'];\n\n const showTabs = allowDelete || (items && items.length > 1);\n\n const content = (\n <Flexbox\n className={cx(styles.picker, popupClassName)}\n ref={ref}\n style={{ minWidth: 310, paddingTop: showTabs ? 4 : 0, ...popupStyle }}\n >\n {showTabs && (\n <Flexbox\n align={'center'}\n className={styles.tabs}\n horizontal\n justify={'space-between'}\n paddingInline={10}\n >\n <Tabs\n activeKey={tab}\n compact\n items={items}\n onChange={(key) => setTab(key as any)}\n size={'small'}\n />\n {allowDelete && (\n <ActionIcon\n icon={TrashIcon}\n onClick={() => {\n handleAvatarChange(defaultAvatar);\n onDelete?.();\n }}\n size={{\n blockSize: 32,\n size: 18,\n }}\n title={deleteText}\n />\n )}\n </Flexbox>\n )}\n {tab === 'emoji' && (\n <Picker\n custom={customEmojis}\n data={data}\n i18n={i18n}\n icons={'outline'}\n locale={locale.split('-')[0]}\n navPosition={showTabs ? 'bottom' : 'top'}\n onEmojiSelect={(e: any) => handleAvatarChange(e.src || e.native)}\n previewPosition={'none'}\n skinTonePosition={'none'}\n theme={theme.isDarkMode ? 'dark' : 'light'}\n />\n )}\n {tab === 'upload' && (\n <AvatarUploader\n compressSize={compressSize}\n onChange={handleAvatarChange}\n onUpload={onUpload}\n shape={shape}\n texts={texts}\n />\n )}\n {customTabs.map(\n (item) =>\n tab === item.value && (\n <Flexbox key={item.value} padding={10}>\n {item.render(handleAvatarChange)}\n </Flexbox>\n ),\n )}\n </Flexbox>\n );\n\n return (\n <Popover\n arrow={false}\n content={content}\n defaultOpen={defaultOpen}\n onOpenChange={(v) => {\n if (loading) return;\n setVisible(v);\n }}\n open={visible}\n placement={'bottom'}\n rootClassName={styles.popover}\n trigger={['click']}\n {...popupProps}\n >\n {customRender ? (\n customRender(ava)\n ) : (\n <Avatar\n avatar={ava}\n className={cx(styles.root, className)}\n loading={loading}\n shape={shape}\n {...rest}\n />\n )}\n </Popover>\n );\n },\n);\n\nEmojiPicker.displayName = 'EmojiPicker';\n\nexport default EmojiPicker;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAM,iBAAiB;AAEvB,MAAM,cAAc,MACjB,EACC,OACA,gBAAgB,gBAChB,UACA,SAAS,SACT,aACA,aACA,OACA,UACA,eAAe,KACf,cACA,WACA,SACA,UACA,aAAa,EAAE,EACf,gBACA,YACA,cACA,MACA,cAAc,OACd,cACA,YACA,OACA,GAAG,WACC;CACJ,MAAM,MAAM,OAAuB,KAAK;CACxC,MAAM,EAAE,MAAM,eAAeA,oBAAoB;CACjD,MAAM,CAAC,SAAS,cAAc,cAAc,aAAa;EACvD,cAAc;EACd,UAAU;EACV,OAAO;EACR,CAAC;CACF,MAAM,CAAC,KAAK,UAAU,SAA6B,QAAQ;CAE3D,MAAM,EAAE,IAAI,QAAQ,UAAU,WAAW;CAEzC,MAAM,EAAE,MAAM,SAAS,OACrB,QACA,YAAY,MAAM,OAAO,yBAAyB,OAAO,MAAM,IAAI,CAAC,GAAG,SACvE;EAAE,mBAAmB;EAAO,mBAAmB;EAAO,CACvD;CAED,MAAM,CAAC,KAAK,UAAU,cAAc,eAAe;EACjD,cAAc;EACd;EACA;EACD,CAAC;CAEF,MAAM,sBAAsB,UAAkB;AAC5C,SAAO,MAAM;AACb,aAAW,MAAM;;CAGnB,MAAM,YAAY,OAAO,SAAS,EAAE,oBAAoB;CACxD,MAAM,aAAa,OAAO,UAAU,EAAE,qBAAqB;CAC3D,MAAM,aAAa,OAAO,UAAU,EAAE,qBAAqB;CAI3D,MAAMC,QAA4B;EAChC,EAHmB,OAAO,gBAAgB,YAAY,aAAa,gBAAgB,UAGlE;GACf,KAAK;GACL,OACE,oBAACC;IAAQ,OAAO;cACd,oBAACC;KAAK,MAAM;KAAW,MAAM;MAAE,MAAM;MAAI,aAAa;MAAK;MAAI;KACvD;GAEb;EACD,eAAe;GACb,KAAK;GACL,OACE,oBAACD;IAAQ,OAAO;cACd,oBAACC;KAAK,MAAM;KAAY,MAAM;MAAE,MAAM;MAAI,aAAa;MAAK;MAAI;KACxD;GAEb;EACD,GAAG,WAAW,KAAK,WAAS;GAAE,KAAKC,MAAI;GAAO,OAAOA,MAAI;GAAO,EAAE;EACnE,CAAC,OAAO,QAAQ;CAEjB,MAAM,WAAW,eAAgB,SAAS,MAAM,SAAS;AAyEzD,QACE,oBAAC;EACC,OAAO;EACP,SAzEF,qBAACC;GACC,WAAW,GAAG,OAAO,QAAQ,eAAe;GACvC;GACL,OAAO;IAAE,UAAU;IAAK,YAAY,WAAW,IAAI;IAAG,GAAG;IAAY;;IAEpE,YACC,qBAACA;KACC,OAAO;KACP,WAAW,OAAO;KAClB;KACA,SAAS;KACT,eAAe;gBAEf,oBAACC;MACC,WAAW;MACX;MACO;MACP,WAAW,QAAQ,OAAO,IAAW;MACrC,MAAM;OACN,EACD,eACC,oBAACC;MACC,MAAM;MACN,eAAe;AACb,0BAAmB,cAAc;AACjC,mBAAY;;MAEd,MAAM;OACJ,WAAW;OACX,MAAM;OACP;MACD,OAAO;OACP;MAEI;IAEX,QAAQ,WACP,oBAAC;KACC,QAAQ;KACF;KACA;KACN,OAAO;KACP,QAAQ,OAAO,MAAM,IAAI,CAAC;KAC1B,aAAa,WAAW,WAAW;KACnC,gBAAgB,MAAW,mBAAmB,EAAE,OAAO,EAAE,OAAO;KAChE,iBAAiB;KACjB,kBAAkB;KAClB,OAAO,MAAM,aAAa,SAAS;MACnC;IAEH,QAAQ,YACP,oBAACC;KACe;KACd,UAAU;KACA;KACH;KACA;MACP;IAEH,WAAW,KACT,SACC,QAAQ,KAAK,SACX,oBAACH;KAAyB,SAAS;eAChC,KAAK,OAAO,mBAAmB;OADpB,KAAK,MAET,CAEf;;IACO;EAOK;EACb,eAAe,MAAM;AACnB,OAAI,QAAS;AACb,cAAW,EAAE;;EAEf,MAAM;EACN,WAAW;EACX,eAAe,OAAO;EACtB,SAAS,CAAC,QAAQ;EAClB,GAAI;YAEH,eACC,aAAa,IAAI,GAEjB,oBAACI;GACC,QAAQ;GACR,WAAW,GAAG,OAAO,MAAM,UAAU;GAC5B;GACF;GACP,GAAI;IACJ;GAEI;EAGf;AAED,YAAY,cAAc;AAE1B,0BAAe"}
1
+ {"version":3,"file":"EmojiPicker.mjs","names":["emojiPickerMessages","items: TabsProps['items']","Tooltip","Icon","tab","Flexbox","Tabs","ActionIcon","AvatarUploader","Avatar"],"sources":["../../src/EmojiPicker/EmojiPicker.tsx"],"sourcesContent":["'use client';\n\nimport data from '@emoji-mart/data';\nimport Picker from '@emoji-mart/react';\nimport { Popover } from 'antd';\nimport { cx, useTheme } from 'antd-style';\nimport chroma from 'chroma-js';\nimport { SmileIcon, TrashIcon, UploadIcon } from 'lucide-react';\nimport { memo, useMemo, useRef, useState } from 'react';\nimport useSWR from 'swr';\nimport useMergeState from 'use-merge-value';\n\nimport ActionIcon from '@/ActionIcon';\nimport Avatar from '@/Avatar';\nimport { Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\nimport Tabs, { TabsProps } from '@/Tabs';\nimport Tooltip from '@/Tooltip';\nimport emojiPickerMessages from '@/i18n/resources/en/emojiPicker';\nimport { useTranslation } from '@/i18n/useTranslation';\n\nimport AvatarUploader from './AvatarUploader';\nimport { styles } from './style';\nimport type { EmojiPickerProps } from './type';\n\nconst DEFAULT_AVATAR = '🤖';\n\nconst EmojiPicker = memo<EmojiPickerProps>(\n ({\n value,\n defaultAvatar = DEFAULT_AVATAR,\n onChange,\n locale = 'en-US',\n allowUpload,\n allowDelete,\n texts,\n onDelete,\n compressSize = 256,\n customEmojis,\n className,\n loading,\n onUpload,\n customTabs = [],\n popupClassName,\n popupStyle,\n customRender,\n open,\n defaultOpen = false,\n onOpenChange,\n popupProps,\n shape,\n ...rest\n }) => {\n const ref = useRef<HTMLDivElement>(null);\n const { t } = useTranslation(emojiPickerMessages);\n const [visible, setVisible] = useMergeState(defaultOpen, {\n defaultValue: defaultOpen,\n onChange: onOpenChange,\n value: open,\n });\n const [tab, setTab] = useState<'emoji' | 'upload'>('emoji');\n\n const theme = useTheme();\n const pickerCssVariables = useMemo<Record<string, string>>(\n () => ({\n '--emoji-picker-rgb-accent': chroma(theme.colorPrimary).rgb().join(', '),\n '--emoji-picker-rgb-background': chroma(theme.colorBgElevated).rgb().join(', '),\n }),\n [theme.colorPrimary, theme.colorBgElevated],\n );\n\n const { data: i18n } = useSWR(\n locale,\n async () => await import(`@emoji-mart/data/i18n/${locale.split('-')[0]}.json`),\n { revalidateOnFocus: false, revalidateOnMount: false },\n );\n\n const [ava, setAva] = useMergeState(defaultAvatar, {\n defaultValue: defaultAvatar,\n onChange,\n value,\n });\n\n const handleAvatarChange = (emoji: string) => {\n setAva(emoji);\n setVisible(false);\n };\n\n const emojiText = texts?.emoji ?? t('emojiPicker.emoji');\n const uploadText = texts?.upload ?? t('emojiPicker.upload');\n const deleteText = texts?.delete ?? t('emojiPicker.delete');\n\n const hideEmojiTab = typeof allowUpload === 'object' && allowUpload?.enableEmoji === false;\n\n const items: TabsProps['items'] = [\n !hideEmojiTab && {\n key: 'emoji',\n label: (\n <Tooltip title={emojiText}>\n <Icon icon={SmileIcon} size={{ size: 20, strokeWidth: 2.5 }} />\n </Tooltip>\n ),\n },\n allowUpload && {\n key: 'upload',\n label: (\n <Tooltip title={uploadText}>\n <Icon icon={UploadIcon} size={{ size: 20, strokeWidth: 2.5 }} />\n </Tooltip>\n ),\n },\n ...customTabs.map((tab) => ({ key: tab.value, label: tab.label })),\n ].filter(Boolean) as TabsProps['items'];\n\n const showTabs = allowDelete || (items && items.length > 1);\n\n const content = (\n <Flexbox\n className={cx(styles.picker, popupClassName)}\n ref={ref}\n style={{\n minWidth: 310,\n paddingTop: showTabs ? 4 : 0,\n ...pickerCssVariables,\n ...popupStyle,\n }}\n >\n {showTabs && (\n <Flexbox\n align={'center'}\n className={styles.tabs}\n horizontal\n justify={'space-between'}\n paddingInline={10}\n >\n <Tabs\n activeKey={tab}\n compact\n items={items}\n onChange={(key) => setTab(key as any)}\n size={'small'}\n />\n {allowDelete && (\n <ActionIcon\n icon={TrashIcon}\n onClick={() => {\n handleAvatarChange(defaultAvatar);\n onDelete?.();\n }}\n size={{\n blockSize: 32,\n size: 18,\n }}\n title={deleteText}\n />\n )}\n </Flexbox>\n )}\n {tab === 'emoji' && (\n <Picker\n custom={customEmojis}\n data={data}\n i18n={i18n}\n icons={'outline'}\n locale={locale.split('-')[0]}\n navPosition={showTabs ? 'bottom' : 'top'}\n onEmojiSelect={(e: any) => handleAvatarChange(e.src || e.native)}\n previewPosition={'none'}\n skinTonePosition={'none'}\n theme={theme.isDarkMode ? 'dark' : 'light'}\n />\n )}\n {tab === 'upload' && (\n <AvatarUploader\n compressSize={compressSize}\n onChange={handleAvatarChange}\n onUpload={onUpload}\n shape={shape}\n texts={texts}\n />\n )}\n {customTabs.map(\n (item) =>\n tab === item.value && (\n <Flexbox key={item.value} padding={10}>\n {item.render(handleAvatarChange)}\n </Flexbox>\n ),\n )}\n </Flexbox>\n );\n\n return (\n <Popover\n arrow={false}\n content={content}\n defaultOpen={defaultOpen}\n onOpenChange={(v) => {\n if (loading) return;\n setVisible(v);\n }}\n open={visible}\n placement={'bottom'}\n rootClassName={styles.popover}\n trigger={['click']}\n {...popupProps}\n >\n {customRender ? (\n customRender(ava)\n ) : (\n <Avatar\n avatar={ava}\n className={cx(styles.root, className)}\n loading={loading}\n shape={shape}\n {...rest}\n />\n )}\n </Popover>\n );\n },\n);\n\nEmojiPicker.displayName = 'EmojiPicker';\n\nexport default EmojiPicker;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,iBAAiB;AAEvB,MAAM,cAAc,MACjB,EACC,OACA,gBAAgB,gBAChB,UACA,SAAS,SACT,aACA,aACA,OACA,UACA,eAAe,KACf,cACA,WACA,SACA,UACA,aAAa,EAAE,EACf,gBACA,YACA,cACA,MACA,cAAc,OACd,cACA,YACA,OACA,GAAG,WACC;CACJ,MAAM,MAAM,OAAuB,KAAK;CACxC,MAAM,EAAE,MAAM,eAAeA,oBAAoB;CACjD,MAAM,CAAC,SAAS,cAAc,cAAc,aAAa;EACvD,cAAc;EACd,UAAU;EACV,OAAO;EACR,CAAC;CACF,MAAM,CAAC,KAAK,UAAU,SAA6B,QAAQ;CAE3D,MAAM,QAAQ,UAAU;CACxB,MAAM,qBAAqB,eAClB;EACL,6BAA6B,OAAO,MAAM,aAAa,CAAC,KAAK,CAAC,KAAK,KAAK;EACxE,iCAAiC,OAAO,MAAM,gBAAgB,CAAC,KAAK,CAAC,KAAK,KAAK;EAChF,GACD,CAAC,MAAM,cAAc,MAAM,gBAAgB,CAC5C;CAED,MAAM,EAAE,MAAM,SAAS,OACrB,QACA,YAAY,MAAM,OAAO,yBAAyB,OAAO,MAAM,IAAI,CAAC,GAAG,SACvE;EAAE,mBAAmB;EAAO,mBAAmB;EAAO,CACvD;CAED,MAAM,CAAC,KAAK,UAAU,cAAc,eAAe;EACjD,cAAc;EACd;EACA;EACD,CAAC;CAEF,MAAM,sBAAsB,UAAkB;AAC5C,SAAO,MAAM;AACb,aAAW,MAAM;;CAGnB,MAAM,YAAY,OAAO,SAAS,EAAE,oBAAoB;CACxD,MAAM,aAAa,OAAO,UAAU,EAAE,qBAAqB;CAC3D,MAAM,aAAa,OAAO,UAAU,EAAE,qBAAqB;CAI3D,MAAMC,QAA4B;EAChC,EAHmB,OAAO,gBAAgB,YAAY,aAAa,gBAAgB,UAGlE;GACf,KAAK;GACL,OACE,oBAACC;IAAQ,OAAO;cACd,oBAACC;KAAK,MAAM;KAAW,MAAM;MAAE,MAAM;MAAI,aAAa;MAAK;MAAI;KACvD;GAEb;EACD,eAAe;GACb,KAAK;GACL,OACE,oBAACD;IAAQ,OAAO;cACd,oBAACC;KAAK,MAAM;KAAY,MAAM;MAAE,MAAM;MAAI,aAAa;MAAK;MAAI;KACxD;GAEb;EACD,GAAG,WAAW,KAAK,WAAS;GAAE,KAAKC,MAAI;GAAO,OAAOA,MAAI;GAAO,EAAE;EACnE,CAAC,OAAO,QAAQ;CAEjB,MAAM,WAAW,eAAgB,SAAS,MAAM,SAAS;AA8EzD,QACE,oBAAC;EACC,OAAO;EACP,SA9EF,qBAACC;GACC,WAAW,GAAG,OAAO,QAAQ,eAAe;GACvC;GACL,OAAO;IACL,UAAU;IACV,YAAY,WAAW,IAAI;IAC3B,GAAG;IACH,GAAG;IACJ;;IAEA,YACC,qBAACA;KACC,OAAO;KACP,WAAW,OAAO;KAClB;KACA,SAAS;KACT,eAAe;gBAEf,oBAACC;MACC,WAAW;MACX;MACO;MACP,WAAW,QAAQ,OAAO,IAAW;MACrC,MAAM;OACN,EACD,eACC,oBAACC;MACC,MAAM;MACN,eAAe;AACb,0BAAmB,cAAc;AACjC,mBAAY;;MAEd,MAAM;OACJ,WAAW;OACX,MAAM;OACP;MACD,OAAO;OACP;MAEI;IAEX,QAAQ,WACP,oBAAC;KACC,QAAQ;KACF;KACA;KACN,OAAO;KACP,QAAQ,OAAO,MAAM,IAAI,CAAC;KAC1B,aAAa,WAAW,WAAW;KACnC,gBAAgB,MAAW,mBAAmB,EAAE,OAAO,EAAE,OAAO;KAChE,iBAAiB;KACjB,kBAAkB;KAClB,OAAO,MAAM,aAAa,SAAS;MACnC;IAEH,QAAQ,YACP,oBAACC;KACe;KACd,UAAU;KACA;KACH;KACA;MACP;IAEH,WAAW,KACT,SACC,QAAQ,KAAK,SACX,oBAACH;KAAyB,SAAS;eAChC,KAAK,OAAO,mBAAmB;OADpB,KAAK,MAET,CAEf;;IACO;EAOK;EACb,eAAe,MAAM;AACnB,OAAI,QAAS;AACb,cAAW,EAAE;;EAEf,MAAM;EACN,WAAW;EACX,eAAe,OAAO;EACtB,SAAS,CAAC,QAAQ;EAClB,GAAI;YAEH,eACC,aAAa,IAAI,GAEjB,oBAACI;GACC,QAAQ;GACR,WAAW,GAAG,OAAO,MAAM,UAAU;GAC5B;GACF;GACP,GAAI;IACJ;GAEI;EAGf;AAED,YAAY,cAAc;AAE1B,0BAAe"}
@@ -1,15 +1,15 @@
1
- import { createStyles } from "antd-style";
2
- import chroma from "chroma-js";
1
+ import { createStaticStyles } from "antd-style";
3
2
 
4
3
  //#region src/EmojiPicker/style.ts
5
- const useStyles = createStyles(({ css: css$1, token, prefixCls }) => ({
4
+ const prefixCls = "ant";
5
+ const styles = createStaticStyles(({ css: css$1, cssVar: cssVar$1 }) => ({
6
6
  picker: css$1`
7
7
  position: relative;
8
8
 
9
9
  em-emoji-picker {
10
- --rgb-accent: ${chroma(token.colorPrimary).rgb().join(",")};
10
+ --rgb-accent: var(--emoji-picker-rgb-accent, 0, 0, 0);
11
11
  --shadow: none;
12
- --rgb-background: ${chroma(token.colorBgElevated).rgb().join(",")};
12
+ --rgb-background: var(--emoji-picker-rgb-background, 255, 255, 255);
13
13
  --border-radius: 0;
14
14
  }
15
15
  `,
@@ -21,14 +21,14 @@ const useStyles = createStyles(({ css: css$1, token, prefixCls }) => ({
21
21
  `,
22
22
  root: css$1`
23
23
  position: relative;
24
- transition: background 150ms ${token.motionEaseOut};
24
+ transition: background 150ms ${cssVar$1.motionEaseOut};
25
25
 
26
26
  &:hover {
27
- background: ${token.colorFillSecondary};
27
+ background: ${cssVar$1.colorFillSecondary};
28
28
  }
29
29
  `,
30
30
  tabs: css$1`
31
- border-block-end: 1px solid ${token.colorBorderSecondary};
31
+ border-block-end: 1px solid ${cssVar$1.colorBorderSecondary};
32
32
 
33
33
  .ant-tabs-tab {
34
34
  display: flex;
@@ -43,5 +43,5 @@ const useStyles = createStyles(({ css: css$1, token, prefixCls }) => ({
43
43
  }));
44
44
 
45
45
  //#endregion
46
- export { useStyles };
46
+ export { styles };
47
47
  //# sourceMappingURL=style.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","names":[],"sources":["../../src/EmojiPicker/style.ts"],"sourcesContent":["import { createStyles } from 'antd-style';\nimport chroma from 'chroma-js';\n\nexport const useStyles = createStyles(({ css, token, prefixCls }) => ({\n picker: css`\n position: relative;\n\n em-emoji-picker {\n --rgb-accent: ${chroma(token.colorPrimary) .rgb() .join(',')};\n --shadow: none;\n --rgb-background: ${chroma(token.colorBgElevated) .rgb() .join(',')};\n --border-radius: 0;\n }\n `,\n popover: css`\n .${prefixCls}-popover-container {\n overflow: hidden;\n padding: 0;\n }\n `,\n root: css`\n position: relative;\n transition: background 150ms ${token.motionEaseOut};\n\n &:hover {\n background: ${token.colorFillSecondary};\n }\n `,\n tabs: css`\n border-block-end: 1px solid ${token.colorBorderSecondary};\n\n .ant-tabs-tab {\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: 32px;\n height: 32px;\n padding: 0 !important;\n }\n `,\n}));\n"],"mappings":";;;;AAGA,MAAa,YAAY,cAAc,EAAE,YAAK,OAAO,iBAAiB;CACpE,QAAQ,KAAG;;;;sBAIS,OAAO,MAAM,aAAa,CAAE,KAAK,CAAE,KAAK,IAAI,CAAC;;0BAEzC,OAAO,MAAM,gBAAgB,CAAE,KAAK,CAAE,KAAK,IAAI,CAAC;;;;CAIxE,SAAS,KAAG;OACP,UAAU;;;;;CAKf,MAAM,KAAG;;mCAEwB,MAAM,cAAc;;;oBAGnC,MAAM,mBAAmB;;;CAG3C,MAAM,KAAG;kCACuB,MAAM,qBAAqB;;;;;;;;;;;;CAY5D,EAAE"}
1
+ {"version":3,"file":"style.mjs","names":["cssVar"],"sources":["../../src/EmojiPicker/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nconst prefixCls = 'ant';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n picker: css`\n position: relative;\n\n em-emoji-picker {\n --rgb-accent: var(--emoji-picker-rgb-accent, 0, 0, 0);\n --shadow: none;\n --rgb-background: var(--emoji-picker-rgb-background, 255, 255, 255);\n --border-radius: 0;\n }\n `,\n popover: css`\n .${prefixCls}-popover-container {\n overflow: hidden;\n padding: 0;\n }\n `,\n root: css`\n position: relative;\n transition: background 150ms ${cssVar.motionEaseOut};\n\n &:hover {\n background: ${cssVar.colorFillSecondary};\n }\n `,\n tabs: css`\n border-block-end: 1px solid ${cssVar.colorBorderSecondary};\n\n .ant-tabs-tab {\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: 32px;\n height: 32px;\n padding: 0 !important;\n }\n `,\n}));\n"],"mappings":";;;AAEA,MAAM,YAAY;AAElB,MAAa,SAAS,oBAAoB,EAAE,YAAK,wBAAc;CAC7D,QAAQ,KAAG;;;;;;;;;;CAUX,SAAS,KAAG;OACP,UAAU;;;;;CAKf,MAAM,KAAG;;mCAEwBA,SAAO,cAAc;;;oBAGpCA,SAAO,mBAAmB;;;CAG5C,MAAM,KAAG;kCACuBA,SAAO,qBAAqB;;;;;;;;;;;;CAY7D,EAAE"}
@@ -7,11 +7,11 @@ import Text_default from "../Text/Text.mjs";
7
7
  import FluentEmoji_default from "../FluentEmoji/FluentEmoji.mjs";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  import { Empty } from "antd";
10
- import { useTheme } from "antd-style";
10
+ import { cssVar, useThemeMode } from "antd-style";
11
11
 
12
12
  //#region src/Empty/Empty.tsx
13
13
  const Empty$1 = ({ title, description, icon, image, emoji, imageSize = 48, iconColor, action, children, imageProps, align, actionProps, type = "default", titleProps, descriptionProps, ...rest }) => {
14
- const theme = useTheme();
14
+ const { isDarkMode } = useThemeMode();
15
15
  const isPage = type === "page";
16
16
  const alignValue = align || (isPage ? "flex-start" : "center");
17
17
  const isCenter = alignValue === "center";
@@ -29,7 +29,7 @@ const Empty$1 = ({ title, description, icon, image, emoji, imageSize = 48, iconC
29
29
  ...imageProps?.style
30
30
  },
31
31
  children: [icon && /* @__PURE__ */ jsx(Icon_default, {
32
- color: iconColor || (theme.isDarkMode ? theme.colorTextQuaternary : theme.colorTextSecondary),
32
+ color: iconColor || (isDarkMode ? cssVar.colorTextQuaternary : cssVar.colorTextSecondary),
33
33
  icon,
34
34
  size: imageSize * .66
35
35
  }), emoji && /* @__PURE__ */ jsx(FluentEmoji_default, {
@@ -56,7 +56,7 @@ const Empty$1 = ({ title, description, icon, image, emoji, imageSize = 48, iconC
56
56
  children: title
57
57
  }), description && /* @__PURE__ */ jsx(Text_default, {
58
58
  align: isCenter ? "center" : void 0,
59
- color: isPage ? theme.colorTextSecondary : theme.colorTextDescription,
59
+ color: isPage ? cssVar.colorTextSecondary : cssVar.colorTextDescription,
60
60
  fontSize: isPage ? 16 : 14,
61
61
  ...descriptionProps,
62
62
  children: description
@@ -1 +1 @@
1
- {"version":3,"file":"Empty.mjs","names":["Empty: FC<EmptyProps>","AntEmpty","Block","Icon","FluentEmoji","Flexbox","Text","Empty"],"sources":["../../src/Empty/Empty.tsx"],"sourcesContent":["'use client';\n\nimport { Empty as AntEmpty } from 'antd';\nimport { useTheme } from 'antd-style';\nimport { type FC } from 'react';\n\nimport Block from '@/Block';\nimport { Flexbox } from '@/Flex';\nimport FluentEmoji from '@/FluentEmoji';\nimport Icon from '@/Icon';\nimport Text from '@/Text';\n\nimport type { EmptyProps } from './type';\n\nconst Empty: FC<EmptyProps> = ({\n title,\n description,\n icon,\n image,\n emoji,\n imageSize = 48,\n iconColor,\n action,\n children,\n imageProps,\n align,\n actionProps,\n type = 'default',\n titleProps,\n descriptionProps,\n ...rest\n}) => {\n const theme = useTheme();\n const isPage = type === 'page';\n const alignValue = align || (isPage ? 'flex-start' : 'center');\n const isCenter = alignValue === 'center';\n\n const fallbackImage = AntEmpty.PRESENTED_IMAGE_SIMPLE;\n const hasImage = image || emoji || icon;\n const cover = hasImage ? (\n image ? (\n image\n ) : (\n <Block\n align={'center'}\n flex={'none'}\n height={imageSize}\n justify=\"center\"\n variant={'outlined'}\n width={imageSize}\n {...imageProps}\n style={{\n marginBottom: 4,\n ...imageProps?.style,\n }}\n >\n {icon && (\n <Icon\n color={\n iconColor || (theme.isDarkMode ? theme.colorTextQuaternary : theme.colorTextSecondary)\n }\n icon={icon}\n size={imageSize * 0.66}\n />\n )}\n {emoji && <FluentEmoji emoji={emoji} size={imageSize * 0.75} type={'anim'} />}\n </Block>\n )\n ) : (\n fallbackImage\n );\n\n return (\n <Flexbox align={alignValue} gap={8} padding={16} {...rest}>\n {cover}\n <Flexbox align={alignValue} gap={isPage ? 4 : 1}>\n {title && (\n <Text\n align={isCenter ? 'center' : undefined}\n fontSize={isPage ? 24 : 16}\n weight={'bold'}\n {...titleProps}\n >\n {title}\n </Text>\n )}\n {description && (\n <Text\n align={isCenter ? 'center' : undefined}\n color={isPage ? theme.colorTextSecondary : theme.colorTextDescription}\n fontSize={isPage ? 16 : 14}\n {...descriptionProps}\n >\n {description}\n </Text>\n )}\n </Flexbox>\n {children}\n {action && (\n <Flexbox gap={4} {...actionProps}>\n {action}\n </Flexbox>\n )}\n </Flexbox>\n );\n};\n\nEmpty.displayName = 'Empty';\n\nexport default Empty;\n"],"mappings":";;;;;;;;;;;;AAcA,MAAMA,WAAyB,EAC7B,OACA,aACA,MACA,OACA,OACA,YAAY,IACZ,WACA,QACA,UACA,YACA,OACA,aACA,OAAO,WACP,YACA,kBACA,GAAG,WACC;CACJ,MAAM,QAAQ,UAAU;CACxB,MAAM,SAAS,SAAS;CACxB,MAAM,aAAa,UAAU,SAAS,eAAe;CACrD,MAAM,WAAW,eAAe;CAEhC,MAAM,gBAAgBC,MAAS;CAE/B,MAAM,QADW,SAAS,SAAS,OAEjC,QACE,QAEA,qBAACC;EACC,OAAO;EACP,MAAM;EACN,QAAQ;EACR,SAAQ;EACR,SAAS;EACT,OAAO;EACP,GAAI;EACJ,OAAO;GACL,cAAc;GACd,GAAG,YAAY;GAChB;aAEA,QACC,oBAACC;GACC,OACE,cAAc,MAAM,aAAa,MAAM,sBAAsB,MAAM;GAE/D;GACN,MAAM,YAAY;IAClB,EAEH,SAAS,oBAACC;GAAmB;GAAO,MAAM,YAAY;GAAM,MAAM;IAAU;GACvE,GAGV;AAGF,QACE,qBAACC;EAAQ,OAAO;EAAY,KAAK;EAAG,SAAS;EAAI,GAAI;;GAClD;GACD,qBAACA;IAAQ,OAAO;IAAY,KAAK,SAAS,IAAI;eAC3C,SACC,oBAACC;KACC,OAAO,WAAW,WAAW;KAC7B,UAAU,SAAS,KAAK;KACxB,QAAQ;KACR,GAAI;eAEH;MACI,EAER,eACC,oBAACA;KACC,OAAO,WAAW,WAAW;KAC7B,OAAO,SAAS,MAAM,qBAAqB,MAAM;KACjD,UAAU,SAAS,KAAK;KACxB,GAAI;eAEH;MACI;KAED;GACT;GACA,UACC,oBAACD;IAAQ,KAAK;IAAG,GAAI;cAClB;KACO;;GAEJ;;AAId,QAAM,cAAc;AAEpB,oBAAeE"}
1
+ {"version":3,"file":"Empty.mjs","names":["Empty: FC<EmptyProps>","AntEmpty","Block","Icon","FluentEmoji","Flexbox","Text","Empty"],"sources":["../../src/Empty/Empty.tsx"],"sourcesContent":["'use client';\n\nimport { Empty as AntEmpty } from 'antd';\nimport { cssVar, useThemeMode } from 'antd-style';\nimport { type FC } from 'react';\n\nimport Block from '@/Block';\nimport { Flexbox } from '@/Flex';\nimport FluentEmoji from '@/FluentEmoji';\nimport Icon from '@/Icon';\nimport Text from '@/Text';\n\nimport type { EmptyProps } from './type';\n\nconst Empty: FC<EmptyProps> = ({\n title,\n description,\n icon,\n image,\n emoji,\n imageSize = 48,\n iconColor,\n action,\n children,\n imageProps,\n align,\n actionProps,\n type = 'default',\n titleProps,\n descriptionProps,\n ...rest\n}) => {\n const { isDarkMode } = useThemeMode();\n const isPage = type === 'page';\n const alignValue = align || (isPage ? 'flex-start' : 'center');\n const isCenter = alignValue === 'center';\n\n const fallbackImage = AntEmpty.PRESENTED_IMAGE_SIMPLE;\n const hasImage = image || emoji || icon;\n const cover = hasImage ? (\n image ? (\n image\n ) : (\n <Block\n align={'center'}\n flex={'none'}\n height={imageSize}\n justify=\"center\"\n variant={'outlined'}\n width={imageSize}\n {...imageProps}\n style={{\n marginBottom: 4,\n ...imageProps?.style,\n }}\n >\n {icon && (\n <Icon\n color={\n iconColor || (isDarkMode ? cssVar.colorTextQuaternary : cssVar.colorTextSecondary)\n }\n icon={icon}\n size={imageSize * 0.66}\n />\n )}\n {emoji && <FluentEmoji emoji={emoji} size={imageSize * 0.75} type={'anim'} />}\n </Block>\n )\n ) : (\n fallbackImage\n );\n\n return (\n <Flexbox align={alignValue} gap={8} padding={16} {...rest}>\n {cover}\n <Flexbox align={alignValue} gap={isPage ? 4 : 1}>\n {title && (\n <Text\n align={isCenter ? 'center' : undefined}\n fontSize={isPage ? 24 : 16}\n weight={'bold'}\n {...titleProps}\n >\n {title}\n </Text>\n )}\n {description && (\n <Text\n align={isCenter ? 'center' : undefined}\n color={isPage ? cssVar.colorTextSecondary : cssVar.colorTextDescription}\n fontSize={isPage ? 16 : 14}\n {...descriptionProps}\n >\n {description}\n </Text>\n )}\n </Flexbox>\n {children}\n {action && (\n <Flexbox gap={4} {...actionProps}>\n {action}\n </Flexbox>\n )}\n </Flexbox>\n );\n};\n\nEmpty.displayName = 'Empty';\n\nexport default Empty;\n"],"mappings":";;;;;;;;;;;;AAcA,MAAMA,WAAyB,EAC7B,OACA,aACA,MACA,OACA,OACA,YAAY,IACZ,WACA,QACA,UACA,YACA,OACA,aACA,OAAO,WACP,YACA,kBACA,GAAG,WACC;CACJ,MAAM,EAAE,eAAe,cAAc;CACrC,MAAM,SAAS,SAAS;CACxB,MAAM,aAAa,UAAU,SAAS,eAAe;CACrD,MAAM,WAAW,eAAe;CAEhC,MAAM,gBAAgBC,MAAS;CAE/B,MAAM,QADW,SAAS,SAAS,OAEjC,QACE,QAEA,qBAACC;EACC,OAAO;EACP,MAAM;EACN,QAAQ;EACR,SAAQ;EACR,SAAS;EACT,OAAO;EACP,GAAI;EACJ,OAAO;GACL,cAAc;GACd,GAAG,YAAY;GAChB;aAEA,QACC,oBAACC;GACC,OACE,cAAc,aAAa,OAAO,sBAAsB,OAAO;GAE3D;GACN,MAAM,YAAY;IAClB,EAEH,SAAS,oBAACC;GAAmB;GAAO,MAAM,YAAY;GAAM,MAAM;IAAU;GACvE,GAGV;AAGF,QACE,qBAACC;EAAQ,OAAO;EAAY,KAAK;EAAG,SAAS;EAAI,GAAI;;GAClD;GACD,qBAACA;IAAQ,OAAO;IAAY,KAAK,SAAS,IAAI;eAC3C,SACC,oBAACC;KACC,OAAO,WAAW,WAAW;KAC7B,UAAU,SAAS,KAAK;KACxB,QAAQ;KACR,GAAI;eAEH;MACI,EAER,eACC,oBAACA;KACC,OAAO,WAAW,WAAW;KAC7B,OAAO,SAAS,OAAO,qBAAqB,OAAO;KACnD,UAAU,SAAS,KAAK;KACxB,GAAI;eAEH;MACI;KAED;GACT;GACA,UACC,oBAACD;IAAQ,KAAK;IAAG,GAAI;cAClB;KACO;;GAEJ;;AAId,QAAM,cAAc;AAEpB,oBAAeE"}
@@ -1,26 +1,25 @@
1
1
  'use client';
2
2
 
3
3
  import Center_default from "../Flex/Center.mjs";
4
- import { useStyles } from "./style.mjs";
4
+ import { styles } from "./style.mjs";
5
5
  import FileIcon_default from "./components/FileIcon.mjs";
6
6
  import FolderIcon_default from "./components/FolderIcon.mjs";
7
7
  import { useMemo } from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
+ import { cssVar, cx, useThemeMode } from "antd-style";
9
10
 
10
11
  //#region src/FileTypeIcon/FileTypeIcon.tsx
11
12
  const FileTypeIcon = ({ icon, color, filetype, type = "file", size = 48, style, variant, className, ref, ...rest }) => {
12
- const { cx, styles, theme } = useStyles();
13
+ const { isDarkMode } = useThemeMode();
13
14
  const isMono = variant === "mono";
14
15
  const filetypeShort = useMemo(() => filetype && filetype.length > 4 ? filetype.slice(0, 4) : filetype, [filetype]);
15
16
  const fontSize = useMemo(() => {
16
17
  if (filetypeShort && filetypeShort.length > 3) return 24 / (4 + (filetypeShort.length - 3));
17
18
  return 6;
18
19
  }, [filetypeShort]);
19
- const iconColor = useMemo(() => isMono ? theme.isDarkMode ? theme.colorFill : theme.colorBgContainer : color || theme.geekblue, [
20
+ const iconColor = useMemo(() => isMono ? isDarkMode ? cssVar.colorFill : cssVar.colorBgContainer : color || cssVar.geekblue, [
20
21
  isMono,
21
- theme.isDarkMode,
22
- theme.colorFill,
23
- theme.colorBgContainer,
22
+ isDarkMode,
24
23
  color
25
24
  ]);
26
25
  const content = type === "file" ? /* @__PURE__ */ jsx(FileIcon_default, {
@@ -1 +1 @@
1
- {"version":3,"file":"FileTypeIcon.mjs","names":["FileTypeIcon: FC<FileTypeIconProps>","FileIcon","FolderIcon","Center"],"sources":["../../src/FileTypeIcon/FileTypeIcon.tsx"],"sourcesContent":["'use client';\n\nimport { type FC, useMemo } from 'react';\n\nimport { Center } from '@/Flex';\n\nimport FileIcon from './components/FileIcon';\nimport FolderIcon from './components/FolderIcon';\nimport { useStyles } from './style';\nimport type { FileTypeIconProps } from './type';\n\nconst FileTypeIcon: FC<FileTypeIconProps> = ({\n icon,\n color,\n filetype,\n type = 'file',\n size = 48,\n style,\n variant,\n className,\n ref,\n ...rest\n}) => {\n const { cx, styles, theme } = useStyles();\n const isMono = variant === 'mono';\n\n const filetypeShort = useMemo(\n () => (filetype && filetype.length > 4 ? filetype.slice(0, 4) : filetype),\n [filetype],\n );\n\n const fontSize = useMemo(() => {\n if (filetypeShort && filetypeShort.length > 3) {\n return 24 / (4 + (filetypeShort.length - 3));\n }\n return 6;\n }, [filetypeShort]);\n\n const iconColor = useMemo(\n () =>\n isMono\n ? theme.isDarkMode\n ? theme.colorFill\n : theme.colorBgContainer\n : color || theme.geekblue,\n [isMono, theme.isDarkMode, theme.colorFill, theme.colorBgContainer, color],\n );\n\n const content =\n type === 'file' ? (\n <FileIcon\n filetypeShort={filetypeShort}\n fontSize={fontSize}\n hasIcon={!!icon}\n iconColor={iconColor}\n isMono={isMono}\n size={size}\n {...rest}\n />\n ) : (\n <FolderIcon\n filetype={filetype}\n fontSize={fontSize}\n hasIcon={!!icon}\n iconColor={iconColor}\n isMono={isMono}\n size={size}\n {...rest}\n />\n );\n\n if (!icon) return content;\n\n return (\n <Center\n className={cx(styles.container, className)}\n flex={'none'}\n height={size}\n ref={ref}\n style={style}\n width={size}\n {...rest}\n >\n <div\n className={styles.inner}\n style={{\n fontSize: size / 2.4,\n top: type === 'file' ? '20%' : '16%',\n }}\n >\n {icon}\n </div>\n {content}\n </Center>\n );\n};\n\nFileTypeIcon.displayName = 'FileTypeIcon';\n\nexport default FileTypeIcon;\n"],"mappings":";;;;;;;;;;AAWA,MAAMA,gBAAuC,EAC3C,MACA,OACA,UACA,OAAO,QACP,OAAO,IACP,OACA,SACA,WACA,KACA,GAAG,WACC;CACJ,MAAM,EAAE,IAAI,QAAQ,UAAU,WAAW;CACzC,MAAM,SAAS,YAAY;CAE3B,MAAM,gBAAgB,cACb,YAAY,SAAS,SAAS,IAAI,SAAS,MAAM,GAAG,EAAE,GAAG,UAChE,CAAC,SAAS,CACX;CAED,MAAM,WAAW,cAAc;AAC7B,MAAI,iBAAiB,cAAc,SAAS,EAC1C,QAAO,MAAM,KAAK,cAAc,SAAS;AAE3C,SAAO;IACN,CAAC,cAAc,CAAC;CAEnB,MAAM,YAAY,cAEd,SACI,MAAM,aACJ,MAAM,YACN,MAAM,mBACR,SAAS,MAAM,UACrB;EAAC;EAAQ,MAAM;EAAY,MAAM;EAAW,MAAM;EAAkB;EAAM,CAC3E;CAED,MAAM,UACJ,SAAS,SACP,oBAACC;EACgB;EACL;EACV,SAAS,CAAC,CAAC;EACA;EACH;EACF;EACN,GAAI;GACJ,GAEF,oBAACC;EACW;EACA;EACV,SAAS,CAAC,CAAC;EACA;EACH;EACF;EACN,GAAI;GACJ;AAGN,KAAI,CAAC,KAAM,QAAO;AAElB,QACE,qBAACC;EACC,WAAW,GAAG,OAAO,WAAW,UAAU;EAC1C,MAAM;EACN,QAAQ;EACH;EACE;EACP,OAAO;EACP,GAAI;aAEJ,oBAAC;GACC,WAAW,OAAO;GAClB,OAAO;IACL,UAAU,OAAO;IACjB,KAAK,SAAS,SAAS,QAAQ;IAChC;aAEA;IACG,EACL;GACM;;AAIb,aAAa,cAAc;AAE3B,2BAAe"}
1
+ {"version":3,"file":"FileTypeIcon.mjs","names":["FileTypeIcon: FC<FileTypeIconProps>","FileIcon","FolderIcon","Center"],"sources":["../../src/FileTypeIcon/FileTypeIcon.tsx"],"sourcesContent":["'use client';\n\nimport { cssVar, cx, useThemeMode } from 'antd-style';\nimport { type FC, useMemo } from 'react';\n\nimport { Center } from '@/Flex';\n\nimport FileIcon from './components/FileIcon';\nimport FolderIcon from './components/FolderIcon';\nimport { styles } from './style';\nimport type { FileTypeIconProps } from './type';\n\nconst FileTypeIcon: FC<FileTypeIconProps> = ({\n icon,\n color,\n filetype,\n type = 'file',\n size = 48,\n style,\n variant,\n className,\n ref,\n ...rest\n}) => {\n const { isDarkMode } = useThemeMode();\n const isMono = variant === 'mono';\n\n const filetypeShort = useMemo(\n () => (filetype && filetype.length > 4 ? filetype.slice(0, 4) : filetype),\n [filetype],\n );\n\n const fontSize = useMemo(() => {\n if (filetypeShort && filetypeShort.length > 3) {\n return 24 / (4 + (filetypeShort.length - 3));\n }\n return 6;\n }, [filetypeShort]);\n\n const iconColor = useMemo(\n () =>\n isMono ? (isDarkMode ? cssVar.colorFill : cssVar.colorBgContainer) : color || cssVar.geekblue,\n [isMono, isDarkMode, color],\n );\n\n const content =\n type === 'file' ? (\n <FileIcon\n filetypeShort={filetypeShort}\n fontSize={fontSize}\n hasIcon={!!icon}\n iconColor={iconColor}\n isMono={isMono}\n size={size}\n {...rest}\n />\n ) : (\n <FolderIcon\n filetype={filetype}\n fontSize={fontSize}\n hasIcon={!!icon}\n iconColor={iconColor}\n isMono={isMono}\n size={size}\n {...rest}\n />\n );\n\n if (!icon) return content;\n\n return (\n <Center\n className={cx(styles.container, className)}\n flex={'none'}\n height={size}\n ref={ref}\n style={style}\n width={size}\n {...rest}\n >\n <div\n className={styles.inner}\n style={{\n fontSize: size / 2.4,\n top: type === 'file' ? '20%' : '16%',\n }}\n >\n {icon}\n </div>\n {content}\n </Center>\n );\n};\n\nFileTypeIcon.displayName = 'FileTypeIcon';\n\nexport default FileTypeIcon;\n"],"mappings":";;;;;;;;;;;AAYA,MAAMA,gBAAuC,EAC3C,MACA,OACA,UACA,OAAO,QACP,OAAO,IACP,OACA,SACA,WACA,KACA,GAAG,WACC;CACJ,MAAM,EAAE,eAAe,cAAc;CACrC,MAAM,SAAS,YAAY;CAE3B,MAAM,gBAAgB,cACb,YAAY,SAAS,SAAS,IAAI,SAAS,MAAM,GAAG,EAAE,GAAG,UAChE,CAAC,SAAS,CACX;CAED,MAAM,WAAW,cAAc;AAC7B,MAAI,iBAAiB,cAAc,SAAS,EAC1C,QAAO,MAAM,KAAK,cAAc,SAAS;AAE3C,SAAO;IACN,CAAC,cAAc,CAAC;CAEnB,MAAM,YAAY,cAEd,SAAU,aAAa,OAAO,YAAY,OAAO,mBAAoB,SAAS,OAAO,UACvF;EAAC;EAAQ;EAAY;EAAM,CAC5B;CAED,MAAM,UACJ,SAAS,SACP,oBAACC;EACgB;EACL;EACV,SAAS,CAAC,CAAC;EACA;EACH;EACF;EACN,GAAI;GACJ,GAEF,oBAACC;EACW;EACA;EACV,SAAS,CAAC,CAAC;EACA;EACH;EACF;EACN,GAAI;GACJ;AAGN,KAAI,CAAC,KAAM,QAAO;AAElB,QACE,qBAACC;EACC,WAAW,GAAG,OAAO,WAAW,UAAU;EAC1C,MAAM;EACN,QAAQ;EACH;EACE;EACP,OAAO;EACP,GAAI;aAEJ,oBAAC;GACC,WAAW,OAAO;GAClB,OAAO;IACL,UAAU,OAAO;IACjB,KAAK,SAAS,SAAS,QAAQ;IAChC;aAEA;IACG,EACL;GACM;;AAIb,aAAa,cAAc;AAE3B,2BAAe"}
@@ -1,9 +1,9 @@
1
- import { useStyles } from "../style.mjs";
1
+ import { styles } from "../style.mjs";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { cssVar, cx } from "antd-style";
3
4
 
4
5
  //#region src/FileTypeIcon/components/FileIcon.tsx
5
6
  const FileIcon = ({ size, isMono, hasIcon, iconColor, filetypeShort, className, fontSize, style, ...rest }) => {
6
- const { cx, styles, theme } = useStyles();
7
7
  return /* @__PURE__ */ jsxs("svg", {
8
8
  className: cx(styles.icon, !hasIcon && className),
9
9
  height: size,
@@ -19,11 +19,11 @@ const FileIcon = ({ size, isMono, hasIcon, iconColor, filetypeShort, className,
19
19
  }),
20
20
  /* @__PURE__ */ jsx("path", {
21
21
  d: "M14 2l6 6h-4a2 2 0 01-2-2V2z",
22
- fill: isMono ? theme.colorFill : "#fff",
22
+ fill: isMono ? cssVar.colorFill : "#fff",
23
23
  fillOpacity: ".5"
24
24
  }),
25
25
  filetypeShort && /* @__PURE__ */ jsx("text", {
26
- fill: isMono ? theme.colorTextSecondary : "#fff",
26
+ fill: isMono ? cssVar.colorTextSecondary : "#fff",
27
27
  fontSize,
28
28
  fontWeight: "bold",
29
29
  textAnchor: "middle",
@@ -34,7 +34,7 @@ const FileIcon = ({ size, isMono, hasIcon, iconColor, filetypeShort, className,
34
34
  /* @__PURE__ */ jsx("path", {
35
35
  d: "M6 2a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6H6z",
36
36
  fill: "transparent",
37
- stroke: theme.colorFillSecondary,
37
+ stroke: cssVar.colorFillSecondary,
38
38
  strokeWidth: .5
39
39
  })
40
40
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"FileIcon.mjs","names":["FileIcon: FC<FileIconProps>"],"sources":["../../../src/FileTypeIcon/components/FileIcon.tsx"],"sourcesContent":["import { type FC } from 'react';\n\nimport { SvgProps } from '@/types';\n\nimport { useStyles } from '../style';\n\ninterface FileIconProps extends SvgProps {\n filetypeShort?: string;\n fontSize?: number;\n hasIcon?: boolean;\n iconColor?: string;\n isMono?: boolean;\n size?: number;\n}\n\nconst FileIcon: FC<FileIconProps> = ({\n size,\n isMono,\n hasIcon,\n iconColor,\n filetypeShort,\n className,\n fontSize,\n style,\n ...rest\n}) => {\n const { cx, styles, theme } = useStyles();\n return (\n <svg\n className={cx(styles.icon, !hasIcon && className)}\n height={size}\n style={hasIcon ? undefined : style}\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <path d=\"M6 2a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6H6z\" fill={iconColor} />\n <path\n d=\"M14 2l6 6h-4a2 2 0 01-2-2V2z\"\n fill={isMono ? theme.colorFill : '#fff'}\n fillOpacity=\".5\"\n />\n {filetypeShort && (\n <text\n fill={isMono ? theme.colorTextSecondary : '#fff'}\n fontSize={fontSize}\n fontWeight=\"bold\"\n textAnchor=\"middle\"\n x=\"50%\"\n y=\"70%\"\n >\n {filetypeShort.toUpperCase()}\n </text>\n )}\n <path\n d=\"M6 2a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6H6z\"\n fill={'transparent'}\n stroke={theme.colorFillSecondary}\n strokeWidth={0.5}\n />\n </svg>\n );\n};\n\nexport default FileIcon;\n"],"mappings":";;;;AAeA,MAAMA,YAA+B,EACnC,MACA,QACA,SACA,WACA,eACA,WACA,UACA,OACA,GAAG,WACC;CACJ,MAAM,EAAE,IAAI,QAAQ,UAAU,WAAW;AACzC,QACE,qBAAC;EACC,WAAW,GAAG,OAAO,MAAM,CAAC,WAAW,UAAU;EACjD,QAAQ;EACR,OAAO,UAAU,SAAY;EAC7B,SAAQ;EACR,OAAO;EACP,OAAM;EACN,GAAI;;GAEJ,oBAAC;IAAK,GAAE;IAA4D,MAAM;KAAa;GACvF,oBAAC;IACC,GAAE;IACF,MAAM,SAAS,MAAM,YAAY;IACjC,aAAY;KACZ;GACD,iBACC,oBAAC;IACC,MAAM,SAAS,MAAM,qBAAqB;IAChC;IACV,YAAW;IACX,YAAW;IACX,GAAE;IACF,GAAE;cAED,cAAc,aAAa;KACvB;GAET,oBAAC;IACC,GAAE;IACF,MAAM;IACN,QAAQ,MAAM;IACd,aAAa;KACb;;GACE;;AAIV,uBAAe"}
1
+ {"version":3,"file":"FileIcon.mjs","names":["FileIcon: FC<FileIconProps>"],"sources":["../../../src/FileTypeIcon/components/FileIcon.tsx"],"sourcesContent":["import { cssVar, cx } from 'antd-style';\nimport { type FC } from 'react';\n\nimport { SvgProps } from '@/types';\n\nimport { styles } from '../style';\n\ninterface FileIconProps extends SvgProps {\n filetypeShort?: string;\n fontSize?: number;\n hasIcon?: boolean;\n iconColor?: string;\n isMono?: boolean;\n size?: number;\n}\n\nconst FileIcon: FC<FileIconProps> = ({\n size,\n isMono,\n hasIcon,\n iconColor,\n filetypeShort,\n className,\n fontSize,\n style,\n ...rest\n}) => {\n return (\n <svg\n className={cx(styles.icon, !hasIcon && className)}\n height={size}\n style={hasIcon ? undefined : style}\n viewBox=\"0 0 24 24\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n <path d=\"M6 2a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6H6z\" fill={iconColor} />\n <path\n d=\"M14 2l6 6h-4a2 2 0 01-2-2V2z\"\n fill={isMono ? cssVar.colorFill : '#fff'}\n fillOpacity=\".5\"\n />\n {filetypeShort && (\n <text\n fill={isMono ? cssVar.colorTextSecondary : '#fff'}\n fontSize={fontSize}\n fontWeight=\"bold\"\n textAnchor=\"middle\"\n x=\"50%\"\n y=\"70%\"\n >\n {filetypeShort.toUpperCase()}\n </text>\n )}\n <path\n d=\"M6 2a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6H6z\"\n fill={'transparent'}\n stroke={cssVar.colorFillSecondary}\n strokeWidth={0.5}\n />\n </svg>\n );\n};\n\nexport default FileIcon;\n"],"mappings":";;;;;AAgBA,MAAMA,YAA+B,EACnC,MACA,QACA,SACA,WACA,eACA,WACA,UACA,OACA,GAAG,WACC;AACJ,QACE,qBAAC;EACC,WAAW,GAAG,OAAO,MAAM,CAAC,WAAW,UAAU;EACjD,QAAQ;EACR,OAAO,UAAU,SAAY;EAC7B,SAAQ;EACR,OAAO;EACP,OAAM;EACN,GAAI;;GAEJ,oBAAC;IAAK,GAAE;IAA4D,MAAM;KAAa;GACvF,oBAAC;IACC,GAAE;IACF,MAAM,SAAS,OAAO,YAAY;IAClC,aAAY;KACZ;GACD,iBACC,oBAAC;IACC,MAAM,SAAS,OAAO,qBAAqB;IACjC;IACV,YAAW;IACX,YAAW;IACX,GAAE;IACF,GAAE;cAED,cAAc,aAAa;KACvB;GAET,oBAAC;IACC,GAAE;IACF,MAAM;IACN,QAAQ,OAAO;IACf,aAAa;KACb;;GACE;;AAIV,uBAAe"}