@lobehub/ui 4.33.3 → 4.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (596) hide show
  1. package/README.md +3 -3
  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 -3
  5. package/es/Accordion/Accordion.mjs.map +1 -1
  6. package/es/Accordion/AccordionItem.d.mts +2 -2
  7. package/es/Accordion/AccordionItem.mjs +15 -15
  8. package/es/Accordion/AccordionItem.mjs.map +1 -1
  9. package/es/Accordion/context.mjs +2 -2
  10. package/es/Accordion/context.mjs.map +1 -1
  11. package/es/ActionIcon/ActionIcon.d.mts +2 -2
  12. package/es/ActionIcon/ActionIcon.mjs +2 -2
  13. package/es/ActionIcon/ActionIcon.mjs.map +1 -1
  14. package/es/ActionIcon/style.mjs.map +1 -1
  15. package/es/ActionIconGroup/ActionIconGroup.mjs +3 -3
  16. package/es/ActionIconGroup/ActionIconGroup.mjs.map +1 -1
  17. package/es/ActionIconGroup/style.mjs.map +1 -1
  18. package/es/Alert/Alert.d.mts +2 -2
  19. package/es/Alert/Alert.mjs +6 -6
  20. package/es/Alert/Alert.mjs.map +1 -1
  21. package/es/Alert/style.mjs.map +1 -1
  22. package/es/AutoComplete/Select.d.mts +2 -2
  23. package/es/AutoComplete/Select.mjs +1 -1
  24. package/es/AutoComplete/Select.mjs.map +1 -1
  25. package/es/AutoComplete/style.mjs.map +1 -1
  26. package/es/Avatar/Avatar.mjs +4 -4
  27. package/es/Avatar/Avatar.mjs.map +1 -1
  28. package/es/Avatar/AvatarGroup/index.d.mts +2 -2
  29. package/es/Avatar/AvatarGroup/index.mjs +5 -5
  30. package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
  31. package/es/Avatar/index.mjs.map +1 -1
  32. package/es/Avatar/style.mjs.map +1 -1
  33. package/es/Avatar/utils.mjs.map +1 -1
  34. package/es/Block/style.mjs.map +1 -1
  35. package/es/Burger/Burger.d.mts +2 -2
  36. package/es/Burger/Burger.mjs +2 -2
  37. package/es/Burger/Burger.mjs.map +1 -1
  38. package/es/Burger/type.d.mts +1 -1
  39. package/es/Button/Button.mjs +7 -7
  40. package/es/Button/Button.mjs.map +1 -1
  41. package/es/Button/style.mjs.map +1 -1
  42. package/es/Checkbox/Checkbox.mjs +8 -8
  43. package/es/Checkbox/Checkbox.mjs.map +1 -1
  44. package/es/Checkbox/CheckboxGroup.mjs +4 -4
  45. package/es/Checkbox/CheckboxGroup.mjs.map +1 -1
  46. package/es/Checkbox/index.mjs.map +1 -1
  47. package/es/CodeDiff/CodeDiff.d.mts +2 -2
  48. package/es/CodeDiff/CodeDiff.mjs +3 -3
  49. package/es/CodeDiff/CodeDiff.mjs.map +1 -1
  50. package/es/CodeDiff/PatchDiff.d.mts +2 -2
  51. package/es/CodeDiff/PatchDiff.mjs +3 -3
  52. package/es/CodeDiff/PatchDiff.mjs.map +1 -1
  53. package/es/CodeDiff/style.mjs.map +1 -1
  54. package/es/CodeEditor/CodeEditor.d.mts +2 -2
  55. package/es/CodeEditor/CodeEditor.mjs +5 -5
  56. package/es/CodeEditor/CodeEditor.mjs.map +1 -1
  57. package/es/CodeEditor/style.mjs.map +1 -1
  58. package/es/Collapse/Collapse.d.mts +2 -2
  59. package/es/Collapse/Collapse.mjs +5 -5
  60. package/es/Collapse/Collapse.mjs.map +1 -1
  61. package/es/Collapse/style.mjs.map +1 -1
  62. package/es/ColorSwatches/ColorSwatches.mjs +11 -11
  63. package/es/ColorSwatches/ColorSwatches.mjs.map +1 -1
  64. package/es/ConfigProvider/index.d.mts +3 -3
  65. package/es/ConfigProvider/index.mjs.map +1 -1
  66. package/es/ContextMenu/ContextMenuHost.d.mts +3 -3
  67. package/es/ContextMenu/ContextMenuHost.mjs +10 -3
  68. package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
  69. package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
  70. package/es/ContextMenu/renderItems.d.mts +1 -1
  71. package/es/ContextMenu/renderItems.mjs +39 -14
  72. package/es/ContextMenu/renderItems.mjs.map +1 -1
  73. package/es/ContextMenu/store.d.mts +3 -1
  74. package/es/ContextMenu/store.mjs +1 -0
  75. package/es/ContextMenu/store.mjs.map +1 -1
  76. package/es/CopyButton/CopyButton.d.mts +2 -2
  77. package/es/DatePicker/DatePicker.d.mts +2 -2
  78. package/es/DatePicker/DatePicker.mjs +1 -1
  79. package/es/DatePicker/DatePicker.mjs.map +1 -1
  80. package/es/DatePicker/style.mjs.map +1 -1
  81. package/es/DraggablePanel/DraggablePanel.mjs +9 -9
  82. package/es/DraggablePanel/DraggablePanel.mjs.map +1 -1
  83. package/es/DraggablePanel/components/DraggablePanelBody.d.mts +2 -2
  84. package/es/DraggablePanel/components/DraggablePanelContainer.d.mts +2 -2
  85. package/es/DraggablePanel/components/DraggablePanelFooter.d.mts +2 -2
  86. package/es/DraggablePanel/components/DraggablePanelFooter.mjs +1 -1
  87. package/es/DraggablePanel/components/DraggablePanelFooter.mjs.map +1 -1
  88. package/es/DraggablePanel/components/DraggablePanelHeader.d.mts +2 -2
  89. package/es/DraggablePanel/components/DraggablePanelHeader.mjs +7 -7
  90. package/es/DraggablePanel/components/DraggablePanelHeader.mjs.map +1 -1
  91. package/es/DraggablePanel/index.mjs +1 -1
  92. package/es/DraggablePanel/index.mjs.map +1 -1
  93. package/es/DraggablePanel/style.mjs.map +1 -1
  94. package/es/DraggableSideNav/DraggableSideNav.d.mts +2 -2
  95. package/es/DraggableSideNav/DraggableSideNav.mjs +5 -5
  96. package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
  97. package/es/Drawer/Drawer.d.mts +2 -2
  98. package/es/Drawer/Drawer.mjs +5 -5
  99. package/es/Drawer/Drawer.mjs.map +1 -1
  100. package/es/Dropdown/Dropdown.d.mts +2 -2
  101. package/es/DropdownMenu/DropdownMenu.d.mts +2 -2
  102. package/es/DropdownMenu/DropdownMenu.mjs +7 -3
  103. package/es/DropdownMenu/DropdownMenu.mjs.map +1 -1
  104. package/es/DropdownMenu/atoms.d.mts +33 -17
  105. package/es/DropdownMenu/atoms.mjs +20 -6
  106. package/es/DropdownMenu/atoms.mjs.map +1 -1
  107. package/es/DropdownMenu/index.d.mts +2 -2
  108. package/es/DropdownMenu/index.mjs +2 -2
  109. package/es/DropdownMenu/renderItems.d.mts +1 -1
  110. package/es/DropdownMenu/renderItems.mjs +36 -14
  111. package/es/DropdownMenu/renderItems.mjs.map +1 -1
  112. package/es/DropdownMenu/type.d.mts +8 -1
  113. package/es/EditableText/ControlInput.mjs +29 -29
  114. package/es/EditableText/ControlInput.mjs.map +1 -1
  115. package/es/EditableText/EditableText.d.mts +2 -2
  116. package/es/EditableText/EditableText.mjs +16 -16
  117. package/es/EditableText/EditableText.mjs.map +1 -1
  118. package/es/EditorSlashMenu/EditorSlashMenu.mjs +2 -2
  119. package/es/EditorSlashMenu/EditorSlashMenu.mjs.map +1 -1
  120. package/es/EditorSlashMenu/MenuItemRenderer.mjs +1 -1
  121. package/es/EditorSlashMenu/MenuItemRenderer.mjs.map +1 -1
  122. package/es/EditorSlashMenu/atoms.d.mts +22 -13
  123. package/es/EditorSlashMenu/atoms.mjs +3 -4
  124. package/es/EditorSlashMenu/atoms.mjs.map +1 -1
  125. package/es/EmojiPicker/AvatarUploader.mjs +5 -5
  126. package/es/EmojiPicker/AvatarUploader.mjs.map +1 -1
  127. package/es/EmojiPicker/EmojiPicker.d.mts +2 -2
  128. package/es/EmojiPicker/EmojiPicker.mjs +23 -23
  129. package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
  130. package/es/Empty/Empty.mjs +2 -2
  131. package/es/Empty/Empty.mjs.map +1 -1
  132. package/es/FileTypeIcon/components/FileIcon.mjs.map +1 -1
  133. package/es/FileTypeIcon/components/FolderIcon.mjs.map +1 -1
  134. package/es/Flex/FlexBasic.d.mts +2 -2
  135. package/es/FluentEmoji/FluentEmoji.mjs +1 -1
  136. package/es/FluentEmoji/FluentEmoji.mjs.map +1 -1
  137. package/es/FontLoader/index.d.mts +2 -2
  138. package/es/Footer/Footer.d.mts +2 -2
  139. package/es/Footer/Footer.mjs +1 -1
  140. package/es/Footer/Footer.mjs.map +1 -1
  141. package/es/Form/Form.mjs +12 -12
  142. package/es/Form/Form.mjs.map +1 -1
  143. package/es/Form/components/FormGroup.d.mts +2 -2
  144. package/es/Form/components/FormGroup.mjs +5 -5
  145. package/es/Form/components/FormGroup.mjs.map +1 -1
  146. package/es/Form/components/FormItem.d.mts +2 -2
  147. package/es/Form/components/FormProvider.mjs.map +1 -1
  148. package/es/Form/components/FormSubmitFooter.d.mts +2 -2
  149. package/es/Form/components/FormSubmitFooter.mjs +5 -5
  150. package/es/Form/components/FormSubmitFooter.mjs.map +1 -1
  151. package/es/Form/components/FormTitle.mjs +1 -1
  152. package/es/Form/components/FormTitle.mjs.map +1 -1
  153. package/es/Form/components/merge.mjs.map +1 -1
  154. package/es/Form/index.mjs +1 -1
  155. package/es/Form/index.mjs.map +1 -1
  156. package/es/Form/style.mjs.map +1 -1
  157. package/es/Form/type.d.mts +1 -1
  158. package/es/FormModal/FormModal.d.mts +2 -2
  159. package/es/FormModal/FormModal.mjs +10 -10
  160. package/es/FormModal/FormModal.mjs.map +1 -1
  161. package/es/GroupAvatar/style.mjs.map +1 -1
  162. package/es/GroupAvatar/type.d.mts +1 -1
  163. package/es/GuideCard/GuideCard.d.mts +2 -2
  164. package/es/GuideCard/style.mjs.map +1 -1
  165. package/es/Header/Header.d.mts +2 -2
  166. package/es/Header/Header.mjs +5 -5
  167. package/es/Header/Header.mjs.map +1 -1
  168. package/es/Highlighter/FullFeatured.mjs +9 -9
  169. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  170. package/es/Highlighter/Highlighter.d.mts +2 -2
  171. package/es/Highlighter/Highlighter.mjs +4 -4
  172. package/es/Highlighter/Highlighter.mjs.map +1 -1
  173. package/es/Highlighter/LangSelect.mjs +6 -6
  174. package/es/Highlighter/LangSelect.mjs.map +1 -1
  175. package/es/Highlighter/SyntaxHighlighter/StaticRenderer.mjs +2 -2
  176. package/es/Highlighter/SyntaxHighlighter/StaticRenderer.mjs.map +1 -1
  177. package/es/Highlighter/SyntaxHighlighter/index.d.mts +2 -2
  178. package/es/Highlighter/SyntaxHighlighter/style.mjs.map +1 -1
  179. package/es/Highlighter/style.mjs.map +1 -1
  180. package/es/Hotkey/Hotkey.d.mts +2 -2
  181. package/es/Hotkey/Hotkey.mjs +5 -5
  182. package/es/Hotkey/Hotkey.mjs.map +1 -1
  183. package/es/Hotkey/style.mjs.map +1 -1
  184. package/es/HotkeyInput/HotkeyInput.d.mts +2 -2
  185. package/es/HotkeyInput/HotkeyInput.mjs +10 -10
  186. package/es/HotkeyInput/HotkeyInput.mjs.map +1 -1
  187. package/es/HotkeyInput/style.mjs.map +1 -1
  188. package/es/Icon/Icon.d.mts +2 -2
  189. package/es/Icon/Icon.mjs.map +1 -1
  190. package/es/Icon/components/IconProvider.d.mts +3 -3
  191. package/es/Icon/components/IconProvider.mjs.map +1 -1
  192. package/es/Icon/style.mjs.map +1 -1
  193. package/es/Image/Image.mjs +3 -3
  194. package/es/Image/Image.mjs.map +1 -1
  195. package/es/Image/PreviewGroup.d.mts +2 -2
  196. package/es/Image/PreviewGroup.mjs.map +1 -1
  197. package/es/Image/components/Preview.mjs.map +1 -1
  198. package/es/Image/components/Toolbar.mjs +1 -1
  199. package/es/Image/components/Toolbar.mjs.map +1 -1
  200. package/es/Image/components/usePreviewGroup.mjs.map +1 -1
  201. package/es/Image/style.mjs.map +1 -1
  202. package/es/ImageSelect/ImageSelect.d.mts +2 -2
  203. package/es/ImageSelect/ImageSelect.mjs +7 -7
  204. package/es/ImageSelect/ImageSelect.mjs.map +1 -1
  205. package/es/Img/index.mjs.map +1 -1
  206. package/es/Input/Input.d.mts +2 -2
  207. package/es/Input/Input.mjs +2 -2
  208. package/es/Input/Input.mjs.map +1 -1
  209. package/es/Input/InputNumber.d.mts +2 -2
  210. package/es/Input/InputNumber.mjs +2 -2
  211. package/es/Input/InputNumber.mjs.map +1 -1
  212. package/es/Input/InputOPT.mjs +2 -2
  213. package/es/Input/InputOPT.mjs.map +1 -1
  214. package/es/Input/InputPassword.d.mts +2 -2
  215. package/es/Input/InputPassword.mjs +2 -2
  216. package/es/Input/InputPassword.mjs.map +1 -1
  217. package/es/Input/TextArea.d.mts +2 -2
  218. package/es/Input/TextArea.mjs +2 -2
  219. package/es/Input/TextArea.mjs.map +1 -1
  220. package/es/Input/style.mjs.map +1 -1
  221. package/es/Layout/Layout.mjs +1 -1
  222. package/es/Layout/Layout.mjs.map +1 -1
  223. package/es/Layout/components/LayoutFooter.d.mts +2 -2
  224. package/es/Layout/components/LayoutHeader.d.mts +2 -2
  225. package/es/Layout/components/LayoutMain.d.mts +2 -2
  226. package/es/Layout/components/LayoutSidebar.d.mts +2 -2
  227. package/es/Layout/components/LayoutSidebarInner.d.mts +2 -2
  228. package/es/Layout/components/LayoutToc.d.mts +2 -2
  229. package/es/Layout/index.mjs.map +1 -1
  230. package/es/List/List.mjs +6 -6
  231. package/es/List/List.mjs.map +1 -1
  232. package/es/List/ListItem/index.d.mts +2 -2
  233. package/es/List/ListItem/index.mjs +11 -11
  234. package/es/List/ListItem/index.mjs.map +1 -1
  235. package/es/LobeSelect/LobeSelect.d.mts +2 -2
  236. package/es/LobeSelect/LobeSelect.mjs +16 -16
  237. package/es/LobeSelect/LobeSelect.mjs.map +1 -1
  238. package/es/LobeSelect/atoms.d.mts +19 -19
  239. package/es/LobeSelect/atoms.mjs +1 -1
  240. package/es/LobeSelect/atoms.mjs.map +1 -1
  241. package/es/LobeSwitch/LobeSwitch.d.mts +2 -2
  242. package/es/LobeSwitch/LobeSwitch.mjs +2 -2
  243. package/es/LobeSwitch/LobeSwitch.mjs.map +1 -1
  244. package/es/LobeSwitch/atoms.d.mts +4 -4
  245. package/es/LobeSwitch/atoms.mjs +10 -10
  246. package/es/LobeSwitch/atoms.mjs.map +1 -1
  247. package/es/Markdown/Markdown.d.mts +2 -2
  248. package/es/Markdown/Markdown.mjs +3 -3
  249. package/es/Markdown/Markdown.mjs.map +1 -1
  250. package/es/Markdown/SyntaxMarkdown/StreamdownRender.mjs.map +1 -1
  251. package/es/Markdown/Typography.d.mts +2 -2
  252. package/es/Markdown/components/CodeBlock.mjs.map +1 -1
  253. package/es/Markdown/components/Footnotes.mjs +3 -3
  254. package/es/Markdown/components/Footnotes.mjs.map +1 -1
  255. package/es/Markdown/components/MarkdownProvider.mjs.map +1 -1
  256. package/es/Markdown/components/SearchResultCards/SearchResultCard.mjs +3 -3
  257. package/es/Markdown/components/SearchResultCards/SearchResultCard.mjs.map +1 -1
  258. package/es/Markdown/components/SearchResultCards/index.d.mts +2 -2
  259. package/es/Markdown/components/SearchResultCards/index.mjs +1 -1
  260. package/es/Markdown/components/SearchResultCards/index.mjs.map +1 -1
  261. package/es/Markdown/plugins/rehypeCustomFootnotes.mjs.map +1 -1
  262. package/es/Markdown/plugins/rehypeKatexDir.mjs.map +1 -1
  263. package/es/Markdown/plugins/rehypeStreamAnimated.mjs.map +1 -1
  264. package/es/Markdown/plugins/remarkColor.mjs +1 -1
  265. package/es/Markdown/plugins/remarkColor.mjs.map +1 -1
  266. package/es/Markdown/plugins/remarkCustomFootnotes.mjs.map +1 -1
  267. package/es/Markdown/plugins/remarkVideo.mjs +3 -3
  268. package/es/Markdown/plugins/remarkVideo.mjs.map +1 -1
  269. package/es/Markdown/style.mjs.map +1 -1
  270. package/es/MaskShadow/MaskShadow.d.mts +2 -2
  271. package/es/MaskShadow/style.mjs.map +1 -1
  272. package/es/Menu/Menu.d.mts +2 -2
  273. package/es/Menu/Menu.mjs.map +1 -1
  274. package/es/Menu/checkboxItem.d.mts +1 -0
  275. package/es/Menu/index.d.mts +2 -2
  276. package/es/Menu/renderUtils.d.mts +4 -1
  277. package/es/Menu/renderUtils.mjs.map +1 -1
  278. package/es/Menu/sharedStyle.d.mts +4 -0
  279. package/es/Menu/sharedStyle.mjs +24 -0
  280. package/es/Menu/sharedStyle.mjs.map +1 -1
  281. package/es/Menu/style.mjs.map +1 -1
  282. package/es/Menu/switchItem.d.mts +1 -0
  283. package/es/Menu/type.d.mts +3 -1
  284. package/es/Mermaid/FullFeatured.mjs +7 -7
  285. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  286. package/es/Mermaid/Mermaid.d.mts +2 -2
  287. package/es/Mermaid/Mermaid.mjs +1 -1
  288. package/es/Mermaid/Mermaid.mjs.map +1 -1
  289. package/es/Mermaid/SyntaxMermaid/StaticMermaid.mjs +3 -3
  290. package/es/Mermaid/SyntaxMermaid/StaticMermaid.mjs.map +1 -1
  291. package/es/Mermaid/SyntaxMermaid/StreamMermaid.mjs +3 -3
  292. package/es/Mermaid/SyntaxMermaid/StreamMermaid.mjs.map +1 -1
  293. package/es/Mermaid/SyntaxMermaid/index.d.mts +2 -2
  294. package/es/Mermaid/SyntaxMermaid/style.mjs.map +1 -1
  295. package/es/Modal/Modal.d.mts +2 -2
  296. package/es/Modal/Modal.mjs +25 -25
  297. package/es/Modal/Modal.mjs.map +1 -1
  298. package/es/Modal/ModalProvider.d.mts +2 -2
  299. package/es/Modal/ModalStackItem.mjs +1 -1
  300. package/es/Modal/ModalStackItem.mjs.map +1 -1
  301. package/es/Modal/imperative.d.mts +2 -2
  302. package/es/Modal/imperative.mjs +5 -5
  303. package/es/Modal/imperative.mjs.map +1 -1
  304. package/es/MotionProvider/index.d.mts +2 -2
  305. package/es/MotionProvider/index.mjs.map +1 -1
  306. package/es/Popover/ArrowIcon.d.mts +2 -2
  307. package/es/Popover/Popover.mjs +2 -2
  308. package/es/Popover/Popover.mjs.map +1 -1
  309. package/es/Popover/PopoverGroup.mjs +2 -2
  310. package/es/Popover/PopoverGroup.mjs.map +1 -1
  311. package/es/Popover/PopoverInGroup.mjs +2 -2
  312. package/es/Popover/PopoverInGroup.mjs.map +1 -1
  313. package/es/Popover/PopoverStandalone.mjs +1 -1
  314. package/es/Popover/PopoverStandalone.mjs.map +1 -1
  315. package/es/Popover/atoms.d.mts +9 -9
  316. package/es/Popover/atoms.mjs +1 -1
  317. package/es/Popover/atoms.mjs.map +1 -1
  318. package/es/Popover/context.d.mts +2 -2
  319. package/es/Popover/context.mjs.map +1 -1
  320. package/es/Popover/groupContext.mjs.map +1 -1
  321. package/es/ScrollArea/atoms.d.mts +7 -7
  322. package/es/ScrollArea/type.d.mts +1 -1
  323. package/es/ScrollShadow/style.mjs.map +1 -1
  324. package/es/ScrollShadow/useScrollOverflow.mjs.map +1 -1
  325. package/es/SearchBar/SearchBar.d.mts +2 -2
  326. package/es/SearchBar/SearchBar.mjs +14 -14
  327. package/es/SearchBar/SearchBar.mjs.map +1 -1
  328. package/es/Segmented/Segmented.d.mts +2 -2
  329. package/es/Segmented/style.mjs.map +1 -1
  330. package/es/Select/Select.d.mts +2 -2
  331. package/es/Select/Select.mjs +2 -2
  332. package/es/Select/Select.mjs.map +1 -1
  333. package/es/Select/style.mjs.map +1 -1
  334. package/es/SideNav/SideNav.d.mts +2 -2
  335. package/es/Skeleton/Skeleton.mjs +1 -1
  336. package/es/Skeleton/Skeleton.mjs.map +1 -1
  337. package/es/Skeleton/SkeletonBlock.mjs.map +1 -1
  338. package/es/Skeleton/SkeletonTags.mjs +3 -3
  339. package/es/Skeleton/SkeletonTags.mjs.map +1 -1
  340. package/es/Skeleton/SkeletonTitle.mjs +1 -1
  341. package/es/Skeleton/SkeletonTitle.mjs.map +1 -1
  342. package/es/SliderWithInput/SliderWithInput.d.mts +2 -2
  343. package/es/SliderWithInput/SliderWithInput.mjs +3 -3
  344. package/es/SliderWithInput/SliderWithInput.mjs.map +1 -1
  345. package/es/Snippet/Snippet.mjs +1 -1
  346. package/es/Snippet/Snippet.mjs.map +1 -1
  347. package/es/Snippet/style.mjs.map +1 -1
  348. package/es/SortableList/SortableList.mjs +1 -1
  349. package/es/SortableList/SortableList.mjs.map +1 -1
  350. package/es/SortableList/components/DragHandle.d.mts +2 -2
  351. package/es/SortableList/components/DragHandle.mjs +3 -3
  352. package/es/SortableList/components/DragHandle.mjs.map +1 -1
  353. package/es/SortableList/components/SortableItem.d.mts +2 -2
  354. package/es/SortableList/components/SortableItem.mjs +1 -1
  355. package/es/SortableList/components/SortableItem.mjs.map +1 -1
  356. package/es/SortableList/components/SortableOverlay.mjs.map +1 -1
  357. package/es/SortableList/style.mjs.map +1 -1
  358. package/es/SortableList/type.d.mts +2 -2
  359. package/es/Tabs/style.mjs.map +1 -1
  360. package/es/Tag/Tag.mjs +2 -2
  361. package/es/Tag/Tag.mjs.map +1 -1
  362. package/es/Tag/styles.mjs.map +1 -1
  363. package/es/Text/Text.mjs +27 -14
  364. package/es/Text/Text.mjs.map +1 -1
  365. package/es/Text/type.d.mts +18 -1
  366. package/es/ThemeProvider/ConfigProvider.mjs.map +1 -1
  367. package/es/ThemeProvider/GlobalStyle/antdOverride.mjs.map +1 -1
  368. package/es/ThemeProvider/GlobalStyle/global.mjs.map +1 -1
  369. package/es/ThemeProvider/ThemeProvider.d.mts +2 -2
  370. package/es/ThemeProvider/ThemeProvider.mjs.map +1 -1
  371. package/es/ThemeSwitch/ThemeSwitch.mjs +4 -4
  372. package/es/ThemeSwitch/ThemeSwitch.mjs.map +1 -1
  373. package/es/Toast/Toast.mjs +3 -3
  374. package/es/Toast/Toast.mjs.map +1 -1
  375. package/es/Toast/imperative.d.mts +3 -3
  376. package/es/Toast/imperative.mjs +1 -1
  377. package/es/Toast/imperative.mjs.map +1 -1
  378. package/es/Toc/Toc.d.mts +2 -2
  379. package/es/Toc/Toc.mjs.map +1 -1
  380. package/es/Toc/TocMobile.mjs +6 -6
  381. package/es/Toc/TocMobile.mjs.map +1 -1
  382. package/es/Toc/utils.mjs.map +1 -1
  383. package/es/Tooltip/Tooltip.mjs +2 -2
  384. package/es/Tooltip/Tooltip.mjs.map +1 -1
  385. package/es/Tooltip/TooltipContent.mjs.map +1 -1
  386. package/es/Tooltip/TooltipGroup.mjs +3 -3
  387. package/es/Tooltip/TooltipGroup.mjs.map +1 -1
  388. package/es/Tooltip/TooltipInGroup.mjs +3 -3
  389. package/es/Tooltip/TooltipInGroup.mjs.map +1 -1
  390. package/es/Tooltip/TooltipStandalone.mjs +2 -2
  391. package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
  392. package/es/Tooltip/groupContext.mjs.map +1 -1
  393. package/es/Tooltip/type.d.mts +1 -1
  394. package/es/Video/index.d.mts +2 -2
  395. package/es/Video/index.mjs +8 -8
  396. package/es/Video/index.mjs.map +1 -1
  397. package/es/Video/style.mjs.map +1 -1
  398. package/es/awesome/AuroraBackground/AuroraBackground.d.mts +2 -2
  399. package/es/awesome/BottomGradientButton/BottomGradientButton.d.mts +2 -2
  400. package/es/awesome/BottomGradientButton/BottomGradientButton.mjs +1 -1
  401. package/es/awesome/BottomGradientButton/BottomGradientButton.mjs.map +1 -1
  402. package/es/awesome/Features/FeatureItem.mjs +1 -1
  403. package/es/awesome/Features/FeatureItem.mjs.map +1 -1
  404. package/es/awesome/Features/Features.d.mts +2 -2
  405. package/es/awesome/Features/Features.mjs +4 -4
  406. package/es/awesome/Features/Features.mjs.map +1 -1
  407. package/es/awesome/Features/type.d.mts +1 -1
  408. package/es/awesome/Giscus/Giscus.d.mts +2 -2
  409. package/es/awesome/GradientButton/GradientButton.mjs +2 -2
  410. package/es/awesome/GradientButton/GradientButton.mjs.map +1 -1
  411. package/es/awesome/GridBackground/GridBackground.d.mts +2 -2
  412. package/es/awesome/GridBackground/GridShowcase.d.mts +2 -2
  413. package/es/awesome/GridBackground/GridShowcase.mjs +5 -5
  414. package/es/awesome/GridBackground/GridShowcase.mjs.map +1 -1
  415. package/es/awesome/GridBackground/components/Grid.mjs.map +1 -1
  416. package/es/awesome/Hero/Hero.d.mts +2 -2
  417. package/es/awesome/Hero/Hero.mjs +3 -3
  418. package/es/awesome/Hero/Hero.mjs.map +1 -1
  419. package/es/awesome/Hero/type.d.mts +1 -1
  420. package/es/awesome/Spline/ParentSize.mjs.map +1 -1
  421. package/es/awesome/Spline/Spine.mjs +2 -2
  422. package/es/awesome/Spline/Spine.mjs.map +1 -1
  423. package/es/awesome/Spotlight/Spotlight.d.mts +2 -2
  424. package/es/awesome/SpotlightCard/SpotlightCard.d.mts +2 -2
  425. package/es/brand/BrandLoading/index.mjs.map +1 -1
  426. package/es/brand/LobeChat/index.d.mts +2 -2
  427. package/es/brand/LobeChat/index.mjs +3 -3
  428. package/es/brand/LobeChat/index.mjs.map +1 -1
  429. package/es/brand/LobeChatText/index.mjs.map +1 -1
  430. package/es/brand/LobeHub/index.d.mts +2 -2
  431. package/es/brand/LobeHub/index.mjs +3 -3
  432. package/es/brand/LobeHub/index.mjs.map +1 -1
  433. package/es/brand/LobeHubText/index.mjs.map +1 -1
  434. package/es/brand/Logo3d/index.mjs.map +1 -1
  435. package/es/brand/LogoThree/Loading.mjs +2 -2
  436. package/es/brand/LogoThree/Loading.mjs.map +1 -1
  437. package/es/brand/LogoThree/LogoSpline.d.mts +2 -2
  438. package/es/brand/LogoThree/LogoSpline.mjs +1 -1
  439. package/es/brand/LogoThree/LogoSpline.mjs.map +1 -1
  440. package/es/brand/LogoThree/index.d.mts +2 -2
  441. package/es/brand/LogoThree/index.mjs +4 -4
  442. package/es/brand/LogoThree/index.mjs.map +1 -1
  443. package/es/brand/components/Divider.mjs.map +1 -1
  444. package/es/chat/BackBottom/BackBottom.d.mts +2 -2
  445. package/es/chat/BackBottom/BackBottom.mjs +2 -2
  446. package/es/chat/BackBottom/BackBottom.mjs.map +1 -1
  447. package/es/chat/ChatHeader/ChatHeader.mjs +6 -6
  448. package/es/chat/ChatHeader/ChatHeader.mjs.map +1 -1
  449. package/es/chat/ChatHeader/ChatHeaderTitle.mjs +4 -4
  450. package/es/chat/ChatHeader/ChatHeaderTitle.mjs.map +1 -1
  451. package/es/chat/ChatInputArea/ChatInputArea.mjs +3 -3
  452. package/es/chat/ChatInputArea/ChatInputArea.mjs.map +1 -1
  453. package/es/chat/ChatInputArea/components/ChatInputActionBar.mjs +3 -3
  454. package/es/chat/ChatInputArea/components/ChatInputActionBar.mjs.map +1 -1
  455. package/es/chat/ChatInputArea/components/ChatInputAreaInner.d.mts +2 -2
  456. package/es/chat/ChatInputArea/components/ChatInputAreaInner.mjs +3 -3
  457. package/es/chat/ChatInputArea/components/ChatInputAreaInner.mjs.map +1 -1
  458. package/es/chat/ChatInputArea/components/ChatSendButton.mjs +5 -5
  459. package/es/chat/ChatInputArea/components/ChatSendButton.mjs.map +1 -1
  460. package/es/chat/ChatItem/ChatItem.mjs +9 -9
  461. package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
  462. package/es/chat/ChatItem/components/Actions.mjs.map +1 -1
  463. package/es/chat/ChatItem/components/Avatar.mjs +2 -2
  464. package/es/chat/ChatItem/components/Avatar.mjs.map +1 -1
  465. package/es/chat/ChatItem/components/ErrorContent.mjs +1 -1
  466. package/es/chat/ChatItem/components/ErrorContent.mjs.map +1 -1
  467. package/es/chat/ChatItem/components/Loading.mjs +2 -2
  468. package/es/chat/ChatItem/components/Loading.mjs.map +1 -1
  469. package/es/chat/ChatItem/components/MessageContent.mjs +4 -4
  470. package/es/chat/ChatItem/components/MessageContent.mjs.map +1 -1
  471. package/es/chat/ChatItem/components/Title.mjs.map +1 -1
  472. package/es/chat/ChatList/ChatList.d.mts +2 -2
  473. package/es/chat/ChatList/components/ChatListItem.mjs +14 -14
  474. package/es/chat/ChatList/components/ChatListItem.mjs.map +1 -1
  475. package/es/chat/ChatList/type.d.mts +1 -1
  476. package/es/chat/EditableMessage/EditableMessage.d.mts +2 -2
  477. package/es/chat/EditableMessage/EditableMessage.mjs +18 -18
  478. package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
  479. package/es/chat/EditableMessageList/EditableMessageList.mjs +17 -17
  480. package/es/chat/EditableMessageList/EditableMessageList.mjs.map +1 -1
  481. package/es/chat/MessageInput/MessageInput.d.mts +2 -2
  482. package/es/chat/MessageInput/MessageInput.mjs +8 -8
  483. package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
  484. package/es/chat/MessageModal/MessageModal.d.mts +2 -2
  485. package/es/chat/MessageModal/MessageModal.mjs +15 -15
  486. package/es/chat/MessageModal/MessageModal.mjs.map +1 -1
  487. package/es/chat/TokenTag/TokenTag.mjs +2 -2
  488. package/es/chat/TokenTag/TokenTag.mjs.map +1 -1
  489. package/es/chat/types/error.mjs.map +1 -1
  490. package/es/color/ColorScales/ScaleRow.mjs +3 -3
  491. package/es/color/ColorScales/ScaleRow.mjs.map +1 -1
  492. package/es/color/ColorScales/index.d.mts +2 -2
  493. package/es/color/ColorScales/index.mjs +4 -4
  494. package/es/color/ColorScales/index.mjs.map +1 -1
  495. package/es/color/CssVar/ScaleRow.mjs +4 -4
  496. package/es/color/CssVar/ScaleRow.mjs.map +1 -1
  497. package/es/color/CssVar/VarRow.mjs +2 -2
  498. package/es/color/CssVar/VarRow.mjs.map +1 -1
  499. package/es/color/CssVar/index.d.mts +2 -2
  500. package/es/color/CssVar/index.mjs +4 -4
  501. package/es/color/CssVar/index.mjs.map +1 -1
  502. package/es/color/colors/blue.mjs.map +1 -1
  503. package/es/color/colors/cyan.mjs.map +1 -1
  504. package/es/color/colors/geekblue.mjs.map +1 -1
  505. package/es/color/colors/gold.mjs.map +1 -1
  506. package/es/color/colors/gray.mjs.map +1 -1
  507. package/es/color/colors/green.mjs.map +1 -1
  508. package/es/color/colors/lime.mjs.map +1 -1
  509. package/es/color/colors/magenta.mjs.map +1 -1
  510. package/es/color/colors/orange.mjs.map +1 -1
  511. package/es/color/colors/primary.mjs.map +1 -1
  512. package/es/color/colors/purple.mjs.map +1 -1
  513. package/es/color/colors/red.mjs.map +1 -1
  514. package/es/color/colors/volcano.mjs.map +1 -1
  515. package/es/color/colors/yellow.mjs.map +1 -1
  516. package/es/color/neutrals/mauve.mjs.map +1 -1
  517. package/es/color/neutrals/olive.mjs.map +1 -1
  518. package/es/color/neutrals/sage.mjs.map +1 -1
  519. package/es/color/neutrals/sand.mjs.map +1 -1
  520. package/es/color/neutrals/slate.mjs.map +1 -1
  521. package/es/hooks/useFloatingLayer.mjs +2 -2
  522. package/es/hooks/useFloatingLayer.mjs.map +1 -1
  523. package/es/hooks/useHighlight.mjs.map +1 -1
  524. package/es/hooks/useMarkdown/latex.mjs +12 -12
  525. package/es/hooks/useMarkdown/latex.mjs.map +1 -1
  526. package/es/hooks/useMarkdown/useMarkdownComponents.mjs +1 -1
  527. package/es/hooks/useMarkdown/useMarkdownComponents.mjs.map +1 -1
  528. package/es/hooks/useMarkdown/utils.mjs +4 -4
  529. package/es/hooks/useMarkdown/utils.mjs.map +1 -1
  530. package/es/hooks/useNativeButton.mjs.map +1 -1
  531. package/es/hooks/useStreamHighlight.mjs.map +1 -1
  532. package/es/i18n/context.d.mts +3 -3
  533. package/es/i18n/context.mjs.map +1 -1
  534. package/es/icons/Authelia/components/Color.mjs.map +1 -1
  535. package/es/icons/lucideExtra/BotPromptIcon.d.mts +2 -2
  536. package/es/icons/lucideExtra/CreateBotIcon.d.mts +3 -3
  537. package/es/icons/lucideExtra/DiscordIcon.d.mts +2 -2
  538. package/es/icons/lucideExtra/GlobeOffIcon.d.mts +3 -3
  539. package/es/icons/lucideExtra/GroupBotIcon.d.mts +2 -2
  540. package/es/icons/lucideExtra/GroupBotSquareIcon.d.mts +3 -3
  541. package/es/icons/lucideExtra/LeftClickIcon.d.mts +3 -3
  542. package/es/icons/lucideExtra/LeftDoubleClickIcon.d.mts +3 -3
  543. package/es/icons/lucideExtra/McpIcon.d.mts +2 -2
  544. package/es/icons/lucideExtra/ProviderIcon.d.mts +3 -3
  545. package/es/icons/lucideExtra/RightClickIcon.d.mts +3 -3
  546. package/es/icons/lucideExtra/RightDoubleClickIcon.d.mts +3 -3
  547. package/es/icons/lucideExtra/ShapesUploadIcon.d.mts +3 -3
  548. package/es/icons/lucideExtra/TreeDownRightIcon.d.mts +3 -3
  549. package/es/icons/lucideExtra/TreeUpDownRightIcon.d.mts +3 -3
  550. package/es/mdx/Callout/index.mjs +1 -1
  551. package/es/mdx/Callout/index.mjs.map +1 -1
  552. package/es/mdx/Cards/Card.mjs +2 -2
  553. package/es/mdx/Cards/Card.mjs.map +1 -1
  554. package/es/mdx/FileTree/File.mjs +1 -1
  555. package/es/mdx/FileTree/File.mjs.map +1 -1
  556. package/es/mdx/FileTree/Folder.mjs +1 -1
  557. package/es/mdx/FileTree/Folder.mjs.map +1 -1
  558. package/es/mdx/FileTree/index.mjs.map +1 -1
  559. package/es/mdx/Mdx/index.d.mts +2 -2
  560. package/es/mdx/Mdx/index.mjs +3 -3
  561. package/es/mdx/Mdx/index.mjs.map +1 -1
  562. package/es/mdx/Steps/index.mjs.map +1 -1
  563. package/es/mdx/Tabs/Tab.mjs.map +1 -1
  564. package/es/mdx/Tabs/index.mjs +1 -1
  565. package/es/mdx/Tabs/index.mjs.map +1 -1
  566. package/es/mdx/mdxComponents/Citation/PopoverPanel.mjs +3 -3
  567. package/es/mdx/mdxComponents/Citation/PopoverPanel.mjs.map +1 -1
  568. package/es/mdx/mdxComponents/Citation/index.mjs.map +1 -1
  569. package/es/mdx/mdxComponents/Link.mjs +1 -1
  570. package/es/mdx/mdxComponents/Link.mjs.map +1 -1
  571. package/es/mobile/ChatHeader/ChatHeader.mjs +4 -4
  572. package/es/mobile/ChatHeader/ChatHeader.mjs.map +1 -1
  573. package/es/mobile/ChatHeader/ChatHeaderTitle.d.mts +2 -2
  574. package/es/mobile/ChatHeader/ChatHeaderTitle.mjs +5 -5
  575. package/es/mobile/ChatHeader/ChatHeaderTitle.mjs.map +1 -1
  576. package/es/mobile/ChatInputArea/ChatInputArea.mjs +9 -9
  577. package/es/mobile/ChatInputArea/ChatInputArea.mjs.map +1 -1
  578. package/es/mobile/ChatInputArea/components/ChatSendButton.d.mts +2 -2
  579. package/es/mobile/ChatInputArea/components/ChatSendButton.mjs +2 -2
  580. package/es/mobile/ChatInputArea/components/ChatSendButton.mjs.map +1 -1
  581. package/es/mobile/SafeArea/SafeArea.mjs.map +1 -1
  582. package/es/mobile/TabBar/TabBar.d.mts +2 -2
  583. package/es/mobile/TabBar/TabBar.mjs +3 -3
  584. package/es/mobile/TabBar/TabBar.mjs.map +1 -1
  585. package/es/storybook/StoryBook/index.d.mts +2 -2
  586. package/es/storybook/StoryBook/index.mjs.map +1 -1
  587. package/es/styles/theme/algorithms/darkAlgorithm.mjs.map +1 -1
  588. package/es/styles/theme/algorithms/lightAlgorithm.mjs.map +1 -1
  589. package/es/styles/theme/antdTheme.mjs.map +1 -1
  590. package/es/styles/theme/customStylish.mjs.map +1 -1
  591. package/es/styles/theme/customToken.mjs.map +1 -1
  592. package/es/styles/theme/generateColorPalette.mjs.map +1 -1
  593. package/es/styles/theme/token/base.mjs.map +1 -1
  594. package/es/styles/theme/token/dark.mjs.map +1 -1
  595. package/es/styles/theme/token/light.mjs.map +1 -1
  596. package/package.json +79 -1
@@ -35,16 +35,16 @@ const LogoThree = memo(({ className, style, size = 128, onLoad, ...rest }) => {
35
35
  style: { position: "absolute" },
36
36
  width: size * .75
37
37
  }), /* @__PURE__ */ jsx(Spine_default, {
38
- onLoad: (splineApp) => {
39
- setLoading(false);
40
- onLoad?.(splineApp);
41
- },
42
38
  scene: "https://hub-apac-1.lobeobjects.space/logo.splinecode",
43
39
  style: {
44
40
  flex: "none",
45
41
  height: size,
46
42
  width: size
47
43
  },
44
+ onLoad: (splineApp) => {
45
+ setLoading(false);
46
+ onLoad?.(splineApp);
47
+ },
48
48
  ...rest
49
49
  })]
50
50
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["Flexbox","Img","Spline"],"sources":["../../../src/brand/LogoThree/index.tsx"],"sourcesContent":["'use client';\n\nimport { CSSProperties, memo, useState } from 'react';\n\nimport { useCdnFn } from '@/ConfigProvider';\nimport { Flexbox } from '@/Flex';\nimport Img from '@/Img';\nimport Spline, { type SplineProps } from '@/awesome/Spline';\n\nconst LOGO_3D = {\n path: 'assets/logo-3d.webp',\n pkg: '@lobehub/assets-logo',\n version: '1.2.0',\n};\n\nexport interface LogoThreeProps extends Partial<SplineProps> {\n className?: string;\n size?: number;\n style?: CSSProperties;\n}\n\nconst LogoThree = memo<LogoThreeProps>(({ className, style, size = 128, onLoad, ...rest }) => {\n const genCdnUrl = useCdnFn();\n const [loading, setLoading] = useState(true);\n return (\n <Flexbox\n align={'center'}\n className={className}\n flex={'none'}\n justify={'center'}\n style={{ height: size, overflow: 'hidden', position: 'relative', width: size, ...style }}\n >\n {loading && (\n <Img\n alt={'logo'}\n height={size * 0.75}\n src={genCdnUrl(LOGO_3D)}\n style={{ position: 'absolute' }}\n width={size * 0.75}\n />\n )}\n <Spline\n onLoad={(splineApp) => {\n setLoading(false);\n onLoad?.(splineApp);\n }}\n scene={'https://hub-apac-1.lobeobjects.space/logo.splinecode'}\n style={{\n flex: 'none',\n height: size,\n width: size,\n }}\n {...rest}\n />\n </Flexbox>\n );\n});\n\nLogoThree.displayName = 'LobeHubLogoThree';\n\nexport default LogoThree;\n"],"mappings":";;;;;;;;;;AASA,MAAM,UAAU;CACd,MAAM;CACN,KAAK;CACL,SAAS;CACV;AAQD,MAAM,YAAY,MAAsB,EAAE,WAAW,OAAO,OAAO,KAAK,QAAQ,GAAG,WAAW;CAC5F,MAAM,YAAY,UAAU;CAC5B,MAAM,CAAC,SAAS,cAAc,SAAS,KAAK;AAC5C,QACE,qBAACA;EACC,OAAO;EACI;EACX,MAAM;EACN,SAAS;EACT,OAAO;GAAE,QAAQ;GAAM,UAAU;GAAU,UAAU;GAAY,OAAO;GAAM,GAAG;GAAO;aAEvF,WACC,oBAACC;GACC,KAAK;GACL,QAAQ,OAAO;GACf,KAAK,UAAU,QAAQ;GACvB,OAAO,EAAE,UAAU,YAAY;GAC/B,OAAO,OAAO;IACd,EAEJ,oBAACC;GACC,SAAS,cAAc;AACrB,eAAW,MAAM;AACjB,aAAS,UAAU;;GAErB,OAAO;GACP,OAAO;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACR;GACD,GAAI;IACJ;GACM;EAEZ;AAEF,UAAU,cAAc;AAExB,wBAAe"}
1
+ {"version":3,"file":"index.mjs","names":["Flexbox","Img","Spline"],"sources":["../../../src/brand/LogoThree/index.tsx"],"sourcesContent":["'use client';\n\nimport { type CSSProperties, memo, useState } from 'react';\n\nimport Spline, { type SplineProps } from '@/awesome/Spline';\nimport { useCdnFn } from '@/ConfigProvider';\nimport { Flexbox } from '@/Flex';\nimport Img from '@/Img';\n\nconst LOGO_3D = {\n path: 'assets/logo-3d.webp',\n pkg: '@lobehub/assets-logo',\n version: '1.2.0',\n};\n\nexport interface LogoThreeProps extends Partial<SplineProps> {\n className?: string;\n size?: number;\n style?: CSSProperties;\n}\n\nconst LogoThree = memo<LogoThreeProps>(({ className, style, size = 128, onLoad, ...rest }) => {\n const genCdnUrl = useCdnFn();\n const [loading, setLoading] = useState(true);\n return (\n <Flexbox\n align={'center'}\n className={className}\n flex={'none'}\n justify={'center'}\n style={{ height: size, overflow: 'hidden', position: 'relative', width: size, ...style }}\n >\n {loading && (\n <Img\n alt={'logo'}\n height={size * 0.75}\n src={genCdnUrl(LOGO_3D)}\n style={{ position: 'absolute' }}\n width={size * 0.75}\n />\n )}\n <Spline\n scene={'https://hub-apac-1.lobeobjects.space/logo.splinecode'}\n style={{\n flex: 'none',\n height: size,\n width: size,\n }}\n onLoad={(splineApp) => {\n setLoading(false);\n onLoad?.(splineApp);\n }}\n {...rest}\n />\n </Flexbox>\n );\n});\n\nLogoThree.displayName = 'LobeHubLogoThree';\n\nexport default LogoThree;\n"],"mappings":";;;;;;;;;;AASA,MAAM,UAAU;CACd,MAAM;CACN,KAAK;CACL,SAAS;CACV;AAQD,MAAM,YAAY,MAAsB,EAAE,WAAW,OAAO,OAAO,KAAK,QAAQ,GAAG,WAAW;CAC5F,MAAM,YAAY,UAAU;CAC5B,MAAM,CAAC,SAAS,cAAc,SAAS,KAAK;AAC5C,QACE,qBAACA;EACC,OAAO;EACI;EACX,MAAM;EACN,SAAS;EACT,OAAO;GAAE,QAAQ;GAAM,UAAU;GAAU,UAAU;GAAY,OAAO;GAAM,GAAG;GAAO;aAEvF,WACC,oBAACC;GACC,KAAK;GACL,QAAQ,OAAO;GACf,KAAK,UAAU,QAAQ;GACvB,OAAO,EAAE,UAAU,YAAY;GAC/B,OAAO,OAAO;IACd,EAEJ,oBAACC;GACC,OAAO;GACP,OAAO;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACR;GACD,SAAS,cAAc;AACrB,eAAW,MAAM;AACjB,aAAS,UAAU;;GAErB,GAAI;IACJ;GACM;EAEZ;AAEF,UAAU,cAAc;AAExB,wBAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"Divider.mjs","names":["Divider: FC<SvgProps & DivProps & { size?: number }>"],"sources":["../../../src/brand/components/Divider.tsx"],"sourcesContent":["import { type FC } from 'react';\n\nimport { DivProps, SvgProps } from '@/types';\n\nconst Divider: FC<SvgProps & DivProps & { size?: number }> = ({ size = '1em', style, ...rest }) => (\n <svg\n fill=\"none\"\n height={size}\n shapeRendering=\"geometricPrecision\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n style={{ flex: 'none', lineHeight: 1, ...style }}\n viewBox=\"0 0 24 24\"\n width={size}\n {...rest}\n >\n <path d=\"M16.88 3.549L7.12 20.451\" />\n </svg>\n);\n\nexport default Divider;\n"],"mappings":";;;AAIA,MAAMA,WAAwD,EAAE,OAAO,OAAO,OAAO,GAAG,WACtF,oBAAC;CACC,MAAK;CACL,QAAQ;CACR,gBAAe;CACf,QAAO;CACP,eAAc;CACd,gBAAe;CACf,OAAO;EAAE,MAAM;EAAQ,YAAY;EAAG,GAAG;EAAO;CAChD,SAAQ;CACR,OAAO;CACP,GAAI;WAEJ,oBAAC,UAAK,GAAE,6BAA6B;EACjC;AAGR,sBAAe"}
1
+ {"version":3,"file":"Divider.mjs","names":["Divider: FC<SvgProps & DivProps & { size?: number }>"],"sources":["../../../src/brand/components/Divider.tsx"],"sourcesContent":["import { type FC } from 'react';\n\nimport type { DivProps, SvgProps } from '@/types';\n\nconst Divider: FC<SvgProps & DivProps & { size?: number }> = ({ size = '1em', style, ...rest }) => (\n <svg\n fill=\"none\"\n height={size}\n shapeRendering=\"geometricPrecision\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n style={{ flex: 'none', lineHeight: 1, ...style }}\n viewBox=\"0 0 24 24\"\n width={size}\n {...rest}\n >\n <path d=\"M16.88 3.549L7.12 20.451\" />\n </svg>\n);\n\nexport default Divider;\n"],"mappings":";;;AAIA,MAAMA,WAAwD,EAAE,OAAO,OAAO,OAAO,GAAG,WACtF,oBAAC;CACC,MAAK;CACL,QAAQ;CACR,gBAAe;CACf,QAAO;CACP,eAAc;CACd,gBAAe;CACf,OAAO;EAAE,MAAM;EAAQ,YAAY;EAAG,GAAG;EAAO;CAChD,SAAQ;CACR,OAAO;CACP,GAAI;WAEJ,oBAAC,UAAK,GAAE,6BAA6B;EACjC;AAGR,sBAAe"}
@@ -1,8 +1,8 @@
1
1
  import { BackBottomProps } from "./type.mjs";
2
- import * as react129 from "react";
2
+ import * as react130 from "react";
3
3
 
4
4
  //#region src/chat/BackBottom/BackBottom.d.ts
5
- declare const BackBottom: react129.NamedExoticComponent<BackBottomProps>;
5
+ declare const BackBottom: react130.NamedExoticComponent<BackBottomProps>;
6
6
  //#endregion
7
7
  export { BackBottom };
8
8
  //# sourceMappingURL=BackBottom.d.mts.map
@@ -32,15 +32,15 @@ const BackBottom = memo(({ visibilityHeight = 240, target, onClick, style, class
32
32
  onClick?.(e);
33
33
  };
34
34
  return /* @__PURE__ */ jsx(Button_default, {
35
- className: cx(visible ? styles.visible : styles.hidden, className),
36
35
  glass: true,
36
+ className: cx(visible ? styles.visible : styles.hidden, className),
37
37
  icon: ListEnd,
38
- onClick: scrollToBottom,
39
38
  ref,
40
39
  shape: "round",
41
40
  size: "small",
42
41
  style,
43
42
  variant: "filled",
43
+ onClick: scrollToBottom,
44
44
  children: text || "Back to bottom"
45
45
  });
46
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BackBottom.mjs","names":["scrollToBottom: MouseEventHandler<HTMLDivElement>","Button"],"sources":["../../../src/chat/BackBottom/BackBottom.tsx"],"sourcesContent":["'use client';\n\nimport { useScroll } from 'ahooks';\nimport { cx } from 'antd-style';\nimport { ListEnd } from 'lucide-react';\nimport { type MouseEventHandler, memo, useEffect, useRef, useState } from 'react';\n\nimport Button from '@/Button';\n\nimport { styles } from './style';\nimport type { BackBottomProps } from './type';\n\nconst BackBottom = memo<BackBottomProps>(\n ({ visibilityHeight = 240, target, onClick, style, className, text }) => {\n const [visible, setVisible] = useState<boolean>(false);\n const ref = useRef<HTMLButtonElement>(null);\n const current = (target as any)?.current;\n const scrollHeight = current?.scrollHeight || 0;\n const clientHeight = current?.clientHeight || 0;\n const scroll = useScroll(target);\n\n useEffect(() => {\n if (scroll?.top) {\n setVisible(scroll?.top + clientHeight + visibilityHeight < scrollHeight);\n }\n }, [scrollHeight, scroll, visibilityHeight]);\n\n const scrollToBottom: MouseEventHandler<HTMLDivElement> = (e) => {\n (target as any)?.current?.scrollTo({ behavior: 'smooth', left: 0, top: scrollHeight });\n onClick?.(e);\n };\n\n return (\n <Button\n className={cx(visible ? styles.visible : styles.hidden, className)}\n glass\n icon={ListEnd}\n onClick={scrollToBottom}\n ref={ref}\n shape={'round'}\n size={'small'}\n style={style}\n variant={'filled'}\n >\n {text || 'Back to bottom'}\n </Button>\n );\n },\n);\n\nBackBottom.displayName = 'BackBottom';\n\nexport default BackBottom;\n"],"mappings":";;;;;;;;;;;AAYA,MAAM,aAAa,MAChB,EAAE,mBAAmB,KAAK,QAAQ,SAAS,OAAO,WAAW,WAAW;CACvE,MAAM,CAAC,SAAS,cAAc,SAAkB,MAAM;CACtD,MAAM,MAAM,OAA0B,KAAK;CAC3C,MAAM,UAAW,QAAgB;CACjC,MAAM,eAAe,SAAS,gBAAgB;CAC9C,MAAM,eAAe,SAAS,gBAAgB;CAC9C,MAAM,SAAS,UAAU,OAAO;AAEhC,iBAAgB;AACd,MAAI,QAAQ,IACV,YAAW,QAAQ,MAAM,eAAe,mBAAmB,aAAa;IAEzE;EAAC;EAAc;EAAQ;EAAiB,CAAC;CAE5C,MAAMA,kBAAqD,MAAM;AAC/D,EAAC,QAAgB,SAAS,SAAS;GAAE,UAAU;GAAU,MAAM;GAAG,KAAK;GAAc,CAAC;AACtF,YAAU,EAAE;;AAGd,QACE,oBAACC;EACC,WAAW,GAAG,UAAU,OAAO,UAAU,OAAO,QAAQ,UAAU;EAClE;EACA,MAAM;EACN,SAAS;EACJ;EACL,OAAO;EACP,MAAM;EACC;EACP,SAAS;YAER,QAAQ;GACF;EAGd;AAED,WAAW,cAAc;AAEzB,yBAAe"}
1
+ {"version":3,"file":"BackBottom.mjs","names":["scrollToBottom: MouseEventHandler<HTMLDivElement>","Button"],"sources":["../../../src/chat/BackBottom/BackBottom.tsx"],"sourcesContent":["'use client';\n\nimport { useScroll } from 'ahooks';\nimport { cx } from 'antd-style';\nimport { ListEnd } from 'lucide-react';\nimport { memo, type MouseEventHandler, useEffect, useRef, useState } from 'react';\n\nimport Button from '@/Button';\n\nimport { styles } from './style';\nimport { type BackBottomProps } from './type';\n\nconst BackBottom = memo<BackBottomProps>(\n ({ visibilityHeight = 240, target, onClick, style, className, text }) => {\n const [visible, setVisible] = useState<boolean>(false);\n const ref = useRef<HTMLButtonElement>(null);\n const current = (target as any)?.current;\n const scrollHeight = current?.scrollHeight || 0;\n const clientHeight = current?.clientHeight || 0;\n const scroll = useScroll(target);\n\n useEffect(() => {\n if (scroll?.top) {\n setVisible(scroll?.top + clientHeight + visibilityHeight < scrollHeight);\n }\n }, [scrollHeight, scroll, visibilityHeight]);\n\n const scrollToBottom: MouseEventHandler<HTMLDivElement> = (e) => {\n (target as any)?.current?.scrollTo({ behavior: 'smooth', left: 0, top: scrollHeight });\n onClick?.(e);\n };\n\n return (\n <Button\n glass\n className={cx(visible ? styles.visible : styles.hidden, className)}\n icon={ListEnd}\n ref={ref}\n shape={'round'}\n size={'small'}\n style={style}\n variant={'filled'}\n onClick={scrollToBottom}\n >\n {text || 'Back to bottom'}\n </Button>\n );\n },\n);\n\nBackBottom.displayName = 'BackBottom';\n\nexport default BackBottom;\n"],"mappings":";;;;;;;;;;;AAYA,MAAM,aAAa,MAChB,EAAE,mBAAmB,KAAK,QAAQ,SAAS,OAAO,WAAW,WAAW;CACvE,MAAM,CAAC,SAAS,cAAc,SAAkB,MAAM;CACtD,MAAM,MAAM,OAA0B,KAAK;CAC3C,MAAM,UAAW,QAAgB;CACjC,MAAM,eAAe,SAAS,gBAAgB;CAC9C,MAAM,eAAe,SAAS,gBAAgB;CAC9C,MAAM,SAAS,UAAU,OAAO;AAEhC,iBAAgB;AACd,MAAI,QAAQ,IACV,YAAW,QAAQ,MAAM,eAAe,mBAAmB,aAAa;IAEzE;EAAC;EAAc;EAAQ;EAAiB,CAAC;CAE5C,MAAMA,kBAAqD,MAAM;AAC/D,EAAC,QAAgB,SAAS,SAAS;GAAE,UAAU;GAAU,MAAM;GAAG,KAAK;GAAc,CAAC;AACtF,YAAU,EAAE;;AAGd,QACE,oBAACC;EACC;EACA,WAAW,GAAG,UAAU,OAAO,UAAU,OAAO,QAAQ,UAAU;EAClE,MAAM;EACD;EACL,OAAO;EACP,MAAM;EACC;EACP,SAAS;EACT,SAAS;YAER,QAAQ;GACF;EAGd;AAED,WAAW,cAAc;AAEzB,yBAAe"}
@@ -11,41 +11,41 @@ import { ChevronLeft } from "lucide-react";
11
11
  //#region src/chat/ChatHeader/ChatHeader.tsx
12
12
  const ChatHeader = memo(({ left, right, className, styles: contentStyles, gaps, classNames, showBackButton, onBackClick, children, gap = 16, ...rest }) => {
13
13
  return /* @__PURE__ */ jsxs(FlexBasic_default, {
14
+ horizontal: true,
14
15
  align: "center",
15
16
  className: cx(styles.container, className),
16
17
  distribution: "space-between",
17
18
  gap,
18
- horizontal: true,
19
19
  paddingInline: 16,
20
20
  ...rest,
21
21
  children: [
22
22
  /* @__PURE__ */ jsxs(FlexBasic_default, {
23
+ horizontal: true,
23
24
  align: "center",
24
25
  className: cx(styles.left, classNames?.left),
25
26
  gap: gaps?.left || 12,
26
- horizontal: true,
27
27
  justify: "flex-start",
28
28
  style: contentStyles?.left,
29
29
  children: [showBackButton && /* @__PURE__ */ jsx(ActionIcon_default, {
30
30
  icon: ChevronLeft,
31
- onClick: () => onBackClick?.(),
32
- style: { marginRight: gaps?.left ? -gaps.left / 2 : -6 }
31
+ style: { marginRight: gaps?.left ? -gaps.left / 2 : -6 },
32
+ onClick: () => onBackClick?.()
33
33
  }), left]
34
34
  }),
35
35
  children && /* @__PURE__ */ jsx(FlexBasic_default, {
36
+ horizontal: true,
36
37
  align: "center",
37
38
  className: cx(styles.center, classNames?.center),
38
39
  gap: gaps?.center || 8,
39
- horizontal: true,
40
40
  justify: "center",
41
41
  style: contentStyles?.center,
42
42
  children
43
43
  }),
44
44
  /* @__PURE__ */ jsx(FlexBasic_default, {
45
+ horizontal: true,
45
46
  align: "center",
46
47
  className: cx(styles.right, classNames?.right),
47
48
  gap: gaps?.right || 8,
48
- horizontal: true,
49
49
  justify: "flex-end",
50
50
  style: contentStyles?.right,
51
51
  children: right
@@ -1 +1 @@
1
- {"version":3,"file":"ChatHeader.mjs","names":["Flexbox","ActionIcon"],"sources":["../../../src/chat/ChatHeader/ChatHeader.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { ChevronLeft } from 'lucide-react';\nimport { memo } from 'react';\n\nimport ActionIcon from '@/ActionIcon';\nimport { Flexbox } from '@/Flex';\n\nimport { styles } from './style';\nimport type { ChatHeaderProps } from './type';\n\nconst ChatHeader = memo<ChatHeaderProps>(\n ({\n left,\n right,\n className,\n styles: contentStyles,\n gaps,\n classNames,\n showBackButton,\n onBackClick,\n children,\n gap = 16,\n ...rest\n }) => {\n return (\n <Flexbox\n align={'center'}\n className={cx(styles.container, className)}\n distribution={'space-between'}\n gap={gap}\n horizontal\n paddingInline={16}\n {...rest}\n >\n <Flexbox\n align={'center'}\n className={cx(styles.left, classNames?.left)}\n gap={gaps?.left || 12}\n horizontal\n justify={'flex-start'}\n style={contentStyles?.left}\n >\n {showBackButton && (\n <ActionIcon\n icon={ChevronLeft}\n onClick={() => onBackClick?.()}\n style={{ marginRight: gaps?.left ? -gaps.left / 2 : -6 }}\n />\n )}\n {left}\n </Flexbox>\n {children && (\n <Flexbox\n align={'center'}\n className={cx(styles.center, classNames?.center)}\n gap={gaps?.center || 8}\n horizontal\n justify={'center'}\n style={contentStyles?.center}\n >\n {children}\n </Flexbox>\n )}\n <Flexbox\n align={'center'}\n className={cx(styles.right, classNames?.right)}\n gap={gaps?.right || 8}\n horizontal\n justify={'flex-end'}\n style={contentStyles?.right}\n >\n {right}\n </Flexbox>\n </Flexbox>\n );\n },\n);\n\nChatHeader.displayName = 'ChatHeader';\n\nexport default ChatHeader;\n"],"mappings":";;;;;;;;;;;AAYA,MAAM,aAAa,MAChB,EACC,MACA,OACA,WACA,QAAQ,eACR,MACA,YACA,gBACA,aACA,UACA,MAAM,IACN,GAAG,WACC;AACJ,QACE,qBAACA;EACC,OAAO;EACP,WAAW,GAAG,OAAO,WAAW,UAAU;EAC1C,cAAc;EACT;EACL;EACA,eAAe;EACf,GAAI;;GAEJ,qBAACA;IACC,OAAO;IACP,WAAW,GAAG,OAAO,MAAM,YAAY,KAAK;IAC5C,KAAK,MAAM,QAAQ;IACnB;IACA,SAAS;IACT,OAAO,eAAe;eAErB,kBACC,oBAACC;KACC,MAAM;KACN,eAAe,eAAe;KAC9B,OAAO,EAAE,aAAa,MAAM,OAAO,CAAC,KAAK,OAAO,IAAI,IAAI;MACxD,EAEH;KACO;GACT,YACC,oBAACD;IACC,OAAO;IACP,WAAW,GAAG,OAAO,QAAQ,YAAY,OAAO;IAChD,KAAK,MAAM,UAAU;IACrB;IACA,SAAS;IACT,OAAO,eAAe;IAErB;KACO;GAEZ,oBAACA;IACC,OAAO;IACP,WAAW,GAAG,OAAO,OAAO,YAAY,MAAM;IAC9C,KAAK,MAAM,SAAS;IACpB;IACA,SAAS;IACT,OAAO,eAAe;cAErB;KACO;;GACF;EAGf;AAED,WAAW,cAAc;AAEzB,yBAAe"}
1
+ {"version":3,"file":"ChatHeader.mjs","names":["Flexbox","ActionIcon"],"sources":["../../../src/chat/ChatHeader/ChatHeader.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { ChevronLeft } from 'lucide-react';\nimport { memo } from 'react';\n\nimport ActionIcon from '@/ActionIcon';\nimport { Flexbox } from '@/Flex';\n\nimport { styles } from './style';\nimport type { ChatHeaderProps } from './type';\n\nconst ChatHeader = memo<ChatHeaderProps>(\n ({\n left,\n right,\n className,\n styles: contentStyles,\n gaps,\n classNames,\n showBackButton,\n onBackClick,\n children,\n gap = 16,\n ...rest\n }) => {\n return (\n <Flexbox\n horizontal\n align={'center'}\n className={cx(styles.container, className)}\n distribution={'space-between'}\n gap={gap}\n paddingInline={16}\n {...rest}\n >\n <Flexbox\n horizontal\n align={'center'}\n className={cx(styles.left, classNames?.left)}\n gap={gaps?.left || 12}\n justify={'flex-start'}\n style={contentStyles?.left}\n >\n {showBackButton && (\n <ActionIcon\n icon={ChevronLeft}\n style={{ marginRight: gaps?.left ? -gaps.left / 2 : -6 }}\n onClick={() => onBackClick?.()}\n />\n )}\n {left}\n </Flexbox>\n {children && (\n <Flexbox\n horizontal\n align={'center'}\n className={cx(styles.center, classNames?.center)}\n gap={gaps?.center || 8}\n justify={'center'}\n style={contentStyles?.center}\n >\n {children}\n </Flexbox>\n )}\n <Flexbox\n horizontal\n align={'center'}\n className={cx(styles.right, classNames?.right)}\n gap={gaps?.right || 8}\n justify={'flex-end'}\n style={contentStyles?.right}\n >\n {right}\n </Flexbox>\n </Flexbox>\n );\n },\n);\n\nChatHeader.displayName = 'ChatHeader';\n\nexport default ChatHeader;\n"],"mappings":";;;;;;;;;;;AAYA,MAAM,aAAa,MAChB,EACC,MACA,OACA,WACA,QAAQ,eACR,MACA,YACA,gBACA,aACA,UACA,MAAM,IACN,GAAG,WACC;AACJ,QACE,qBAACA;EACC;EACA,OAAO;EACP,WAAW,GAAG,OAAO,WAAW,UAAU;EAC1C,cAAc;EACT;EACL,eAAe;EACf,GAAI;;GAEJ,qBAACA;IACC;IACA,OAAO;IACP,WAAW,GAAG,OAAO,MAAM,YAAY,KAAK;IAC5C,KAAK,MAAM,QAAQ;IACnB,SAAS;IACT,OAAO,eAAe;eAErB,kBACC,oBAACC;KACC,MAAM;KACN,OAAO,EAAE,aAAa,MAAM,OAAO,CAAC,KAAK,OAAO,IAAI,IAAI;KACxD,eAAe,eAAe;MAC9B,EAEH;KACO;GACT,YACC,oBAACD;IACC;IACA,OAAO;IACP,WAAW,GAAG,OAAO,QAAQ,YAAY,OAAO;IAChD,KAAK,MAAM,UAAU;IACrB,SAAS;IACT,OAAO,eAAe;IAErB;KACO;GAEZ,oBAACA;IACC;IACA,OAAO;IACP,WAAW,GAAG,OAAO,OAAO,YAAY,MAAM;IAC9C,KAAK,MAAM,SAAS;IACpB,SAAS;IACT,OAAO,eAAe;cAErB;KACO;;GACF;EAGf;AAED,WAAW,cAAc;AAEzB,yBAAe"}
@@ -5,35 +5,35 @@ import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region src/chat/ChatHeader/ChatHeaderTitle.tsx
6
6
  const ChatHeaderTitle = ({ title, desc, tag }) => {
7
7
  const tagContent = tag && /* @__PURE__ */ jsx(FlexBasic_default, {
8
+ horizontal: true,
8
9
  align: "center",
9
10
  className: titleStyles.tag,
10
- horizontal: true,
11
11
  children: tag
12
12
  });
13
13
  if (desc) return /* @__PURE__ */ jsxs(FlexBasic_default, {
14
14
  className: titleStyles.container,
15
15
  gap: 4,
16
16
  children: [/* @__PURE__ */ jsxs(FlexBasic_default, {
17
+ horizontal: true,
17
18
  align: "center",
18
19
  className: titleStyles.titleContainer,
19
20
  gap: 8,
20
- horizontal: true,
21
21
  children: [/* @__PURE__ */ jsx("div", {
22
22
  className: titleStyles.titleWithDesc,
23
23
  children: title
24
24
  }), tagContent]
25
25
  }), /* @__PURE__ */ jsx(FlexBasic_default, {
26
+ horizontal: true,
26
27
  align: "center",
27
28
  className: titleStyles.desc,
28
- horizontal: true,
29
29
  children: desc
30
30
  })]
31
31
  });
32
32
  return /* @__PURE__ */ jsxs(FlexBasic_default, {
33
+ horizontal: true,
33
34
  align: "center",
34
35
  className: titleStyles.container,
35
36
  gap: 8,
36
- horizontal: true,
37
37
  children: [/* @__PURE__ */ jsx("div", {
38
38
  className: titleStyles.title,
39
39
  children: title
@@ -1 +1 @@
1
- {"version":3,"file":"ChatHeaderTitle.mjs","names":["ChatHeaderTitle: FC<ChatHeaderTitleProps>","Flexbox","styles"],"sources":["../../../src/chat/ChatHeader/ChatHeaderTitle.tsx"],"sourcesContent":["import { type FC } from 'react';\n\nimport { Flexbox } from '@/Flex';\n\nimport { titleStyles as styles } from './style';\nimport type { ChatHeaderTitleProps } from './type';\n\nconst ChatHeaderTitle: FC<ChatHeaderTitleProps> = ({ title, desc, tag }) => {\n const tagContent = tag && (\n <Flexbox align={'center'} className={styles.tag} horizontal>\n {tag}\n </Flexbox>\n );\n\n if (desc)\n return (\n <Flexbox className={styles.container} gap={4}>\n <Flexbox align={'center'} className={styles.titleContainer} gap={8} horizontal>\n <div className={styles.titleWithDesc}>{title}</div>\n {tagContent}\n </Flexbox>\n <Flexbox align={'center'} className={styles.desc} horizontal>\n {desc}\n </Flexbox>\n </Flexbox>\n );\n return (\n <Flexbox align={'center'} className={styles.container} gap={8} horizontal>\n <div className={styles.title}>{title}</div>\n {tagContent}\n </Flexbox>\n );\n};\n\nexport default ChatHeaderTitle;\n"],"mappings":";;;;;AAOA,MAAMA,mBAA6C,EAAE,OAAO,MAAM,UAAU;CAC1E,MAAM,aAAa,OACjB,oBAACC;EAAQ,OAAO;EAAU,WAAWC,YAAO;EAAK;YAC9C;GACO;AAGZ,KAAI,KACF,QACE,qBAACD;EAAQ,WAAWC,YAAO;EAAW,KAAK;aACzC,qBAACD;GAAQ,OAAO;GAAU,WAAWC,YAAO;GAAgB,KAAK;GAAG;cAClE,oBAAC;IAAI,WAAWA,YAAO;cAAgB;KAAY,EAClD;IACO,EACV,oBAACD;GAAQ,OAAO;GAAU,WAAWC,YAAO;GAAM;aAC/C;IACO;GACF;AAEd,QACE,qBAACD;EAAQ,OAAO;EAAU,WAAWC,YAAO;EAAW,KAAK;EAAG;aAC7D,oBAAC;GAAI,WAAWA,YAAO;aAAQ;IAAY,EAC1C;GACO;;AAId,8BAAe"}
1
+ {"version":3,"file":"ChatHeaderTitle.mjs","names":["ChatHeaderTitle: FC<ChatHeaderTitleProps>","Flexbox","styles"],"sources":["../../../src/chat/ChatHeader/ChatHeaderTitle.tsx"],"sourcesContent":["import { type FC } from 'react';\n\nimport { Flexbox } from '@/Flex';\n\nimport { titleStyles as styles } from './style';\nimport type { ChatHeaderTitleProps } from './type';\n\nconst ChatHeaderTitle: FC<ChatHeaderTitleProps> = ({ title, desc, tag }) => {\n const tagContent = tag && (\n <Flexbox horizontal align={'center'} className={styles.tag}>\n {tag}\n </Flexbox>\n );\n\n if (desc)\n return (\n <Flexbox className={styles.container} gap={4}>\n <Flexbox horizontal align={'center'} className={styles.titleContainer} gap={8}>\n <div className={styles.titleWithDesc}>{title}</div>\n {tagContent}\n </Flexbox>\n <Flexbox horizontal align={'center'} className={styles.desc}>\n {desc}\n </Flexbox>\n </Flexbox>\n );\n return (\n <Flexbox horizontal align={'center'} className={styles.container} gap={8}>\n <div className={styles.title}>{title}</div>\n {tagContent}\n </Flexbox>\n );\n};\n\nexport default ChatHeaderTitle;\n"],"mappings":";;;;;AAOA,MAAMA,mBAA6C,EAAE,OAAO,MAAM,UAAU;CAC1E,MAAM,aAAa,OACjB,oBAACC;EAAQ;EAAW,OAAO;EAAU,WAAWC,YAAO;YACpD;GACO;AAGZ,KAAI,KACF,QACE,qBAACD;EAAQ,WAAWC,YAAO;EAAW,KAAK;aACzC,qBAACD;GAAQ;GAAW,OAAO;GAAU,WAAWC,YAAO;GAAgB,KAAK;cAC1E,oBAAC;IAAI,WAAWA,YAAO;cAAgB;KAAY,EAClD;IACO,EACV,oBAACD;GAAQ;GAAW,OAAO;GAAU,WAAWC,YAAO;aACpD;IACO;GACF;AAEd,QACE,qBAACD;EAAQ;EAAW,OAAO;EAAU,WAAWC,YAAO;EAAW,KAAK;aACrE,oBAAC;GAAI,WAAWA,YAAO;aAAQ;IAAY,EAC1C;GACO;;AAId,8BAAe"}
@@ -15,7 +15,6 @@ const ChatInputArea = memo(({ ref, className, style, classNames, expand = true,
15
15
  headerHeight: heights?.headerHeight,
16
16
  maxHeight: heights?.maxHeight,
17
17
  minHeight: heights?.minHeight,
18
- onSizeChange,
19
18
  placement: "bottom",
20
19
  size: {
21
20
  height: heights?.inputHeight,
@@ -25,6 +24,7 @@ const ChatInputArea = memo(({ ref, className, style, classNames, expand = true,
25
24
  zIndex: 10,
26
25
  ...style
27
26
  },
27
+ onSizeChange,
28
28
  children: /* @__PURE__ */ jsxs("section", {
29
29
  className: styles.container,
30
30
  style: { minHeight: heights?.minHeight },
@@ -34,12 +34,12 @@ const ChatInputArea = memo(({ ref, className, style, classNames, expand = true,
34
34
  className: styles.textareaContainer,
35
35
  children: /* @__PURE__ */ jsx(ChatInputAreaInner_default, {
36
36
  className: styles.textarea,
37
+ ref,
38
+ style: { paddingInline: 16 },
37
39
  onSend: () => {
38
40
  onSend?.();
39
41
  setExpand?.(false);
40
42
  },
41
- ref,
42
- style: { paddingInline: 16 },
43
43
  ...rest
44
44
  })
45
45
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInputArea.mjs","names":["DraggablePanel","ChatInputAreaInner"],"sources":["../../../src/chat/ChatInputArea/ChatInputArea.tsx"],"sourcesContent":["'use client';\n\nimport { memo } from 'react';\n\nimport DraggablePanel from '@/DraggablePanel';\n\nimport ChatInputAreaInner from './components/ChatInputAreaInner';\nimport { styles } from './style';\nimport type { ChatInputAreaProps } from './type';\n\nconst ChatInputArea = memo<ChatInputAreaProps>(\n ({\n ref,\n className,\n style,\n classNames,\n expand = true,\n setExpand,\n bottomAddons,\n topAddons,\n onSizeChange,\n heights,\n onSend,\n ...rest\n }) => {\n return (\n <DraggablePanel\n className={className}\n classNames={classNames}\n fullscreen={expand}\n headerHeight={heights?.headerHeight}\n maxHeight={heights?.maxHeight}\n minHeight={heights?.minHeight}\n onSizeChange={onSizeChange}\n placement=\"bottom\"\n size={{ height: heights?.inputHeight, width: '100%' }}\n style={{ zIndex: 10, ...style }}\n >\n <section className={styles.container} style={{ minHeight: heights?.minHeight }}>\n {topAddons}\n <div className={styles.textareaContainer}>\n <ChatInputAreaInner\n className={styles.textarea}\n onSend={() => {\n onSend?.();\n setExpand?.(false);\n }}\n ref={ref}\n style={{\n paddingInline: 16,\n }}\n {...rest}\n />\n </div>\n {bottomAddons}\n </section>\n </DraggablePanel>\n );\n },\n);\n\nexport default ChatInputArea;\n"],"mappings":";;;;;;;;;AAUA,MAAM,gBAAgB,MACnB,EACC,KACA,WACA,OACA,YACA,SAAS,MACT,WACA,cACA,WACA,cACA,SACA,QACA,GAAG,WACC;AACJ,QACE,oBAACA;EACY;EACC;EACZ,YAAY;EACZ,cAAc,SAAS;EACvB,WAAW,SAAS;EACpB,WAAW,SAAS;EACN;EACd,WAAU;EACV,MAAM;GAAE,QAAQ,SAAS;GAAa,OAAO;GAAQ;EACrD,OAAO;GAAE,QAAQ;GAAI,GAAG;GAAO;YAE/B,qBAAC;GAAQ,WAAW,OAAO;GAAW,OAAO,EAAE,WAAW,SAAS,WAAW;;IAC3E;IACD,oBAAC;KAAI,WAAW,OAAO;eACrB,oBAACC;MACC,WAAW,OAAO;MAClB,cAAc;AACZ,iBAAU;AACV,mBAAY,MAAM;;MAEf;MACL,OAAO,EACL,eAAe,IAChB;MACD,GAAI;OACJ;MACE;IACL;;IACO;GACK;EAGtB;AAED,4BAAe"}
1
+ {"version":3,"file":"ChatInputArea.mjs","names":["DraggablePanel","ChatInputAreaInner"],"sources":["../../../src/chat/ChatInputArea/ChatInputArea.tsx"],"sourcesContent":["'use client';\n\nimport { memo } from 'react';\n\nimport DraggablePanel from '@/DraggablePanel';\n\nimport ChatInputAreaInner from './components/ChatInputAreaInner';\nimport { styles } from './style';\nimport type { ChatInputAreaProps } from './type';\n\nconst ChatInputArea = memo<ChatInputAreaProps>(\n ({\n ref,\n className,\n style,\n classNames,\n expand = true,\n setExpand,\n bottomAddons,\n topAddons,\n onSizeChange,\n heights,\n onSend,\n ...rest\n }) => {\n return (\n <DraggablePanel\n className={className}\n classNames={classNames}\n fullscreen={expand}\n headerHeight={heights?.headerHeight}\n maxHeight={heights?.maxHeight}\n minHeight={heights?.minHeight}\n placement=\"bottom\"\n size={{ height: heights?.inputHeight, width: '100%' }}\n style={{ zIndex: 10, ...style }}\n onSizeChange={onSizeChange}\n >\n <section className={styles.container} style={{ minHeight: heights?.minHeight }}>\n {topAddons}\n <div className={styles.textareaContainer}>\n <ChatInputAreaInner\n className={styles.textarea}\n ref={ref}\n style={{\n paddingInline: 16,\n }}\n onSend={() => {\n onSend?.();\n setExpand?.(false);\n }}\n {...rest}\n />\n </div>\n {bottomAddons}\n </section>\n </DraggablePanel>\n );\n },\n);\n\nexport default ChatInputArea;\n"],"mappings":";;;;;;;;;AAUA,MAAM,gBAAgB,MACnB,EACC,KACA,WACA,OACA,YACA,SAAS,MACT,WACA,cACA,WACA,cACA,SACA,QACA,GAAG,WACC;AACJ,QACE,oBAACA;EACY;EACC;EACZ,YAAY;EACZ,cAAc,SAAS;EACvB,WAAW,SAAS;EACpB,WAAW,SAAS;EACpB,WAAU;EACV,MAAM;GAAE,QAAQ,SAAS;GAAa,OAAO;GAAQ;EACrD,OAAO;GAAE,QAAQ;GAAI,GAAG;GAAO;EACjB;YAEd,qBAAC;GAAQ,WAAW,OAAO;GAAW,OAAO,EAAE,WAAW,SAAS,WAAW;;IAC3E;IACD,oBAAC;KAAI,WAAW,OAAO;eACrB,oBAACC;MACC,WAAW,OAAO;MACb;MACL,OAAO,EACL,eAAe,IAChB;MACD,cAAc;AACZ,iBAAU;AACV,mBAAY,MAAM;;MAEpB,GAAI;OACJ;MACE;IACL;;IACO;GACK;EAGtB;AAED,4BAAe"}
@@ -9,27 +9,27 @@ import { useResponsive } from "antd-style";
9
9
  const ChatInputActionBar = ({ ref, padding = "0 16px", leftAddons, rightAddons, ...rest }) => {
10
10
  const { mobile } = useResponsive();
11
11
  return /* @__PURE__ */ jsxs(FlexBasic_default, {
12
+ horizontal: true,
12
13
  align: "center",
13
14
  className: actionBarStyles.root,
14
15
  flex: "none",
15
- horizontal: true,
16
16
  justify: "space-between",
17
17
  padding,
18
18
  ref,
19
19
  ...rest,
20
20
  children: [/* @__PURE__ */ jsx(FlexBasic_default, {
21
+ horizontal: true,
21
22
  align: "center",
22
23
  className: actionBarStyles.left,
23
24
  flex: 1,
24
25
  gap: mobile ? 0 : 4,
25
- horizontal: true,
26
26
  children: leftAddons
27
27
  }), /* @__PURE__ */ jsx(FlexBasic_default, {
28
+ horizontal: true,
28
29
  align: "center",
29
30
  className: actionBarStyles.right,
30
31
  flex: 0,
31
32
  gap: mobile ? 0 : 4,
32
- horizontal: true,
33
33
  justify: "flex-end",
34
34
  children: rightAddons
35
35
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInputActionBar.mjs","names":["ChatInputActionBar: FC<ChatInputActionBarProps>","Flexbox","styles"],"sources":["../../../../src/chat/ChatInputArea/components/ChatInputActionBar.tsx"],"sourcesContent":["'use client';\n\nimport { useResponsive } from 'antd-style';\nimport { type FC } from 'react';\n\nimport { Flexbox } from '@/Flex';\n\nimport { actionBarStyles as styles } from '../style';\nimport { ChatInputActionBarProps } from '../type';\n\nconst ChatInputActionBar: FC<ChatInputActionBarProps> = ({\n ref,\n padding = '0 16px',\n leftAddons,\n rightAddons,\n ...rest\n}) => {\n const { mobile } = useResponsive();\n return (\n <Flexbox\n align={'center'}\n className={styles.root}\n flex={'none'}\n horizontal\n justify={'space-between'}\n padding={padding}\n ref={ref}\n {...rest}\n >\n <Flexbox align={'center'} className={styles.left} flex={1} gap={mobile ? 0 : 4} horizontal>\n {leftAddons}\n </Flexbox>\n <Flexbox\n align={'center'}\n className={styles.right}\n flex={0}\n gap={mobile ? 0 : 4}\n horizontal\n justify={'flex-end'}\n >\n {rightAddons}\n </Flexbox>\n </Flexbox>\n );\n};\n\nChatInputActionBar.displayName = 'ChatInputActionBar';\n\nexport default ChatInputActionBar;\n"],"mappings":";;;;;;;;AAUA,MAAMA,sBAAmD,EACvD,KACA,UAAU,UACV,YACA,aACA,GAAG,WACC;CACJ,MAAM,EAAE,WAAW,eAAe;AAClC,QACE,qBAACC;EACC,OAAO;EACP,WAAWC,gBAAO;EAClB,MAAM;EACN;EACA,SAAS;EACA;EACJ;EACL,GAAI;aAEJ,oBAACD;GAAQ,OAAO;GAAU,WAAWC,gBAAO;GAAM,MAAM;GAAG,KAAK,SAAS,IAAI;GAAG;aAC7E;IACO,EACV,oBAACD;GACC,OAAO;GACP,WAAWC,gBAAO;GAClB,MAAM;GACN,KAAK,SAAS,IAAI;GAClB;GACA,SAAS;aAER;IACO;GACF;;AAId,mBAAmB,cAAc;AAEjC,iCAAe"}
1
+ {"version":3,"file":"ChatInputActionBar.mjs","names":["ChatInputActionBar: FC<ChatInputActionBarProps>","Flexbox","styles"],"sources":["../../../../src/chat/ChatInputArea/components/ChatInputActionBar.tsx"],"sourcesContent":["'use client';\n\nimport { useResponsive } from 'antd-style';\nimport { type FC } from 'react';\n\nimport { Flexbox } from '@/Flex';\n\nimport { actionBarStyles as styles } from '../style';\nimport type { ChatInputActionBarProps } from '../type';\n\nconst ChatInputActionBar: FC<ChatInputActionBarProps> = ({\n ref,\n padding = '0 16px',\n leftAddons,\n rightAddons,\n ...rest\n}) => {\n const { mobile } = useResponsive();\n return (\n <Flexbox\n horizontal\n align={'center'}\n className={styles.root}\n flex={'none'}\n justify={'space-between'}\n padding={padding}\n ref={ref}\n {...rest}\n >\n <Flexbox horizontal align={'center'} className={styles.left} flex={1} gap={mobile ? 0 : 4}>\n {leftAddons}\n </Flexbox>\n <Flexbox\n horizontal\n align={'center'}\n className={styles.right}\n flex={0}\n gap={mobile ? 0 : 4}\n justify={'flex-end'}\n >\n {rightAddons}\n </Flexbox>\n </Flexbox>\n );\n};\n\nChatInputActionBar.displayName = 'ChatInputActionBar';\n\nexport default ChatInputActionBar;\n"],"mappings":";;;;;;;;AAUA,MAAMA,sBAAmD,EACvD,KACA,UAAU,UACV,YACA,aACA,GAAG,WACC;CACJ,MAAM,EAAE,WAAW,eAAe;AAClC,QACE,qBAACC;EACC;EACA,OAAO;EACP,WAAWC,gBAAO;EAClB,MAAM;EACN,SAAS;EACA;EACJ;EACL,GAAI;aAEJ,oBAACD;GAAQ;GAAW,OAAO;GAAU,WAAWC,gBAAO;GAAM,MAAM;GAAG,KAAK,SAAS,IAAI;aACrF;IACO,EACV,oBAACD;GACC;GACA,OAAO;GACP,WAAWC,gBAAO;GAClB,MAAM;GACN,KAAK,SAAS,IAAI;GAClB,SAAS;aAER;IACO;GACF;;AAId,mBAAmB,cAAc;AAEjC,iCAAe"}
@@ -1,8 +1,8 @@
1
1
  import { ChatInputAreaInnerProps } from "../type.mjs";
2
- import * as react133 from "react";
2
+ import * as react136 from "react";
3
3
 
4
4
  //#region src/chat/ChatInputArea/components/ChatInputAreaInner.d.ts
5
- declare const ChatInputAreaInner: react133.NamedExoticComponent<ChatInputAreaInnerProps>;
5
+ declare const ChatInputAreaInner: react136.NamedExoticComponent<ChatInputAreaInnerProps>;
6
6
  //#endregion
7
7
  export { ChatInputAreaInner };
8
8
  //# sourceMappingURL=ChatInputAreaInner.d.mts.map
@@ -9,6 +9,9 @@ const ChatInputAreaInner = memo(({ ref, resize = false, onCompositionEnd, onPres
9
9
  const isChineseInput = useRef(false);
10
10
  return /* @__PURE__ */ jsx(TextArea_default, {
11
11
  className,
12
+ ref,
13
+ resize,
14
+ variant: "borderless",
12
15
  onBlur: (e) => {
13
16
  onInput?.(e.target.value);
14
17
  onBlur?.(e);
@@ -33,9 +36,6 @@ const ChatInputAreaInner = memo(({ ref, resize = false, onCompositionEnd, onPres
33
36
  onSend?.();
34
37
  }
35
38
  },
36
- ref,
37
- resize,
38
- variant: "borderless",
39
39
  ...rest
40
40
  });
41
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInputAreaInner.mjs","names":["TextArea"],"sources":["../../../../src/chat/ChatInputArea/components/ChatInputAreaInner.tsx"],"sourcesContent":["'use client';\n\nimport { memo, useRef } from 'react';\n\nimport { TextArea } from '@/Input';\n\nimport { ChatInputAreaInnerProps } from '../type';\n\nconst ChatInputAreaInner = memo<ChatInputAreaInnerProps>(\n ({\n ref,\n resize = false,\n onCompositionEnd,\n onPressEnter,\n onCompositionStart,\n className,\n onInput,\n loading,\n onSend,\n onBlur,\n onChange,\n ...rest\n }) => {\n const isChineseInput = useRef(false);\n\n return (\n <TextArea\n className={className}\n onBlur={(e) => {\n onInput?.(e.target.value);\n onBlur?.(e);\n }}\n onChange={(e) => {\n onInput?.(e.target.value);\n onChange?.(e);\n }}\n onCompositionEnd={(e) => {\n isChineseInput.current = false;\n onCompositionEnd?.(e);\n }}\n onCompositionStart={(e) => {\n isChineseInput.current = true;\n onCompositionStart?.(e);\n }}\n onPressEnter={(e) => {\n onPressEnter?.(e);\n const isMobile = /mobi|android|iphone/i.test(navigator.userAgent);\n if (\n !loading &&\n !isChineseInput.current &&\n ((!isMobile && !e.shiftKey) || (isMobile && e.shiftKey))\n ) {\n e.preventDefault();\n onSend?.();\n }\n }}\n ref={ref}\n resize={resize}\n variant={'borderless'}\n {...rest}\n />\n );\n },\n);\n\nexport default ChatInputAreaInner;\n"],"mappings":";;;;;;;AAQA,MAAM,qBAAqB,MACxB,EACC,KACA,SAAS,OACT,kBACA,cACA,oBACA,WACA,SACA,SACA,QACA,QACA,UACA,GAAG,WACC;CACJ,MAAM,iBAAiB,OAAO,MAAM;AAEpC,QACE,oBAACA;EACY;EACX,SAAS,MAAM;AACb,aAAU,EAAE,OAAO,MAAM;AACzB,YAAS,EAAE;;EAEb,WAAW,MAAM;AACf,aAAU,EAAE,OAAO,MAAM;AACzB,cAAW,EAAE;;EAEf,mBAAmB,MAAM;AACvB,kBAAe,UAAU;AACzB,sBAAmB,EAAE;;EAEvB,qBAAqB,MAAM;AACzB,kBAAe,UAAU;AACzB,wBAAqB,EAAE;;EAEzB,eAAe,MAAM;AACnB,kBAAe,EAAE;GACjB,MAAM,WAAW,uBAAuB,KAAK,UAAU,UAAU;AACjE,OACE,CAAC,WACD,CAAC,eAAe,YACd,CAAC,YAAY,CAAC,EAAE,YAAc,YAAY,EAAE,WAC9C;AACA,MAAE,gBAAgB;AAClB,cAAU;;;EAGT;EACG;EACR,SAAS;EACT,GAAI;GACJ;EAGP;AAED,iCAAe"}
1
+ {"version":3,"file":"ChatInputAreaInner.mjs","names":["TextArea"],"sources":["../../../../src/chat/ChatInputArea/components/ChatInputAreaInner.tsx"],"sourcesContent":["'use client';\n\nimport { memo, useRef } from 'react';\n\nimport { TextArea } from '@/Input';\n\nimport type { ChatInputAreaInnerProps } from '../type';\n\nconst ChatInputAreaInner = memo<ChatInputAreaInnerProps>(\n ({\n ref,\n resize = false,\n onCompositionEnd,\n onPressEnter,\n onCompositionStart,\n className,\n onInput,\n loading,\n onSend,\n onBlur,\n onChange,\n ...rest\n }) => {\n const isChineseInput = useRef(false);\n\n return (\n <TextArea\n className={className}\n ref={ref}\n resize={resize}\n variant={'borderless'}\n onBlur={(e) => {\n onInput?.(e.target.value);\n onBlur?.(e);\n }}\n onChange={(e) => {\n onInput?.(e.target.value);\n onChange?.(e);\n }}\n onCompositionEnd={(e) => {\n isChineseInput.current = false;\n onCompositionEnd?.(e);\n }}\n onCompositionStart={(e) => {\n isChineseInput.current = true;\n onCompositionStart?.(e);\n }}\n onPressEnter={(e) => {\n onPressEnter?.(e);\n const isMobile = /mobi|android|iphone/i.test(navigator.userAgent);\n if (\n !loading &&\n !isChineseInput.current &&\n ((!isMobile && !e.shiftKey) || (isMobile && e.shiftKey))\n ) {\n e.preventDefault();\n onSend?.();\n }\n }}\n {...rest}\n />\n );\n },\n);\n\nexport default ChatInputAreaInner;\n"],"mappings":";;;;;;;AAQA,MAAM,qBAAqB,MACxB,EACC,KACA,SAAS,OACT,kBACA,cACA,oBACA,WACA,SACA,SACA,QACA,QACA,UACA,GAAG,WACC;CACJ,MAAM,iBAAiB,OAAO,MAAM;AAEpC,QACE,oBAACA;EACY;EACN;EACG;EACR,SAAS;EACT,SAAS,MAAM;AACb,aAAU,EAAE,OAAO,MAAM;AACzB,YAAS,EAAE;;EAEb,WAAW,MAAM;AACf,aAAU,EAAE,OAAO,MAAM;AACzB,cAAW,EAAE;;EAEf,mBAAmB,MAAM;AACvB,kBAAe,UAAU;AACzB,sBAAmB,EAAE;;EAEvB,qBAAqB,MAAM;AACzB,kBAAe,UAAU;AACzB,wBAAqB,EAAE;;EAEzB,eAAe,MAAM;AACnB,kBAAe,EAAE;GACjB,MAAM,WAAW,uBAAuB,KAAK,UAAU,UAAU;AACjE,OACE,CAAC,WACD,CAAC,eAAe,YACd,CAAC,YAAY,CAAC,EAAE,YAAc,YAAY,EAAE,WAC9C;AACA,MAAE,gBAAgB;AAClB,cAAU;;;EAGd,GAAI;GACJ;EAGP;AAED,iCAAe"}
@@ -8,27 +8,27 @@ import { ArrowBigUp, CornerDownLeft, Loader2 } from "lucide-react";
8
8
  //#region src/chat/ChatInputArea/components/ChatSendButton.tsx
9
9
  const ChatSendButton = ({ ref, leftAddons, rightAddons, texts, onSend, loading, onStop, ...rest }) => {
10
10
  return /* @__PURE__ */ jsxs(FlexBasic_default, {
11
+ horizontal: true,
11
12
  align: "end",
12
13
  distribution: "space-between",
13
14
  flex: "none",
14
15
  gap: 8,
15
- horizontal: true,
16
16
  paddingInline: 16,
17
17
  ref,
18
18
  ...rest,
19
19
  children: [/* @__PURE__ */ jsx(FlexBasic_default, {
20
+ horizontal: true,
20
21
  align: "center",
21
22
  gap: 8,
22
- horizontal: true,
23
23
  children: leftAddons
24
24
  }), /* @__PURE__ */ jsxs(FlexBasic_default, {
25
+ horizontal: true,
25
26
  align: "center",
26
27
  gap: 8,
27
- horizontal: true,
28
28
  children: [
29
29
  /* @__PURE__ */ jsxs(FlexBasic_default, {
30
- gap: 4,
31
30
  horizontal: true,
31
+ gap: 4,
32
32
  style: {
33
33
  color: cssVar.colorTextDescription,
34
34
  fontSize: 12,
@@ -51,8 +51,8 @@ const ChatSendButton = ({ ref, leftAddons, rightAddons, texts, onSend, loading,
51
51
  onClick: onStop,
52
52
  children: texts?.stop || "Stop"
53
53
  }) : /* @__PURE__ */ jsx(Button_default, {
54
- onClick: onSend,
55
54
  type: "primary",
55
+ onClick: onSend,
56
56
  children: texts?.send || "Send"
57
57
  })
58
58
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"ChatSendButton.mjs","names":["ChatSendButton: FC<ChatSendButtonProps>","Flexbox","Icon","Button"],"sources":["../../../../src/chat/ChatInputArea/components/ChatSendButton.tsx"],"sourcesContent":["import { cssVar } from 'antd-style';\nimport { ArrowBigUp, CornerDownLeft, Loader2 } from 'lucide-react';\nimport { type FC } from 'react';\n\nimport Button from '@/Button';\nimport { Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\n\nimport { ChatSendButtonProps } from '../type';\n\nconst ChatSendButton: FC<ChatSendButtonProps> = ({\n ref,\n leftAddons,\n rightAddons,\n texts,\n onSend,\n loading,\n onStop,\n ...rest\n}) => {\n return (\n <Flexbox\n align={'end'}\n distribution={'space-between'}\n flex={'none'}\n gap={8}\n horizontal\n paddingInline={16}\n ref={ref}\n {...rest}\n >\n <Flexbox align={'center'} gap={8} horizontal>\n {leftAddons}\n </Flexbox>\n <Flexbox align={'center'} gap={8} horizontal>\n <Flexbox\n gap={4}\n horizontal\n style={{ color: cssVar.colorTextDescription, fontSize: 12, marginRight: 12 }}\n >\n <Icon icon={CornerDownLeft} />\n <span>{texts?.send || 'Send'}</span>\n <span>/</span>\n <Flexbox horizontal>\n <Icon icon={ArrowBigUp} />\n <Icon icon={CornerDownLeft} />\n </Flexbox>\n <span>{texts?.warp || 'Warp'}</span>\n </Flexbox>\n {rightAddons}\n {loading ? (\n <Button icon={loading && Loader2} onClick={onStop}>\n {texts?.stop || 'Stop'}\n </Button>\n ) : (\n <Button onClick={onSend} type={'primary'}>\n {texts?.send || 'Send'}\n </Button>\n )}\n </Flexbox>\n </Flexbox>\n );\n};\n\nChatSendButton.displayName = 'ChatSendButton';\n\nexport default ChatSendButton;\n"],"mappings":";;;;;;;;AAUA,MAAMA,kBAA2C,EAC/C,KACA,YACA,aACA,OACA,QACA,SACA,QACA,GAAG,WACC;AACJ,QACE,qBAACC;EACC,OAAO;EACP,cAAc;EACd,MAAM;EACN,KAAK;EACL;EACA,eAAe;EACV;EACL,GAAI;aAEJ,oBAACA;GAAQ,OAAO;GAAU,KAAK;GAAG;aAC/B;IACO,EACV,qBAACA;GAAQ,OAAO;GAAU,KAAK;GAAG;;IAChC,qBAACA;KACC,KAAK;KACL;KACA,OAAO;MAAE,OAAO,OAAO;MAAsB,UAAU;MAAI,aAAa;MAAI;;MAE5E,oBAACC,gBAAK,MAAM,iBAAkB;MAC9B,oBAAC,oBAAM,OAAO,QAAQ,SAAc;MACpC,oBAAC,oBAAK,MAAQ;MACd,qBAACD;OAAQ;kBACP,oBAACC,gBAAK,MAAM,aAAc,EAC1B,oBAACA,gBAAK,MAAM,iBAAkB;QACtB;MACV,oBAAC,oBAAM,OAAO,QAAQ,SAAc;;MAC5B;IACT;IACA,UACC,oBAACC;KAAO,MAAM,WAAW;KAAS,SAAS;eACxC,OAAO,QAAQ;MACT,GAET,oBAACA;KAAO,SAAS;KAAQ,MAAM;eAC5B,OAAO,QAAQ;MACT;;IAEH;GACF;;AAId,eAAe,cAAc;AAE7B,6BAAe"}
1
+ {"version":3,"file":"ChatSendButton.mjs","names":["ChatSendButton: FC<ChatSendButtonProps>","Flexbox","Icon","Button"],"sources":["../../../../src/chat/ChatInputArea/components/ChatSendButton.tsx"],"sourcesContent":["import { cssVar } from 'antd-style';\nimport { ArrowBigUp, CornerDownLeft, Loader2 } from 'lucide-react';\nimport { type FC } from 'react';\n\nimport Button from '@/Button';\nimport { Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\n\nimport type { ChatSendButtonProps } from '../type';\n\nconst ChatSendButton: FC<ChatSendButtonProps> = ({\n ref,\n leftAddons,\n rightAddons,\n texts,\n onSend,\n loading,\n onStop,\n ...rest\n}) => {\n return (\n <Flexbox\n horizontal\n align={'end'}\n distribution={'space-between'}\n flex={'none'}\n gap={8}\n paddingInline={16}\n ref={ref}\n {...rest}\n >\n <Flexbox horizontal align={'center'} gap={8}>\n {leftAddons}\n </Flexbox>\n <Flexbox horizontal align={'center'} gap={8}>\n <Flexbox\n horizontal\n gap={4}\n style={{ color: cssVar.colorTextDescription, fontSize: 12, marginRight: 12 }}\n >\n <Icon icon={CornerDownLeft} />\n <span>{texts?.send || 'Send'}</span>\n <span>/</span>\n <Flexbox horizontal>\n <Icon icon={ArrowBigUp} />\n <Icon icon={CornerDownLeft} />\n </Flexbox>\n <span>{texts?.warp || 'Warp'}</span>\n </Flexbox>\n {rightAddons}\n {loading ? (\n <Button icon={loading && Loader2} onClick={onStop}>\n {texts?.stop || 'Stop'}\n </Button>\n ) : (\n <Button type={'primary'} onClick={onSend}>\n {texts?.send || 'Send'}\n </Button>\n )}\n </Flexbox>\n </Flexbox>\n );\n};\n\nChatSendButton.displayName = 'ChatSendButton';\n\nexport default ChatSendButton;\n"],"mappings":";;;;;;;;AAUA,MAAMA,kBAA2C,EAC/C,KACA,YACA,aACA,OACA,QACA,SACA,QACA,GAAG,WACC;AACJ,QACE,qBAACC;EACC;EACA,OAAO;EACP,cAAc;EACd,MAAM;EACN,KAAK;EACL,eAAe;EACV;EACL,GAAI;aAEJ,oBAACA;GAAQ;GAAW,OAAO;GAAU,KAAK;aACvC;IACO,EACV,qBAACA;GAAQ;GAAW,OAAO;GAAU,KAAK;;IACxC,qBAACA;KACC;KACA,KAAK;KACL,OAAO;MAAE,OAAO,OAAO;MAAsB,UAAU;MAAI,aAAa;MAAI;;MAE5E,oBAACC,gBAAK,MAAM,iBAAkB;MAC9B,oBAAC,oBAAM,OAAO,QAAQ,SAAc;MACpC,oBAAC,oBAAK,MAAQ;MACd,qBAACD;OAAQ;kBACP,oBAACC,gBAAK,MAAM,aAAc,EAC1B,oBAACA,gBAAK,MAAM,iBAAkB;QACtB;MACV,oBAAC,oBAAM,OAAO,QAAQ,SAAc;;MAC5B;IACT;IACA,UACC,oBAACC;KAAO,MAAM,WAAW;KAAS,SAAS;eACxC,OAAO,QAAQ;MACT,GAET,oBAACA;KAAO,MAAM;KAAW,SAAS;eAC/B,OAAO,QAAQ;MACT;;IAEH;GACF;;AAId,eAAe,cAAc;AAE7B,6BAAe"}
@@ -64,13 +64,13 @@ const ChatItem = memo(({ avatarAddon, onAvatarClick, avatarProps, actions, class
64
64
  alt: avatarAlt,
65
65
  avatar,
66
66
  loading,
67
- onClick: onAvatarClick,
68
67
  placement,
69
68
  size: avatarSize,
70
69
  style: {
71
70
  marginTop: showTitle ? -12 : 6,
72
71
  ...avatarProps?.style
73
- }
72
+ },
73
+ onClick: onAvatarClick
74
74
  }),
75
75
  /* @__PURE__ */ jsxs(FlexBasic_default, {
76
76
  align: placement === "left" ? "flex-start" : "flex-end",
@@ -89,8 +89,8 @@ const ChatItem = memo(({ avatarAddon, onAvatarClick, avatarProps, actions, class
89
89
  align: placement === "left" ? "flex-start" : "flex-end",
90
90
  className: messageContentClassName,
91
91
  "data-layout": layoutMode,
92
- direction: layoutMode === "horizontal" ? placement === "left" ? "horizontal" : "horizontal-reverse" : "vertical",
93
92
  gap: 8,
93
+ direction: layoutMode === "horizontal" ? placement === "left" ? "horizontal" : "horizontal-reverse" : "vertical",
94
94
  children: [/* @__PURE__ */ jsx(FlexBasic_default, {
95
95
  ref: contentRef,
96
96
  width: "100%",
@@ -103,6 +103,11 @@ const ChatItem = memo(({ avatarAddon, onAvatarClick, avatarProps, actions, class
103
103
  fontSize,
104
104
  markdownProps,
105
105
  message,
106
+ placement,
107
+ primary,
108
+ renderMessage,
109
+ text,
110
+ variant,
106
111
  messageExtra: /* @__PURE__ */ jsxs(Fragment$1, { children: [error && /* @__PURE__ */ jsx(ErrorContent_default, {
107
112
  error,
108
113
  message: errorMessage,
@@ -110,12 +115,7 @@ const ChatItem = memo(({ avatarAddon, onAvatarClick, avatarProps, actions, class
110
115
  }), messageExtra] }),
111
116
  onChange,
112
117
  onDoubleClick,
113
- onEditingChange,
114
- placement,
115
- primary,
116
- renderMessage,
117
- text,
118
- variant
118
+ onEditingChange
119
119
  })
120
120
  }), actions && /* @__PURE__ */ jsx(Actions_default, {
121
121
  actions,
@@ -1 +1 @@
1
- {"version":3,"file":"ChatItem.mjs","names":["chatMessages","Flexbox","Avatar","Title","ErrorContent","MessageContent","Actions","BorderSpacing"],"sources":["../../../src/chat/ChatItem/ChatItem.tsx"],"sourcesContent":["'use client';\n\nimport { cx, useResponsive } from 'antd-style';\nimport { memo, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport chatMessages from '@/i18n/resources/en/chat';\nimport { useTranslation } from '@/i18n/useTranslation';\n\nimport Actions from './components/Actions';\nimport Avatar from './components/Avatar';\nimport BorderSpacing from './components/BorderSpacing';\nimport ErrorContent from './components/ErrorContent';\nimport MessageContent from './components/MessageContent';\nimport Title from './components/Title';\nimport { styles } from './style';\nimport type { ChatItemProps } from './type';\n\nconst MOBILE_AVATAR_SIZE = 32;\n\nconst ChatItem = memo<ChatItemProps>(\n ({\n avatarAddon,\n onAvatarClick,\n avatarProps,\n actions,\n className,\n primary,\n loading,\n message,\n placeholderMessage,\n placement = 'left',\n variant = 'bubble',\n avatar,\n error,\n showTitle,\n time,\n editing,\n onChange,\n onEditingChange,\n messageExtra,\n renderMessage,\n text,\n errorMessage,\n onDoubleClick,\n fontSize,\n aboveMessage,\n belowMessage,\n markdownProps,\n actionsWrapWidth = 54,\n showAvatar = true,\n titleAddon,\n ...rest\n }) => {\n const { mobile } = useResponsive();\n const { t } = useTranslation(chatMessages);\n\n const avatarSize = mobile ? MOBILE_AVATAR_SIZE : avatarProps?.size || 40;\n const cssVariables = useMemo<Record<string, string>>(\n () => ({\n '--chat-item-avatar-size': `${avatarSize}px`,\n }),\n [avatarSize],\n );\n\n const hasTime = Boolean(time);\n const placeholderText = placeholderMessage ?? t('chat.placeholder');\n const avatarAlt = avatarProps?.alt || avatar.title || t('chat.avatar');\n\n // 在 ChatItem 组件中添加\n const contentRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const [layoutMode, setLayoutMode] = useState<'horizontal' | 'vertical'>(\n variant === 'bubble' ? 'horizontal' : 'vertical',\n );\n\n // 使用 ResizeObserver 监控内容和容器尺寸\n useEffect(() => {\n if (variant === 'docs') {\n setLayoutMode('vertical');\n return;\n }\n\n if (!contentRef.current || !containerRef.current) return;\n\n const observer = new ResizeObserver(() => {\n if (!contentRef.current || !containerRef.current) return;\n\n const containerWidth = containerRef.current.clientWidth;\n const contentWidth = contentRef.current.scrollWidth; // 使用scrollWidth获取实际内容宽度\n\n // 预留给Actions的最小空间 (根据实际Actions大小调整)\n\n // 只有当内容宽度 + Actions最小宽度 > 容器宽度时才切换布局\n setLayoutMode(contentWidth + actionsWrapWidth > containerWidth ? 'vertical' : 'horizontal');\n });\n\n observer.observe(contentRef.current);\n observer.observe(containerRef.current);\n\n return () => observer.disconnect();\n }, [variant, actionsWrapWidth]);\n\n const containerClassName = cx(\n variant === 'docs' ? styles.containerDocs : styles.container,\n className,\n );\n\n const messageContainerClassName = useMemo(() => {\n if (editing) {\n return hasTime ? styles.messageContainerEditingWithTime : styles.messageContainerEditing;\n }\n return hasTime ? styles.messageContainerWithTime : styles.messageContainer;\n }, [editing, hasTime]);\n\n const messageContentClassName = useMemo(() => {\n return editing ? styles.messageContentEditing : styles.messageContent;\n }, [editing]);\n\n return (\n <Flexbox\n className={containerClassName}\n direction={placement === 'left' ? 'horizontal' : 'horizontal-reverse'}\n gap={mobile ? 6 : 12}\n style={cssVariables}\n {...rest}\n >\n {showAvatar && (\n <Avatar\n {...avatarProps}\n addon={avatarAddon}\n alt={avatarAlt}\n avatar={avatar}\n loading={loading}\n onClick={onAvatarClick}\n placement={placement}\n size={avatarSize}\n style={{\n marginTop: showTitle ? -12 : 6,\n ...avatarProps?.style,\n }}\n />\n )}\n <Flexbox\n align={placement === 'left' ? 'flex-start' : 'flex-end'}\n className={messageContainerClassName}\n ref={containerRef}\n >\n <Title\n avatar={avatar}\n placement={placement}\n showTitle={showTitle}\n time={time}\n titleAddon={titleAddon}\n />\n {aboveMessage}\n <Flexbox\n align={placement === 'left' ? 'flex-start' : 'flex-end'}\n className={messageContentClassName}\n data-layout={layoutMode} // 添加数据属性以方便样式选择\n direction={\n layoutMode === 'horizontal'\n ? placement === 'left'\n ? 'horizontal'\n : 'horizontal-reverse'\n : 'vertical'\n }\n gap={8}\n >\n <Flexbox ref={contentRef} width={'100%'}>\n {error && (message === placeholderText || !message) ? (\n <ErrorContent error={error} message={errorMessage} placement={placement} />\n ) : (\n <MessageContent\n editing={editing}\n fontSize={fontSize}\n markdownProps={markdownProps}\n message={message}\n messageExtra={\n <>\n {error && (\n <ErrorContent error={error} message={errorMessage} placement={placement} />\n )}\n {messageExtra}\n </>\n }\n onChange={onChange}\n onDoubleClick={onDoubleClick}\n onEditingChange={onEditingChange}\n placement={placement}\n primary={primary}\n renderMessage={renderMessage}\n text={text}\n variant={variant}\n />\n )}\n </Flexbox>\n {actions && (\n <Actions\n actions={actions}\n editing={editing}\n placement={placement}\n variant={variant}\n />\n )}\n </Flexbox>\n {belowMessage}\n </Flexbox>\n {mobile && variant === 'bubble' && showAvatar && (\n <BorderSpacing borderSpacing={MOBILE_AVATAR_SIZE} />\n )}\n </Flexbox>\n );\n },\n);\n\nexport default ChatItem;\n\nexport type { ChatItemProps } from './type';\n"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,MAAM,qBAAqB;AAE3B,MAAM,WAAW,MACd,EACC,aACA,eACA,aACA,SACA,WACA,SACA,SACA,SACA,oBACA,YAAY,QACZ,UAAU,UACV,QACA,OACA,WACA,MACA,SACA,UACA,iBACA,cACA,eACA,MACA,cACA,eACA,UACA,cACA,cACA,eACA,mBAAmB,IACnB,aAAa,MACb,YACA,GAAG,WACC;CACJ,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,EAAE,MAAM,eAAeA,aAAa;CAE1C,MAAM,aAAa,SAAS,qBAAqB,aAAa,QAAQ;CACtE,MAAM,eAAe,eACZ,EACL,2BAA2B,GAAG,WAAW,KAC1C,GACD,CAAC,WAAW,CACb;CAED,MAAM,UAAU,QAAQ,KAAK;CAC7B,MAAM,kBAAkB,sBAAsB,EAAE,mBAAmB;CACnE,MAAM,YAAY,aAAa,OAAO,OAAO,SAAS,EAAE,cAAc;CAGtE,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,eAAe,OAAuB,KAAK;CACjD,MAAM,CAAC,YAAY,iBAAiB,SAClC,YAAY,WAAW,eAAe,WACvC;AAGD,iBAAgB;AACd,MAAI,YAAY,QAAQ;AACtB,iBAAc,WAAW;AACzB;;AAGF,MAAI,CAAC,WAAW,WAAW,CAAC,aAAa,QAAS;EAElD,MAAM,WAAW,IAAI,qBAAqB;AACxC,OAAI,CAAC,WAAW,WAAW,CAAC,aAAa,QAAS;GAElD,MAAM,iBAAiB,aAAa,QAAQ;GAC5C,MAAM,eAAe,WAAW,QAAQ;AAKxC,iBAAc,eAAe,mBAAmB,iBAAiB,aAAa,aAAa;IAC3F;AAEF,WAAS,QAAQ,WAAW,QAAQ;AACpC,WAAS,QAAQ,aAAa,QAAQ;AAEtC,eAAa,SAAS,YAAY;IACjC,CAAC,SAAS,iBAAiB,CAAC;CAE/B,MAAM,qBAAqB,GACzB,YAAY,SAAS,OAAO,gBAAgB,OAAO,WACnD,UACD;CAED,MAAM,4BAA4B,cAAc;AAC9C,MAAI,QACF,QAAO,UAAU,OAAO,kCAAkC,OAAO;AAEnE,SAAO,UAAU,OAAO,2BAA2B,OAAO;IACzD,CAAC,SAAS,QAAQ,CAAC;CAEtB,MAAM,0BAA0B,cAAc;AAC5C,SAAO,UAAU,OAAO,wBAAwB,OAAO;IACtD,CAAC,QAAQ,CAAC;AAEb,QACE,qBAACC;EACC,WAAW;EACX,WAAW,cAAc,SAAS,eAAe;EACjD,KAAK,SAAS,IAAI;EAClB,OAAO;EACP,GAAI;;GAEH,cACC,oBAACC;IACC,GAAI;IACJ,OAAO;IACP,KAAK;IACG;IACC;IACT,SAAS;IACE;IACX,MAAM;IACN,OAAO;KACL,WAAW,YAAY,MAAM;KAC7B,GAAG,aAAa;KACjB;KACD;GAEJ,qBAACD;IACC,OAAO,cAAc,SAAS,eAAe;IAC7C,WAAW;IACX,KAAK;;KAEL,oBAACE;MACS;MACG;MACA;MACL;MACM;OACZ;KACD;KACD,qBAACF;MACC,OAAO,cAAc,SAAS,eAAe;MAC7C,WAAW;MACX,eAAa;MACb,WACE,eAAe,eACX,cAAc,SACZ,eACA,uBACF;MAEN,KAAK;iBAEL,oBAACA;OAAQ,KAAK;OAAY,OAAO;iBAC9B,UAAU,YAAY,mBAAmB,CAAC,WACzC,oBAACG;QAAoB;QAAO,SAAS;QAAyB;SAAa,GAE3E,oBAACC;QACU;QACC;QACK;QACN;QACT,cACE,8CACG,SACC,oBAACD;SAAoB;SAAO,SAAS;SAAyB;UAAa,EAE5E,gBACA;QAEK;QACK;QACE;QACN;QACF;QACM;QACT;QACG;SACT;QAEI,EACT,WACC,oBAACE;OACU;OACA;OACE;OACF;QACT;OAEI;KACT;;KACO;GACT,UAAU,YAAY,YAAY,cACjC,oBAACC,yBAAc,eAAe,qBAAsB;;GAE9C;EAGf;AAED,uBAAe"}
1
+ {"version":3,"file":"ChatItem.mjs","names":["chatMessages","Flexbox","Avatar","Title","ErrorContent","MessageContent","Actions","BorderSpacing"],"sources":["../../../src/chat/ChatItem/ChatItem.tsx"],"sourcesContent":["'use client';\n\nimport { cx, useResponsive } from 'antd-style';\nimport { memo, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport chatMessages from '@/i18n/resources/en/chat';\nimport { useTranslation } from '@/i18n/useTranslation';\n\nimport Actions from './components/Actions';\nimport Avatar from './components/Avatar';\nimport BorderSpacing from './components/BorderSpacing';\nimport ErrorContent from './components/ErrorContent';\nimport MessageContent from './components/MessageContent';\nimport Title from './components/Title';\nimport { styles } from './style';\nimport type { ChatItemProps } from './type';\n\nconst MOBILE_AVATAR_SIZE = 32;\n\nconst ChatItem = memo<ChatItemProps>(\n ({\n avatarAddon,\n onAvatarClick,\n avatarProps,\n actions,\n className,\n primary,\n loading,\n message,\n placeholderMessage,\n placement = 'left',\n variant = 'bubble',\n avatar,\n error,\n showTitle,\n time,\n editing,\n onChange,\n onEditingChange,\n messageExtra,\n renderMessage,\n text,\n errorMessage,\n onDoubleClick,\n fontSize,\n aboveMessage,\n belowMessage,\n markdownProps,\n actionsWrapWidth = 54,\n showAvatar = true,\n titleAddon,\n ...rest\n }) => {\n const { mobile } = useResponsive();\n const { t } = useTranslation(chatMessages);\n\n const avatarSize = mobile ? MOBILE_AVATAR_SIZE : avatarProps?.size || 40;\n const cssVariables = useMemo<Record<string, string>>(\n () => ({\n '--chat-item-avatar-size': `${avatarSize}px`,\n }),\n [avatarSize],\n );\n\n const hasTime = Boolean(time);\n const placeholderText = placeholderMessage ?? t('chat.placeholder');\n const avatarAlt = avatarProps?.alt || avatar.title || t('chat.avatar');\n\n // 在 ChatItem 组件中添加\n const contentRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const [layoutMode, setLayoutMode] = useState<'horizontal' | 'vertical'>(\n variant === 'bubble' ? 'horizontal' : 'vertical',\n );\n\n // 使用 ResizeObserver 监控内容和容器尺寸\n useEffect(() => {\n if (variant === 'docs') {\n setLayoutMode('vertical');\n return;\n }\n\n if (!contentRef.current || !containerRef.current) return;\n\n const observer = new ResizeObserver(() => {\n if (!contentRef.current || !containerRef.current) return;\n\n const containerWidth = containerRef.current.clientWidth;\n const contentWidth = contentRef.current.scrollWidth; // 使用scrollWidth获取实际内容宽度\n\n // 预留给Actions的最小空间 (根据实际Actions大小调整)\n\n // 只有当内容宽度 + Actions最小宽度 > 容器宽度时才切换布局\n setLayoutMode(contentWidth + actionsWrapWidth > containerWidth ? 'vertical' : 'horizontal');\n });\n\n observer.observe(contentRef.current);\n observer.observe(containerRef.current);\n\n return () => observer.disconnect();\n }, [variant, actionsWrapWidth]);\n\n const containerClassName = cx(\n variant === 'docs' ? styles.containerDocs : styles.container,\n className,\n );\n\n const messageContainerClassName = useMemo(() => {\n if (editing) {\n return hasTime ? styles.messageContainerEditingWithTime : styles.messageContainerEditing;\n }\n return hasTime ? styles.messageContainerWithTime : styles.messageContainer;\n }, [editing, hasTime]);\n\n const messageContentClassName = useMemo(() => {\n return editing ? styles.messageContentEditing : styles.messageContent;\n }, [editing]);\n\n return (\n <Flexbox\n className={containerClassName}\n direction={placement === 'left' ? 'horizontal' : 'horizontal-reverse'}\n gap={mobile ? 6 : 12}\n style={cssVariables}\n {...rest}\n >\n {showAvatar && (\n <Avatar\n {...avatarProps}\n addon={avatarAddon}\n alt={avatarAlt}\n avatar={avatar}\n loading={loading}\n placement={placement}\n size={avatarSize}\n style={{\n marginTop: showTitle ? -12 : 6,\n ...avatarProps?.style,\n }}\n onClick={onAvatarClick}\n />\n )}\n <Flexbox\n align={placement === 'left' ? 'flex-start' : 'flex-end'}\n className={messageContainerClassName}\n ref={containerRef}\n >\n <Title\n avatar={avatar}\n placement={placement}\n showTitle={showTitle}\n time={time}\n titleAddon={titleAddon}\n />\n {aboveMessage}\n <Flexbox\n align={placement === 'left' ? 'flex-start' : 'flex-end'}\n className={messageContentClassName}\n data-layout={layoutMode} // 添加数据属性以方便样式选择\n gap={8}\n direction={\n layoutMode === 'horizontal'\n ? placement === 'left'\n ? 'horizontal'\n : 'horizontal-reverse'\n : 'vertical'\n }\n >\n <Flexbox ref={contentRef} width={'100%'}>\n {error && (message === placeholderText || !message) ? (\n <ErrorContent error={error} message={errorMessage} placement={placement} />\n ) : (\n <MessageContent\n editing={editing}\n fontSize={fontSize}\n markdownProps={markdownProps}\n message={message}\n placement={placement}\n primary={primary}\n renderMessage={renderMessage}\n text={text}\n variant={variant}\n messageExtra={\n <>\n {error && (\n <ErrorContent error={error} message={errorMessage} placement={placement} />\n )}\n {messageExtra}\n </>\n }\n onChange={onChange}\n onDoubleClick={onDoubleClick}\n onEditingChange={onEditingChange}\n />\n )}\n </Flexbox>\n {actions && (\n <Actions\n actions={actions}\n editing={editing}\n placement={placement}\n variant={variant}\n />\n )}\n </Flexbox>\n {belowMessage}\n </Flexbox>\n {mobile && variant === 'bubble' && showAvatar && (\n <BorderSpacing borderSpacing={MOBILE_AVATAR_SIZE} />\n )}\n </Flexbox>\n );\n },\n);\n\nexport default ChatItem;\n\nexport type { ChatItemProps } from './type';\n"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,MAAM,qBAAqB;AAE3B,MAAM,WAAW,MACd,EACC,aACA,eACA,aACA,SACA,WACA,SACA,SACA,SACA,oBACA,YAAY,QACZ,UAAU,UACV,QACA,OACA,WACA,MACA,SACA,UACA,iBACA,cACA,eACA,MACA,cACA,eACA,UACA,cACA,cACA,eACA,mBAAmB,IACnB,aAAa,MACb,YACA,GAAG,WACC;CACJ,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,EAAE,MAAM,eAAeA,aAAa;CAE1C,MAAM,aAAa,SAAS,qBAAqB,aAAa,QAAQ;CACtE,MAAM,eAAe,eACZ,EACL,2BAA2B,GAAG,WAAW,KAC1C,GACD,CAAC,WAAW,CACb;CAED,MAAM,UAAU,QAAQ,KAAK;CAC7B,MAAM,kBAAkB,sBAAsB,EAAE,mBAAmB;CACnE,MAAM,YAAY,aAAa,OAAO,OAAO,SAAS,EAAE,cAAc;CAGtE,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,eAAe,OAAuB,KAAK;CACjD,MAAM,CAAC,YAAY,iBAAiB,SAClC,YAAY,WAAW,eAAe,WACvC;AAGD,iBAAgB;AACd,MAAI,YAAY,QAAQ;AACtB,iBAAc,WAAW;AACzB;;AAGF,MAAI,CAAC,WAAW,WAAW,CAAC,aAAa,QAAS;EAElD,MAAM,WAAW,IAAI,qBAAqB;AACxC,OAAI,CAAC,WAAW,WAAW,CAAC,aAAa,QAAS;GAElD,MAAM,iBAAiB,aAAa,QAAQ;GAC5C,MAAM,eAAe,WAAW,QAAQ;AAKxC,iBAAc,eAAe,mBAAmB,iBAAiB,aAAa,aAAa;IAC3F;AAEF,WAAS,QAAQ,WAAW,QAAQ;AACpC,WAAS,QAAQ,aAAa,QAAQ;AAEtC,eAAa,SAAS,YAAY;IACjC,CAAC,SAAS,iBAAiB,CAAC;CAE/B,MAAM,qBAAqB,GACzB,YAAY,SAAS,OAAO,gBAAgB,OAAO,WACnD,UACD;CAED,MAAM,4BAA4B,cAAc;AAC9C,MAAI,QACF,QAAO,UAAU,OAAO,kCAAkC,OAAO;AAEnE,SAAO,UAAU,OAAO,2BAA2B,OAAO;IACzD,CAAC,SAAS,QAAQ,CAAC;CAEtB,MAAM,0BAA0B,cAAc;AAC5C,SAAO,UAAU,OAAO,wBAAwB,OAAO;IACtD,CAAC,QAAQ,CAAC;AAEb,QACE,qBAACC;EACC,WAAW;EACX,WAAW,cAAc,SAAS,eAAe;EACjD,KAAK,SAAS,IAAI;EAClB,OAAO;EACP,GAAI;;GAEH,cACC,oBAACC;IACC,GAAI;IACJ,OAAO;IACP,KAAK;IACG;IACC;IACE;IACX,MAAM;IACN,OAAO;KACL,WAAW,YAAY,MAAM;KAC7B,GAAG,aAAa;KACjB;IACD,SAAS;KACT;GAEJ,qBAACD;IACC,OAAO,cAAc,SAAS,eAAe;IAC7C,WAAW;IACX,KAAK;;KAEL,oBAACE;MACS;MACG;MACA;MACL;MACM;OACZ;KACD;KACD,qBAACF;MACC,OAAO,cAAc,SAAS,eAAe;MAC7C,WAAW;MACX,eAAa;MACb,KAAK;MACL,WACE,eAAe,eACX,cAAc,SACZ,eACA,uBACF;iBAGN,oBAACA;OAAQ,KAAK;OAAY,OAAO;iBAC9B,UAAU,YAAY,mBAAmB,CAAC,WACzC,oBAACG;QAAoB;QAAO,SAAS;QAAyB;SAAa,GAE3E,oBAACC;QACU;QACC;QACK;QACN;QACE;QACF;QACM;QACT;QACG;QACT,cACE,8CACG,SACC,oBAACD;SAAoB;SAAO,SAAS;SAAyB;UAAa,EAE5E,gBACA;QAEK;QACK;QACE;SACjB;QAEI,EACT,WACC,oBAACE;OACU;OACA;OACE;OACF;QACT;OAEI;KACT;;KACO;GACT,UAAU,YAAY,YAAY,cACjC,oBAACC,yBAAc,eAAe,qBAAsB;;GAE9C;EAGf;AAED,uBAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.mjs","names":["Actions: FC<ActionsProps>","Flexbox"],"sources":["../../../../src/chat/ChatItem/components/Actions.tsx"],"sourcesContent":["import { cx } from 'antd-style';\nimport { type FC, type Ref, useMemo } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport { ChatItemProps } from '@/chat/ChatItem';\n\nimport { styles } from '../style';\n\nexport interface ActionsProps {\n actions: ChatItemProps['actions'];\n editing?: boolean;\n placement?: ChatItemProps['placement'];\n ref?: Ref<HTMLDivElement>;\n variant?: ChatItemProps['variant'];\n}\n\nconst Actions: FC<ActionsProps> = ({\n actions,\n placement = 'left',\n variant = 'bubble',\n editing,\n ref,\n}) => {\n const actionsClassName = useMemo(() => {\n if (variant === 'bubble') {\n return placement === 'left' ? styles.actionsBubbleLeft : styles.actionsBubbleRight;\n }\n return placement === 'left' ? styles.actionsDocsLeft : styles.actionsDocsRight;\n }, [placement, variant]);\n\n return (\n <Flexbox\n align={'flex-start'}\n className={cx(actionsClassName, editing && styles.actionsEditing)}\n ref={ref}\n role=\"menubar\"\n >\n {actions}\n </Flexbox>\n );\n};\n\nexport default Actions;\n"],"mappings":";;;;;;;AAgBA,MAAMA,WAA6B,EACjC,SACA,YAAY,QACZ,UAAU,UACV,SACA,UACI;AAQJ,QACE,oBAACC;EACC,OAAO;EACP,WAAW,GAVU,cAAc;AACrC,OAAI,YAAY,SACd,QAAO,cAAc,SAAS,OAAO,oBAAoB,OAAO;AAElE,UAAO,cAAc,SAAS,OAAO,kBAAkB,OAAO;KAC7D,CAAC,WAAW,QAAQ,CAAC,EAKY,WAAW,OAAO,eAAe;EAC5D;EACL,MAAK;YAEJ;GACO;;AAId,sBAAe"}
1
+ {"version":3,"file":"Actions.mjs","names":["Actions: FC<ActionsProps>","Flexbox"],"sources":["../../../../src/chat/ChatItem/components/Actions.tsx"],"sourcesContent":["import { cx } from 'antd-style';\nimport { type FC, type Ref, useMemo } from 'react';\n\nimport { type ChatItemProps } from '@/chat/ChatItem';\nimport { Flexbox } from '@/Flex';\n\nimport { styles } from '../style';\n\nexport interface ActionsProps {\n actions: ChatItemProps['actions'];\n editing?: boolean;\n placement?: ChatItemProps['placement'];\n ref?: Ref<HTMLDivElement>;\n variant?: ChatItemProps['variant'];\n}\n\nconst Actions: FC<ActionsProps> = ({\n actions,\n placement = 'left',\n variant = 'bubble',\n editing,\n ref,\n}) => {\n const actionsClassName = useMemo(() => {\n if (variant === 'bubble') {\n return placement === 'left' ? styles.actionsBubbleLeft : styles.actionsBubbleRight;\n }\n return placement === 'left' ? styles.actionsDocsLeft : styles.actionsDocsRight;\n }, [placement, variant]);\n\n return (\n <Flexbox\n align={'flex-start'}\n className={cx(actionsClassName, editing && styles.actionsEditing)}\n ref={ref}\n role=\"menubar\"\n >\n {actions}\n </Flexbox>\n );\n};\n\nexport default Actions;\n"],"mappings":";;;;;;;AAgBA,MAAMA,WAA6B,EACjC,SACA,YAAY,QACZ,UAAU,UACV,SACA,UACI;AAQJ,QACE,oBAACC;EACC,OAAO;EACP,WAAW,GAVU,cAAc;AACrC,OAAI,YAAY,SACd,QAAO,cAAc,SAAS,OAAO,oBAAoB,OAAO;AAElE,UAAO,cAAc,SAAS,OAAO,kBAAkB,OAAO;KAC7D,CAAC,WAAW,QAAQ,CAAC,EAKY,WAAW,OAAO,eAAe;EAC5D;EACL,MAAK;YAEJ;GACO;;AAId,sBAAe"}
@@ -19,10 +19,10 @@ const Avatar = ({ loading, avatar, placement, unoptimized, addon, onClick, size
19
19
  animation: loading,
20
20
  avatar: avatar.avatar,
21
21
  background: avatar.backgroundColor,
22
- onClick,
23
22
  size,
24
23
  title: avatar.title,
25
- unoptimized
24
+ unoptimized,
25
+ onClick
26
26
  }), /* @__PURE__ */ jsx(Loading_default, {
27
27
  loading,
28
28
  placement
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.mjs","names":["Avatar: FC<AvatarProps>","A","Loading","Flexbox"],"sources":["../../../../src/chat/ChatItem/components/Avatar.tsx"],"sourcesContent":["import { type CSSProperties, type FC, useMemo } from 'react';\n\nimport A from '@/Avatar';\nimport { Flexbox } from '@/Flex';\n\nimport { styles } from '../style';\nimport type { ChatItemProps } from '../type';\nimport Loading from './Loading';\n\nexport interface AvatarProps {\n addon?: ChatItemProps['avatarAddon'];\n alt?: string;\n avatar: ChatItemProps['avatar'];\n loading?: ChatItemProps['loading'];\n onClick?: ChatItemProps['onAvatarClick'];\n placement?: ChatItemProps['placement'];\n size?: number;\n style?: CSSProperties;\n unoptimized?: boolean;\n}\n\nconst Avatar: FC<AvatarProps> = ({\n loading,\n avatar,\n placement,\n unoptimized,\n addon,\n onClick,\n size = 40,\n style,\n alt,\n}) => {\n const cssVariables = useMemo<Record<string, string>>(\n () => ({\n '--chat-item-avatar-size': `${size}px`,\n }),\n [size],\n );\n\n const avatarContent = (\n <div className={styles.avatarContainer} style={{ ...cssVariables, ...style }}>\n <A\n alt={alt || avatar.title}\n animation={loading}\n avatar={avatar.avatar}\n background={avatar.backgroundColor}\n onClick={onClick}\n size={size}\n title={avatar.title}\n unoptimized={unoptimized}\n />\n <Loading loading={loading} placement={placement} />\n </div>\n );\n\n if (!addon) return avatarContent;\n return (\n <Flexbox align={'center'} className={styles.avatarGroupContainer} gap={8}>\n {avatarContent}\n {addon}\n </Flexbox>\n );\n};\n\nexport default Avatar;\n"],"mappings":";;;;;;;;AAqBA,MAAMA,UAA2B,EAC/B,SACA,QACA,WACA,aACA,OACA,SACA,OAAO,IACP,OACA,UACI;CACJ,MAAM,eAAe,eACZ,EACL,2BAA2B,GAAG,KAAK,KACpC,GACD,CAAC,KAAK,CACP;CAED,MAAM,gBACJ,qBAAC;EAAI,WAAW,OAAO;EAAiB,OAAO;GAAE,GAAG;GAAc,GAAG;GAAO;aAC1E,oBAACC;GACC,KAAK,OAAO,OAAO;GACnB,WAAW;GACX,QAAQ,OAAO;GACf,YAAY,OAAO;GACV;GACH;GACN,OAAO,OAAO;GACD;IACb,EACF,oBAACC;GAAiB;GAAoB;IAAa;GAC/C;AAGR,KAAI,CAAC,MAAO,QAAO;AACnB,QACE,qBAACC;EAAQ,OAAO;EAAU,WAAW,OAAO;EAAsB,KAAK;aACpE,eACA;GACO;;AAId,qBAAe"}
1
+ {"version":3,"file":"Avatar.mjs","names":["Avatar: FC<AvatarProps>","A","Loading","Flexbox"],"sources":["../../../../src/chat/ChatItem/components/Avatar.tsx"],"sourcesContent":["import { type CSSProperties, type FC, useMemo } from 'react';\n\nimport A from '@/Avatar';\nimport { Flexbox } from '@/Flex';\n\nimport { styles } from '../style';\nimport type { ChatItemProps } from '../type';\nimport Loading from './Loading';\n\nexport interface AvatarProps {\n addon?: ChatItemProps['avatarAddon'];\n alt?: string;\n avatar: ChatItemProps['avatar'];\n loading?: ChatItemProps['loading'];\n onClick?: ChatItemProps['onAvatarClick'];\n placement?: ChatItemProps['placement'];\n size?: number;\n style?: CSSProperties;\n unoptimized?: boolean;\n}\n\nconst Avatar: FC<AvatarProps> = ({\n loading,\n avatar,\n placement,\n unoptimized,\n addon,\n onClick,\n size = 40,\n style,\n alt,\n}) => {\n const cssVariables = useMemo<Record<string, string>>(\n () => ({\n '--chat-item-avatar-size': `${size}px`,\n }),\n [size],\n );\n\n const avatarContent = (\n <div className={styles.avatarContainer} style={{ ...cssVariables, ...style }}>\n <A\n alt={alt || avatar.title}\n animation={loading}\n avatar={avatar.avatar}\n background={avatar.backgroundColor}\n size={size}\n title={avatar.title}\n unoptimized={unoptimized}\n onClick={onClick}\n />\n <Loading loading={loading} placement={placement} />\n </div>\n );\n\n if (!addon) return avatarContent;\n return (\n <Flexbox align={'center'} className={styles.avatarGroupContainer} gap={8}>\n {avatarContent}\n {addon}\n </Flexbox>\n );\n};\n\nexport default Avatar;\n"],"mappings":";;;;;;;;AAqBA,MAAMA,UAA2B,EAC/B,SACA,QACA,WACA,aACA,OACA,SACA,OAAO,IACP,OACA,UACI;CACJ,MAAM,eAAe,eACZ,EACL,2BAA2B,GAAG,KAAK,KACpC,GACD,CAAC,KAAK,CACP;CAED,MAAM,gBACJ,qBAAC;EAAI,WAAW,OAAO;EAAiB,OAAO;GAAE,GAAG;GAAc,GAAG;GAAO;aAC1E,oBAACC;GACC,KAAK,OAAO,OAAO;GACnB,WAAW;GACX,QAAQ,OAAO;GACf,YAAY,OAAO;GACb;GACN,OAAO,OAAO;GACD;GACJ;IACT,EACF,oBAACC;GAAiB;GAAoB;IAAa;GAC/C;AAGR,KAAI,CAAC,MAAO,QAAO;AACnB,QACE,qBAACC;EAAQ,OAAO;EAAU,WAAW,OAAO;EAAsB,KAAK;aACpE,eACA;GACO;;AAId,qBAAe"}
@@ -8,9 +8,9 @@ const ErrorContent = ({ message, error }) => {
8
8
  return /* @__PURE__ */ jsx(FlexBasic_default, {
9
9
  className: styles.errorContainer,
10
10
  children: /* @__PURE__ */ jsx(Alert_default, {
11
+ showIcon: true,
11
12
  closable: false,
12
13
  extra: message,
13
- showIcon: true,
14
14
  type: "error",
15
15
  ...error
16
16
  })
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorContent.mjs","names":["ErrorContent: FC<ErrorContentProps>","Flexbox","Alert"],"sources":["../../../../src/chat/ChatItem/components/ErrorContent.tsx"],"sourcesContent":["import { type FC } from 'react';\n\nimport Alert from '@/Alert';\nimport { Flexbox } from '@/Flex';\nimport { ChatItemProps } from '@/chat/ChatItem';\n\nimport { styles } from '../style';\n\nexport interface ErrorContentProps {\n error?: ChatItemProps['error'];\n message?: ChatItemProps['errorMessage'];\n placement?: ChatItemProps['placement'];\n}\n\nconst ErrorContent: FC<ErrorContentProps> = ({ message, error }) => {\n return (\n <Flexbox className={styles.errorContainer}>\n <Alert closable={false} extra={message} showIcon type={'error'} {...error} />\n </Flexbox>\n );\n};\n\nexport default ErrorContent;\n"],"mappings":";;;;;;AAcA,MAAMA,gBAAuC,EAAE,SAAS,YAAY;AAClE,QACE,oBAACC;EAAQ,WAAW,OAAO;YACzB,oBAACC;GAAM,UAAU;GAAO,OAAO;GAAS;GAAS,MAAM;GAAS,GAAI;IAAS;GACrE;;AAId,2BAAe"}
1
+ {"version":3,"file":"ErrorContent.mjs","names":["ErrorContent: FC<ErrorContentProps>","Flexbox","Alert"],"sources":["../../../../src/chat/ChatItem/components/ErrorContent.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport Alert from '@/Alert';\nimport { type ChatItemProps } from '@/chat/ChatItem';\nimport { Flexbox } from '@/Flex';\n\nimport { styles } from '../style';\n\nexport interface ErrorContentProps {\n error?: ChatItemProps['error'];\n message?: ChatItemProps['errorMessage'];\n placement?: ChatItemProps['placement'];\n}\n\nconst ErrorContent: FC<ErrorContentProps> = ({ message, error }) => {\n return (\n <Flexbox className={styles.errorContainer}>\n <Alert showIcon closable={false} extra={message} type={'error'} {...error} />\n </Flexbox>\n );\n};\n\nexport default ErrorContent;\n"],"mappings":";;;;;;AAcA,MAAMA,gBAAuC,EAAE,SAAS,YAAY;AAClE,QACE,oBAACC;EAAQ,WAAW,OAAO;YACzB,oBAACC;GAAM;GAAS,UAAU;GAAO,OAAO;GAAS,MAAM;GAAS,GAAI;IAAS;GACrE;;AAId,2BAAe"}
@@ -12,12 +12,12 @@ const Loading = ({ loading, placement = "left" }) => {
12
12
  className: placement === "left" ? styles.loadingLeft : styles.loadingRight,
13
13
  justify: "center",
14
14
  children: /* @__PURE__ */ jsx(Icon_default, {
15
+ spin: true,
15
16
  icon: Loader2,
16
17
  size: {
17
18
  size: 12,
18
19
  strokeWidth: 3
19
- },
20
- spin: true
20
+ }
21
21
  })
22
22
  });
23
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Loading.mjs","names":["Loading: FC<LoadingProps>","Flexbox","Icon"],"sources":["../../../../src/chat/ChatItem/components/Loading.tsx"],"sourcesContent":["import { Loader2 } from 'lucide-react';\nimport { type FC } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\nimport { ChatItemProps } from '@/chat/ChatItem';\n\nimport { styles } from '../style';\n\nexport interface LoadingProps {\n loading?: ChatItemProps['loading'];\n placement?: ChatItemProps['placement'];\n}\n\nconst Loading: FC<LoadingProps> = ({ loading, placement = 'left' }) => {\n if (!loading) return null;\n\n return (\n <Flexbox\n align={'center'}\n className={placement === 'left' ? styles.loadingLeft : styles.loadingRight}\n justify={'center'}\n >\n <Icon icon={Loader2} size={{ size: 12, strokeWidth: 3 }} spin />\n </Flexbox>\n );\n};\n\nexport default Loading;\n"],"mappings":";;;;;;;AAcA,MAAMA,WAA6B,EAAE,SAAS,YAAY,aAAa;AACrE,KAAI,CAAC,QAAS,QAAO;AAErB,QACE,oBAACC;EACC,OAAO;EACP,WAAW,cAAc,SAAS,OAAO,cAAc,OAAO;EAC9D,SAAS;YAET,oBAACC;GAAK,MAAM;GAAS,MAAM;IAAE,MAAM;IAAI,aAAa;IAAG;GAAE;IAAO;GACxD;;AAId,sBAAe"}
1
+ {"version":3,"file":"Loading.mjs","names":["Loading: FC<LoadingProps>","Flexbox","Icon"],"sources":["../../../../src/chat/ChatItem/components/Loading.tsx"],"sourcesContent":["import { Loader2 } from 'lucide-react';\nimport type { FC } from 'react';\n\nimport { type ChatItemProps } from '@/chat/ChatItem';\nimport { Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\n\nimport { styles } from '../style';\n\nexport interface LoadingProps {\n loading?: ChatItemProps['loading'];\n placement?: ChatItemProps['placement'];\n}\n\nconst Loading: FC<LoadingProps> = ({ loading, placement = 'left' }) => {\n if (!loading) return null;\n\n return (\n <Flexbox\n align={'center'}\n className={placement === 'left' ? styles.loadingLeft : styles.loadingRight}\n justify={'center'}\n >\n <Icon spin icon={Loader2} size={{ size: 12, strokeWidth: 3 }} />\n </Flexbox>\n );\n};\n\nexport default Loading;\n"],"mappings":";;;;;;;AAcA,MAAMA,WAA6B,EAAE,SAAS,YAAY,aAAa;AACrE,KAAI,CAAC,QAAS,QAAO;AAErB,QACE,oBAACC;EACC,OAAO;EACP,WAAW,cAAc,SAAS,OAAO,cAAc,OAAO;EAC9D,SAAS;YAET,oBAACC;GAAK;GAAK,MAAM;GAAS,MAAM;IAAE,MAAM;IAAI,aAAa;IAAG;IAAI;GACxD;;AAId,sBAAe"}