@lobehub/ui 5.6.3 → 5.6.5

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 (1626) hide show
  1. package/es/A/index.mjs +3 -6
  2. package/es/A/index.mjs.map +1 -1
  3. package/es/Accordion/Accordion.d.mts +2 -2
  4. package/es/Accordion/Accordion.mjs +3 -6
  5. package/es/Accordion/Accordion.mjs.map +1 -1
  6. package/es/Accordion/AccordionItem.d.mts +2 -2
  7. package/es/Accordion/AccordionItem.mjs +9 -12
  8. package/es/Accordion/AccordionItem.mjs.map +1 -1
  9. package/es/Accordion/ArrowIcon.mjs +3 -6
  10. package/es/Accordion/ArrowIcon.mjs.map +1 -1
  11. package/es/Accordion/context.mjs +1 -2
  12. package/es/Accordion/context.mjs.map +1 -1
  13. package/es/Accordion/index.mjs +3 -4
  14. package/es/Accordion/style.mjs +20 -21
  15. package/es/Accordion/style.mjs.map +1 -1
  16. package/es/Accordion/type.d.mts +0 -1
  17. package/es/ActionIcon/ActionIcon.d.mts +2 -2
  18. package/es/ActionIcon/ActionIcon.mjs +9 -12
  19. package/es/ActionIcon/ActionIcon.mjs.map +1 -1
  20. package/es/ActionIcon/components/utils.mjs +4 -5
  21. package/es/ActionIcon/components/utils.mjs.map +1 -1
  22. package/es/ActionIcon/index.mjs +2 -3
  23. package/es/ActionIcon/style.mjs +11 -12
  24. package/es/ActionIcon/style.mjs.map +1 -1
  25. package/es/ActionIcon/type.d.mts +0 -3
  26. package/es/ActionIconGroup/ActionIconGroup.mjs +11 -14
  27. package/es/ActionIconGroup/ActionIconGroup.mjs.map +1 -1
  28. package/es/ActionIconGroup/index.mjs +2 -3
  29. package/es/ActionIconGroup/style.mjs +4 -5
  30. package/es/ActionIconGroup/style.mjs.map +1 -1
  31. package/es/ActionIconGroup/type.d.mts +0 -4
  32. package/es/Alert/Alert.d.mts +2 -2
  33. package/es/Alert/Alert.mjs +13 -18
  34. package/es/Alert/Alert.mjs.map +1 -1
  35. package/es/Alert/index.mjs +2 -3
  36. package/es/Alert/style.mjs +24 -25
  37. package/es/Alert/style.mjs.map +1 -1
  38. package/es/Alert/type.d.mts +1 -2
  39. package/es/AutoComplete/Select.d.mts +2 -2
  40. package/es/AutoComplete/Select.mjs +3 -6
  41. package/es/AutoComplete/Select.mjs.map +1 -1
  42. package/es/AutoComplete/index.mjs +2 -3
  43. package/es/AutoComplete/style.mjs +7 -8
  44. package/es/AutoComplete/style.mjs.map +1 -1
  45. package/es/Avatar/Avatar.mjs +11 -14
  46. package/es/Avatar/Avatar.mjs.map +1 -1
  47. package/es/Avatar/AvatarGroup/index.d.mts +2 -2
  48. package/es/Avatar/AvatarGroup/index.mjs +6 -9
  49. package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
  50. package/es/Avatar/AvatarGroup/style.mjs +7 -8
  51. package/es/Avatar/AvatarGroup/style.mjs.map +1 -1
  52. package/es/Avatar/index.mjs +6 -8
  53. package/es/Avatar/index.mjs.map +1 -1
  54. package/es/Avatar/style.mjs +5 -6
  55. package/es/Avatar/style.mjs.map +1 -1
  56. package/es/Avatar/type.d.mts +0 -2
  57. package/es/Avatar/utils.mjs +1 -2
  58. package/es/Avatar/utils.mjs.map +1 -1
  59. package/es/Block/Block.mjs +3 -6
  60. package/es/Block/Block.mjs.map +1 -1
  61. package/es/Block/index.mjs +2 -3
  62. package/es/Block/style.mjs +5 -6
  63. package/es/Block/style.mjs.map +1 -1
  64. package/es/Block/type.d.mts +0 -1
  65. package/es/Burger/Burger.d.mts +2 -2
  66. package/es/Burger/Burger.mjs +7 -10
  67. package/es/Burger/Burger.mjs.map +1 -1
  68. package/es/Burger/index.mjs +2 -3
  69. package/es/Burger/style.mjs +26 -27
  70. package/es/Burger/style.mjs.map +1 -1
  71. package/es/Burger/type.d.mts +0 -1
  72. package/es/Button/Button.mjs +6 -9
  73. package/es/Button/Button.mjs.map +1 -1
  74. package/es/Button/index.mjs +2 -3
  75. package/es/Button/style.mjs +5 -6
  76. package/es/Button/style.mjs.map +1 -1
  77. package/es/Button/type.d.mts +0 -1
  78. package/es/Checkbox/Checkbox.mjs +6 -8
  79. package/es/Checkbox/Checkbox.mjs.map +1 -1
  80. package/es/Checkbox/CheckboxGroup.mjs +4 -6
  81. package/es/Checkbox/CheckboxGroup.mjs.map +1 -1
  82. package/es/Checkbox/index.mjs +6 -8
  83. package/es/Checkbox/index.mjs.map +1 -1
  84. package/es/Checkbox/style.mjs +15 -16
  85. package/es/Checkbox/style.mjs.map +1 -1
  86. package/es/Checkbox/type.d.mts +0 -2
  87. package/es/CodeDiff/CodeDiff.d.mts +2 -2
  88. package/es/CodeDiff/CodeDiff.mjs +7 -10
  89. package/es/CodeDiff/CodeDiff.mjs.map +1 -1
  90. package/es/CodeDiff/PatchDiff.d.mts +2 -2
  91. package/es/CodeDiff/PatchDiff.mjs +7 -10
  92. package/es/CodeDiff/PatchDiff.mjs.map +1 -1
  93. package/es/CodeDiff/index.mjs +3 -4
  94. package/es/CodeDiff/style.mjs +35 -36
  95. package/es/CodeDiff/style.mjs.map +1 -1
  96. package/es/CodeDiff/type.d.mts +0 -1
  97. package/es/CodeEditor/CodeEditor.d.mts +2 -2
  98. package/es/CodeEditor/CodeEditor.mjs +5 -8
  99. package/es/CodeEditor/CodeEditor.mjs.map +1 -1
  100. package/es/CodeEditor/index.mjs +2 -3
  101. package/es/CodeEditor/style.mjs +10 -11
  102. package/es/CodeEditor/style.mjs.map +1 -1
  103. package/es/CodeEditor/type.d.mts +0 -1
  104. package/es/Collapse/Collapse.d.mts +2 -2
  105. package/es/Collapse/Collapse.mjs +6 -9
  106. package/es/Collapse/Collapse.mjs.map +1 -1
  107. package/es/Collapse/index.mjs +2 -3
  108. package/es/Collapse/style.mjs +27 -28
  109. package/es/Collapse/style.mjs.map +1 -1
  110. package/es/Collapse/type.d.mts +1 -2
  111. package/es/ColorSwatches/ColorSwatches.mjs +10 -13
  112. package/es/ColorSwatches/ColorSwatches.mjs.map +1 -1
  113. package/es/ColorSwatches/index.mjs +2 -3
  114. package/es/ColorSwatches/style.mjs +29 -30
  115. package/es/ColorSwatches/style.mjs.map +1 -1
  116. package/es/ColorSwatches/type.d.mts +0 -1
  117. package/es/ConfigProvider/index.d.mts +2 -2
  118. package/es/ConfigProvider/index.mjs +3 -6
  119. package/es/ConfigProvider/index.mjs.map +1 -1
  120. package/es/ContextMenu/index.d.mts +0 -1
  121. package/es/ContextMenu/index.mjs +1 -2
  122. package/es/CopyButton/CopyButton.d.mts +2 -2
  123. package/es/CopyButton/CopyButton.mjs +5 -8
  124. package/es/CopyButton/CopyButton.mjs.map +1 -1
  125. package/es/CopyButton/index.mjs +2 -3
  126. package/es/CopyButton/type.d.mts +0 -2
  127. package/es/DatePicker/DatePicker.d.mts +2 -2
  128. package/es/DatePicker/DatePicker.mjs +3 -6
  129. package/es/DatePicker/DatePicker.mjs.map +1 -1
  130. package/es/DatePicker/index.mjs +2 -3
  131. package/es/DatePicker/style.mjs +3 -4
  132. package/es/DatePicker/style.mjs.map +1 -1
  133. package/es/DownloadButton/DownloadButton.mjs +6 -9
  134. package/es/DownloadButton/DownloadButton.mjs.map +1 -1
  135. package/es/DownloadButton/index.mjs +2 -3
  136. package/es/DownloadButton/type.d.mts +0 -2
  137. package/es/DraggablePanel/DraggablePanel.mjs +9 -12
  138. package/es/DraggablePanel/DraggablePanel.mjs.map +1 -1
  139. package/es/DraggablePanel/components/DraggablePanelBody.d.mts +2 -2
  140. package/es/DraggablePanel/components/DraggablePanelBody.mjs +3 -6
  141. package/es/DraggablePanel/components/DraggablePanelBody.mjs.map +1 -1
  142. package/es/DraggablePanel/components/DraggablePanelContainer.d.mts +2 -2
  143. package/es/DraggablePanel/components/DraggablePanelContainer.mjs +3 -6
  144. package/es/DraggablePanel/components/DraggablePanelContainer.mjs.map +1 -1
  145. package/es/DraggablePanel/components/DraggablePanelFooter.d.mts +2 -2
  146. package/es/DraggablePanel/components/DraggablePanelFooter.mjs +3 -6
  147. package/es/DraggablePanel/components/DraggablePanelFooter.mjs.map +1 -1
  148. package/es/DraggablePanel/components/DraggablePanelHeader.d.mts +2 -2
  149. package/es/DraggablePanel/components/DraggablePanelHeader.mjs +6 -9
  150. package/es/DraggablePanel/components/DraggablePanelHeader.mjs.map +1 -1
  151. package/es/DraggablePanel/components/style.mjs +10 -11
  152. package/es/DraggablePanel/components/style.mjs.map +1 -1
  153. package/es/DraggablePanel/index.mjs +13 -16
  154. package/es/DraggablePanel/index.mjs.map +1 -1
  155. package/es/DraggablePanel/style.mjs +56 -57
  156. package/es/DraggablePanel/style.mjs.map +1 -1
  157. package/es/DraggablePanel/utils.mjs +1 -1
  158. package/es/DraggableSideNav/DraggableSideNav.d.mts +2 -2
  159. package/es/DraggableSideNav/DraggableSideNav.mjs +11 -14
  160. package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
  161. package/es/DraggableSideNav/index.mjs +2 -3
  162. package/es/DraggableSideNav/style.mjs +36 -37
  163. package/es/DraggableSideNav/style.mjs.map +1 -1
  164. package/es/Drawer/Drawer.d.mts +2 -2
  165. package/es/Drawer/Drawer.mjs +5 -8
  166. package/es/Drawer/Drawer.mjs.map +1 -1
  167. package/es/Drawer/index.mjs +2 -3
  168. package/es/Drawer/type.d.mts +0 -1
  169. package/es/Dropdown/Dropdown.d.mts +2 -3
  170. package/es/Dropdown/Dropdown.mjs +3 -6
  171. package/es/Dropdown/Dropdown.mjs.map +1 -1
  172. package/es/Dropdown/index.mjs +2 -3
  173. package/es/Dropdown/type.d.mts +1 -3
  174. package/es/DropdownMenu/index.d.mts +0 -1
  175. package/es/DropdownMenu/index.mjs +2 -3
  176. package/es/EditableText/ControlInput.d.mts +0 -4
  177. package/es/EditableText/ControlInput.mjs +8 -11
  178. package/es/EditableText/ControlInput.mjs.map +1 -1
  179. package/es/EditableText/EditableText.d.mts +2 -2
  180. package/es/EditableText/EditableText.mjs +7 -10
  181. package/es/EditableText/EditableText.mjs.map +1 -1
  182. package/es/EditableText/index.mjs +2 -3
  183. package/es/EditableText/type.d.mts +0 -1
  184. package/es/EditorSlashMenu/EditorSlashMenu.d.mts +11 -22
  185. package/es/EditorSlashMenu/EditorSlashMenu.mjs +6 -9
  186. package/es/EditorSlashMenu/EditorSlashMenu.mjs.map +1 -1
  187. package/es/EditorSlashMenu/MenuItemRenderer.mjs +1 -2
  188. package/es/EditorSlashMenu/MenuItemRenderer.mjs.map +1 -1
  189. package/es/EditorSlashMenu/atoms.d.mts +15 -15
  190. package/es/EditorSlashMenu/atoms.mjs +2 -4
  191. package/es/EditorSlashMenu/atoms.mjs.map +1 -1
  192. package/es/EditorSlashMenu/index.mjs +3 -5
  193. package/es/EditorSlashMenu/style.mjs +5 -7
  194. package/es/EditorSlashMenu/style.mjs.map +1 -1
  195. package/es/EditorSlashMenu/type.d.mts +7 -15
  196. package/es/EditorSlashMenu/useKeyboardNavigation.mjs +1 -2
  197. package/es/EditorSlashMenu/useKeyboardNavigation.mjs.map +1 -1
  198. package/es/EditorSlashMenu/useNormalizedItems.mjs +1 -2
  199. package/es/EditorSlashMenu/useNormalizedItems.mjs.map +1 -1
  200. package/es/EditorSlashMenu/utils.mjs +1 -1
  201. package/es/EmojiPicker/AvatarUploader.mjs +19 -22
  202. package/es/EmojiPicker/AvatarUploader.mjs.map +1 -1
  203. package/es/EmojiPicker/EmojiPicker.d.mts +2 -2
  204. package/es/EmojiPicker/EmojiPicker.mjs +22 -25
  205. package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
  206. package/es/EmojiPicker/index.mjs +2 -3
  207. package/es/EmojiPicker/style.mjs +10 -11
  208. package/es/EmojiPicker/style.mjs.map +1 -1
  209. package/es/EmojiPicker/type.d.mts +0 -1
  210. package/es/Empty/Empty.mjs +12 -15
  211. package/es/Empty/Empty.mjs.map +1 -1
  212. package/es/Empty/index.mjs +2 -3
  213. package/es/Empty/type.d.mts +0 -4
  214. package/es/FileTypeIcon/FileTypeIcon.mjs +9 -12
  215. package/es/FileTypeIcon/FileTypeIcon.mjs.map +1 -1
  216. package/es/FileTypeIcon/components/FileIcon.mjs +2 -4
  217. package/es/FileTypeIcon/components/FileIcon.mjs.map +1 -1
  218. package/es/FileTypeIcon/components/FolderIcon.mjs +2 -4
  219. package/es/FileTypeIcon/components/FolderIcon.mjs.map +1 -1
  220. package/es/FileTypeIcon/index.mjs +2 -3
  221. package/es/FileTypeIcon/style.mjs +5 -6
  222. package/es/FileTypeIcon/style.mjs.map +1 -1
  223. package/es/Flex/Center.mjs +2 -4
  224. package/es/Flex/Center.mjs.map +1 -1
  225. package/es/Flex/FlexBasic.d.mts +2 -2
  226. package/es/Flex/FlexBasic.mjs +2 -4
  227. package/es/Flex/FlexBasic.mjs.map +1 -1
  228. package/es/Flex/index.d.mts +0 -1
  229. package/es/Flex/index.mjs +2 -3
  230. package/es/Flex/utils.mjs +4 -4
  231. package/es/Flex/utils.mjs.map +1 -1
  232. package/es/FluentEmoji/FluentEmoji.mjs +7 -10
  233. package/es/FluentEmoji/FluentEmoji.mjs.map +1 -1
  234. package/es/FluentEmoji/index.mjs +2 -3
  235. package/es/FluentEmoji/style.mjs +3 -4
  236. package/es/FluentEmoji/style.mjs.map +1 -1
  237. package/es/FluentEmoji/utils.mjs +1 -1
  238. package/es/FontLoader/index.d.mts +2 -2
  239. package/es/FontLoader/index.mjs +3 -6
  240. package/es/FontLoader/index.mjs.map +1 -1
  241. package/es/Footer/Footer.d.mts +2 -2
  242. package/es/Footer/Footer.mjs +3 -6
  243. package/es/Footer/Footer.mjs.map +1 -1
  244. package/es/Footer/index.mjs +2 -3
  245. package/es/Footer/style.mjs +14 -15
  246. package/es/Footer/style.mjs.map +1 -1
  247. package/es/Footer/type.d.mts +0 -1
  248. package/es/Form/Form.mjs +9 -12
  249. package/es/Form/Form.mjs.map +1 -1
  250. package/es/Form/components/FormDivider.mjs +5 -8
  251. package/es/Form/components/FormDivider.mjs.map +1 -1
  252. package/es/Form/components/FormFlatGroup.mjs +3 -6
  253. package/es/Form/components/FormFlatGroup.mjs.map +1 -1
  254. package/es/Form/components/FormGroup.d.mts +2 -2
  255. package/es/Form/components/FormGroup.mjs +7 -10
  256. package/es/Form/components/FormGroup.mjs.map +1 -1
  257. package/es/Form/components/FormItem.d.mts +2 -2
  258. package/es/Form/components/FormItem.mjs +7 -10
  259. package/es/Form/components/FormItem.mjs.map +1 -1
  260. package/es/Form/components/FormProvider.mjs +2 -4
  261. package/es/Form/components/FormProvider.mjs.map +1 -1
  262. package/es/Form/components/FormSubmitFooter.d.mts +2 -2
  263. package/es/Form/components/FormSubmitFooter.mjs +8 -11
  264. package/es/Form/components/FormSubmitFooter.mjs.map +1 -1
  265. package/es/Form/components/FormTitle.mjs +5 -8
  266. package/es/Form/components/FormTitle.mjs.map +1 -1
  267. package/es/Form/components/merge.mjs +2 -3
  268. package/es/Form/components/merge.mjs.map +1 -1
  269. package/es/Form/index.mjs +16 -19
  270. package/es/Form/index.mjs.map +1 -1
  271. package/es/Form/style.mjs +47 -48
  272. package/es/Form/style.mjs.map +1 -1
  273. package/es/Form/type.d.mts +1 -6
  274. package/es/FormModal/FormModal.d.mts +2 -2
  275. package/es/FormModal/FormModal.mjs +9 -12
  276. package/es/FormModal/FormModal.mjs.map +1 -1
  277. package/es/FormModal/index.mjs +2 -3
  278. package/es/FormModal/style.mjs +7 -8
  279. package/es/FormModal/style.mjs.map +1 -1
  280. package/es/FormModal/type.d.mts +0 -3
  281. package/es/Freeze/Freeze.d.mts +2 -2
  282. package/es/Freeze/Freeze.mjs +3 -6
  283. package/es/Freeze/Freeze.mjs.map +1 -1
  284. package/es/Freeze/index.mjs +2 -3
  285. package/es/Grid/Grid.mjs +3 -6
  286. package/es/Grid/Grid.mjs.map +1 -1
  287. package/es/Grid/index.mjs +2 -3
  288. package/es/Grid/style.mjs +3 -4
  289. package/es/Grid/style.mjs.map +1 -1
  290. package/es/Grid/type.d.mts +0 -1
  291. package/es/GroupAvatar/GroupAvatar.mjs +10 -13
  292. package/es/GroupAvatar/GroupAvatar.mjs.map +1 -1
  293. package/es/GroupAvatar/index.mjs +2 -3
  294. package/es/GroupAvatar/style.mjs +4 -5
  295. package/es/GroupAvatar/style.mjs.map +1 -1
  296. package/es/GuideCard/GuideCard.d.mts +2 -2
  297. package/es/GuideCard/GuideCard.mjs +7 -10
  298. package/es/GuideCard/GuideCard.mjs.map +1 -1
  299. package/es/GuideCard/style.mjs +16 -17
  300. package/es/GuideCard/style.mjs.map +1 -1
  301. package/es/GuideCard/type.d.mts +0 -2
  302. package/es/Header/Header.d.mts +2 -2
  303. package/es/Header/Header.mjs +3 -6
  304. package/es/Header/Header.mjs.map +1 -1
  305. package/es/Header/index.mjs +2 -3
  306. package/es/Header/style.mjs +10 -11
  307. package/es/Header/style.mjs.map +1 -1
  308. package/es/Header/type.d.mts +0 -1
  309. package/es/Highlighter/FullFeatured.mjs +13 -16
  310. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  311. package/es/Highlighter/Highlighter.d.mts +2 -2
  312. package/es/Highlighter/Highlighter.mjs +11 -14
  313. package/es/Highlighter/Highlighter.mjs.map +1 -1
  314. package/es/Highlighter/LangSelect.mjs +10 -13
  315. package/es/Highlighter/LangSelect.mjs.map +1 -1
  316. package/es/Highlighter/SyntaxHighlighter/StaticRenderer.mjs +3 -6
  317. package/es/Highlighter/SyntaxHighlighter/StaticRenderer.mjs.map +1 -1
  318. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +3 -6
  319. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
  320. package/es/Highlighter/SyntaxHighlighter/index.d.mts +2 -2
  321. package/es/Highlighter/SyntaxHighlighter/index.mjs +7 -10
  322. package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
  323. package/es/Highlighter/SyntaxHighlighter/style.mjs +20 -21
  324. package/es/Highlighter/SyntaxHighlighter/style.mjs.map +1 -1
  325. package/es/Highlighter/const.mjs +1 -2
  326. package/es/Highlighter/const.mjs.map +1 -1
  327. package/es/Highlighter/index.mjs +3 -4
  328. package/es/Highlighter/style.mjs +24 -25
  329. package/es/Highlighter/style.mjs.map +1 -1
  330. package/es/Highlighter/theme/lobe-theme.mjs +1 -2
  331. package/es/Highlighter/theme/lobe-theme.mjs.map +1 -1
  332. package/es/Highlighter/type.d.mts +0 -2
  333. package/es/Hotkey/Hotkey.d.mts +2 -2
  334. package/es/Hotkey/Hotkey.mjs +36 -39
  335. package/es/Hotkey/Hotkey.mjs.map +1 -1
  336. package/es/Hotkey/const.mjs +1 -1
  337. package/es/Hotkey/index.mjs +2 -3
  338. package/es/Hotkey/style.mjs +13 -14
  339. package/es/Hotkey/style.mjs.map +1 -1
  340. package/es/Hotkey/type.d.mts +0 -1
  341. package/es/Hotkey/utils.d.mts +0 -1
  342. package/es/Hotkey/utils.mjs +1 -2
  343. package/es/Hotkey/utils.mjs.map +1 -1
  344. package/es/HotkeyInput/HotkeyInput.d.mts +2 -2
  345. package/es/HotkeyInput/HotkeyInput.mjs +9 -12
  346. package/es/HotkeyInput/HotkeyInput.mjs.map +1 -1
  347. package/es/HotkeyInput/index.mjs +2 -3
  348. package/es/HotkeyInput/style.mjs +13 -14
  349. package/es/HotkeyInput/style.mjs.map +1 -1
  350. package/es/Icon/Icon.d.mts +2 -2
  351. package/es/Icon/Icon.mjs +3 -6
  352. package/es/Icon/Icon.mjs.map +1 -1
  353. package/es/Icon/components/IconProvider.d.mts +3 -3
  354. package/es/Icon/components/IconProvider.mjs +2 -4
  355. package/es/Icon/components/IconProvider.mjs.map +1 -1
  356. package/es/Icon/components/utils.mjs +1 -2
  357. package/es/Icon/components/utils.mjs.map +1 -1
  358. package/es/Icon/index.mjs +2 -3
  359. package/es/Icon/style.mjs +6 -8
  360. package/es/Icon/style.mjs.map +1 -1
  361. package/es/Image/Image.mjs +5 -8
  362. package/es/Image/Image.mjs.map +1 -1
  363. package/es/Image/PreviewGroup.d.mts +2 -2
  364. package/es/Image/PreviewGroup.mjs +5 -8
  365. package/es/Image/PreviewGroup.mjs.map +1 -1
  366. package/es/Image/components/Preview.mjs +3 -6
  367. package/es/Image/components/Preview.mjs.map +1 -1
  368. package/es/Image/components/Toolbar.mjs +13 -15
  369. package/es/Image/components/Toolbar.mjs.map +1 -1
  370. package/es/Image/components/usePreview.mjs +8 -10
  371. package/es/Image/components/usePreview.mjs.map +1 -1
  372. package/es/Image/components/usePreviewGroup.mjs +8 -10
  373. package/es/Image/components/usePreviewGroup.mjs.map +1 -1
  374. package/es/Image/index.mjs +6 -8
  375. package/es/Image/index.mjs.map +1 -1
  376. package/es/Image/style.mjs +28 -29
  377. package/es/Image/style.mjs.map +1 -1
  378. package/es/Image/type.d.mts +2 -2
  379. package/es/ImageSelect/ImageSelect.d.mts +2 -2
  380. package/es/ImageSelect/ImageSelect.mjs +7 -10
  381. package/es/ImageSelect/ImageSelect.mjs.map +1 -1
  382. package/es/ImageSelect/styles.mjs +11 -12
  383. package/es/ImageSelect/styles.mjs.map +1 -1
  384. package/es/ImageSelect/type.d.mts +0 -2
  385. package/es/Img/index.mjs +3 -6
  386. package/es/Img/index.mjs.map +1 -1
  387. package/es/Input/Input.d.mts +2 -2
  388. package/es/Input/Input.mjs +3 -6
  389. package/es/Input/Input.mjs.map +1 -1
  390. package/es/Input/InputNumber.d.mts +2 -2
  391. package/es/Input/InputNumber.mjs +3 -6
  392. package/es/Input/InputNumber.mjs.map +1 -1
  393. package/es/Input/InputOPT.d.mts +2 -2
  394. package/es/Input/InputOPT.mjs +3 -6
  395. package/es/Input/InputOPT.mjs.map +1 -1
  396. package/es/Input/InputPassword.d.mts +2 -2
  397. package/es/Input/InputPassword.mjs +3 -6
  398. package/es/Input/InputPassword.mjs.map +1 -1
  399. package/es/Input/TextArea.d.mts +2 -2
  400. package/es/Input/TextArea.mjs +3 -6
  401. package/es/Input/TextArea.mjs.map +1 -1
  402. package/es/Input/style.mjs +11 -12
  403. package/es/Input/style.mjs.map +1 -1
  404. package/es/Input/type.d.mts +3 -3
  405. package/es/Layout/Layout.mjs +18 -21
  406. package/es/Layout/Layout.mjs.map +1 -1
  407. package/es/Layout/components/LayoutFooter.d.mts +2 -3
  408. package/es/Layout/components/LayoutFooter.mjs +3 -6
  409. package/es/Layout/components/LayoutFooter.mjs.map +1 -1
  410. package/es/Layout/components/LayoutHeader.d.mts +2 -2
  411. package/es/Layout/components/LayoutHeader.mjs +3 -6
  412. package/es/Layout/components/LayoutHeader.mjs.map +1 -1
  413. package/es/Layout/components/LayoutMain.d.mts +2 -3
  414. package/es/Layout/components/LayoutMain.mjs +3 -6
  415. package/es/Layout/components/LayoutMain.mjs.map +1 -1
  416. package/es/Layout/components/LayoutSidebar.d.mts +2 -2
  417. package/es/Layout/components/LayoutSidebar.mjs +3 -6
  418. package/es/Layout/components/LayoutSidebar.mjs.map +1 -1
  419. package/es/Layout/components/LayoutSidebarInner.d.mts +2 -2
  420. package/es/Layout/components/LayoutSidebarInner.mjs +3 -6
  421. package/es/Layout/components/LayoutSidebarInner.mjs.map +1 -1
  422. package/es/Layout/components/LayoutToc.d.mts +2 -2
  423. package/es/Layout/components/LayoutToc.mjs +3 -6
  424. package/es/Layout/components/LayoutToc.mjs.map +1 -1
  425. package/es/Layout/index.mjs +16 -18
  426. package/es/Layout/index.mjs.map +1 -1
  427. package/es/Layout/style.mjs +10 -11
  428. package/es/Layout/style.mjs.map +1 -1
  429. package/es/List/List.mjs +5 -8
  430. package/es/List/List.mjs.map +1 -1
  431. package/es/List/ListItem/index.d.mts +2 -2
  432. package/es/List/ListItem/index.mjs +9 -12
  433. package/es/List/ListItem/index.mjs.map +1 -1
  434. package/es/List/ListItem/style.mjs +16 -17
  435. package/es/List/ListItem/style.mjs.map +1 -1
  436. package/es/List/ListItem/time.mjs +1 -2
  437. package/es/List/ListItem/time.mjs.map +1 -1
  438. package/es/List/index.mjs +6 -8
  439. package/es/List/index.mjs.map +1 -1
  440. package/es/List/type.d.mts +0 -1
  441. package/es/Markdown/Markdown.d.mts +2 -2
  442. package/es/Markdown/Markdown.mjs +14 -17
  443. package/es/Markdown/Markdown.mjs.map +1 -1
  444. package/es/Markdown/SyntaxMarkdown/MarkdownRender.mjs +3 -6
  445. package/es/Markdown/SyntaxMarkdown/MarkdownRender.mjs.map +1 -1
  446. package/es/Markdown/SyntaxMarkdown/StreamdownRender.mjs +3 -6
  447. package/es/Markdown/SyntaxMarkdown/StreamdownRender.mjs.map +1 -1
  448. package/es/Markdown/SyntaxMarkdown/streamAnimationMeta.mjs +1 -1
  449. package/es/Markdown/SyntaxMarkdown/style.mjs +3 -4
  450. package/es/Markdown/SyntaxMarkdown/style.mjs.map +1 -1
  451. package/es/Markdown/SyntaxMarkdown/useSmoothStreamContent.mjs +2 -4
  452. package/es/Markdown/SyntaxMarkdown/useSmoothStreamContent.mjs.map +1 -1
  453. package/es/Markdown/SyntaxMarkdown/useStreamQueue.mjs +1 -2
  454. package/es/Markdown/SyntaxMarkdown/useStreamQueue.mjs.map +1 -1
  455. package/es/Markdown/Typography.d.mts +2 -2
  456. package/es/Markdown/Typography.mjs +3 -6
  457. package/es/Markdown/Typography.mjs.map +1 -1
  458. package/es/Markdown/components/CodeBlock.mjs +5 -6
  459. package/es/Markdown/components/CodeBlock.mjs.map +1 -1
  460. package/es/Markdown/components/Footnotes.mjs +13 -16
  461. package/es/Markdown/components/Footnotes.mjs.map +1 -1
  462. package/es/Markdown/components/MarkdownProvider.mjs +2 -4
  463. package/es/Markdown/components/MarkdownProvider.mjs.map +1 -1
  464. package/es/Markdown/components/SearchResultCards/SearchResultCard.mjs +17 -20
  465. package/es/Markdown/components/SearchResultCards/SearchResultCard.mjs.map +1 -1
  466. package/es/Markdown/components/SearchResultCards/index.d.mts +2 -3
  467. package/es/Markdown/components/SearchResultCards/index.mjs +7 -10
  468. package/es/Markdown/components/SearchResultCards/index.mjs.map +1 -1
  469. package/es/Markdown/components/SearchResultCards/style.mjs +4 -5
  470. package/es/Markdown/components/SearchResultCards/style.mjs.map +1 -1
  471. package/es/Markdown/components/useDelayedAnimated.mjs +1 -2
  472. package/es/Markdown/components/useDelayedAnimated.mjs.map +1 -1
  473. package/es/Markdown/index.mjs +3 -4
  474. package/es/Markdown/markdown.style.mjs +42 -43
  475. package/es/Markdown/markdown.style.mjs.map +1 -1
  476. package/es/Markdown/plugins/rehypeCustomFootnotes.mjs +1 -2
  477. package/es/Markdown/plugins/rehypeCustomFootnotes.mjs.map +1 -1
  478. package/es/Markdown/plugins/rehypeKatexDir.d.mts +1 -1
  479. package/es/Markdown/plugins/rehypeKatexDir.mjs +1 -2
  480. package/es/Markdown/plugins/rehypeKatexDir.mjs.map +1 -1
  481. package/es/Markdown/plugins/rehypeStreamAnimated.d.mts +1 -1
  482. package/es/Markdown/plugins/rehypeStreamAnimated.mjs +1 -2
  483. package/es/Markdown/plugins/rehypeStreamAnimated.mjs.map +1 -1
  484. package/es/Markdown/plugins/remarkBr.mjs +1 -2
  485. package/es/Markdown/plugins/remarkBr.mjs.map +1 -1
  486. package/es/Markdown/plugins/remarkColor.mjs +1 -2
  487. package/es/Markdown/plugins/remarkColor.mjs.map +1 -1
  488. package/es/Markdown/plugins/remarkCustomFootnotes.d.mts +0 -1
  489. package/es/Markdown/plugins/remarkCustomFootnotes.mjs +1 -2
  490. package/es/Markdown/plugins/remarkCustomFootnotes.mjs.map +1 -1
  491. package/es/Markdown/plugins/remarkGfmPlus.mjs +2 -3
  492. package/es/Markdown/plugins/remarkGfmPlus.mjs.map +1 -1
  493. package/es/Markdown/plugins/remarkVideo.mjs +1 -2
  494. package/es/Markdown/plugins/remarkVideo.mjs.map +1 -1
  495. package/es/Markdown/streamProfiler/StreamdownProfilerProvider.mjs +2 -4
  496. package/es/Markdown/streamProfiler/StreamdownProfilerProvider.mjs.map +1 -1
  497. package/es/Markdown/style.mjs +29 -30
  498. package/es/Markdown/style.mjs.map +1 -1
  499. package/es/Markdown/type.d.mts +0 -3
  500. package/es/MaskShadow/MaskShadow.d.mts +2 -2
  501. package/es/MaskShadow/MaskShadow.mjs +3 -6
  502. package/es/MaskShadow/MaskShadow.mjs.map +1 -1
  503. package/es/MaskShadow/index.mjs +2 -3
  504. package/es/MaskShadow/style.mjs +7 -8
  505. package/es/MaskShadow/style.mjs.map +1 -1
  506. package/es/MaskShadow/type.d.mts +0 -2
  507. package/es/MaterialFileTypeIcon/MaterialFileTypeIcon.mjs +11 -14
  508. package/es/MaterialFileTypeIcon/MaterialFileTypeIcon.mjs.map +1 -1
  509. package/es/MaterialFileTypeIcon/{icon-map.d.mts → icon-map.json.d.mts} +2 -2
  510. package/es/MaterialFileTypeIcon/icon-map.mjs +1 -1
  511. package/es/MaterialFileTypeIcon/index.mjs +2 -3
  512. package/es/MaterialFileTypeIcon/type.d.mts +1 -1
  513. package/es/MaterialFileTypeIcon/utils.mjs +1 -2
  514. package/es/MaterialFileTypeIcon/utils.mjs.map +1 -1
  515. package/es/Menu/Menu.d.mts +2 -2
  516. package/es/Menu/Menu.mjs +3 -6
  517. package/es/Menu/Menu.mjs.map +1 -1
  518. package/es/Menu/baseItem.d.mts +0 -1
  519. package/es/Menu/checkboxItem.d.mts +0 -2
  520. package/es/Menu/index.mjs +2 -3
  521. package/es/Menu/renderUtils.d.mts +0 -1
  522. package/es/Menu/renderUtils.mjs +3 -4
  523. package/es/Menu/renderUtils.mjs.map +1 -1
  524. package/es/Menu/sharedStyle.mjs +37 -39
  525. package/es/Menu/sharedStyle.mjs.map +1 -1
  526. package/es/Menu/style.mjs +6 -7
  527. package/es/Menu/style.mjs.map +1 -1
  528. package/es/Menu/switchItem.d.mts +0 -2
  529. package/es/Menu/type.d.mts +1 -2
  530. package/es/Menu/utils.d.mts +1 -1
  531. package/es/Menu/utils.mjs +3 -4
  532. package/es/Menu/utils.mjs.map +1 -1
  533. package/es/Mermaid/FullFeatured.mjs +11 -14
  534. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  535. package/es/Mermaid/Mermaid.d.mts +2 -2
  536. package/es/Mermaid/Mermaid.mjs +11 -14
  537. package/es/Mermaid/Mermaid.mjs.map +1 -1
  538. package/es/Mermaid/SyntaxMermaid/StaticMermaid.mjs +5 -8
  539. package/es/Mermaid/SyntaxMermaid/StaticMermaid.mjs.map +1 -1
  540. package/es/Mermaid/SyntaxMermaid/StreamMermaid.mjs +5 -8
  541. package/es/Mermaid/SyntaxMermaid/StreamMermaid.mjs.map +1 -1
  542. package/es/Mermaid/SyntaxMermaid/index.d.mts +2 -2
  543. package/es/Mermaid/SyntaxMermaid/index.mjs +7 -10
  544. package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
  545. package/es/Mermaid/SyntaxMermaid/style.mjs +10 -11
  546. package/es/Mermaid/SyntaxMermaid/style.mjs.map +1 -1
  547. package/es/Mermaid/const.mjs +1 -1
  548. package/es/Mermaid/const.mjs.map +1 -1
  549. package/es/Mermaid/index.mjs +3 -4
  550. package/es/Mermaid/type.d.mts +0 -1
  551. package/es/Modal/Modal.d.mts +2 -2
  552. package/es/Modal/Modal.mjs +8 -11
  553. package/es/Modal/Modal.mjs.map +1 -1
  554. package/es/Modal/ModalProvider.d.mts +2 -2
  555. package/es/Modal/ModalProvider.mjs +2 -4
  556. package/es/Modal/ModalProvider.mjs.map +1 -1
  557. package/es/Modal/ModalStackItem.mjs +4 -6
  558. package/es/Modal/ModalStackItem.mjs.map +1 -1
  559. package/es/Modal/RawModalStackItem.mjs +2 -4
  560. package/es/Modal/RawModalStackItem.mjs.map +1 -1
  561. package/es/Modal/imperative.d.mts +2 -2
  562. package/es/Modal/imperative.mjs +2 -4
  563. package/es/Modal/imperative.mjs.map +1 -1
  564. package/es/Modal/index.mjs +2 -3
  565. package/es/Modal/style.mjs +8 -11
  566. package/es/Modal/style.mjs.map +1 -1
  567. package/es/MotionProvider/index.d.mts +4 -4
  568. package/es/MotionProvider/index.mjs +2 -4
  569. package/es/MotionProvider/index.mjs.map +1 -1
  570. package/es/Popover/index.d.mts +0 -1
  571. package/es/Popover/index.mjs +3 -4
  572. package/es/ScrollArea/index.d.mts +0 -1
  573. package/es/ScrollArea/index.mjs +1 -2
  574. package/es/ScrollShadow/ScrollShadow.mjs +3 -6
  575. package/es/ScrollShadow/ScrollShadow.mjs.map +1 -1
  576. package/es/ScrollShadow/index.mjs +2 -3
  577. package/es/ScrollShadow/style.mjs +12 -13
  578. package/es/ScrollShadow/style.mjs.map +1 -1
  579. package/es/ScrollShadow/type.d.mts +0 -1
  580. package/es/ScrollShadow/useScrollOverflow.mjs +1 -2
  581. package/es/ScrollShadow/useScrollOverflow.mjs.map +1 -1
  582. package/es/SearchBar/SearchBar.d.mts +2 -2
  583. package/es/SearchBar/SearchBar.mjs +11 -14
  584. package/es/SearchBar/SearchBar.mjs.map +1 -1
  585. package/es/SearchBar/index.mjs +2 -3
  586. package/es/SearchBar/style.mjs +7 -8
  587. package/es/SearchBar/style.mjs.map +1 -1
  588. package/es/SearchBar/type.d.mts +0 -1
  589. package/es/Segmented/Segmented.d.mts +2 -2
  590. package/es/Segmented/Segmented.mjs +3 -6
  591. package/es/Segmented/Segmented.mjs.map +1 -1
  592. package/es/Segmented/index.mjs +2 -3
  593. package/es/Segmented/style.mjs +8 -9
  594. package/es/Segmented/style.mjs.map +1 -1
  595. package/es/Segmented/type.d.mts +0 -1
  596. package/es/Select/Select.d.mts +2 -2
  597. package/es/Select/Select.mjs +5 -8
  598. package/es/Select/Select.mjs.map +1 -1
  599. package/es/Select/index.mjs +2 -3
  600. package/es/Select/style.mjs +8 -9
  601. package/es/Select/style.mjs.map +1 -1
  602. package/es/Select/type.d.mts +0 -1
  603. package/es/SideNav/SideNav.d.mts +2 -2
  604. package/es/SideNav/SideNav.mjs +3 -6
  605. package/es/SideNav/SideNav.mjs.map +1 -1
  606. package/es/SideNav/index.mjs +2 -3
  607. package/es/SideNav/style.mjs +4 -5
  608. package/es/SideNav/style.mjs.map +1 -1
  609. package/es/SideNav/type.d.mts +0 -1
  610. package/es/Skeleton/Skeleton.mjs +9 -12
  611. package/es/Skeleton/Skeleton.mjs.map +1 -1
  612. package/es/Skeleton/SkeletonAvatar.mjs +5 -8
  613. package/es/Skeleton/SkeletonAvatar.mjs.map +1 -1
  614. package/es/Skeleton/SkeletonBlock.mjs +5 -8
  615. package/es/Skeleton/SkeletonBlock.mjs.map +1 -1
  616. package/es/Skeleton/SkeletonButton.mjs +5 -8
  617. package/es/Skeleton/SkeletonButton.mjs.map +1 -1
  618. package/es/Skeleton/SkeletonParagraph.mjs +6 -10
  619. package/es/Skeleton/SkeletonParagraph.mjs.map +1 -1
  620. package/es/Skeleton/SkeletonTags.mjs +5 -8
  621. package/es/Skeleton/SkeletonTags.mjs.map +1 -1
  622. package/es/Skeleton/SkeletonTitle.mjs +5 -8
  623. package/es/Skeleton/SkeletonTitle.mjs.map +1 -1
  624. package/es/Skeleton/index.mjs +16 -18
  625. package/es/Skeleton/index.mjs.map +1 -1
  626. package/es/Skeleton/style.mjs +10 -11
  627. package/es/Skeleton/style.mjs.map +1 -1
  628. package/es/SliderWithInput/SliderWithInput.d.mts +2 -2
  629. package/es/SliderWithInput/SliderWithInput.mjs +8 -11
  630. package/es/SliderWithInput/SliderWithInput.mjs.map +1 -1
  631. package/es/SliderWithInput/index.mjs +2 -3
  632. package/es/SliderWithInput/type.d.mts +0 -2
  633. package/es/Snippet/Snippet.mjs +9 -12
  634. package/es/Snippet/Snippet.mjs.map +1 -1
  635. package/es/Snippet/index.mjs +2 -3
  636. package/es/Snippet/style.mjs +5 -6
  637. package/es/Snippet/style.mjs.map +1 -1
  638. package/es/Snippet/type.d.mts +0 -1
  639. package/es/SortableList/SortableList.mjs +13 -16
  640. package/es/SortableList/SortableList.mjs.map +1 -1
  641. package/es/SortableList/components/DragHandle.d.mts +2 -3
  642. package/es/SortableList/components/DragHandle.mjs +5 -8
  643. package/es/SortableList/components/DragHandle.mjs.map +1 -1
  644. package/es/SortableList/components/SortableItem.d.mts +2 -6
  645. package/es/SortableList/components/SortableItem.mjs +3 -6
  646. package/es/SortableList/components/SortableItem.mjs.map +1 -1
  647. package/es/SortableList/components/SortableOverlay.mjs +3 -6
  648. package/es/SortableList/components/SortableOverlay.mjs.map +1 -1
  649. package/es/SortableList/index.mjs +2 -3
  650. package/es/SortableList/style.mjs +6 -7
  651. package/es/SortableList/style.mjs.map +1 -1
  652. package/es/SortableList/type.d.mts +0 -1
  653. package/es/Tabs/Tabs.mjs +5 -8
  654. package/es/Tabs/Tabs.mjs.map +1 -1
  655. package/es/Tabs/index.mjs +2 -3
  656. package/es/Tabs/style.mjs +15 -16
  657. package/es/Tabs/style.mjs.map +1 -1
  658. package/es/Tag/Tag.mjs +3 -6
  659. package/es/Tag/Tag.mjs.map +1 -1
  660. package/es/Tag/styles.mjs +6 -7
  661. package/es/Tag/styles.mjs.map +1 -1
  662. package/es/Tag/utils.mjs +1 -2
  663. package/es/Tag/utils.mjs.map +1 -1
  664. package/es/Text/Text.mjs +6 -9
  665. package/es/Text/Text.mjs.map +1 -1
  666. package/es/Text/index.mjs +2 -3
  667. package/es/Text/styles.mjs +37 -38
  668. package/es/Text/styles.mjs.map +1 -1
  669. package/es/Text/type.d.mts +0 -1
  670. package/es/ThemeProvider/AppElementContext.d.mts +0 -2
  671. package/es/ThemeProvider/AppElementContext.mjs +3 -6
  672. package/es/ThemeProvider/AppElementContext.mjs.map +1 -1
  673. package/es/ThemeProvider/ConfigProvider.mjs +3 -6
  674. package/es/ThemeProvider/ConfigProvider.mjs.map +1 -1
  675. package/es/ThemeProvider/GlobalStyle/antdOverride.mjs +1 -2
  676. package/es/ThemeProvider/GlobalStyle/antdOverride.mjs.map +1 -1
  677. package/es/ThemeProvider/GlobalStyle/global.mjs +1 -2
  678. package/es/ThemeProvider/GlobalStyle/global.mjs.map +1 -1
  679. package/es/ThemeProvider/GlobalStyle/index.mjs +3 -6
  680. package/es/ThemeProvider/GlobalStyle/index.mjs.map +1 -1
  681. package/es/ThemeProvider/Meta.mjs +3 -6
  682. package/es/ThemeProvider/Meta.mjs.map +1 -1
  683. package/es/ThemeProvider/ThemeProvider.d.mts +2 -2
  684. package/es/ThemeProvider/ThemeProvider.mjs +16 -19
  685. package/es/ThemeProvider/ThemeProvider.mjs.map +1 -1
  686. package/es/ThemeProvider/constants.mjs +1 -1
  687. package/es/ThemeProvider/index.mjs +3 -4
  688. package/es/ThemeProvider/type.d.mts +0 -1
  689. package/es/ThemeSwitch/ThemeSwitch.mjs +9 -12
  690. package/es/ThemeSwitch/ThemeSwitch.mjs.map +1 -1
  691. package/es/ThemeSwitch/index.mjs +2 -3
  692. package/es/ThemeSwitch/type.d.mts +0 -1
  693. package/es/Toast/index.d.mts +0 -1
  694. package/es/Toast/index.mjs +1 -2
  695. package/es/Toc/Toc.d.mts +2 -2
  696. package/es/Toc/Toc.mjs +5 -8
  697. package/es/Toc/Toc.mjs.map +1 -1
  698. package/es/Toc/TocMobile.mjs +5 -8
  699. package/es/Toc/TocMobile.mjs.map +1 -1
  700. package/es/Toc/index.mjs +2 -3
  701. package/es/Toc/style.mjs +11 -12
  702. package/es/Toc/style.mjs.map +1 -1
  703. package/es/Toc/utils.mjs +1 -1
  704. package/es/Tooltip/ArrowIcon.mjs +2 -4
  705. package/es/Tooltip/ArrowIcon.mjs.map +1 -1
  706. package/es/Tooltip/Tooltip.mjs +3 -6
  707. package/es/Tooltip/Tooltip.mjs.map +1 -1
  708. package/es/Tooltip/TooltipContent.mjs +5 -8
  709. package/es/Tooltip/TooltipContent.mjs.map +1 -1
  710. package/es/Tooltip/TooltipGroup.mjs +8 -11
  711. package/es/Tooltip/TooltipGroup.mjs.map +1 -1
  712. package/es/Tooltip/TooltipInGroup.mjs +2 -4
  713. package/es/Tooltip/TooltipInGroup.mjs.map +1 -1
  714. package/es/Tooltip/TooltipStandalone.mjs +4 -6
  715. package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
  716. package/es/Tooltip/groupContext.mjs +2 -4
  717. package/es/Tooltip/groupContext.mjs.map +1 -1
  718. package/es/Tooltip/style.mjs +14 -15
  719. package/es/Tooltip/style.mjs.map +1 -1
  720. package/es/Tooltip/type.d.mts +0 -1
  721. package/es/Tooltip/useMergedTooltipProps.mjs +2 -4
  722. package/es/Tooltip/useMergedTooltipProps.mjs.map +1 -1
  723. package/es/Video/index.d.mts +2 -3
  724. package/es/Video/index.mjs +5 -8
  725. package/es/Video/index.mjs.map +1 -1
  726. package/es/Video/style.mjs +8 -9
  727. package/es/Video/style.mjs.map +1 -1
  728. package/es/_virtual/_rolldown/runtime.mjs +13 -0
  729. package/es/awesome/AuroraBackground/AuroraBackground.d.mts +2 -2
  730. package/es/awesome/AuroraBackground/AuroraBackground.mjs +3 -6
  731. package/es/awesome/AuroraBackground/AuroraBackground.mjs.map +1 -1
  732. package/es/awesome/AuroraBackground/style.mjs +5 -6
  733. package/es/awesome/AuroraBackground/style.mjs.map +1 -1
  734. package/es/awesome/AuroraBackground/type.d.mts +0 -1
  735. package/es/awesome/BottomGradientButton/BottomGradientButton.d.mts +2 -3
  736. package/es/awesome/BottomGradientButton/BottomGradientButton.mjs +5 -8
  737. package/es/awesome/BottomGradientButton/BottomGradientButton.mjs.map +1 -1
  738. package/es/awesome/BottomGradientButton/style.mjs +4 -5
  739. package/es/awesome/BottomGradientButton/style.mjs.map +1 -1
  740. package/es/awesome/BottomGradientButton/type.d.mts +0 -2
  741. package/es/awesome/Features/FeatureItem.mjs +14 -17
  742. package/es/awesome/Features/FeatureItem.mjs.map +1 -1
  743. package/es/awesome/Features/Features.d.mts +2 -2
  744. package/es/awesome/Features/Features.mjs +7 -10
  745. package/es/awesome/Features/Features.mjs.map +1 -1
  746. package/es/awesome/Features/style.mjs +21 -22
  747. package/es/awesome/Features/style.mjs.map +1 -1
  748. package/es/awesome/Features/type.d.mts +0 -2
  749. package/es/awesome/Giscus/Giscus.d.mts +2 -2
  750. package/es/awesome/Giscus/Giscus.mjs +3 -6
  751. package/es/awesome/Giscus/Giscus.mjs.map +1 -1
  752. package/es/awesome/Giscus/style.mjs +1 -2
  753. package/es/awesome/Giscus/style.mjs.map +1 -1
  754. package/es/awesome/GradientButton/GradientButton.d.mts +2 -2
  755. package/es/awesome/GradientButton/GradientButton.mjs +5 -8
  756. package/es/awesome/GradientButton/GradientButton.mjs.map +1 -1
  757. package/es/awesome/GradientButton/style.mjs +11 -12
  758. package/es/awesome/GradientButton/style.mjs.map +1 -1
  759. package/es/awesome/GradientButton/type.d.mts +0 -2
  760. package/es/awesome/GridBackground/GridBackground.d.mts +2 -2
  761. package/es/awesome/GridBackground/GridBackground.mjs +7 -10
  762. package/es/awesome/GridBackground/GridBackground.mjs.map +1 -1
  763. package/es/awesome/GridBackground/GridShowcase.d.mts +2 -2
  764. package/es/awesome/GridBackground/GridShowcase.mjs +6 -9
  765. package/es/awesome/GridBackground/GridShowcase.mjs.map +1 -1
  766. package/es/awesome/GridBackground/components/Grid.mjs +19 -21
  767. package/es/awesome/GridBackground/components/Grid.mjs.map +1 -1
  768. package/es/awesome/GridBackground/style.mjs +7 -8
  769. package/es/awesome/GridBackground/style.mjs.map +1 -1
  770. package/es/awesome/GridBackground/type.d.mts +0 -1
  771. package/es/awesome/Hero/Hero.d.mts +2 -2
  772. package/es/awesome/Hero/Hero.mjs +18 -21
  773. package/es/awesome/Hero/Hero.mjs.map +1 -1
  774. package/es/awesome/Hero/style.mjs +9 -10
  775. package/es/awesome/Hero/style.mjs.map +1 -1
  776. package/es/awesome/Spline/ParentSize.mjs +2 -4
  777. package/es/awesome/Spline/ParentSize.mjs.map +1 -1
  778. package/es/awesome/Spline/Spine.d.mts +2 -4
  779. package/es/awesome/Spline/Spine.mjs +5 -8
  780. package/es/awesome/Spline/Spine.mjs.map +1 -1
  781. package/es/awesome/Spotlight/Spotlight.d.mts +2 -2
  782. package/es/awesome/Spotlight/Spotlight.mjs +3 -6
  783. package/es/awesome/Spotlight/Spotlight.mjs.map +1 -1
  784. package/es/awesome/Spotlight/style.mjs +10 -11
  785. package/es/awesome/Spotlight/style.mjs.map +1 -1
  786. package/es/awesome/Spotlight/useMouseOffset.mjs +1 -2
  787. package/es/awesome/Spotlight/useMouseOffset.mjs.map +1 -1
  788. package/es/awesome/SpotlightCard/SpotlightCard.d.mts +2 -2
  789. package/es/awesome/SpotlightCard/SpotlightCard.mjs +7 -10
  790. package/es/awesome/SpotlightCard/SpotlightCard.mjs.map +1 -1
  791. package/es/awesome/SpotlightCard/SpotlightCardItem.mjs +3 -6
  792. package/es/awesome/SpotlightCard/SpotlightCardItem.mjs.map +1 -1
  793. package/es/awesome/SpotlightCard/style.mjs +14 -15
  794. package/es/awesome/SpotlightCard/style.mjs.map +1 -1
  795. package/es/awesome/TypewriterEffect/TypewriterEffect.d.mts +2 -2
  796. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +3 -6
  797. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
  798. package/es/awesome/TypewriterEffect/style.mjs +15 -16
  799. package/es/awesome/TypewriterEffect/style.mjs.map +1 -1
  800. package/es/awesome/index.d.mts +0 -11
  801. package/es/awesome/index.mjs +13 -14
  802. package/es/base-ui/ContextMenu/ContextMenuHost.d.mts +3 -3
  803. package/es/base-ui/ContextMenu/ContextMenuHost.mjs +2 -4
  804. package/es/base-ui/ContextMenu/ContextMenuHost.mjs.map +1 -1
  805. package/es/base-ui/ContextMenu/ContextMenuTrigger.mjs +2 -4
  806. package/es/base-ui/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
  807. package/es/base-ui/ContextMenu/index.d.mts +1 -3
  808. package/es/base-ui/ContextMenu/renderItems.d.mts +0 -2
  809. package/es/base-ui/ContextMenu/renderItems.mjs +18 -19
  810. package/es/base-ui/ContextMenu/renderItems.mjs.map +1 -1
  811. package/es/base-ui/ContextMenu/store.d.mts +0 -5
  812. package/es/base-ui/ContextMenu/store.mjs +1 -1
  813. package/es/base-ui/ContextMenu/store.mjs.map +1 -1
  814. package/es/base-ui/ContextMenu/type.d.mts +0 -2
  815. package/es/base-ui/DropdownMenu/DropdownMenu.d.mts +2 -2
  816. package/es/base-ui/DropdownMenu/DropdownMenu.mjs +3 -6
  817. package/es/base-ui/DropdownMenu/DropdownMenu.mjs.map +1 -1
  818. package/es/base-ui/DropdownMenu/atoms.d.mts +21 -21
  819. package/es/base-ui/DropdownMenu/atoms.mjs +2 -4
  820. package/es/base-ui/DropdownMenu/atoms.mjs.map +1 -1
  821. package/es/base-ui/DropdownMenu/renderItems.d.mts +0 -1
  822. package/es/base-ui/DropdownMenu/renderItems.mjs +14 -15
  823. package/es/base-ui/DropdownMenu/renderItems.mjs.map +1 -1
  824. package/es/base-ui/DropdownMenu/type.d.mts +0 -3
  825. package/es/base-ui/Modal/Modal.mjs +3 -6
  826. package/es/base-ui/Modal/Modal.mjs.map +1 -1
  827. package/es/base-ui/Modal/atoms.d.mts +12 -12
  828. package/es/base-ui/Modal/atoms.mjs +2 -4
  829. package/es/base-ui/Modal/atoms.mjs.map +1 -1
  830. package/es/base-ui/Modal/constants.mjs +1 -1
  831. package/es/base-ui/Modal/constants.mjs.map +1 -1
  832. package/es/base-ui/Modal/context.d.mts +2 -2
  833. package/es/base-ui/Modal/context.mjs +2 -4
  834. package/es/base-ui/Modal/context.mjs.map +1 -1
  835. package/es/base-ui/Modal/imperative.d.mts +2 -2
  836. package/es/base-ui/Modal/imperative.mjs +2 -4
  837. package/es/base-ui/Modal/imperative.mjs.map +1 -1
  838. package/es/base-ui/Modal/style.mjs +64 -65
  839. package/es/base-ui/Modal/style.mjs.map +1 -1
  840. package/es/base-ui/Popover/ArrowIcon.d.mts +2 -2
  841. package/es/base-ui/Popover/ArrowIcon.mjs +2 -4
  842. package/es/base-ui/Popover/ArrowIcon.mjs.map +1 -1
  843. package/es/base-ui/Popover/Popover.mjs +4 -7
  844. package/es/base-ui/Popover/Popover.mjs.map +1 -1
  845. package/es/base-ui/Popover/PopoverGroup.mjs +5 -8
  846. package/es/base-ui/Popover/PopoverGroup.mjs.map +1 -1
  847. package/es/base-ui/Popover/PopoverInGroup.mjs +2 -4
  848. package/es/base-ui/Popover/PopoverInGroup.mjs.map +1 -1
  849. package/es/base-ui/Popover/PopoverPortal.mjs +2 -4
  850. package/es/base-ui/Popover/PopoverPortal.mjs.map +1 -1
  851. package/es/base-ui/Popover/PopoverStandalone.mjs +2 -4
  852. package/es/base-ui/Popover/PopoverStandalone.mjs.map +1 -1
  853. package/es/base-ui/Popover/atoms.d.mts +10 -10
  854. package/es/base-ui/Popover/atoms.mjs +2 -4
  855. package/es/base-ui/Popover/atoms.mjs.map +1 -1
  856. package/es/base-ui/Popover/context.d.mts +2 -2
  857. package/es/base-ui/Popover/context.mjs +4 -8
  858. package/es/base-ui/Popover/context.mjs.map +1 -1
  859. package/es/base-ui/Popover/groupContext.d.mts +0 -1
  860. package/es/base-ui/Popover/groupContext.mjs +2 -4
  861. package/es/base-ui/Popover/groupContext.mjs.map +1 -1
  862. package/es/base-ui/Popover/style.mjs +14 -16
  863. package/es/base-ui/Popover/style.mjs.map +1 -1
  864. package/es/base-ui/Popover/type.d.mts +0 -1
  865. package/es/base-ui/Popover/useMergedPopoverProps.mjs +2 -4
  866. package/es/base-ui/Popover/useMergedPopoverProps.mjs.map +1 -1
  867. package/es/base-ui/ScrollArea/ScrollArea.mjs +2 -4
  868. package/es/base-ui/ScrollArea/ScrollArea.mjs.map +1 -1
  869. package/es/base-ui/ScrollArea/atoms.d.mts +7 -7
  870. package/es/base-ui/ScrollArea/atoms.mjs +4 -6
  871. package/es/base-ui/ScrollArea/atoms.mjs.map +1 -1
  872. package/es/base-ui/ScrollArea/globalStyle.mjs +3 -6
  873. package/es/base-ui/ScrollArea/globalStyle.mjs.map +1 -1
  874. package/es/base-ui/ScrollArea/style.mjs +17 -18
  875. package/es/base-ui/ScrollArea/style.mjs.map +1 -1
  876. package/es/base-ui/Select/Select.d.mts +2 -2
  877. package/es/base-ui/Select/Select.mjs +17 -22
  878. package/es/base-ui/Select/Select.mjs.map +1 -1
  879. package/es/base-ui/Select/atoms.d.mts +21 -21
  880. package/es/base-ui/Select/atoms.mjs +2 -4
  881. package/es/base-ui/Select/atoms.mjs.map +1 -1
  882. package/es/base-ui/Select/style.mjs +65 -66
  883. package/es/base-ui/Select/style.mjs.map +1 -1
  884. package/es/base-ui/Select/type.d.mts +0 -1
  885. package/es/base-ui/Switch/Switch.d.mts +2 -2
  886. package/es/base-ui/Switch/Switch.mjs +5 -8
  887. package/es/base-ui/Switch/Switch.mjs.map +1 -1
  888. package/es/base-ui/Switch/atoms.d.mts +4 -4
  889. package/es/base-ui/Switch/atoms.mjs +2 -4
  890. package/es/base-ui/Switch/atoms.mjs.map +1 -1
  891. package/es/base-ui/Switch/style.mjs +24 -25
  892. package/es/base-ui/Switch/style.mjs.map +1 -1
  893. package/es/base-ui/Toast/Toast.mjs +5 -8
  894. package/es/base-ui/Toast/Toast.mjs.map +1 -1
  895. package/es/base-ui/Toast/context.mjs +2 -4
  896. package/es/base-ui/Toast/context.mjs.map +1 -1
  897. package/es/base-ui/Toast/imperative.d.mts +4 -4
  898. package/es/base-ui/Toast/imperative.mjs +4 -6
  899. package/es/base-ui/Toast/imperative.mjs.map +1 -1
  900. package/es/base-ui/Toast/style.mjs +67 -68
  901. package/es/base-ui/Toast/style.mjs.map +1 -1
  902. package/es/base-ui/Toast/type.d.mts +0 -1
  903. package/es/base-ui/index.d.mts +0 -8
  904. package/es/base-ui/index.mjs +6 -7
  905. package/es/brand/BrandLoading/index.mjs +2 -4
  906. package/es/brand/BrandLoading/index.mjs.map +1 -1
  907. package/es/brand/LobeChat/index.d.mts +2 -2
  908. package/es/brand/LobeChat/index.mjs +11 -14
  909. package/es/brand/LobeChat/index.mjs.map +1 -1
  910. package/es/brand/LobeChatText/index.mjs +2 -4
  911. package/es/brand/LobeChatText/index.mjs.map +1 -1
  912. package/es/brand/LobeHub/index.d.mts +2 -2
  913. package/es/brand/LobeHub/index.mjs +11 -14
  914. package/es/brand/LobeHub/index.mjs.map +1 -1
  915. package/es/brand/LobeHub/style.mjs +3 -4
  916. package/es/brand/LobeHub/style.mjs.map +1 -1
  917. package/es/brand/LobeHubText/index.mjs +2 -4
  918. package/es/brand/LobeHubText/index.mjs.map +1 -1
  919. package/es/brand/Logo3d/index.mjs +5 -8
  920. package/es/brand/Logo3d/index.mjs.map +1 -1
  921. package/es/brand/LogoFlat/index.d.mts +2 -2
  922. package/es/brand/LogoFlat/index.mjs +1 -2
  923. package/es/brand/LogoFlat/index.mjs.map +1 -1
  924. package/es/brand/LogoMono/index.mjs +1 -2
  925. package/es/brand/LogoThree/Loading.mjs +6 -8
  926. package/es/brand/LogoThree/Loading.mjs.map +1 -1
  927. package/es/brand/LogoThree/LogoSpline.d.mts +2 -3
  928. package/es/brand/LogoThree/LogoSpline.mjs +5 -7
  929. package/es/brand/LogoThree/LogoSpline.mjs.map +1 -1
  930. package/es/brand/LogoThree/index.d.mts +2 -3
  931. package/es/brand/LogoThree/index.mjs +7 -10
  932. package/es/brand/LogoThree/index.mjs.map +1 -1
  933. package/es/brand/components/Divider.mjs +2 -4
  934. package/es/brand/components/Divider.mjs.map +1 -1
  935. package/es/brand/index.mjs +9 -10
  936. package/es/chat/BackBottom/BackBottom.d.mts +2 -2
  937. package/es/chat/BackBottom/BackBottom.mjs +5 -8
  938. package/es/chat/BackBottom/BackBottom.mjs.map +1 -1
  939. package/es/chat/BackBottom/style.mjs +6 -7
  940. package/es/chat/BackBottom/style.mjs.map +1 -1
  941. package/es/chat/BackBottom/type.d.mts +1 -1
  942. package/es/chat/ChatHeader/ChatHeader.mjs +5 -8
  943. package/es/chat/ChatHeader/ChatHeader.mjs.map +1 -1
  944. package/es/chat/ChatHeader/ChatHeaderTitle.mjs +2 -4
  945. package/es/chat/ChatHeader/ChatHeaderTitle.mjs.map +1 -1
  946. package/es/chat/ChatHeader/index.mjs +6 -8
  947. package/es/chat/ChatHeader/index.mjs.map +1 -1
  948. package/es/chat/ChatHeader/style.mjs +16 -17
  949. package/es/chat/ChatHeader/style.mjs.map +1 -1
  950. package/es/chat/ChatHeader/type.d.mts +0 -1
  951. package/es/chat/ChatInputArea/ChatInputArea.mjs +7 -10
  952. package/es/chat/ChatInputArea/ChatInputArea.mjs.map +1 -1
  953. package/es/chat/ChatInputArea/components/ChatInputActionBar.mjs +3 -6
  954. package/es/chat/ChatInputArea/components/ChatInputActionBar.mjs.map +1 -1
  955. package/es/chat/ChatInputArea/components/ChatInputAreaInner.d.mts +2 -2
  956. package/es/chat/ChatInputArea/components/ChatInputAreaInner.mjs +5 -8
  957. package/es/chat/ChatInputArea/components/ChatInputAreaInner.mjs.map +1 -1
  958. package/es/chat/ChatInputArea/components/ChatSendButton.mjs +8 -10
  959. package/es/chat/ChatInputArea/components/ChatSendButton.mjs.map +1 -1
  960. package/es/chat/ChatInputArea/index.mjs +10 -12
  961. package/es/chat/ChatInputArea/index.mjs.map +1 -1
  962. package/es/chat/ChatInputArea/style.mjs +9 -10
  963. package/es/chat/ChatInputArea/style.mjs.map +1 -1
  964. package/es/chat/ChatInputArea/type.d.mts +1 -4
  965. package/es/chat/ChatItem/ChatItem.d.mts +2 -2
  966. package/es/chat/ChatItem/ChatItem.mjs +16 -19
  967. package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
  968. package/es/chat/ChatItem/components/Actions.mjs +2 -4
  969. package/es/chat/ChatItem/components/Actions.mjs.map +1 -1
  970. package/es/chat/ChatItem/components/Avatar.mjs +6 -8
  971. package/es/chat/ChatItem/components/Avatar.mjs.map +1 -1
  972. package/es/chat/ChatItem/components/BorderSpacing.mjs +2 -4
  973. package/es/chat/ChatItem/components/BorderSpacing.mjs.map +1 -1
  974. package/es/chat/ChatItem/components/ErrorContent.mjs +4 -6
  975. package/es/chat/ChatItem/components/ErrorContent.mjs.map +1 -1
  976. package/es/chat/ChatItem/components/Loading.mjs +4 -6
  977. package/es/chat/ChatItem/components/Loading.mjs.map +1 -1
  978. package/es/chat/ChatItem/components/MessageContent.mjs +4 -6
  979. package/es/chat/ChatItem/components/MessageContent.mjs.map +1 -1
  980. package/es/chat/ChatItem/components/Title.mjs +2 -4
  981. package/es/chat/ChatItem/components/Title.mjs.map +1 -1
  982. package/es/chat/ChatItem/style.mjs +53 -54
  983. package/es/chat/ChatItem/style.mjs.map +1 -1
  984. package/es/chat/ChatItem/type.d.mts +0 -6
  985. package/es/chat/ChatList/ChatList.d.mts +2 -2
  986. package/es/chat/ChatList/ChatList.mjs +7 -10
  987. package/es/chat/ChatList/ChatList.mjs.map +1 -1
  988. package/es/chat/ChatList/components/ChatActionsBar.mjs +4 -6
  989. package/es/chat/ChatList/components/ChatActionsBar.mjs.map +1 -1
  990. package/es/chat/ChatList/components/ChatListItem.mjs +13 -15
  991. package/es/chat/ChatList/components/ChatListItem.mjs.map +1 -1
  992. package/es/chat/ChatList/components/HistoryDivider.mjs +6 -8
  993. package/es/chat/ChatList/components/HistoryDivider.mjs.map +1 -1
  994. package/es/chat/ChatList/components/useChatListActionsBar.mjs +2 -4
  995. package/es/chat/ChatList/components/useChatListActionsBar.mjs.map +1 -1
  996. package/es/chat/ChatList/style.mjs +3 -4
  997. package/es/chat/ChatList/style.mjs.map +1 -1
  998. package/es/chat/ChatList/type.d.mts +0 -4
  999. package/es/chat/EditableMessage/EditableMessage.d.mts +2 -2
  1000. package/es/chat/EditableMessage/EditableMessage.mjs +11 -14
  1001. package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
  1002. package/es/chat/EditableMessage/type.d.mts +0 -3
  1003. package/es/chat/EditableMessageList/EditableMessageList.d.mts +2 -2
  1004. package/es/chat/EditableMessageList/EditableMessageList.mjs +11 -14
  1005. package/es/chat/EditableMessageList/EditableMessageList.mjs.map +1 -1
  1006. package/es/chat/EditableMessageList/messageReducer.mjs +1 -2
  1007. package/es/chat/EditableMessageList/messageReducer.mjs.map +1 -1
  1008. package/es/chat/EditableMessageList/type.d.mts +0 -2
  1009. package/es/chat/LoadingDots/LoadingDots.mjs +3 -6
  1010. package/es/chat/LoadingDots/LoadingDots.mjs.map +1 -1
  1011. package/es/chat/LoadingDots/style.mjs +12 -13
  1012. package/es/chat/LoadingDots/style.mjs.map +1 -1
  1013. package/es/chat/MessageInput/MessageInput.d.mts +2 -2
  1014. package/es/chat/MessageInput/MessageInput.mjs +14 -17
  1015. package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
  1016. package/es/chat/MessageInput/style.mjs +3 -4
  1017. package/es/chat/MessageInput/style.mjs.map +1 -1
  1018. package/es/chat/MessageInput/type.d.mts +0 -3
  1019. package/es/chat/MessageModal/MessageModal.d.mts +2 -2
  1020. package/es/chat/MessageModal/MessageModal.mjs +16 -19
  1021. package/es/chat/MessageModal/MessageModal.mjs.map +1 -1
  1022. package/es/chat/MessageModal/type.d.mts +0 -2
  1023. package/es/chat/TokenTag/TokenTag.mjs +5 -8
  1024. package/es/chat/TokenTag/TokenTag.mjs.map +1 -1
  1025. package/es/chat/TokenTag/type.d.mts +0 -2
  1026. package/es/chat/index.d.mts +0 -10
  1027. package/es/chat/index.mjs +17 -18
  1028. package/es/chat/types/chatMessage.d.mts +0 -1
  1029. package/es/chat/types/error.mjs +1 -1
  1030. package/es/chat/types/llm.d.mts +1 -1
  1031. package/es/chat/types/llm.mjs +7 -7
  1032. package/es/chat/types/llm.mjs.map +1 -1
  1033. package/es/color/ColorScales/ScaleRow.mjs +2 -4
  1034. package/es/color/ColorScales/ScaleRow.mjs.map +1 -1
  1035. package/es/color/ColorScales/index.d.mts +2 -2
  1036. package/es/color/ColorScales/index.mjs +8 -11
  1037. package/es/color/ColorScales/index.mjs.map +1 -1
  1038. package/es/color/ColorScales/style.mjs +7 -8
  1039. package/es/color/ColorScales/style.mjs.map +1 -1
  1040. package/es/color/CssVar/ScaleRow.mjs +2 -4
  1041. package/es/color/CssVar/ScaleRow.mjs.map +1 -1
  1042. package/es/color/CssVar/VarRow.mjs +2 -4
  1043. package/es/color/CssVar/VarRow.mjs.map +1 -1
  1044. package/es/color/CssVar/index.d.mts +2 -2
  1045. package/es/color/CssVar/index.mjs +10 -13
  1046. package/es/color/CssVar/index.mjs.map +1 -1
  1047. package/es/color/CssVar/style.mjs +7 -8
  1048. package/es/color/CssVar/style.mjs.map +1 -1
  1049. package/es/color/colors/blue.mjs +2 -3
  1050. package/es/color/colors/blue.mjs.map +1 -1
  1051. package/es/color/colors/cyan.mjs +2 -3
  1052. package/es/color/colors/cyan.mjs.map +1 -1
  1053. package/es/color/colors/geekblue.mjs +2 -3
  1054. package/es/color/colors/geekblue.mjs.map +1 -1
  1055. package/es/color/colors/gold.mjs +2 -3
  1056. package/es/color/colors/gold.mjs.map +1 -1
  1057. package/es/color/colors/gray.mjs +2 -3
  1058. package/es/color/colors/gray.mjs.map +1 -1
  1059. package/es/color/colors/green.mjs +2 -3
  1060. package/es/color/colors/green.mjs.map +1 -1
  1061. package/es/color/colors/index.mjs +29 -30
  1062. package/es/color/colors/index.mjs.map +1 -1
  1063. package/es/color/colors/lime.mjs +2 -3
  1064. package/es/color/colors/lime.mjs.map +1 -1
  1065. package/es/color/colors/magenta.mjs +2 -3
  1066. package/es/color/colors/magenta.mjs.map +1 -1
  1067. package/es/color/colors/orange.mjs +2 -3
  1068. package/es/color/colors/orange.mjs.map +1 -1
  1069. package/es/color/colors/primary.mjs +2 -3
  1070. package/es/color/colors/primary.mjs.map +1 -1
  1071. package/es/color/colors/purple.mjs +2 -3
  1072. package/es/color/colors/purple.mjs.map +1 -1
  1073. package/es/color/colors/red.mjs +2 -3
  1074. package/es/color/colors/red.mjs.map +1 -1
  1075. package/es/color/colors/volcano.mjs +2 -3
  1076. package/es/color/colors/volcano.mjs.map +1 -1
  1077. package/es/color/colors/yellow.mjs +2 -3
  1078. package/es/color/colors/yellow.mjs.map +1 -1
  1079. package/es/color/index.mjs +22 -23
  1080. package/es/color/neutrals/index.mjs +11 -12
  1081. package/es/color/neutrals/index.mjs.map +1 -1
  1082. package/es/color/neutrals/mauve.mjs +2 -3
  1083. package/es/color/neutrals/mauve.mjs.map +1 -1
  1084. package/es/color/neutrals/olive.mjs +2 -3
  1085. package/es/color/neutrals/olive.mjs.map +1 -1
  1086. package/es/color/neutrals/sage.mjs +2 -3
  1087. package/es/color/neutrals/sage.mjs.map +1 -1
  1088. package/es/color/neutrals/sand.mjs +2 -3
  1089. package/es/color/neutrals/sand.mjs.map +1 -1
  1090. package/es/color/neutrals/slate.mjs +2 -3
  1091. package/es/color/neutrals/slate.mjs.map +1 -1
  1092. package/es/hooks/useCopied.mjs +2 -4
  1093. package/es/hooks/useCopied.mjs.map +1 -1
  1094. package/es/hooks/useEventCallback.mjs +1 -2
  1095. package/es/hooks/useEventCallback.mjs.map +1 -1
  1096. package/es/hooks/useFloatingLayer.mjs +2 -4
  1097. package/es/hooks/useFloatingLayer.mjs.map +1 -1
  1098. package/es/hooks/useHighlight.mjs +3 -7
  1099. package/es/hooks/useHighlight.mjs.map +1 -1
  1100. package/es/hooks/useIsClient.mjs +1 -2
  1101. package/es/hooks/useIsClient.mjs.map +1 -1
  1102. package/es/hooks/useMarkdown/latex.mjs +1 -2
  1103. package/es/hooks/useMarkdown/latex.mjs.map +1 -1
  1104. package/es/hooks/useMarkdown/useMarkdownComponents.mjs +12 -14
  1105. package/es/hooks/useMarkdown/useMarkdownComponents.mjs.map +1 -1
  1106. package/es/hooks/useMarkdown/useMarkdownContent.mjs +2 -4
  1107. package/es/hooks/useMarkdown/useMarkdownContent.mjs.map +1 -1
  1108. package/es/hooks/useMarkdown/useMarkdownRehypePlugins.mjs +2 -4
  1109. package/es/hooks/useMarkdown/useMarkdownRehypePlugins.mjs.map +1 -1
  1110. package/es/hooks/useMarkdown/useMarkdownRemarkPlugins.mjs +2 -4
  1111. package/es/hooks/useMarkdown/useMarkdownRemarkPlugins.mjs.map +1 -1
  1112. package/es/hooks/useMarkdown/utils.d.mts +0 -1
  1113. package/es/hooks/useMarkdown/utils.mjs +1 -2
  1114. package/es/hooks/useMarkdown/utils.mjs.map +1 -1
  1115. package/es/hooks/useMermaid.mjs +3 -7
  1116. package/es/hooks/useMermaid.mjs.map +1 -1
  1117. package/es/hooks/useNativeButton.mjs +1 -2
  1118. package/es/hooks/useNativeButton.mjs.map +1 -1
  1119. package/es/hooks/useStreamHighlight.mjs +2 -4
  1120. package/es/hooks/useStreamHighlight.mjs.map +1 -1
  1121. package/es/hooks/useStreamMermaid.mjs +6 -8
  1122. package/es/hooks/useStreamMermaid.mjs.map +1 -1
  1123. package/es/hooks/useTextOverflow.mjs +1 -2
  1124. package/es/hooks/useTextOverflow.mjs.map +1 -1
  1125. package/es/i18n/context.d.mts +2 -3
  1126. package/es/i18n/context.mjs +3 -4
  1127. package/es/i18n/context.mjs.map +1 -1
  1128. package/es/i18n/index.mjs +1 -2
  1129. package/es/i18n/resources/en/chat.mjs +1 -1
  1130. package/es/i18n/resources/en/chat.mjs.map +1 -1
  1131. package/es/i18n/resources/en/common.mjs +1 -1
  1132. package/es/i18n/resources/en/common.mjs.map +1 -1
  1133. package/es/i18n/resources/en/editableMessage.mjs +1 -1
  1134. package/es/i18n/resources/en/editableMessage.mjs.map +1 -1
  1135. package/es/i18n/resources/en/emojiPicker.mjs +1 -1
  1136. package/es/i18n/resources/en/emojiPicker.mjs.map +1 -1
  1137. package/es/i18n/resources/en/form.mjs +1 -1
  1138. package/es/i18n/resources/en/form.mjs.map +1 -1
  1139. package/es/i18n/resources/en/hotkey.mjs +1 -1
  1140. package/es/i18n/resources/en/hotkey.mjs.map +1 -1
  1141. package/es/i18n/resources/en/image.mjs +1 -1
  1142. package/es/i18n/resources/en/image.mjs.map +1 -1
  1143. package/es/i18n/resources/en/index.mjs +2 -3
  1144. package/es/i18n/resources/en/messageModal.mjs +1 -1
  1145. package/es/i18n/resources/en/messageModal.mjs.map +1 -1
  1146. package/es/i18n/resources/en/sideNav.mjs +1 -1
  1147. package/es/i18n/resources/en/sideNav.mjs.map +1 -1
  1148. package/es/i18n/resources/index.mjs +1 -2
  1149. package/es/i18n/resources/zhCn/chat.mjs +1 -1
  1150. package/es/i18n/resources/zhCn/chat.mjs.map +1 -1
  1151. package/es/i18n/resources/zhCn/common.mjs +1 -1
  1152. package/es/i18n/resources/zhCn/common.mjs.map +1 -1
  1153. package/es/i18n/resources/zhCn/editableMessage.mjs +1 -1
  1154. package/es/i18n/resources/zhCn/editableMessage.mjs.map +1 -1
  1155. package/es/i18n/resources/zhCn/emojiPicker.mjs +1 -1
  1156. package/es/i18n/resources/zhCn/emojiPicker.mjs.map +1 -1
  1157. package/es/i18n/resources/zhCn/form.mjs +1 -1
  1158. package/es/i18n/resources/zhCn/form.mjs.map +1 -1
  1159. package/es/i18n/resources/zhCn/hotkey.mjs +1 -1
  1160. package/es/i18n/resources/zhCn/hotkey.mjs.map +1 -1
  1161. package/es/i18n/resources/zhCn/image.mjs +1 -1
  1162. package/es/i18n/resources/zhCn/image.mjs.map +1 -1
  1163. package/es/i18n/resources/zhCn/index.mjs +2 -3
  1164. package/es/i18n/resources/zhCn/messageModal.mjs +1 -1
  1165. package/es/i18n/resources/zhCn/messageModal.mjs.map +1 -1
  1166. package/es/i18n/resources/zhCn/sideNav.mjs +1 -1
  1167. package/es/i18n/resources/zhCn/sideNav.mjs.map +1 -1
  1168. package/es/i18n/useTranslation.mjs +1 -2
  1169. package/es/i18n/useTranslation.mjs.map +1 -1
  1170. package/es/icons/Auth0/components/Avatar.mjs +7 -10
  1171. package/es/icons/Auth0/components/Avatar.mjs.map +1 -1
  1172. package/es/icons/Auth0/components/Mono.mjs +3 -6
  1173. package/es/icons/Auth0/components/Mono.mjs.map +1 -1
  1174. package/es/icons/Auth0/index.mjs +7 -10
  1175. package/es/icons/Auth0/index.mjs.map +1 -1
  1176. package/es/icons/Auth0/style.mjs +1 -1
  1177. package/es/icons/Authelia/components/Avatar.mjs +7 -10
  1178. package/es/icons/Authelia/components/Avatar.mjs.map +1 -1
  1179. package/es/icons/Authelia/components/Color.mjs +3 -6
  1180. package/es/icons/Authelia/components/Color.mjs.map +1 -1
  1181. package/es/icons/Authelia/components/Mono.mjs +3 -6
  1182. package/es/icons/Authelia/components/Mono.mjs.map +1 -1
  1183. package/es/icons/Authelia/index.mjs +9 -12
  1184. package/es/icons/Authelia/index.mjs.map +1 -1
  1185. package/es/icons/Authelia/style.mjs +1 -1
  1186. package/es/icons/Authentik/components/Avatar.mjs +7 -10
  1187. package/es/icons/Authentik/components/Avatar.mjs.map +1 -1
  1188. package/es/icons/Authentik/components/Color.mjs +3 -6
  1189. package/es/icons/Authentik/components/Color.mjs.map +1 -1
  1190. package/es/icons/Authentik/components/Mono.mjs +3 -6
  1191. package/es/icons/Authentik/components/Mono.mjs.map +1 -1
  1192. package/es/icons/Authentik/index.mjs +9 -12
  1193. package/es/icons/Authentik/index.mjs.map +1 -1
  1194. package/es/icons/Authentik/style.mjs +1 -1
  1195. package/es/icons/Casdoor/components/Avatar.mjs +7 -10
  1196. package/es/icons/Casdoor/components/Avatar.mjs.map +1 -1
  1197. package/es/icons/Casdoor/components/Color.mjs +3 -6
  1198. package/es/icons/Casdoor/components/Color.mjs.map +1 -1
  1199. package/es/icons/Casdoor/components/Mono.mjs +3 -6
  1200. package/es/icons/Casdoor/components/Mono.mjs.map +1 -1
  1201. package/es/icons/Casdoor/index.mjs +9 -12
  1202. package/es/icons/Casdoor/index.mjs.map +1 -1
  1203. package/es/icons/Casdoor/style.mjs +1 -1
  1204. package/es/icons/Clerk/components/Avatar.mjs +7 -10
  1205. package/es/icons/Clerk/components/Avatar.mjs.map +1 -1
  1206. package/es/icons/Clerk/components/Color.mjs +3 -6
  1207. package/es/icons/Clerk/components/Color.mjs.map +1 -1
  1208. package/es/icons/Clerk/components/Mono.mjs +3 -6
  1209. package/es/icons/Clerk/components/Mono.mjs.map +1 -1
  1210. package/es/icons/Clerk/index.mjs +9 -12
  1211. package/es/icons/Clerk/index.mjs.map +1 -1
  1212. package/es/icons/Clerk/style.mjs +1 -1
  1213. package/es/icons/Discord/components/Avatar.mjs +7 -10
  1214. package/es/icons/Discord/components/Avatar.mjs.map +1 -1
  1215. package/es/icons/Discord/components/Color.mjs +3 -6
  1216. package/es/icons/Discord/components/Color.mjs.map +1 -1
  1217. package/es/icons/Discord/components/Mono.mjs +3 -6
  1218. package/es/icons/Discord/components/Mono.mjs.map +1 -1
  1219. package/es/icons/Discord/index.mjs +9 -12
  1220. package/es/icons/Discord/index.mjs.map +1 -1
  1221. package/es/icons/Discord/style.mjs +1 -1
  1222. package/es/icons/GoogleChat/components/Avatar.mjs +7 -10
  1223. package/es/icons/GoogleChat/components/Avatar.mjs.map +1 -1
  1224. package/es/icons/GoogleChat/components/Color.mjs +3 -6
  1225. package/es/icons/GoogleChat/components/Color.mjs.map +1 -1
  1226. package/es/icons/GoogleChat/components/Mono.mjs +3 -6
  1227. package/es/icons/GoogleChat/components/Mono.mjs.map +1 -1
  1228. package/es/icons/GoogleChat/index.mjs +9 -12
  1229. package/es/icons/GoogleChat/index.mjs.map +1 -1
  1230. package/es/icons/GoogleChat/style.mjs +1 -1
  1231. package/es/icons/IMessage/components/Avatar.mjs +7 -10
  1232. package/es/icons/IMessage/components/Avatar.mjs.map +1 -1
  1233. package/es/icons/IMessage/components/Color.mjs +3 -6
  1234. package/es/icons/IMessage/components/Color.mjs.map +1 -1
  1235. package/es/icons/IMessage/components/Inner.mjs +3 -6
  1236. package/es/icons/IMessage/components/Inner.mjs.map +1 -1
  1237. package/es/icons/IMessage/components/Mono.mjs +3 -6
  1238. package/es/icons/IMessage/components/Mono.mjs.map +1 -1
  1239. package/es/icons/IMessage/index.mjs +9 -12
  1240. package/es/icons/IMessage/index.mjs.map +1 -1
  1241. package/es/icons/IMessage/style.mjs +1 -1
  1242. package/es/icons/Lark/components/Avatar.mjs +7 -10
  1243. package/es/icons/Lark/components/Avatar.mjs.map +1 -1
  1244. package/es/icons/Lark/components/Color.mjs +3 -6
  1245. package/es/icons/Lark/components/Color.mjs.map +1 -1
  1246. package/es/icons/Lark/components/Mono.mjs +3 -6
  1247. package/es/icons/Lark/components/Mono.mjs.map +1 -1
  1248. package/es/icons/Lark/index.mjs +9 -12
  1249. package/es/icons/Lark/index.mjs.map +1 -1
  1250. package/es/icons/Lark/style.mjs +1 -1
  1251. package/es/icons/Logto/components/Avatar.mjs +7 -10
  1252. package/es/icons/Logto/components/Avatar.mjs.map +1 -1
  1253. package/es/icons/Logto/components/Color.mjs +3 -6
  1254. package/es/icons/Logto/components/Color.mjs.map +1 -1
  1255. package/es/icons/Logto/components/Mono.mjs +3 -6
  1256. package/es/icons/Logto/components/Mono.mjs.map +1 -1
  1257. package/es/icons/Logto/index.mjs +9 -12
  1258. package/es/icons/Logto/index.mjs.map +1 -1
  1259. package/es/icons/Logto/style.mjs +1 -1
  1260. package/es/icons/MicrosoftEntra/components/Avatar.mjs +7 -10
  1261. package/es/icons/MicrosoftEntra/components/Avatar.mjs.map +1 -1
  1262. package/es/icons/MicrosoftEntra/components/Color.mjs +3 -6
  1263. package/es/icons/MicrosoftEntra/components/Color.mjs.map +1 -1
  1264. package/es/icons/MicrosoftEntra/components/Mono.mjs +3 -6
  1265. package/es/icons/MicrosoftEntra/components/Mono.mjs.map +1 -1
  1266. package/es/icons/MicrosoftEntra/index.mjs +9 -12
  1267. package/es/icons/MicrosoftEntra/index.mjs.map +1 -1
  1268. package/es/icons/MicrosoftEntra/style.mjs +1 -1
  1269. package/es/icons/MicrosoftTeams/components/Avatar.mjs +7 -10
  1270. package/es/icons/MicrosoftTeams/components/Avatar.mjs.map +1 -1
  1271. package/es/icons/MicrosoftTeams/components/Color.mjs +3 -6
  1272. package/es/icons/MicrosoftTeams/components/Color.mjs.map +1 -1
  1273. package/es/icons/MicrosoftTeams/components/Mono.mjs +3 -6
  1274. package/es/icons/MicrosoftTeams/components/Mono.mjs.map +1 -1
  1275. package/es/icons/MicrosoftTeams/index.mjs +9 -12
  1276. package/es/icons/MicrosoftTeams/index.mjs.map +1 -1
  1277. package/es/icons/MicrosoftTeams/style.mjs +1 -1
  1278. package/es/icons/NextAuth/components/Avatar.mjs +7 -10
  1279. package/es/icons/NextAuth/components/Avatar.mjs.map +1 -1
  1280. package/es/icons/NextAuth/components/Color.mjs +3 -6
  1281. package/es/icons/NextAuth/components/Color.mjs.map +1 -1
  1282. package/es/icons/NextAuth/components/Mono.mjs +3 -6
  1283. package/es/icons/NextAuth/components/Mono.mjs.map +1 -1
  1284. package/es/icons/NextAuth/index.mjs +9 -12
  1285. package/es/icons/NextAuth/index.mjs.map +1 -1
  1286. package/es/icons/NextAuth/style.mjs +1 -1
  1287. package/es/icons/QQ/components/Avatar.mjs +8 -11
  1288. package/es/icons/QQ/components/Avatar.mjs.map +1 -1
  1289. package/es/icons/QQ/components/Color.mjs +4 -8
  1290. package/es/icons/QQ/components/Color.mjs.map +1 -1
  1291. package/es/icons/QQ/components/Mono.mjs +4 -8
  1292. package/es/icons/QQ/components/Mono.mjs.map +1 -1
  1293. package/es/icons/QQ/index.mjs +11 -14
  1294. package/es/icons/QQ/index.mjs.map +1 -1
  1295. package/es/icons/QQ/style.mjs +2 -3
  1296. package/es/icons/QQ/style.mjs.map +1 -1
  1297. package/es/icons/Slack/components/Avatar.mjs +7 -10
  1298. package/es/icons/Slack/components/Avatar.mjs.map +1 -1
  1299. package/es/icons/Slack/components/Color.mjs +3 -6
  1300. package/es/icons/Slack/components/Color.mjs.map +1 -1
  1301. package/es/icons/Slack/components/Mono.mjs +3 -6
  1302. package/es/icons/Slack/components/Mono.mjs.map +1 -1
  1303. package/es/icons/Slack/index.mjs +9 -12
  1304. package/es/icons/Slack/index.mjs.map +1 -1
  1305. package/es/icons/Slack/style.mjs +1 -1
  1306. package/es/icons/Telegram/components/Avatar.mjs +7 -10
  1307. package/es/icons/Telegram/components/Avatar.mjs.map +1 -1
  1308. package/es/icons/Telegram/components/Color.mjs +3 -6
  1309. package/es/icons/Telegram/components/Color.mjs.map +1 -1
  1310. package/es/icons/Telegram/components/Inner.mjs +3 -6
  1311. package/es/icons/Telegram/components/Inner.mjs.map +1 -1
  1312. package/es/icons/Telegram/components/Mono.mjs +3 -6
  1313. package/es/icons/Telegram/components/Mono.mjs.map +1 -1
  1314. package/es/icons/Telegram/index.mjs +9 -12
  1315. package/es/icons/Telegram/index.mjs.map +1 -1
  1316. package/es/icons/Telegram/style.mjs +1 -1
  1317. package/es/icons/WeChat/components/Avatar.mjs +7 -10
  1318. package/es/icons/WeChat/components/Avatar.mjs.map +1 -1
  1319. package/es/icons/WeChat/components/Color.mjs +3 -6
  1320. package/es/icons/WeChat/components/Color.mjs.map +1 -1
  1321. package/es/icons/WeChat/components/Mono.mjs +3 -6
  1322. package/es/icons/WeChat/components/Mono.mjs.map +1 -1
  1323. package/es/icons/WeChat/index.mjs +9 -12
  1324. package/es/icons/WeChat/index.mjs.map +1 -1
  1325. package/es/icons/WeChat/style.mjs +1 -1
  1326. package/es/icons/WhatsApp/components/Avatar.mjs +7 -10
  1327. package/es/icons/WhatsApp/components/Avatar.mjs.map +1 -1
  1328. package/es/icons/WhatsApp/components/Color.mjs +3 -6
  1329. package/es/icons/WhatsApp/components/Color.mjs.map +1 -1
  1330. package/es/icons/WhatsApp/components/Mono.mjs +3 -6
  1331. package/es/icons/WhatsApp/components/Mono.mjs.map +1 -1
  1332. package/es/icons/WhatsApp/index.mjs +9 -12
  1333. package/es/icons/WhatsApp/index.mjs.map +1 -1
  1334. package/es/icons/WhatsApp/style.mjs +1 -1
  1335. package/es/icons/Zitadel/components/Avatar.mjs +7 -10
  1336. package/es/icons/Zitadel/components/Avatar.mjs.map +1 -1
  1337. package/es/icons/Zitadel/components/Color.mjs +3 -6
  1338. package/es/icons/Zitadel/components/Color.mjs.map +1 -1
  1339. package/es/icons/Zitadel/components/Mono.mjs +3 -6
  1340. package/es/icons/Zitadel/components/Mono.mjs.map +1 -1
  1341. package/es/icons/Zitadel/index.mjs +9 -12
  1342. package/es/icons/Zitadel/index.mjs.map +1 -1
  1343. package/es/icons/Zitadel/style.mjs +1 -1
  1344. package/es/icons/index.d.mts +0 -1
  1345. package/es/icons/index.mjs +57 -58
  1346. package/es/icons/lucideExtra/AndroidIcon.d.mts +3 -3
  1347. package/es/icons/lucideExtra/AndroidIcon.mjs +2 -4
  1348. package/es/icons/lucideExtra/AndroidIcon.mjs.map +1 -1
  1349. package/es/icons/lucideExtra/AppleIcon.d.mts +3 -3
  1350. package/es/icons/lucideExtra/AppleIcon.mjs +2 -4
  1351. package/es/icons/lucideExtra/AppleIcon.mjs.map +1 -1
  1352. package/es/icons/lucideExtra/AppstoreIcon.d.mts +3 -3
  1353. package/es/icons/lucideExtra/AppstoreIcon.mjs +2 -4
  1354. package/es/icons/lucideExtra/AppstoreIcon.mjs.map +1 -1
  1355. package/es/icons/lucideExtra/BotPromptIcon.d.mts +3 -3
  1356. package/es/icons/lucideExtra/BotPromptIcon.mjs +2 -4
  1357. package/es/icons/lucideExtra/BotPromptIcon.mjs.map +1 -1
  1358. package/es/icons/lucideExtra/BrainOffIcon.d.mts +3 -3
  1359. package/es/icons/lucideExtra/BrainOffIcon.mjs +2 -4
  1360. package/es/icons/lucideExtra/BrainOffIcon.mjs.map +1 -1
  1361. package/es/icons/lucideExtra/ChromeIcon.d.mts +3 -3
  1362. package/es/icons/lucideExtra/ChromeIcon.mjs +2 -4
  1363. package/es/icons/lucideExtra/ChromeIcon.mjs.map +1 -1
  1364. package/es/icons/lucideExtra/CodepenIcon.d.mts +3 -3
  1365. package/es/icons/lucideExtra/CodepenIcon.mjs +2 -4
  1366. package/es/icons/lucideExtra/CodepenIcon.mjs.map +1 -1
  1367. package/es/icons/lucideExtra/CodesandboxIcon.d.mts +3 -3
  1368. package/es/icons/lucideExtra/CodesandboxIcon.mjs +2 -4
  1369. package/es/icons/lucideExtra/CodesandboxIcon.mjs.map +1 -1
  1370. package/es/icons/lucideExtra/CreateBotIcon.d.mts +3 -3
  1371. package/es/icons/lucideExtra/CreateBotIcon.mjs +2 -4
  1372. package/es/icons/lucideExtra/CreateBotIcon.mjs.map +1 -1
  1373. package/es/icons/lucideExtra/DiscordIcon.d.mts +3 -3
  1374. package/es/icons/lucideExtra/DiscordIcon.mjs +2 -4
  1375. package/es/icons/lucideExtra/DiscordIcon.mjs.map +1 -1
  1376. package/es/icons/lucideExtra/FacebookIcon.d.mts +3 -3
  1377. package/es/icons/lucideExtra/FacebookIcon.mjs +2 -4
  1378. package/es/icons/lucideExtra/FacebookIcon.mjs.map +1 -1
  1379. package/es/icons/lucideExtra/FigmaIcon.d.mts +3 -3
  1380. package/es/icons/lucideExtra/FigmaIcon.mjs +2 -4
  1381. package/es/icons/lucideExtra/FigmaIcon.mjs.map +1 -1
  1382. package/es/icons/lucideExtra/FramerIcon.d.mts +3 -3
  1383. package/es/icons/lucideExtra/FramerIcon.mjs +2 -4
  1384. package/es/icons/lucideExtra/FramerIcon.mjs.map +1 -1
  1385. package/es/icons/lucideExtra/GithubIcon.d.mts +3 -3
  1386. package/es/icons/lucideExtra/GithubIcon.mjs +2 -4
  1387. package/es/icons/lucideExtra/GithubIcon.mjs.map +1 -1
  1388. package/es/icons/lucideExtra/GitlabIcon.d.mts +3 -3
  1389. package/es/icons/lucideExtra/GitlabIcon.mjs +2 -4
  1390. package/es/icons/lucideExtra/GitlabIcon.mjs.map +1 -1
  1391. package/es/icons/lucideExtra/GlobeOffIcon.d.mts +3 -3
  1392. package/es/icons/lucideExtra/GlobeOffIcon.mjs +2 -4
  1393. package/es/icons/lucideExtra/GlobeOffIcon.mjs.map +1 -1
  1394. package/es/icons/lucideExtra/GooglePlayIcon.d.mts +3 -3
  1395. package/es/icons/lucideExtra/GooglePlayIcon.mjs +2 -4
  1396. package/es/icons/lucideExtra/GooglePlayIcon.mjs.map +1 -1
  1397. package/es/icons/lucideExtra/GroupBotIcon.d.mts +3 -3
  1398. package/es/icons/lucideExtra/GroupBotIcon.mjs +2 -4
  1399. package/es/icons/lucideExtra/GroupBotIcon.mjs.map +1 -1
  1400. package/es/icons/lucideExtra/GroupBotSquareIcon.d.mts +3 -3
  1401. package/es/icons/lucideExtra/GroupBotSquareIcon.mjs +2 -4
  1402. package/es/icons/lucideExtra/GroupBotSquareIcon.mjs.map +1 -1
  1403. package/es/icons/lucideExtra/InstagramIcon.d.mts +3 -3
  1404. package/es/icons/lucideExtra/InstagramIcon.mjs +2 -4
  1405. package/es/icons/lucideExtra/InstagramIcon.mjs.map +1 -1
  1406. package/es/icons/lucideExtra/LeftClickIcon.d.mts +3 -3
  1407. package/es/icons/lucideExtra/LeftClickIcon.mjs +2 -4
  1408. package/es/icons/lucideExtra/LeftClickIcon.mjs.map +1 -1
  1409. package/es/icons/lucideExtra/LeftDoubleClickIcon.d.mts +3 -3
  1410. package/es/icons/lucideExtra/LeftDoubleClickIcon.mjs +2 -4
  1411. package/es/icons/lucideExtra/LeftDoubleClickIcon.mjs.map +1 -1
  1412. package/es/icons/lucideExtra/LinkedinIcon.d.mts +3 -3
  1413. package/es/icons/lucideExtra/LinkedinIcon.mjs +2 -4
  1414. package/es/icons/lucideExtra/LinkedinIcon.mjs.map +1 -1
  1415. package/es/icons/lucideExtra/McpIcon.d.mts +3 -3
  1416. package/es/icons/lucideExtra/McpIcon.mjs +2 -4
  1417. package/es/icons/lucideExtra/McpIcon.mjs.map +1 -1
  1418. package/es/icons/lucideExtra/NotionIcon.d.mts +3 -3
  1419. package/es/icons/lucideExtra/NotionIcon.mjs +2 -4
  1420. package/es/icons/lucideExtra/NotionIcon.mjs.map +1 -1
  1421. package/es/icons/lucideExtra/PocketIcon.d.mts +3 -3
  1422. package/es/icons/lucideExtra/PocketIcon.mjs +2 -4
  1423. package/es/icons/lucideExtra/PocketIcon.mjs.map +1 -1
  1424. package/es/icons/lucideExtra/ProviderIcon.d.mts +3 -3
  1425. package/es/icons/lucideExtra/ProviderIcon.mjs +2 -4
  1426. package/es/icons/lucideExtra/ProviderIcon.mjs.map +1 -1
  1427. package/es/icons/lucideExtra/RailSymbolIcon.d.mts +3 -3
  1428. package/es/icons/lucideExtra/RailSymbolIcon.mjs +2 -4
  1429. package/es/icons/lucideExtra/RailSymbolIcon.mjs.map +1 -1
  1430. package/es/icons/lucideExtra/RedditIcon.d.mts +3 -3
  1431. package/es/icons/lucideExtra/RedditIcon.mjs +2 -4
  1432. package/es/icons/lucideExtra/RedditIcon.mjs.map +1 -1
  1433. package/es/icons/lucideExtra/RightClickIcon.d.mts +3 -3
  1434. package/es/icons/lucideExtra/RightClickIcon.mjs +2 -4
  1435. package/es/icons/lucideExtra/RightClickIcon.mjs.map +1 -1
  1436. package/es/icons/lucideExtra/RightDoubleClickIcon.d.mts +3 -3
  1437. package/es/icons/lucideExtra/RightDoubleClickIcon.mjs +2 -4
  1438. package/es/icons/lucideExtra/RightDoubleClickIcon.mjs.map +1 -1
  1439. package/es/icons/lucideExtra/ShapesUploadIcon.d.mts +3 -3
  1440. package/es/icons/lucideExtra/ShapesUploadIcon.mjs +2 -4
  1441. package/es/icons/lucideExtra/ShapesUploadIcon.mjs.map +1 -1
  1442. package/es/icons/lucideExtra/SkillsIcon.d.mts +3 -3
  1443. package/es/icons/lucideExtra/SkillsIcon.mjs +2 -4
  1444. package/es/icons/lucideExtra/SkillsIcon.mjs.map +1 -1
  1445. package/es/icons/lucideExtra/SlackIcon.d.mts +3 -3
  1446. package/es/icons/lucideExtra/SlackIcon.mjs +2 -4
  1447. package/es/icons/lucideExtra/SlackIcon.mjs.map +1 -1
  1448. package/es/icons/lucideExtra/ThinkIcon.d.mts +3 -3
  1449. package/es/icons/lucideExtra/ThinkIcon.mjs +2 -4
  1450. package/es/icons/lucideExtra/ThinkIcon.mjs.map +1 -1
  1451. package/es/icons/lucideExtra/TreeDownRightIcon.d.mts +3 -3
  1452. package/es/icons/lucideExtra/TreeDownRightIcon.mjs +2 -4
  1453. package/es/icons/lucideExtra/TreeDownRightIcon.mjs.map +1 -1
  1454. package/es/icons/lucideExtra/TreeUpDownRightIcon.d.mts +3 -3
  1455. package/es/icons/lucideExtra/TreeUpDownRightIcon.mjs +2 -4
  1456. package/es/icons/lucideExtra/TreeUpDownRightIcon.mjs.map +1 -1
  1457. package/es/index.d.mts +0 -66
  1458. package/es/index.mjs +111 -112
  1459. package/es/mdx/Callout/index.d.mts +0 -1
  1460. package/es/mdx/Callout/index.mjs +5 -8
  1461. package/es/mdx/Callout/index.mjs.map +1 -1
  1462. package/es/mdx/Callout/style.mjs +5 -6
  1463. package/es/mdx/Callout/style.mjs.map +1 -1
  1464. package/es/mdx/Cards/Card.d.mts +0 -3
  1465. package/es/mdx/Cards/Card.mjs +22 -25
  1466. package/es/mdx/Cards/Card.mjs.map +1 -1
  1467. package/es/mdx/Cards/index.d.mts +0 -1
  1468. package/es/mdx/Cards/index.mjs +5 -8
  1469. package/es/mdx/Cards/index.mjs.map +1 -1
  1470. package/es/mdx/Cards/style.mjs +3 -4
  1471. package/es/mdx/Cards/style.mjs.map +1 -1
  1472. package/es/mdx/FileTree/File.d.mts +0 -2
  1473. package/es/mdx/FileTree/File.mjs +5 -8
  1474. package/es/mdx/FileTree/File.mjs.map +1 -1
  1475. package/es/mdx/FileTree/Folder.d.mts +0 -2
  1476. package/es/mdx/FileTree/Folder.mjs +5 -8
  1477. package/es/mdx/FileTree/Folder.mjs.map +1 -1
  1478. package/es/mdx/FileTree/index.mjs +3 -6
  1479. package/es/mdx/FileTree/index.mjs.map +1 -1
  1480. package/es/mdx/FileTree/style.mjs +7 -8
  1481. package/es/mdx/FileTree/style.mjs.map +1 -1
  1482. package/es/mdx/Mdx/index.d.mts +2 -3
  1483. package/es/mdx/Mdx/index.mjs +17 -20
  1484. package/es/mdx/Mdx/index.mjs.map +1 -1
  1485. package/es/mdx/Steps/index.mjs +3 -6
  1486. package/es/mdx/Steps/index.mjs.map +1 -1
  1487. package/es/mdx/Steps/style.mjs +7 -8
  1488. package/es/mdx/Steps/style.mjs.map +1 -1
  1489. package/es/mdx/Tabs/Tab.mjs +3 -6
  1490. package/es/mdx/Tabs/Tab.mjs.map +1 -1
  1491. package/es/mdx/Tabs/index.d.mts +0 -2
  1492. package/es/mdx/Tabs/index.mjs +5 -8
  1493. package/es/mdx/Tabs/index.mjs.map +1 -1
  1494. package/es/mdx/Tabs/style.mjs +5 -6
  1495. package/es/mdx/Tabs/style.mjs.map +1 -1
  1496. package/es/mdx/index.mjs +17 -18
  1497. package/es/mdx/mdxComponents/Citation/PopoverPanel.mjs +11 -14
  1498. package/es/mdx/mdxComponents/Citation/PopoverPanel.mjs.map +1 -1
  1499. package/es/mdx/mdxComponents/Citation/index.mjs +6 -9
  1500. package/es/mdx/mdxComponents/Citation/index.mjs.map +1 -1
  1501. package/es/mdx/mdxComponents/Citation/style.mjs +8 -9
  1502. package/es/mdx/mdxComponents/Citation/style.mjs.map +1 -1
  1503. package/es/mdx/mdxComponents/CodeBlock.d.mts +0 -1
  1504. package/es/mdx/mdxComponents/CodeBlock.mjs +6 -9
  1505. package/es/mdx/mdxComponents/CodeBlock.mjs.map +1 -1
  1506. package/es/mdx/mdxComponents/Image.d.mts +0 -1
  1507. package/es/mdx/mdxComponents/Image.mjs +5 -8
  1508. package/es/mdx/mdxComponents/Image.mjs.map +1 -1
  1509. package/es/mdx/mdxComponents/Link.mjs +8 -11
  1510. package/es/mdx/mdxComponents/Link.mjs.map +1 -1
  1511. package/es/mdx/mdxComponents/Pre.d.mts +0 -3
  1512. package/es/mdx/mdxComponents/Pre.mjs +10 -13
  1513. package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
  1514. package/es/mdx/mdxComponents/Section.mjs +5 -8
  1515. package/es/mdx/mdxComponents/Section.mjs.map +1 -1
  1516. package/es/mdx/mdxComponents/Video.mjs +5 -8
  1517. package/es/mdx/mdxComponents/Video.mjs.map +1 -1
  1518. package/es/mdx/mdxComponents/index.d.mts +1 -1
  1519. package/es/mdx/mdxComponents/index.mjs +22 -24
  1520. package/es/mdx/mdxComponents/index.mjs.map +1 -1
  1521. package/es/mobile/ChatHeader/ChatHeader.mjs +7 -10
  1522. package/es/mobile/ChatHeader/ChatHeader.mjs.map +1 -1
  1523. package/es/mobile/ChatHeader/ChatHeaderTitle.d.mts +2 -2
  1524. package/es/mobile/ChatHeader/ChatHeaderTitle.mjs +3 -6
  1525. package/es/mobile/ChatHeader/ChatHeaderTitle.mjs.map +1 -1
  1526. package/es/mobile/ChatHeader/index.mjs +6 -8
  1527. package/es/mobile/ChatHeader/index.mjs.map +1 -1
  1528. package/es/mobile/ChatHeader/style.mjs +15 -16
  1529. package/es/mobile/ChatHeader/style.mjs.map +1 -1
  1530. package/es/mobile/ChatHeader/type.d.mts +0 -1
  1531. package/es/mobile/ChatInputArea/ChatInputArea.mjs +9 -12
  1532. package/es/mobile/ChatInputArea/ChatInputArea.mjs.map +1 -1
  1533. package/es/mobile/ChatInputArea/components/ChatSendButton.d.mts +2 -2
  1534. package/es/mobile/ChatInputArea/components/ChatSendButton.mjs +5 -8
  1535. package/es/mobile/ChatInputArea/components/ChatSendButton.mjs.map +1 -1
  1536. package/es/mobile/ChatInputArea/index.mjs +6 -8
  1537. package/es/mobile/ChatInputArea/index.mjs.map +1 -1
  1538. package/es/mobile/ChatInputArea/style.mjs +9 -10
  1539. package/es/mobile/ChatInputArea/style.mjs.map +1 -1
  1540. package/es/mobile/ChatInputArea/type.d.mts +1 -3
  1541. package/es/mobile/SafeArea/SafeArea.mjs +3 -6
  1542. package/es/mobile/SafeArea/SafeArea.mjs.map +1 -1
  1543. package/es/mobile/SafeArea/style.mjs +5 -6
  1544. package/es/mobile/SafeArea/style.mjs.map +1 -1
  1545. package/es/mobile/TabBar/TabBar.d.mts +2 -2
  1546. package/es/mobile/TabBar/TabBar.mjs +5 -8
  1547. package/es/mobile/TabBar/TabBar.mjs.map +1 -1
  1548. package/es/mobile/TabBar/style.mjs +12 -13
  1549. package/es/mobile/TabBar/style.mjs.map +1 -1
  1550. package/es/mobile/TabBar/type.d.mts +0 -1
  1551. package/es/mobile/index.d.mts +0 -2
  1552. package/es/mobile/index.mjs +7 -8
  1553. package/es/node_modules/@base-ui/react/esm/separator/Separator.d.mts +31 -0
  1554. package/es/node_modules/@base-ui/react/esm/utils/types.d.mts +49 -0
  1555. package/es/node_modules/@types/hast/index.d.mts +228 -0
  1556. package/es/node_modules/@types/mdx/types.d.mts +59 -0
  1557. package/es/node_modules/@types/unist/index.d.mts +84 -0
  1558. package/es/node_modules/unist-util-is/lib/index.mjs +3 -3
  1559. package/es/node_modules/unist-util-is/lib/index.mjs.map +1 -1
  1560. package/es/node_modules/unist-util-visit/lib/index.mjs +2 -3
  1561. package/es/node_modules/unist-util-visit/lib/index.mjs.map +1 -1
  1562. package/es/node_modules/unist-util-visit/node_modules/unist-util-visit-parents/lib/color.node.mjs +1 -1
  1563. package/es/node_modules/unist-util-visit/node_modules/unist-util-visit-parents/lib/index.mjs +6 -15
  1564. package/es/node_modules/unist-util-visit/node_modules/unist-util-visit-parents/lib/index.mjs.map +1 -1
  1565. package/es/storybook/StoryBook/index.d.mts +2 -3
  1566. package/es/storybook/StoryBook/index.mjs +7 -10
  1567. package/es/storybook/StoryBook/index.mjs.map +1 -1
  1568. package/es/storybook/StoryBook/style.mjs +21 -22
  1569. package/es/storybook/StoryBook/style.mjs.map +1 -1
  1570. package/es/storybook/index.mjs +2 -3
  1571. package/es/styles/animations.mjs +1 -2
  1572. package/es/styles/animations.mjs.map +1 -1
  1573. package/es/styles/classNames.mjs +1 -1
  1574. package/es/styles/customTheme.mjs +36 -38
  1575. package/es/styles/customTheme.mjs.map +1 -1
  1576. package/es/styles/index.mjs +1 -2
  1577. package/es/styles/theme/algorithms/darkAlgorithm.mjs +3 -4
  1578. package/es/styles/theme/algorithms/darkAlgorithm.mjs.map +1 -1
  1579. package/es/styles/theme/algorithms/lightAlgorithm.mjs +3 -4
  1580. package/es/styles/theme/algorithms/lightAlgorithm.mjs.map +1 -1
  1581. package/es/styles/theme/antdTheme.mjs +1 -2
  1582. package/es/styles/theme/antdTheme.mjs.map +1 -1
  1583. package/es/styles/theme/customStylish.mjs +20 -21
  1584. package/es/styles/theme/customStylish.mjs.map +1 -1
  1585. package/es/styles/theme/customStylishStatic.mjs +52 -53
  1586. package/es/styles/theme/customStylishStatic.mjs.map +1 -1
  1587. package/es/styles/theme/customToken.mjs +1 -2
  1588. package/es/styles/theme/customToken.mjs.map +1 -1
  1589. package/es/styles/theme/generateColorPalette.d.mts +1 -1
  1590. package/es/styles/theme/generateColorPalette.mjs +1 -2
  1591. package/es/styles/theme/generateColorPalette.mjs.map +1 -1
  1592. package/es/styles/theme/token/base.mjs +2 -3
  1593. package/es/styles/theme/token/base.mjs.map +1 -1
  1594. package/es/styles/theme/token/dark.mjs +14 -16
  1595. package/es/styles/theme/token/dark.mjs.map +1 -1
  1596. package/es/styles/theme/token/light.mjs +14 -16
  1597. package/es/styles/theme/token/light.mjs.map +1 -1
  1598. package/es/types/index.mjs +1 -1
  1599. package/es/utils/blobToPng.mjs +1 -1
  1600. package/es/utils/copyToClipboard.mjs +1 -1
  1601. package/es/utils/destroyOnInvalidActiveTriggerElement.mjs +1 -2
  1602. package/es/utils/destroyOnInvalidActiveTriggerElement.mjs.map +1 -1
  1603. package/es/utils/devSingleton.mjs +7 -7
  1604. package/es/utils/devSingleton.mjs.map +1 -1
  1605. package/es/utils/dom.mjs +1 -1
  1606. package/es/utils/downloadBlob.mjs +1 -1
  1607. package/es/utils/formatTime.mjs +1 -2
  1608. package/es/utils/formatTime.mjs.map +1 -1
  1609. package/es/utils/genCdnUrl.d.mts +0 -1
  1610. package/es/utils/genCdnUrl.mjs +1 -2
  1611. package/es/utils/genCdnUrl.mjs.map +1 -1
  1612. package/es/utils/parseTrigger.d.mts +0 -2
  1613. package/es/utils/parseTrigger.mjs +3 -5
  1614. package/es/utils/parseTrigger.mjs.map +1 -1
  1615. package/es/utils/placement.d.mts +0 -1
  1616. package/es/utils/placement.mjs +33 -41
  1617. package/es/utils/placement.mjs.map +1 -1
  1618. package/es/utils/safeParseJSON.mjs +1 -1
  1619. package/es/utils/safeParseJSON.mjs.map +1 -1
  1620. package/es/utils/safeReadableColor.mjs +1 -2
  1621. package/es/utils/safeReadableColor.mjs.map +1 -1
  1622. package/es/utils/smoothCorners.d.mts +0 -1
  1623. package/es/utils/smoothCorners.mjs +1 -1
  1624. package/es/utils/smoothCorners.mjs.map +1 -1
  1625. package/package.json +38 -40
  1626. package/es/_virtual/rolldown_runtime.mjs +0 -18
@@ -1,36 +1,34 @@
1
- 'use client';
2
-
3
- import Hotkey_default from "../../Hotkey/Hotkey.mjs";
1
+ "use client";
2
+ import Hotkey from "../../Hotkey/Hotkey.mjs";
4
3
  import { useMarkdownContext } from "../../Markdown/components/MarkdownProvider.mjs";
5
4
  import { CodeBlock } from "../../Markdown/components/CodeBlock.mjs";
6
- import Image_default from "../../mdx/mdxComponents/Image.mjs";
7
- import Link_default from "../../mdx/mdxComponents/Link.mjs";
8
- import Section_default from "../../mdx/mdxComponents/Section.mjs";
9
- import Video_default from "../../mdx/mdxComponents/Video.mjs";
5
+ import Image from "../../mdx/mdxComponents/Image.mjs";
6
+ import Link from "../../mdx/mdxComponents/Link.mjs";
7
+ import Section from "../../mdx/mdxComponents/Section.mjs";
8
+ import Video from "../../mdx/mdxComponents/Video.mjs";
10
9
  import { useCallback, useMemo } from "react";
11
10
  import { jsx } from "react/jsx-runtime";
12
-
13
11
  //#region src/hooks/useMarkdown/useMarkdownComponents.tsx
14
12
  const useMarkdownComponents = () => {
15
13
  const { components, animated, citations, componentProps, enableMermaid, fullFeaturedCodeBlock, showFootnotes } = useMarkdownContext();
16
- const memoA = useCallback(({ node, ...props }) => /* @__PURE__ */ jsx(Link_default, {
14
+ const memoA = useCallback(({ node, ...props }) => /* @__PURE__ */ jsx(Link, {
17
15
  citations,
18
16
  ...props,
19
17
  ...componentProps?.a
20
18
  }), [citations, componentProps?.a]);
21
- const memoImg = useCallback(({ node, ...props }) => /* @__PURE__ */ jsx(Image_default, {
19
+ const memoImg = useCallback(({ node, ...props }) => /* @__PURE__ */ jsx(Image, {
22
20
  ...props,
23
21
  ...componentProps?.img
24
22
  }), [componentProps?.img]);
25
- const memoVideo = useCallback(({ node, ...props }) => /* @__PURE__ */ jsx(Video_default, {
23
+ const memoVideo = useCallback(({ node, ...props }) => /* @__PURE__ */ jsx(Video, {
26
24
  ...props,
27
25
  ...componentProps?.video
28
26
  }), [componentProps?.video]);
29
- const memoSection = useCallback(({ node, ...props }) => /* @__PURE__ */ jsx(Section_default, {
27
+ const memoSection = useCallback(({ node, ...props }) => /* @__PURE__ */ jsx(Section, {
30
28
  showFootnotes,
31
29
  ...props
32
30
  }), [showFootnotes]);
33
- const memoKbd = useCallback(({ children }) => /* @__PURE__ */ jsx(Hotkey_default, {
31
+ const memoKbd = useCallback(({ children }) => /* @__PURE__ */ jsx(Hotkey, {
34
32
  keys: children,
35
33
  style: { display: "inline-flex" }
36
34
  }), []);
@@ -99,7 +97,7 @@ const useMarkdownComponents = () => {
99
97
  ...components
100
98
  }), [memoComponents, components]);
101
99
  };
102
-
103
100
  //#endregion
104
101
  export { useMarkdownComponents };
102
+
105
103
  //# sourceMappingURL=useMarkdownComponents.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMarkdownComponents.mjs","names":["Link","Image","Video","Section","Hotkey"],"sources":["../../../src/hooks/useMarkdown/useMarkdownComponents.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useMemo } from 'react';\nimport type { Components } from 'react-markdown';\n\nimport Hotkey from '@/Hotkey';\nimport { CodeBlock } from '@/Markdown/components/CodeBlock';\nimport { useMarkdownContext } from '@/Markdown/components/MarkdownProvider';\nimport Image from '@/mdx/mdxComponents/Image';\nimport Link from '@/mdx/mdxComponents/Link';\nimport Section from '@/mdx/mdxComponents/Section';\nimport Video from '@/mdx/mdxComponents/Video';\n\nexport const useMarkdownComponents = (): Components => {\n const {\n components,\n animated,\n citations,\n componentProps,\n enableMermaid,\n fullFeaturedCodeBlock,\n showFootnotes,\n } = useMarkdownContext();\n\n const memoA = useCallback(\n ({ node, ...props }: any) => <Link citations={citations} {...props} {...componentProps?.a} />,\n [citations, componentProps?.a],\n );\n\n const memoImg = useCallback(\n ({ node, ...props }: any) => <Image {...props} {...componentProps?.img} />,\n [componentProps?.img],\n );\n\n const memoVideo = useCallback(\n ({ node, ...props }: any) => <Video {...props} {...componentProps?.video} />,\n [componentProps?.video],\n );\n\n const memoSection = useCallback(\n ({ node, ...props }: any) => <Section showFootnotes={showFootnotes} {...props} />,\n [showFootnotes],\n );\n\n const memoKbd = useCallback(\n ({ children }: any) => <Hotkey keys={children} style={{ display: 'inline-flex' }} />,\n [],\n );\n\n const memoBr = useCallback(() => <br />, []);\n\n const memeP = useCallback(({ style, children, className }: any) => {\n const skipWrapperTags = ['img', 'video'];\n if (typeof children === 'object' && skipWrapperTags.includes(children?.props?.node?.tagName)) {\n return children;\n }\n return (\n <p className={className} style={style}>\n {children}\n </p>\n );\n }, []);\n\n // Stable references for theme objects to prevent unnecessary re-renders\n const highlightTheme = useMemo(\n () => componentProps?.highlight?.theme,\n [JSON.stringify(componentProps?.highlight?.theme)],\n );\n\n const mermaidTheme = useMemo(\n () => componentProps?.mermaid?.theme,\n [JSON.stringify(componentProps?.mermaid?.theme)],\n );\n\n // Create stable component props reference\n const stableComponentProps = useMemo(() => {\n if (!componentProps) return;\n\n return {\n highlight: componentProps.highlight\n ? { ...componentProps.highlight, theme: highlightTheme }\n : undefined,\n mermaid: componentProps.mermaid\n ? { ...componentProps.mermaid, theme: mermaidTheme }\n : undefined,\n };\n }, [highlightTheme, mermaidTheme]);\n\n const memoPre = useCallback(\n ({ node, ...props }: any) => (\n <CodeBlock\n animated={animated}\n enableMermaid={enableMermaid}\n fullFeatured={fullFeaturedCodeBlock}\n {...stableComponentProps}\n {...componentProps?.pre}\n {...props}\n />\n ),\n [animated, enableMermaid, fullFeaturedCodeBlock, stableComponentProps, componentProps?.pre],\n );\n\n const memoColorPreview = useCallback(({ node, ...props }: any) => <code {...props} />, []);\n\n const memoComponents = useMemo(\n () => ({\n a: memoA,\n br: memoBr,\n colorPreview: memoColorPreview,\n img: memoImg,\n kbd: memoKbd,\n p: memeP,\n pre: memoPre,\n section: memoSection,\n video: memoVideo,\n }),\n [memoA, memoBr, memoImg, memoVideo, memoPre, memoSection, memeP, memoColorPreview, memoKbd],\n );\n\n return useMemo(\n () => ({\n ...memoComponents,\n ...components,\n }),\n [memoComponents, components],\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAaA,MAAa,8BAA0C;CACrD,MAAM,EACJ,YACA,UACA,WACA,gBACA,eACA,uBACA,kBACE,oBAAoB;CAExB,MAAM,QAAQ,aACX,EAAE,MAAM,GAAG,YAAiB,oBAACA;EAAgB;EAAW,GAAI;EAAO,GAAI,gBAAgB;GAAK,EAC7F,CAAC,WAAW,gBAAgB,EAAE,CAC/B;CAED,MAAM,UAAU,aACb,EAAE,MAAM,GAAG,YAAiB,oBAACC;EAAM,GAAI;EAAO,GAAI,gBAAgB;GAAO,EAC1E,CAAC,gBAAgB,IAAI,CACtB;CAED,MAAM,YAAY,aACf,EAAE,MAAM,GAAG,YAAiB,oBAACC;EAAM,GAAI;EAAO,GAAI,gBAAgB;GAAS,EAC5E,CAAC,gBAAgB,MAAM,CACxB;CAED,MAAM,cAAc,aACjB,EAAE,MAAM,GAAG,YAAiB,oBAACC;EAAuB;EAAe,GAAI;GAAS,EACjF,CAAC,cAAc,CAChB;CAED,MAAM,UAAU,aACb,EAAE,eAAoB,oBAACC;EAAO,MAAM;EAAU,OAAO,EAAE,SAAS,eAAe;GAAI,EACpF,EAAE,CACH;CAED,MAAM,SAAS,kBAAkB,oBAAC,SAAK,EAAE,EAAE,CAAC;CAE5C,MAAM,QAAQ,aAAa,EAAE,OAAO,UAAU,gBAAqB;AAEjE,MAAI,OAAO,aAAa,YADA,CAAC,OAAO,QAAQ,CACY,SAAS,UAAU,OAAO,MAAM,QAAQ,CAC1F,QAAO;AAET,SACE,oBAAC;GAAa;GAAkB;GAC7B;IACC;IAEL,EAAE,CAAC;CAGN,MAAM,iBAAiB,cACf,gBAAgB,WAAW,OACjC,CAAC,KAAK,UAAU,gBAAgB,WAAW,MAAM,CAAC,CACnD;CAED,MAAM,eAAe,cACb,gBAAgB,SAAS,OAC/B,CAAC,KAAK,UAAU,gBAAgB,SAAS,MAAM,CAAC,CACjD;CAGD,MAAM,uBAAuB,cAAc;AACzC,MAAI,CAAC,eAAgB;AAErB,SAAO;GACL,WAAW,eAAe,YACtB;IAAE,GAAG,eAAe;IAAW,OAAO;IAAgB,GACtD;GACJ,SAAS,eAAe,UACpB;IAAE,GAAG,eAAe;IAAS,OAAO;IAAc,GAClD;GACL;IACA,CAAC,gBAAgB,aAAa,CAAC;CAElC,MAAM,UAAU,aACb,EAAE,MAAM,GAAG,YACV,oBAAC;EACW;EACK;EACf,cAAc;EACd,GAAI;EACJ,GAAI,gBAAgB;EACpB,GAAI;GACJ,EAEJ;EAAC;EAAU;EAAe;EAAuB;EAAsB,gBAAgB;EAAI,CAC5F;CAED,MAAM,mBAAmB,aAAa,EAAE,MAAM,GAAG,YAAiB,oBAAC,UAAK,GAAI,QAAS,EAAE,EAAE,CAAC;CAE1F,MAAM,iBAAiB,eACd;EACL,GAAG;EACH,IAAI;EACJ,cAAc;EACd,KAAK;EACL,KAAK;EACL,GAAG;EACH,KAAK;EACL,SAAS;EACT,OAAO;EACR,GACD;EAAC;EAAO;EAAQ;EAAS;EAAW;EAAS;EAAa;EAAO;EAAkB;EAAQ,CAC5F;AAED,QAAO,eACE;EACL,GAAG;EACH,GAAG;EACJ,GACD,CAAC,gBAAgB,WAAW,CAC7B"}
1
+ {"version":3,"file":"useMarkdownComponents.mjs","names":[],"sources":["../../../src/hooks/useMarkdown/useMarkdownComponents.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useMemo } from 'react';\nimport type { Components } from 'react-markdown';\n\nimport Hotkey from '@/Hotkey';\nimport { CodeBlock } from '@/Markdown/components/CodeBlock';\nimport { useMarkdownContext } from '@/Markdown/components/MarkdownProvider';\nimport Image from '@/mdx/mdxComponents/Image';\nimport Link from '@/mdx/mdxComponents/Link';\nimport Section from '@/mdx/mdxComponents/Section';\nimport Video from '@/mdx/mdxComponents/Video';\n\nexport const useMarkdownComponents = (): Components => {\n const {\n components,\n animated,\n citations,\n componentProps,\n enableMermaid,\n fullFeaturedCodeBlock,\n showFootnotes,\n } = useMarkdownContext();\n\n const memoA = useCallback(\n ({ node, ...props }: any) => <Link citations={citations} {...props} {...componentProps?.a} />,\n [citations, componentProps?.a],\n );\n\n const memoImg = useCallback(\n ({ node, ...props }: any) => <Image {...props} {...componentProps?.img} />,\n [componentProps?.img],\n );\n\n const memoVideo = useCallback(\n ({ node, ...props }: any) => <Video {...props} {...componentProps?.video} />,\n [componentProps?.video],\n );\n\n const memoSection = useCallback(\n ({ node, ...props }: any) => <Section showFootnotes={showFootnotes} {...props} />,\n [showFootnotes],\n );\n\n const memoKbd = useCallback(\n ({ children }: any) => <Hotkey keys={children} style={{ display: 'inline-flex' }} />,\n [],\n );\n\n const memoBr = useCallback(() => <br />, []);\n\n const memeP = useCallback(({ style, children, className }: any) => {\n const skipWrapperTags = ['img', 'video'];\n if (typeof children === 'object' && skipWrapperTags.includes(children?.props?.node?.tagName)) {\n return children;\n }\n return (\n <p className={className} style={style}>\n {children}\n </p>\n );\n }, []);\n\n // Stable references for theme objects to prevent unnecessary re-renders\n const highlightTheme = useMemo(\n () => componentProps?.highlight?.theme,\n [JSON.stringify(componentProps?.highlight?.theme)],\n );\n\n const mermaidTheme = useMemo(\n () => componentProps?.mermaid?.theme,\n [JSON.stringify(componentProps?.mermaid?.theme)],\n );\n\n // Create stable component props reference\n const stableComponentProps = useMemo(() => {\n if (!componentProps) return;\n\n return {\n highlight: componentProps.highlight\n ? { ...componentProps.highlight, theme: highlightTheme }\n : undefined,\n mermaid: componentProps.mermaid\n ? { ...componentProps.mermaid, theme: mermaidTheme }\n : undefined,\n };\n }, [highlightTheme, mermaidTheme]);\n\n const memoPre = useCallback(\n ({ node, ...props }: any) => (\n <CodeBlock\n animated={animated}\n enableMermaid={enableMermaid}\n fullFeatured={fullFeaturedCodeBlock}\n {...stableComponentProps}\n {...componentProps?.pre}\n {...props}\n />\n ),\n [animated, enableMermaid, fullFeaturedCodeBlock, stableComponentProps, componentProps?.pre],\n );\n\n const memoColorPreview = useCallback(({ node, ...props }: any) => <code {...props} />, []);\n\n const memoComponents = useMemo(\n () => ({\n a: memoA,\n br: memoBr,\n colorPreview: memoColorPreview,\n img: memoImg,\n kbd: memoKbd,\n p: memeP,\n pre: memoPre,\n section: memoSection,\n video: memoVideo,\n }),\n [memoA, memoBr, memoImg, memoVideo, memoPre, memoSection, memeP, memoColorPreview, memoKbd],\n );\n\n return useMemo(\n () => ({\n ...memoComponents,\n ...components,\n }),\n [memoComponents, components],\n );\n};\n"],"mappings":";;;;;;;;;;;AAaA,MAAa,8BAA0C;CACrD,MAAM,EACJ,YACA,UACA,WACA,gBACA,eACA,uBACA,kBACE,oBAAoB;CAExB,MAAM,QAAQ,aACX,EAAE,MAAM,GAAG,YAAiB,oBAAC,MAAD;EAAiB;EAAW,GAAI;EAAO,GAAI,gBAAgB;EAAK,CAAA,EAC7F,CAAC,WAAW,gBAAgB,EAAE,CAC/B;CAED,MAAM,UAAU,aACb,EAAE,MAAM,GAAG,YAAiB,oBAAC,OAAD;EAAO,GAAI;EAAO,GAAI,gBAAgB;EAAO,CAAA,EAC1E,CAAC,gBAAgB,IAAI,CACtB;CAED,MAAM,YAAY,aACf,EAAE,MAAM,GAAG,YAAiB,oBAAC,OAAD;EAAO,GAAI;EAAO,GAAI,gBAAgB;EAAS,CAAA,EAC5E,CAAC,gBAAgB,MAAM,CACxB;CAED,MAAM,cAAc,aACjB,EAAE,MAAM,GAAG,YAAiB,oBAAC,SAAD;EAAwB;EAAe,GAAI;EAAS,CAAA,EACjF,CAAC,cAAc,CAChB;CAED,MAAM,UAAU,aACb,EAAE,eAAoB,oBAAC,QAAD;EAAQ,MAAM;EAAU,OAAO,EAAE,SAAS,eAAe;EAAI,CAAA,EACpF,EAAE,CACH;CAED,MAAM,SAAS,kBAAkB,oBAAC,MAAD,EAAM,CAAA,EAAE,EAAE,CAAC;CAE5C,MAAM,QAAQ,aAAa,EAAE,OAAO,UAAU,gBAAqB;AAEjE,MAAI,OAAO,aAAa,YADA,CAAC,OAAO,QAAQ,CACY,SAAS,UAAU,OAAO,MAAM,QAAQ,CAC1F,QAAO;AAET,SACE,oBAAC,KAAD;GAAc;GAAkB;GAC7B;GACC,CAAA;IAEL,EAAE,CAAC;CAGN,MAAM,iBAAiB,cACf,gBAAgB,WAAW,OACjC,CAAC,KAAK,UAAU,gBAAgB,WAAW,MAAM,CAAC,CACnD;CAED,MAAM,eAAe,cACb,gBAAgB,SAAS,OAC/B,CAAC,KAAK,UAAU,gBAAgB,SAAS,MAAM,CAAC,CACjD;CAGD,MAAM,uBAAuB,cAAc;AACzC,MAAI,CAAC,eAAgB;AAErB,SAAO;GACL,WAAW,eAAe,YACtB;IAAE,GAAG,eAAe;IAAW,OAAO;IAAgB,GACtD,KAAA;GACJ,SAAS,eAAe,UACpB;IAAE,GAAG,eAAe;IAAS,OAAO;IAAc,GAClD,KAAA;GACL;IACA,CAAC,gBAAgB,aAAa,CAAC;CAElC,MAAM,UAAU,aACb,EAAE,MAAM,GAAG,YACV,oBAAC,WAAD;EACY;EACK;EACf,cAAc;EACd,GAAI;EACJ,GAAI,gBAAgB;EACpB,GAAI;EACJ,CAAA,EAEJ;EAAC;EAAU;EAAe;EAAuB;EAAsB,gBAAgB;EAAI,CAC5F;CAED,MAAM,mBAAmB,aAAa,EAAE,MAAM,GAAG,YAAiB,oBAAC,QAAD,EAAM,GAAI,OAAS,CAAA,EAAE,EAAE,CAAC;CAE1F,MAAM,iBAAiB,eACd;EACL,GAAG;EACH,IAAI;EACJ,cAAc;EACd,KAAK;EACL,KAAK;EACL,GAAG;EACH,KAAK;EACL,SAAS;EACT,OAAO;EACR,GACD;EAAC;EAAO;EAAQ;EAAS;EAAW;EAAS;EAAa;EAAO;EAAkB;EAAQ,CAC5F;AAED,QAAO,eACE;EACL,GAAG;EACH,GAAG;EACJ,GACD,CAAC,gBAAgB,WAAW,CAC7B"}
@@ -1,10 +1,8 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { isLastFormulaRenderable } from "./latex.mjs";
4
3
  import { addToCache, contentCache, preprocessMarkdownContent } from "./utils.mjs";
5
4
  import { useMarkdownContext } from "../../Markdown/components/MarkdownProvider.mjs";
6
5
  import { useMemo, useRef, useState } from "react";
7
-
8
6
  //#region src/hooks/useMarkdown/useMarkdownContent.ts
9
7
  const useMarkdownContent = (children) => {
10
8
  const { animated, enableLatex = true, enableCustomFootnotes, citations } = useMarkdownContext();
@@ -43,7 +41,7 @@ const useMarkdownContent = (children) => {
43
41
  validContent
44
42
  ]);
45
43
  };
46
-
47
44
  //#endregion
48
45
  export { useMarkdownContent };
46
+
49
47
  //# sourceMappingURL=useMarkdownContent.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMarkdownContent.mjs","names":[],"sources":["../../../src/hooks/useMarkdown/useMarkdownContent.ts"],"sourcesContent":["'use client';\n\nimport { useMemo, useRef, useState } from 'react';\n\nimport { useMarkdownContext } from '@/Markdown/components/MarkdownProvider';\n\nimport { isLastFormulaRenderable } from './latex';\nimport { addToCache, contentCache, preprocessMarkdownContent } from './utils';\n\nexport const useMarkdownContent = (children: string): string | undefined => {\n const { animated, enableLatex = true, enableCustomFootnotes, citations } = useMarkdownContext();\n const [validContent, setValidContent] = useState<string>('');\n const prevProcessedContent = useRef<string>('');\n\n const citationsLength = citations?.length || 0;\n\n // Calculate cache key with fewer string concatenations and better performance\n const cacheKey = useMemo(\n () => `${children}|${enableLatex ? 1 : 0}|${enableCustomFootnotes ? 1 : 0}|${citationsLength}`,\n [children, enableLatex, enableCustomFootnotes, citationsLength],\n );\n\n // Process content and use cache to avoid repeated calculations\n return useMemo(() => {\n // Try to get from cache first for best performance\n if (contentCache.has(cacheKey)) {\n return contentCache.get(cacheKey);\n }\n\n // Process new content only if needed\n let processedContent = preprocessMarkdownContent(children, {\n citationsLength,\n enableCustomFootnotes,\n enableLatex,\n });\n\n // Special handling for LaTeX content when animated\n if (animated && enableLatex) {\n const isRenderable = isLastFormulaRenderable(processedContent);\n if (!isRenderable && validContent) {\n processedContent = validContent;\n }\n }\n\n // Only update state if content changed (prevents unnecessary re-renders)\n if (processedContent !== prevProcessedContent.current) {\n setValidContent(processedContent);\n prevProcessedContent.current = processedContent;\n }\n\n // Cache the processed result\n addToCache(cacheKey, processedContent);\n return processedContent;\n }, [\n cacheKey,\n children,\n enableLatex,\n enableCustomFootnotes,\n citationsLength,\n animated,\n validContent,\n ]);\n};\n"],"mappings":";;;;;;;;AASA,MAAa,sBAAsB,aAAyC;CAC1E,MAAM,EAAE,UAAU,cAAc,MAAM,uBAAuB,cAAc,oBAAoB;CAC/F,MAAM,CAAC,cAAc,mBAAmB,SAAiB,GAAG;CAC5D,MAAM,uBAAuB,OAAe,GAAG;CAE/C,MAAM,kBAAkB,WAAW,UAAU;CAG7C,MAAM,WAAW,cACT,GAAG,SAAS,GAAG,cAAc,IAAI,EAAE,GAAG,wBAAwB,IAAI,EAAE,GAAG,mBAC7E;EAAC;EAAU;EAAa;EAAuB;EAAgB,CAChE;AAGD,QAAO,cAAc;AAEnB,MAAI,aAAa,IAAI,SAAS,CAC5B,QAAO,aAAa,IAAI,SAAS;EAInC,IAAI,mBAAmB,0BAA0B,UAAU;GACzD;GACA;GACA;GACD,CAAC;AAGF,MAAI,YAAY,aAEd;OAAI,CADiB,wBAAwB,iBAAiB,IACzC,aACnB,oBAAmB;;AAKvB,MAAI,qBAAqB,qBAAqB,SAAS;AACrD,mBAAgB,iBAAiB;AACjC,wBAAqB,UAAU;;AAIjC,aAAW,UAAU,iBAAiB;AACtC,SAAO;IACN;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC"}
1
+ {"version":3,"file":"useMarkdownContent.mjs","names":[],"sources":["../../../src/hooks/useMarkdown/useMarkdownContent.ts"],"sourcesContent":["'use client';\n\nimport { useMemo, useRef, useState } from 'react';\n\nimport { useMarkdownContext } from '@/Markdown/components/MarkdownProvider';\n\nimport { isLastFormulaRenderable } from './latex';\nimport { addToCache, contentCache, preprocessMarkdownContent } from './utils';\n\nexport const useMarkdownContent = (children: string): string | undefined => {\n const { animated, enableLatex = true, enableCustomFootnotes, citations } = useMarkdownContext();\n const [validContent, setValidContent] = useState<string>('');\n const prevProcessedContent = useRef<string>('');\n\n const citationsLength = citations?.length || 0;\n\n // Calculate cache key with fewer string concatenations and better performance\n const cacheKey = useMemo(\n () => `${children}|${enableLatex ? 1 : 0}|${enableCustomFootnotes ? 1 : 0}|${citationsLength}`,\n [children, enableLatex, enableCustomFootnotes, citationsLength],\n );\n\n // Process content and use cache to avoid repeated calculations\n return useMemo(() => {\n // Try to get from cache first for best performance\n if (contentCache.has(cacheKey)) {\n return contentCache.get(cacheKey);\n }\n\n // Process new content only if needed\n let processedContent = preprocessMarkdownContent(children, {\n citationsLength,\n enableCustomFootnotes,\n enableLatex,\n });\n\n // Special handling for LaTeX content when animated\n if (animated && enableLatex) {\n const isRenderable = isLastFormulaRenderable(processedContent);\n if (!isRenderable && validContent) {\n processedContent = validContent;\n }\n }\n\n // Only update state if content changed (prevents unnecessary re-renders)\n if (processedContent !== prevProcessedContent.current) {\n setValidContent(processedContent);\n prevProcessedContent.current = processedContent;\n }\n\n // Cache the processed result\n addToCache(cacheKey, processedContent);\n return processedContent;\n }, [\n cacheKey,\n children,\n enableLatex,\n enableCustomFootnotes,\n citationsLength,\n animated,\n validContent,\n ]);\n};\n"],"mappings":";;;;;;AASA,MAAa,sBAAsB,aAAyC;CAC1E,MAAM,EAAE,UAAU,cAAc,MAAM,uBAAuB,cAAc,oBAAoB;CAC/F,MAAM,CAAC,cAAc,mBAAmB,SAAiB,GAAG;CAC5D,MAAM,uBAAuB,OAAe,GAAG;CAE/C,MAAM,kBAAkB,WAAW,UAAU;CAG7C,MAAM,WAAW,cACT,GAAG,SAAS,GAAG,cAAc,IAAI,EAAE,GAAG,wBAAwB,IAAI,EAAE,GAAG,mBAC7E;EAAC;EAAU;EAAa;EAAuB;EAAgB,CAChE;AAGD,QAAO,cAAc;AAEnB,MAAI,aAAa,IAAI,SAAS,CAC5B,QAAO,aAAa,IAAI,SAAS;EAInC,IAAI,mBAAmB,0BAA0B,UAAU;GACzD;GACA;GACA;GACD,CAAC;AAGF,MAAI,YAAY;OAEV,CADiB,wBAAwB,iBAAiB,IACzC,aACnB,oBAAmB;;AAKvB,MAAI,qBAAqB,qBAAqB,SAAS;AACrD,mBAAgB,iBAAiB;AACjC,wBAAqB,UAAU;;AAIjC,aAAW,UAAU,iBAAiB;AACtC,SAAO;IACN;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC"}
@@ -1,5 +1,4 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { useMarkdownContext } from "../../Markdown/components/MarkdownProvider.mjs";
4
3
  import { rehypeCustomFootnotes } from "../../Markdown/plugins/rehypeCustomFootnotes.mjs";
5
4
  import { rehypeKatexDir } from "../../Markdown/plugins/rehypeKatexDir.mjs";
@@ -7,7 +6,6 @@ import { useMemo } from "react";
7
6
  import { rehypeGithubAlerts } from "rehype-github-alerts";
8
7
  import rehypeKatex from "rehype-katex";
9
8
  import rehypeRaw from "rehype-raw";
10
-
11
9
  //#region src/hooks/useMarkdown/useMarkdownRehypePlugins.ts
12
10
  const useMarkdownRehypePlugins = () => {
13
11
  const { enableLatex, enableCustomFootnotes, enableGithubAlert, allowHtml, rehypePlugins = [], rehypePluginsAhead = [] } = useMarkdownContext();
@@ -33,7 +31,7 @@ const useMarkdownRehypePlugins = () => {
33
31
  rehypePluginsAhead
34
32
  ]);
35
33
  };
36
-
37
34
  //#endregion
38
35
  export { useMarkdownRehypePlugins };
36
+
39
37
  //# sourceMappingURL=useMarkdownRehypePlugins.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMarkdownRehypePlugins.mjs","names":[],"sources":["../../../src/hooks/useMarkdown/useMarkdownRehypePlugins.ts"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\nimport { rehypeGithubAlerts } from 'rehype-github-alerts';\nimport rehypeKatex from 'rehype-katex';\nimport rehypeRaw from 'rehype-raw';\nimport type { Pluggable } from 'unified';\n\nimport { useMarkdownContext } from '@/Markdown/components/MarkdownProvider';\nimport { rehypeCustomFootnotes } from '@/Markdown/plugins/rehypeCustomFootnotes';\nimport { rehypeKatexDir } from '@/Markdown/plugins/rehypeKatexDir';\n\nexport const useMarkdownRehypePlugins = (): Pluggable[] => {\n const {\n enableLatex,\n enableCustomFootnotes,\n enableGithubAlert,\n allowHtml,\n rehypePlugins = [],\n rehypePluginsAhead = [],\n } = useMarkdownContext();\n\n const memoPlugins = useMemo(\n () =>\n [\n allowHtml && rehypeRaw,\n enableGithubAlert && rehypeGithubAlerts,\n enableLatex && rehypeKatex,\n enableLatex && rehypeKatexDir,\n enableCustomFootnotes && rehypeCustomFootnotes,\n ].filter(Boolean) as Pluggable[],\n [enableLatex, enableGithubAlert, enableCustomFootnotes, allowHtml],\n );\n\n return useMemo(\n () => [...rehypePluginsAhead, ...memoPlugins, ...rehypePlugins],\n [rehypePlugins, memoPlugins, rehypePluginsAhead],\n );\n};\n"],"mappings":";;;;;;;;;;;AAYA,MAAa,iCAA8C;CACzD,MAAM,EACJ,aACA,uBACA,mBACA,WACA,gBAAgB,EAAE,EAClB,qBAAqB,EAAE,KACrB,oBAAoB;CAExB,MAAM,cAAc,cAEhB;EACE,aAAa;EACb,qBAAqB;EACrB,eAAe;EACf,eAAe;EACf,yBAAyB;EAC1B,CAAC,OAAO,QAAQ,EACnB;EAAC;EAAa;EAAmB;EAAuB;EAAU,CACnE;AAED,QAAO,cACC;EAAC,GAAG;EAAoB,GAAG;EAAa,GAAG;EAAc,EAC/D;EAAC;EAAe;EAAa;EAAmB,CACjD"}
1
+ {"version":3,"file":"useMarkdownRehypePlugins.mjs","names":[],"sources":["../../../src/hooks/useMarkdown/useMarkdownRehypePlugins.ts"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\nimport { rehypeGithubAlerts } from 'rehype-github-alerts';\nimport rehypeKatex from 'rehype-katex';\nimport rehypeRaw from 'rehype-raw';\nimport type { Pluggable } from 'unified';\n\nimport { useMarkdownContext } from '@/Markdown/components/MarkdownProvider';\nimport { rehypeCustomFootnotes } from '@/Markdown/plugins/rehypeCustomFootnotes';\nimport { rehypeKatexDir } from '@/Markdown/plugins/rehypeKatexDir';\n\nexport const useMarkdownRehypePlugins = (): Pluggable[] => {\n const {\n enableLatex,\n enableCustomFootnotes,\n enableGithubAlert,\n allowHtml,\n rehypePlugins = [],\n rehypePluginsAhead = [],\n } = useMarkdownContext();\n\n const memoPlugins = useMemo(\n () =>\n [\n allowHtml && rehypeRaw,\n enableGithubAlert && rehypeGithubAlerts,\n enableLatex && rehypeKatex,\n enableLatex && rehypeKatexDir,\n enableCustomFootnotes && rehypeCustomFootnotes,\n ].filter(Boolean) as Pluggable[],\n [enableLatex, enableGithubAlert, enableCustomFootnotes, allowHtml],\n );\n\n return useMemo(\n () => [...rehypePluginsAhead, ...memoPlugins, ...rehypePlugins],\n [rehypePlugins, memoPlugins, rehypePluginsAhead],\n );\n};\n"],"mappings":";;;;;;;;;AAYA,MAAa,iCAA8C;CACzD,MAAM,EACJ,aACA,uBACA,mBACA,WACA,gBAAgB,EAAE,EAClB,qBAAqB,EAAE,KACrB,oBAAoB;CAExB,MAAM,cAAc,cAEhB;EACE,aAAa;EACb,qBAAqB;EACrB,eAAe;EACf,eAAe;EACf,yBAAyB;EAC1B,CAAC,OAAO,QAAQ,EACnB;EAAC;EAAa;EAAmB;EAAuB;EAAU,CACnE;AAED,QAAO,cACC;EAAC,GAAG;EAAoB,GAAG;EAAa,GAAG;EAAc,EAC/D;EAAC;EAAe;EAAa;EAAmB,CACjD"}
@@ -1,5 +1,4 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { useMarkdownContext } from "../../Markdown/components/MarkdownProvider.mjs";
4
3
  import { remarkBr } from "../../Markdown/plugins/remarkBr.mjs";
5
4
  import { remarkCustomFootnotes } from "../../Markdown/plugins/remarkCustomFootnotes.mjs";
@@ -10,7 +9,6 @@ import remarkBreaks from "remark-breaks";
10
9
  import remarkCjkFriendly from "remark-cjk-friendly";
11
10
  import remarkGfm from "remark-gfm";
12
11
  import remarkMath from "remark-math";
13
-
14
12
  //#region src/hooks/useMarkdown/useMarkdownRemarkPlugins.ts
15
13
  const useMarkdownRemarkPlugins = () => {
16
14
  const { enableLatex, enableCustomFootnotes, remarkPlugins = [], remarkPluginsAhead = [], variant, allowHtml } = useMarkdownContext();
@@ -40,7 +38,7 @@ const useMarkdownRemarkPlugins = () => {
40
38
  remarkPluginsAhead
41
39
  ]);
42
40
  };
43
-
44
41
  //#endregion
45
42
  export { useMarkdownRemarkPlugins };
43
+
46
44
  //# sourceMappingURL=useMarkdownRemarkPlugins.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMarkdownRemarkPlugins.mjs","names":[],"sources":["../../../src/hooks/useMarkdown/useMarkdownRemarkPlugins.ts"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\nimport remarkBreaks from 'remark-breaks';\nimport remarkCjkFriendly from 'remark-cjk-friendly';\nimport remarkGfm from 'remark-gfm';\nimport remarkMath from 'remark-math';\nimport type { Pluggable } from 'unified';\n\nimport { useMarkdownContext } from '@/Markdown/components/MarkdownProvider';\nimport { remarkBr } from '@/Markdown/plugins/remarkBr';\nimport { remarkCustomFootnotes } from '@/Markdown/plugins/remarkCustomFootnotes';\nimport { remarkGfmPlus } from '@/Markdown/plugins/remarkGfmPlus';\nimport { remarkVideo } from '@/Markdown/plugins/remarkVideo';\n\nexport const useMarkdownRemarkPlugins = (): Pluggable[] => {\n const {\n enableLatex,\n enableCustomFootnotes,\n remarkPlugins = [],\n remarkPluginsAhead = [],\n variant,\n allowHtml,\n } = useMarkdownContext();\n\n const isChatMode = variant === 'chat';\n\n const memoPlugins = useMemo(\n () =>\n [\n remarkCjkFriendly,\n // Parse math before GFM so that '|' inside $...$ isn't treated as a table separator\n enableLatex && remarkMath,\n [remarkGfm, { singleTilde: false }],\n !allowHtml && remarkBr,\n !allowHtml && remarkGfmPlus,\n !allowHtml && remarkVideo,\n enableCustomFootnotes && remarkCustomFootnotes,\n isChatMode && remarkBreaks,\n ].filter(Boolean) as Pluggable[],\n [allowHtml, isChatMode, enableLatex, enableCustomFootnotes],\n );\n\n return useMemo(\n () => [...remarkPluginsAhead, ...memoPlugins, ...remarkPlugins],\n [remarkPlugins, memoPlugins, remarkPluginsAhead],\n );\n};\n"],"mappings":";;;;;;;;;;;;;;AAeA,MAAa,iCAA8C;CACzD,MAAM,EACJ,aACA,uBACA,gBAAgB,EAAE,EAClB,qBAAqB,EAAE,EACvB,SACA,cACE,oBAAoB;CAExB,MAAM,aAAa,YAAY;CAE/B,MAAM,cAAc,cAEhB;EACE;EAEA,eAAe;EACf,CAAC,WAAW,EAAE,aAAa,OAAO,CAAC;EACnC,CAAC,aAAa;EACd,CAAC,aAAa;EACd,CAAC,aAAa;EACd,yBAAyB;EACzB,cAAc;EACf,CAAC,OAAO,QAAQ,EACnB;EAAC;EAAW;EAAY;EAAa;EAAsB,CAC5D;AAED,QAAO,cACC;EAAC,GAAG;EAAoB,GAAG;EAAa,GAAG;EAAc,EAC/D;EAAC;EAAe;EAAa;EAAmB,CACjD"}
1
+ {"version":3,"file":"useMarkdownRemarkPlugins.mjs","names":[],"sources":["../../../src/hooks/useMarkdown/useMarkdownRemarkPlugins.ts"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\nimport remarkBreaks from 'remark-breaks';\nimport remarkCjkFriendly from 'remark-cjk-friendly';\nimport remarkGfm from 'remark-gfm';\nimport remarkMath from 'remark-math';\nimport type { Pluggable } from 'unified';\n\nimport { useMarkdownContext } from '@/Markdown/components/MarkdownProvider';\nimport { remarkBr } from '@/Markdown/plugins/remarkBr';\nimport { remarkCustomFootnotes } from '@/Markdown/plugins/remarkCustomFootnotes';\nimport { remarkGfmPlus } from '@/Markdown/plugins/remarkGfmPlus';\nimport { remarkVideo } from '@/Markdown/plugins/remarkVideo';\n\nexport const useMarkdownRemarkPlugins = (): Pluggable[] => {\n const {\n enableLatex,\n enableCustomFootnotes,\n remarkPlugins = [],\n remarkPluginsAhead = [],\n variant,\n allowHtml,\n } = useMarkdownContext();\n\n const isChatMode = variant === 'chat';\n\n const memoPlugins = useMemo(\n () =>\n [\n remarkCjkFriendly,\n // Parse math before GFM so that '|' inside $...$ isn't treated as a table separator\n enableLatex && remarkMath,\n [remarkGfm, { singleTilde: false }],\n !allowHtml && remarkBr,\n !allowHtml && remarkGfmPlus,\n !allowHtml && remarkVideo,\n enableCustomFootnotes && remarkCustomFootnotes,\n isChatMode && remarkBreaks,\n ].filter(Boolean) as Pluggable[],\n [allowHtml, isChatMode, enableLatex, enableCustomFootnotes],\n );\n\n return useMemo(\n () => [...remarkPluginsAhead, ...memoPlugins, ...remarkPlugins],\n [remarkPlugins, memoPlugins, remarkPluginsAhead],\n );\n};\n"],"mappings":";;;;;;;;;;;;AAeA,MAAa,iCAA8C;CACzD,MAAM,EACJ,aACA,uBACA,gBAAgB,EAAE,EAClB,qBAAqB,EAAE,EACvB,SACA,cACE,oBAAoB;CAExB,MAAM,aAAa,YAAY;CAE/B,MAAM,cAAc,cAEhB;EACE;EAEA,eAAe;EACf,CAAC,WAAW,EAAE,aAAa,OAAO,CAAC;EACnC,CAAC,aAAa;EACd,CAAC,aAAa;EACd,CAAC,aAAa;EACd,yBAAyB;EACzB,cAAc;EACf,CAAC,OAAO,QAAQ,EACnB;EAAC;EAAW;EAAY;EAAa;EAAsB,CAC5D;AAED,QAAO,cACC;EAAC,GAAG;EAAoB,GAAG;EAAa,GAAG;EAAc,EAC/D;EAAC;EAAe;EAAa;EAAmB,CACjD"}
@@ -1,5 +1,4 @@
1
1
  //#region src/hooks/useMarkdown/utils.d.ts
2
-
3
2
  /**
4
3
  * Preprocessing options for markdown content
5
4
  */
@@ -1,5 +1,4 @@
1
1
  import { preprocessLaTeX } from "./latex.mjs";
2
-
3
2
  //#region src/hooks/useMarkdown/utils.ts
4
3
  const CACHE_SIZE = 50;
5
4
  /**
@@ -77,7 +76,7 @@ const preprocessMarkdownContent = (str, { enableCustomFootnotes, enableLatex, ci
77
76
  if (enableCustomFootnotes) content = transformCitations(content, citationsLength);
78
77
  return content;
79
78
  };
80
-
81
79
  //#endregion
82
80
  export { addToCache, contentCache, preprocessMarkdownContent };
81
+
83
82
  //# sourceMappingURL=utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","names":["matches: { id: string; index: number; length: number }[]","excludedRanges: { end: number; start: number }[]"],"sources":["../../../src/hooks/useMarkdown/utils.ts"],"sourcesContent":["import { preprocessLaTeX } from './latex';\n\n// Cache configuration\nconst CACHE_SIZE = 50;\n\n/**\n * Cache for storing processed content to avoid redundant processing\n */\nexport const contentCache = new Map<string, string>();\n\n/**\n * Adds content to the cache with size limitation\n * Removes oldest entry if cache size limit is reached\n *\n * @param key The cache key\n * @param value The processed content to store\n */\nexport const addToCache = (key: string, value: string) => {\n if (contentCache.size >= CACHE_SIZE) {\n // Remove the oldest cache entry\n const firstKey = contentCache.keys().next().value;\n if (firstKey) contentCache.delete(firstKey);\n }\n contentCache.set(key, value);\n};\n\n/**\n * Transforms citation references in the format [n] to markdown links\n *\n * @param rawContent The markdown content with citation references\n * @param length The number of citations\n * @returns The content with citations transformed to markdown links\n */\nexport const transformCitations = (rawContent: string, length: number = 0) => {\n if (length === 0) return rawContent;\n\n // 生成引用索引\n const citationIndices = Array.from({ length })\n .fill('')\n .map((_, index) => index + 1);\n\n // 匹配所有潜在的引用\n const pattern = new RegExp(`\\\\[(${citationIndices.join('|')})\\\\]`, 'g');\n const matches: { id: string; index: number; length: number }[] = [];\n\n let match;\n while ((match = pattern.exec(rawContent)) !== null) {\n matches.push({\n id: match[1],\n index: match.index,\n length: match[0].length,\n });\n }\n\n // 识别所有需要排除的区域\n const excludedRanges: { end: number; start: number }[] = [];\n\n // 查找LaTeX块 $$...$$\n const latexBlockRegex = /\\$\\$([\\s\\S]*?)\\$\\$/g;\n while ((match = latexBlockRegex.exec(rawContent)) !== null) {\n excludedRanges.push({\n end: match.index + match[0].length - 1,\n start: match.index,\n });\n }\n\n // 查找行内LaTeX $...$\n const inlineLatexRegex = /\\$([^$]*)\\$/g;\n while ((match = inlineLatexRegex.exec(rawContent)) !== null) {\n excludedRanges.push({\n end: match.index + match[0].length - 1,\n start: match.index,\n });\n }\n\n // 查找代码块 ```...```\n const codeBlockRegex = /```([\\s\\S]*?)```/g;\n while ((match = codeBlockRegex.exec(rawContent)) !== null) {\n excludedRanges.push({\n end: match.index + match[0].length - 1,\n start: match.index,\n });\n }\n\n // 查找行内代码 `...`\n const inlineCodeRegex = /`([^`]*)`/g;\n while ((match = inlineCodeRegex.exec(rawContent)) !== null) {\n excludedRanges.push({\n end: match.index + match[0].length - 1,\n start: match.index,\n });\n }\n\n // 过滤掉在排除区域内的引用\n const validMatches = matches.filter((citation) => {\n return !excludedRanges.some(\n (range) => citation.index >= range.start && citation.index <= range.end,\n );\n });\n\n // 从后向前替换,避免索引变化问题\n let result = rawContent;\n for (let i = validMatches.length - 1; i >= 0; i--) {\n const citation = validMatches[i];\n const before = result.slice(0, Math.max(0, citation.index));\n const after = result.slice(Math.max(0, citation.index + citation.length));\n result = before + `[#citation-${citation.id}](citation-${citation.id})` + after;\n }\n\n // 处理连续引用\n return result.replaceAll('][', '] [');\n};\n\n/**\n * Preprocessing options for markdown content\n */\ninterface PreprocessOptions {\n citationsLength?: number;\n enableCustomFootnotes?: boolean;\n enableLatex?: boolean;\n}\n\nexport const preprocessMarkdownContent = (\n str: string,\n { enableCustomFootnotes, enableLatex, citationsLength }: PreprocessOptions = {},\n) => {\n let content = str;\n\n // Process LaTeX expressions\n if (enableLatex) {\n content = preprocessLaTeX(content);\n }\n\n // Process custom footnotes/citations\n if (enableCustomFootnotes) {\n content = transformCitations(content, citationsLength);\n }\n\n return content;\n};\n"],"mappings":";;;AAGA,MAAM,aAAa;;;;AAKnB,MAAa,+BAAe,IAAI,KAAqB;;;;;;;;AASrD,MAAa,cAAc,KAAa,UAAkB;AACxD,KAAI,aAAa,QAAQ,YAAY;EAEnC,MAAM,WAAW,aAAa,MAAM,CAAC,MAAM,CAAC;AAC5C,MAAI,SAAU,cAAa,OAAO,SAAS;;AAE7C,cAAa,IAAI,KAAK,MAAM;;;;;;;;;AAU9B,MAAa,sBAAsB,YAAoB,SAAiB,MAAM;AAC5E,KAAI,WAAW,EAAG,QAAO;CAGzB,MAAM,kBAAkB,MAAM,KAAK,EAAE,QAAQ,CAAC,CAC3C,KAAK,GAAG,CACR,KAAK,GAAG,UAAU,QAAQ,EAAE;CAG/B,MAAM,UAAU,IAAI,OAAO,OAAO,gBAAgB,KAAK,IAAI,CAAC,OAAO,IAAI;CACvE,MAAMA,UAA2D,EAAE;CAEnE,IAAI;AACJ,SAAQ,QAAQ,QAAQ,KAAK,WAAW,MAAM,KAC5C,SAAQ,KAAK;EACX,IAAI,MAAM;EACV,OAAO,MAAM;EACb,QAAQ,MAAM,GAAG;EAClB,CAAC;CAIJ,MAAMC,iBAAmD,EAAE;CAG3D,MAAM,kBAAkB;AACxB,SAAQ,QAAQ,gBAAgB,KAAK,WAAW,MAAM,KACpD,gBAAe,KAAK;EAClB,KAAK,MAAM,QAAQ,MAAM,GAAG,SAAS;EACrC,OAAO,MAAM;EACd,CAAC;CAIJ,MAAM,mBAAmB;AACzB,SAAQ,QAAQ,iBAAiB,KAAK,WAAW,MAAM,KACrD,gBAAe,KAAK;EAClB,KAAK,MAAM,QAAQ,MAAM,GAAG,SAAS;EACrC,OAAO,MAAM;EACd,CAAC;CAIJ,MAAM,iBAAiB;AACvB,SAAQ,QAAQ,eAAe,KAAK,WAAW,MAAM,KACnD,gBAAe,KAAK;EAClB,KAAK,MAAM,QAAQ,MAAM,GAAG,SAAS;EACrC,OAAO,MAAM;EACd,CAAC;CAIJ,MAAM,kBAAkB;AACxB,SAAQ,QAAQ,gBAAgB,KAAK,WAAW,MAAM,KACpD,gBAAe,KAAK;EAClB,KAAK,MAAM,QAAQ,MAAM,GAAG,SAAS;EACrC,OAAO,MAAM;EACd,CAAC;CAIJ,MAAM,eAAe,QAAQ,QAAQ,aAAa;AAChD,SAAO,CAAC,eAAe,MACpB,UAAU,SAAS,SAAS,MAAM,SAAS,SAAS,SAAS,MAAM,IACrE;GACD;CAGF,IAAI,SAAS;AACb,MAAK,IAAI,IAAI,aAAa,SAAS,GAAG,KAAK,GAAG,KAAK;EACjD,MAAM,WAAW,aAAa;EAC9B,MAAM,SAAS,OAAO,MAAM,GAAG,KAAK,IAAI,GAAG,SAAS,MAAM,CAAC;EAC3D,MAAM,QAAQ,OAAO,MAAM,KAAK,IAAI,GAAG,SAAS,QAAQ,SAAS,OAAO,CAAC;AACzE,WAAS,SAAS,cAAc,SAAS,GAAG,aAAa,SAAS,GAAG,KAAK;;AAI5E,QAAO,OAAO,WAAW,MAAM,MAAM;;AAYvC,MAAa,6BACX,KACA,EAAE,uBAAuB,aAAa,oBAAuC,EAAE,KAC5E;CACH,IAAI,UAAU;AAGd,KAAI,YACF,WAAU,gBAAgB,QAAQ;AAIpC,KAAI,sBACF,WAAU,mBAAmB,SAAS,gBAAgB;AAGxD,QAAO"}
1
+ {"version":3,"file":"utils.mjs","names":[],"sources":["../../../src/hooks/useMarkdown/utils.ts"],"sourcesContent":["import { preprocessLaTeX } from './latex';\n\n// Cache configuration\nconst CACHE_SIZE = 50;\n\n/**\n * Cache for storing processed content to avoid redundant processing\n */\nexport const contentCache = new Map<string, string>();\n\n/**\n * Adds content to the cache with size limitation\n * Removes oldest entry if cache size limit is reached\n *\n * @param key The cache key\n * @param value The processed content to store\n */\nexport const addToCache = (key: string, value: string) => {\n if (contentCache.size >= CACHE_SIZE) {\n // Remove the oldest cache entry\n const firstKey = contentCache.keys().next().value;\n if (firstKey) contentCache.delete(firstKey);\n }\n contentCache.set(key, value);\n};\n\n/**\n * Transforms citation references in the format [n] to markdown links\n *\n * @param rawContent The markdown content with citation references\n * @param length The number of citations\n * @returns The content with citations transformed to markdown links\n */\nexport const transformCitations = (rawContent: string, length: number = 0) => {\n if (length === 0) return rawContent;\n\n // 生成引用索引\n const citationIndices = Array.from({ length })\n .fill('')\n .map((_, index) => index + 1);\n\n // 匹配所有潜在的引用\n const pattern = new RegExp(`\\\\[(${citationIndices.join('|')})\\\\]`, 'g');\n const matches: { id: string; index: number; length: number }[] = [];\n\n let match;\n while ((match = pattern.exec(rawContent)) !== null) {\n matches.push({\n id: match[1],\n index: match.index,\n length: match[0].length,\n });\n }\n\n // 识别所有需要排除的区域\n const excludedRanges: { end: number; start: number }[] = [];\n\n // 查找LaTeX块 $$...$$\n const latexBlockRegex = /\\$\\$([\\s\\S]*?)\\$\\$/g;\n while ((match = latexBlockRegex.exec(rawContent)) !== null) {\n excludedRanges.push({\n end: match.index + match[0].length - 1,\n start: match.index,\n });\n }\n\n // 查找行内LaTeX $...$\n const inlineLatexRegex = /\\$([^$]*)\\$/g;\n while ((match = inlineLatexRegex.exec(rawContent)) !== null) {\n excludedRanges.push({\n end: match.index + match[0].length - 1,\n start: match.index,\n });\n }\n\n // 查找代码块 ```...```\n const codeBlockRegex = /```([\\s\\S]*?)```/g;\n while ((match = codeBlockRegex.exec(rawContent)) !== null) {\n excludedRanges.push({\n end: match.index + match[0].length - 1,\n start: match.index,\n });\n }\n\n // 查找行内代码 `...`\n const inlineCodeRegex = /`([^`]*)`/g;\n while ((match = inlineCodeRegex.exec(rawContent)) !== null) {\n excludedRanges.push({\n end: match.index + match[0].length - 1,\n start: match.index,\n });\n }\n\n // 过滤掉在排除区域内的引用\n const validMatches = matches.filter((citation) => {\n return !excludedRanges.some(\n (range) => citation.index >= range.start && citation.index <= range.end,\n );\n });\n\n // 从后向前替换,避免索引变化问题\n let result = rawContent;\n for (let i = validMatches.length - 1; i >= 0; i--) {\n const citation = validMatches[i];\n const before = result.slice(0, Math.max(0, citation.index));\n const after = result.slice(Math.max(0, citation.index + citation.length));\n result = before + `[#citation-${citation.id}](citation-${citation.id})` + after;\n }\n\n // 处理连续引用\n return result.replaceAll('][', '] [');\n};\n\n/**\n * Preprocessing options for markdown content\n */\ninterface PreprocessOptions {\n citationsLength?: number;\n enableCustomFootnotes?: boolean;\n enableLatex?: boolean;\n}\n\nexport const preprocessMarkdownContent = (\n str: string,\n { enableCustomFootnotes, enableLatex, citationsLength }: PreprocessOptions = {},\n) => {\n let content = str;\n\n // Process LaTeX expressions\n if (enableLatex) {\n content = preprocessLaTeX(content);\n }\n\n // Process custom footnotes/citations\n if (enableCustomFootnotes) {\n content = transformCitations(content, citationsLength);\n }\n\n return content;\n};\n"],"mappings":";;AAGA,MAAM,aAAa;;;;AAKnB,MAAa,+BAAe,IAAI,KAAqB;;;;;;;;AASrD,MAAa,cAAc,KAAa,UAAkB;AACxD,KAAI,aAAa,QAAQ,YAAY;EAEnC,MAAM,WAAW,aAAa,MAAM,CAAC,MAAM,CAAC;AAC5C,MAAI,SAAU,cAAa,OAAO,SAAS;;AAE7C,cAAa,IAAI,KAAK,MAAM;;;;;;;;;AAU9B,MAAa,sBAAsB,YAAoB,SAAiB,MAAM;AAC5E,KAAI,WAAW,EAAG,QAAO;CAGzB,MAAM,kBAAkB,MAAM,KAAK,EAAE,QAAQ,CAAC,CAC3C,KAAK,GAAG,CACR,KAAK,GAAG,UAAU,QAAQ,EAAE;CAG/B,MAAM,UAAU,IAAI,OAAO,OAAO,gBAAgB,KAAK,IAAI,CAAC,OAAO,IAAI;CACvE,MAAM,UAA2D,EAAE;CAEnE,IAAI;AACJ,SAAQ,QAAQ,QAAQ,KAAK,WAAW,MAAM,KAC5C,SAAQ,KAAK;EACX,IAAI,MAAM;EACV,OAAO,MAAM;EACb,QAAQ,MAAM,GAAG;EAClB,CAAC;CAIJ,MAAM,iBAAmD,EAAE;CAG3D,MAAM,kBAAkB;AACxB,SAAQ,QAAQ,gBAAgB,KAAK,WAAW,MAAM,KACpD,gBAAe,KAAK;EAClB,KAAK,MAAM,QAAQ,MAAM,GAAG,SAAS;EACrC,OAAO,MAAM;EACd,CAAC;CAIJ,MAAM,mBAAmB;AACzB,SAAQ,QAAQ,iBAAiB,KAAK,WAAW,MAAM,KACrD,gBAAe,KAAK;EAClB,KAAK,MAAM,QAAQ,MAAM,GAAG,SAAS;EACrC,OAAO,MAAM;EACd,CAAC;CAIJ,MAAM,iBAAiB;AACvB,SAAQ,QAAQ,eAAe,KAAK,WAAW,MAAM,KACnD,gBAAe,KAAK;EAClB,KAAK,MAAM,QAAQ,MAAM,GAAG,SAAS;EACrC,OAAO,MAAM;EACd,CAAC;CAIJ,MAAM,kBAAkB;AACxB,SAAQ,QAAQ,gBAAgB,KAAK,WAAW,MAAM,KACpD,gBAAe,KAAK;EAClB,KAAK,MAAM,QAAQ,MAAM,GAAG,SAAS;EACrC,OAAO,MAAM;EACd,CAAC;CAIJ,MAAM,eAAe,QAAQ,QAAQ,aAAa;AAChD,SAAO,CAAC,eAAe,MACpB,UAAU,SAAS,SAAS,MAAM,SAAS,SAAS,SAAS,MAAM,IACrE;GACD;CAGF,IAAI,SAAS;AACb,MAAK,IAAI,IAAI,aAAa,SAAS,GAAG,KAAK,GAAG,KAAK;EACjD,MAAM,WAAW,aAAa;EAC9B,MAAM,SAAS,OAAO,MAAM,GAAG,KAAK,IAAI,GAAG,SAAS,MAAM,CAAC;EAC3D,MAAM,QAAQ,OAAO,MAAM,KAAK,IAAI,GAAG,SAAS,QAAQ,SAAS,OAAO,CAAC;AACzE,WAAS,SAAS,cAAc,SAAS,GAAG,aAAa,SAAS,GAAG,KAAK;;AAI5E,QAAO,OAAO,WAAW,MAAM,MAAM;;AAYvC,MAAa,6BACX,KACA,EAAE,uBAAuB,aAAa,oBAAuC,EAAE,KAC5E;CACH,IAAI,UAAU;AAGd,KAAI,YACF,WAAU,gBAAgB,QAAQ;AAIpC,KAAI,sBACF,WAAU,mBAAmB,SAAS,gBAAgB;AAGxD,QAAO"}
@@ -1,11 +1,7 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { useEffect, useMemo, useState } from "react";
4
3
  import { useTheme } from "antd-style";
5
4
  import { Md5 } from "ts-md5";
6
-
7
- //#region src/hooks/useMermaid.ts
8
- const MD5_LENGTH_THRESHOLD = 1e4;
9
5
  const mermaidCache = /* @__PURE__ */ new Map();
10
6
  const MAX_CACHE_SIZE = 500;
11
7
  const cleanupCache = () => {
@@ -79,7 +75,7 @@ const useMermaid = (content, { id, theme: customTheme }) => {
79
75
  customTheme
80
76
  ]);
81
77
  const cacheKey = useMemo(() => {
82
- const hash = content.length < MD5_LENGTH_THRESHOLD ? content : Md5.hashStr(content);
78
+ const hash = content.length < 1e4 ? content : Md5.hashStr(content);
83
79
  return [
84
80
  id,
85
81
  customTheme || (theme.isDarkMode ? "d" : "l"),
@@ -128,7 +124,7 @@ const useMermaid = (content, { id, theme: customTheme }) => {
128
124
  ]);
129
125
  return data;
130
126
  };
131
-
132
127
  //#endregion
133
128
  export { createMermaidConfig, loadMermaid, useMermaid };
129
+
134
130
  //# sourceMappingURL=useMermaid.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMermaid.mjs","names":["mermaidPromise: Promise<typeof import('mermaid').default | null> | null"],"sources":["../../src/hooks/useMermaid.ts"],"sourcesContent":["'use client';\n\nimport { useTheme } from 'antd-style';\nimport type { MermaidConfig } from 'mermaid';\nimport { useEffect, useMemo, useState } from 'react';\nimport { Md5 } from 'ts-md5';\n\n// 缓存已验证的图表内容\nexport const MD5_LENGTH_THRESHOLD = 10_000;\n\n// Application-level cache for rendered Mermaid SVG\n// Key: cacheKey string, Value: Promise<string>\nconst mermaidCache = new Map<string, Promise<string>>();\n\n// Maximum cache size to prevent memory leaks\nconst MAX_CACHE_SIZE = 500;\n\n// Clean up old cache entries when limit is reached\nconst cleanupCache = () => {\n if (mermaidCache.size > MAX_CACHE_SIZE) {\n // Remove oldest 20% of entries\n const entriesToRemove = Math.floor(MAX_CACHE_SIZE * 0.2);\n const keysToRemove = Array.from(mermaidCache.keys()).slice(0, entriesToRemove);\n for (const key of keysToRemove) {\n mermaidCache.delete(key);\n }\n }\n};\n\n// 懒加载 mermaid 实例\nlet mermaidPromise: Promise<typeof import('mermaid').default | null> | null = null;\n\nexport const loadMermaid = (): Promise<typeof import('mermaid').default | null> => {\n if (typeof window === 'undefined') return Promise.resolve(null);\n\n if (!mermaidPromise) {\n mermaidPromise = import('mermaid').then((mod) => mod.default);\n }\n\n return mermaidPromise;\n};\n\n// Helper to create mermaid config\nexport const createMermaidConfig = (\n theme: ReturnType<typeof useTheme>,\n customTheme?: MermaidConfig['theme'],\n): MermaidConfig => ({\n fontFamily: theme.fontFamilyCode,\n gantt: {\n useWidth: 1920,\n },\n securityLevel: 'loose',\n startOnLoad: false,\n theme: customTheme || (theme.isDarkMode ? 'dark' : 'neutral'),\n themeVariables: customTheme\n ? undefined\n : {\n errorBkgColor: theme.colorTextDescription,\n errorTextColor: theme.colorTextDescription,\n fontFamily: theme.fontFamily,\n lineColor: theme.colorTextSecondary,\n mainBkg: theme.colorBgContainer,\n noteBkgColor: theme.colorInfoBg,\n noteTextColor: theme.colorInfoText,\n pie1: theme.geekblue,\n pie2: theme.colorWarning,\n pie3: theme.colorSuccess,\n pie4: theme.colorError,\n primaryBorderColor: theme.colorBorder,\n primaryColor: theme.colorBgContainer,\n primaryTextColor: theme.colorText,\n secondaryBorderColor: theme.colorInfoBorder,\n secondaryColor: theme.colorInfoBg,\n secondaryTextColor: theme.colorInfoText,\n tertiaryBorderColor: theme.colorSuccessBorder,\n tertiaryColor: theme.colorSuccessBg,\n tertiaryTextColor: theme.colorSuccessText,\n textColor: theme.colorText,\n },\n});\n\n/**\n * 验证并处理 Mermaid 图表内容 - 优化版本(移除 SWR)\n */\nexport const useMermaid = (\n content: string,\n {\n id,\n theme: customTheme,\n }: {\n id: string;\n theme?: MermaidConfig['theme'];\n },\n): string => {\n const theme = useTheme();\n const [data, setData] = useState<string>('');\n\n // 提取主题相关配置到 useMemo 中 - 只依赖实际使用的 theme 属性\n const mermaidConfig = useMemo(\n () => createMermaidConfig(theme, customTheme),\n [\n theme.fontFamilyCode,\n theme.isDarkMode,\n theme.colorTextDescription,\n theme.fontFamily,\n theme.colorTextSecondary,\n theme.colorBgContainer,\n theme.colorInfoBg,\n theme.colorInfoText,\n theme.geekblue,\n theme.colorWarning,\n theme.colorSuccess,\n theme.colorError,\n theme.colorBorder,\n theme.colorInfoBorder,\n theme.colorSuccessBorder,\n theme.colorSuccessBg,\n theme.colorSuccessText,\n theme.colorText,\n customTheme,\n ],\n );\n\n // 为长内容生成哈希键\n const cacheKey = useMemo((): string => {\n const hash = content.length < MD5_LENGTH_THRESHOLD ? content : Md5.hashStr(content);\n return [id, customTheme || (theme.isDarkMode ? 'd' : 'l'), hash].filter(Boolean).join('-');\n }, [content, id, theme.isDarkMode, customTheme]);\n\n useEffect(() => {\n // Check cache first\n const cachedPromise = mermaidCache.get(cacheKey);\n if (cachedPromise) {\n cachedPromise\n .then((svg) => {\n setData(svg);\n })\n .catch(() => {\n // Silently handle errors, fallback will be handled in the promise\n });\n return;\n }\n\n // Create new promise for rendering\n const renderPromise = (async (): Promise<string> => {\n try {\n const mermaidInstance = await loadMermaid();\n if (!mermaidInstance) return '';\n\n // 验证语法\n const isValid = await mermaidInstance.parse(content);\n\n if (isValid) {\n // 初始化并渲染\n mermaidInstance.initialize(mermaidConfig);\n const { svg } = await mermaidInstance.render(id, content);\n return svg;\n } else {\n throw new Error('Mermaid 语法无效');\n }\n } catch (error_) {\n console.error('Mermaid 解析错误:', error_);\n return '';\n }\n })();\n\n // Cache the promise\n mermaidCache.set(cacheKey, renderPromise);\n cleanupCache();\n\n // Handle promise result\n renderPromise\n .then((svg) => {\n // Only update if this is still the current cache key\n if (mermaidCache.get(cacheKey) === renderPromise) {\n setData(svg);\n }\n })\n .catch(() => {\n // Remove failed promise from cache\n if (mermaidCache.get(cacheKey) === renderPromise) {\n mermaidCache.delete(cacheKey);\n }\n });\n }, [cacheKey, content, id, mermaidConfig]);\n\n return data;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useMermaid.mjs","names":[],"sources":["../../src/hooks/useMermaid.ts"],"sourcesContent":["'use client';\n\nimport { useTheme } from 'antd-style';\nimport type { MermaidConfig } from 'mermaid';\nimport { useEffect, useMemo, useState } from 'react';\nimport { Md5 } from 'ts-md5';\n\n// 缓存已验证的图表内容\nexport const MD5_LENGTH_THRESHOLD = 10_000;\n\n// Application-level cache for rendered Mermaid SVG\n// Key: cacheKey string, Value: Promise<string>\nconst mermaidCache = new Map<string, Promise<string>>();\n\n// Maximum cache size to prevent memory leaks\nconst MAX_CACHE_SIZE = 500;\n\n// Clean up old cache entries when limit is reached\nconst cleanupCache = () => {\n if (mermaidCache.size > MAX_CACHE_SIZE) {\n // Remove oldest 20% of entries\n const entriesToRemove = Math.floor(MAX_CACHE_SIZE * 0.2);\n const keysToRemove = Array.from(mermaidCache.keys()).slice(0, entriesToRemove);\n for (const key of keysToRemove) {\n mermaidCache.delete(key);\n }\n }\n};\n\n// 懒加载 mermaid 实例\nlet mermaidPromise: Promise<typeof import('mermaid').default | null> | null = null;\n\nexport const loadMermaid = (): Promise<typeof import('mermaid').default | null> => {\n if (typeof window === 'undefined') return Promise.resolve(null);\n\n if (!mermaidPromise) {\n mermaidPromise = import('mermaid').then((mod) => mod.default);\n }\n\n return mermaidPromise;\n};\n\n// Helper to create mermaid config\nexport const createMermaidConfig = (\n theme: ReturnType<typeof useTheme>,\n customTheme?: MermaidConfig['theme'],\n): MermaidConfig => ({\n fontFamily: theme.fontFamilyCode,\n gantt: {\n useWidth: 1920,\n },\n securityLevel: 'loose',\n startOnLoad: false,\n theme: customTheme || (theme.isDarkMode ? 'dark' : 'neutral'),\n themeVariables: customTheme\n ? undefined\n : {\n errorBkgColor: theme.colorTextDescription,\n errorTextColor: theme.colorTextDescription,\n fontFamily: theme.fontFamily,\n lineColor: theme.colorTextSecondary,\n mainBkg: theme.colorBgContainer,\n noteBkgColor: theme.colorInfoBg,\n noteTextColor: theme.colorInfoText,\n pie1: theme.geekblue,\n pie2: theme.colorWarning,\n pie3: theme.colorSuccess,\n pie4: theme.colorError,\n primaryBorderColor: theme.colorBorder,\n primaryColor: theme.colorBgContainer,\n primaryTextColor: theme.colorText,\n secondaryBorderColor: theme.colorInfoBorder,\n secondaryColor: theme.colorInfoBg,\n secondaryTextColor: theme.colorInfoText,\n tertiaryBorderColor: theme.colorSuccessBorder,\n tertiaryColor: theme.colorSuccessBg,\n tertiaryTextColor: theme.colorSuccessText,\n textColor: theme.colorText,\n },\n});\n\n/**\n * 验证并处理 Mermaid 图表内容 - 优化版本(移除 SWR)\n */\nexport const useMermaid = (\n content: string,\n {\n id,\n theme: customTheme,\n }: {\n id: string;\n theme?: MermaidConfig['theme'];\n },\n): string => {\n const theme = useTheme();\n const [data, setData] = useState<string>('');\n\n // 提取主题相关配置到 useMemo 中 - 只依赖实际使用的 theme 属性\n const mermaidConfig = useMemo(\n () => createMermaidConfig(theme, customTheme),\n [\n theme.fontFamilyCode,\n theme.isDarkMode,\n theme.colorTextDescription,\n theme.fontFamily,\n theme.colorTextSecondary,\n theme.colorBgContainer,\n theme.colorInfoBg,\n theme.colorInfoText,\n theme.geekblue,\n theme.colorWarning,\n theme.colorSuccess,\n theme.colorError,\n theme.colorBorder,\n theme.colorInfoBorder,\n theme.colorSuccessBorder,\n theme.colorSuccessBg,\n theme.colorSuccessText,\n theme.colorText,\n customTheme,\n ],\n );\n\n // 为长内容生成哈希键\n const cacheKey = useMemo((): string => {\n const hash = content.length < MD5_LENGTH_THRESHOLD ? content : Md5.hashStr(content);\n return [id, customTheme || (theme.isDarkMode ? 'd' : 'l'), hash].filter(Boolean).join('-');\n }, [content, id, theme.isDarkMode, customTheme]);\n\n useEffect(() => {\n // Check cache first\n const cachedPromise = mermaidCache.get(cacheKey);\n if (cachedPromise) {\n cachedPromise\n .then((svg) => {\n setData(svg);\n })\n .catch(() => {\n // Silently handle errors, fallback will be handled in the promise\n });\n return;\n }\n\n // Create new promise for rendering\n const renderPromise = (async (): Promise<string> => {\n try {\n const mermaidInstance = await loadMermaid();\n if (!mermaidInstance) return '';\n\n // 验证语法\n const isValid = await mermaidInstance.parse(content);\n\n if (isValid) {\n // 初始化并渲染\n mermaidInstance.initialize(mermaidConfig);\n const { svg } = await mermaidInstance.render(id, content);\n return svg;\n } else {\n throw new Error('Mermaid 语法无效');\n }\n } catch (error_) {\n console.error('Mermaid 解析错误:', error_);\n return '';\n }\n })();\n\n // Cache the promise\n mermaidCache.set(cacheKey, renderPromise);\n cleanupCache();\n\n // Handle promise result\n renderPromise\n .then((svg) => {\n // Only update if this is still the current cache key\n if (mermaidCache.get(cacheKey) === renderPromise) {\n setData(svg);\n }\n })\n .catch(() => {\n // Remove failed promise from cache\n if (mermaidCache.get(cacheKey) === renderPromise) {\n mermaidCache.delete(cacheKey);\n }\n });\n }, [cacheKey, content, id, mermaidConfig]);\n\n return data;\n};\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { isValidElement, useMemo } from "react";
2
-
3
2
  //#region src/hooks/useNativeButton.ts
4
3
  /**
5
4
  * Map of component displayNames to their nativeButton values.
@@ -99,7 +98,7 @@ function useNativeButton({ children, nativeButton, triggerNativeButton }) {
99
98
  ])
100
99
  };
101
100
  }
102
-
103
101
  //#endregion
104
102
  export { useNativeButton };
103
+
105
104
  //# sourceMappingURL=useNativeButton.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNativeButton.mjs","names":["NATIVE_BUTTON_MAP: Record<string, boolean>"],"sources":["../../src/hooks/useNativeButton.ts"],"sourcesContent":["import { isValidElement, type ReactElement, type ReactNode, useMemo } from 'react';\n\nexport interface UseNativeButtonOptions {\n /**\n * The children element that will be used as the trigger\n */\n children: ReactNode;\n /**\n * User-provided nativeButton prop\n */\n nativeButton?: boolean;\n /**\n * Additional nativeButton from trigger props (for DropdownMenu)\n */\n triggerNativeButton?: boolean;\n}\n\nexport interface UseNativeButtonResult {\n /**\n * Whether the trigger element is a native button\n */\n isNativeButtonTriggerElement: boolean;\n /**\n * The resolved nativeButton value to pass to Base UI components\n */\n resolvedNativeButton: boolean | undefined;\n}\n\n/**\n * Map of component displayNames to their nativeButton values.\n * Components that render native <button> elements should be true,\n * components that render non-button elements should be false.\n */\nconst NATIVE_BUTTON_MAP: Record<string, boolean> = {\n A: false,\n ActionIcon: false,\n ActionIconGroup: false,\n Alert: false,\n Avatar: false,\n AvatarGroup: false,\n Block: false,\n BottomGradientButton: true,\n Burger: false,\n Button: true,\n Center: false,\n Checkbox: false,\n CheckboxGroup: false,\n Collapse: false,\n ColorSwatches: false,\n CopyButton: false,\n DownloadButton: false,\n EditableText: false,\n Empty: false,\n FileTypeIcon: false,\n Flexbox: false,\n FluentEmoji: false,\n GradientButton: true,\n Highlighter: false,\n Hotkey: false,\n Icon: false,\n Image: false,\n Img: false,\n Input: false,\n InputNumber: false,\n InputPassword: false,\n List: false,\n ListItem: false,\n Select: false,\n Switch: false,\n Markdown: false,\n MaterialFileTypeIcon: false,\n Segmented: false,\n Skeleton: false,\n SkeletonAvatar: false,\n SkeletonBlock: false,\n SkeletonButton: false,\n SkeletonParagraph: false,\n SkeletonTags: false,\n SkeletonTitle: false,\n Snippet: false,\n Tag: false,\n Text: false,\n TextArea: false,\n ThemeSwitch: false,\n Video: false,\n};\n\n/**\n * Get the displayName of a React component from an element.\n * Handles function components, forwardRef, memo, etc.\n */\nfunction getComponentDisplayName(element: ReactElement): string | undefined {\n const type = element.type;\n\n if (typeof type === 'string') return undefined;\n\n if (typeof type === 'function') {\n return (type as any).displayName || type.name;\n }\n\n if (typeof type === 'object' && type !== null) {\n // Handle forwardRef, memo, etc.\n const displayName =\n (type as any).displayName ||\n (type as any).render?.displayName ||\n (type as any).render?.name ||\n (type as any).type?.displayName ||\n (type as any).type?.name;\n return displayName;\n }\n\n return undefined;\n}\n\n/**\n * Hook to resolve nativeButton prop for Base UI trigger components.\n *\n * When using `render`, Base UI expects the rendered element to be a native <button> by default.\n * If we can infer it's not, we opt out to avoid warnings (users can still override via `nativeButton`).\n */\nexport function useNativeButton({\n children,\n nativeButton,\n triggerNativeButton,\n}: UseNativeButtonOptions): UseNativeButtonResult {\n const isNativeButtonTriggerElement = useMemo(() => {\n if (!isValidElement(children)) return false;\n return typeof children.type === 'string' && children.type === 'button';\n }, [children]);\n\n const resolvedNativeButton = useMemo(() => {\n // User-provided nativeButton takes highest priority\n if (nativeButton !== undefined) return nativeButton;\n // Trigger props nativeButton (for DropdownMenu) takes second priority\n if (triggerNativeButton !== undefined) return triggerNativeButton;\n // If it's a native button element, return true\n if (isNativeButtonTriggerElement) return true;\n // If children is not a valid element, let Base UI decide\n if (!isValidElement(children)) return undefined;\n // If it's a string type but not a button (e.g., 'div'), return false\n if (typeof children.type === 'string') return false;\n\n // Check if it's a known component from the library\n const displayName = getComponentDisplayName(children);\n if (displayName && displayName in NATIVE_BUTTON_MAP) {\n return NATIVE_BUTTON_MAP[displayName];\n }\n\n // For unknown React components, default to false to avoid warnings\n // since most custom components don't render native buttons\n return false;\n }, [children, isNativeButtonTriggerElement, nativeButton, triggerNativeButton]);\n\n return {\n isNativeButtonTriggerElement,\n resolvedNativeButton,\n };\n}\n"],"mappings":";;;;;;;;AAiCA,MAAMA,oBAA6C;CACjD,GAAG;CACH,YAAY;CACZ,iBAAiB;CACjB,OAAO;CACP,QAAQ;CACR,aAAa;CACb,OAAO;CACP,sBAAsB;CACtB,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,UAAU;CACV,eAAe;CACf,UAAU;CACV,eAAe;CACf,YAAY;CACZ,gBAAgB;CAChB,cAAc;CACd,OAAO;CACP,cAAc;CACd,SAAS;CACT,aAAa;CACb,gBAAgB;CAChB,aAAa;CACb,QAAQ;CACR,MAAM;CACN,OAAO;CACP,KAAK;CACL,OAAO;CACP,aAAa;CACb,eAAe;CACf,MAAM;CACN,UAAU;CACV,QAAQ;CACR,QAAQ;CACR,UAAU;CACV,sBAAsB;CACtB,WAAW;CACX,UAAU;CACV,gBAAgB;CAChB,eAAe;CACf,gBAAgB;CAChB,mBAAmB;CACnB,cAAc;CACd,eAAe;CACf,SAAS;CACT,KAAK;CACL,MAAM;CACN,UAAU;CACV,aAAa;CACb,OAAO;CACR;;;;;AAMD,SAAS,wBAAwB,SAA2C;CAC1E,MAAM,OAAO,QAAQ;AAErB,KAAI,OAAO,SAAS,SAAU,QAAO;AAErC,KAAI,OAAO,SAAS,WAClB,QAAQ,KAAa,eAAe,KAAK;AAG3C,KAAI,OAAO,SAAS,YAAY,SAAS,KAQvC,QALG,KAAa,eACb,KAAa,QAAQ,eACrB,KAAa,QAAQ,QACrB,KAAa,MAAM,eACnB,KAAa,MAAM;;;;;;;;AAa1B,SAAgB,gBAAgB,EAC9B,UACA,cACA,uBACgD;CAChD,MAAM,+BAA+B,cAAc;AACjD,MAAI,CAAC,eAAe,SAAS,CAAE,QAAO;AACtC,SAAO,OAAO,SAAS,SAAS,YAAY,SAAS,SAAS;IAC7D,CAAC,SAAS,CAAC;AAyBd,QAAO;EACL;EACA,sBAzB2B,cAAc;AAEzC,OAAI,iBAAiB,OAAW,QAAO;AAEvC,OAAI,wBAAwB,OAAW,QAAO;AAE9C,OAAI,6BAA8B,QAAO;AAEzC,OAAI,CAAC,eAAe,SAAS,CAAE,QAAO;AAEtC,OAAI,OAAO,SAAS,SAAS,SAAU,QAAO;GAG9C,MAAM,cAAc,wBAAwB,SAAS;AACrD,OAAI,eAAe,eAAe,kBAChC,QAAO,kBAAkB;AAK3B,UAAO;KACN;GAAC;GAAU;GAA8B;GAAc;GAAoB,CAAC;EAK9E"}
1
+ {"version":3,"file":"useNativeButton.mjs","names":[],"sources":["../../src/hooks/useNativeButton.ts"],"sourcesContent":["import { isValidElement, type ReactElement, type ReactNode, useMemo } from 'react';\n\nexport interface UseNativeButtonOptions {\n /**\n * The children element that will be used as the trigger\n */\n children: ReactNode;\n /**\n * User-provided nativeButton prop\n */\n nativeButton?: boolean;\n /**\n * Additional nativeButton from trigger props (for DropdownMenu)\n */\n triggerNativeButton?: boolean;\n}\n\nexport interface UseNativeButtonResult {\n /**\n * Whether the trigger element is a native button\n */\n isNativeButtonTriggerElement: boolean;\n /**\n * The resolved nativeButton value to pass to Base UI components\n */\n resolvedNativeButton: boolean | undefined;\n}\n\n/**\n * Map of component displayNames to their nativeButton values.\n * Components that render native <button> elements should be true,\n * components that render non-button elements should be false.\n */\nconst NATIVE_BUTTON_MAP: Record<string, boolean> = {\n A: false,\n ActionIcon: false,\n ActionIconGroup: false,\n Alert: false,\n Avatar: false,\n AvatarGroup: false,\n Block: false,\n BottomGradientButton: true,\n Burger: false,\n Button: true,\n Center: false,\n Checkbox: false,\n CheckboxGroup: false,\n Collapse: false,\n ColorSwatches: false,\n CopyButton: false,\n DownloadButton: false,\n EditableText: false,\n Empty: false,\n FileTypeIcon: false,\n Flexbox: false,\n FluentEmoji: false,\n GradientButton: true,\n Highlighter: false,\n Hotkey: false,\n Icon: false,\n Image: false,\n Img: false,\n Input: false,\n InputNumber: false,\n InputPassword: false,\n List: false,\n ListItem: false,\n Select: false,\n Switch: false,\n Markdown: false,\n MaterialFileTypeIcon: false,\n Segmented: false,\n Skeleton: false,\n SkeletonAvatar: false,\n SkeletonBlock: false,\n SkeletonButton: false,\n SkeletonParagraph: false,\n SkeletonTags: false,\n SkeletonTitle: false,\n Snippet: false,\n Tag: false,\n Text: false,\n TextArea: false,\n ThemeSwitch: false,\n Video: false,\n};\n\n/**\n * Get the displayName of a React component from an element.\n * Handles function components, forwardRef, memo, etc.\n */\nfunction getComponentDisplayName(element: ReactElement): string | undefined {\n const type = element.type;\n\n if (typeof type === 'string') return undefined;\n\n if (typeof type === 'function') {\n return (type as any).displayName || type.name;\n }\n\n if (typeof type === 'object' && type !== null) {\n // Handle forwardRef, memo, etc.\n const displayName =\n (type as any).displayName ||\n (type as any).render?.displayName ||\n (type as any).render?.name ||\n (type as any).type?.displayName ||\n (type as any).type?.name;\n return displayName;\n }\n\n return undefined;\n}\n\n/**\n * Hook to resolve nativeButton prop for Base UI trigger components.\n *\n * When using `render`, Base UI expects the rendered element to be a native <button> by default.\n * If we can infer it's not, we opt out to avoid warnings (users can still override via `nativeButton`).\n */\nexport function useNativeButton({\n children,\n nativeButton,\n triggerNativeButton,\n}: UseNativeButtonOptions): UseNativeButtonResult {\n const isNativeButtonTriggerElement = useMemo(() => {\n if (!isValidElement(children)) return false;\n return typeof children.type === 'string' && children.type === 'button';\n }, [children]);\n\n const resolvedNativeButton = useMemo(() => {\n // User-provided nativeButton takes highest priority\n if (nativeButton !== undefined) return nativeButton;\n // Trigger props nativeButton (for DropdownMenu) takes second priority\n if (triggerNativeButton !== undefined) return triggerNativeButton;\n // If it's a native button element, return true\n if (isNativeButtonTriggerElement) return true;\n // If children is not a valid element, let Base UI decide\n if (!isValidElement(children)) return undefined;\n // If it's a string type but not a button (e.g., 'div'), return false\n if (typeof children.type === 'string') return false;\n\n // Check if it's a known component from the library\n const displayName = getComponentDisplayName(children);\n if (displayName && displayName in NATIVE_BUTTON_MAP) {\n return NATIVE_BUTTON_MAP[displayName];\n }\n\n // For unknown React components, default to false to avoid warnings\n // since most custom components don't render native buttons\n return false;\n }, [children, isNativeButtonTriggerElement, nativeButton, triggerNativeButton]);\n\n return {\n isNativeButtonTriggerElement,\n resolvedNativeButton,\n };\n}\n"],"mappings":";;;;;;;AAiCA,MAAM,oBAA6C;CACjD,GAAG;CACH,YAAY;CACZ,iBAAiB;CACjB,OAAO;CACP,QAAQ;CACR,aAAa;CACb,OAAO;CACP,sBAAsB;CACtB,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,UAAU;CACV,eAAe;CACf,UAAU;CACV,eAAe;CACf,YAAY;CACZ,gBAAgB;CAChB,cAAc;CACd,OAAO;CACP,cAAc;CACd,SAAS;CACT,aAAa;CACb,gBAAgB;CAChB,aAAa;CACb,QAAQ;CACR,MAAM;CACN,OAAO;CACP,KAAK;CACL,OAAO;CACP,aAAa;CACb,eAAe;CACf,MAAM;CACN,UAAU;CACV,QAAQ;CACR,QAAQ;CACR,UAAU;CACV,sBAAsB;CACtB,WAAW;CACX,UAAU;CACV,gBAAgB;CAChB,eAAe;CACf,gBAAgB;CAChB,mBAAmB;CACnB,cAAc;CACd,eAAe;CACf,SAAS;CACT,KAAK;CACL,MAAM;CACN,UAAU;CACV,aAAa;CACb,OAAO;CACR;;;;;AAMD,SAAS,wBAAwB,SAA2C;CAC1E,MAAM,OAAO,QAAQ;AAErB,KAAI,OAAO,SAAS,SAAU,QAAO,KAAA;AAErC,KAAI,OAAO,SAAS,WAClB,QAAQ,KAAa,eAAe,KAAK;AAG3C,KAAI,OAAO,SAAS,YAAY,SAAS,KAQvC,QALG,KAAa,eACb,KAAa,QAAQ,eACrB,KAAa,QAAQ,QACrB,KAAa,MAAM,eACnB,KAAa,MAAM;;;;;;;;AAa1B,SAAgB,gBAAgB,EAC9B,UACA,cACA,uBACgD;CAChD,MAAM,+BAA+B,cAAc;AACjD,MAAI,CAAC,eAAe,SAAS,CAAE,QAAO;AACtC,SAAO,OAAO,SAAS,SAAS,YAAY,SAAS,SAAS;IAC7D,CAAC,SAAS,CAAC;AAyBd,QAAO;EACL;EACA,sBAzB2B,cAAc;AAEzC,OAAI,iBAAiB,KAAA,EAAW,QAAO;AAEvC,OAAI,wBAAwB,KAAA,EAAW,QAAO;AAE9C,OAAI,6BAA8B,QAAO;AAEzC,OAAI,CAAC,eAAe,SAAS,CAAE,QAAO,KAAA;AAEtC,OAAI,OAAO,SAAS,SAAS,SAAU,QAAO;GAG9C,MAAM,cAAc,wBAAwB,SAAS;AACrD,OAAI,eAAe,eAAe,kBAChC,QAAO,kBAAkB;AAK3B,UAAO;KACN;GAAC;GAAU;GAA8B;GAAc;GAAoB,CAAC;EAK9E"}
@@ -1,11 +1,9 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { getCodeLanguageByInput } from "../Highlighter/const.mjs";
4
3
  import lobe_theme_default from "../Highlighter/theme/lobe-theme.mjs";
5
4
  import { shikiModulePromise } from "./useHighlight.mjs";
6
5
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
7
6
  import { ShikiStreamTokenizer } from "shiki-stream";
8
-
9
7
  //#region src/hooks/useStreamHighlight.ts
10
8
  const tokensToLineTokens = (tokens) => {
11
9
  if (!tokens.length) return [[]];
@@ -215,7 +213,7 @@ const useStreamHighlight = (text, { language, theme: builtinTheme, streaming })
215
213
  theme: effectiveTheme
216
214
  });
217
215
  };
218
-
219
216
  //#endregion
220
217
  export { useStreamHighlight };
218
+
221
219
  //# sourceMappingURL=useStreamHighlight.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStreamHighlight.mjs","names":["lines: ThemedToken[][]","currentLine: ThemedToken[]","mergedLines: ThemedToken[][]","themesToLoad: any[]","lobeTheme"],"sources":["../../src/hooks/useStreamHighlight.ts"],"sourcesContent":["'use client';\n\nimport { type CSSProperties, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { type BuiltinTheme, type ThemedToken } from 'shiki';\nimport { ShikiStreamTokenizer } from 'shiki-stream';\n\nimport { getCodeLanguageByInput } from '@/Highlighter/const';\nimport lobeTheme from '@/Highlighter/theme/lobe-theme';\n\nimport { shikiModulePromise, type StreamingHighlightResult } from './useHighlight';\n\ntype StreamingOptions = {\n customThemes?: Record<string, any>;\n enabled?: boolean;\n language: string;\n theme: string;\n};\n\n// Optimized version: reduce array allocations and object spreading\nconst tokensToLineTokens = (tokens: ThemedToken[]): ThemedToken[][] => {\n if (!tokens.length) return [[]];\n\n const lines: ThemedToken[][] = [];\n let currentLine: ThemedToken[] = [];\n\n for (const token of tokens) {\n const content = token.content ?? '';\n\n if (content === '\\n') {\n lines.push(currentLine);\n currentLine = [];\n continue;\n }\n\n const newlineIndex = content.indexOf('\\n');\n if (newlineIndex === -1) {\n // No newline, add token directly\n currentLine.push(token);\n } else {\n // Split on newlines\n const segments = content.split('\\n');\n for (const [j, segment] of segments.entries()) {\n if (segment) {\n // Only create new object if we need to modify content\n currentLine.push(j === 0 && segment === content ? token : { ...token, content: segment });\n }\n if (j < segments.length - 1) {\n lines.push(currentLine);\n currentLine = [];\n }\n }\n }\n }\n\n // Don't forget the last line\n if (currentLine.length > 0 || lines.length === 0) {\n lines.push(currentLine);\n }\n\n return lines.length > 0 ? lines : [[]];\n};\n\nconst createPreStyle = (bg?: string, fg?: string): CSSProperties | undefined => {\n if (!bg && !fg) return undefined;\n return {\n backgroundColor: bg,\n color: fg,\n };\n};\n\nconst useStreamingHighlighter = (\n text: string,\n options: StreamingOptions,\n): StreamingHighlightResult | undefined => {\n const { customThemes, enabled, language, theme } = options;\n const [result, setResult] = useState<StreamingHighlightResult>();\n const tokenizerRef = useRef<ShikiStreamTokenizer | null>(null);\n const previousTextRef = useRef('');\n const safeText = text ?? '';\n const latestTextRef = useRef(safeText);\n const preStyleRef = useRef<CSSProperties | undefined>(undefined);\n const linesRef = useRef<ThemedToken[][]>([[]]);\n\n useEffect(() => {\n latestTextRef.current = safeText;\n }, [safeText]);\n\n // Use ref to store callback to avoid recreating it\n const setStreamingResultRef = useRef((rawLines: ThemedToken[][]) => {\n const previousLines = linesRef.current;\n const newLinesLength = rawLines.length;\n const prevLinesLength = previousLines.length;\n\n // Fast path: if lengths differ or it's a complete reset, use new lines directly\n if (newLinesLength !== prevLinesLength || newLinesLength === 0) {\n linesRef.current = rawLines;\n setResult({\n lines: rawLines,\n preStyle: preStyleRef.current,\n });\n return;\n }\n\n // Optimized comparison: only check changed lines\n let hasChanges = false;\n const mergedLines: ThemedToken[][] = [];\n\n for (let i = 0; i < newLinesLength; i++) {\n const newLine = rawLines[i];\n const prevLine = previousLines[i];\n\n // Quick reference equality check first\n if (prevLine === newLine) {\n mergedLines[i] = prevLine;\n continue;\n }\n\n // Length check\n if (!prevLine || prevLine.length !== newLine.length) {\n mergedLines[i] = newLine;\n hasChanges = true;\n continue;\n }\n\n // Deep comparison only for lines that might have changed\n let lineChanged = false;\n for (const [j, newToken] of newLine.entries()) {\n if (prevLine[j] !== newToken) {\n lineChanged = true;\n break;\n }\n }\n\n if (lineChanged) {\n mergedLines[i] = newLine;\n hasChanges = true;\n } else {\n mergedLines[i] = prevLine;\n }\n }\n\n // Only update state if there are actual changes\n if (hasChanges) {\n linesRef.current = mergedLines;\n setResult({\n lines: mergedLines,\n preStyle: preStyleRef.current,\n });\n }\n });\n\n const updateTokens = useCallback(async (nextText: string, forceReset = false) => {\n const tokenizer = tokenizerRef.current;\n if (!tokenizer) return;\n\n if (forceReset) {\n tokenizer.clear();\n previousTextRef.current = '';\n }\n\n const previousText = previousTextRef.current;\n let chunk = nextText;\n const canAppend = !forceReset && nextText.startsWith(previousText);\n\n if (canAppend) {\n chunk = nextText.slice(previousText.length);\n } else if (!forceReset) {\n tokenizer.clear();\n }\n\n previousTextRef.current = nextText;\n\n if (!chunk) {\n // Optimize: avoid array spread if possible\n const stableTokens = tokenizer.tokensStable;\n const unstableTokens = tokenizer.tokensUnstable;\n const totalLength = stableTokens.length + unstableTokens.length;\n\n if (totalLength === 0) {\n setStreamingResultRef.current([[]]);\n return;\n }\n\n // Only create merged array if we have both stable and unstable tokens\n const mergedTokens =\n stableTokens.length === 0\n ? unstableTokens\n : unstableTokens.length === 0\n ? stableTokens\n : [...stableTokens, ...unstableTokens];\n\n setStreamingResultRef.current(tokensToLineTokens(mergedTokens));\n return;\n }\n\n try {\n await tokenizer.enqueue(chunk);\n // Optimize: avoid array spread if possible\n const stableTokens = tokenizer.tokensStable;\n const unstableTokens = tokenizer.tokensUnstable;\n const mergedTokens =\n stableTokens.length === 0\n ? unstableTokens\n : unstableTokens.length === 0\n ? stableTokens\n : [...stableTokens, ...unstableTokens];\n setStreamingResultRef.current(tokensToLineTokens(mergedTokens));\n } catch (error) {\n console.error('Streaming highlighting failed:', error);\n }\n }, []);\n\n // Cache highlighter key to avoid unnecessary recreations\n const highlighterKeyRef = useRef<string>('');\n\n useEffect(() => {\n if (!enabled) {\n tokenizerRef.current?.clear();\n tokenizerRef.current = null;\n previousTextRef.current = '';\n preStyleRef.current = undefined;\n linesRef.current = [[]];\n setResult(undefined);\n highlighterKeyRef.current = '';\n return;\n }\n\n // Skip if language/theme combination hasn't changed\n const currentKey = `${language}-${theme}`;\n if (highlighterKeyRef.current === currentKey && tokenizerRef.current) {\n return;\n }\n\n let cancelled = false;\n\n (async () => {\n const mod = await shikiModulePromise;\n if (!mod || cancelled) return;\n\n try {\n // Load custom theme if using slack-dark or slack-ochin\n let themesToLoad: any[] = [theme];\n if (customThemes && theme === 'lobe-theme') {\n const customTheme = customThemes[theme];\n if (customTheme) {\n themesToLoad = [customTheme as any];\n }\n }\n\n // Only load the specific language and theme needed\n // getSingletonHighlighter will cache the instance internally\n const highlighter = await mod.getSingletonHighlighter({\n langs: language ? [language] : ['plaintext'],\n themes: themesToLoad,\n });\n\n if (!highlighter || cancelled) return;\n\n // Only create new tokenizer if key changed\n if (highlighterKeyRef.current !== currentKey) {\n // Clear old tokenizer\n tokenizerRef.current?.clear();\n\n const tokenizer = new ShikiStreamTokenizer({\n highlighter,\n lang: language,\n theme,\n });\n\n tokenizerRef.current = tokenizer;\n highlighterKeyRef.current = currentKey;\n previousTextRef.current = '';\n linesRef.current = [[]];\n\n const themeInfo = highlighter.getTheme(theme);\n preStyleRef.current = createPreStyle(themeInfo?.bg, themeInfo?.fg);\n }\n\n const currentText = latestTextRef.current;\n if (currentText) {\n await updateTokens(currentText, true);\n } else {\n setStreamingResultRef.current([[]]);\n }\n } catch (error) {\n console.error('Streaming highlighter initialization failed:', error);\n // Reset on error\n highlighterKeyRef.current = '';\n }\n })();\n\n return () => {\n cancelled = true;\n // Cleanup only if this effect was cancelled before completion\n // The next effect will handle cleanup if key changed\n };\n }, [enabled, language, theme, updateTokens, customThemes]);\n\n // Separate effect for text updates to avoid unnecessary tokenizer recreation\n useEffect(() => {\n if (!enabled) return;\n if (!tokenizerRef.current) return;\n // Use ref to get latest text to avoid stale closures\n const currentText = latestTextRef.current;\n updateTokens(currentText);\n }, [enabled, safeText, updateTokens]);\n\n return result;\n};\n\nexport const useStreamHighlight = (\n text: string,\n {\n language,\n theme: builtinTheme,\n streaming,\n }: { enableTransformer?: boolean; language: string; streaming?: boolean; theme?: BuiltinTheme },\n) => {\n // Safely handle language and text with boundary checks\n const safeText = text ?? '';\n const lang = (language ?? 'plaintext').toLowerCase();\n\n // Match supported languages\n const matchedLanguage = useMemo(() => getCodeLanguageByInput(lang), [lang]);\n\n const effectiveTheme = builtinTheme || 'lobe-theme';\n\n return useStreamingHighlighter(safeText, {\n customThemes: {\n 'lobe-theme': lobeTheme,\n },\n enabled: streaming,\n language: matchedLanguage,\n theme: effectiveTheme,\n });\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useStreamHighlight.mjs","names":["lobeTheme"],"sources":["../../src/hooks/useStreamHighlight.ts"],"sourcesContent":["'use client';\n\nimport { type CSSProperties, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { type BuiltinTheme, type ThemedToken } from 'shiki';\nimport { ShikiStreamTokenizer } from 'shiki-stream';\n\nimport { getCodeLanguageByInput } from '@/Highlighter/const';\nimport lobeTheme from '@/Highlighter/theme/lobe-theme';\n\nimport { shikiModulePromise, type StreamingHighlightResult } from './useHighlight';\n\ntype StreamingOptions = {\n customThemes?: Record<string, any>;\n enabled?: boolean;\n language: string;\n theme: string;\n};\n\n// Optimized version: reduce array allocations and object spreading\nconst tokensToLineTokens = (tokens: ThemedToken[]): ThemedToken[][] => {\n if (!tokens.length) return [[]];\n\n const lines: ThemedToken[][] = [];\n let currentLine: ThemedToken[] = [];\n\n for (const token of tokens) {\n const content = token.content ?? '';\n\n if (content === '\\n') {\n lines.push(currentLine);\n currentLine = [];\n continue;\n }\n\n const newlineIndex = content.indexOf('\\n');\n if (newlineIndex === -1) {\n // No newline, add token directly\n currentLine.push(token);\n } else {\n // Split on newlines\n const segments = content.split('\\n');\n for (const [j, segment] of segments.entries()) {\n if (segment) {\n // Only create new object if we need to modify content\n currentLine.push(j === 0 && segment === content ? token : { ...token, content: segment });\n }\n if (j < segments.length - 1) {\n lines.push(currentLine);\n currentLine = [];\n }\n }\n }\n }\n\n // Don't forget the last line\n if (currentLine.length > 0 || lines.length === 0) {\n lines.push(currentLine);\n }\n\n return lines.length > 0 ? lines : [[]];\n};\n\nconst createPreStyle = (bg?: string, fg?: string): CSSProperties | undefined => {\n if (!bg && !fg) return undefined;\n return {\n backgroundColor: bg,\n color: fg,\n };\n};\n\nconst useStreamingHighlighter = (\n text: string,\n options: StreamingOptions,\n): StreamingHighlightResult | undefined => {\n const { customThemes, enabled, language, theme } = options;\n const [result, setResult] = useState<StreamingHighlightResult>();\n const tokenizerRef = useRef<ShikiStreamTokenizer | null>(null);\n const previousTextRef = useRef('');\n const safeText = text ?? '';\n const latestTextRef = useRef(safeText);\n const preStyleRef = useRef<CSSProperties | undefined>(undefined);\n const linesRef = useRef<ThemedToken[][]>([[]]);\n\n useEffect(() => {\n latestTextRef.current = safeText;\n }, [safeText]);\n\n // Use ref to store callback to avoid recreating it\n const setStreamingResultRef = useRef((rawLines: ThemedToken[][]) => {\n const previousLines = linesRef.current;\n const newLinesLength = rawLines.length;\n const prevLinesLength = previousLines.length;\n\n // Fast path: if lengths differ or it's a complete reset, use new lines directly\n if (newLinesLength !== prevLinesLength || newLinesLength === 0) {\n linesRef.current = rawLines;\n setResult({\n lines: rawLines,\n preStyle: preStyleRef.current,\n });\n return;\n }\n\n // Optimized comparison: only check changed lines\n let hasChanges = false;\n const mergedLines: ThemedToken[][] = [];\n\n for (let i = 0; i < newLinesLength; i++) {\n const newLine = rawLines[i];\n const prevLine = previousLines[i];\n\n // Quick reference equality check first\n if (prevLine === newLine) {\n mergedLines[i] = prevLine;\n continue;\n }\n\n // Length check\n if (!prevLine || prevLine.length !== newLine.length) {\n mergedLines[i] = newLine;\n hasChanges = true;\n continue;\n }\n\n // Deep comparison only for lines that might have changed\n let lineChanged = false;\n for (const [j, newToken] of newLine.entries()) {\n if (prevLine[j] !== newToken) {\n lineChanged = true;\n break;\n }\n }\n\n if (lineChanged) {\n mergedLines[i] = newLine;\n hasChanges = true;\n } else {\n mergedLines[i] = prevLine;\n }\n }\n\n // Only update state if there are actual changes\n if (hasChanges) {\n linesRef.current = mergedLines;\n setResult({\n lines: mergedLines,\n preStyle: preStyleRef.current,\n });\n }\n });\n\n const updateTokens = useCallback(async (nextText: string, forceReset = false) => {\n const tokenizer = tokenizerRef.current;\n if (!tokenizer) return;\n\n if (forceReset) {\n tokenizer.clear();\n previousTextRef.current = '';\n }\n\n const previousText = previousTextRef.current;\n let chunk = nextText;\n const canAppend = !forceReset && nextText.startsWith(previousText);\n\n if (canAppend) {\n chunk = nextText.slice(previousText.length);\n } else if (!forceReset) {\n tokenizer.clear();\n }\n\n previousTextRef.current = nextText;\n\n if (!chunk) {\n // Optimize: avoid array spread if possible\n const stableTokens = tokenizer.tokensStable;\n const unstableTokens = tokenizer.tokensUnstable;\n const totalLength = stableTokens.length + unstableTokens.length;\n\n if (totalLength === 0) {\n setStreamingResultRef.current([[]]);\n return;\n }\n\n // Only create merged array if we have both stable and unstable tokens\n const mergedTokens =\n stableTokens.length === 0\n ? unstableTokens\n : unstableTokens.length === 0\n ? stableTokens\n : [...stableTokens, ...unstableTokens];\n\n setStreamingResultRef.current(tokensToLineTokens(mergedTokens));\n return;\n }\n\n try {\n await tokenizer.enqueue(chunk);\n // Optimize: avoid array spread if possible\n const stableTokens = tokenizer.tokensStable;\n const unstableTokens = tokenizer.tokensUnstable;\n const mergedTokens =\n stableTokens.length === 0\n ? unstableTokens\n : unstableTokens.length === 0\n ? stableTokens\n : [...stableTokens, ...unstableTokens];\n setStreamingResultRef.current(tokensToLineTokens(mergedTokens));\n } catch (error) {\n console.error('Streaming highlighting failed:', error);\n }\n }, []);\n\n // Cache highlighter key to avoid unnecessary recreations\n const highlighterKeyRef = useRef<string>('');\n\n useEffect(() => {\n if (!enabled) {\n tokenizerRef.current?.clear();\n tokenizerRef.current = null;\n previousTextRef.current = '';\n preStyleRef.current = undefined;\n linesRef.current = [[]];\n setResult(undefined);\n highlighterKeyRef.current = '';\n return;\n }\n\n // Skip if language/theme combination hasn't changed\n const currentKey = `${language}-${theme}`;\n if (highlighterKeyRef.current === currentKey && tokenizerRef.current) {\n return;\n }\n\n let cancelled = false;\n\n (async () => {\n const mod = await shikiModulePromise;\n if (!mod || cancelled) return;\n\n try {\n // Load custom theme if using slack-dark or slack-ochin\n let themesToLoad: any[] = [theme];\n if (customThemes && theme === 'lobe-theme') {\n const customTheme = customThemes[theme];\n if (customTheme) {\n themesToLoad = [customTheme as any];\n }\n }\n\n // Only load the specific language and theme needed\n // getSingletonHighlighter will cache the instance internally\n const highlighter = await mod.getSingletonHighlighter({\n langs: language ? [language] : ['plaintext'],\n themes: themesToLoad,\n });\n\n if (!highlighter || cancelled) return;\n\n // Only create new tokenizer if key changed\n if (highlighterKeyRef.current !== currentKey) {\n // Clear old tokenizer\n tokenizerRef.current?.clear();\n\n const tokenizer = new ShikiStreamTokenizer({\n highlighter,\n lang: language,\n theme,\n });\n\n tokenizerRef.current = tokenizer;\n highlighterKeyRef.current = currentKey;\n previousTextRef.current = '';\n linesRef.current = [[]];\n\n const themeInfo = highlighter.getTheme(theme);\n preStyleRef.current = createPreStyle(themeInfo?.bg, themeInfo?.fg);\n }\n\n const currentText = latestTextRef.current;\n if (currentText) {\n await updateTokens(currentText, true);\n } else {\n setStreamingResultRef.current([[]]);\n }\n } catch (error) {\n console.error('Streaming highlighter initialization failed:', error);\n // Reset on error\n highlighterKeyRef.current = '';\n }\n })();\n\n return () => {\n cancelled = true;\n // Cleanup only if this effect was cancelled before completion\n // The next effect will handle cleanup if key changed\n };\n }, [enabled, language, theme, updateTokens, customThemes]);\n\n // Separate effect for text updates to avoid unnecessary tokenizer recreation\n useEffect(() => {\n if (!enabled) return;\n if (!tokenizerRef.current) return;\n // Use ref to get latest text to avoid stale closures\n const currentText = latestTextRef.current;\n updateTokens(currentText);\n }, [enabled, safeText, updateTokens]);\n\n return result;\n};\n\nexport const useStreamHighlight = (\n text: string,\n {\n language,\n theme: builtinTheme,\n streaming,\n }: { enableTransformer?: boolean; language: string; streaming?: boolean; theme?: BuiltinTheme },\n) => {\n // Safely handle language and text with boundary checks\n const safeText = text ?? '';\n const lang = (language ?? 'plaintext').toLowerCase();\n\n // Match supported languages\n const matchedLanguage = useMemo(() => getCodeLanguageByInput(lang), [lang]);\n\n const effectiveTheme = builtinTheme || 'lobe-theme';\n\n return useStreamingHighlighter(safeText, {\n customThemes: {\n 'lobe-theme': lobeTheme,\n },\n enabled: streaming,\n language: matchedLanguage,\n theme: effectiveTheme,\n });\n};\n"],"mappings":"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"}
@@ -1,9 +1,7 @@
1
- 'use client';
2
-
1
+ "use client";
3
2
  import { createMermaidConfig, loadMermaid } from "./useMermaid.mjs";
4
3
  import { useEffect, useMemo, useRef, useState } from "react";
5
4
  import { useTheme } from "antd-style";
6
-
7
5
  //#region src/hooks/useStreamMermaid.ts
8
6
  /**
9
7
  * 流式 Mermaid 渲染 - 支持内容逐步更新
@@ -42,8 +40,8 @@ const useStreamMermaid = (content, { enabled = true, id, theme: customTheme }) =
42
40
  if (!enabled) {
43
41
  setData("");
44
42
  previousContentRef.current = "";
45
- const timeoutId$1 = renderTimeoutRef.current;
46
- if (timeoutId$1) clearTimeout(timeoutId$1);
43
+ const timeoutId = renderTimeoutRef.current;
44
+ if (timeoutId) clearTimeout(timeoutId);
47
45
  return;
48
46
  }
49
47
  const currentContent = latestContentRef.current;
@@ -69,8 +67,8 @@ const useStreamMermaid = (content, { enabled = true, id, theme: customTheme }) =
69
67
  }
70
68
  }, 300);
71
69
  return () => {
72
- const timeoutId$1 = renderTimeoutRef.current;
73
- if (timeoutId$1) clearTimeout(timeoutId$1);
70
+ const timeoutId = renderTimeoutRef.current;
71
+ if (timeoutId) clearTimeout(timeoutId);
74
72
  };
75
73
  }, [
76
74
  enabled,
@@ -81,7 +79,7 @@ const useStreamMermaid = (content, { enabled = true, id, theme: customTheme }) =
81
79
  ]);
82
80
  return data;
83
81
  };
84
-
85
82
  //#endregion
86
83
  export { useStreamMermaid };
84
+
87
85
  //# sourceMappingURL=useStreamMermaid.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStreamMermaid.mjs","names":["timeoutId"],"sources":["../../src/hooks/useStreamMermaid.ts"],"sourcesContent":["'use client';\n\nimport { useTheme } from 'antd-style';\nimport type { MermaidConfig } from 'mermaid';\nimport { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { createMermaidConfig, loadMermaid } from './useMermaid';\n\n/**\n * 流式 Mermaid 渲染 - 支持内容逐步更新\n */\nexport const useStreamMermaid = (\n content: string,\n {\n enabled = true,\n id,\n theme: customTheme,\n }: {\n enabled?: boolean;\n id: string;\n theme?: MermaidConfig['theme'];\n },\n): string => {\n const theme = useTheme();\n const [data, setData] = useState<string>('');\n const previousContentRef = useRef<string>('');\n const latestContentRef = useRef(content);\n const renderTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n // 提取主题相关配置到 useMemo 中\n const mermaidConfig = useMemo(\n () => createMermaidConfig(theme, customTheme),\n [\n theme.fontFamilyCode,\n theme.isDarkMode,\n theme.colorTextDescription,\n theme.fontFamily,\n theme.colorTextSecondary,\n theme.colorBgContainer,\n theme.colorInfoBg,\n theme.colorInfoText,\n theme.geekblue,\n theme.colorWarning,\n theme.colorSuccess,\n theme.colorError,\n theme.colorBorder,\n theme.colorInfoBorder,\n theme.colorSuccessBorder,\n theme.colorSuccessBg,\n theme.colorSuccessText,\n theme.colorText,\n customTheme,\n ],\n );\n\n // Update latest content ref\n useEffect(() => {\n latestContentRef.current = content;\n }, [content]);\n\n // Debounced rendering for streaming content\n useEffect(() => {\n if (!enabled) {\n setData('');\n previousContentRef.current = '';\n const timeoutId = renderTimeoutRef.current;\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n return;\n }\n\n const currentContent = latestContentRef.current;\n\n // Skip if content hasn't changed\n if (currentContent === previousContentRef.current && data) {\n return;\n }\n\n // Clear previous timeout\n const timeoutId = renderTimeoutRef.current;\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n\n // Debounce rendering for streaming content (wait 300ms after last change)\n renderTimeoutRef.current = setTimeout(async () => {\n const contentToRender = latestContentRef.current;\n\n // Skip if content changed during debounce\n if (contentToRender !== currentContent) {\n return;\n }\n\n try {\n const mermaidInstance = await loadMermaid();\n if (!mermaidInstance) return;\n\n // 验证语法\n const isValid = await mermaidInstance.parse(contentToRender);\n\n if (isValid) {\n // 初始化并渲染\n mermaidInstance.initialize(mermaidConfig);\n const { svg } = await mermaidInstance.render(id, contentToRender);\n\n // Only update if content hasn't changed during rendering\n if (latestContentRef.current === contentToRender) {\n setData(svg);\n previousContentRef.current = contentToRender;\n }\n }\n } catch (error_) {\n // Silently handle errors during streaming\n // Only log if this is the final content\n if (contentToRender === latestContentRef.current) {\n console.error('Mermaid 解析错误:', error_);\n }\n }\n }, 300);\n\n return () => {\n const timeoutId = renderTimeoutRef.current;\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, [enabled, content, id, mermaidConfig, data]);\n\n return data;\n};\n"],"mappings":";;;;;;;;;;AAWA,MAAa,oBACX,SACA,EACE,UAAU,MACV,IACA,OAAO,kBAME;CACX,MAAM,QAAQ,UAAU;CACxB,MAAM,CAAC,MAAM,WAAW,SAAiB,GAAG;CAC5C,MAAM,qBAAqB,OAAe,GAAG;CAC7C,MAAM,mBAAmB,OAAO,QAAQ;CACxC,MAAM,mBAAmB,OAAkD,OAAU;CAGrF,MAAM,gBAAgB,cACd,oBAAoB,OAAO,YAAY,EAC7C;EACE,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN;EACD,CACF;AAGD,iBAAgB;AACd,mBAAiB,UAAU;IAC1B,CAAC,QAAQ,CAAC;AAGb,iBAAgB;AACd,MAAI,CAAC,SAAS;AACZ,WAAQ,GAAG;AACX,sBAAmB,UAAU;GAC7B,MAAMA,cAAY,iBAAiB;AACnC,OAAIA,YACF,cAAaA,YAAU;AAEzB;;EAGF,MAAM,iBAAiB,iBAAiB;AAGxC,MAAI,mBAAmB,mBAAmB,WAAW,KACnD;EAIF,MAAM,YAAY,iBAAiB;AACnC,MAAI,UACF,cAAa,UAAU;AAIzB,mBAAiB,UAAU,WAAW,YAAY;GAChD,MAAM,kBAAkB,iBAAiB;AAGzC,OAAI,oBAAoB,eACtB;AAGF,OAAI;IACF,MAAM,kBAAkB,MAAM,aAAa;AAC3C,QAAI,CAAC,gBAAiB;AAKtB,QAFgB,MAAM,gBAAgB,MAAM,gBAAgB,EAE/C;AAEX,qBAAgB,WAAW,cAAc;KACzC,MAAM,EAAE,QAAQ,MAAM,gBAAgB,OAAO,IAAI,gBAAgB;AAGjE,SAAI,iBAAiB,YAAY,iBAAiB;AAChD,cAAQ,IAAI;AACZ,yBAAmB,UAAU;;;YAG1B,QAAQ;AAGf,QAAI,oBAAoB,iBAAiB,QACvC,SAAQ,MAAM,iBAAiB,OAAO;;KAGzC,IAAI;AAEP,eAAa;GACX,MAAMA,cAAY,iBAAiB;AACnC,OAAIA,YACF,cAAaA,YAAU;;IAG1B;EAAC;EAAS;EAAS;EAAI;EAAe;EAAK,CAAC;AAE/C,QAAO"}
1
+ {"version":3,"file":"useStreamMermaid.mjs","names":[],"sources":["../../src/hooks/useStreamMermaid.ts"],"sourcesContent":["'use client';\n\nimport { useTheme } from 'antd-style';\nimport type { MermaidConfig } from 'mermaid';\nimport { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { createMermaidConfig, loadMermaid } from './useMermaid';\n\n/**\n * 流式 Mermaid 渲染 - 支持内容逐步更新\n */\nexport const useStreamMermaid = (\n content: string,\n {\n enabled = true,\n id,\n theme: customTheme,\n }: {\n enabled?: boolean;\n id: string;\n theme?: MermaidConfig['theme'];\n },\n): string => {\n const theme = useTheme();\n const [data, setData] = useState<string>('');\n const previousContentRef = useRef<string>('');\n const latestContentRef = useRef(content);\n const renderTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n // 提取主题相关配置到 useMemo 中\n const mermaidConfig = useMemo(\n () => createMermaidConfig(theme, customTheme),\n [\n theme.fontFamilyCode,\n theme.isDarkMode,\n theme.colorTextDescription,\n theme.fontFamily,\n theme.colorTextSecondary,\n theme.colorBgContainer,\n theme.colorInfoBg,\n theme.colorInfoText,\n theme.geekblue,\n theme.colorWarning,\n theme.colorSuccess,\n theme.colorError,\n theme.colorBorder,\n theme.colorInfoBorder,\n theme.colorSuccessBorder,\n theme.colorSuccessBg,\n theme.colorSuccessText,\n theme.colorText,\n customTheme,\n ],\n );\n\n // Update latest content ref\n useEffect(() => {\n latestContentRef.current = content;\n }, [content]);\n\n // Debounced rendering for streaming content\n useEffect(() => {\n if (!enabled) {\n setData('');\n previousContentRef.current = '';\n const timeoutId = renderTimeoutRef.current;\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n return;\n }\n\n const currentContent = latestContentRef.current;\n\n // Skip if content hasn't changed\n if (currentContent === previousContentRef.current && data) {\n return;\n }\n\n // Clear previous timeout\n const timeoutId = renderTimeoutRef.current;\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n\n // Debounce rendering for streaming content (wait 300ms after last change)\n renderTimeoutRef.current = setTimeout(async () => {\n const contentToRender = latestContentRef.current;\n\n // Skip if content changed during debounce\n if (contentToRender !== currentContent) {\n return;\n }\n\n try {\n const mermaidInstance = await loadMermaid();\n if (!mermaidInstance) return;\n\n // 验证语法\n const isValid = await mermaidInstance.parse(contentToRender);\n\n if (isValid) {\n // 初始化并渲染\n mermaidInstance.initialize(mermaidConfig);\n const { svg } = await mermaidInstance.render(id, contentToRender);\n\n // Only update if content hasn't changed during rendering\n if (latestContentRef.current === contentToRender) {\n setData(svg);\n previousContentRef.current = contentToRender;\n }\n }\n } catch (error_) {\n // Silently handle errors during streaming\n // Only log if this is the final content\n if (contentToRender === latestContentRef.current) {\n console.error('Mermaid 解析错误:', error_);\n }\n }\n }, 300);\n\n return () => {\n const timeoutId = renderTimeoutRef.current;\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, [enabled, content, id, mermaidConfig, data]);\n\n return data;\n};\n"],"mappings":";;;;;;;;AAWA,MAAa,oBACX,SACA,EACE,UAAU,MACV,IACA,OAAO,kBAME;CACX,MAAM,QAAQ,UAAU;CACxB,MAAM,CAAC,MAAM,WAAW,SAAiB,GAAG;CAC5C,MAAM,qBAAqB,OAAe,GAAG;CAC7C,MAAM,mBAAmB,OAAO,QAAQ;CACxC,MAAM,mBAAmB,OAAkD,KAAA,EAAU;CAGrF,MAAM,gBAAgB,cACd,oBAAoB,OAAO,YAAY,EAC7C;EACE,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN;EACD,CACF;AAGD,iBAAgB;AACd,mBAAiB,UAAU;IAC1B,CAAC,QAAQ,CAAC;AAGb,iBAAgB;AACd,MAAI,CAAC,SAAS;AACZ,WAAQ,GAAG;AACX,sBAAmB,UAAU;GAC7B,MAAM,YAAY,iBAAiB;AACnC,OAAI,UACF,cAAa,UAAU;AAEzB;;EAGF,MAAM,iBAAiB,iBAAiB;AAGxC,MAAI,mBAAmB,mBAAmB,WAAW,KACnD;EAIF,MAAM,YAAY,iBAAiB;AACnC,MAAI,UACF,cAAa,UAAU;AAIzB,mBAAiB,UAAU,WAAW,YAAY;GAChD,MAAM,kBAAkB,iBAAiB;AAGzC,OAAI,oBAAoB,eACtB;AAGF,OAAI;IACF,MAAM,kBAAkB,MAAM,aAAa;AAC3C,QAAI,CAAC,gBAAiB;AAKtB,QAFgB,MAAM,gBAAgB,MAAM,gBAAgB,EAE/C;AAEX,qBAAgB,WAAW,cAAc;KACzC,MAAM,EAAE,QAAQ,MAAM,gBAAgB,OAAO,IAAI,gBAAgB;AAGjE,SAAI,iBAAiB,YAAY,iBAAiB;AAChD,cAAQ,IAAI;AACZ,yBAAmB,UAAU;;;YAG1B,QAAQ;AAGf,QAAI,oBAAoB,iBAAiB,QACvC,SAAQ,MAAM,iBAAiB,OAAO;;KAGzC,IAAI;AAEP,eAAa;GACX,MAAM,YAAY,iBAAiB;AACnC,OAAI,UACF,cAAa,UAAU;;IAG1B;EAAC;EAAS;EAAS;EAAI;EAAe;EAAK,CAAC;AAE/C,QAAO"}
@@ -1,5 +1,4 @@
1
1
  import { useEffect, useState } from "react";
2
-
3
2
  //#region src/hooks/useTextOverflow.ts
4
3
  const useTextOverflow = (textRef, ellipsis, children) => {
5
4
  const [isOverflow, setIsOverflow] = useState(false);
@@ -25,7 +24,7 @@ const useTextOverflow = (textRef, ellipsis, children) => {
25
24
  ]);
26
25
  return isOverflow;
27
26
  };
28
-
29
27
  //#endregion
30
28
  export { useTextOverflow };
29
+
31
30
  //# sourceMappingURL=useTextOverflow.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTextOverflow.mjs","names":[],"sources":["../../src/hooks/useTextOverflow.ts"],"sourcesContent":["import { type ReactNode, type RefObject, useEffect, useState } from 'react';\n\ninterface EllipsisConfig {\n rows?: number;\n tooltipWhenOverflow?: boolean;\n}\n\nexport const useTextOverflow = <T extends HTMLElement = HTMLElement>(\n textRef: RefObject<T | null>,\n ellipsis: boolean | EllipsisConfig | undefined,\n children: ReactNode,\n) => {\n const [isOverflow, setIsOverflow] = useState(false);\n\n const tooltipWhenOverflow = typeof ellipsis === 'object' && ellipsis.tooltipWhenOverflow;\n\n useEffect(() => {\n if (!tooltipWhenOverflow) return;\n\n const checkOverflow = () => {\n const element = textRef.current;\n if (!element) return;\n\n const rows = typeof ellipsis === 'object' ? ellipsis.rows : undefined;\n if (rows && rows > 1) {\n setIsOverflow(element.scrollHeight > element.clientHeight);\n } else {\n setIsOverflow(element.scrollWidth > element.clientWidth);\n }\n };\n\n checkOverflow();\n\n const resizeObserver = new ResizeObserver(checkOverflow);\n if (textRef.current) {\n resizeObserver.observe(textRef.current);\n }\n\n return () => resizeObserver.disconnect();\n }, [tooltipWhenOverflow, ellipsis, children, textRef]);\n\n return isOverflow;\n};\n"],"mappings":";;;AAOA,MAAa,mBACX,SACA,UACA,aACG;CACH,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;CAEnD,MAAM,sBAAsB,OAAO,aAAa,YAAY,SAAS;AAErE,iBAAgB;AACd,MAAI,CAAC,oBAAqB;EAE1B,MAAM,sBAAsB;GAC1B,MAAM,UAAU,QAAQ;AACxB,OAAI,CAAC,QAAS;GAEd,MAAM,OAAO,OAAO,aAAa,WAAW,SAAS,OAAO;AAC5D,OAAI,QAAQ,OAAO,EACjB,eAAc,QAAQ,eAAe,QAAQ,aAAa;OAE1D,eAAc,QAAQ,cAAc,QAAQ,YAAY;;AAI5D,iBAAe;EAEf,MAAM,iBAAiB,IAAI,eAAe,cAAc;AACxD,MAAI,QAAQ,QACV,gBAAe,QAAQ,QAAQ,QAAQ;AAGzC,eAAa,eAAe,YAAY;IACvC;EAAC;EAAqB;EAAU;EAAU;EAAQ,CAAC;AAEtD,QAAO"}
1
+ {"version":3,"file":"useTextOverflow.mjs","names":[],"sources":["../../src/hooks/useTextOverflow.ts"],"sourcesContent":["import { type ReactNode, type RefObject, useEffect, useState } from 'react';\n\ninterface EllipsisConfig {\n rows?: number;\n tooltipWhenOverflow?: boolean;\n}\n\nexport const useTextOverflow = <T extends HTMLElement = HTMLElement>(\n textRef: RefObject<T | null>,\n ellipsis: boolean | EllipsisConfig | undefined,\n children: ReactNode,\n) => {\n const [isOverflow, setIsOverflow] = useState(false);\n\n const tooltipWhenOverflow = typeof ellipsis === 'object' && ellipsis.tooltipWhenOverflow;\n\n useEffect(() => {\n if (!tooltipWhenOverflow) return;\n\n const checkOverflow = () => {\n const element = textRef.current;\n if (!element) return;\n\n const rows = typeof ellipsis === 'object' ? ellipsis.rows : undefined;\n if (rows && rows > 1) {\n setIsOverflow(element.scrollHeight > element.clientHeight);\n } else {\n setIsOverflow(element.scrollWidth > element.clientWidth);\n }\n };\n\n checkOverflow();\n\n const resizeObserver = new ResizeObserver(checkOverflow);\n if (textRef.current) {\n resizeObserver.observe(textRef.current);\n }\n\n return () => resizeObserver.disconnect();\n }, [tooltipWhenOverflow, ellipsis, children, textRef]);\n\n return isOverflow;\n};\n"],"mappings":";;AAOA,MAAa,mBACX,SACA,UACA,aACG;CACH,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;CAEnD,MAAM,sBAAsB,OAAO,aAAa,YAAY,SAAS;AAErE,iBAAgB;AACd,MAAI,CAAC,oBAAqB;EAE1B,MAAM,sBAAsB;GAC1B,MAAM,UAAU,QAAQ;AACxB,OAAI,CAAC,QAAS;GAEd,MAAM,OAAO,OAAO,aAAa,WAAW,SAAS,OAAO,KAAA;AAC5D,OAAI,QAAQ,OAAO,EACjB,eAAc,QAAQ,eAAe,QAAQ,aAAa;OAE1D,eAAc,QAAQ,cAAc,QAAQ,YAAY;;AAI5D,iBAAe;EAEf,MAAM,iBAAiB,IAAI,eAAe,cAAc;AACxD,MAAI,QAAQ,QACV,gBAAe,QAAQ,QAAQ,QAAQ;AAGzC,eAAa,eAAe,YAAY;IACvC;EAAC;EAAqB;EAAU;EAAU;EAAQ,CAAC;AAEtD,QAAO"}
@@ -1,7 +1,6 @@
1
1
  import { I18nContextValue, TranslationKey, TranslationResources, TranslationResourcesInput } from "./types.mjs";
2
2
  import { MotionComponentType } from "../MotionProvider/index.mjs";
3
- import "../ConfigProvider/index.mjs";
4
- import * as react12 from "react";
3
+ import * as _$react from "react";
5
4
  import { ReactNode } from "react";
6
5
 
7
6
  //#region src/i18n/context.d.ts
@@ -11,7 +10,7 @@ interface I18nProviderProps {
11
10
  motion: MotionComponentType;
12
11
  resources?: TranslationResourcesInput;
13
12
  }
14
- declare const I18nProvider: react12.NamedExoticComponent<I18nProviderProps>;
13
+ declare const I18nProvider: _$react.NamedExoticComponent<I18nProviderProps>;
15
14
  //#endregion
16
15
  export { I18nProvider, I18nProviderProps };
17
16
  //# sourceMappingURL=context.d.mts.map