@lobehub/ui 4.33.3 → 4.33.4

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 (167) hide show
  1. package/es/Accordion/Accordion.d.mts +2 -2
  2. package/es/Accordion/Accordion.mjs +2 -2
  3. package/es/Accordion/Accordion.mjs.map +1 -1
  4. package/es/Accordion/AccordionItem.d.mts +2 -2
  5. package/es/Accordion/AccordionItem.mjs +2 -2
  6. package/es/Accordion/AccordionItem.mjs.map +1 -1
  7. package/es/ActionIcon/ActionIcon.d.mts +2 -2
  8. package/es/Alert/Alert.d.mts +2 -2
  9. package/es/AutoComplete/Select.d.mts +2 -2
  10. package/es/Avatar/AvatarGroup/index.d.mts +2 -2
  11. package/es/Burger/Burger.d.mts +2 -2
  12. package/es/Checkbox/Checkbox.mjs +2 -2
  13. package/es/Checkbox/Checkbox.mjs.map +1 -1
  14. package/es/Checkbox/CheckboxGroup.mjs +2 -2
  15. package/es/Checkbox/CheckboxGroup.mjs.map +1 -1
  16. package/es/CodeDiff/CodeDiff.d.mts +2 -2
  17. package/es/CodeDiff/PatchDiff.d.mts +2 -2
  18. package/es/CodeEditor/CodeEditor.d.mts +2 -2
  19. package/es/CodeEditor/CodeEditor.mjs +2 -2
  20. package/es/CodeEditor/CodeEditor.mjs.map +1 -1
  21. package/es/Collapse/Collapse.d.mts +2 -2
  22. package/es/ColorSwatches/ColorSwatches.mjs +2 -2
  23. package/es/ColorSwatches/ColorSwatches.mjs.map +1 -1
  24. package/es/ConfigProvider/index.d.mts +2 -2
  25. package/es/ContextMenu/ContextMenuHost.d.mts +2 -2
  26. package/es/CopyButton/CopyButton.d.mts +2 -2
  27. package/es/DatePicker/DatePicker.d.mts +2 -2
  28. package/es/DraggablePanel/DraggablePanel.mjs +2 -2
  29. package/es/DraggablePanel/DraggablePanel.mjs.map +1 -1
  30. package/es/DraggablePanel/components/DraggablePanelBody.d.mts +2 -2
  31. package/es/DraggablePanel/components/DraggablePanelContainer.d.mts +2 -2
  32. package/es/DraggablePanel/components/DraggablePanelFooter.d.mts +2 -2
  33. package/es/DraggablePanel/components/DraggablePanelHeader.d.mts +2 -2
  34. package/es/DraggablePanel/components/DraggablePanelHeader.mjs +2 -2
  35. package/es/DraggablePanel/components/DraggablePanelHeader.mjs.map +1 -1
  36. package/es/DraggableSideNav/DraggableSideNav.d.mts +2 -2
  37. package/es/DraggableSideNav/DraggableSideNav.mjs +2 -2
  38. package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
  39. package/es/Drawer/Drawer.d.mts +2 -2
  40. package/es/DropdownMenu/DropdownMenu.d.mts +2 -2
  41. package/es/DropdownMenu/atoms.d.mts +16 -16
  42. package/es/EditableText/EditableText.d.mts +2 -2
  43. package/es/EditableText/EditableText.mjs +2 -2
  44. package/es/EditableText/EditableText.mjs.map +1 -1
  45. package/es/EditorSlashMenu/atoms.d.mts +12 -12
  46. package/es/EmojiPicker/EmojiPicker.d.mts +2 -2
  47. package/es/EmojiPicker/EmojiPicker.mjs +3 -3
  48. package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
  49. package/es/Flex/FlexBasic.d.mts +2 -2
  50. package/es/FontLoader/index.d.mts +2 -2
  51. package/es/Footer/Footer.d.mts +2 -2
  52. package/es/Form/components/FormGroup.d.mts +2 -2
  53. package/es/Form/components/FormItem.d.mts +2 -2
  54. package/es/Form/components/FormSubmitFooter.d.mts +2 -2
  55. package/es/FormModal/FormModal.d.mts +2 -2
  56. package/es/GuideCard/GuideCard.d.mts +2 -2
  57. package/es/Header/Header.d.mts +2 -2
  58. package/es/Highlighter/Highlighter.d.mts +2 -2
  59. package/es/Highlighter/SyntaxHighlighter/index.d.mts +2 -2
  60. package/es/Hotkey/Hotkey.d.mts +2 -2
  61. package/es/HotkeyInput/HotkeyInput.d.mts +2 -2
  62. package/es/HotkeyInput/HotkeyInput.mjs +2 -2
  63. package/es/HotkeyInput/HotkeyInput.mjs.map +1 -1
  64. package/es/Icon/Icon.d.mts +2 -2
  65. package/es/Icon/components/IconProvider.d.mts +3 -3
  66. package/es/Image/PreviewGroup.d.mts +2 -2
  67. package/es/ImageSelect/ImageSelect.d.mts +2 -2
  68. package/es/ImageSelect/ImageSelect.mjs +2 -2
  69. package/es/ImageSelect/ImageSelect.mjs.map +1 -1
  70. package/es/Input/Input.d.mts +2 -2
  71. package/es/Input/InputPassword.d.mts +2 -2
  72. package/es/Input/TextArea.d.mts +2 -2
  73. package/es/Layout/components/LayoutFooter.d.mts +2 -2
  74. package/es/Layout/components/LayoutHeader.d.mts +2 -2
  75. package/es/Layout/components/LayoutMain.d.mts +2 -2
  76. package/es/Layout/components/LayoutSidebar.d.mts +2 -2
  77. package/es/Layout/components/LayoutSidebarInner.d.mts +2 -2
  78. package/es/Layout/components/LayoutToc.d.mts +2 -2
  79. package/es/List/ListItem/index.d.mts +2 -2
  80. package/es/LobeSelect/LobeSelect.d.mts +2 -2
  81. package/es/LobeSelect/atoms.d.mts +19 -19
  82. package/es/LobeSwitch/LobeSwitch.d.mts +2 -2
  83. package/es/LobeSwitch/atoms.d.mts +4 -4
  84. package/es/LobeSwitch/atoms.mjs +2 -2
  85. package/es/LobeSwitch/atoms.mjs.map +1 -1
  86. package/es/Markdown/Markdown.d.mts +2 -2
  87. package/es/Markdown/Typography.d.mts +2 -2
  88. package/es/Markdown/components/SearchResultCards/index.d.mts +2 -2
  89. package/es/MaskShadow/MaskShadow.d.mts +2 -2
  90. package/es/Menu/Menu.d.mts +2 -2
  91. package/es/Mermaid/Mermaid.d.mts +2 -2
  92. package/es/Mermaid/SyntaxMermaid/index.d.mts +2 -2
  93. package/es/Modal/Modal.d.mts +2 -2
  94. package/es/Modal/ModalProvider.d.mts +2 -2
  95. package/es/Modal/imperative.d.mts +2 -2
  96. package/es/MotionProvider/index.d.mts +2 -2
  97. package/es/Popover/ArrowIcon.d.mts +2 -2
  98. package/es/Popover/atoms.d.mts +9 -9
  99. package/es/Popover/context.d.mts +2 -2
  100. package/es/ScrollArea/atoms.d.mts +7 -7
  101. package/es/SearchBar/SearchBar.d.mts +2 -2
  102. package/es/SearchBar/SearchBar.mjs +2 -2
  103. package/es/SearchBar/SearchBar.mjs.map +1 -1
  104. package/es/Segmented/Segmented.d.mts +2 -2
  105. package/es/Select/Select.d.mts +2 -2
  106. package/es/SideNav/SideNav.d.mts +2 -2
  107. package/es/SliderWithInput/SliderWithInput.d.mts +2 -2
  108. package/es/SortableList/components/DragHandle.d.mts +2 -2
  109. package/es/SortableList/components/SortableItem.d.mts +2 -2
  110. package/es/Text/Text.mjs +17 -3
  111. package/es/Text/Text.mjs.map +1 -1
  112. package/es/Text/type.d.mts +18 -1
  113. package/es/ThemeProvider/ThemeProvider.d.mts +2 -2
  114. package/es/Toast/imperative.d.mts +3 -3
  115. package/es/Toc/Toc.d.mts +2 -2
  116. package/es/Toc/TocMobile.mjs +2 -2
  117. package/es/Toc/TocMobile.mjs.map +1 -1
  118. package/es/Video/index.d.mts +2 -2
  119. package/es/awesome/AuroraBackground/AuroraBackground.d.mts +2 -2
  120. package/es/awesome/BottomGradientButton/BottomGradientButton.d.mts +2 -2
  121. package/es/awesome/Features/Features.d.mts +2 -2
  122. package/es/awesome/Giscus/Giscus.d.mts +2 -2
  123. package/es/awesome/GradientButton/GradientButton.d.mts +2 -2
  124. package/es/awesome/GridBackground/GridBackground.d.mts +2 -2
  125. package/es/awesome/GridBackground/GridShowcase.d.mts +2 -2
  126. package/es/awesome/Hero/Hero.d.mts +2 -2
  127. package/es/awesome/Spline/Spine.d.mts +2 -2
  128. package/es/awesome/Spotlight/Spotlight.d.mts +2 -2
  129. package/es/awesome/SpotlightCard/SpotlightCard.d.mts +2 -2
  130. package/es/brand/LobeChat/index.d.mts +2 -2
  131. package/es/brand/LobeHub/index.d.mts +2 -2
  132. package/es/brand/LogoThree/LogoSpline.d.mts +2 -2
  133. package/es/brand/LogoThree/index.d.mts +2 -2
  134. package/es/chat/ChatInputArea/components/ChatInputAreaInner.d.mts +2 -2
  135. package/es/chat/EditableMessage/EditableMessage.d.mts +2 -2
  136. package/es/chat/EditableMessage/EditableMessage.mjs +3 -3
  137. package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
  138. package/es/chat/EditableMessageList/EditableMessageList.d.mts +2 -2
  139. package/es/chat/MessageInput/MessageInput.d.mts +2 -2
  140. package/es/chat/MessageModal/MessageModal.d.mts +2 -2
  141. package/es/chat/MessageModal/MessageModal.mjs +3 -3
  142. package/es/chat/MessageModal/MessageModal.mjs.map +1 -1
  143. package/es/color/ColorScales/index.d.mts +2 -2
  144. package/es/color/CssVar/index.d.mts +2 -2
  145. package/es/i18n/context.d.mts +2 -2
  146. package/es/icons/lucideExtra/BotPromptIcon.d.mts +2 -2
  147. package/es/icons/lucideExtra/CreateBotIcon.d.mts +2 -2
  148. package/es/icons/lucideExtra/DiscordIcon.d.mts +2 -2
  149. package/es/icons/lucideExtra/GlobeOffIcon.d.mts +3 -3
  150. package/es/icons/lucideExtra/GroupBotIcon.d.mts +2 -2
  151. package/es/icons/lucideExtra/GroupBotSquareIcon.d.mts +3 -3
  152. package/es/icons/lucideExtra/LeftClickIcon.d.mts +3 -3
  153. package/es/icons/lucideExtra/LeftDoubleClickIcon.d.mts +3 -3
  154. package/es/icons/lucideExtra/McpIcon.d.mts +3 -3
  155. package/es/icons/lucideExtra/ProviderIcon.d.mts +3 -3
  156. package/es/icons/lucideExtra/RightClickIcon.d.mts +3 -3
  157. package/es/icons/lucideExtra/RightDoubleClickIcon.d.mts +3 -3
  158. package/es/icons/lucideExtra/ShapesUploadIcon.d.mts +3 -3
  159. package/es/icons/lucideExtra/TreeDownRightIcon.d.mts +3 -3
  160. package/es/icons/lucideExtra/TreeUpDownRightIcon.d.mts +3 -3
  161. package/es/mdx/Mdx/index.d.mts +2 -2
  162. package/es/mobile/ChatHeader/ChatHeaderTitle.d.mts +2 -2
  163. package/es/mobile/TabBar/TabBar.d.mts +2 -2
  164. package/es/mobile/TabBar/TabBar.mjs +2 -2
  165. package/es/mobile/TabBar/TabBar.mjs.map +1 -1
  166. package/es/storybook/StoryBook/index.d.mts +2 -2
  167. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SearchBar.mjs","names":["inputReference: any","Spotlight","Input","Icon","Hotkey"],"sources":["../../src/SearchBar/SearchBar.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { LucideLoader2, Search } from 'lucide-react';\nimport { memo, useMemo, useRef, useState } from 'react';\nimport { useHotkeys } from 'react-hotkeys-hook';\nimport useControlledState from 'use-merge-value';\n\nimport Hotkey from '@/Hotkey';\nimport Icon from '@/Icon';\nimport Input from '@/Input';\nimport Spotlight from '@/awesome/Spotlight';\n\nimport { styles } from './style';\nimport type { SearchBarProps } from './type';\n\nconst SearchBar = memo<SearchBarProps>(\n ({\n defaultValue = '',\n spotlight,\n className,\n value,\n onInputChange,\n placeholder,\n enableShortKey,\n shortKey = 'mod+k',\n onSearch,\n loading,\n style,\n onChange,\n onBlur,\n onPressEnter,\n onFocus,\n styles: { input: inputStyle, shortKey: shortKeyStyle } = {},\n classNames: { input: inputClassName, shortKey: shortKeyClassName } = {},\n ...rest\n }) => {\n const [inputValue, setInputValue] = useControlledState(defaultValue, {\n defaultValue,\n onChange: onInputChange,\n value,\n });\n\n const [showTag, setShowTag] = useState<boolean>(true);\n const inputReference: any = useRef<HTMLInputElement>(null);\n const hotkey = useMemo(\n () => (shortKey.includes('+') ? shortKey : `mod+${shortKey}`),\n [shortKey],\n );\n\n useHotkeys(\n hotkey,\n () => {\n if (!enableShortKey) return;\n inputReference.current?.focus();\n },\n {\n enableOnFormTags: true,\n enabled: !!enableShortKey && !!shortKey,\n preventDefault: true,\n },\n );\n\n return (\n <div className={cx(styles.search, className)} style={style}>\n {spotlight && <Spotlight />}\n <Input\n allowClear\n className={inputClassName}\n onBlur={(e) => {\n onBlur?.(e);\n setInputValue(e.target.value);\n setShowTag(true);\n }}\n onChange={(e) => {\n setInputValue(e.target.value);\n onChange?.(e);\n }}\n onFocus={(e) => {\n onFocus?.(e);\n setShowTag(false);\n }}\n onPressEnter={(e) => {\n onPressEnter?.(e);\n onSearch?.(inputValue);\n }}\n placeholder={placeholder ?? 'Type keywords...'}\n prefix={\n <Icon\n className={styles.icon}\n icon={loading ? LucideLoader2 : Search}\n size=\"small\"\n spin={loading}\n style={{ marginRight: 4 }}\n />\n }\n ref={inputReference}\n style={inputStyle}\n value={inputValue}\n {...rest}\n />\n {enableShortKey && showTag && !inputValue && (\n <Hotkey\n className={cx(styles.tag, shortKeyClassName)}\n compact\n keys={hotkey}\n style={shortKeyStyle}\n />\n )}\n </div>\n );\n },\n);\n\nSearchBar.displayName = 'SearchBar';\n\nexport default SearchBar;\n"],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAM,YAAY,MACf,EACC,eAAe,IACf,WACA,WACA,OACA,eACA,aACA,gBACA,WAAW,SACX,UACA,SACA,OACA,UACA,QACA,cACA,SACA,QAAQ,EAAE,OAAO,YAAY,UAAU,kBAAkB,EAAE,EAC3D,YAAY,EAAE,OAAO,gBAAgB,UAAU,sBAAsB,EAAE,EACvE,GAAG,WACC;CACJ,MAAM,CAAC,YAAY,iBAAiB,mBAAmB,cAAc;EACnE;EACA,UAAU;EACV;EACD,CAAC;CAEF,MAAM,CAAC,SAAS,cAAc,SAAkB,KAAK;CACrD,MAAMA,iBAAsB,OAAyB,KAAK;CAC1D,MAAM,SAAS,cACN,SAAS,SAAS,IAAI,GAAG,WAAW,OAAO,YAClD,CAAC,SAAS,CACX;AAED,YACE,cACM;AACJ,MAAI,CAAC,eAAgB;AACrB,iBAAe,SAAS,OAAO;IAEjC;EACE,kBAAkB;EAClB,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;EAC/B,gBAAgB;EACjB,CACF;AAED,QACE,qBAAC;EAAI,WAAW,GAAG,OAAO,QAAQ,UAAU;EAAS;;GAClD,aAAa,oBAACC,sBAAY;GAC3B,oBAACC;IACC;IACA,WAAW;IACX,SAAS,MAAM;AACb,cAAS,EAAE;AACX,mBAAc,EAAE,OAAO,MAAM;AAC7B,gBAAW,KAAK;;IAElB,WAAW,MAAM;AACf,mBAAc,EAAE,OAAO,MAAM;AAC7B,gBAAW,EAAE;;IAEf,UAAU,MAAM;AACd,eAAU,EAAE;AACZ,gBAAW,MAAM;;IAEnB,eAAe,MAAM;AACnB,oBAAe,EAAE;AACjB,gBAAW,WAAW;;IAExB,aAAa,eAAe;IAC5B,QACE,oBAACC;KACC,WAAW,OAAO;KAClB,MAAM,UAAU,gBAAgB;KAChC,MAAK;KACL,MAAM;KACN,OAAO,EAAE,aAAa,GAAG;MACzB;IAEJ,KAAK;IACL,OAAO;IACP,OAAO;IACP,GAAI;KACJ;GACD,kBAAkB,WAAW,CAAC,cAC7B,oBAACC;IACC,WAAW,GAAG,OAAO,KAAK,kBAAkB;IAC5C;IACA,MAAM;IACN,OAAO;KACP;;GAEA;EAGX;AAED,UAAU,cAAc;AAExB,wBAAe"}
1
+ {"version":3,"file":"SearchBar.mjs","names":["useControlledState","inputReference: any","Spotlight","Input","Icon","Hotkey"],"sources":["../../src/SearchBar/SearchBar.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { LucideLoader2, Search } from 'lucide-react';\nimport { memo, useMemo, useRef, useState } from 'react';\nimport { useHotkeys } from 'react-hotkeys-hook';\nimport useControlledState from 'use-merge-value';\n\nimport Hotkey from '@/Hotkey';\nimport Icon from '@/Icon';\nimport Input from '@/Input';\nimport Spotlight from '@/awesome/Spotlight';\n\nimport { styles } from './style';\nimport type { SearchBarProps } from './type';\n\nconst SearchBar = memo<SearchBarProps>(\n ({\n defaultValue = '',\n spotlight,\n className,\n value,\n onInputChange,\n placeholder,\n enableShortKey,\n shortKey = 'mod+k',\n onSearch,\n loading,\n style,\n onChange,\n onBlur,\n onPressEnter,\n onFocus,\n styles: { input: inputStyle, shortKey: shortKeyStyle } = {},\n classNames: { input: inputClassName, shortKey: shortKeyClassName } = {},\n ...rest\n }) => {\n const [inputValue, setInputValue] = useControlledState(defaultValue, {\n defaultValue,\n onChange: onInputChange,\n value,\n });\n\n const [showTag, setShowTag] = useState<boolean>(true);\n const inputReference: any = useRef<HTMLInputElement>(null);\n const hotkey = useMemo(\n () => (shortKey.includes('+') ? shortKey : `mod+${shortKey}`),\n [shortKey],\n );\n\n useHotkeys(\n hotkey,\n () => {\n if (!enableShortKey) return;\n inputReference.current?.focus();\n },\n {\n enableOnFormTags: true,\n enabled: !!enableShortKey && !!shortKey,\n preventDefault: true,\n },\n );\n\n return (\n <div className={cx(styles.search, className)} style={style}>\n {spotlight && <Spotlight />}\n <Input\n allowClear\n className={inputClassName}\n onBlur={(e) => {\n onBlur?.(e);\n setInputValue(e.target.value);\n setShowTag(true);\n }}\n onChange={(e) => {\n setInputValue(e.target.value);\n onChange?.(e);\n }}\n onFocus={(e) => {\n onFocus?.(e);\n setShowTag(false);\n }}\n onPressEnter={(e) => {\n onPressEnter?.(e);\n onSearch?.(inputValue);\n }}\n placeholder={placeholder ?? 'Type keywords...'}\n prefix={\n <Icon\n className={styles.icon}\n icon={loading ? LucideLoader2 : Search}\n size=\"small\"\n spin={loading}\n style={{ marginRight: 4 }}\n />\n }\n ref={inputReference}\n style={inputStyle}\n value={inputValue}\n {...rest}\n />\n {enableShortKey && showTag && !inputValue && (\n <Hotkey\n className={cx(styles.tag, shortKeyClassName)}\n compact\n keys={hotkey}\n style={shortKeyStyle}\n />\n )}\n </div>\n );\n },\n);\n\nSearchBar.displayName = 'SearchBar';\n\nexport default SearchBar;\n"],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAM,YAAY,MACf,EACC,eAAe,IACf,WACA,WACA,OACA,eACA,aACA,gBACA,WAAW,SACX,UACA,SACA,OACA,UACA,QACA,cACA,SACA,QAAQ,EAAE,OAAO,YAAY,UAAU,kBAAkB,EAAE,EAC3D,YAAY,EAAE,OAAO,gBAAgB,UAAU,sBAAsB,EAAE,EACvE,GAAG,WACC;CACJ,MAAM,CAAC,YAAY,iBAAiBA,cAAmB,cAAc;EACnE;EACA,UAAU;EACV;EACD,CAAC;CAEF,MAAM,CAAC,SAAS,cAAc,SAAkB,KAAK;CACrD,MAAMC,iBAAsB,OAAyB,KAAK;CAC1D,MAAM,SAAS,cACN,SAAS,SAAS,IAAI,GAAG,WAAW,OAAO,YAClD,CAAC,SAAS,CACX;AAED,YACE,cACM;AACJ,MAAI,CAAC,eAAgB;AACrB,iBAAe,SAAS,OAAO;IAEjC;EACE,kBAAkB;EAClB,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;EAC/B,gBAAgB;EACjB,CACF;AAED,QACE,qBAAC;EAAI,WAAW,GAAG,OAAO,QAAQ,UAAU;EAAS;;GAClD,aAAa,oBAACC,sBAAY;GAC3B,oBAACC;IACC;IACA,WAAW;IACX,SAAS,MAAM;AACb,cAAS,EAAE;AACX,mBAAc,EAAE,OAAO,MAAM;AAC7B,gBAAW,KAAK;;IAElB,WAAW,MAAM;AACf,mBAAc,EAAE,OAAO,MAAM;AAC7B,gBAAW,EAAE;;IAEf,UAAU,MAAM;AACd,eAAU,EAAE;AACZ,gBAAW,MAAM;;IAEnB,eAAe,MAAM;AACnB,oBAAe,EAAE;AACjB,gBAAW,WAAW;;IAExB,aAAa,eAAe;IAC5B,QACE,oBAACC;KACC,WAAW,OAAO;KAClB,MAAM,UAAU,gBAAgB;KAChC,MAAK;KACL,MAAM;KACN,OAAO,EAAE,aAAa,GAAG;MACzB;IAEJ,KAAK;IACL,OAAO;IACP,OAAO;IACP,GAAI;KACJ;GACD,kBAAkB,WAAW,CAAC,cAC7B,oBAACC;IACC,WAAW,GAAG,OAAO,KAAK,kBAAkB;IAC5C;IACA,MAAM;IACN,OAAO;KACP;;GAEA;EAGX;AAED,UAAU,cAAc;AAExB,wBAAe"}
@@ -1,8 +1,8 @@
1
1
  import { SegmentedProps } from "./type.mjs";
2
- import * as react26 from "react";
2
+ import * as react50 from "react";
3
3
 
4
4
  //#region src/Segmented/Segmented.d.ts
5
- declare const Segmented: react26.NamedExoticComponent<SegmentedProps>;
5
+ declare const Segmented: react50.NamedExoticComponent<SegmentedProps>;
6
6
  //#endregion
7
7
  export { Segmented };
8
8
  //# sourceMappingURL=Segmented.d.mts.map
@@ -1,11 +1,11 @@
1
1
  import { SelectProps } from "./type.mjs";
2
- import * as react25 from "react";
2
+ import * as react74 from "react";
3
3
 
4
4
  //#region src/Select/Select.d.ts
5
5
  /**
6
6
  * @deprecated Use `LobeSelect` instead.
7
7
  */
8
- declare const Select: react25.NamedExoticComponent<SelectProps>;
8
+ declare const Select: react74.NamedExoticComponent<SelectProps>;
9
9
  //#endregion
10
10
  export { Select };
11
11
  //# sourceMappingURL=Select.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { SideNavProps } from "./type.mjs";
2
- import * as react24 from "react";
2
+ import * as react43 from "react";
3
3
 
4
4
  //#region src/SideNav/SideNav.d.ts
5
- declare const SideNav: react24.NamedExoticComponent<SideNavProps>;
5
+ declare const SideNav: react43.NamedExoticComponent<SideNavProps>;
6
6
  //#endregion
7
7
  export { SideNav };
8
8
  //# sourceMappingURL=SideNav.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { SliderWithInputProps } from "./type.mjs";
2
- import * as react23 from "react";
2
+ import * as react44 from "react";
3
3
 
4
4
  //#region src/SliderWithInput/SliderWithInput.d.ts
5
- declare const SliderWithInput: react23.NamedExoticComponent<SliderWithInputProps>;
5
+ declare const SliderWithInput: react44.NamedExoticComponent<SliderWithInputProps>;
6
6
  //#endregion
7
7
  export { SliderWithInput };
8
8
  //# sourceMappingURL=SliderWithInput.d.mts.map
@@ -1,9 +1,9 @@
1
1
  import { ActionIconProps } from "../../ActionIcon/type.mjs";
2
2
  import "../../ActionIcon/index.mjs";
3
- import * as react120 from "react";
3
+ import * as react121 from "react";
4
4
 
5
5
  //#region src/SortableList/components/DragHandle.d.ts
6
- declare const DragHandle: react120.NamedExoticComponent<ActionIconProps>;
6
+ declare const DragHandle: react121.NamedExoticComponent<ActionIconProps>;
7
7
  //#endregion
8
8
  export { DragHandle };
9
9
  //# sourceMappingURL=DragHandle.d.mts.map
@@ -1,6 +1,6 @@
1
1
  import { FlexboxProps } from "../../Flex/type.mjs";
2
2
  import "../../Flex/index.mjs";
3
- import * as react118 from "react";
3
+ import * as react119 from "react";
4
4
  import "@dnd-kit/core";
5
5
 
6
6
  //#region src/SortableList/components/SortableItem.d.ts
@@ -9,7 +9,7 @@ interface SortableItemProps extends Omit<FlexboxProps, 'id'> {
9
9
  id: string | number;
10
10
  variant?: 'borderless' | 'filled' | 'outlined';
11
11
  }
12
- declare const SortableItem: react118.NamedExoticComponent<SortableItemProps>;
12
+ declare const SortableItem: react119.NamedExoticComponent<SortableItemProps>;
13
13
  //#endregion
14
14
  export { SortableItem };
15
15
  //# sourceMappingURL=SortableItem.d.mts.map
package/es/Text/Text.mjs CHANGED
@@ -8,16 +8,30 @@ import { jsx } from "react/jsx-runtime";
8
8
  import { cx } from "antd-style";
9
9
 
10
10
  //#region src/Text/Text.tsx
11
- const Text = ({ as: Container = "div", align, className, children, style, type, disabled, strong, italic, underline, delete: deleteStyle, fontSize, mark, code, color, weight, ellipsis, ...rest }) => {
11
+ const Text = ({ as: Container = "div", align, className, children, style, type, disabled, strong, italic, underline, delete: deleteStyle, fontSize, lineClamp, lineHeight, mark, code, color, weight, ellipsis, noWrap, textDecoration, textTransform, whiteSpace, wordBreak, ...rest }) => {
12
12
  const textRef = useRef(null);
13
13
  const isOverflow = useTextOverflow(textRef, ellipsis, children);
14
+ const isMultiEllipsis = typeof ellipsis === "object" && !!ellipsis.rows && ellipsis.rows > 1;
14
15
  const tooltipWhenOverflow = typeof ellipsis === "object" && ellipsis.tooltipWhenOverflow;
15
16
  const textStyle = {
16
17
  ...color && { color },
17
18
  ...weight && { fontWeight: weight },
19
+ ...lineHeight && { lineHeight },
20
+ ...textTransform && { textTransform },
21
+ ...textDecoration && { textDecoration },
22
+ ...wordBreak && { wordBreak },
18
23
  ...typeof ellipsis === "object" && ellipsis.rows && { WebkitLineClamp: ellipsis.rows },
24
+ ...!ellipsis && !!lineClamp && {
25
+ WebkitBoxOrient: "vertical",
26
+ WebkitLineClamp: lineClamp,
27
+ display: "-webkit-box",
28
+ overflow: "hidden",
29
+ textOverflow: "ellipsis"
30
+ },
19
31
  ...fontSize && { fontSize },
20
32
  ...align && { textAlign: align },
33
+ ...!isMultiEllipsis && noWrap && { whiteSpace: "nowrap" },
34
+ ...whiteSpace && { whiteSpace },
21
35
  ...style
22
36
  };
23
37
  const content = /* @__PURE__ */ jsx(Container, {
@@ -45,10 +59,10 @@ const Text = ({ as: Container = "div", align, className, children, style, type,
45
59
  ...rest,
46
60
  children
47
61
  });
48
- if (ellipsis && typeof ellipsis === "object" && ellipsis.tooltip) {
62
+ if (ellipsis && typeof ellipsis === "object" && (ellipsis.tooltip || ellipsis.tooltipWhenOverflow)) {
49
63
  if (tooltipWhenOverflow && !isOverflow) return content;
50
64
  const title = typeof ellipsis.tooltip === "string" ? ellipsis.tooltip : children;
51
- if (typeof ellipsis.tooltip === "object") return /* @__PURE__ */ jsx(Tooltip_default, {
65
+ if (ellipsis.tooltip && typeof ellipsis.tooltip === "object") return /* @__PURE__ */ jsx(Tooltip_default, {
52
66
  ...ellipsis.tooltip,
53
67
  title: ellipsis.tooltip?.title || title,
54
68
  children: content
@@ -1 +1 @@
1
- {"version":3,"file":"Text.mjs","names":["Text: FC<TextProps>","Tooltip"],"sources":["../../src/Text/Text.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { type FC, useRef } from 'react';\n\nimport Tooltip from '@/Tooltip';\nimport { useTextOverflow } from '@/hooks/useTextOverflow';\n\nimport { variants } from './styles';\nimport type { TextProps } from './type';\n\nconst Text: FC<TextProps> = ({\n as: Container = 'div',\n align,\n className,\n children,\n style,\n type,\n disabled,\n strong,\n italic,\n underline,\n delete: deleteStyle,\n fontSize,\n mark,\n code,\n color,\n weight,\n ellipsis,\n ...rest\n}) => {\n const textRef = useRef<HTMLElement>(null);\n const isOverflow = useTextOverflow(textRef, ellipsis, children);\n\n const tooltipWhenOverflow = typeof ellipsis === 'object' && ellipsis.tooltipWhenOverflow;\n\n const textStyle = {\n ...(color && { color }),\n ...(weight && { fontWeight: weight }),\n ...(typeof ellipsis === 'object' &&\n ellipsis.rows && {\n WebkitLineClamp: ellipsis.rows,\n }),\n ...(fontSize && { fontSize }),\n ...(align && { textAlign: align }),\n ...style,\n };\n\n const content = (\n <Container\n className={cx(\n variants({\n as: ['h1', 'h2', 'h3', 'h4', 'h5', 'p'].includes(Container as string)\n ? (Container as any)\n : undefined,\n code,\n delete: deleteStyle,\n disabled,\n ellipsis: ellipsis\n ? typeof ellipsis === 'object' && ellipsis.rows\n ? 'multi'\n : true\n : undefined,\n italic,\n mark,\n strong,\n type,\n underline,\n }),\n className,\n )}\n ref={textRef}\n style={textStyle}\n {...rest}\n >\n {children}\n </Container>\n );\n\n // 处理带有 tooltip 的省略\n if (ellipsis && typeof ellipsis === 'object' && ellipsis.tooltip) {\n // 如果设置了 tooltipWhenOverflow,只在溢出时显示 tooltip\n if (tooltipWhenOverflow && !isOverflow) {\n return content;\n }\n\n const title = typeof ellipsis.tooltip === 'string' ? ellipsis.tooltip : children;\n if (typeof ellipsis.tooltip === 'object')\n return (\n <Tooltip {...ellipsis.tooltip} title={ellipsis.tooltip?.title || title}>\n {content}\n </Tooltip>\n );\n return <Tooltip title={title}>{content}</Tooltip>;\n }\n\n return content;\n};\n\nText.displayName = 'Text';\n\nexport default Text;\n"],"mappings":";;;;;;;;;;AAWA,MAAMA,QAAuB,EAC3B,IAAI,YAAY,OAChB,OACA,WACA,UACA,OACA,MACA,UACA,QACA,QACA,WACA,QAAQ,aACR,UACA,MACA,MACA,OACA,QACA,UACA,GAAG,WACC;CACJ,MAAM,UAAU,OAAoB,KAAK;CACzC,MAAM,aAAa,gBAAgB,SAAS,UAAU,SAAS;CAE/D,MAAM,sBAAsB,OAAO,aAAa,YAAY,SAAS;CAErE,MAAM,YAAY;EAChB,GAAI,SAAS,EAAE,OAAO;EACtB,GAAI,UAAU,EAAE,YAAY,QAAQ;EACpC,GAAI,OAAO,aAAa,YACtB,SAAS,QAAQ,EACf,iBAAiB,SAAS,MAC3B;EACH,GAAI,YAAY,EAAE,UAAU;EAC5B,GAAI,SAAS,EAAE,WAAW,OAAO;EACjC,GAAG;EACJ;CAED,MAAM,UACJ,oBAAC;EACC,WAAW,GACT,SAAS;GACP,IAAI;IAAC;IAAM;IAAM;IAAM;IAAM;IAAM;IAAI,CAAC,SAAS,UAAoB,GAChE,YACD;GACJ;GACA,QAAQ;GACR;GACA,UAAU,WACN,OAAO,aAAa,YAAY,SAAS,OACvC,UACA,OACF;GACJ;GACA;GACA;GACA;GACA;GACD,CAAC,EACF,UACD;EACD,KAAK;EACL,OAAO;EACP,GAAI;EAEH;GACS;AAId,KAAI,YAAY,OAAO,aAAa,YAAY,SAAS,SAAS;AAEhE,MAAI,uBAAuB,CAAC,WAC1B,QAAO;EAGT,MAAM,QAAQ,OAAO,SAAS,YAAY,WAAW,SAAS,UAAU;AACxE,MAAI,OAAO,SAAS,YAAY,SAC9B,QACE,oBAACC;GAAQ,GAAI,SAAS;GAAS,OAAO,SAAS,SAAS,SAAS;aAC9D;IACO;AAEd,SAAO,oBAACA;GAAe;aAAQ;IAAkB;;AAGnD,QAAO;;AAGT,KAAK,cAAc;AAEnB,mBAAe"}
1
+ {"version":3,"file":"Text.mjs","names":["Text: FC<TextProps>","Tooltip"],"sources":["../../src/Text/Text.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { type FC, useRef } from 'react';\n\nimport Tooltip from '@/Tooltip';\nimport { useTextOverflow } from '@/hooks/useTextOverflow';\n\nimport { variants } from './styles';\nimport type { TextProps } from './type';\n\nconst Text: FC<TextProps> = ({\n as: Container = 'div',\n align,\n className,\n children,\n style,\n type,\n disabled,\n strong,\n italic,\n underline,\n delete: deleteStyle,\n fontSize,\n lineClamp,\n lineHeight,\n mark,\n code,\n color,\n weight,\n ellipsis,\n noWrap,\n textDecoration,\n textTransform,\n whiteSpace,\n wordBreak,\n ...rest\n}) => {\n const textRef = useRef<HTMLElement>(null);\n const isOverflow = useTextOverflow(textRef, ellipsis, children);\n\n const isMultiEllipsis = typeof ellipsis === 'object' && !!ellipsis.rows && ellipsis.rows > 1;\n const tooltipWhenOverflow = typeof ellipsis === 'object' && ellipsis.tooltipWhenOverflow;\n\n const textStyle = {\n ...(color && { color }),\n ...(weight && { fontWeight: weight }),\n ...(lineHeight && { lineHeight }),\n ...(textTransform && { textTransform }),\n ...(textDecoration && { textDecoration }),\n ...(wordBreak && { wordBreak }),\n ...(typeof ellipsis === 'object' &&\n ellipsis.rows && {\n WebkitLineClamp: ellipsis.rows,\n }),\n ...(!ellipsis &&\n !!lineClamp && {\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: lineClamp,\n display: '-webkit-box',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n ...(fontSize && { fontSize }),\n ...(align && { textAlign: align }),\n ...(!isMultiEllipsis && noWrap && { whiteSpace: 'nowrap' as const }),\n ...(whiteSpace && { whiteSpace }),\n ...style,\n };\n\n const content = (\n <Container\n className={cx(\n variants({\n as: ['h1', 'h2', 'h3', 'h4', 'h5', 'p'].includes(Container as string)\n ? (Container as any)\n : undefined,\n code,\n delete: deleteStyle,\n disabled,\n ellipsis: ellipsis\n ? typeof ellipsis === 'object' && ellipsis.rows\n ? 'multi'\n : true\n : undefined,\n italic,\n mark,\n strong,\n type,\n underline,\n }),\n className,\n )}\n ref={textRef}\n style={textStyle}\n {...rest}\n >\n {children}\n </Container>\n );\n\n // 处理带有 tooltip 的省略\n if (\n ellipsis &&\n typeof ellipsis === 'object' &&\n (ellipsis.tooltip || ellipsis.tooltipWhenOverflow)\n ) {\n // 如果设置了 tooltipWhenOverflow,只在溢出时显示 tooltip\n if (tooltipWhenOverflow && !isOverflow) {\n return content;\n }\n\n const title = typeof ellipsis.tooltip === 'string' ? ellipsis.tooltip : children;\n if (ellipsis.tooltip && typeof ellipsis.tooltip === 'object')\n return (\n <Tooltip {...ellipsis.tooltip} title={ellipsis.tooltip?.title || title}>\n {content}\n </Tooltip>\n );\n return <Tooltip title={title}>{content}</Tooltip>;\n }\n\n return content;\n};\n\nText.displayName = 'Text';\n\nexport default Text;\n"],"mappings":";;;;;;;;;;AAWA,MAAMA,QAAuB,EAC3B,IAAI,YAAY,OAChB,OACA,WACA,UACA,OACA,MACA,UACA,QACA,QACA,WACA,QAAQ,aACR,UACA,WACA,YACA,MACA,MACA,OACA,QACA,UACA,QACA,gBACA,eACA,YACA,WACA,GAAG,WACC;CACJ,MAAM,UAAU,OAAoB,KAAK;CACzC,MAAM,aAAa,gBAAgB,SAAS,UAAU,SAAS;CAE/D,MAAM,kBAAkB,OAAO,aAAa,YAAY,CAAC,CAAC,SAAS,QAAQ,SAAS,OAAO;CAC3F,MAAM,sBAAsB,OAAO,aAAa,YAAY,SAAS;CAErE,MAAM,YAAY;EAChB,GAAI,SAAS,EAAE,OAAO;EACtB,GAAI,UAAU,EAAE,YAAY,QAAQ;EACpC,GAAI,cAAc,EAAE,YAAY;EAChC,GAAI,iBAAiB,EAAE,eAAe;EACtC,GAAI,kBAAkB,EAAE,gBAAgB;EACxC,GAAI,aAAa,EAAE,WAAW;EAC9B,GAAI,OAAO,aAAa,YACtB,SAAS,QAAQ,EACf,iBAAiB,SAAS,MAC3B;EACH,GAAI,CAAC,YACH,CAAC,CAAC,aAAa;GACb,iBAAiB;GACjB,iBAAiB;GACjB,SAAS;GACT,UAAU;GACV,cAAc;GACf;EACH,GAAI,YAAY,EAAE,UAAU;EAC5B,GAAI,SAAS,EAAE,WAAW,OAAO;EACjC,GAAI,CAAC,mBAAmB,UAAU,EAAE,YAAY,UAAmB;EACnE,GAAI,cAAc,EAAE,YAAY;EAChC,GAAG;EACJ;CAED,MAAM,UACJ,oBAAC;EACC,WAAW,GACT,SAAS;GACP,IAAI;IAAC;IAAM;IAAM;IAAM;IAAM;IAAM;IAAI,CAAC,SAAS,UAAoB,GAChE,YACD;GACJ;GACA,QAAQ;GACR;GACA,UAAU,WACN,OAAO,aAAa,YAAY,SAAS,OACvC,UACA,OACF;GACJ;GACA;GACA;GACA;GACA;GACD,CAAC,EACF,UACD;EACD,KAAK;EACL,OAAO;EACP,GAAI;EAEH;GACS;AAId,KACE,YACA,OAAO,aAAa,aACnB,SAAS,WAAW,SAAS,sBAC9B;AAEA,MAAI,uBAAuB,CAAC,WAC1B,QAAO;EAGT,MAAM,QAAQ,OAAO,SAAS,YAAY,WAAW,SAAS,UAAU;AACxE,MAAI,SAAS,WAAW,OAAO,SAAS,YAAY,SAClD,QACE,oBAACC;GAAQ,GAAI,SAAS;GAAS,OAAO,SAAS,SAAS,SAAS;aAC9D;IACO;AAEd,SAAO,oBAACA;GAAe;aAAQ;IAAkB;;AAGnD,QAAO;;AAGT,KAAK,cAAc;AAEnB,mBAAe"}
@@ -1,7 +1,7 @@
1
1
  import { DivProps } from "../types/index.mjs";
2
2
  import { TooltipProps } from "../Tooltip/type.mjs";
3
3
  import "../Tooltip/index.mjs";
4
- import { ElementType, Ref } from "react";
4
+ import { CSSProperties, ElementType, Ref } from "react";
5
5
 
6
6
  //#region src/Text/type.d.ts
7
7
  interface TextProps extends DivProps {
@@ -18,12 +18,29 @@ interface TextProps extends DivProps {
18
18
  };
19
19
  fontSize?: number | string;
20
20
  italic?: boolean;
21
+ /**
22
+ * Clamp lines with CSS line-clamp.
23
+ *
24
+ * Note: When `ellipsis` is provided, `ellipsis` takes precedence.
25
+ */
26
+ lineClamp?: number;
27
+ lineHeight?: CSSProperties['lineHeight'];
21
28
  mark?: boolean;
29
+ /**
30
+ * Whether to disable wrapping (set `white-space: nowrap`).
31
+ *
32
+ * Note: When multi-line ellipsis is enabled, it will be ignored.
33
+ */
34
+ noWrap?: boolean;
22
35
  ref?: Ref<HTMLDivElement>;
23
36
  strong?: boolean;
37
+ textDecoration?: CSSProperties['textDecoration'];
38
+ textTransform?: CSSProperties['textTransform'];
24
39
  type?: 'secondary' | 'success' | 'warning' | 'danger' | 'info';
25
40
  underline?: boolean;
26
41
  weight?: 'bold' | 'bolder' | number;
42
+ whiteSpace?: CSSProperties['whiteSpace'];
43
+ wordBreak?: CSSProperties['wordBreak'];
27
44
  }
28
45
  //#endregion
29
46
  export { TextProps };
@@ -1,8 +1,8 @@
1
1
  import { ThemeProviderProps } from "./type.mjs";
2
- import * as react17 from "react";
2
+ import * as react41 from "react";
3
3
 
4
4
  //#region src/ThemeProvider/ThemeProvider.d.ts
5
- declare const ThemeProvider: react17.NamedExoticComponent<ThemeProviderProps>;
5
+ declare const ThemeProvider: react41.NamedExoticComponent<ThemeProviderProps>;
6
6
  //#endregion
7
7
  export { ThemeProvider };
8
8
  //# sourceMappingURL=ThemeProvider.d.mts.map
@@ -1,5 +1,5 @@
1
1
  import { ToastAPI, ToastPosition } from "./type.mjs";
2
- import * as react15 from "react";
2
+ import * as react38 from "react";
3
3
 
4
4
  //#region src/Toast/imperative.d.ts
5
5
  declare const toast: ToastAPI;
@@ -31,14 +31,14 @@ interface ToastHostProps {
31
31
  */
32
32
  swipeDirection?: ('left' | 'right' | 'up' | 'down') | ('left' | 'right' | 'up' | 'down')[];
33
33
  }
34
- declare const ToastHost: react15.MemoExoticComponent<({
34
+ declare const ToastHost: react38.MemoExoticComponent<({
35
35
  root,
36
36
  className,
37
37
  duration,
38
38
  limit,
39
39
  position,
40
40
  swipeDirection
41
- }: ToastHostProps) => react15.ReactPortal | null>;
41
+ }: ToastHostProps) => react38.ReactPortal | null>;
42
42
  declare const useToast: () => ToastAPI;
43
43
  //#endregion
44
44
  export { TOAST_CONTAINER_ATTR, ToastHost, ToastHostProps, toast, useToast };
package/es/Toc/Toc.d.mts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { TocProps } from "./type.mjs";
2
- import * as react22 from "react";
2
+ import * as react40 from "react";
3
3
 
4
4
  //#region src/Toc/Toc.d.ts
5
- declare const Toc: react22.NamedExoticComponent<TocProps>;
5
+ declare const Toc: react40.NamedExoticComponent<TocProps>;
6
6
  //#endregion
7
7
  export { Toc };
8
8
  //# sourceMappingURL=Toc.d.mts.map
@@ -6,12 +6,12 @@ import { mapItems } from "./utils.mjs";
6
6
  import { memo, useMemo } from "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
  import { Anchor, Collapse, ConfigProvider } from "antd";
9
- import useControlledState from "use-merge-value";
9
+ import useMergeState from "use-merge-value";
10
10
  import { PanelTopClose, PanelTopOpen } from "lucide-react";
11
11
 
12
12
  //#region src/Toc/TocMobile.tsx
13
13
  const TocMobile = memo(({ items, activeKey, onChange, getContainer, headerHeight = 64, tocWidth = 176 }) => {
14
- const [activeLink, setActiveLink] = useControlledState("", {
14
+ const [activeLink, setActiveLink] = useMergeState("", {
15
15
  onChange,
16
16
  value: activeKey
17
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TocMobile.mjs","names":["ActionIcon"],"sources":["../../src/Toc/TocMobile.tsx"],"sourcesContent":["'use client';\n\nimport { Anchor, Collapse, ConfigProvider } from 'antd';\nimport { PanelTopClose, PanelTopOpen } from 'lucide-react';\nimport { memo, useMemo } from 'react';\nimport useControlledState from 'use-merge-value';\n\nimport ActionIcon from '@/ActionIcon';\n\nimport { styles } from './style';\nimport type { TocMobileProps } from './type';\nimport { mapItems } from './utils';\n\nconst TocMobile = memo<TocMobileProps>(\n ({ items, activeKey, onChange, getContainer, headerHeight = 64, tocWidth = 176 }) => {\n // tocWidth is part of the interface but not used in this component\n void tocWidth;\n const [activeLink, setActiveLink] = useControlledState<string>('', {\n onChange,\n value: activeKey,\n });\n\n const activeAnchor = items.find((item) => item.id === activeLink);\n\n const tocItems = useMemo(() => mapItems(items), [items]);\n\n return (\n <ConfigProvider theme={{ token: { fontSize: 12, sizeStep: 3 } }}>\n <section className={styles.mobileCtn}>\n <Collapse\n className={styles.expand}\n expandIcon={({ isActive }) => (\n <ActionIcon icon={isActive ? PanelTopClose : PanelTopOpen} size={'small'} />\n )}\n expandIconPlacement={'end'}\n ghost\n >\n <Collapse.Panel\n forceRender\n header={activeAnchor ? activeAnchor.title : 'TOC'}\n key={'toc'}\n >\n <ConfigProvider theme={{ token: { fontSize: 14, sizeStep: 4 } }}>\n <Anchor\n getContainer={getContainer}\n items={tocItems}\n onChange={(currentLink) => {\n setActiveLink(currentLink.replace('#', ''));\n }}\n targetOffset={headerHeight + 48}\n />\n </ConfigProvider>\n </Collapse.Panel>\n </Collapse>\n </section>\n </ConfigProvider>\n );\n },\n);\n\nTocMobile.displayName = 'TocMobile';\n\nexport default TocMobile;\n"],"mappings":";;;;;;;;;;;;AAaA,MAAM,YAAY,MACf,EAAE,OAAO,WAAW,UAAU,cAAc,eAAe,IAAI,WAAW,UAAU;CAGnF,MAAM,CAAC,YAAY,iBAAiB,mBAA2B,IAAI;EACjE;EACA,OAAO;EACR,CAAC;CAEF,MAAM,eAAe,MAAM,MAAM,SAAS,KAAK,OAAO,WAAW;CAEjE,MAAM,WAAW,cAAc,SAAS,MAAM,EAAE,CAAC,MAAM,CAAC;AAExD,QACE,oBAAC;EAAe,OAAO,EAAE,OAAO;GAAE,UAAU;GAAI,UAAU;GAAG,EAAE;YAC7D,oBAAC;GAAQ,WAAW,OAAO;aACzB,oBAAC;IACC,WAAW,OAAO;IAClB,aAAa,EAAE,eACb,oBAACA;KAAW,MAAM,WAAW,gBAAgB;KAAc,MAAM;MAAW;IAE9E,qBAAqB;IACrB;cAEA,oBAAC,SAAS;KACR;KACA,QAAQ,eAAe,aAAa,QAAQ;eAG5C,oBAAC;MAAe,OAAO,EAAE,OAAO;OAAE,UAAU;OAAI,UAAU;OAAG,EAAE;gBAC7D,oBAAC;OACe;OACd,OAAO;OACP,WAAW,gBAAgB;AACzB,sBAAc,YAAY,QAAQ,KAAK,GAAG,CAAC;;OAE7C,cAAc,eAAe;QAC7B;OACa;OAXZ,MAYU;KACR;IACH;GACK;EAGtB;AAED,UAAU,cAAc;AAExB,wBAAe"}
1
+ {"version":3,"file":"TocMobile.mjs","names":["useControlledState","ActionIcon"],"sources":["../../src/Toc/TocMobile.tsx"],"sourcesContent":["'use client';\n\nimport { Anchor, Collapse, ConfigProvider } from 'antd';\nimport { PanelTopClose, PanelTopOpen } from 'lucide-react';\nimport { memo, useMemo } from 'react';\nimport useControlledState from 'use-merge-value';\n\nimport ActionIcon from '@/ActionIcon';\n\nimport { styles } from './style';\nimport type { TocMobileProps } from './type';\nimport { mapItems } from './utils';\n\nconst TocMobile = memo<TocMobileProps>(\n ({ items, activeKey, onChange, getContainer, headerHeight = 64, tocWidth = 176 }) => {\n // tocWidth is part of the interface but not used in this component\n void tocWidth;\n const [activeLink, setActiveLink] = useControlledState<string>('', {\n onChange,\n value: activeKey,\n });\n\n const activeAnchor = items.find((item) => item.id === activeLink);\n\n const tocItems = useMemo(() => mapItems(items), [items]);\n\n return (\n <ConfigProvider theme={{ token: { fontSize: 12, sizeStep: 3 } }}>\n <section className={styles.mobileCtn}>\n <Collapse\n className={styles.expand}\n expandIcon={({ isActive }) => (\n <ActionIcon icon={isActive ? PanelTopClose : PanelTopOpen} size={'small'} />\n )}\n expandIconPlacement={'end'}\n ghost\n >\n <Collapse.Panel\n forceRender\n header={activeAnchor ? activeAnchor.title : 'TOC'}\n key={'toc'}\n >\n <ConfigProvider theme={{ token: { fontSize: 14, sizeStep: 4 } }}>\n <Anchor\n getContainer={getContainer}\n items={tocItems}\n onChange={(currentLink) => {\n setActiveLink(currentLink.replace('#', ''));\n }}\n targetOffset={headerHeight + 48}\n />\n </ConfigProvider>\n </Collapse.Panel>\n </Collapse>\n </section>\n </ConfigProvider>\n );\n },\n);\n\nTocMobile.displayName = 'TocMobile';\n\nexport default TocMobile;\n"],"mappings":";;;;;;;;;;;;AAaA,MAAM,YAAY,MACf,EAAE,OAAO,WAAW,UAAU,cAAc,eAAe,IAAI,WAAW,UAAU;CAGnF,MAAM,CAAC,YAAY,iBAAiBA,cAA2B,IAAI;EACjE;EACA,OAAO;EACR,CAAC;CAEF,MAAM,eAAe,MAAM,MAAM,SAAS,KAAK,OAAO,WAAW;CAEjE,MAAM,WAAW,cAAc,SAAS,MAAM,EAAE,CAAC,MAAM,CAAC;AAExD,QACE,oBAAC;EAAe,OAAO,EAAE,OAAO;GAAE,UAAU;GAAI,UAAU;GAAG,EAAE;YAC7D,oBAAC;GAAQ,WAAW,OAAO;aACzB,oBAAC;IACC,WAAW,OAAO;IAClB,aAAa,EAAE,eACb,oBAACC;KAAW,MAAM,WAAW,gBAAgB;KAAc,MAAM;MAAW;IAE9E,qBAAqB;IACrB;cAEA,oBAAC,SAAS;KACR;KACA,QAAQ,eAAe,aAAa,QAAQ;eAG5C,oBAAC;MAAe,OAAO,EAAE,OAAO;OAAE,UAAU;OAAI,UAAU;OAAG,EAAE;gBAC7D,oBAAC;OACe;OACd,OAAO;OACP,WAAW,gBAAgB;AACzB,sBAAc,YAAY,QAAQ,KAAK,GAAG,CAAC;;OAE7C,cAAc,eAAe;QAC7B;OACa;OAXZ,MAYU;KACR;IACH;GACK;EAGtB;AAED,UAAU,cAAc;AAExB,wBAAe"}
@@ -1,7 +1,7 @@
1
1
  import { FlexboxProps } from "../Flex/type.mjs";
2
2
  import "../Flex/index.mjs";
3
3
  import { VideoProps as VideoProps$1 } from "../types/index.mjs";
4
- import * as react82 from "react";
4
+ import * as react84 from "react";
5
5
  import { CSSProperties, Ref } from "react";
6
6
 
7
7
  //#region src/Video/index.d.ts
@@ -39,7 +39,7 @@ interface VideoProps extends VideoProps$1, Pick<FlexboxProps, 'width' | 'height'
39
39
  };
40
40
  variant?: 'borderless' | 'filled' | 'outlined';
41
41
  }
42
- declare const Video: react82.NamedExoticComponent<VideoProps>;
42
+ declare const Video: react84.NamedExoticComponent<VideoProps>;
43
43
  //#endregion
44
44
  export { Video, VideoProps };
45
45
  //# sourceMappingURL=index.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { AuroraBackgroundProps } from "./type.mjs";
2
- import * as react140 from "react";
2
+ import * as react138 from "react";
3
3
 
4
4
  //#region src/awesome/AuroraBackground/AuroraBackground.d.ts
5
- declare const AuroraBackground: react140.NamedExoticComponent<AuroraBackgroundProps>;
5
+ declare const AuroraBackground: react138.NamedExoticComponent<AuroraBackgroundProps>;
6
6
  //#endregion
7
7
  export { AuroraBackground };
8
8
  //# sourceMappingURL=AuroraBackground.d.mts.map
@@ -1,9 +1,9 @@
1
1
  import { ButtonProps } from "../../Button/type.mjs";
2
2
  import "../../Button/index.mjs";
3
- import * as react138 from "react";
3
+ import * as react141 from "react";
4
4
 
5
5
  //#region src/awesome/BottomGradientButton/BottomGradientButton.d.ts
6
- declare const BottomGradientButton: react138.NamedExoticComponent<ButtonProps>;
6
+ declare const BottomGradientButton: react141.NamedExoticComponent<ButtonProps>;
7
7
  //#endregion
8
8
  export { BottomGradientButton };
9
9
  //# sourceMappingURL=BottomGradientButton.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { FeaturesProps } from "./type.mjs";
2
- import * as react139 from "react";
2
+ import * as react137 from "react";
3
3
 
4
4
  //#region src/awesome/Features/Features.d.ts
5
- declare const Features: react139.NamedExoticComponent<FeaturesProps>;
5
+ declare const Features: react137.NamedExoticComponent<FeaturesProps>;
6
6
  //#endregion
7
7
  export { Features };
8
8
  //# sourceMappingURL=Features.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { GiscusProps } from "./type.mjs";
2
- import * as react141 from "react";
2
+ import * as react142 from "react";
3
3
 
4
4
  //#region src/awesome/Giscus/Giscus.d.ts
5
- declare const Giscus: react141.NamedExoticComponent<GiscusProps>;
5
+ declare const Giscus: react142.NamedExoticComponent<GiscusProps>;
6
6
  //#endregion
7
7
  export { Giscus };
8
8
  //# sourceMappingURL=Giscus.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { GradientButtonProps } from "./type.mjs";
2
- import * as react142 from "react";
2
+ import * as react144 from "react";
3
3
 
4
4
  //#region src/awesome/GradientButton/GradientButton.d.ts
5
- declare const GradientButton: react142.NamedExoticComponent<GradientButtonProps>;
5
+ declare const GradientButton: react144.NamedExoticComponent<GradientButtonProps>;
6
6
  //#endregion
7
7
  export { GradientButton };
8
8
  //# sourceMappingURL=GradientButton.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { GridBackgroundProps } from "./type.mjs";
2
- import * as react143 from "react";
2
+ import * as react139 from "react";
3
3
 
4
4
  //#region src/awesome/GridBackground/GridBackground.d.ts
5
- declare const GridBackground: react143.NamedExoticComponent<GridBackgroundProps>;
5
+ declare const GridBackground: react139.NamedExoticComponent<GridBackgroundProps>;
6
6
  //#endregion
7
7
  export { GridBackground };
8
8
  //# sourceMappingURL=GridBackground.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { GridShowcaseProps } from "./type.mjs";
2
- import * as react144 from "react";
2
+ import * as react140 from "react";
3
3
 
4
4
  //#region src/awesome/GridBackground/GridShowcase.d.ts
5
- declare const GridShowcase: react144.NamedExoticComponent<GridShowcaseProps>;
5
+ declare const GridShowcase: react140.NamedExoticComponent<GridShowcaseProps>;
6
6
  //#endregion
7
7
  export { GridShowcase };
8
8
  //# sourceMappingURL=GridShowcase.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { HeroProps } from "./type.mjs";
2
- import * as react145 from "react";
2
+ import * as react143 from "react";
3
3
 
4
4
  //#region src/awesome/Hero/Hero.d.ts
5
- declare const Hero: react145.NamedExoticComponent<HeroProps>;
5
+ declare const Hero: react143.NamedExoticComponent<HeroProps>;
6
6
  //#endregion
7
7
  export { Hero };
8
8
  //# sourceMappingURL=Hero.d.mts.map
@@ -1,9 +1,9 @@
1
1
  import { SplineProps } from "./type.mjs";
2
- import * as react146 from "react";
2
+ import * as react145 from "react";
3
3
  import "@splinetool/runtime";
4
4
 
5
5
  //#region src/awesome/Spline/Spine.d.ts
6
- declare const Spline: react146.NamedExoticComponent<SplineProps>;
6
+ declare const Spline: react145.NamedExoticComponent<SplineProps>;
7
7
  //#endregion
8
8
  export { Spline };
9
9
  //# sourceMappingURL=Spine.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { SpotlightProps } from "./type.mjs";
2
- import * as react148 from "react";
2
+ import * as react146 from "react";
3
3
 
4
4
  //#region src/awesome/Spotlight/Spotlight.d.ts
5
- declare const Spotlight: react148.NamedExoticComponent<SpotlightProps>;
5
+ declare const Spotlight: react146.NamedExoticComponent<SpotlightProps>;
6
6
  //#endregion
7
7
  export { Spotlight };
8
8
  //# sourceMappingURL=Spotlight.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { SpotlightCardProps } from "./type.mjs";
2
- import * as react130 from "react";
2
+ import * as react148 from "react";
3
3
 
4
4
  //#region src/awesome/SpotlightCard/SpotlightCard.d.ts
5
- declare const SpotlightCard: react130.NamedExoticComponent<SpotlightCardProps<any>>;
5
+ declare const SpotlightCard: react148.NamedExoticComponent<SpotlightCardProps<any>>;
6
6
  //#endregion
7
7
  export { SpotlightCard };
8
8
  //# sourceMappingURL=SpotlightCard.d.mts.map
@@ -1,5 +1,5 @@
1
1
  import { DivProps } from "../../types/index.mjs";
2
- import * as react18 from "react";
2
+ import * as react32 from "react";
3
3
  import { ReactNode } from "react";
4
4
 
5
5
  //#region src/brand/LobeChat/index.d.ts
@@ -8,7 +8,7 @@ interface LobeChatProps extends DivProps {
8
8
  size?: number;
9
9
  type?: '3d' | 'flat' | 'mono' | 'text' | 'combine';
10
10
  }
11
- declare const LobeChat: react18.NamedExoticComponent<LobeChatProps>;
11
+ declare const LobeChat: react32.NamedExoticComponent<LobeChatProps>;
12
12
  //#endregion
13
13
  export { LobeChat, LobeChatProps };
14
14
  //# sourceMappingURL=index.d.mts.map
@@ -1,5 +1,5 @@
1
1
  import { DivProps } from "../../types/index.mjs";
2
- import * as react19 from "react";
2
+ import * as react34 from "react";
3
3
  import { ReactNode } from "react";
4
4
 
5
5
  //#region src/brand/LobeHub/index.d.ts
@@ -8,7 +8,7 @@ interface LobeHubProps extends DivProps {
8
8
  size?: number;
9
9
  type?: '3d' | 'flat' | 'mono' | 'text' | 'combine';
10
10
  }
11
- declare const LobeHub: react19.NamedExoticComponent<LobeHubProps>;
11
+ declare const LobeHub: react34.NamedExoticComponent<LobeHubProps>;
12
12
  //#endregion
13
13
  export { LobeHub, LobeHubProps };
14
14
  //# sourceMappingURL=index.d.mts.map
@@ -1,6 +1,6 @@
1
1
  import { SplineProps } from "../../awesome/Spline/type.mjs";
2
2
  import "../../awesome/Spline/index.mjs";
3
- import * as react21 from "react";
3
+ import * as react31 from "react";
4
4
  import { CSSProperties } from "react";
5
5
 
6
6
  //#region src/brand/LogoThree/LogoSpline.d.ts
@@ -10,7 +10,7 @@ interface LogoSplineProps extends Partial<SplineProps> {
10
10
  style?: CSSProperties;
11
11
  width?: number | string;
12
12
  }
13
- declare const LogoSpline: react21.NamedExoticComponent<LogoSplineProps>;
13
+ declare const LogoSpline: react31.NamedExoticComponent<LogoSplineProps>;
14
14
  //#endregion
15
15
  export { LogoSpline, LogoSplineProps };
16
16
  //# sourceMappingURL=LogoSpline.d.mts.map
@@ -1,6 +1,6 @@
1
1
  import { SplineProps } from "../../awesome/Spline/type.mjs";
2
2
  import "../../awesome/Spline/index.mjs";
3
- import * as react20 from "react";
3
+ import * as react33 from "react";
4
4
  import { CSSProperties } from "react";
5
5
 
6
6
  //#region src/brand/LogoThree/index.d.ts
@@ -9,7 +9,7 @@ interface LogoThreeProps extends Partial<SplineProps> {
9
9
  size?: number;
10
10
  style?: CSSProperties;
11
11
  }
12
- declare const LogoThree: react20.NamedExoticComponent<LogoThreeProps>;
12
+ declare const LogoThree: react33.NamedExoticComponent<LogoThreeProps>;
13
13
  //#endregion
14
14
  export { LogoThree, LogoThreeProps };
15
15
  //# sourceMappingURL=index.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { ChatInputAreaInnerProps } from "../type.mjs";
2
- import * as react133 from "react";
2
+ import * as react130 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: react130.NamedExoticComponent<ChatInputAreaInnerProps>;
6
6
  //#endregion
7
7
  export { ChatInputAreaInner };
8
8
  //# sourceMappingURL=ChatInputAreaInner.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { EditableMessageProps } from "./type.mjs";
2
- import * as react134 from "react";
2
+ import * as react136 from "react";
3
3
 
4
4
  //#region src/chat/EditableMessage/EditableMessage.d.ts
5
- declare const EditableMessage: react134.NamedExoticComponent<EditableMessageProps>;
5
+ declare const EditableMessage: react136.NamedExoticComponent<EditableMessageProps>;
6
6
  //#endregion
7
7
  export { EditableMessage };
8
8
  //# sourceMappingURL=EditableMessage.d.mts.map
@@ -6,15 +6,15 @@ import MessageModal_default from "../MessageModal/MessageModal.mjs";
6
6
  import { memo } from "react";
7
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
8
  import { cx } from "antd-style";
9
- import useControlledState from "use-merge-value";
9
+ import useMergeState from "use-merge-value";
10
10
 
11
11
  //#region src/chat/EditableMessage/EditableMessage.tsx
12
12
  const EditableMessage = memo(({ value, onChange, classNames = {}, onEditingChange, editing, openModal, onOpenChange, placeholder, showEditWhenEmpty = false, styles: customStyles, className, style, height, variant, editButtonSize, text, fullFeaturedCodeBlock, model, fontSize, language = "markdown", markdownProps }) => {
13
- const [isEdit, setTyping] = useControlledState(false, {
13
+ const [isEdit, setTyping] = useMergeState(false, {
14
14
  onChange: onEditingChange,
15
15
  value: editing
16
16
  });
17
- const [expand, setExpand] = useControlledState(false, {
17
+ const [expand, setExpand] = useMergeState(false, {
18
18
  onChange: onOpenChange,
19
19
  value: openModal
20
20
  });
@@ -1 +1 @@
1
- {"version":3,"file":"EditableMessage.mjs","names":["MessageInput","text","Markdown","MessageModal"],"sources":["../../../src/chat/EditableMessage/EditableMessage.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { memo } from 'react';\nimport useControlledState from 'use-merge-value';\n\nimport Markdown from '@/Markdown';\nimport MessageInput from '@/chat/MessageInput';\nimport MessageModal from '@/chat/MessageModal';\n\nimport type { EditableMessageProps } from './type';\n\nconst EditableMessage = memo<EditableMessageProps>(\n ({\n value,\n onChange,\n classNames = {},\n onEditingChange,\n editing,\n openModal,\n onOpenChange,\n placeholder,\n showEditWhenEmpty = false,\n styles: customStyles,\n className,\n style,\n height,\n variant,\n editButtonSize,\n text,\n fullFeaturedCodeBlock,\n model,\n fontSize,\n language = 'markdown',\n markdownProps,\n }) => {\n const [isEdit, setTyping] = useControlledState(false, {\n onChange: onEditingChange,\n value: editing,\n });\n\n const [expand, setExpand] = useControlledState<boolean>(false, {\n onChange: onOpenChange,\n value: openModal,\n });\n\n const isAutoSize = height === 'auto';\n\n const input = (\n <MessageInput\n className={cx(className, classNames?.input)}\n classNames={classNames}\n defaultValue={value}\n editButtonSize={editButtonSize}\n height={height}\n language={language}\n onCancel={() => setTyping(false)}\n onConfirm={(text) => {\n onChange?.(text);\n setTyping(false);\n }}\n placeholder={placeholder}\n shortcut\n style={{\n ...style,\n ...customStyles?.input,\n }}\n styles={customStyles}\n text={text}\n variant={variant}\n />\n );\n\n if (!value && showEditWhenEmpty) return input;\n\n return (\n <>\n {!expand && isEdit ? (\n input\n ) : (\n <Markdown\n className={cx(className, classNames?.markdown)}\n fontSize={fontSize}\n fullFeaturedCodeBlock={fullFeaturedCodeBlock}\n style={{\n height: isAutoSize ? 'unset' : height,\n ...style,\n ...customStyles?.markdown,\n }}\n variant={'chat'}\n {...markdownProps}\n >\n {value || placeholder || ''}\n </Markdown>\n )}\n {expand && (\n <MessageModal\n editing={isEdit}\n extra={model?.extra}\n footer={model?.footer}\n height={height}\n language={language}\n onChange={onChange}\n onEditingChange={setTyping}\n onOpenChange={(e) => {\n setExpand(e);\n setTyping(false);\n }}\n open={expand}\n placeholder={placeholder}\n text={text}\n value={value}\n />\n )}\n </>\n );\n },\n);\n\nEditableMessage.displayName = 'EditableMessage';\n\nexport default EditableMessage;\n"],"mappings":";;;;;;;;;;;AAYA,MAAM,kBAAkB,MACrB,EACC,OACA,UACA,aAAa,EAAE,EACf,iBACA,SACA,WACA,cACA,aACA,oBAAoB,OACpB,QAAQ,cACR,WACA,OACA,QACA,SACA,gBACA,MACA,uBACA,OACA,UACA,WAAW,YACX,oBACI;CACJ,MAAM,CAAC,QAAQ,aAAa,mBAAmB,OAAO;EACpD,UAAU;EACV,OAAO;EACR,CAAC;CAEF,MAAM,CAAC,QAAQ,aAAa,mBAA4B,OAAO;EAC7D,UAAU;EACV,OAAO;EACR,CAAC;CAEF,MAAM,aAAa,WAAW;CAE9B,MAAM,QACJ,oBAACA;EACC,WAAW,GAAG,WAAW,YAAY,MAAM;EAC/B;EACZ,cAAc;EACE;EACR;EACE;EACV,gBAAgB,UAAU,MAAM;EAChC,YAAY,WAAS;AACnB,cAAWC,OAAK;AAChB,aAAU,MAAM;;EAEL;EACb;EACA,OAAO;GACL,GAAG;GACH,GAAG,cAAc;GAClB;EACD,QAAQ;EACF;EACG;GACT;AAGJ,KAAI,CAAC,SAAS,kBAAmB,QAAO;AAExC,QACE,8CACG,CAAC,UAAU,SACV,QAEA,oBAACC;EACC,WAAW,GAAG,WAAW,YAAY,SAAS;EACpC;EACa;EACvB,OAAO;GACL,QAAQ,aAAa,UAAU;GAC/B,GAAG;GACH,GAAG,cAAc;GAClB;EACD,SAAS;EACT,GAAI;YAEH,SAAS,eAAe;GAChB,EAEZ,UACC,oBAACC;EACC,SAAS;EACT,OAAO,OAAO;EACd,QAAQ,OAAO;EACP;EACE;EACA;EACV,iBAAiB;EACjB,eAAe,MAAM;AACnB,aAAU,EAAE;AACZ,aAAU,MAAM;;EAElB,MAAM;EACO;EACP;EACC;GACP,IAEH;EAGR;AAED,gBAAgB,cAAc;AAE9B,8BAAe"}
1
+ {"version":3,"file":"EditableMessage.mjs","names":["useControlledState","MessageInput","text","Markdown","MessageModal"],"sources":["../../../src/chat/EditableMessage/EditableMessage.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { memo } from 'react';\nimport useControlledState from 'use-merge-value';\n\nimport Markdown from '@/Markdown';\nimport MessageInput from '@/chat/MessageInput';\nimport MessageModal from '@/chat/MessageModal';\n\nimport type { EditableMessageProps } from './type';\n\nconst EditableMessage = memo<EditableMessageProps>(\n ({\n value,\n onChange,\n classNames = {},\n onEditingChange,\n editing,\n openModal,\n onOpenChange,\n placeholder,\n showEditWhenEmpty = false,\n styles: customStyles,\n className,\n style,\n height,\n variant,\n editButtonSize,\n text,\n fullFeaturedCodeBlock,\n model,\n fontSize,\n language = 'markdown',\n markdownProps,\n }) => {\n const [isEdit, setTyping] = useControlledState(false, {\n onChange: onEditingChange,\n value: editing,\n });\n\n const [expand, setExpand] = useControlledState<boolean>(false, {\n onChange: onOpenChange,\n value: openModal,\n });\n\n const isAutoSize = height === 'auto';\n\n const input = (\n <MessageInput\n className={cx(className, classNames?.input)}\n classNames={classNames}\n defaultValue={value}\n editButtonSize={editButtonSize}\n height={height}\n language={language}\n onCancel={() => setTyping(false)}\n onConfirm={(text) => {\n onChange?.(text);\n setTyping(false);\n }}\n placeholder={placeholder}\n shortcut\n style={{\n ...style,\n ...customStyles?.input,\n }}\n styles={customStyles}\n text={text}\n variant={variant}\n />\n );\n\n if (!value && showEditWhenEmpty) return input;\n\n return (\n <>\n {!expand && isEdit ? (\n input\n ) : (\n <Markdown\n className={cx(className, classNames?.markdown)}\n fontSize={fontSize}\n fullFeaturedCodeBlock={fullFeaturedCodeBlock}\n style={{\n height: isAutoSize ? 'unset' : height,\n ...style,\n ...customStyles?.markdown,\n }}\n variant={'chat'}\n {...markdownProps}\n >\n {value || placeholder || ''}\n </Markdown>\n )}\n {expand && (\n <MessageModal\n editing={isEdit}\n extra={model?.extra}\n footer={model?.footer}\n height={height}\n language={language}\n onChange={onChange}\n onEditingChange={setTyping}\n onOpenChange={(e) => {\n setExpand(e);\n setTyping(false);\n }}\n open={expand}\n placeholder={placeholder}\n text={text}\n value={value}\n />\n )}\n </>\n );\n },\n);\n\nEditableMessage.displayName = 'EditableMessage';\n\nexport default EditableMessage;\n"],"mappings":";;;;;;;;;;;AAYA,MAAM,kBAAkB,MACrB,EACC,OACA,UACA,aAAa,EAAE,EACf,iBACA,SACA,WACA,cACA,aACA,oBAAoB,OACpB,QAAQ,cACR,WACA,OACA,QACA,SACA,gBACA,MACA,uBACA,OACA,UACA,WAAW,YACX,oBACI;CACJ,MAAM,CAAC,QAAQ,aAAaA,cAAmB,OAAO;EACpD,UAAU;EACV,OAAO;EACR,CAAC;CAEF,MAAM,CAAC,QAAQ,aAAaA,cAA4B,OAAO;EAC7D,UAAU;EACV,OAAO;EACR,CAAC;CAEF,MAAM,aAAa,WAAW;CAE9B,MAAM,QACJ,oBAACC;EACC,WAAW,GAAG,WAAW,YAAY,MAAM;EAC/B;EACZ,cAAc;EACE;EACR;EACE;EACV,gBAAgB,UAAU,MAAM;EAChC,YAAY,WAAS;AACnB,cAAWC,OAAK;AAChB,aAAU,MAAM;;EAEL;EACb;EACA,OAAO;GACL,GAAG;GACH,GAAG,cAAc;GAClB;EACD,QAAQ;EACF;EACG;GACT;AAGJ,KAAI,CAAC,SAAS,kBAAmB,QAAO;AAExC,QACE,8CACG,CAAC,UAAU,SACV,QAEA,oBAACC;EACC,WAAW,GAAG,WAAW,YAAY,SAAS;EACpC;EACa;EACvB,OAAO;GACL,QAAQ,aAAa,UAAU;GAC/B,GAAG;GACH,GAAG,cAAc;GAClB;EACD,SAAS;EACT,GAAI;YAEH,SAAS,eAAe;GAChB,EAEZ,UACC,oBAACC;EACC,SAAS;EACT,OAAO,OAAO;EACd,QAAQ,OAAO;EACP;EACE;EACA;EACV,iBAAiB;EACjB,eAAe,MAAM;AACnB,aAAU,EAAE;AACZ,aAAU,MAAM;;EAElB,MAAM;EACO;EACP;EACC;GACP,IAEH;EAGR;AAED,gBAAgB,cAAc;AAE9B,8BAAe"}
@@ -1,8 +1,8 @@
1
1
  import { EditableMessageListProps } from "./type.mjs";
2
- import * as react135 from "react";
2
+ import * as react133 from "react";
3
3
 
4
4
  //#region src/chat/EditableMessageList/EditableMessageList.d.ts
5
- declare const EditableMessageList: react135.NamedExoticComponent<EditableMessageListProps>;
5
+ declare const EditableMessageList: react133.NamedExoticComponent<EditableMessageListProps>;
6
6
  //#endregion
7
7
  export { EditableMessageList };
8
8
  //# sourceMappingURL=EditableMessageList.d.mts.map
@@ -1,8 +1,8 @@
1
1
  import { MessageInputProps } from "./type.mjs";
2
- import * as react136 from "react";
2
+ import * as react134 from "react";
3
3
 
4
4
  //#region src/chat/MessageInput/MessageInput.d.ts
5
- declare const MessageInput: react136.NamedExoticComponent<MessageInputProps>;
5
+ declare const MessageInput: react134.NamedExoticComponent<MessageInputProps>;
6
6
  //#endregion
7
7
  export { MessageInput };
8
8
  //# sourceMappingURL=MessageInput.d.mts.map