@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
@@ -3,38 +3,15 @@
3
3
  import FlexBasic_default from "../Flex/FlexBasic.mjs";
4
4
  import CopyButton_default from "../CopyButton/CopyButton.mjs";
5
5
  import Tag_default from "../Tag/Tag.mjs";
6
- import { useStyles } from "../Highlighter/style.mjs";
6
+ import { styles, variants } from "../Highlighter/style.mjs";
7
7
  import FullFeatured_default from "./FullFeatured.mjs";
8
8
  import SyntaxMermaid_default from "./SyntaxMermaid/index.mjs";
9
9
  import { memo, useCallback, useEffect, useMemo, useRef } from "react";
10
10
  import { jsx, jsxs } from "react/jsx-runtime";
11
- import { cva } from "class-variance-authority";
11
+ import { cx } from "antd-style";
12
12
 
13
13
  //#region src/Mermaid/Mermaid.tsx
14
- const Mermaid = memo(({ children, actionIconSize, fullFeatured, copyable = true, showLanguage = true, language = "mermaid", style, styles: customStyles, classNames, variant = "filled", shadow, enablePanZoom = true, defaultExpand = true, className, bodyRender, fileName, actionsRender, theme, ...rest }) => {
15
- const { cx, styles } = useStyles();
16
- const variants = useMemo(() => cva(styles.root, {
17
- defaultVariants: {
18
- shadow: false,
19
- variant: "filled",
20
- wrap: false
21
- },
22
- variants: {
23
- variant: {
24
- filled: styles.filled,
25
- outlined: styles.outlined,
26
- borderless: styles.borderless
27
- },
28
- shadow: {
29
- false: null,
30
- true: styles.shadow
31
- },
32
- wrap: {
33
- false: styles.nowrap,
34
- true: null
35
- }
36
- }
37
- }), [styles]);
14
+ const Mermaid = memo(({ actionIconSize, animated, bodyRender, children, classNames, className, copyable = true, defaultExpand = true, fileName, fullFeatured, language = "mermaid", actionsRender, shadow, showLanguage = true, style, styles: customStyles, theme, variant = "filled", ...rest }) => {
38
15
  const tirmedChildren = children.trim();
39
16
  const copyContentRef = useRef(tirmedChildren);
40
17
  useEffect(() => {
@@ -71,14 +48,14 @@ const Mermaid = memo(({ children, actionIconSize, fullFeatured, copyable = true,
71
48
  tirmedChildren
72
49
  ]);
73
50
  const defaultBody = useMemo(() => /* @__PURE__ */ jsx(SyntaxMermaid_default, {
51
+ animated,
74
52
  className: classNames?.content,
75
- enablePanZoom,
76
53
  style: customStyles?.content,
77
54
  theme,
78
55
  variant,
79
56
  children: tirmedChildren
80
57
  }), [
81
- enablePanZoom,
58
+ animated,
82
59
  theme,
83
60
  tirmedChildren,
84
61
  variant,
@@ -1 +1 @@
1
- {"version":3,"file":"Mermaid.mjs","names":["CopyButton","SyntaxMermaid","FullFeatured","Flexbox","Tag"],"sources":["../../src/Mermaid/Mermaid.tsx"],"sourcesContent":["'use client';\n\nimport { cva } from 'class-variance-authority';\nimport { memo, useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport CopyButton from '@/CopyButton';\nimport { Flexbox } from '@/Flex';\nimport { useStyles } from '@/Highlighter/style';\nimport Tag from '@/Tag';\n\nimport FullFeatured from './FullFeatured';\nimport SyntaxMermaid from './SyntaxMermaid';\nimport { MermaidProps } from './type';\n\nconst Mermaid = memo<MermaidProps>(\n ({\n children,\n actionIconSize,\n fullFeatured,\n copyable = true,\n showLanguage = true,\n language = 'mermaid',\n style,\n styles: customStyles,\n classNames,\n variant = 'filled',\n shadow,\n enablePanZoom = true,\n defaultExpand = true,\n className,\n bodyRender,\n fileName,\n actionsRender,\n theme,\n ...rest\n }) => {\n const { cx, styles } = useStyles();\n\n const variants = useMemo(\n () =>\n cva(styles.root, {\n defaultVariants: {\n shadow: false,\n variant: 'filled',\n wrap: false,\n },\n /* eslint-disable sort-keys-fix/sort-keys-fix */\n variants: {\n variant: {\n filled: styles.filled,\n outlined: styles.outlined,\n borderless: styles.borderless,\n },\n shadow: {\n false: null,\n true: styles.shadow,\n },\n wrap: {\n false: styles.nowrap,\n true: null,\n },\n },\n /* eslint-enable sort-keys-fix/sort-keys-fix */\n }),\n [styles],\n );\n\n const tirmedChildren = children.trim();\n const copyContentRef = useRef(tirmedChildren);\n\n useEffect(() => {\n copyContentRef.current = tirmedChildren;\n }, [tirmedChildren]);\n\n const getCopyContent = useCallback(() => copyContentRef.current, []);\n\n const originalActions = useMemo(() => {\n if (!copyable) return null;\n return (\n <CopyButton content={getCopyContent} size={actionIconSize || { blockSize: 28, size: 16 }} />\n );\n }, [actionIconSize, copyable, getCopyContent]);\n\n const actions = useMemo(() => {\n if (!actionsRender) return originalActions;\n return actionsRender({\n actionIconSize,\n content: tirmedChildren,\n getContent: getCopyContent,\n originalNode: originalActions,\n });\n }, [actionIconSize, actionsRender, getCopyContent, originalActions, tirmedChildren]);\n\n const defaultBody = useMemo(\n () => (\n <SyntaxMermaid\n className={classNames?.content}\n enablePanZoom={enablePanZoom}\n style={customStyles?.content}\n theme={theme}\n variant={variant}\n >\n {tirmedChildren}\n </SyntaxMermaid>\n ),\n [enablePanZoom, theme, tirmedChildren, variant, classNames?.content, customStyles?.content],\n );\n\n const body = useMemo(() => {\n if (!bodyRender) return defaultBody;\n return bodyRender({ content: tirmedChildren, originalNode: defaultBody });\n }, [bodyRender, defaultBody, tirmedChildren]);\n\n if (fullFeatured)\n return (\n <FullFeatured\n actionsRender={actionsRender}\n className={className}\n classNames={classNames}\n content={tirmedChildren}\n copyable={copyable}\n defaultExpand={defaultExpand}\n fileName={fileName}\n language={language}\n shadow={shadow}\n showLanguage={showLanguage}\n style={style}\n styles={customStyles}\n variant={variant}\n {...rest}\n >\n {body}\n </FullFeatured>\n );\n\n return (\n <div\n className={cx(variants({ shadow, variant }), className)}\n data-code-type=\"mermaid\"\n style={style}\n {...rest}\n >\n <Flexbox align={'center'} className={styles.actions} flex={'none'} gap={4} horizontal>\n {actions}\n </Flexbox>\n {showLanguage && <Tag className={styles.lang}>{language.toLowerCase()}</Tag>}\n {body}\n </div>\n );\n },\n);\n\nMermaid.displayName = 'Mermaid';\n\nexport default Mermaid;\n\nexport { type MermaidProps } from './type';\n"],"mappings":";;;;;;;;;;;;;AAcA,MAAM,UAAU,MACb,EACC,UACA,gBACA,cACA,WAAW,MACX,eAAe,MACf,WAAW,WACX,OACA,QAAQ,cACR,YACA,UAAU,UACV,QACA,gBAAgB,MAChB,gBAAgB,MAChB,WACA,YACA,UACA,eACA,OACA,GAAG,WACC;CACJ,MAAM,EAAE,IAAI,WAAW,WAAW;CAElC,MAAM,WAAW,cAEb,IAAI,OAAO,MAAM;EACf,iBAAiB;GACf,QAAQ;GACR,SAAS;GACT,MAAM;GACP;EAED,UAAU;GACR,SAAS;IACP,QAAQ,OAAO;IACf,UAAU,OAAO;IACjB,YAAY,OAAO;IACpB;GACD,QAAQ;IACN,OAAO;IACP,MAAM,OAAO;IACd;GACD,MAAM;IACJ,OAAO,OAAO;IACd,MAAM;IACP;GACF;EAEF,CAAC,EACJ,CAAC,OAAO,CACT;CAED,MAAM,iBAAiB,SAAS,MAAM;CACtC,MAAM,iBAAiB,OAAO,eAAe;AAE7C,iBAAgB;AACd,iBAAe,UAAU;IACxB,CAAC,eAAe,CAAC;CAEpB,MAAM,iBAAiB,kBAAkB,eAAe,SAAS,EAAE,CAAC;CAEpE,MAAM,kBAAkB,cAAc;AACpC,MAAI,CAAC,SAAU,QAAO;AACtB,SACE,oBAACA;GAAW,SAAS;GAAgB,MAAM,kBAAkB;IAAE,WAAW;IAAI,MAAM;IAAI;IAAI;IAE7F;EAAC;EAAgB;EAAU;EAAe,CAAC;CAE9C,MAAM,UAAU,cAAc;AAC5B,MAAI,CAAC,cAAe,QAAO;AAC3B,SAAO,cAAc;GACnB;GACA,SAAS;GACT,YAAY;GACZ,cAAc;GACf,CAAC;IACD;EAAC;EAAgB;EAAe;EAAgB;EAAiB;EAAe,CAAC;CAEpF,MAAM,cAAc,cAEhB,oBAACC;EACC,WAAW,YAAY;EACR;EACf,OAAO,cAAc;EACd;EACE;YAER;GACa,EAElB;EAAC;EAAe;EAAO;EAAgB;EAAS,YAAY;EAAS,cAAc;EAAQ,CAC5F;CAED,MAAM,OAAO,cAAc;AACzB,MAAI,CAAC,WAAY,QAAO;AACxB,SAAO,WAAW;GAAE,SAAS;GAAgB,cAAc;GAAa,CAAC;IACxE;EAAC;EAAY;EAAa;EAAe,CAAC;AAE7C,KAAI,aACF,QACE,oBAACC;EACgB;EACJ;EACC;EACZ,SAAS;EACC;EACK;EACL;EACA;EACF;EACM;EACP;EACP,QAAQ;EACC;EACT,GAAI;YAEH;GACY;AAGnB,QACE,qBAAC;EACC,WAAW,GAAG,SAAS;GAAE;GAAQ;GAAS,CAAC,EAAE,UAAU;EACvD,kBAAe;EACR;EACP,GAAI;;GAEJ,oBAACC;IAAQ,OAAO;IAAU,WAAW,OAAO;IAAS,MAAM;IAAQ,KAAK;IAAG;cACxE;KACO;GACT,gBAAgB,oBAACC;IAAI,WAAW,OAAO;cAAO,SAAS,aAAa;KAAO;GAC3E;;GACG;EAGX;AAED,QAAQ,cAAc;AAEtB,sBAAe"}
1
+ {"version":3,"file":"Mermaid.mjs","names":["CopyButton","SyntaxMermaid","FullFeatured","Flexbox","Tag"],"sources":["../../src/Mermaid/Mermaid.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { memo, useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport CopyButton from '@/CopyButton';\nimport { Flexbox } from '@/Flex';\nimport { styles, variants } from '@/Highlighter/style';\nimport Tag from '@/Tag';\n\nimport FullFeatured from './FullFeatured';\nimport SyntaxMermaid from './SyntaxMermaid';\nimport { MermaidProps } from './type';\n\nconst Mermaid = memo<MermaidProps>(\n ({\n actionIconSize,\n animated,\n bodyRender,\n children,\n classNames,\n className,\n copyable = true,\n defaultExpand = true,\n fileName,\n fullFeatured,\n language = 'mermaid',\n actionsRender,\n shadow,\n showLanguage = true,\n style,\n styles: customStyles,\n theme,\n variant = 'filled',\n ...rest\n }) => {\n const tirmedChildren = children.trim();\n const copyContentRef = useRef(tirmedChildren);\n\n useEffect(() => {\n copyContentRef.current = tirmedChildren;\n }, [tirmedChildren]);\n\n const getCopyContent = useCallback(() => copyContentRef.current, []);\n\n const originalActions = useMemo(() => {\n if (!copyable) return null;\n return (\n <CopyButton content={getCopyContent} size={actionIconSize || { blockSize: 28, size: 16 }} />\n );\n }, [actionIconSize, copyable, getCopyContent]);\n\n const actions = useMemo(() => {\n if (!actionsRender) return originalActions;\n return actionsRender({\n actionIconSize,\n content: tirmedChildren,\n getContent: getCopyContent,\n originalNode: originalActions,\n });\n }, [actionIconSize, actionsRender, getCopyContent, originalActions, tirmedChildren]);\n\n const defaultBody = useMemo(\n () => (\n <SyntaxMermaid\n animated={animated}\n className={classNames?.content}\n style={customStyles?.content}\n theme={theme}\n variant={variant}\n >\n {tirmedChildren}\n </SyntaxMermaid>\n ),\n [animated, theme, tirmedChildren, variant, classNames?.content, customStyles?.content],\n );\n\n const body = useMemo(() => {\n if (!bodyRender) return defaultBody;\n return bodyRender({ content: tirmedChildren, originalNode: defaultBody });\n }, [bodyRender, defaultBody, tirmedChildren]);\n\n if (fullFeatured)\n return (\n <FullFeatured\n actionsRender={actionsRender}\n className={className}\n classNames={classNames}\n content={tirmedChildren}\n copyable={copyable}\n defaultExpand={defaultExpand}\n fileName={fileName}\n language={language}\n shadow={shadow}\n showLanguage={showLanguage}\n style={style}\n styles={customStyles}\n variant={variant}\n {...rest}\n >\n {body}\n </FullFeatured>\n );\n\n return (\n <div\n className={cx(variants({ shadow, variant }), className)}\n data-code-type=\"mermaid\"\n style={style}\n {...rest}\n >\n <Flexbox align={'center'} className={styles.actions} flex={'none'} gap={4} horizontal>\n {actions}\n </Flexbox>\n {showLanguage && <Tag className={styles.lang}>{language.toLowerCase()}</Tag>}\n {body}\n </div>\n );\n },\n);\n\nMermaid.displayName = 'Mermaid';\n\nexport default Mermaid;\n\nexport { type MermaidProps } from './type';\n"],"mappings":";;;;;;;;;;;;;AAcA,MAAM,UAAU,MACb,EACC,gBACA,UACA,YACA,UACA,YACA,WACA,WAAW,MACX,gBAAgB,MAChB,UACA,cACA,WAAW,WACX,eACA,QACA,eAAe,MACf,OACA,QAAQ,cACR,OACA,UAAU,UACV,GAAG,WACC;CACJ,MAAM,iBAAiB,SAAS,MAAM;CACtC,MAAM,iBAAiB,OAAO,eAAe;AAE7C,iBAAgB;AACd,iBAAe,UAAU;IACxB,CAAC,eAAe,CAAC;CAEpB,MAAM,iBAAiB,kBAAkB,eAAe,SAAS,EAAE,CAAC;CAEpE,MAAM,kBAAkB,cAAc;AACpC,MAAI,CAAC,SAAU,QAAO;AACtB,SACE,oBAACA;GAAW,SAAS;GAAgB,MAAM,kBAAkB;IAAE,WAAW;IAAI,MAAM;IAAI;IAAI;IAE7F;EAAC;EAAgB;EAAU;EAAe,CAAC;CAE9C,MAAM,UAAU,cAAc;AAC5B,MAAI,CAAC,cAAe,QAAO;AAC3B,SAAO,cAAc;GACnB;GACA,SAAS;GACT,YAAY;GACZ,cAAc;GACf,CAAC;IACD;EAAC;EAAgB;EAAe;EAAgB;EAAiB;EAAe,CAAC;CAEpF,MAAM,cAAc,cAEhB,oBAACC;EACW;EACV,WAAW,YAAY;EACvB,OAAO,cAAc;EACd;EACE;YAER;GACa,EAElB;EAAC;EAAU;EAAO;EAAgB;EAAS,YAAY;EAAS,cAAc;EAAQ,CACvF;CAED,MAAM,OAAO,cAAc;AACzB,MAAI,CAAC,WAAY,QAAO;AACxB,SAAO,WAAW;GAAE,SAAS;GAAgB,cAAc;GAAa,CAAC;IACxE;EAAC;EAAY;EAAa;EAAe,CAAC;AAE7C,KAAI,aACF,QACE,oBAACC;EACgB;EACJ;EACC;EACZ,SAAS;EACC;EACK;EACL;EACA;EACF;EACM;EACP;EACP,QAAQ;EACC;EACT,GAAI;YAEH;GACY;AAGnB,QACE,qBAAC;EACC,WAAW,GAAG,SAAS;GAAE;GAAQ;GAAS,CAAC,EAAE,UAAU;EACvD,kBAAe;EACR;EACP,GAAI;;GAEJ,oBAACC;IAAQ,OAAO;IAAU,WAAW,OAAO;IAAS,MAAM;IAAQ,KAAK;IAAG;cACxE;KACO;GACT,gBAAgB,oBAACC;IAAI,WAAW,OAAO;cAAO,SAAS,aAAa;KAAO;GAC3E;;GACG;EAGX;AAED,QAAQ,cAAc;AAEtB,sBAAe"}
@@ -0,0 +1,82 @@
1
+ 'use client';
2
+
3
+ import Image_default from "../../Image/index.mjs";
4
+ import { mermaidThemes } from "../const.mjs";
5
+ import { useMermaid } from "../../hooks/useMermaid.mjs";
6
+ import { memo, useEffect, useId, useMemo, useState } from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { kebabCase } from "es-toolkit/compat";
9
+
10
+ //#region src/Mermaid/SyntaxMermaid/StaticMermaid.tsx
11
+ const StaticMermaid = memo(({ children, className, fallbackClassName, ref, style, theme: customTheme, variant }) => {
12
+ const safeChildren = children ?? "";
13
+ const isDefaultTheme = customTheme === "lobe-theme" || !customTheme;
14
+ const background = useMemo(() => {
15
+ if (isDefaultTheme) return;
16
+ return mermaidThemes.find((item) => item.id === customTheme)?.background;
17
+ }, [isDefaultTheme, customTheme]);
18
+ const data = useMermaid(safeChildren, {
19
+ id: kebabCase(`mermaid-${useId()}`),
20
+ theme: isDefaultTheme ? void 0 : customTheme
21
+ });
22
+ const isLoading = !data;
23
+ const [blobUrl, setBlobUrl] = useState();
24
+ useEffect(() => {
25
+ return () => {
26
+ if (blobUrl) URL.revokeObjectURL(blobUrl);
27
+ };
28
+ }, [blobUrl]);
29
+ useEffect(() => {
30
+ if (isLoading || !data) return;
31
+ let finalSvgString = data;
32
+ if (typeof window !== "undefined" && typeof navigator !== "undefined" && navigator.userAgent.includes("Firefox")) {
33
+ const svgDoc = new DOMParser().parseFromString(data, "image/svg+xml");
34
+ const svgElement = svgDoc.documentElement;
35
+ if (svgElement && svgElement.hasAttribute("viewBox")) {
36
+ const viewBoxParts = svgElement.getAttribute("viewBox").split(" ");
37
+ if (Array.isArray(viewBoxParts) && viewBoxParts.length === 4) {
38
+ svgElement.setAttribute("width", viewBoxParts[2]);
39
+ svgElement.setAttribute("height", viewBoxParts[3]);
40
+ }
41
+ finalSvgString = new XMLSerializer().serializeToString(svgDoc);
42
+ }
43
+ }
44
+ const svgBlob = new Blob([finalSvgString], { type: "image/svg+xml" });
45
+ setBlobUrl(URL.createObjectURL(svgBlob));
46
+ }, [isLoading, data]);
47
+ if (!blobUrl) return /* @__PURE__ */ jsx("div", {
48
+ className: fallbackClassName,
49
+ style,
50
+ children: /* @__PURE__ */ jsx("div", {
51
+ style: { padding: 16 },
52
+ children: "Loading..."
53
+ })
54
+ });
55
+ return /* @__PURE__ */ jsx(Image_default, {
56
+ alt: "mermaid",
57
+ className,
58
+ maxHeight: 480,
59
+ minWidth: 300,
60
+ objectFit: "contain",
61
+ ref,
62
+ src: blobUrl,
63
+ style: {
64
+ background: variant === "filled" ? background : void 0,
65
+ borderRadius: 0,
66
+ margin: 0,
67
+ minWidth: 300,
68
+ padding: variant === "borderless" ? 0 : 16,
69
+ position: "relative",
70
+ width: "100%",
71
+ ...style
72
+ },
73
+ variant: "borderless",
74
+ width: "100%"
75
+ });
76
+ });
77
+ StaticMermaid.displayName = "StaticMermaid";
78
+ var StaticMermaid_default = StaticMermaid;
79
+
80
+ //#endregion
81
+ export { StaticMermaid_default as default };
82
+ //# sourceMappingURL=StaticMermaid.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticMermaid.mjs","names":["Image"],"sources":["../../../src/Mermaid/SyntaxMermaid/StaticMermaid.tsx"],"sourcesContent":["'use client';\n\nimport { kebabCase } from 'es-toolkit/compat';\nimport { memo, useEffect, useId, useMemo, useState } from 'react';\nimport type { Ref } from 'react';\n\nimport Image from '@/Image';\nimport { useMermaid } from '@/hooks/useMermaid';\n\nimport { mermaidThemes } from '../const';\nimport type { SyntaxMermaidProps } from '../type';\n\ninterface StaticMermaidProps {\n children: string;\n className?: string;\n fallbackClassName?: string;\n ref?: Ref<HTMLDivElement>;\n style?: SyntaxMermaidProps['style'];\n theme?: SyntaxMermaidProps['theme'];\n variant?: SyntaxMermaidProps['variant'];\n}\n\nconst StaticMermaid = memo<StaticMermaidProps>(\n ({ children, className, fallbackClassName, ref, style, theme: customTheme, variant }) => {\n const safeChildren = children ?? '';\n const isDefaultTheme = customTheme === 'lobe-theme' || !customTheme;\n\n const background = useMemo(() => {\n if (isDefaultTheme) return;\n return mermaidThemes.find((item) => item.id === customTheme)?.background;\n }, [isDefaultTheme, customTheme]);\n\n const id = useId();\n const mermaidId = kebabCase(`mermaid-${id}`);\n const data = useMermaid(safeChildren, {\n id: mermaidId,\n theme: isDefaultTheme ? undefined : customTheme,\n });\n const isLoading = !data;\n const [blobUrl, setBlobUrl] = useState<string>();\n\n // 组件卸载时清理 Blob URL,避免内存泄漏\n useEffect(() => {\n return () => {\n if (blobUrl) URL.revokeObjectURL(blobUrl);\n };\n }, [blobUrl]);\n\n useEffect(() => {\n if (isLoading || !data) return;\n let finalSvgString = data;\n\n // 修复Firefox点击预览mermaid图时宽高为0导致不显示的异常\n if (\n typeof window !== 'undefined' &&\n typeof navigator !== 'undefined' &&\n navigator.userAgent.includes('Firefox')\n ) {\n const parser = new DOMParser();\n const svgDoc = parser.parseFromString(data, 'image/svg+xml');\n const svgElement = svgDoc.documentElement;\n if (svgElement && svgElement.hasAttribute('viewBox')) {\n const viewBox = svgElement.getAttribute('viewBox')!;\n const viewBoxParts = viewBox.split(' ');\n if (Array.isArray(viewBoxParts) && viewBoxParts.length === 4) {\n svgElement.setAttribute('width', viewBoxParts[2]);\n svgElement.setAttribute('height', viewBoxParts[3]);\n }\n finalSvgString = new XMLSerializer().serializeToString(svgDoc);\n }\n }\n\n // 创建Blob对象\n const svgBlob = new Blob([finalSvgString], { type: 'image/svg+xml' });\n // 创建并保存Blob URL\n const url = URL.createObjectURL(svgBlob);\n setBlobUrl(url);\n }, [isLoading, data]);\n\n if (!blobUrl) {\n return (\n <div className={fallbackClassName} style={style}>\n <div style={{ padding: 16 }}>Loading...</div>\n </div>\n );\n }\n\n return (\n <Image\n alt={'mermaid'}\n className={className}\n maxHeight={480}\n minWidth={300}\n objectFit={'contain'}\n ref={ref}\n src={blobUrl}\n style={{\n background: variant === 'filled' ? background : undefined,\n borderRadius: 0,\n margin: 0,\n minWidth: 300,\n padding: variant === 'borderless' ? 0 : 16,\n position: 'relative',\n width: '100%',\n ...style,\n }}\n variant={'borderless'}\n width={'100%'}\n />\n );\n },\n);\n\nStaticMermaid.displayName = 'StaticMermaid';\n\nexport default StaticMermaid;\n"],"mappings":";;;;;;;;;;AAsBA,MAAM,gBAAgB,MACnB,EAAE,UAAU,WAAW,mBAAmB,KAAK,OAAO,OAAO,aAAa,cAAc;CACvF,MAAM,eAAe,YAAY;CACjC,MAAM,iBAAiB,gBAAgB,gBAAgB,CAAC;CAExD,MAAM,aAAa,cAAc;AAC/B,MAAI,eAAgB;AACpB,SAAO,cAAc,MAAM,SAAS,KAAK,OAAO,YAAY,EAAE;IAC7D,CAAC,gBAAgB,YAAY,CAAC;CAIjC,MAAM,OAAO,WAAW,cAAc;EACpC,IAFgB,UAAU,WADjB,OAAO,GAC0B;EAG1C,OAAO,iBAAiB,SAAY;EACrC,CAAC;CACF,MAAM,YAAY,CAAC;CACnB,MAAM,CAAC,SAAS,cAAc,UAAkB;AAGhD,iBAAgB;AACd,eAAa;AACX,OAAI,QAAS,KAAI,gBAAgB,QAAQ;;IAE1C,CAAC,QAAQ,CAAC;AAEb,iBAAgB;AACd,MAAI,aAAa,CAAC,KAAM;EACxB,IAAI,iBAAiB;AAGrB,MACE,OAAO,WAAW,eAClB,OAAO,cAAc,eACrB,UAAU,UAAU,SAAS,UAAU,EACvC;GAEA,MAAM,SADS,IAAI,WAAW,CACR,gBAAgB,MAAM,gBAAgB;GAC5D,MAAM,aAAa,OAAO;AAC1B,OAAI,cAAc,WAAW,aAAa,UAAU,EAAE;IAEpD,MAAM,eADU,WAAW,aAAa,UAAU,CACrB,MAAM,IAAI;AACvC,QAAI,MAAM,QAAQ,aAAa,IAAI,aAAa,WAAW,GAAG;AAC5D,gBAAW,aAAa,SAAS,aAAa,GAAG;AACjD,gBAAW,aAAa,UAAU,aAAa,GAAG;;AAEpD,qBAAiB,IAAI,eAAe,CAAC,kBAAkB,OAAO;;;EAKlE,MAAM,UAAU,IAAI,KAAK,CAAC,eAAe,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAGrE,aADY,IAAI,gBAAgB,QAAQ,CACzB;IACd,CAAC,WAAW,KAAK,CAAC;AAErB,KAAI,CAAC,QACH,QACE,oBAAC;EAAI,WAAW;EAA0B;YACxC,oBAAC;GAAI,OAAO,EAAE,SAAS,IAAI;aAAE;IAAgB;GACzC;AAIV,QACE,oBAACA;EACC,KAAK;EACM;EACX,WAAW;EACX,UAAU;EACV,WAAW;EACN;EACL,KAAK;EACL,OAAO;GACL,YAAY,YAAY,WAAW,aAAa;GAChD,cAAc;GACd,QAAQ;GACR,UAAU;GACV,SAAS,YAAY,eAAe,IAAI;GACxC,UAAU;GACV,OAAO;GACP,GAAG;GACJ;EACD,SAAS;EACT,OAAO;GACP;EAGP;AAED,cAAc,cAAc;AAE5B,4BAAe"}
@@ -0,0 +1,94 @@
1
+ 'use client';
2
+
3
+ import Image_default from "../../Image/index.mjs";
4
+ import { mermaidThemes } from "../const.mjs";
5
+ import { useStreamMermaid } from "../../hooks/useStreamMermaid.mjs";
6
+ import { memo, useEffect, useId, useMemo, useState } from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { kebabCase } from "es-toolkit/compat";
9
+
10
+ //#region src/Mermaid/SyntaxMermaid/StreamMermaid.tsx
11
+ const StreamMermaid = memo(({ children, className, fallbackClassName, ref, style, theme: customTheme, variant }) => {
12
+ const safeChildren = children ?? "";
13
+ const isDefaultTheme = customTheme === "lobe-theme" || !customTheme;
14
+ const background = useMemo(() => {
15
+ if (isDefaultTheme) return;
16
+ return mermaidThemes.find((item) => item.id === customTheme)?.background;
17
+ }, [isDefaultTheme, customTheme]);
18
+ const data = useStreamMermaid(safeChildren, {
19
+ enabled: true,
20
+ id: kebabCase(`mermaid-${useId()}`),
21
+ theme: isDefaultTheme ? void 0 : customTheme
22
+ });
23
+ const isLoading = !data;
24
+ const [blobUrl, setBlobUrl] = useState();
25
+ useEffect(() => {
26
+ return () => {
27
+ if (blobUrl) URL.revokeObjectURL(blobUrl);
28
+ };
29
+ }, [blobUrl]);
30
+ useEffect(() => {
31
+ if (isLoading || !data) {
32
+ if (blobUrl) {
33
+ URL.revokeObjectURL(blobUrl);
34
+ setBlobUrl(void 0);
35
+ }
36
+ return;
37
+ }
38
+ let finalSvgString = data;
39
+ if (typeof window !== "undefined" && typeof navigator !== "undefined" && navigator.userAgent.includes("Firefox")) {
40
+ const svgDoc = new DOMParser().parseFromString(data, "image/svg+xml");
41
+ const svgElement = svgDoc.documentElement;
42
+ if (svgElement && svgElement.hasAttribute("viewBox")) {
43
+ const viewBoxParts = svgElement.getAttribute("viewBox").split(" ");
44
+ if (Array.isArray(viewBoxParts) && viewBoxParts.length === 4) {
45
+ svgElement.setAttribute("width", viewBoxParts[2]);
46
+ svgElement.setAttribute("height", viewBoxParts[3]);
47
+ }
48
+ finalSvgString = new XMLSerializer().serializeToString(svgDoc);
49
+ }
50
+ }
51
+ if (blobUrl) URL.revokeObjectURL(blobUrl);
52
+ const svgBlob = new Blob([finalSvgString], { type: "image/svg+xml" });
53
+ setBlobUrl(URL.createObjectURL(svgBlob));
54
+ }, [
55
+ isLoading,
56
+ data,
57
+ blobUrl
58
+ ]);
59
+ if (!blobUrl) return /* @__PURE__ */ jsx("div", {
60
+ className: fallbackClassName,
61
+ style,
62
+ children: /* @__PURE__ */ jsx("div", {
63
+ style: { padding: 16 },
64
+ children: "Rendering..."
65
+ })
66
+ });
67
+ return /* @__PURE__ */ jsx(Image_default, {
68
+ alt: "mermaid",
69
+ className,
70
+ maxHeight: 480,
71
+ minWidth: 300,
72
+ objectFit: "contain",
73
+ ref,
74
+ src: blobUrl,
75
+ style: {
76
+ background: variant === "filled" ? background : void 0,
77
+ borderRadius: 0,
78
+ margin: 0,
79
+ minWidth: 300,
80
+ padding: variant === "borderless" ? 0 : 16,
81
+ position: "relative",
82
+ width: "100%",
83
+ ...style
84
+ },
85
+ variant: "borderless",
86
+ width: "100%"
87
+ });
88
+ });
89
+ StreamMermaid.displayName = "StreamMermaid";
90
+ var StreamMermaid_default = StreamMermaid;
91
+
92
+ //#endregion
93
+ export { StreamMermaid_default as default };
94
+ //# sourceMappingURL=StreamMermaid.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamMermaid.mjs","names":["Image"],"sources":["../../../src/Mermaid/SyntaxMermaid/StreamMermaid.tsx"],"sourcesContent":["'use client';\n\nimport { kebabCase } from 'es-toolkit/compat';\nimport { memo, useEffect, useId, useMemo, useState } from 'react';\nimport type { Ref } from 'react';\n\nimport Image from '@/Image';\nimport { useStreamMermaid } from '@/hooks/useStreamMermaid';\n\nimport { mermaidThemes } from '../const';\nimport type { SyntaxMermaidProps } from '../type';\n\ninterface StreamMermaidProps {\n children: string;\n className?: string;\n fallbackClassName?: string;\n ref?: Ref<HTMLDivElement>;\n style?: SyntaxMermaidProps['style'];\n theme?: SyntaxMermaidProps['theme'];\n variant?: SyntaxMermaidProps['variant'];\n}\n\nconst StreamMermaid = memo<StreamMermaidProps>(\n ({ children, className, fallbackClassName, ref, style, theme: customTheme, variant }) => {\n const safeChildren = children ?? '';\n const isDefaultTheme = customTheme === 'lobe-theme' || !customTheme;\n\n const background = useMemo(() => {\n if (isDefaultTheme) return;\n return mermaidThemes.find((item) => item.id === customTheme)?.background;\n }, [isDefaultTheme, customTheme]);\n\n const id = useId();\n const mermaidId = kebabCase(`mermaid-${id}`);\n const data = useStreamMermaid(safeChildren, {\n enabled: true,\n id: mermaidId,\n theme: isDefaultTheme ? undefined : customTheme,\n });\n const isLoading = !data;\n const [blobUrl, setBlobUrl] = useState<string>();\n\n // 组件卸载时清理 Blob URL,避免内存泄漏\n useEffect(() => {\n return () => {\n if (blobUrl) URL.revokeObjectURL(blobUrl);\n };\n }, [blobUrl]);\n\n useEffect(() => {\n if (isLoading || !data) {\n // Clear blob URL when loading or no data\n if (blobUrl) {\n URL.revokeObjectURL(blobUrl);\n setBlobUrl(undefined);\n }\n return;\n }\n\n let finalSvgString = data;\n\n // 修复Firefox点击预览mermaid图时宽高为0导致不显示的异常\n if (\n typeof window !== 'undefined' &&\n typeof navigator !== 'undefined' &&\n navigator.userAgent.includes('Firefox')\n ) {\n const parser = new DOMParser();\n const svgDoc = parser.parseFromString(data, 'image/svg+xml');\n const svgElement = svgDoc.documentElement;\n if (svgElement && svgElement.hasAttribute('viewBox')) {\n const viewBox = svgElement.getAttribute('viewBox')!;\n const viewBoxParts = viewBox.split(' ');\n if (Array.isArray(viewBoxParts) && viewBoxParts.length === 4) {\n svgElement.setAttribute('width', viewBoxParts[2]);\n svgElement.setAttribute('height', viewBoxParts[3]);\n }\n finalSvgString = new XMLSerializer().serializeToString(svgDoc);\n }\n }\n\n // Revoke old blob URL before creating new one\n if (blobUrl) {\n URL.revokeObjectURL(blobUrl);\n }\n\n // 创建Blob对象\n const svgBlob = new Blob([finalSvgString], { type: 'image/svg+xml' });\n // 创建并保存Blob URL\n const url = URL.createObjectURL(svgBlob);\n setBlobUrl(url);\n }, [isLoading, data, blobUrl]);\n\n if (!blobUrl) {\n return (\n <div className={fallbackClassName} style={style}>\n <div style={{ padding: 16 }}>Rendering...</div>\n </div>\n );\n }\n\n return (\n <Image\n alt={'mermaid'}\n className={className}\n maxHeight={480}\n minWidth={300}\n objectFit={'contain'}\n ref={ref}\n src={blobUrl}\n style={{\n background: variant === 'filled' ? background : undefined,\n borderRadius: 0,\n margin: 0,\n minWidth: 300,\n padding: variant === 'borderless' ? 0 : 16,\n position: 'relative',\n width: '100%',\n ...style,\n }}\n variant={'borderless'}\n width={'100%'}\n />\n );\n },\n);\n\nStreamMermaid.displayName = 'StreamMermaid';\n\nexport default StreamMermaid;\n"],"mappings":";;;;;;;;;;AAsBA,MAAM,gBAAgB,MACnB,EAAE,UAAU,WAAW,mBAAmB,KAAK,OAAO,OAAO,aAAa,cAAc;CACvF,MAAM,eAAe,YAAY;CACjC,MAAM,iBAAiB,gBAAgB,gBAAgB,CAAC;CAExD,MAAM,aAAa,cAAc;AAC/B,MAAI,eAAgB;AACpB,SAAO,cAAc,MAAM,SAAS,KAAK,OAAO,YAAY,EAAE;IAC7D,CAAC,gBAAgB,YAAY,CAAC;CAIjC,MAAM,OAAO,iBAAiB,cAAc;EAC1C,SAAS;EACT,IAHgB,UAAU,WADjB,OAAO,GAC0B;EAI1C,OAAO,iBAAiB,SAAY;EACrC,CAAC;CACF,MAAM,YAAY,CAAC;CACnB,MAAM,CAAC,SAAS,cAAc,UAAkB;AAGhD,iBAAgB;AACd,eAAa;AACX,OAAI,QAAS,KAAI,gBAAgB,QAAQ;;IAE1C,CAAC,QAAQ,CAAC;AAEb,iBAAgB;AACd,MAAI,aAAa,CAAC,MAAM;AAEtB,OAAI,SAAS;AACX,QAAI,gBAAgB,QAAQ;AAC5B,eAAW,OAAU;;AAEvB;;EAGF,IAAI,iBAAiB;AAGrB,MACE,OAAO,WAAW,eAClB,OAAO,cAAc,eACrB,UAAU,UAAU,SAAS,UAAU,EACvC;GAEA,MAAM,SADS,IAAI,WAAW,CACR,gBAAgB,MAAM,gBAAgB;GAC5D,MAAM,aAAa,OAAO;AAC1B,OAAI,cAAc,WAAW,aAAa,UAAU,EAAE;IAEpD,MAAM,eADU,WAAW,aAAa,UAAU,CACrB,MAAM,IAAI;AACvC,QAAI,MAAM,QAAQ,aAAa,IAAI,aAAa,WAAW,GAAG;AAC5D,gBAAW,aAAa,SAAS,aAAa,GAAG;AACjD,gBAAW,aAAa,UAAU,aAAa,GAAG;;AAEpD,qBAAiB,IAAI,eAAe,CAAC,kBAAkB,OAAO;;;AAKlE,MAAI,QACF,KAAI,gBAAgB,QAAQ;EAI9B,MAAM,UAAU,IAAI,KAAK,CAAC,eAAe,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAGrE,aADY,IAAI,gBAAgB,QAAQ,CACzB;IACd;EAAC;EAAW;EAAM;EAAQ,CAAC;AAE9B,KAAI,CAAC,QACH,QACE,oBAAC;EAAI,WAAW;EAA0B;YACxC,oBAAC;GAAI,OAAO,EAAE,SAAS,IAAI;aAAE;IAAkB;GAC3C;AAIV,QACE,oBAACA;EACC,KAAK;EACM;EACX,WAAW;EACX,UAAU;EACV,WAAW;EACN;EACL,KAAK;EACL,OAAO;GACL,YAAY,YAAY,WAAW,aAAa;GAChD,cAAc;GACd,QAAQ;GACR,UAAU;GACV,SAAS,YAAY,eAAe,IAAI;GACxC,UAAU;GACV,OAAO;GACP,GAAG;GACJ;EACD,SAAS;EACT,OAAO;GACP;EAGP;AAED,cAAc,cAAc;AAE5B,4BAAe"}
@@ -1,8 +1,8 @@
1
1
  import { SyntaxMermaidProps } from "../type.mjs";
2
- import * as react30 from "react";
2
+ import * as react48 from "react";
3
3
 
4
4
  //#region src/Mermaid/SyntaxMermaid/index.d.ts
5
- declare const SyntaxMermaid: react30.NamedExoticComponent<SyntaxMermaidProps>;
5
+ declare const SyntaxMermaid: react48.NamedExoticComponent<SyntaxMermaidProps>;
6
6
  //#endregion
7
7
  export { SyntaxMermaid };
8
8
  //# sourceMappingURL=index.d.mts.map
@@ -1,70 +1,48 @@
1
1
  'use client';
2
2
 
3
- import Image_default from "../../Image/index.mjs";
4
- import { mermaidThemes } from "../const.mjs";
5
- import { useMermaid } from "../../hooks/useMermaid.mjs";
6
- import { memo, useEffect, useId, useMemo, useState } from "react";
3
+ import StaticMermaid_default from "./StaticMermaid.mjs";
4
+ import StreamMermaid_default from "./StreamMermaid.mjs";
5
+ import { variants } from "./style.mjs";
6
+ import { memo } from "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
- import { kebabCase } from "es-toolkit/compat";
8
+ import { cx } from "antd-style";
9
9
 
10
10
  //#region src/Mermaid/SyntaxMermaid/index.tsx
11
- const SyntaxMermaid = memo(({ ref, children, theme: customTheme, variant, className, style }) => {
11
+ const SyntaxMermaid = memo(({ animated, children, className, fallbackClassName, ref, style, theme: customTheme, variant = "borderless" }) => {
12
12
  const isDefaultTheme = customTheme === "lobe-theme" || !customTheme;
13
- const background = useMemo(() => {
14
- if (isDefaultTheme) return;
15
- return mermaidThemes.find((item) => item.id === customTheme)?.background;
16
- }, [isDefaultTheme, customTheme]);
17
- const { data, isLoading } = useMermaid(children, {
18
- id: kebabCase(`mermaid-${useId()}`),
19
- theme: isDefaultTheme ? void 0 : customTheme
13
+ const showBackground = !isDefaultTheme && variant === "filled";
14
+ const resolvedTheme = isDefaultTheme ? void 0 : customTheme;
15
+ const mermaidClassName = cx(variants({
16
+ animated,
17
+ mermaid: true,
18
+ showBackground,
19
+ variant
20
+ }), className);
21
+ const fallback = cx(variants({
22
+ animated,
23
+ mermaid: false,
24
+ showBackground,
25
+ variant
26
+ }), fallbackClassName);
27
+ if (animated) return /* @__PURE__ */ jsx(StreamMermaid_default, {
28
+ className: mermaidClassName,
29
+ fallbackClassName: fallback,
30
+ ref,
31
+ style,
32
+ theme: resolvedTheme,
33
+ variant,
34
+ children
20
35
  });
21
- const [blobUrl, setBlobUrl] = useState();
22
- useEffect(() => {
23
- return () => {
24
- if (blobUrl) URL.revokeObjectURL(blobUrl);
25
- };
26
- }, [blobUrl]);
27
- useEffect(() => {
28
- if (isLoading || !data) return;
29
- let finalSvgString = data;
30
- if (typeof window !== "undefined" && typeof navigator !== "undefined" && navigator.userAgent.includes("Firefox")) {
31
- const svgDoc = new DOMParser().parseFromString(data, "image/svg+xml");
32
- const svgElement = svgDoc.documentElement;
33
- if (svgElement && svgElement.hasAttribute("viewBox")) {
34
- const viewBoxParts = svgElement.getAttribute("viewBox").split(" ");
35
- if (Array.isArray(viewBoxParts) && viewBoxParts.length === 4) {
36
- svgElement.setAttribute("width", viewBoxParts[2]);
37
- svgElement.setAttribute("height", viewBoxParts[3]);
38
- }
39
- finalSvgString = new XMLSerializer().serializeToString(svgDoc);
40
- }
41
- }
42
- const svgBlob = new Blob([finalSvgString], { type: "image/svg+xml" });
43
- setBlobUrl(URL.createObjectURL(svgBlob));
44
- }, [isLoading, data]);
45
- if (!blobUrl) return null;
46
- return /* @__PURE__ */ jsx(Image_default, {
47
- alt: "mermaid",
48
- className,
49
- maxHeight: 480,
50
- minWidth: 300,
51
- objectFit: "contain",
36
+ return /* @__PURE__ */ jsx(StaticMermaid_default, {
37
+ className: mermaidClassName,
38
+ fallbackClassName: fallback,
52
39
  ref,
53
- src: blobUrl,
54
- style: {
55
- background: variant === "filled" ? background : void 0,
56
- borderRadius: 0,
57
- margin: 0,
58
- minWidth: 300,
59
- padding: variant === "borderless" ? 0 : 16,
60
- position: "relative",
61
- width: "100%",
62
- ...style
63
- },
64
- variant: "borderless",
65
- width: "100%"
40
+ style,
41
+ theme: resolvedTheme,
42
+ variant,
43
+ children
66
44
  });
67
- }, (prevProps, nextProps) => prevProps.children === nextProps.children);
45
+ }, (prevProps, nextProps) => prevProps.children === nextProps.children && prevProps.animated === nextProps.animated);
68
46
  SyntaxMermaid.displayName = "SyntaxMermaid";
69
47
  var SyntaxMermaid_default = SyntaxMermaid;
70
48
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["Image"],"sources":["../../../src/Mermaid/SyntaxMermaid/index.tsx"],"sourcesContent":["'use client';\n\nimport { kebabCase } from 'es-toolkit/compat';\nimport { memo, useEffect, useId, useMemo, useState } from 'react';\n\nimport Image from '@/Image';\nimport { useMermaid } from '@/hooks/useMermaid';\n\nimport { mermaidThemes } from '../const';\nimport type { SyntaxMermaidProps } from '../type';\n\nconst SyntaxMermaid = memo<SyntaxMermaidProps>(\n ({ ref, children, theme: customTheme, variant, className, style }) => {\n const isDefaultTheme = customTheme === 'lobe-theme' || !customTheme;\n\n const background = useMemo(() => {\n if (isDefaultTheme) return;\n return mermaidThemes.find((item) => item.id === customTheme)?.background;\n }, [isDefaultTheme, customTheme]);\n\n const id = useId();\n const mermaidId = kebabCase(`mermaid-${id}`);\n const { data, isLoading } = useMermaid(children, {\n id: mermaidId,\n theme: isDefaultTheme ? undefined : customTheme,\n });\n const [blobUrl, setBlobUrl] = useState<string>();\n\n // 组件卸载时清理 Blob URL,避免内存泄漏\n useEffect(() => {\n return () => {\n if (blobUrl) URL.revokeObjectURL(blobUrl);\n };\n }, [blobUrl]);\n\n useEffect(() => {\n if (isLoading || !data) return;\n let finalSvgString = data;\n\n // 修复Firefox点击预览mermaid图时宽高为0导致不显示的异常\n if (\n typeof window !== 'undefined' &&\n typeof navigator !== 'undefined' &&\n navigator.userAgent.includes('Firefox')\n ) {\n const parser = new DOMParser();\n const svgDoc = parser.parseFromString(data, 'image/svg+xml');\n const svgElement = svgDoc.documentElement;\n if (svgElement && svgElement.hasAttribute('viewBox')) {\n const viewBox = svgElement.getAttribute('viewBox')!;\n const viewBoxParts = viewBox.split(' ');\n if (Array.isArray(viewBoxParts) && viewBoxParts.length === 4) {\n svgElement.setAttribute('width', viewBoxParts[2]);\n svgElement.setAttribute('height', viewBoxParts[3]);\n }\n finalSvgString = new XMLSerializer().serializeToString(svgDoc);\n }\n }\n\n // // 创建Blob对象\n const svgBlob = new Blob([finalSvgString], { type: 'image/svg+xml' });\n // // 创建并保存Blob URL\n const url = URL.createObjectURL(svgBlob);\n setBlobUrl(url);\n }, [isLoading, data]);\n\n if (!blobUrl) return null;\n\n return (\n <Image\n alt={'mermaid'}\n className={className}\n maxHeight={480}\n minWidth={300}\n objectFit={'contain'}\n ref={ref}\n src={blobUrl}\n style={{\n background: variant === 'filled' ? background : undefined,\n borderRadius: 0,\n margin: 0,\n minWidth: 300,\n padding: variant === 'borderless' ? 0 : 16,\n position: 'relative',\n width: '100%',\n ...style,\n }}\n variant={'borderless'}\n width={'100%'}\n />\n );\n },\n (prevProps, nextProps) => prevProps.children === nextProps.children,\n);\n\nSyntaxMermaid.displayName = 'SyntaxMermaid';\n\nexport default SyntaxMermaid;\n"],"mappings":";;;;;;;;;;AAWA,MAAM,gBAAgB,MACnB,EAAE,KAAK,UAAU,OAAO,aAAa,SAAS,WAAW,YAAY;CACpE,MAAM,iBAAiB,gBAAgB,gBAAgB,CAAC;CAExD,MAAM,aAAa,cAAc;AAC/B,MAAI,eAAgB;AACpB,SAAO,cAAc,MAAM,SAAS,KAAK,OAAO,YAAY,EAAE;IAC7D,CAAC,gBAAgB,YAAY,CAAC;CAIjC,MAAM,EAAE,MAAM,cAAc,WAAW,UAAU;EAC/C,IAFgB,UAAU,WADjB,OAAO,GAC0B;EAG1C,OAAO,iBAAiB,SAAY;EACrC,CAAC;CACF,MAAM,CAAC,SAAS,cAAc,UAAkB;AAGhD,iBAAgB;AACd,eAAa;AACX,OAAI,QAAS,KAAI,gBAAgB,QAAQ;;IAE1C,CAAC,QAAQ,CAAC;AAEb,iBAAgB;AACd,MAAI,aAAa,CAAC,KAAM;EACxB,IAAI,iBAAiB;AAGrB,MACE,OAAO,WAAW,eAClB,OAAO,cAAc,eACrB,UAAU,UAAU,SAAS,UAAU,EACvC;GAEA,MAAM,SADS,IAAI,WAAW,CACR,gBAAgB,MAAM,gBAAgB;GAC5D,MAAM,aAAa,OAAO;AAC1B,OAAI,cAAc,WAAW,aAAa,UAAU,EAAE;IAEpD,MAAM,eADU,WAAW,aAAa,UAAU,CACrB,MAAM,IAAI;AACvC,QAAI,MAAM,QAAQ,aAAa,IAAI,aAAa,WAAW,GAAG;AAC5D,gBAAW,aAAa,SAAS,aAAa,GAAG;AACjD,gBAAW,aAAa,UAAU,aAAa,GAAG;;AAEpD,qBAAiB,IAAI,eAAe,CAAC,kBAAkB,OAAO;;;EAKlE,MAAM,UAAU,IAAI,KAAK,CAAC,eAAe,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAGrE,aADY,IAAI,gBAAgB,QAAQ,CACzB;IACd,CAAC,WAAW,KAAK,CAAC;AAErB,KAAI,CAAC,QAAS,QAAO;AAErB,QACE,oBAACA;EACC,KAAK;EACM;EACX,WAAW;EACX,UAAU;EACV,WAAW;EACN;EACL,KAAK;EACL,OAAO;GACL,YAAY,YAAY,WAAW,aAAa;GAChD,cAAc;GACd,QAAQ;GACR,UAAU;GACV,SAAS,YAAY,eAAe,IAAI;GACxC,UAAU;GACV,OAAO;GACP,GAAG;GACJ;EACD,SAAS;EACT,OAAO;GACP;IAGL,WAAW,cAAc,UAAU,aAAa,UAAU,SAC5D;AAED,cAAc,cAAc;AAE5B,4BAAe"}
1
+ {"version":3,"file":"index.mjs","names":["StreamMermaid","StaticMermaid"],"sources":["../../../src/Mermaid/SyntaxMermaid/index.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { memo } from 'react';\n\nimport type { SyntaxMermaidProps } from '../type';\nimport StaticMermaid from './StaticMermaid';\nimport StreamMermaid from './StreamMermaid';\nimport { variants } from './style';\n\nconst SyntaxMermaid = memo<SyntaxMermaidProps>(\n ({\n animated,\n children,\n className,\n fallbackClassName,\n ref,\n style,\n theme: customTheme,\n variant = 'borderless',\n }) => {\n const isDefaultTheme = customTheme === 'lobe-theme' || !customTheme;\n const showBackground = !isDefaultTheme && variant === 'filled';\n const resolvedTheme = isDefaultTheme ? undefined : customTheme;\n\n const mermaidClassName = cx(\n variants({ animated, mermaid: true, showBackground, variant }),\n className,\n );\n const fallback = cx(\n variants({ animated, mermaid: false, showBackground, variant }),\n fallbackClassName,\n );\n\n if (animated) {\n return (\n <StreamMermaid\n className={mermaidClassName}\n fallbackClassName={fallback}\n ref={ref}\n style={style}\n theme={resolvedTheme}\n variant={variant}\n >\n {children}\n </StreamMermaid>\n );\n }\n\n return (\n <StaticMermaid\n className={mermaidClassName}\n fallbackClassName={fallback}\n ref={ref}\n style={style}\n theme={resolvedTheme}\n variant={variant}\n >\n {children}\n </StaticMermaid>\n );\n },\n (prevProps, nextProps) =>\n prevProps.children === nextProps.children && prevProps.animated === nextProps.animated,\n);\n\nSyntaxMermaid.displayName = 'SyntaxMermaid';\n\nexport default SyntaxMermaid;\n"],"mappings":";;;;;;;;;;AAUA,MAAM,gBAAgB,MACnB,EACC,UACA,UACA,WACA,mBACA,KACA,OACA,OAAO,aACP,UAAU,mBACN;CACJ,MAAM,iBAAiB,gBAAgB,gBAAgB,CAAC;CACxD,MAAM,iBAAiB,CAAC,kBAAkB,YAAY;CACtD,MAAM,gBAAgB,iBAAiB,SAAY;CAEnD,MAAM,mBAAmB,GACvB,SAAS;EAAE;EAAU,SAAS;EAAM;EAAgB;EAAS,CAAC,EAC9D,UACD;CACD,MAAM,WAAW,GACf,SAAS;EAAE;EAAU,SAAS;EAAO;EAAgB;EAAS,CAAC,EAC/D,kBACD;AAED,KAAI,SACF,QACE,oBAACA;EACC,WAAW;EACX,mBAAmB;EACd;EACE;EACP,OAAO;EACE;EAER;GACa;AAIpB,QACE,oBAACC;EACC,WAAW;EACX,mBAAmB;EACd;EACE;EACP,OAAO;EACE;EAER;GACa;IAGnB,WAAW,cACV,UAAU,aAAa,UAAU,YAAY,UAAU,aAAa,UAAU,SACjF;AAED,cAAc,cAAc;AAE5B,4BAAe"}
@@ -0,0 +1,80 @@
1
+ import { createStaticStyles, cx, keyframes } from "antd-style";
2
+ import { cva } from "class-variance-authority";
3
+
4
+ //#region src/Mermaid/SyntaxMermaid/style.ts
5
+ const fadeIn = keyframes`
6
+ 0% {
7
+ opacity: 0;
8
+ }
9
+ 100% {
10
+ opacity: 1;
11
+ }
12
+ `;
13
+ const styles = createStaticStyles(({ css: css$1, cssVar: cssVar$1 }) => {
14
+ return {
15
+ animated: css$1`
16
+ img {
17
+ opacity: 1;
18
+ animation: ${fadeIn} 0.5s ease-in-out;
19
+ }
20
+ `,
21
+ mermaid: cx("ant-mermaid-mermaid", css$1`
22
+ img {
23
+ display: block;
24
+ width: 100%;
25
+ height: auto;
26
+ }
27
+ `),
28
+ noBackground: css$1`
29
+ img {
30
+ background: transparent !important;
31
+ }
32
+ `,
33
+ noPadding: css$1`
34
+ padding: 0;
35
+ `,
36
+ padding: css$1`
37
+ padding: 16px;
38
+ `,
39
+ root: css$1`
40
+ direction: ltr;
41
+ margin: 0;
42
+ padding: 0;
43
+ text-align: start;
44
+ `,
45
+ unmermaid: css$1`
46
+ color: ${cssVar$1.colorTextDescription};
47
+ `
48
+ };
49
+ });
50
+ const variants = cva(styles.root, {
51
+ defaultVariants: {
52
+ animated: false,
53
+ mermaid: true,
54
+ showBackground: false,
55
+ variant: "borderless"
56
+ },
57
+ variants: {
58
+ mermaid: {
59
+ false: styles.unmermaid,
60
+ true: styles.mermaid
61
+ },
62
+ showBackground: {
63
+ false: styles.noBackground,
64
+ true: null
65
+ },
66
+ animated: {
67
+ true: styles.animated,
68
+ false: null
69
+ },
70
+ variant: {
71
+ filled: styles.padding,
72
+ outlined: styles.padding,
73
+ borderless: styles.noPadding
74
+ }
75
+ }
76
+ });
77
+
78
+ //#endregion
79
+ export { variants };
80
+ //# sourceMappingURL=style.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.mjs","names":["cssVar"],"sources":["../../../src/Mermaid/SyntaxMermaid/style.ts"],"sourcesContent":["import { createStaticStyles, cx, keyframes } from 'antd-style';\nimport { cva } from 'class-variance-authority';\n\nconst fadeIn = keyframes`\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n`;\n\nexport const styles = createStaticStyles(({ css, cssVar }) => {\n return {\n animated: css`\n img {\n opacity: 1;\n animation: ${fadeIn} 0.5s ease-in-out;\n }\n `,\n\n mermaid: cx(\n 'ant-mermaid-mermaid',\n css`\n img {\n display: block;\n width: 100%;\n height: auto;\n }\n `,\n ),\n\n noBackground: css`\n img {\n background: transparent !important;\n }\n `,\n\n noPadding: css`\n padding: 0;\n `,\n\n padding: css`\n padding: 16px;\n `,\n\n root: css`\n direction: ltr;\n margin: 0;\n padding: 0;\n text-align: start;\n `,\n\n unmermaid: css`\n color: ${cssVar.colorTextDescription};\n `,\n };\n});\n\nexport const variants = cva(styles.root, {\n defaultVariants: {\n animated: false,\n mermaid: true,\n showBackground: false,\n variant: 'borderless',\n },\n /* eslint-disable sort-keys-fix/sort-keys-fix */\n variants: {\n mermaid: {\n false: styles.unmermaid,\n true: styles.mermaid,\n },\n showBackground: {\n false: styles.noBackground,\n true: null,\n },\n animated: {\n true: styles.animated,\n false: null,\n },\n variant: {\n filled: styles.padding,\n outlined: styles.padding,\n borderless: styles.noPadding,\n },\n },\n /* eslint-enable sort-keys-fix/sort-keys-fix */\n});\n"],"mappings":";;;;AAGA,MAAM,SAAS,SAAS;;;;;;;;AASxB,MAAa,SAAS,oBAAoB,EAAE,YAAK,uBAAa;AAC5D,QAAO;EACL,UAAU,KAAG;;;qBAGI,OAAO;;;EAIxB,SAAS,GACP,uBACA,KAAG;;;;;;QAOJ;EAED,cAAc,KAAG;;;;;EAMjB,WAAW,KAAG;;;EAId,SAAS,KAAG;;;EAIZ,MAAM,KAAG;;;;;;EAOT,WAAW,KAAG;eACHA,SAAO,qBAAqB;;EAExC;EACD;AAEF,MAAa,WAAW,IAAI,OAAO,MAAM;CACvC,iBAAiB;EACf,UAAU;EACV,SAAS;EACT,gBAAgB;EAChB,SAAS;EACV;CAED,UAAU;EACR,SAAS;GACP,OAAO,OAAO;GACd,MAAM,OAAO;GACd;EACD,gBAAgB;GACd,OAAO,OAAO;GACd,MAAM;GACP;EACD,UAAU;GACR,MAAM,OAAO;GACb,OAAO;GACR;EACD,SAAS;GACP,QAAQ,OAAO;GACf,UAAU,OAAO;GACjB,YAAY,OAAO;GACpB;EACF;CAEF,CAAC"}
@@ -6,9 +6,10 @@ import { MermaidConfig } from "mermaid/dist/config.type";
6
6
 
7
7
  //#region src/Mermaid/type.d.ts
8
8
  interface SyntaxMermaidProps {
9
+ animated?: boolean;
9
10
  children: string;
10
11
  className?: string;
11
- enablePanZoom?: MermaidProps['enablePanZoom'];
12
+ fallbackClassName?: string;
12
13
  ref?: Ref<HTMLDivElement>;
13
14
  style?: CSSProperties;
14
15
  theme?: MermaidProps['theme'];
@@ -22,6 +23,7 @@ interface MermaidProps extends DivProps {
22
23
  getContent: () => string;
23
24
  originalNode: ReactNode;
24
25
  }) => ReactNode;
26
+ animated?: boolean;
25
27
  bodyRender?: (props: {
26
28
  content: string;
27
29
  originalNode: ReactNode;
@@ -34,7 +36,6 @@ interface MermaidProps extends DivProps {
34
36
  };
35
37
  copyable?: boolean;
36
38
  defaultExpand?: boolean;
37
- enablePanZoom?: boolean;
38
39
  fileName?: string;
39
40
  fullFeatured?: boolean;
40
41
  language?: string;
@@ -1,8 +1,8 @@
1
1
  import { ModalProps } from "./type.mjs";
2
- import * as react27 from "react";
2
+ import * as react46 from "react";
3
3
 
4
4
  //#region src/Modal/Modal.d.ts
5
- declare const Modal: react27.NamedExoticComponent<ModalProps>;
5
+ declare const Modal: react46.NamedExoticComponent<ModalProps>;
6
6
  //#endregion
7
7
  export { Modal };
8
8
  //# sourceMappingURL=Modal.d.mts.map
@@ -2,26 +2,25 @@
2
2
 
3
3
  import Icon_default from "../Icon/Icon.mjs";
4
4
  import ActionIcon_default from "../ActionIcon/ActionIcon.mjs";
5
- import { useStyles } from "./style.mjs";
5
+ import { styles } from "./style.mjs";
6
6
  import { memo, useState } from "react";
7
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
8
  import { Button, ConfigProvider, Drawer, Modal } from "antd";
9
- import { useResponsive } from "antd-style";
9
+ import { cssVar, cx, useResponsive } from "antd-style";
10
10
  import { Maximize2, Minimize2, X } from "lucide-react";
11
11
 
12
12
  //#region src/Modal/Modal.tsx
13
13
  const Modal$1 = memo(({ panelRef, allowFullscreen, children, title = " ", className, classNames, width = 700, onCancel, open, destroyOnHidden, paddings, height = "75dvh", enableResponsive = true, footer, styles: customStyles, okText, onOk, cancelText, okButtonProps, cancelButtonProps, confirmLoading, ...rest }) => {
14
14
  const [fullscreen, setFullscreen] = useState(false);
15
15
  const { mobile } = useResponsive();
16
- const { styles, cx: cx$1, theme } = useStyles();
17
16
  const hideFooter = footer === false || footer === null;
18
17
  if (enableResponsive && mobile) return /* @__PURE__ */ jsx(ConfigProvider, {
19
- theme: { token: { colorBgElevated: theme.colorBgContainer } },
18
+ theme: { token: { colorBgElevated: cssVar.colorBgContainer } },
20
19
  children: /* @__PURE__ */ jsx(Drawer, {
21
- className: cx$1(styles.drawerContent, className),
20
+ className: cx(styles.drawerContent, className),
22
21
  classNames: typeof classNames === "function" ? classNames : {
23
22
  ...classNames,
24
- wrapper: cx$1(styles.wrap, classNames?.wrapper)
23
+ wrapper: cx(styles.wrap, classNames?.wrapper)
25
24
  },
26
25
  closeIcon: /* @__PURE__ */ jsx(ActionIcon_default, { icon: X }),
27
26
  destroyOnHidden,
@@ -65,7 +64,7 @@ const Modal$1 = memo(({ panelRef, allowFullscreen, children, title = " ", classN
65
64
  })
66
65
  });
67
66
  return /* @__PURE__ */ jsx(ConfigProvider, {
68
- theme: { token: { colorBgElevated: theme.colorBgContainer } },
67
+ theme: { token: { colorBgElevated: cssVar.colorBgContainer } },
69
68
  children: /* @__PURE__ */ jsx(Modal, {
70
69
  cancelButtonProps: {
71
70
  color: "default",
@@ -73,10 +72,10 @@ const Modal$1 = memo(({ panelRef, allowFullscreen, children, title = " ", classN
73
72
  ...cancelButtonProps
74
73
  },
75
74
  cancelText,
76
- className: cx$1(styles.content, className),
75
+ className: cx(styles.content, className),
77
76
  classNames: typeof classNames === "function" ? classNames : {
78
77
  ...classNames,
79
- wrapper: cx$1(styles.wrap, classNames?.wrapper)
78
+ wrapper: cx(styles.wrap, classNames?.wrapper)
80
79
  },
81
80
  closable: true,
82
81
  closeIcon: /* @__PURE__ */ jsx(Icon_default, {