@bothub-chat/ui 2.80.31 → 2.80.33
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.
- package/dist/components/input-message/index.js +1 -1
- package/dist/components/message/components/list/item/styled.js +8 -8
- package/dist/components/message/components/table/cell/index.d.ts +1 -0
- package/dist/components/message/components/table/cell/index.js +1 -1
- package/dist/components/message/index.js +1 -1
- package/dist/components/message/markdown/index.js +1 -1
- package/dist/components/message/markdown/markdown-components.d.ts +17 -2
- package/dist/components/message/markdown/markdown-components.js +1 -1
- package/dist/components/message/markdown/markdown-plugins.d.ts +2 -1
- package/dist/components/message/markdown/markdown-plugins.js +1 -1
- package/dist/components/message/markdown/useMarkdownPlugins.js +1 -1
- package/dist/components/message/markdown/utils.d.ts +9 -1
- package/dist/components/message/markdown/utils.js +1 -1
- package/dist/components/message/reasoning-block/markdown-components.js +1 -1
- package/dist/components/message/voice/index.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as i,__awaiter as e}from"tslib";import{jsx as s,jsxs as o}from"react/jsx-runtime";import{useRef as n,useState as t,useCallback as r}from"react";import{InputMessageStyled as d,InputMessageContent as c,InputMessageActions as m,InputMessageUploadFile as a,InputMessageUploadFileLabel as p,InputMessageUploadFileInput as l,InputMessageMain as j,InputMessageEditWrapper as x,InputMessageContentWrapper as g,InputMessageContentInfo as u,InputMessageContentActionText as b,InputMessageContentTextWrapper as h,InputMessageContentTextFiles as y,InputMessageContentTextMessage as f,InputMessageCloseEditButton as k,InputMessageVoiceRecord as v,InputMessageVoiceRecordDot as w,InputMessageVoiceRecordTimeText as F,InputMessageConcatenateWarning as A,InputMessageVoiceFiles as C,InputMessageVoiceTrack as L,InputMessageVoiceFileDelete as V,InputMessageTextArea as D,InputMessageButtons as S,InputMessageVoicePlayButton as T,InputMessageVoicePauseButton as E,InputMessageVoiceButton as q,InputMessageSendButton as P,InputMessageSendIcon as R}from"./styled.js";import"marked";import"../message/styled.js";import"../loader/styled.js";import"../../theme/index.js";import"../loader/three-dots-loader/styled.js";import"../skeleton/index.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import{formatSeconds as $}from"../../utils/formatSeconds.js";import"../message/context.js";import"styled-components";import"../message/components/code/inline/styled.js";import"../message/components/code/multiline/styled.js";import"@react-spring/web";import"react-markdown";import"react-dom";import"../portal/styled.js";import"../tooltip/styled.js";import"../tooltip/arrow/styled.js";import"../tooltip/context.js";import"../message/components/code/multiline/copy/styled.js";import{CheckSmallIcon as z}from"../../icons/check-small/index.js";import"../../icons/copy/index.js";import"../message/components/code/multiline/content/styled.js";import"../message/components/paragraph/styled.js";import"../message/components/bold/styled.js";import"../message/components/italic/styled.js";import"../message/components/strike/styled.js";import"../message/components/blockquote/styled.js";import"../message/components/hr/styled.js";import"../message/components/pre/styled.js";import"../message/components/table/styled.js";import"../message/components/table/cell/styled.js";import"../message/components/list/styled.js";import"../message/components/list/context.js";import"../message/components/list/item/styled.js";import"../message/components/title/styled.js";import"../message/components/link/styled.js";import"../message/components/image/styled.js";import"../message/components/image/context.js";import"../message/components/image/grid/styled.js";import"../message/components/image/button/styled.js";import"../message/components/image/button/list/styled.js";import"../message/components/document-copy/styled.js";import"../message/components/cite/styled.js";import"../message/markdown/styled.js";import"remark-math";import"rehype-katex";import"katex/dist/katex.min.css";import"../scrollbar/styled.js";import"../scrollbar/shadow/styled.js";import"../scrollbar/style/styled.js";import"../message/timestamp/styled.js";import"../../icons/menu-dot/index.js";import"../../icons/update/index.js";import"../../icons/resend/index.js";import{EditIcon as B}from"../../icons/edit/index.js";import"../../icons/trash/index.js";import"../../icons/thumb-down/index.js";import"../../icons/download-img/index.js";import"../message/actions/styled.js";import"../message/actions/copy-button/styled.js";import{IconProvider as O}from"../icon/context.js";import"../icon/styled.js";import"../../icons/fork-chat/index.js";import"../message/actions/fork-button/styled.js";import"../message/list/styled.js";import"../message/scroll-button/styled.js";import"../../icons/arrow-down/index.js";import"../../icons/arrow-narrow-left/index.js";import"../../icons/arrow-narrow-right/index.js";import"../../icons/arrow-up/index.js";import"../../icons/bitcoin/index.js";import"../../icons/bot-circle/index.js";import"../../icons/bothub-agg/index.js";import"../../icons/business-colored/index.js";import"../../icons/check-circle/index.js";import{CloseIcon as I}from"../../icons/close/index.js";import"../../icons/email-circle/index.js";import"../../icons/language/index.js";import"../../icons/lock-circle/index.js";import"../../icons/menu/index.js";import"../../icons/medium-circle/index.js";import"../../icons/tg-circle/index.js";import"../../icons/tg-colored/index.js";import"../../icons/youcassa/index.js";import"../../icons/dashboard/index.js";import"../../icons/user-profile/index.js";import"../../icons/logout/index.js";import"../../icons/habr-2/index.js";import"../../icons/arrow-2-down/index.js";import"../../icons/links/index.js";import"../../icons/free/index.js";import"../../icons/hotness/index.js";import"../../icons/checked/index.js";import"../../icons/ai/index.js";import"../../icons/bookmarks/index.js";import"../../icons/bookmarks-big/index.js";import"../../icons/chat/index.js";import"../../icons/chats/index.js";import"../../icons/coder/index.js";import"../../icons/presets-big/index.js";import"../../icons/referal/index.js";import"../../icons/restore/index.js";import"../../icons/tariff/index.js";import"../../icons/plus-2/index.js";import"../../icons/plus-1/index.js";import"../../icons/send/index.js";import"../../icons/settings/index.js";import"../../icons/habr/index.js";import"../../icons/stop/index.js";import"../../icons/thumb-up/index.js";import"../../icons/star/index.js";import"../../icons/info-big/index.js";import"../../icons/warning-big/index.js";import"../../icons/error-big/index.js";import"../../icons/success-big/index.js";import"../../icons/mj/index.js";import"../../icons/card/index.js";import"../../icons/arrow-narrow-up/index.js";import"../../icons/arrow-narrow-down/index.js";import"../../icons/filters/index.js";import"../../icons/info/index.js";import"../../icons/search-circle/index.js";import"../../icons/save/index.js";import"../../icons/light/index.js";import"../../icons/dark/index.js";import"../../icons/email-colored/index.js";import"../../icons/action-chat/index.js";import{AttachIcon as K}from"../../icons/attach/index.js";import"../../icons/avatar-add/index.js";import"../../icons/brush/index.js";import"../../icons/calendar/index.js";import"../../icons/claude/index.js";import"../../icons/cookie/index.js";import"../../icons/dalle/index.js";import"../../icons/error/index.js";import"../../icons/expand/index.js";import"../../icons/eye/index.js";import"../../icons/face/index.js";import"../../icons/gear/index.js";import"../../icons/gear-min/index.js";import"../../icons/generation/index.js";import"../../icons/gpt-3_5/index.js";import"../../icons/gpt-4/index.js";import"../../icons/imagine/index.js";import"../../icons/imagine-2/index.js";import"../../icons/loader/index.js";import"../../icons/loader-circular/index.js";import"../../icons/loader-circular-gradient/index.js";import"../../icons/loader-circular-gradient-2/index.js";import"../../icons/minus/index.js";import"../../icons/mj-white/index.js";import"../../icons/prompt/index.js";import"../../icons/rabbit/index.js";import"../../icons/ratio-1x1/index.js";import"../../icons/ratio-2x3/index.js";import"../../icons/ratio-3x2/index.js";import"../../icons/ratio-4x5/index.js";import"../../icons/ratio-4x7/index.js";import"../../icons/ratio-5x4/index.js";import"../../icons/ratio-7x4/index.js";import"../../icons/ratio-16x9/index.js";import"../../icons/ratio-9x16/index.js";import"../../icons/ratio-21x9/index.js";import"../../icons/ratio-9x21/index.js";import"../../icons/refferal-min/index.js";import"../../icons/search-data/index.js";import"../../icons/square/index.js";import"../../icons/turtle/index.js";import"../../icons/upscale/index.js";import"../../icons/withdraw/index.js";import"../../icons/search-plus/index.js";import"../../icons/lightning/index.js";import"../../icons/blog-circle/index.js";import"../../icons/stripe/index.js";import"../../icons/corporate/index.js";import"../../icons/public/index.js";import"../../icons/private/index.js";import"../../icons/mistral/index.js";import"../../icons/gemini/index.js";import"../../icons/search-simple/index.js";import"../../icons/sad-robot/index.js";import"../../icons/model/index.js";import"../../icons/phone-colored/index.js";import"../../icons/questions/index.js";import"../../icons/pdf-big/index.js";import"../../icons/xls-big/index.js";import"../../icons/word-big/index.js";import"../../icons/txt-big/index.js";import"../../icons/pdf/index.js";import"../../icons/xls/index.js";import"../../icons/word/index.js";import"../../icons/txt/index.js";import"../../icons/bothub-logo-gradient/index.js";import"../../icons/telegram-logo-gradient/index.js";import"../../icons/decline-circle/index.js";import"../../icons/simple-gear-bg/index.js";import"../../icons/advanced-filter/index.js";import"../../icons/big-corporate/index.js";import"../../icons/big-mj/index.js";import"../../icons/big-models/index.js";import"../../icons/big-stats/index.js";import"../../icons/big-success/index.js";import"../../icons/big-users/index.js";import"../../icons/optional-presets/index.js";import"../../icons/wallet-withdraw/index.js";import"../../icons/big-presets/index.js";import"../../icons/big-favorite/index.js";import"../../icons/big-referal/index.js";import"../../icons/attach-file/index.js";import"../../icons/attach-file-big/index.js";import"../../icons/voice/index.js";import"../../icons/play-button/index.js";import"../../icons/pause-button/index.js";import"../../icons/text-read/index.js";import"../../icons/text-hide/index.js";import"../../icons/best-chat-bots/index.js";import"../../icons/upload/index.js";import"../../icons/enter/index.js";import"../../icons/discord/index.js";import"../../icons/discord-circle/index.js";import"../../icons/black-forest-labs/index.js";import"../../icons/flux/index.js";import"../../icons/stable-diffusion/index.js";import"../../icons/stability-ai/index.js";import"../../icons/article-generator/index.js";import"../../icons/success/index.js";import"../../icons/google/index.js";import"../../icons/yandex/index.js";import"../../icons/vk/index.js";import"../../icons/big-article/index.js";import"../../icons/add-chat/index.js";import"../../icons/add-group/index.js";import"../../icons/drag-dot/index.js";import"../../icons/add-folder/index.js";import"../../icons/temp-chat/index.js";import"../../icons/delete-chat/index.js";import"../../icons/sidebar-chat/index.js";import"../../icons/organization/index.js";import"../../icons/simple-gear/index.js";import"../../icons/text-bold/index.js";import"../../icons/text-italic/index.js";import"../../icons/text-underline/index.js";import"../../icons/text-strikethrough/index.js";import"../../icons/refresh/index.js";import"../../icons/copy-variants/index.js";import"../../icons/sort-ascending/index.js";import"../../icons/sort-descending/index.js";import"../../icons/quote/index.js";import"../../icons/url-circle/index.js";import"../../icons/show-ui/index.js";import"../../icons/hide-ui/index.js";import"../../icons/sort-user/index.js";import"../../icons/happy-robot/index.js";import"../../icons/happy-robot-gradient/index.js";import"../../icons/min-window/index.js";import"../../icons/max-window/index.js";import"../../icons/manage-chat/index.js";import"../../icons/analyze-urls/index.js";import"../../icons/web-search/index.js";import"../../icons/include-context/index.js";import"../../icons/queue/index.js";import"../../icons/sort-alphabet-ascending/index.js";import"../../icons/sort-alphabet-descending/index.js";import"../../icons/sort-date-ascending/index.js";import"../../icons/sort-date-descending/index.js";import"../../icons/cot-r1/index.js";import"../../icons/news/index.js";import"../../icons/volume/index.js";import"../../icons/flag-ru/index.js";import"../../icons/flag-kz/index.js";import"../../icons/print/index.js";import"../../icons/pc-icon-1/index.js";import"../../icons/pc-icon-2/index.js";import"../../icons/pc-icon-3/index.js";import"../../icons/star-unfilled/index.js";import"../../icons/image-generation/index.js";import"../../icons/speech-synthesys/index.js";import"../../icons/transcription/index.js";import"../../icons/text-rewrite/index.js";import"../../icons/code-generation/index.js";import"../../icons/essay-generation/index.js";import"../../icons/spelling/index.js";import"../../icons/text-generation/index.js";import"../../icons/traffic-analisys/index.js";import"../../icons/fav-profile/index.js";import"../../icons/exclamation/index.js";import"../../icons/article/index.js";import"../../icons/setchel/index.js";import"../../icons/assembly/index.js";import"../../icons/data-visualisation/index.js";import"../../icons/document-analisys/index.js";import"../../icons/problem-solvment/index.js";import"../../icons/setting-analisys/index.js";import"../../icons/translation/index.js";import"../../icons/stars/index.js";import"../../icons/academy/index.js";import"../../icons/articles/index.js";import"../../icons/blog-post/index.js";import"../../icons/book/index.js";import"../../icons/bow-tie/index.js";import"../../icons/case-study/index.js";import"../../icons/comments/index.js";import"../../icons/guide/index.js";import"../../icons/marketing/index.js";import"../../icons/post/index.js";import"../../icons/report/index.js";import"../../icons/review/index.js";import"../../icons/scientific-article/index.js";import"../../icons/selling-text/index.js";import"../../icons/textbook/index.js";import"../../icons/wind/index.js";import"../../icons/grok/index.js";import"../../icons/deepseek/index.js";import"../../icons/grid-horizontal/index.js";import"../../icons/grid-vertical/index.js";import"../../icons/star-gradient/index.js";import"../../icons/qwen/index.js";import"../../icons/sidebar-toggle-left/index.js";import"../../icons/sidebar-toggle-right/index.js";import"../../icons/system/index.js";import"../../icons/selector/index.js";import"../../icons/video-camera/index.js";import"../../icons/music-note/index.js";import"../../icons/add-profile/index.js";import"../../icons/token-counter/index.js";import"../../icons/customer-support/index.js";import"../../icons/sort-alphabet-top-bottom/index.js";import"../../icons/sort-alphabet-bottom-top/index.js";import"../../icons/pause/index.js";import"../../icons/play/index.js";import"../../icons/restore-2/index.js";import"../../icons/video-generation/index.js";import"../../icons/veo-model/index.js";import"../../icons/runway/index.js";import"../../icons/queue-select/index.js";import"../../icons/apple/index.js";import"../../icons/mail-colored/index.js";import"../../icons/shield/index.js";import"../../icons/stars-gradient/index.js";import"../../icons/fire/index.js";import"../../icons/brain/index.js";import"../../icons/mj-purple/index.js";import"../../icons/claude-black/index.js";import"../../icons/vk-filled/index.js";import"../../icons/tg/index.js";import"../../icons/gift/index.js";import"../../icons/exchange/index.js";import"../../icons/time/index.js";import"../../icons/folder/index.js";import"../../icons/history/index.js";import"../../icons/money-plus/index.js";import"../../icons/money-stack/index.js";import"../../icons/sort-numeric-bottom/index.js";import"../../icons/sort-numeric-top/index.js";import"../../icons/bulb/index.js";import"../../icons/prompt-queue/index.js";import"../../icons/image/index.js";import"../../icons/text/index.js";import"../../icons/code/index.js";import"../../icons/blue-grok/index.js";import"../../icons/double-image/index.js";import"../../icons/pdf-black/index.js";import"../../icons/csv/index.js";import"../../icons/xls-black/index.js";import"../../icons/word-black/index.js";import"../../icons/brain-black/index.js";import"../../icons/txt-black/index.js";import"../../icons/workspace/index.js";import"../../icons/chat-doc/index.js";import"../../icons/money-spend/index.js";import"../../icons/money-minus/index.js";import"../../icons/max-logo-gradient/index.js";import"../../icons/empty-word/index.js";import"../../icons/music-file/index.js";import"../../icons/sad-file/index.js";import"../../icons/happy-file/index.js";import"../../icons/volume-off/index.js";import"../../icons/github/index.js";import"../../icons/erase/index.js";import"../../icons/arrow-narrow-stars-right/index.js";import"../../icons/literature-list/index.js";import"../../icons/bell-dot/index.js";import"../../icons/bell/index.js";import"../../icons/kwaivgi/index.js";import"../../icons/dollar/index.js";import"../message/versions/styled.js";import"../message/copy/styled.js";import"../message/badge-progress/styled.js";import"../message/button/styled.js";import"../message/button/list/styled.js";import"../message/file/styled.js";import{MessageVoice as M}from"../message/voice/index.js";import"../message/reasoning-block/styled.js";import"../typography/styled.js";import"../message/search-results/styled.js";import"../message/video/styled.js";import"../message/music/styled.js";import{useVoice as N}from"./use-voice.js";import{useFiles as U}from"./use-files.js";import{useInput as G}from"./use-input.js";import{InputMessageFiles as H}from"./input-files.js";import{useTheme as W}from"../../theme/hook.js";const _=_=>{var{className:J,placeholder:Q,editingProps:X,hiddenSend:Y=!1,message:Z,files:ii,imageRequiredText:ei,disabled:si=!1,sendDisabled:oi=!1,textAreaDisabled:ni=!1,messageSubmitKey:ti="enter",concatenateText:ri,uploadFileLimit:di=20,concatenateVideo:ci,hideUploadFile:mi=!1,uploadFileDisabled:ai=!1,uploadFileAccept:pi,autoFocus:li=!0,voice:ji=!1,onChange:xi,handleImageClick:gi,onFilesChange:ui,onVoiceFilesChange:bi,onTextAreaChange:hi,onSend:yi,onFocus:fi,onBlur:ki,emitError:vi,actions:wi,attachAriaLabel:Fi,sendAriaLabel:Ai,saveAriaLabel:Ci,voiceAriaLabel:Li,stopVoiceAriaLabel:Vi,pauseVoiceAriaLabel:Di,resumeVoiceAriaLabel:Si,cancelEditAriaLabel:Ti,deleteVoiceAriaLabel:Ei,deleteFileAriaLabel:qi}=_,Pi=i(_,["className","placeholder","editingProps","hiddenSend","message","files","imageRequiredText","disabled","sendDisabled","textAreaDisabled","messageSubmitKey","concatenateText","uploadFileLimit","concatenateVideo","hideUploadFile","uploadFileDisabled","uploadFileAccept","autoFocus","voice","onChange","handleImageClick","onFilesChange","onVoiceFilesChange","onTextAreaChange","onSend","onFocus","onBlur","emitError","actions","attachAriaLabel","sendAriaLabel","saveAriaLabel","voiceAriaLabel","stopVoiceAriaLabel","pauseVoiceAriaLabel","resumeVoiceAriaLabel","cancelEditAriaLabel","deleteVoiceAriaLabel","deleteFileAriaLabel"]);const Ri=W(),$i=n(null),[zi,Bi]=t(!1),{files:Oi,setFiles:Ii,handleFilePaste:Ki,handleFileInputChange:Mi,handleSideUploadFiles:Ni,handleDeleteFile:Ui}=U({uploadFileAccept:pi,uploadFileLimit:di,uploadFileDisabled:ai,initialFiles:ii,emitError:vi,onFilesChange:ui}),{voiceFiles:Gi,isVoiceRecording:Hi,isVoicePaused:Wi,voiceRecordingTime:_i,setVoiceFiles:Ji,handleVoiceRecordStart:Qi,handleVoiceRecordEnd:Xi,handleVoiceResume:Yi,handleVoicePause:Zi,handleVoiceFileDelete:ie}=N({onVoiceFilesChange:bi}),{textareaRef:ee,isFocus:se,height:oe,message:ne,setHeight:te,setMessage:re,handleFocus:de,handleBlur:ce,handleClick:me,handleChange:ae}=G({initialMessage:Z,sendDisabled:oi,disabled:si,autoFocus:li,messageSubmitKey:ti,onChange:xi,onSendMessage:()=>{null==yi||yi(ne,Oi),null==Ii||Ii([]),null==Ji||Ji([])},onTextAreaChange:hi,onFocus:fi,onBlur:ki}),pe=r(i=>{i.stopPropagation(),null==yi||yi(ne,Oi),null==re||re(""),null==Ii||Ii([]),null==Ji||Ji([]),te("calc(var(--bothub-scale, 1) * 22px)")},[ne,Oi,yi,re,Ii,Ji]),le=r(i=>{var e;i.stopPropagation(),null===(e=$i.current)||void 0===e||e.click()},[$i]),je=null==Oi?void 0:Oi.filter(i=>i.native.type.startsWith("video/"));return s(d,{$active:se,$dragActive:zi,$disabled:si,$textAreaDisabled:ni,$voiceRecording:Hi,className:J,onClick:me,onDragEnter:()=>Bi(!0),onDragLeave:()=>Bi(!1),onDragOver:i=>(i.stopPropagation(),i.preventDefault(),!1),onDrop:i=>e(void 0,void 0,void 0,function*(){if(i.dataTransfer.files.length>0)return i.stopPropagation(),i.preventDefault(),yield Ni([...i.dataTransfer.files]),Bi(!1),!1}),children:o(c,{children:[o(m,{children:[!mi&&o(a,{children:[s(p,{$disabled:Oi.length>=di||si||ai,"aria-label":Fi,onClick:le,children:s(K,{size:18,fill:Ri.colors.base.white})}),s(l,{ref:$i,type:"file",accept:pi,multiple:!0,disabled:Oi.length>=di||si||ai,onChange:Mi},Oi.length)]}),wi]}),o(j,{onClick:me,children:[(null==X?void 0:X.isEditing)&&o(x,{children:[s(O,{size:24,children:s(B,{})}),o(g,{children:[o(u,{children:[s(b,{children:X.editingTitle}),o(h,{children:[s(y,{children:X.editFiles}),s(f,{children:X.editString})]})]}),s(k,{"aria-label":Ti,onClick:X.resetEdit,children:s(O,{size:18,children:s(I,{})})})]})]}),Hi&&null!==_i&&o(v,{children:[s(w,{}),s(F,{children:$(_i)})]}),s(H,{files:Oi,handleImageClick:gi,handleDeleteFile:Ui,deleteFileAriaLabel:qi}),ei&&s(A,{children:ei}),Gi.length>1&&s(A,{children:ri}),je.length>1&&s(A,{children:ci}),Gi.length>0&&s(C,{children:Gi.map(i=>o(L,{children:[s(M,{variant:"input",height:18,src:i.src,duration:i.duration,waveData:i.waveData,disableTranscription:!0}),s(V,{"aria-label":Ei,onClick:ie.bind(null,i)})]},i.src))}),(!ni||ni&&Q&&Oi.length!==di||ni&&ne)&&s(D,Object.assign({$disabled:si},Pi,{ref:ee,value:ne,placeholder:Q,disabled:si||ni,style:Object.assign(Object.assign({},Pi.style),{height:oe}),onFocus:de,onBlur:ce,onChange:ae,onPaste:Ki}))]}),o(S,{children:[Hi&&(Wi?s(T,{"aria-label":Si,onClick:Yi}):s(E,{"aria-label":Di,onClick:Zi})),ji&&s(q,{$isRecording:Hi,disabled:si||oi,"aria-label":Hi?Vi:Li,"aria-pressed":Hi,onClick:Hi?Xi:Qi,"data-test":"submit-message"}),!Y&&!Hi&&s(P,Object.assign({disabled:si||oi||Hi,"aria-label":(null==X?void 0:X.isEditing)&&null!=Ci?Ci:Ai,onClick:pe},Ri.bright&&{iconFill:Ri.default.colors.base.black},{"data-test":"submit-message",children:(null==X?void 0:X.isEditing)?s(z,{}):s(R,{})}))]})]})})};export{_ as InputMessage,H as InputMessageFiles};
|
|
1
|
+
import{__rest as i,__awaiter as e}from"tslib";import{jsx as s,jsxs as o}from"react/jsx-runtime";import{useRef as n,useState as t,useCallback as r}from"react";import{InputMessageStyled as d,InputMessageContent as c,InputMessageActions as m,InputMessageUploadFile as a,InputMessageUploadFileLabel as p,InputMessageUploadFileInput as l,InputMessageMain as j,InputMessageEditWrapper as x,InputMessageContentWrapper as g,InputMessageContentInfo as u,InputMessageContentActionText as b,InputMessageContentTextWrapper as h,InputMessageContentTextFiles as y,InputMessageContentTextMessage as f,InputMessageCloseEditButton as k,InputMessageVoiceRecord as v,InputMessageVoiceRecordDot as w,InputMessageVoiceRecordTimeText as F,InputMessageConcatenateWarning as A,InputMessageVoiceFiles as C,InputMessageVoiceTrack as L,InputMessageVoiceFileDelete as V,InputMessageTextArea as D,InputMessageButtons as S,InputMessageVoicePlayButton as T,InputMessageVoicePauseButton as E,InputMessageVoiceButton as q,InputMessageSendButton as P,InputMessageSendIcon as R}from"./styled.js";import"marked";import"../message/styled.js";import"../loader/styled.js";import"../../theme/index.js";import"../loader/three-dots-loader/styled.js";import"../skeleton/index.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import{formatSeconds as $}from"../../utils/formatSeconds.js";import"../message/context.js";import"styled-components";import"../message/components/code/inline/styled.js";import"../message/components/code/multiline/styled.js";import"@react-spring/web";import"react-markdown";import"react-dom";import"../portal/styled.js";import"../tooltip/styled.js";import"../tooltip/arrow/styled.js";import"../tooltip/context.js";import"../message/components/code/multiline/copy/styled.js";import{CheckSmallIcon as z}from"../../icons/check-small/index.js";import"../../icons/copy/index.js";import"../message/components/code/multiline/content/styled.js";import"../message/components/paragraph/styled.js";import"../message/components/bold/styled.js";import"../message/components/italic/styled.js";import"../message/components/strike/styled.js";import"../message/components/blockquote/styled.js";import"../message/components/hr/styled.js";import"../message/components/pre/styled.js";import"../message/components/table/styled.js";import"../message/components/table/cell/styled.js";import"../message/components/list/styled.js";import"../message/components/list/context.js";import"../message/components/list/item/styled.js";import"../message/components/title/styled.js";import"../message/components/link/styled.js";import"../message/components/image/styled.js";import"../message/components/image/context.js";import"../message/components/image/grid/styled.js";import"../message/components/image/button/styled.js";import"../message/components/image/button/list/styled.js";import"../message/components/document-copy/styled.js";import"../message/components/cite/styled.js";import"../message/markdown/styled.js";import"../message/markdown/markdown-components.js";import"remark-math";import"rehype-katex";import"katex/dist/katex.min.css";import"../scrollbar/styled.js";import"../scrollbar/shadow/styled.js";import"../scrollbar/style/styled.js";import"../message/timestamp/styled.js";import"../../icons/menu-dot/index.js";import"../../icons/update/index.js";import"../../icons/resend/index.js";import{EditIcon as B}from"../../icons/edit/index.js";import"../../icons/trash/index.js";import"../../icons/thumb-down/index.js";import"../../icons/download-img/index.js";import"../message/actions/styled.js";import"../message/actions/copy-button/styled.js";import{IconProvider as O}from"../icon/context.js";import"../icon/styled.js";import"../../icons/fork-chat/index.js";import"../message/actions/fork-button/styled.js";import"../message/list/styled.js";import"../message/scroll-button/styled.js";import"../../icons/arrow-down/index.js";import"../../icons/arrow-narrow-left/index.js";import"../../icons/arrow-narrow-right/index.js";import"../../icons/arrow-up/index.js";import"../../icons/bitcoin/index.js";import"../../icons/bot-circle/index.js";import"../../icons/bothub-agg/index.js";import"../../icons/business-colored/index.js";import"../../icons/check-circle/index.js";import{CloseIcon as I}from"../../icons/close/index.js";import"../../icons/email-circle/index.js";import"../../icons/language/index.js";import"../../icons/lock-circle/index.js";import"../../icons/menu/index.js";import"../../icons/medium-circle/index.js";import"../../icons/tg-circle/index.js";import"../../icons/tg-colored/index.js";import"../../icons/youcassa/index.js";import"../../icons/dashboard/index.js";import"../../icons/user-profile/index.js";import"../../icons/logout/index.js";import"../../icons/habr-2/index.js";import"../../icons/arrow-2-down/index.js";import"../../icons/links/index.js";import"../../icons/free/index.js";import"../../icons/hotness/index.js";import"../../icons/checked/index.js";import"../../icons/ai/index.js";import"../../icons/bookmarks/index.js";import"../../icons/bookmarks-big/index.js";import"../../icons/chat/index.js";import"../../icons/chats/index.js";import"../../icons/coder/index.js";import"../../icons/presets-big/index.js";import"../../icons/referal/index.js";import"../../icons/restore/index.js";import"../../icons/tariff/index.js";import"../../icons/plus-2/index.js";import"../../icons/plus-1/index.js";import"../../icons/send/index.js";import"../../icons/settings/index.js";import"../../icons/habr/index.js";import"../../icons/stop/index.js";import"../../icons/thumb-up/index.js";import"../../icons/star/index.js";import"../../icons/info-big/index.js";import"../../icons/warning-big/index.js";import"../../icons/error-big/index.js";import"../../icons/success-big/index.js";import"../../icons/mj/index.js";import"../../icons/card/index.js";import"../../icons/arrow-narrow-up/index.js";import"../../icons/arrow-narrow-down/index.js";import"../../icons/filters/index.js";import"../../icons/info/index.js";import"../../icons/search-circle/index.js";import"../../icons/save/index.js";import"../../icons/light/index.js";import"../../icons/dark/index.js";import"../../icons/email-colored/index.js";import"../../icons/action-chat/index.js";import{AttachIcon as K}from"../../icons/attach/index.js";import"../../icons/avatar-add/index.js";import"../../icons/brush/index.js";import"../../icons/calendar/index.js";import"../../icons/claude/index.js";import"../../icons/cookie/index.js";import"../../icons/dalle/index.js";import"../../icons/error/index.js";import"../../icons/expand/index.js";import"../../icons/eye/index.js";import"../../icons/face/index.js";import"../../icons/gear/index.js";import"../../icons/gear-min/index.js";import"../../icons/generation/index.js";import"../../icons/gpt-3_5/index.js";import"../../icons/gpt-4/index.js";import"../../icons/imagine/index.js";import"../../icons/imagine-2/index.js";import"../../icons/loader/index.js";import"../../icons/loader-circular/index.js";import"../../icons/loader-circular-gradient/index.js";import"../../icons/loader-circular-gradient-2/index.js";import"../../icons/minus/index.js";import"../../icons/mj-white/index.js";import"../../icons/prompt/index.js";import"../../icons/rabbit/index.js";import"../../icons/ratio-1x1/index.js";import"../../icons/ratio-2x3/index.js";import"../../icons/ratio-3x2/index.js";import"../../icons/ratio-4x5/index.js";import"../../icons/ratio-4x7/index.js";import"../../icons/ratio-5x4/index.js";import"../../icons/ratio-7x4/index.js";import"../../icons/ratio-16x9/index.js";import"../../icons/ratio-9x16/index.js";import"../../icons/ratio-21x9/index.js";import"../../icons/ratio-9x21/index.js";import"../../icons/refferal-min/index.js";import"../../icons/search-data/index.js";import"../../icons/square/index.js";import"../../icons/turtle/index.js";import"../../icons/upscale/index.js";import"../../icons/withdraw/index.js";import"../../icons/search-plus/index.js";import"../../icons/lightning/index.js";import"../../icons/blog-circle/index.js";import"../../icons/stripe/index.js";import"../../icons/corporate/index.js";import"../../icons/public/index.js";import"../../icons/private/index.js";import"../../icons/mistral/index.js";import"../../icons/gemini/index.js";import"../../icons/search-simple/index.js";import"../../icons/sad-robot/index.js";import"../../icons/model/index.js";import"../../icons/phone-colored/index.js";import"../../icons/questions/index.js";import"../../icons/pdf-big/index.js";import"../../icons/xls-big/index.js";import"../../icons/word-big/index.js";import"../../icons/txt-big/index.js";import"../../icons/pdf/index.js";import"../../icons/xls/index.js";import"../../icons/word/index.js";import"../../icons/txt/index.js";import"../../icons/bothub-logo-gradient/index.js";import"../../icons/telegram-logo-gradient/index.js";import"../../icons/decline-circle/index.js";import"../../icons/simple-gear-bg/index.js";import"../../icons/advanced-filter/index.js";import"../../icons/big-corporate/index.js";import"../../icons/big-mj/index.js";import"../../icons/big-models/index.js";import"../../icons/big-stats/index.js";import"../../icons/big-success/index.js";import"../../icons/big-users/index.js";import"../../icons/optional-presets/index.js";import"../../icons/wallet-withdraw/index.js";import"../../icons/big-presets/index.js";import"../../icons/big-favorite/index.js";import"../../icons/big-referal/index.js";import"../../icons/attach-file/index.js";import"../../icons/attach-file-big/index.js";import"../../icons/voice/index.js";import"../../icons/play-button/index.js";import"../../icons/pause-button/index.js";import"../../icons/text-read/index.js";import"../../icons/text-hide/index.js";import"../../icons/best-chat-bots/index.js";import"../../icons/upload/index.js";import"../../icons/enter/index.js";import"../../icons/discord/index.js";import"../../icons/discord-circle/index.js";import"../../icons/black-forest-labs/index.js";import"../../icons/flux/index.js";import"../../icons/stable-diffusion/index.js";import"../../icons/stability-ai/index.js";import"../../icons/article-generator/index.js";import"../../icons/success/index.js";import"../../icons/google/index.js";import"../../icons/yandex/index.js";import"../../icons/vk/index.js";import"../../icons/big-article/index.js";import"../../icons/add-chat/index.js";import"../../icons/add-group/index.js";import"../../icons/drag-dot/index.js";import"../../icons/add-folder/index.js";import"../../icons/temp-chat/index.js";import"../../icons/delete-chat/index.js";import"../../icons/sidebar-chat/index.js";import"../../icons/organization/index.js";import"../../icons/simple-gear/index.js";import"../../icons/text-bold/index.js";import"../../icons/text-italic/index.js";import"../../icons/text-underline/index.js";import"../../icons/text-strikethrough/index.js";import"../../icons/refresh/index.js";import"../../icons/copy-variants/index.js";import"../../icons/sort-ascending/index.js";import"../../icons/sort-descending/index.js";import"../../icons/quote/index.js";import"../../icons/url-circle/index.js";import"../../icons/show-ui/index.js";import"../../icons/hide-ui/index.js";import"../../icons/sort-user/index.js";import"../../icons/happy-robot/index.js";import"../../icons/happy-robot-gradient/index.js";import"../../icons/min-window/index.js";import"../../icons/max-window/index.js";import"../../icons/manage-chat/index.js";import"../../icons/analyze-urls/index.js";import"../../icons/web-search/index.js";import"../../icons/include-context/index.js";import"../../icons/queue/index.js";import"../../icons/sort-alphabet-ascending/index.js";import"../../icons/sort-alphabet-descending/index.js";import"../../icons/sort-date-ascending/index.js";import"../../icons/sort-date-descending/index.js";import"../../icons/cot-r1/index.js";import"../../icons/news/index.js";import"../../icons/volume/index.js";import"../../icons/flag-ru/index.js";import"../../icons/flag-kz/index.js";import"../../icons/print/index.js";import"../../icons/pc-icon-1/index.js";import"../../icons/pc-icon-2/index.js";import"../../icons/pc-icon-3/index.js";import"../../icons/star-unfilled/index.js";import"../../icons/image-generation/index.js";import"../../icons/speech-synthesys/index.js";import"../../icons/transcription/index.js";import"../../icons/text-rewrite/index.js";import"../../icons/code-generation/index.js";import"../../icons/essay-generation/index.js";import"../../icons/spelling/index.js";import"../../icons/text-generation/index.js";import"../../icons/traffic-analisys/index.js";import"../../icons/fav-profile/index.js";import"../../icons/exclamation/index.js";import"../../icons/article/index.js";import"../../icons/setchel/index.js";import"../../icons/assembly/index.js";import"../../icons/data-visualisation/index.js";import"../../icons/document-analisys/index.js";import"../../icons/problem-solvment/index.js";import"../../icons/setting-analisys/index.js";import"../../icons/translation/index.js";import"../../icons/stars/index.js";import"../../icons/academy/index.js";import"../../icons/articles/index.js";import"../../icons/blog-post/index.js";import"../../icons/book/index.js";import"../../icons/bow-tie/index.js";import"../../icons/case-study/index.js";import"../../icons/comments/index.js";import"../../icons/guide/index.js";import"../../icons/marketing/index.js";import"../../icons/post/index.js";import"../../icons/report/index.js";import"../../icons/review/index.js";import"../../icons/scientific-article/index.js";import"../../icons/selling-text/index.js";import"../../icons/textbook/index.js";import"../../icons/wind/index.js";import"../../icons/grok/index.js";import"../../icons/deepseek/index.js";import"../../icons/grid-horizontal/index.js";import"../../icons/grid-vertical/index.js";import"../../icons/star-gradient/index.js";import"../../icons/qwen/index.js";import"../../icons/sidebar-toggle-left/index.js";import"../../icons/sidebar-toggle-right/index.js";import"../../icons/system/index.js";import"../../icons/selector/index.js";import"../../icons/video-camera/index.js";import"../../icons/music-note/index.js";import"../../icons/add-profile/index.js";import"../../icons/token-counter/index.js";import"../../icons/customer-support/index.js";import"../../icons/sort-alphabet-top-bottom/index.js";import"../../icons/sort-alphabet-bottom-top/index.js";import"../../icons/pause/index.js";import"../../icons/play/index.js";import"../../icons/restore-2/index.js";import"../../icons/video-generation/index.js";import"../../icons/veo-model/index.js";import"../../icons/runway/index.js";import"../../icons/queue-select/index.js";import"../../icons/apple/index.js";import"../../icons/mail-colored/index.js";import"../../icons/shield/index.js";import"../../icons/stars-gradient/index.js";import"../../icons/fire/index.js";import"../../icons/brain/index.js";import"../../icons/mj-purple/index.js";import"../../icons/claude-black/index.js";import"../../icons/vk-filled/index.js";import"../../icons/tg/index.js";import"../../icons/gift/index.js";import"../../icons/exchange/index.js";import"../../icons/time/index.js";import"../../icons/folder/index.js";import"../../icons/history/index.js";import"../../icons/money-plus/index.js";import"../../icons/money-stack/index.js";import"../../icons/sort-numeric-bottom/index.js";import"../../icons/sort-numeric-top/index.js";import"../../icons/bulb/index.js";import"../../icons/prompt-queue/index.js";import"../../icons/image/index.js";import"../../icons/text/index.js";import"../../icons/code/index.js";import"../../icons/blue-grok/index.js";import"../../icons/double-image/index.js";import"../../icons/pdf-black/index.js";import"../../icons/csv/index.js";import"../../icons/xls-black/index.js";import"../../icons/word-black/index.js";import"../../icons/brain-black/index.js";import"../../icons/txt-black/index.js";import"../../icons/workspace/index.js";import"../../icons/chat-doc/index.js";import"../../icons/money-spend/index.js";import"../../icons/money-minus/index.js";import"../../icons/max-logo-gradient/index.js";import"../../icons/empty-word/index.js";import"../../icons/music-file/index.js";import"../../icons/sad-file/index.js";import"../../icons/happy-file/index.js";import"../../icons/volume-off/index.js";import"../../icons/github/index.js";import"../../icons/erase/index.js";import"../../icons/arrow-narrow-stars-right/index.js";import"../../icons/literature-list/index.js";import"../../icons/bell-dot/index.js";import"../../icons/bell/index.js";import"../../icons/kwaivgi/index.js";import"../../icons/dollar/index.js";import"../message/versions/styled.js";import"../message/copy/styled.js";import"../message/badge-progress/styled.js";import"../message/button/styled.js";import"../message/button/list/styled.js";import"../message/file/styled.js";import{MessageVoice as M}from"../message/voice/index.js";import"../message/reasoning-block/styled.js";import"../typography/styled.js";import"../message/search-results/styled.js";import"../message/video/styled.js";import"../message/music/styled.js";import{useVoice as N}from"./use-voice.js";import{useFiles as U}from"./use-files.js";import{useInput as G}from"./use-input.js";import{InputMessageFiles as H}from"./input-files.js";import{useTheme as W}from"../../theme/hook.js";const _=_=>{var{className:J,placeholder:Q,editingProps:X,hiddenSend:Y=!1,message:Z,files:ii,imageRequiredText:ei,disabled:si=!1,sendDisabled:oi=!1,textAreaDisabled:ni=!1,messageSubmitKey:ti="enter",concatenateText:ri,uploadFileLimit:di=20,concatenateVideo:ci,hideUploadFile:mi=!1,uploadFileDisabled:ai=!1,uploadFileAccept:pi,autoFocus:li=!0,voice:ji=!1,onChange:xi,handleImageClick:gi,onFilesChange:ui,onVoiceFilesChange:bi,onTextAreaChange:hi,onSend:yi,onFocus:fi,onBlur:ki,emitError:vi,actions:wi,attachAriaLabel:Fi,sendAriaLabel:Ai,saveAriaLabel:Ci,voiceAriaLabel:Li,stopVoiceAriaLabel:Vi,pauseVoiceAriaLabel:Di,resumeVoiceAriaLabel:Si,cancelEditAriaLabel:Ti,deleteVoiceAriaLabel:Ei,deleteFileAriaLabel:qi}=_,Pi=i(_,["className","placeholder","editingProps","hiddenSend","message","files","imageRequiredText","disabled","sendDisabled","textAreaDisabled","messageSubmitKey","concatenateText","uploadFileLimit","concatenateVideo","hideUploadFile","uploadFileDisabled","uploadFileAccept","autoFocus","voice","onChange","handleImageClick","onFilesChange","onVoiceFilesChange","onTextAreaChange","onSend","onFocus","onBlur","emitError","actions","attachAriaLabel","sendAriaLabel","saveAriaLabel","voiceAriaLabel","stopVoiceAriaLabel","pauseVoiceAriaLabel","resumeVoiceAriaLabel","cancelEditAriaLabel","deleteVoiceAriaLabel","deleteFileAriaLabel"]);const Ri=W(),$i=n(null),[zi,Bi]=t(!1),{files:Oi,setFiles:Ii,handleFilePaste:Ki,handleFileInputChange:Mi,handleSideUploadFiles:Ni,handleDeleteFile:Ui}=U({uploadFileAccept:pi,uploadFileLimit:di,uploadFileDisabled:ai,initialFiles:ii,emitError:vi,onFilesChange:ui}),{voiceFiles:Gi,isVoiceRecording:Hi,isVoicePaused:Wi,voiceRecordingTime:_i,setVoiceFiles:Ji,handleVoiceRecordStart:Qi,handleVoiceRecordEnd:Xi,handleVoiceResume:Yi,handleVoicePause:Zi,handleVoiceFileDelete:ie}=N({onVoiceFilesChange:bi}),{textareaRef:ee,isFocus:se,height:oe,message:ne,setHeight:te,setMessage:re,handleFocus:de,handleBlur:ce,handleClick:me,handleChange:ae}=G({initialMessage:Z,sendDisabled:oi,disabled:si,autoFocus:li,messageSubmitKey:ti,onChange:xi,onSendMessage:()=>{null==yi||yi(ne,Oi),null==Ii||Ii([]),null==Ji||Ji([])},onTextAreaChange:hi,onFocus:fi,onBlur:ki}),pe=r(i=>{i.stopPropagation(),null==yi||yi(ne,Oi),null==re||re(""),null==Ii||Ii([]),null==Ji||Ji([]),te("calc(var(--bothub-scale, 1) * 22px)")},[ne,Oi,yi,re,Ii,Ji]),le=r(i=>{var e;i.stopPropagation(),null===(e=$i.current)||void 0===e||e.click()},[$i]),je=null==Oi?void 0:Oi.filter(i=>i.native.type.startsWith("video/"));return s(d,{$active:se,$dragActive:zi,$disabled:si,$textAreaDisabled:ni,$voiceRecording:Hi,className:J,onClick:me,onDragEnter:()=>Bi(!0),onDragLeave:()=>Bi(!1),onDragOver:i=>(i.stopPropagation(),i.preventDefault(),!1),onDrop:i=>e(void 0,void 0,void 0,function*(){if(i.dataTransfer.files.length>0)return i.stopPropagation(),i.preventDefault(),yield Ni([...i.dataTransfer.files]),Bi(!1),!1}),children:o(c,{children:[o(m,{children:[!mi&&o(a,{children:[s(p,{$disabled:Oi.length>=di||si||ai,"aria-label":Fi,onClick:le,children:s(K,{size:18,fill:Ri.colors.base.white})}),s(l,{ref:$i,type:"file",accept:pi,multiple:!0,disabled:Oi.length>=di||si||ai,onChange:Mi},Oi.length)]}),wi]}),o(j,{onClick:me,children:[(null==X?void 0:X.isEditing)&&o(x,{children:[s(O,{size:24,children:s(B,{})}),o(g,{children:[o(u,{children:[s(b,{children:X.editingTitle}),o(h,{children:[s(y,{children:X.editFiles}),s(f,{children:X.editString})]})]}),s(k,{"aria-label":Ti,onClick:X.resetEdit,children:s(O,{size:18,children:s(I,{})})})]})]}),Hi&&null!==_i&&o(v,{children:[s(w,{}),s(F,{children:$(_i)})]}),s(H,{files:Oi,handleImageClick:gi,handleDeleteFile:Ui,deleteFileAriaLabel:qi}),ei&&s(A,{children:ei}),Gi.length>1&&s(A,{children:ri}),je.length>1&&s(A,{children:ci}),Gi.length>0&&s(C,{children:Gi.map(i=>o(L,{children:[s(M,{variant:"input",height:18,src:i.src,duration:i.duration,waveData:i.waveData,disableTranscription:!0}),s(V,{"aria-label":Ei,onClick:ie.bind(null,i)})]},i.src))}),(!ni||ni&&Q&&Oi.length!==di||ni&&ne)&&s(D,Object.assign({$disabled:si},Pi,{ref:ee,value:ne,placeholder:Q,disabled:si||ni,style:Object.assign(Object.assign({},Pi.style),{height:oe}),onFocus:de,onBlur:ce,onChange:ae,onPaste:Ki}))]}),o(S,{children:[Hi&&(Wi?s(T,{"aria-label":Si,onClick:Yi}):s(E,{"aria-label":Di,onClick:Zi})),ji&&s(q,{$isRecording:Hi,disabled:si||oi,"aria-label":Hi?Vi:Li,"aria-pressed":Hi,onClick:Hi?Xi:Qi,"data-test":"submit-message"}),!Y&&!Hi&&s(P,Object.assign({disabled:si||oi||Hi,"aria-label":(null==X?void 0:X.isEditing)&&null!=Ci?Ci:Ai,onClick:pe},Ri.bright&&{iconFill:Ri.default.colors.base.black},{"data-test":"submit-message",children:(null==X?void 0:X.isEditing)?s(z,{}):s(R,{})}))]})]})})};export{_ as InputMessage,H as InputMessageFiles};
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import{styled as e,css as
|
|
1
|
+
import{styled as e,css as t}from"styled-components";import{Typography as o}from"../../../../typography/index.js";const r=e(o).attrs({component:"li",variant:"body-l-regular"}).withConfig({displayName:"styled__MessageListItemStyled",componentId:"sc-eogt8p-0"})(["display:block;position:relative;color:",";&:not(:first-child){margin-top:10px;}"," &.task-list-item{padding-left:0px;&:before{content:none;}> input[type='checkbox']{margin:0px 8px 0px 0px;vertical-align:middle;}}&::selection{","}"],({theme:e,$messageColor:t})=>e.colors.base.white,({theme:e,$variant:o,$messageColor:r})=>{switch(o){case"dot":{let o;return o="default"!==r?e.default.colors.base.white:e.colors.accent.primary,t`
|
|
2
2
|
padding-left: 22px;
|
|
3
3
|
&:before {
|
|
4
4
|
display: inline-block;
|
|
5
5
|
position: absolute;
|
|
6
6
|
left: 0px;
|
|
7
7
|
font-weight: 700;
|
|
8
|
-
color: ${
|
|
8
|
+
color: ${o};
|
|
9
9
|
padding-right: 8px;
|
|
10
10
|
content: '•';
|
|
11
11
|
}
|
|
12
|
-
`}case"number":{let
|
|
12
|
+
`}case"number":{let o;return o="default"!==r?e.colors.base.white:"dark"===e.mode?e.default.colors.grayScale.gray6:e.default.colors.base.black,t`
|
|
13
13
|
&:before {
|
|
14
14
|
display: inline-block;
|
|
15
15
|
position: relative;
|
|
16
16
|
left: 0px;
|
|
17
17
|
padding-right: 8px;
|
|
18
|
-
color: ${
|
|
18
|
+
color: ${o};
|
|
19
19
|
counter-increment: item;
|
|
20
20
|
content: counter(item) '.';
|
|
21
21
|
}
|
|
22
22
|
& > ol {
|
|
23
23
|
padding-left: 22px;
|
|
24
24
|
}
|
|
25
|
-
`}}},({$messageColor:e})=>{switch(e){case"default":return
|
|
25
|
+
`}}},({$messageColor:e})=>{switch(e){case"default":return t`
|
|
26
26
|
background: ${({theme:e})=>"light"===e.mode?e.default.colors.accent.primary:e.colors.base.white};
|
|
27
27
|
color: ${({theme:e})=>"light"===e.mode?e.default.colors.base.white:e.colors.accent.primary};
|
|
28
|
-
`;case"green":return
|
|
28
|
+
`;case"green":return t`
|
|
29
29
|
background: ${({theme:e})=>e.default.colors.base.white};
|
|
30
30
|
color: ${({theme:e})=>e.colors.gpt3};
|
|
31
|
-
`;case"purple":return
|
|
31
|
+
`;case"purple":return t`
|
|
32
32
|
background: ${({theme:e})=>e.default.colors.base.white};
|
|
33
33
|
color: ${({theme:e})=>e.colors.gpt4};
|
|
34
|
-
`;default:return
|
|
34
|
+
`;default:return t`
|
|
35
35
|
background: ${({theme:e})=>e.default.colors.base.white};
|
|
36
36
|
color: ${e};
|
|
37
37
|
`}});export{r as MessageListItemStyled};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as
|
|
1
|
+
import{__rest as e}from"tslib";import{jsx as s}from"react/jsx-runtime";import{MessageTableCellStyled as r,MessageTableHeadCell as t,MessageTableCellText as o}from"./styled.js";import{useMessage as a}from"../../../context.js";const l=l=>{var{className:c,style:m,head:i=!1,children:n}=l,d=e(l,["className","style","head","children"]);const{color:h}=a();return s(r,Object.assign({className:c,style:m,as:i?t:r},d,{children:s(o,{$head:i,$messageColor:h,children:n})}))};export{l as MessageTableCell,r as MessageTableCellStyled,o as MessageTableCellText,t as MessageTableHeadCell};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as i}from"tslib";import{jsx as o,jsxs as e,Fragment as s}from"react/jsx-runtime";import{useRef as n,useCallback as t,useEffect as r}from"react";import{marked as d}from"marked";import{MessageStyledWrapper as c,MessageStyledWithBottomPanel as p,MessageStyled as m,MessageContent as a,MessageTop as l,MessageSender as x,MessageName as j,MessageAvatarWrapper as g,MessageAvatar as u,MessageBlockWrapper as b,MessageBlock as y,MessageBlockScrollbarWrapper as f,MessageBlockContent as h,MessageBlockBottomPanel as k,MessageBlockTransaction as w,MessageButtonsStyled as M}from"./styled.js";export{MessageAction,MessageBlockTextArea,MessageEditAction,MessageImageBottomArrowButton,MessageImageLeftArrowButton,MessageImageRightArrowButton,MessageImageTopArrowButton,MessageTag,MessageTags,MessageTransaction}from"./styled.js";import{Loader as T}from"../loader/index.js";import{Skeleton as v}from"../skeleton/index.js";import"../../theme/index.js";import{getTgMarkdown as C}from"../../utils/getTgMarkdown.js";import{prepareClipboardHtml as S,CLIPBOARD_NORMAL_STYLE as I}from"../../utils/prepareClipboardHtml.js";import{colorToRgba as B}from"../../utils/colors/colorToRgba.js";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import{MessageProvider as L}from"./context.js";export{MessageConsumer,MessageContext,useMessage}from"./context.js";import"styled-components";export{MessageInlineCodeStyled}from"./components/code/inline/styled.js";export{MessageMultilineCodeBody,MessageMultilineCodeHead,MessageMultilineCodeLanguage,MessageMultilineCodeStyled}from"./components/code/multiline/styled.js";import"@react-spring/web";import"react-markdown";import"react-dom";import"../portal/styled.js";import"../tooltip/styled.js";import"../tooltip/arrow/styled.js";import"../tooltip/context.js";import"./components/code/multiline/copy/styled.js";import"../../icons/check-small/index.js";import"../../icons/copy/index.js";import"./components/code/multiline/content/styled.js";import{MessageParagraph as $}from"./components/paragraph/index.js";export{MessageBoldStyled}from"./components/bold/styled.js";export{MessageItalicStyled}from"./components/italic/styled.js";export{MessageStrikeStyled}from"./components/strike/styled.js";export{MessageBlockquoteStyled}from"./components/blockquote/styled.js";export{MessageHrStyled}from"./components/hr/styled.js";export{MessagePre}from"./components/pre/styled.js";export{MessageTableBody,MessageTableContent,MessageTableHead,MessageTableRow,MessageTableStyled}from"./components/table/styled.js";export{MessageTableCellStyled,MessageTableCellText,MessageTableHeadCell}from"./components/table/cell/styled.js";export{MessageListStyled}from"./components/list/styled.js";import"./components/list/context.js";export{MessageListItemStyled}from"./components/list/item/styled.js";export{MessageTitleStyled}from"./components/title/styled.js";export{MessageLinkStyled}from"./components/link/styled.js";export{MessageImageNative,MessageImageSkeleton,MessageImageStyled}from"./components/image/styled.js";export{MessageImageConsumer,MessageImageContext,MessageImageProvider,useMessageImage}from"./components/image/context.js";export{MessageImageGrid}from"./components/image/grid/styled.js";export{MessageImageButtonContent,MessageImageButtonStyled,MessageImageButtonZoneWrapper}from"./components/image/button/styled.js";export{MessageImageButtonsContent,MessageImageButtonsStyled}from"./components/image/button/list/styled.js";import"./components/document-copy/styled.js";export{MessageCiteStyled}from"./components/cite/styled.js";import{MessageMarkdown as R}from"./markdown/index.js";import"../scrollbar/styled.js";import{ScrollbarShadow as q}from"../scrollbar/shadow/index.js";import"../scrollbar/style/styled.js";import{MessageTimestamp as A}from"./timestamp/index.js";import{MessageActions as F}from"./actions/index.js";import{MessageVersions as P}from"./versions/index.js";import"./list/styled.js";import"./scroll-button/styled.js";import"./copy/styled.js";import"./badge-progress/styled.js";export{MessageButton}from"./button/styled.js";import"./button/list/styled.js";export{MessageFileInfo,MessageFileName,MessageFileSize,MessageFileStyled,MessageFiles}from"./file/styled.js";import"../icon/styled.js";import"../../icons/pdf-big/index.js";import"../../icons/txt-big/index.js";import"../../icons/word-big/index.js";import"../../icons/xls-big/index.js";import"../../icons/attach-file-big/index.js";import"./voice/styled.js";import"../../icons/loader-circular-gradient-2/index.js";import"./reasoning-block/styled.js";import"../../icons/analyze-urls/index.js";import"../typography/styled.js";import"./search-results/styled.js";import"../../icons/arrow-down/index.js";import"../../icons/arrow-narrow-left/index.js";import"../../icons/arrow-narrow-right/index.js";import"../../icons/arrow-up/index.js";import"../../icons/bitcoin/index.js";import"../../icons/bot-circle/index.js";import"../../icons/bothub-agg/index.js";import"../../icons/business-colored/index.js";import"../../icons/check-circle/index.js";import"../../icons/close/index.js";import"../../icons/email-circle/index.js";import"../../icons/language/index.js";import"../../icons/lock-circle/index.js";import"../../icons/menu/index.js";import"../../icons/medium-circle/index.js";import"../../icons/tg-circle/index.js";import"../../icons/tg-colored/index.js";import"../../icons/youcassa/index.js";import"../../icons/dashboard/index.js";import"../../icons/user-profile/index.js";import"../../icons/logout/index.js";import"../../icons/habr-2/index.js";import"../../icons/arrow-2-down/index.js";import"../../icons/links/index.js";import"../../icons/free/index.js";import"../../icons/hotness/index.js";import"../../icons/checked/index.js";import"../../icons/ai/index.js";import"../../icons/bookmarks/index.js";import"../../icons/bookmarks-big/index.js";import"../../icons/chat/index.js";import"../../icons/chats/index.js";import"../../icons/coder/index.js";import"../../icons/edit/index.js";import"../../icons/presets-big/index.js";import"../../icons/referal/index.js";import"../../icons/restore/index.js";import"../../icons/tariff/index.js";import"../../icons/trash/index.js";import"../../icons/update/index.js";import"../../icons/menu-dot/index.js";import"../../icons/plus-2/index.js";import"../../icons/plus-1/index.js";import"../../icons/send/index.js";import"../../icons/settings/index.js";import"../../icons/habr/index.js";import"../../icons/stop/index.js";import"../../icons/thumb-up/index.js";import"../../icons/thumb-down/index.js";import"../../icons/star/index.js";import"../../icons/info-big/index.js";import"../../icons/warning-big/index.js";import"../../icons/error-big/index.js";import"../../icons/success-big/index.js";import"../../icons/mj/index.js";import"../../icons/card/index.js";import"../../icons/arrow-narrow-up/index.js";import"../../icons/arrow-narrow-down/index.js";import"../../icons/filters/index.js";import"../../icons/info/index.js";import"../../icons/search-circle/index.js";import"../../icons/save/index.js";import"../../icons/light/index.js";import"../../icons/dark/index.js";import"../../icons/email-colored/index.js";import"../../icons/action-chat/index.js";import"../../icons/attach/index.js";import"../../icons/avatar-add/index.js";import"../../icons/brush/index.js";import"../../icons/calendar/index.js";import"../../icons/claude/index.js";import"../../icons/cookie/index.js";import"../../icons/dalle/index.js";import"../../icons/download-img/index.js";import"../../icons/error/index.js";import"../../icons/expand/index.js";import"../../icons/eye/index.js";import"../../icons/face/index.js";import"../../icons/gear/index.js";import"../../icons/gear-min/index.js";import"../../icons/generation/index.js";import"../../icons/gpt-3_5/index.js";import"../../icons/gpt-4/index.js";import"../../icons/imagine/index.js";import"../../icons/imagine-2/index.js";import"../../icons/loader/index.js";import"../../icons/loader-circular/index.js";import"../../icons/loader-circular-gradient/index.js";import"../../icons/minus/index.js";import"../../icons/mj-white/index.js";import"../../icons/prompt/index.js";import"../../icons/rabbit/index.js";import"../../icons/ratio-1x1/index.js";import"../../icons/ratio-2x3/index.js";import"../../icons/ratio-3x2/index.js";import"../../icons/ratio-4x5/index.js";import"../../icons/ratio-4x7/index.js";import"../../icons/ratio-5x4/index.js";import"../../icons/ratio-7x4/index.js";import"../../icons/ratio-16x9/index.js";import"../../icons/ratio-9x16/index.js";import"../../icons/ratio-21x9/index.js";import"../../icons/ratio-9x21/index.js";import"../../icons/refferal-min/index.js";import"../../icons/search-data/index.js";import"../../icons/square/index.js";import"../../icons/turtle/index.js";import"../../icons/upscale/index.js";import"../../icons/withdraw/index.js";import"../../icons/search-plus/index.js";import"../../icons/lightning/index.js";import"../../icons/blog-circle/index.js";import"../../icons/stripe/index.js";import"../../icons/corporate/index.js";import"../../icons/public/index.js";import"../../icons/private/index.js";import"../../icons/mistral/index.js";import"../../icons/gemini/index.js";import"../../icons/search-simple/index.js";import"../../icons/sad-robot/index.js";import"../../icons/model/index.js";import"../../icons/phone-colored/index.js";import"../../icons/questions/index.js";import"../../icons/pdf/index.js";import"../../icons/xls/index.js";import"../../icons/word/index.js";import"../../icons/txt/index.js";import"../../icons/bothub-logo-gradient/index.js";import"../../icons/telegram-logo-gradient/index.js";import"../../icons/decline-circle/index.js";import"../../icons/simple-gear-bg/index.js";import"../../icons/advanced-filter/index.js";import"../../icons/big-corporate/index.js";import"../../icons/big-mj/index.js";import"../../icons/big-models/index.js";import"../../icons/big-stats/index.js";import"../../icons/big-success/index.js";import"../../icons/big-users/index.js";import"../../icons/optional-presets/index.js";import"../../icons/wallet-withdraw/index.js";import"../../icons/big-presets/index.js";import"../../icons/big-favorite/index.js";import"../../icons/big-referal/index.js";import"../../icons/attach-file/index.js";import"../../icons/voice/index.js";import"../../icons/play-button/index.js";import"../../icons/pause-button/index.js";import"../../icons/text-read/index.js";import"../../icons/text-hide/index.js";import"../../icons/best-chat-bots/index.js";import"../../icons/upload/index.js";import"../../icons/enter/index.js";import"../../icons/discord/index.js";import"../../icons/discord-circle/index.js";import"../../icons/black-forest-labs/index.js";import"../../icons/flux/index.js";import"../../icons/stable-diffusion/index.js";import"../../icons/stability-ai/index.js";import"../../icons/article-generator/index.js";import"../../icons/success/index.js";import"../../icons/google/index.js";import"../../icons/yandex/index.js";import"../../icons/vk/index.js";import"../../icons/resend/index.js";import"../../icons/big-article/index.js";import"../../icons/add-chat/index.js";import"../../icons/add-group/index.js";import"../../icons/drag-dot/index.js";import"../../icons/add-folder/index.js";import"../../icons/temp-chat/index.js";import"../../icons/fork-chat/index.js";import"../../icons/delete-chat/index.js";import"../../icons/sidebar-chat/index.js";import"../../icons/organization/index.js";import"../../icons/simple-gear/index.js";import"../../icons/text-bold/index.js";import"../../icons/text-italic/index.js";import"../../icons/text-underline/index.js";import"../../icons/text-strikethrough/index.js";import"../../icons/refresh/index.js";import"../../icons/copy-variants/index.js";import"../../icons/sort-ascending/index.js";import"../../icons/sort-descending/index.js";import"../../icons/quote/index.js";import"../../icons/url-circle/index.js";import"../../icons/show-ui/index.js";import"../../icons/hide-ui/index.js";import"../../icons/sort-user/index.js";import"../../icons/happy-robot/index.js";import"../../icons/happy-robot-gradient/index.js";import"../../icons/min-window/index.js";import"../../icons/max-window/index.js";import"../../icons/manage-chat/index.js";import"../../icons/web-search/index.js";import"../../icons/include-context/index.js";import"../../icons/queue/index.js";import"../../icons/sort-alphabet-ascending/index.js";import"../../icons/sort-alphabet-descending/index.js";import"../../icons/sort-date-ascending/index.js";import"../../icons/sort-date-descending/index.js";import"../../icons/cot-r1/index.js";import"../../icons/news/index.js";import"../../icons/volume/index.js";import"../../icons/flag-ru/index.js";import"../../icons/flag-kz/index.js";import"../../icons/print/index.js";import"../../icons/pc-icon-1/index.js";import"../../icons/pc-icon-2/index.js";import"../../icons/pc-icon-3/index.js";import"../../icons/star-unfilled/index.js";import"../../icons/image-generation/index.js";import"../../icons/speech-synthesys/index.js";import"../../icons/transcription/index.js";import"../../icons/text-rewrite/index.js";import"../../icons/code-generation/index.js";import"../../icons/essay-generation/index.js";import"../../icons/spelling/index.js";import"../../icons/text-generation/index.js";import"../../icons/traffic-analisys/index.js";import"../../icons/fav-profile/index.js";import"../../icons/exclamation/index.js";import"../../icons/article/index.js";import"../../icons/setchel/index.js";import"../../icons/assembly/index.js";import"../../icons/data-visualisation/index.js";import"../../icons/document-analisys/index.js";import"../../icons/problem-solvment/index.js";import"../../icons/setting-analisys/index.js";import"../../icons/translation/index.js";import"../../icons/stars/index.js";import"../../icons/academy/index.js";import"../../icons/articles/index.js";import"../../icons/blog-post/index.js";import"../../icons/book/index.js";import"../../icons/bow-tie/index.js";import"../../icons/case-study/index.js";import"../../icons/comments/index.js";import"../../icons/guide/index.js";import"../../icons/marketing/index.js";import"../../icons/post/index.js";import"../../icons/report/index.js";import"../../icons/review/index.js";import"../../icons/scientific-article/index.js";import"../../icons/selling-text/index.js";import"../../icons/textbook/index.js";import"../../icons/wind/index.js";import"../../icons/grok/index.js";import"../../icons/deepseek/index.js";import"../../icons/grid-horizontal/index.js";import"../../icons/grid-vertical/index.js";import"../../icons/star-gradient/index.js";import"../../icons/qwen/index.js";import"../../icons/sidebar-toggle-left/index.js";import"../../icons/sidebar-toggle-right/index.js";import"../../icons/system/index.js";import"../../icons/selector/index.js";import"../../icons/video-camera/index.js";import"../../icons/music-note/index.js";import"../../icons/add-profile/index.js";import"../../icons/token-counter/index.js";import"../../icons/customer-support/index.js";import"../../icons/sort-alphabet-top-bottom/index.js";import"../../icons/sort-alphabet-bottom-top/index.js";import"../../icons/pause/index.js";import"../../icons/play/index.js";import"../../icons/restore-2/index.js";import"../../icons/video-generation/index.js";import"../../icons/veo-model/index.js";import"../../icons/runway/index.js";import"../../icons/queue-select/index.js";import"../../icons/apple/index.js";import"../../icons/mail-colored/index.js";import"../../icons/shield/index.js";import"../../icons/stars-gradient/index.js";import"../../icons/fire/index.js";import"../../icons/brain/index.js";import"../../icons/mj-purple/index.js";import"../../icons/claude-black/index.js";import"../../icons/vk-filled/index.js";import"../../icons/tg/index.js";import"../../icons/gift/index.js";import"../../icons/exchange/index.js";import"../../icons/time/index.js";import"../../icons/folder/index.js";import"../../icons/history/index.js";import"../../icons/money-plus/index.js";import"../../icons/money-stack/index.js";import"../../icons/sort-numeric-bottom/index.js";import"../../icons/sort-numeric-top/index.js";import"../../icons/bulb/index.js";import"../../icons/prompt-queue/index.js";import"../../icons/image/index.js";import"../../icons/text/index.js";import"../../icons/code/index.js";import"../../icons/blue-grok/index.js";import"../../icons/double-image/index.js";import"../../icons/pdf-black/index.js";import"../../icons/csv/index.js";import"../../icons/xls-black/index.js";import"../../icons/word-black/index.js";import"../../icons/brain-black/index.js";import"../../icons/txt-black/index.js";import"../../icons/workspace/index.js";import"../../icons/chat-doc/index.js";import"../../icons/money-spend/index.js";import"../../icons/money-minus/index.js";import"../../icons/max-logo-gradient/index.js";import"../../icons/empty-word/index.js";import"../../icons/music-file/index.js";import"../../icons/sad-file/index.js";import"../../icons/happy-file/index.js";import"../../icons/volume-off/index.js";import"../../icons/github/index.js";import"../../icons/erase/index.js";import"../../icons/arrow-narrow-stars-right/index.js";import"../../icons/literature-list/index.js";import"../../icons/bell-dot/index.js";import"../../icons/bell/index.js";import"../../icons/kwaivgi/index.js";import"../../icons/dollar/index.js";import"./video/styled.js";import"./music/styled.js";import{useTheme as D}from"../../theme/hook.js";const E=({id:E,content:z,className:N,variant:V="user",color:H="default",name:O,tags:U,avatar:G,transaction:W,edited:Z=!1,editedText:_,disableModal:J=!1,disableResend:K=!1,disableEdit:Q=!1,disableDelete:X=!1,disableUpdate:Y=!1,disableCopy:ii=!1,disableFork:oi=!0,disableDownload:ei=!0,disableEncryption:si=!0,hasCacheTokens:ni=!1,forkSelected:ti=!1,editOutOfMenu:ri=!1,copyPlainText:di,copyTgText:ci,editText:pi,resendText:mi,deleteText:ai,onReportText:li,downloadTooltipLabel:xi,updateTooltipLabel:ji,copyTooltipLabel:gi,forkTooltipLabel:ui,encryptionTooltipLabel:bi,cacheTokenTooltipLabel:yi,typing:fi=!1,timestamp:hi,timestampPosition:ki="right",skeleton:wi=!1,buttons:Mi,after:Ti,components:vi,children:Ci,version:Si,totalVersions:Ii,hideActions:Bi,loader:Li,onCopy:$i,onCodeCopy:Ri,onEdit:qi,onDelete:Ai,onUpdate:Fi,onReport:Pi,onFork:Di,onNextVersion:Ei,onPrevVersion:zi,onDownload:Ni})=>{const Vi=D(),Hi=n(null),Oi=n(null),Ui=n(null),Gi=t(()=>i(void 0,void 0,void 0,function*(){const i=S((yield d.parse(Ui.current)).replace(/<p>([\s\S]*?)<\/p>/g,`<pre style="${I}font-family:inherit;white-space:pre-wrap;">$1</pre>`));return[new ClipboardItem({"text/plain":new Blob([Ui.current],{type:"text/plain"}),"text/html":new Blob([i],{type:"text/html"})})]}),[]),Wi=t(i=>[new ClipboardItem({"text/plain":new Blob([i.innerText.replace(/\n{3,}/g,"\n\n")],{type:"text/plain"})})],[]),Zi=t(i=>{const o=C(i);return[new ClipboardItem({"text/plain":new Blob([o],{type:"text/plain"})})]},[]),_i=t(()=>{if(Oi.current)return null==$i?void 0:$i(Wi(Oi.current))},[z]),Ji=t(()=>{if(Ui.current)return null==$i?void 0:$i(Zi(Ui.current))},[]),Ki=t(()=>i(void 0,void 0,void 0,function*(){if(Ui.current)return null==$i?void 0:$i(yield Gi())}),[]);let Qi;switch(H&&"object"==typeof CSS&&"function"==typeof CSS.supports&&CSS.supports("background",null!=H?H:"#000")||(H="default"),V){case"user":switch(H){case"default":if("custom"===Vi.scheme){Qi=Vi.colors.custom.message.user.background;break}if("standard"===Vi.scheme){Qi="dark"===Vi.mode?B(Vi.colors.accent.primaryLight,.5):B(Vi.colors.accent.primaryLight,.2);break}Qi=Vi.colors.accent.primary;break;case"green":Qi=Vi.colors.gpt3;break;case"purple":Qi=Vi.colors.gpt4;break;default:Qi=H}break;case"assistant":switch(H){case"default":Qi="dark"===Vi.mode?Vi.colors.grayScale.gray2:Vi.colors.grayScale.gray3;break;case"green":Qi=Vi.colors.gpt3;break;case"purple":Qi=Vi.colors.gpt4;break;default:Qi=H}}return r(()=>{z&&(Ui.current=z)},[z]),o(L,{variant:V,color:H,typing:fi,onCopy:_i,onCodeCopy:Ri,children:o(c,{$variant:V,$forkSelected:ti,ref:Hi,children:e(p,{children:[o(m,{$variant:V,className:N,"data-date":hi,children:e(a,{$variant:V,children:[O&&e(l,{children:["string"==typeof O&&e(x,{children:[o(j,{$color:H,children:O}),U]}),"string"!=typeof O&&o("div",{})]}),"string"!=typeof O&&O,o(g,{$variant:V,children:o(u,{children:G})}),o(b,{children:o(y,{$variant:V,$hexColor:Qi,$skeleton:wi,$hasTimestamp:!!hi,$timestampPosition:ki,children:e(f,{scrollShadows:{color:Qi,size:60,left:o(q,{side:"left"}),right:o(q,{side:"right"})},children:[o(h,{ref:Oi,$variant:V,children:e(s,{children:[!wi&&(Li?o($,{disableMargin:!0,children:o(T,{})}):e(s,{children:["string"==typeof Ci&&o(R,{components:vi,children:Ci}),"string"!=typeof Ci&&Ci]})),wi&&o($,{disableMargin:!0,children:o(v,{width:260,opacity:["light"===Vi.mode?.1:.15,"light"===Vi.mode?.225:.45],colors:["user"===V?Vi.colors.base.white:"light"===Vi.mode?Vi.default.colors.base.black:Vi.colors.grayScale.gray6]})}),Ti]})}),"user"===V&&o(A,{edited:Z,editedText:_,time:hi,position:ki,color:Qi})]})})}),hi&&"assistant"===V&&o(A,{time:hi,position:ki,color:Qi}),e(k,{$variant:V,children:[W&&o(w,{children:W}),!wi&&!Bi&&o(F,{id:E,onDownload:Ni,disableDownload:ei,message:z,variant:V,skeleton:wi,disableModal:J,disableResend:K,disableEdit:Q,disableDelete:X,disableUpdate:Y,disableCopy:ii,disableFork:oi,disableEncryption:si,hasCacheTokens:ni,forkSelected:ti,editOutOfMenu:ri,copyPlainText:di,copyTgText:ci,editText:pi,resendText:mi,deleteText:ai,onReportText:li,downloadTooltipLabel:xi,updateTooltipLabel:ji,copyTooltipLabel:gi,forkTooltipLabel:ui,encryptionTooltipLabel:bi,cacheTokenTooltipLabel:yi,onEdit:qi,onResend:Fi,onDelete:Ai,onUpdate:Fi,onReport:Pi,onFork:Di,onPlainTextCopy:_i,onTgCopy:Ji,onCopy:Ki}),o(P,{id:E,version:Si,totalVersions:Ii,onNextVersion:Ei,onPrevVersion:zi,variant:V})]})]})}),o(M,{children:Mi})]})})})};export{E as Message,u as MessageAvatar,g as MessageAvatarWrapper,y as MessageBlock,k as MessageBlockBottomPanel,h as MessageBlockContent,f as MessageBlockScrollbarWrapper,w as MessageBlockTransaction,b as MessageBlockWrapper,M as MessageButtonsStyled,a as MessageContent,R as MessageMarkdown,j as MessageName,$ as MessageParagraph,L as MessageProvider,x as MessageSender,m as MessageStyled,p as MessageStyledWithBottomPanel,c as MessageStyledWrapper,l as MessageTop};
|
|
1
|
+
import{__awaiter as i}from"tslib";import{jsx as o,jsxs as e,Fragment as s}from"react/jsx-runtime";import{useRef as n,useCallback as t,useEffect as r}from"react";import{marked as d}from"marked";import{MessageStyledWrapper as c,MessageStyledWithBottomPanel as p,MessageStyled as m,MessageContent as a,MessageTop as l,MessageSender as x,MessageName as j,MessageAvatarWrapper as g,MessageAvatar as u,MessageBlockWrapper as b,MessageBlock as y,MessageBlockScrollbarWrapper as f,MessageBlockContent as h,MessageBlockBottomPanel as k,MessageBlockTransaction as w,MessageButtonsStyled as M}from"./styled.js";export{MessageAction,MessageBlockTextArea,MessageEditAction,MessageImageBottomArrowButton,MessageImageLeftArrowButton,MessageImageRightArrowButton,MessageImageTopArrowButton,MessageTag,MessageTags,MessageTransaction}from"./styled.js";import{Loader as T}from"../loader/index.js";import{Skeleton as v}from"../skeleton/index.js";import"../../theme/index.js";import{getTgMarkdown as C}from"../../utils/getTgMarkdown.js";import{prepareClipboardHtml as S,CLIPBOARD_NORMAL_STYLE as I}from"../../utils/prepareClipboardHtml.js";import{colorToRgba as B}from"../../utils/colors/colorToRgba.js";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import{MessageProvider as L}from"./context.js";export{MessageConsumer,MessageContext,useMessage}from"./context.js";import"styled-components";export{MessageInlineCodeStyled}from"./components/code/inline/styled.js";export{MessageMultilineCodeBody,MessageMultilineCodeHead,MessageMultilineCodeLanguage,MessageMultilineCodeStyled}from"./components/code/multiline/styled.js";import"@react-spring/web";import"react-markdown";import"react-dom";import"../portal/styled.js";import"../tooltip/styled.js";import"../tooltip/arrow/styled.js";import"../tooltip/context.js";import"./components/code/multiline/copy/styled.js";import"../../icons/check-small/index.js";import"../../icons/copy/index.js";import"./components/code/multiline/content/styled.js";import{MessageParagraph as $}from"./components/paragraph/index.js";export{MessageBoldStyled}from"./components/bold/styled.js";export{MessageItalicStyled}from"./components/italic/styled.js";export{MessageStrikeStyled}from"./components/strike/styled.js";export{MessageBlockquoteStyled}from"./components/blockquote/styled.js";export{MessageHrStyled}from"./components/hr/styled.js";export{MessagePre}from"./components/pre/styled.js";export{MessageTableBody,MessageTableContent,MessageTableHead,MessageTableRow,MessageTableStyled}from"./components/table/styled.js";export{MessageTableCellStyled,MessageTableCellText,MessageTableHeadCell}from"./components/table/cell/styled.js";export{MessageListStyled}from"./components/list/styled.js";import"./components/list/context.js";export{MessageListItemStyled}from"./components/list/item/styled.js";export{MessageTitleStyled}from"./components/title/styled.js";export{MessageLinkStyled}from"./components/link/styled.js";export{MessageImageNative,MessageImageSkeleton,MessageImageStyled}from"./components/image/styled.js";export{MessageImageConsumer,MessageImageContext,MessageImageProvider,useMessageImage}from"./components/image/context.js";export{MessageImageGrid}from"./components/image/grid/styled.js";export{MessageImageButtonContent,MessageImageButtonStyled,MessageImageButtonZoneWrapper}from"./components/image/button/styled.js";export{MessageImageButtonsContent,MessageImageButtonsStyled}from"./components/image/button/list/styled.js";import"./components/document-copy/styled.js";export{MessageCiteStyled}from"./components/cite/styled.js";import{MessageMarkdown as R}from"./markdown/index.js";import"../scrollbar/styled.js";import{ScrollbarShadow as q}from"../scrollbar/shadow/index.js";import"../scrollbar/style/styled.js";import{MessageTimestamp as A}from"./timestamp/index.js";import{MessageActions as F}from"./actions/index.js";import{MessageVersions as P}from"./versions/index.js";import"./list/styled.js";import"./scroll-button/styled.js";import"./copy/styled.js";import"./badge-progress/styled.js";export{MessageButton}from"./button/styled.js";import"./button/list/styled.js";export{MessageFileInfo,MessageFileName,MessageFileSize,MessageFileStyled,MessageFiles}from"./file/styled.js";import"../icon/styled.js";import"../../icons/pdf-big/index.js";import"../../icons/txt-big/index.js";import"../../icons/word-big/index.js";import"../../icons/xls-big/index.js";import"../../icons/attach-file-big/index.js";import"./voice/styled.js";import"../../icons/loader-circular-gradient-2/index.js";import"./reasoning-block/styled.js";import"./markdown/markdown-components.js";import"../../icons/analyze-urls/index.js";import"../typography/styled.js";import"./search-results/styled.js";import"../../icons/arrow-down/index.js";import"../../icons/arrow-narrow-left/index.js";import"../../icons/arrow-narrow-right/index.js";import"../../icons/arrow-up/index.js";import"../../icons/bitcoin/index.js";import"../../icons/bot-circle/index.js";import"../../icons/bothub-agg/index.js";import"../../icons/business-colored/index.js";import"../../icons/check-circle/index.js";import"../../icons/close/index.js";import"../../icons/email-circle/index.js";import"../../icons/language/index.js";import"../../icons/lock-circle/index.js";import"../../icons/menu/index.js";import"../../icons/medium-circle/index.js";import"../../icons/tg-circle/index.js";import"../../icons/tg-colored/index.js";import"../../icons/youcassa/index.js";import"../../icons/dashboard/index.js";import"../../icons/user-profile/index.js";import"../../icons/logout/index.js";import"../../icons/habr-2/index.js";import"../../icons/arrow-2-down/index.js";import"../../icons/links/index.js";import"../../icons/free/index.js";import"../../icons/hotness/index.js";import"../../icons/checked/index.js";import"../../icons/ai/index.js";import"../../icons/bookmarks/index.js";import"../../icons/bookmarks-big/index.js";import"../../icons/chat/index.js";import"../../icons/chats/index.js";import"../../icons/coder/index.js";import"../../icons/edit/index.js";import"../../icons/presets-big/index.js";import"../../icons/referal/index.js";import"../../icons/restore/index.js";import"../../icons/tariff/index.js";import"../../icons/trash/index.js";import"../../icons/update/index.js";import"../../icons/menu-dot/index.js";import"../../icons/plus-2/index.js";import"../../icons/plus-1/index.js";import"../../icons/send/index.js";import"../../icons/settings/index.js";import"../../icons/habr/index.js";import"../../icons/stop/index.js";import"../../icons/thumb-up/index.js";import"../../icons/thumb-down/index.js";import"../../icons/star/index.js";import"../../icons/info-big/index.js";import"../../icons/warning-big/index.js";import"../../icons/error-big/index.js";import"../../icons/success-big/index.js";import"../../icons/mj/index.js";import"../../icons/card/index.js";import"../../icons/arrow-narrow-up/index.js";import"../../icons/arrow-narrow-down/index.js";import"../../icons/filters/index.js";import"../../icons/info/index.js";import"../../icons/search-circle/index.js";import"../../icons/save/index.js";import"../../icons/light/index.js";import"../../icons/dark/index.js";import"../../icons/email-colored/index.js";import"../../icons/action-chat/index.js";import"../../icons/attach/index.js";import"../../icons/avatar-add/index.js";import"../../icons/brush/index.js";import"../../icons/calendar/index.js";import"../../icons/claude/index.js";import"../../icons/cookie/index.js";import"../../icons/dalle/index.js";import"../../icons/download-img/index.js";import"../../icons/error/index.js";import"../../icons/expand/index.js";import"../../icons/eye/index.js";import"../../icons/face/index.js";import"../../icons/gear/index.js";import"../../icons/gear-min/index.js";import"../../icons/generation/index.js";import"../../icons/gpt-3_5/index.js";import"../../icons/gpt-4/index.js";import"../../icons/imagine/index.js";import"../../icons/imagine-2/index.js";import"../../icons/loader/index.js";import"../../icons/loader-circular/index.js";import"../../icons/loader-circular-gradient/index.js";import"../../icons/minus/index.js";import"../../icons/mj-white/index.js";import"../../icons/prompt/index.js";import"../../icons/rabbit/index.js";import"../../icons/ratio-1x1/index.js";import"../../icons/ratio-2x3/index.js";import"../../icons/ratio-3x2/index.js";import"../../icons/ratio-4x5/index.js";import"../../icons/ratio-4x7/index.js";import"../../icons/ratio-5x4/index.js";import"../../icons/ratio-7x4/index.js";import"../../icons/ratio-16x9/index.js";import"../../icons/ratio-9x16/index.js";import"../../icons/ratio-21x9/index.js";import"../../icons/ratio-9x21/index.js";import"../../icons/refferal-min/index.js";import"../../icons/search-data/index.js";import"../../icons/square/index.js";import"../../icons/turtle/index.js";import"../../icons/upscale/index.js";import"../../icons/withdraw/index.js";import"../../icons/search-plus/index.js";import"../../icons/lightning/index.js";import"../../icons/blog-circle/index.js";import"../../icons/stripe/index.js";import"../../icons/corporate/index.js";import"../../icons/public/index.js";import"../../icons/private/index.js";import"../../icons/mistral/index.js";import"../../icons/gemini/index.js";import"../../icons/search-simple/index.js";import"../../icons/sad-robot/index.js";import"../../icons/model/index.js";import"../../icons/phone-colored/index.js";import"../../icons/questions/index.js";import"../../icons/pdf/index.js";import"../../icons/xls/index.js";import"../../icons/word/index.js";import"../../icons/txt/index.js";import"../../icons/bothub-logo-gradient/index.js";import"../../icons/telegram-logo-gradient/index.js";import"../../icons/decline-circle/index.js";import"../../icons/simple-gear-bg/index.js";import"../../icons/advanced-filter/index.js";import"../../icons/big-corporate/index.js";import"../../icons/big-mj/index.js";import"../../icons/big-models/index.js";import"../../icons/big-stats/index.js";import"../../icons/big-success/index.js";import"../../icons/big-users/index.js";import"../../icons/optional-presets/index.js";import"../../icons/wallet-withdraw/index.js";import"../../icons/big-presets/index.js";import"../../icons/big-favorite/index.js";import"../../icons/big-referal/index.js";import"../../icons/attach-file/index.js";import"../../icons/voice/index.js";import"../../icons/play-button/index.js";import"../../icons/pause-button/index.js";import"../../icons/text-read/index.js";import"../../icons/text-hide/index.js";import"../../icons/best-chat-bots/index.js";import"../../icons/upload/index.js";import"../../icons/enter/index.js";import"../../icons/discord/index.js";import"../../icons/discord-circle/index.js";import"../../icons/black-forest-labs/index.js";import"../../icons/flux/index.js";import"../../icons/stable-diffusion/index.js";import"../../icons/stability-ai/index.js";import"../../icons/article-generator/index.js";import"../../icons/success/index.js";import"../../icons/google/index.js";import"../../icons/yandex/index.js";import"../../icons/vk/index.js";import"../../icons/resend/index.js";import"../../icons/big-article/index.js";import"../../icons/add-chat/index.js";import"../../icons/add-group/index.js";import"../../icons/drag-dot/index.js";import"../../icons/add-folder/index.js";import"../../icons/temp-chat/index.js";import"../../icons/fork-chat/index.js";import"../../icons/delete-chat/index.js";import"../../icons/sidebar-chat/index.js";import"../../icons/organization/index.js";import"../../icons/simple-gear/index.js";import"../../icons/text-bold/index.js";import"../../icons/text-italic/index.js";import"../../icons/text-underline/index.js";import"../../icons/text-strikethrough/index.js";import"../../icons/refresh/index.js";import"../../icons/copy-variants/index.js";import"../../icons/sort-ascending/index.js";import"../../icons/sort-descending/index.js";import"../../icons/quote/index.js";import"../../icons/url-circle/index.js";import"../../icons/show-ui/index.js";import"../../icons/hide-ui/index.js";import"../../icons/sort-user/index.js";import"../../icons/happy-robot/index.js";import"../../icons/happy-robot-gradient/index.js";import"../../icons/min-window/index.js";import"../../icons/max-window/index.js";import"../../icons/manage-chat/index.js";import"../../icons/web-search/index.js";import"../../icons/include-context/index.js";import"../../icons/queue/index.js";import"../../icons/sort-alphabet-ascending/index.js";import"../../icons/sort-alphabet-descending/index.js";import"../../icons/sort-date-ascending/index.js";import"../../icons/sort-date-descending/index.js";import"../../icons/cot-r1/index.js";import"../../icons/news/index.js";import"../../icons/volume/index.js";import"../../icons/flag-ru/index.js";import"../../icons/flag-kz/index.js";import"../../icons/print/index.js";import"../../icons/pc-icon-1/index.js";import"../../icons/pc-icon-2/index.js";import"../../icons/pc-icon-3/index.js";import"../../icons/star-unfilled/index.js";import"../../icons/image-generation/index.js";import"../../icons/speech-synthesys/index.js";import"../../icons/transcription/index.js";import"../../icons/text-rewrite/index.js";import"../../icons/code-generation/index.js";import"../../icons/essay-generation/index.js";import"../../icons/spelling/index.js";import"../../icons/text-generation/index.js";import"../../icons/traffic-analisys/index.js";import"../../icons/fav-profile/index.js";import"../../icons/exclamation/index.js";import"../../icons/article/index.js";import"../../icons/setchel/index.js";import"../../icons/assembly/index.js";import"../../icons/data-visualisation/index.js";import"../../icons/document-analisys/index.js";import"../../icons/problem-solvment/index.js";import"../../icons/setting-analisys/index.js";import"../../icons/translation/index.js";import"../../icons/stars/index.js";import"../../icons/academy/index.js";import"../../icons/articles/index.js";import"../../icons/blog-post/index.js";import"../../icons/book/index.js";import"../../icons/bow-tie/index.js";import"../../icons/case-study/index.js";import"../../icons/comments/index.js";import"../../icons/guide/index.js";import"../../icons/marketing/index.js";import"../../icons/post/index.js";import"../../icons/report/index.js";import"../../icons/review/index.js";import"../../icons/scientific-article/index.js";import"../../icons/selling-text/index.js";import"../../icons/textbook/index.js";import"../../icons/wind/index.js";import"../../icons/grok/index.js";import"../../icons/deepseek/index.js";import"../../icons/grid-horizontal/index.js";import"../../icons/grid-vertical/index.js";import"../../icons/star-gradient/index.js";import"../../icons/qwen/index.js";import"../../icons/sidebar-toggle-left/index.js";import"../../icons/sidebar-toggle-right/index.js";import"../../icons/system/index.js";import"../../icons/selector/index.js";import"../../icons/video-camera/index.js";import"../../icons/music-note/index.js";import"../../icons/add-profile/index.js";import"../../icons/token-counter/index.js";import"../../icons/customer-support/index.js";import"../../icons/sort-alphabet-top-bottom/index.js";import"../../icons/sort-alphabet-bottom-top/index.js";import"../../icons/pause/index.js";import"../../icons/play/index.js";import"../../icons/restore-2/index.js";import"../../icons/video-generation/index.js";import"../../icons/veo-model/index.js";import"../../icons/runway/index.js";import"../../icons/queue-select/index.js";import"../../icons/apple/index.js";import"../../icons/mail-colored/index.js";import"../../icons/shield/index.js";import"../../icons/stars-gradient/index.js";import"../../icons/fire/index.js";import"../../icons/brain/index.js";import"../../icons/mj-purple/index.js";import"../../icons/claude-black/index.js";import"../../icons/vk-filled/index.js";import"../../icons/tg/index.js";import"../../icons/gift/index.js";import"../../icons/exchange/index.js";import"../../icons/time/index.js";import"../../icons/folder/index.js";import"../../icons/history/index.js";import"../../icons/money-plus/index.js";import"../../icons/money-stack/index.js";import"../../icons/sort-numeric-bottom/index.js";import"../../icons/sort-numeric-top/index.js";import"../../icons/bulb/index.js";import"../../icons/prompt-queue/index.js";import"../../icons/image/index.js";import"../../icons/text/index.js";import"../../icons/code/index.js";import"../../icons/blue-grok/index.js";import"../../icons/double-image/index.js";import"../../icons/pdf-black/index.js";import"../../icons/csv/index.js";import"../../icons/xls-black/index.js";import"../../icons/word-black/index.js";import"../../icons/brain-black/index.js";import"../../icons/txt-black/index.js";import"../../icons/workspace/index.js";import"../../icons/chat-doc/index.js";import"../../icons/money-spend/index.js";import"../../icons/money-minus/index.js";import"../../icons/max-logo-gradient/index.js";import"../../icons/empty-word/index.js";import"../../icons/music-file/index.js";import"../../icons/sad-file/index.js";import"../../icons/happy-file/index.js";import"../../icons/volume-off/index.js";import"../../icons/github/index.js";import"../../icons/erase/index.js";import"../../icons/arrow-narrow-stars-right/index.js";import"../../icons/literature-list/index.js";import"../../icons/bell-dot/index.js";import"../../icons/bell/index.js";import"../../icons/kwaivgi/index.js";import"../../icons/dollar/index.js";import"./video/styled.js";import"./music/styled.js";import{useTheme as D}from"../../theme/hook.js";const E=({id:E,content:z,className:N,variant:V="user",color:H="default",name:O,tags:U,avatar:G,transaction:W,edited:Z=!1,editedText:_,disableModal:J=!1,disableResend:K=!1,disableEdit:Q=!1,disableDelete:X=!1,disableUpdate:Y=!1,disableCopy:ii=!1,disableFork:oi=!0,disableDownload:ei=!0,disableEncryption:si=!0,hasCacheTokens:ni=!1,forkSelected:ti=!1,editOutOfMenu:ri=!1,copyPlainText:di,copyTgText:ci,editText:pi,resendText:mi,deleteText:ai,onReportText:li,downloadTooltipLabel:xi,updateTooltipLabel:ji,copyTooltipLabel:gi,forkTooltipLabel:ui,encryptionTooltipLabel:bi,cacheTokenTooltipLabel:yi,typing:fi=!1,timestamp:hi,timestampPosition:ki="right",skeleton:wi=!1,buttons:Mi,after:Ti,components:vi,children:Ci,version:Si,totalVersions:Ii,hideActions:Bi,loader:Li,onCopy:$i,onCodeCopy:Ri,onEdit:qi,onDelete:Ai,onUpdate:Fi,onReport:Pi,onFork:Di,onNextVersion:Ei,onPrevVersion:zi,onDownload:Ni})=>{const Vi=D(),Hi=n(null),Oi=n(null),Ui=n(null),Gi=t(()=>i(void 0,void 0,void 0,function*(){const i=S((yield d.parse(Ui.current)).replace(/<p>([\s\S]*?)<\/p>/g,`<pre style="${I}font-family:inherit;white-space:pre-wrap;">$1</pre>`));return[new ClipboardItem({"text/plain":new Blob([Ui.current],{type:"text/plain"}),"text/html":new Blob([i],{type:"text/html"})})]}),[]),Wi=t(i=>[new ClipboardItem({"text/plain":new Blob([i.innerText.replace(/\n{3,}/g,"\n\n")],{type:"text/plain"})})],[]),Zi=t(i=>{const o=C(i);return[new ClipboardItem({"text/plain":new Blob([o],{type:"text/plain"})})]},[]),_i=t(()=>{if(Oi.current)return null==$i?void 0:$i(Wi(Oi.current))},[z]),Ji=t(()=>{if(Ui.current)return null==$i?void 0:$i(Zi(Ui.current))},[]),Ki=t(()=>i(void 0,void 0,void 0,function*(){if(Ui.current)return null==$i?void 0:$i(yield Gi())}),[]);let Qi;switch(H&&"object"==typeof CSS&&"function"==typeof CSS.supports&&CSS.supports("background",null!=H?H:"#000")||(H="default"),V){case"user":switch(H){case"default":if("custom"===Vi.scheme){Qi=Vi.colors.custom.message.user.background;break}if("standard"===Vi.scheme){Qi="dark"===Vi.mode?B(Vi.colors.accent.primaryLight,.5):B(Vi.colors.accent.primaryLight,.2);break}Qi=Vi.colors.accent.primary;break;case"green":Qi=Vi.colors.gpt3;break;case"purple":Qi=Vi.colors.gpt4;break;default:Qi=H}break;case"assistant":switch(H){case"default":Qi="dark"===Vi.mode?Vi.colors.grayScale.gray2:Vi.colors.grayScale.gray3;break;case"green":Qi=Vi.colors.gpt3;break;case"purple":Qi=Vi.colors.gpt4;break;default:Qi=H}}return r(()=>{z&&(Ui.current=z)},[z]),o(L,{variant:V,color:H,typing:fi,onCopy:_i,onCodeCopy:Ri,children:o(c,{$variant:V,$forkSelected:ti,ref:Hi,children:e(p,{children:[o(m,{$variant:V,className:N,"data-date":hi,children:e(a,{$variant:V,children:[O&&e(l,{children:["string"==typeof O&&e(x,{children:[o(j,{$color:H,children:O}),U]}),"string"!=typeof O&&o("div",{})]}),"string"!=typeof O&&O,o(g,{$variant:V,children:o(u,{children:G})}),o(b,{children:o(y,{$variant:V,$hexColor:Qi,$skeleton:wi,$hasTimestamp:!!hi,$timestampPosition:ki,children:e(f,{scrollShadows:{color:Qi,size:60,left:o(q,{side:"left"}),right:o(q,{side:"right"})},children:[o(h,{ref:Oi,$variant:V,children:e(s,{children:[!wi&&(Li?o($,{disableMargin:!0,children:o(T,{})}):e(s,{children:["string"==typeof Ci&&o(R,{components:vi,children:Ci}),"string"!=typeof Ci&&Ci]})),wi&&o($,{disableMargin:!0,children:o(v,{width:260,opacity:["light"===Vi.mode?.1:.15,"light"===Vi.mode?.225:.45],colors:["user"===V?Vi.colors.base.white:"light"===Vi.mode?Vi.default.colors.base.black:Vi.colors.grayScale.gray6]})}),Ti]})}),"user"===V&&o(A,{edited:Z,editedText:_,time:hi,position:ki,color:Qi})]})})}),hi&&"assistant"===V&&o(A,{time:hi,position:ki,color:Qi}),e(k,{$variant:V,children:[W&&o(w,{children:W}),!wi&&!Bi&&o(F,{id:E,onDownload:Ni,disableDownload:ei,message:z,variant:V,skeleton:wi,disableModal:J,disableResend:K,disableEdit:Q,disableDelete:X,disableUpdate:Y,disableCopy:ii,disableFork:oi,disableEncryption:si,hasCacheTokens:ni,forkSelected:ti,editOutOfMenu:ri,copyPlainText:di,copyTgText:ci,editText:pi,resendText:mi,deleteText:ai,onReportText:li,downloadTooltipLabel:xi,updateTooltipLabel:ji,copyTooltipLabel:gi,forkTooltipLabel:ui,encryptionTooltipLabel:bi,cacheTokenTooltipLabel:yi,onEdit:qi,onResend:Fi,onDelete:Ai,onUpdate:Fi,onReport:Pi,onFork:Di,onPlainTextCopy:_i,onTgCopy:Ji,onCopy:Ki}),o(P,{id:E,version:Si,totalVersions:Ii,onNextVersion:Ei,onPrevVersion:zi,variant:V})]})]})}),o(M,{children:Mi})]})})})};export{E as Message,u as MessageAvatar,g as MessageAvatarWrapper,y as MessageBlock,k as MessageBlockBottomPanel,h as MessageBlockContent,f as MessageBlockScrollbarWrapper,w as MessageBlockTransaction,b as MessageBlockWrapper,M as MessageButtonsStyled,a as MessageContent,R as MessageMarkdown,j as MessageName,$ as MessageParagraph,L as MessageProvider,x as MessageSender,m as MessageStyled,p as MessageStyledWithBottomPanel,c as MessageStyledWrapper,l as MessageTop};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{forwardRef as o,useId as e,useMemo as s}from"react";import r from"react-markdown";import{useMessage as i}from"../context.js";import"tslib";import"styled-components";import"../components/code/inline/styled.js";import"../components/code/multiline/styled.js";import"@react-spring/web";import"react-dom";import"../../portal/styled.js";import"../../tooltip/styled.js";import"../../tooltip/arrow/styled.js";import"../../../theme/index.js";import"../../tooltip/context.js";import"../components/code/multiline/copy/styled.js";import"../../../icons/check-small/index.js";import"../../../icons/copy/index.js";import"../components/code/multiline/content/styled.js";import{MessageParagraph as n}from"../components/paragraph/index.js";import"../components/bold/styled.js";import"../components/italic/styled.js";import"../components/strike/styled.js";import"../components/blockquote/styled.js";import"../components/hr/styled.js";import"../components/pre/styled.js";import"../components/table/styled.js";import"../components/table/cell/styled.js";import"../components/list/styled.js";import"../components/list/context.js";import"../components/list/item/styled.js";import"../components/title/styled.js";import"../components/link/styled.js";import"../components/image/styled.js";import"../components/image/context.js";import"../components/image/grid/styled.js";import"../components/image/button/styled.js";import"../components/image/button/list/styled.js";import"../components/document-copy/styled.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import"../../../utils/colors/calculateGrayScale.js";import"../../../utils/colors/calculateAccentColors.js";import"../components/cite/styled.js";import{MessageMarkdownStyled as m,MessageMarkdownLine as p}from"./styled.js";import{messageMarkdownComponents as l,MessageMarkdownComponentsProvider as c}from"./markdown-components.js";import{normalizeMessageMarkdown as d}from"./utils.js";import{useMarkdownPlugins as a}from"./useMarkdownPlugins.js";const j={},y=o(({children:o,components:y=j,componentsOverride:u,disableTyping:g=!1,forceMarkdown:f=!1},b)=>{const{typing:k,variant:h,color:x}=i(),w=!f&&"user"===h,P=e(),O=s(()=>"string"!=typeof o||w?o:d(o,{typing:k}),[o,w,k]),{remarkPlugins:v,rehypePlugins:M}=a(),$=s(()=>u?Object.assign(Object.assign({},l),u):l,[u]),A=s(()=>({clobberPrefix:`${P.replace(/[^a-zA-Z0-9_-]/g,"")}-`}),[P]),q=s(()=>t(m,{ref:b,children:t(p,{$typing:!g&&k,$color:x,children:t(r,{remarkPlugins:v,rehypePlugins:M,remarkRehypeOptions:A,components:$,children:O})})}),[k,g,x,O,v,M,A,b,$]);return"string"!=typeof o?null:w?t(n,{wrap:!0,disableMargin:!0,children:o}):t(c,{value:y,children:q})});export{y as MessageMarkdown};
|
|
@@ -1,4 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { type Components } from 'react-markdown';
|
|
2
|
-
import type { PluggableList } from 'unified';
|
|
3
3
|
import { MessageComponentsProps } from '@/ui/components/message/components';
|
|
4
|
-
export declare
|
|
4
|
+
export declare const MessageMarkdownComponentsProvider: React.Provider<MessageComponentsProps>;
|
|
5
|
+
export interface MarkdownCodeInfo {
|
|
6
|
+
code: string;
|
|
7
|
+
language: string;
|
|
8
|
+
isInline: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const getMarkdownCodeInfo: (className: string | undefined, children: React.ReactNode) => MarkdownCodeInfo;
|
|
11
|
+
export declare const markdownLinkTargetProps: (href?: string) => {
|
|
12
|
+
target?: undefined;
|
|
13
|
+
rel?: undefined;
|
|
14
|
+
} | {
|
|
15
|
+
target: string;
|
|
16
|
+
rel: string;
|
|
17
|
+
};
|
|
18
|
+
export declare const baseMarkdownComponents: Components;
|
|
19
|
+
export declare const messageMarkdownComponents: Components;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{createContext as n,useContext as r}from"react";import{MessageInlineCode as i}from"../components/code/inline/index.js";import{MessageMultilineCode as o}from"../components/code/multiline/index.js";import{MessageParagraph as t}from"../components/paragraph/index.js";import{MessageBold as l}from"../components/bold/index.js";import{MessageItalic as c}from"../components/italic/index.js";import{MessageStrike as s}from"../components/strike/index.js";import{MessageBlockquote as d}from"../components/blockquote/index.js";import{MessageHr as m}from"../components/hr/index.js";import{MessagePre as h}from"../components/pre/styled.js";import{MessageTable as a}from"../components/table/index.js";import{MessageList as p}from"../components/list/index.js";import{MessageTitle as u}from"../components/title/index.js";import{MessageLink as g}from"../components/link/index.js";import{MessageImage as f}from"../components/image/index.js";import{GeneratedDocumentBlock as j}from"../components/document-copy/index.js";import{MessageCite as b}from"../components/cite/index.js";import{useMessage as x}from"../context.js";import{useMarkdownPlugins as v}from"./useMarkdownPlugins.js";import{normalizeMessageMarkdown as y}from"./utils.js";import{MessageTableHead as k,MessageTableBody as O,MessageTableRow as P}from"../components/table/styled.js";import{MessageTableCell as N}from"../components/table/cell/index.js";import{MessageListItem as w}from"../components/list/item/index.js";const W=n({}),q=W.Provider,I=(e,n)=>{const r=String(null!=n?n:""),i=/language-(\w+)/.exec(e||"");return{code:r.replace(/\n$/,""),language:i?i[1]:"",isInline:!(null==e?void 0:e.startsWith("language-"))&&!r.endsWith("\n")}},L=e=>(e=>!!e&&e.startsWith("#"))(e)?{}:{target:"_blank",rel:"noopener noreferrer"},S={p:({children:n})=>e(t,{wrap:!0,children:n}),b:({children:n})=>e(l,{children:n}),strong:({children:n})=>e(l,{component:"strong",children:n}),i:({children:n})=>e(c,{children:n}),em:({children:n})=>e(c,{component:"em",children:n}),del:({children:n})=>e(s,{children:n}),blockquote:({children:n})=>e(d,{children:n}),cite:({children:n})=>e(b,{children:n}),hr:()=>e(m,{}),pre:({children:n})=>e(h,{children:n}),table:({children:n})=>e(a,{children:n}),thead:({children:n})=>e(k,{children:n}),tbody:({children:n})=>e(O,{children:n}),tr:({children:n})=>e(P,{children:n}),td:({style:n,children:r})=>e(N,{style:n,children:r}),th:({style:n,children:r})=>e(N,{head:!0,style:n,children:r}),ul:({children:n})=>e(p,{children:n}),ol:({start:n,children:r})=>e(p,{variant:"number",start:n,children:r}),li:({id:n,className:r,children:i})=>e(w,{id:n,className:r,children:i}),h1:({children:n})=>e(u,{variant:"h1",children:n}),h2:({className:n,children:r})=>(null==n?void 0:n.includes("sr-only"))?null:e(u,{variant:"h2",children:r}),h3:({children:n})=>e(u,{variant:"h3",children:n}),h4:({children:n})=>e(u,{variant:"h4",children:n}),h5:({children:n})=>e(u,{variant:"h5",children:n}),h6:({children:n})=>e(u,{variant:"h6",children:n}),a:({id:n,href:r,children:i})=>e(g,Object.assign({id:n,href:r},L(r),{children:i})),img:({src:n,alt:i})=>{var o;const t=r(W);if(!n||"string"!=typeof n)return null;const l=Object.assign(Object.assign({},t.image),{src:n,alt:i,disableSkeleton:!0,buttons:null});return e(f,Object.assign({},l,(null===(o=t.image)||void 0===o?void 0:o.buttons)&&{buttons:t.image.buttons(l)}))}},C=Object.assign(Object.assign({},S),{code:({className:n,children:t})=>{var l;const c=r(W),{typing:s}=x(),{remarkPlugins:d,rehypePlugins:m}=v(),{code:h,language:a,isInline:p}=I(n,t);if(!h)return null;const u="tg"===a;return"doc"===a||"result"===a||u?e(j,{code:y(h,{typing:s}),copyLabel:null===(l=c.document)||void 0===l?void 0:l.copyLabel,remarkPlugins:d,rehypePlugins:m,baseComponents:S,isTg:u}):p?e(i,{children:h}):e(o,Object.assign({},c.code,{className:n,children:h}))}});export{q as MessageMarkdownComponentsProvider,S as baseMarkdownComponents,I as getMarkdownCodeInfo,L as markdownLinkTargetProps,C as messageMarkdownComponents};
|
|
@@ -4,4 +4,5 @@ import type { Plugin } from 'unified';
|
|
|
4
4
|
import type { Root } from 'mdast';
|
|
5
5
|
import 'katex/dist/katex.min.css';
|
|
6
6
|
declare const remarkCite: Plugin<[], Root>;
|
|
7
|
-
|
|
7
|
+
declare const remarkHtmlBreak: Plugin<[], Root>;
|
|
8
|
+
export { remarkMath, rehypeKatex, remarkCite, remarkHtmlBreak };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{default as remarkMath}from"remark-math";export{default as rehypeKatex}from"rehype-katex";import"katex/dist/katex.min.css";const e
|
|
1
|
+
export{default as remarkMath}from"remark-math";export{default as rehypeKatex}from"rehype-katex";import"katex/dist/katex.min.css";const e=/^<cite>([\s\S]*)<\/cite>$/i,t=/^<br\s*\/?>$/i,n=e=>({type:"cite",children:e,data:{hName:"cite"}}),r=function(){const t=t=>{const r=e.exec(t.trim());if(!r)return null;const i=this.parse(r[1].trim()),[c]=i.children,o=1===i.children.length&&"paragraph"===c.type?c.children:i.children;return{type:"paragraph",children:[n(o)]}},r=e=>{const{children:i}=e;for(let r=0;r<i.length;r++){const c=i[r];if("html"!==c.type)continue;if("root"===e.type||c.value.includes("\n")){const e=t(c.value);if(e){i.splice(r,1,e);continue}}if("<cite>"!==c.value.toLowerCase())continue;const o=i.findIndex((e,t)=>t>r&&"html"===e.type&&"</cite>"===e.value.toLowerCase());if(-1===o)continue;const a=i.slice(r+1,o);i.splice(r,o-r+1,n(a))}for(const e of i)"children"in e&&r(e)};return e=>{r(e)}},i=()=>e=>{const n=e=>{e.children.forEach((r,i)=>{"html"===r.type&&t.test(r.value.trim())?e.children[i]={type:"break"}:"children"in r&&n(r)})};n(e)};export{r as remarkCite,i as remarkHtmlBreak};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useMemo as r}from"react";import o from"remark-gfm";import"../../../theme/index.js";import{remarkCite as t}from"./markdown-plugins.js";import{useTheme as
|
|
1
|
+
import{useMemo as r}from"react";import o from"remark-gfm";import"../../../theme/index.js";import{remarkCite as t,remarkHtmlBreak as m}from"./markdown-plugins.js";import{useTheme as e}from"../../../theme/hook.js";import i from"rehype-katex";import p from"remark-math";const s=[o,[p,{singleDollarTextMath:!0}],t,m],a=()=>{const o=e().colors.orange,t=r(()=>[[i,{output:"html",errorColor:o,strict:!1}]],[o]);return{remarkPlugins:s,rehypePlugins:t}};export{a as useMarkdownPlugins};
|
|
@@ -1 +1,9 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface NormalizeMessageMarkdownOptions {
|
|
2
|
+
/**
|
|
3
|
+
* The message is still streaming: the last formula may be incomplete, so it
|
|
4
|
+
* is hidden until its closing delimiter arrives instead of rendering as a
|
|
5
|
+
* KaTeX error or raw LaTeX.
|
|
6
|
+
*/
|
|
7
|
+
typing?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function normalizeMessageMarkdown(content: string, { typing }?: NormalizeMessageMarkdownOptions): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t
|
|
1
|
+
const t=/^((?:[ \t]*>)*[ \t]*(?:(?:[-*+]|\d{1,9}[.)])[ \t]+)*)(`{3,}|~{3,})(.*)$/,n=/^(?:[ \t]*>)*[ \t]*(`{3,}|~{3,})[ \t]*$/,e=/(`+)([^`\n](?:[^\n]*?[^`\n])?)\1(?!`)/g,l=/^(?:[ \t]*>)*[ \t]*(?:(?:[-*+]|\d{1,9}[.)])[ \t]+)*$/,s=/[-*+]|\d{1,9}[.)]/g,i=/[=^_\\{}]/,u=/[=^_{}]|\\[a-zA-Z]+|[+\-*/<>]\s*\d|\d\s*[+\-*/<>]/,c=/^[\sA-Za-z\d+\-*/<>=()|.,']+$/,o=/^\s*[A-Za-z]'*\s*$/;function r(t){return" "===t||"\n"===t||"\t"===t||"\r"===t}function f(t){return void 0!==t&&t>="0"&&t<="9"}function a(t,n){let e=0;for(let l=n-1;l>=0&&"\\"===t[l];l-=1)e+=1;return e%2==1}function d(t){return!!u.test(t)||c.test(t)&&/[A-Za-z]/.test(t)&&/[+\-*/<>=]/.test(t)}function h(t){return d(t)||o.test(t)}function $(t){return!!t.includes("$")||!i.test(t)&&!/^\d+[^\d\s.,$]/.test(t)&&/^\d[\d.,]*\s/.test(t)}function p(t,n,e){return t.startsWith(n,e)&&!a(t,e)}function v(t,n,e){let l=t.indexOf(n,e);for(;-1!==l&&a(t,l);)l=t.indexOf(n,l+1);return l}function g(t){return`$${t.trim().replace(/\s*\n\s*/g," ")}$`}function m(t,n,e){if(null===n||!l.test(n)||""!==e.trim())return g(`\\displaystyle ${t.trim()}`);const i=n.replace(s,t=>" ".repeat(t.length));return["$$",...t.split("\n").map(t=>t.trim()).filter(Boolean).map(t=>`${i}${t}`),`${i}$$`].join("\n")}function x(t,n){const e=t.indexOf("\n",n);return t.slice(n,-1===e?t.length:e)}function k(t,n){const e=[];let l="",s=0;const i=()=>{l&&(e.push({kind:"text",value:l}),l="")},u=e=>{const l=t.lastIndexOf("\n",e-1)+1;return 0!==l||n?t.slice(l,e):null};for(;s<t.length;){let n=!1;if(p(t,"\\$$",s)){const l=v(t,"\\$$",s+3);-1!==l&&(i(),e.push({kind:"math",value:m(t.slice(s+3,l),u(s),x(t,l+3))}),s=l+3,n=!0)}else if(p(t,"\\[",s)){const l=v(t,"\\]",s+2),c=-1===l?"":t.slice(s+2,l);-1!==l&&d(c)&&(i(),e.push({kind:"math",value:m(c,u(s),x(t,l+2))}),s=l+2,n=!0)}else if(p(t,"\\(",s)){const l=v(t,"\\)",s+2),u=-1===l?"":t.slice(s+2,l);-1===l||u.includes("\n")||""===u.trim()||(i(),e.push({kind:"math",value:g(u)}),s=l+2,n=!0)}else if(p(t,"\\$",s)){const l=v(t,"\\$",s+2),u=-1===l?"":t.slice(s+2,l);-1===l||u.includes("\n")||/^\s*\d/.test(u)||!h(u)||(i(),e.push({kind:"math",value:g(u)}),s=l+2,n=!0)}else if(p(t,"$$",s)){const l=v(t,"$$",s+2);-1!==l&&(i(),e.push({kind:"math",value:t.slice(s,l+2)}),s=l+2,n=!0)}n||(l+=t[s],s+=1)}return i(),e}function O(t,n){for(let e=n;e<t.length;e+=1)if("$"===t[e]&&!a(t,e))if("$"!==t[e+1]){if(!r(t[e-1])&&!f(t[e+1]))return e}else e+=1;return-1}const j=[{open:"\\$$",close:"\\$$",isMath:()=>!0},{open:"\\[",close:"\\]",isMath:t=>""===t.trim()||d(t)},{open:"\\(",close:"\\)",isMath:t=>!t.includes("\n")}];function A(t){const n=function(t){let n=null,e=null;for(let l=0;l<t.length;l++){const{kind:s,value:i}=t[l];if("code"!==s)for(let t=0;t<i.length;t+=1){const s=i[t],u={segmentIndex:l,offset:t};if("\n"!==s||n){if(!a(i,t)){if("\\"===s&&!n&&!e){const n=j.find(({open:n})=>i.startsWith(n,t));if(n){const e=t+n.open.length,l=v(i,n.close,e);if(-1===l&&n.isMath(i.slice(e)))return u;-1!==l&&(t=l+n.close.length-1);continue}if(t===i.length-1)return u;continue}"$"===s&&("$"!==i[t+1]?n||(e?e=null:r(i[t+1])||(e=u)):(n=n?null:u,t+=1))}}else e=null}}return null!=n?n:e}(t);if(!n)return t;const{segmentIndex:e,offset:l}=n;return[...t.slice(0,e),Object.assign(Object.assign({},t[e]),{value:t[e].value.slice(0,l)})]}function z(l,{typing:s=!1}={}){const i=[];(function(e){const l=[],s=e.split("\n");let i={kind:"text",value:""},u=null;const c=(t,n)=>{i.kind!==t&&(i.value&&l.push(i),i={kind:t,value:""}),i.value+=n};return s.forEach((e,l)=>{const i=l<s.length-1?`${e}\n`:e;if(u){c("code",i);const t=n.exec(e);return void(t&&t[1][0]===u.char&&t[1].length>=u.length&&(u=null))}const o=t.exec(e);if(o&&("`"!==o[2][0]||!o[3].includes("`")))return u={char:o[2][0],length:o[2].length},void c("code",i);c("text",i)}),i.value&&l.push(i),l})(l).forEach(t=>{"text"===t.kind?i.push(...function(t){var n;const l=[];let s=0;for(const i of t.matchAll(e)){const e=null!==(n=i.index)&&void 0!==n?n:0;a(t,e)||(e>s&&l.push({kind:"text",value:t.slice(s,e)}),l.push({kind:"code",value:i[0]}),s=e+i[0].length)}return s<t.length&&l.push({kind:"text",value:t.slice(s)}),l}(t.value)):i.push(t)});const u=i.map((t,n)=>{if("text"!==t.kind)return t;const e=i[n-1],l=!e||e.value.endsWith("\n");return{kind:"text",value:k(t.value,l).map(t=>"text"===t.kind?function(t){let n="";for(let e=0;e<t.length;e+=1){const l=t[e];if("$"===l&&!a(t,e)&&f(t[e+1])){const l=O(t,e+1),s=-1===l?"":t.slice(e+1,l);if(-1===l||$(s)){n+="\\$";continue}}n+=l}return n}(t.value):t.value).join("")}});return(s?A(u):u).map(t=>t.value).join("")}export{z as normalizeMessageMarkdown};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{MessageInlineCode as o}from"../components/code/inline/index.js";import{MessageMultilineCode as e}from"../components/code/multiline/index.js";import{MessageParagraph as n}from"../components/paragraph/index.js";import{MessageBold as r}from"../components/bold/index.js";import{MessageItalic as i}from"../components/italic/index.js";import"tslib";import"../components/strike/styled.js";import"../context.js";import"../components/blockquote/styled.js";import"../components/hr/styled.js";import{MessagePre as m}from"../components/pre/styled.js";import"../components/table/styled.js";import"../components/table/cell/styled.js";import"../components/list/styled.js";import"../components/list/context.js";import"../components/list/item/styled.js";import{MessageTitle as s}from"../components/title/index.js";import{MessageLink as c}from"../components/link/index.js";import"react";import"../components/image/styled.js";import"../components/image/context.js";import"../../../theme/index.js";import"../components/image/grid/styled.js";import"../components/image/button/styled.js";import"../components/image/button/list/styled.js";import"react-markdown";import"../components/document-copy/styled.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import"../../../utils/colors/calculateGrayScale.js";import"../../../utils/colors/calculateAccentColors.js";import"../components/cite/styled.js";const
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{MessageInlineCode as o}from"../components/code/inline/index.js";import{MessageMultilineCode as e}from"../components/code/multiline/index.js";import{MessageParagraph as n}from"../components/paragraph/index.js";import{MessageBold as r}from"../components/bold/index.js";import{MessageItalic as i}from"../components/italic/index.js";import"tslib";import"../components/strike/styled.js";import"../context.js";import"../components/blockquote/styled.js";import"../components/hr/styled.js";import{MessagePre as m}from"../components/pre/styled.js";import"../components/table/styled.js";import"../components/table/cell/styled.js";import"../components/list/styled.js";import"../components/list/context.js";import"../components/list/item/styled.js";import{MessageTitle as s}from"../components/title/index.js";import{MessageLink as c}from"../components/link/index.js";import"react";import"../components/image/styled.js";import"../components/image/context.js";import"../../../theme/index.js";import"../components/image/grid/styled.js";import"../components/image/button/styled.js";import"../components/image/button/list/styled.js";import"react-markdown";import"../components/document-copy/styled.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import"../../../utils/colors/calculateGrayScale.js";import"../../../utils/colors/calculateAccentColors.js";import"../components/cite/styled.js";import{getMarkdownCodeInfo as l,markdownLinkTargetProps as p}from"../markdown/markdown-components.js";const d="body-s-regular",a={p:({children:o})=>t(n,{wrap:!0,variant:d,children:o}),b:({children:o})=>t(r,{variant:d,children:o}),pre:({children:o})=>t(m,{children:o}),code:({className:n,children:r})=>{const{code:i,isInline:m}=l(n,r);return i?m?t(o,{children:i}):t(e,{className:n,children:i}):null},strong:({children:o})=>t(r,{component:"strong",variant:d,children:o}),i:({children:o})=>t(i,{variant:d,children:o}),em:({children:o})=>t(i,{component:"em",variant:d,children:o}),a:({id:o,href:e,children:n})=>t(c,Object.assign({id:o,href:e},p(e),{variant:d,children:n})),h1:({children:o})=>t(s,{variant:"h3",children:o}),h2:({children:o})=>t(s,{variant:"h4",children:o}),h3:({children:o})=>t(s,{variant:"h5",children:o})};export{a as reasoningComponentsOverride};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as r
|
|
1
|
+
import{__rest as r}from"tslib";import{jsxs as t,jsx as e}from"react/jsx-runtime";import{useId as o,useRef as c,useState as i,useEffect as n,useCallback as a}from"react";import{MessageVoiceStyled as s,MessageVoiceAudio as l,MessageVoiceMain as d,MessageVoiceToggleButton as m,MessageVoicePauseIcon as u,MessageVoicePlayIcon as h,MessageVoiceWaves as p,StyledRect as g,MessageVoiceDurationText as f,MessageVoiceToggleTextButton as w,MessageVoiceHideTextIcon as y,MessageVoiceShowTextIcon as b,MessageVoiceText as j}from"./styled.js";import{IconProvider as k}from"../../icon/context.js";import"../../icon/styled.js";import"@react-spring/web";import"react-markdown";import"react-dom";import"../../portal/styled.js";import"../../tooltip/styled.js";import"../../tooltip/arrow/styled.js";import"../../../theme/index.js";import"../../tooltip/context.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import{isBright as v}from"../../../utils/colors/isBright.js";import"../../../utils/colors/calculateGrayScale.js";import"../../../utils/colors/calculateAccentColors.js";import{formatSeconds as x}from"../../../utils/formatSeconds.js";import{useMessage as C}from"../context.js";import{useTheme as L}from"../../../theme/hook.js";const P="messageVoicePlay",A=A=>{var{height:E=36,src:S,waveData:$,duration:D,tabIndex:T=0,isLoading:B=!1,checkAlive:F,refreshSrc:I,disableTranscription:O,variant:_="message",children:z}=A,G=r(A,["height","src","waveData","duration","tabIndex","isLoading","checkAlive","refreshSrc","disableTranscription","variant","children"]);const M=L(),N=o(),{color:R}=C(),U=c(null),V=c(null),X=c(!1),q=c(!1),[H,J]=i(!0),[K,Q]=i(!1),[W,Y]=i(!1),[Z,rr]=i(null),tr=H||B;n(()=>{const r=r=>{const t=U.current,e=r.detail.audio;t&&e!==t&&!t.paused&&t.pause()};return window.addEventListener(P,r),()=>{window.removeEventListener(P,r)}},[]);const er=a(()=>{const r=U.current;r&&(window.dispatchEvent(new CustomEvent(P,{detail:{audio:r}})),r.play().catch(()=>{Q(!r.paused)}))},[]),or=a(()=>{I&&(q.current=!0,I())},[I]);n(()=>{Q(!1),rr(null),J(!0),X.current=!1;const r=U.current;r&&(r.load(),q.current&&(q.current=!1,er()))},[S,er]);const cr=a(()=>{const r=U.current;r&&!B&&(r.error?or():(X.current=!0,er(),null==F||F().then(r=>{var t;r||(null===(t=U.current)||void 0===t||t.pause(),or())}).catch(()=>{})))},[F,B,er,or]),ir=a(()=>{J(!1),Q(!1),X.current&&(X.current=!1,or())},[or]),nr=a(()=>{U.current&&U.current.pause()},[]),ar=a(()=>{K?nr():cr()},[K,cr,nr]),sr=a(()=>{const r=U.current;r&&rr(r.currentTime)},[]),lr=a(r=>{r.stopPropagation();const t=U.current,e=V.current;if(!t||!e||B)return;const o=e.getBoundingClientRect(),{width:c}=o,i=(r.clientX-o.left)/c*D;Number.isFinite(i)&&(t.currentTime=i),K||cr()},[D,K,B,cr]),dr=a(()=>{rr(null),Q(!1)},[]),mr=a(r=>{r.stopPropagation(),Y(!W)},[W]);return t(s,Object.assign({},G,{children:[e(l,{ref:U,src:S,onPlay:()=>Q(!0),onPause:()=>Q(!1),onCanPlay:()=>J(!1),onError:ir,onTimeUpdate:sr,onEnded:dr}),t(d,{$loading:tr,tabIndex:T,children:[e(m,{onClick:ar,children:e(k,Object.assign({},"message"===_&&("standard"!==M.scheme?{fill:M.colors.grayScale.gray4}:{fill:"dark"===M.mode?M.default.colors.base.white:M.default.colors.accent.primary}),"input"===_&&"default"===R&&{fill:"standard"===M.scheme?"#A4C1FA":v(M.colors.grayScale.gray4)?M.colors.accent.strongDown:M.colors.accent.primary},"input"===_&&{size:22},{children:e(K?u:h,{})}))}),t(p,{ref:V,width:"145",height:E,viewBox:`0 0 145 ${E}`,fill:"none",onClick:lr,children:[t("g",{clipPath:`url(#${N}_clip)`,children:[e("rect",{width:"145",height:E,fill:"default"===R?"standard"===M.scheme?"#A4C1FA":M.bright||"custom"===M.scheme&&v(M.colors.custom.message.user.background)?M.colors.accent.strongDown:M.colors.accent.primaryLight:M.default.colors.base.white}),null!==Z&&e(g,{height:E,fill:"dark"===M.mode?M.default.colors.base.white:M.colors.accent.primaryLight,style:{width:Z/D*145}})]}),e("defs",{children:e("clipPath",{id:`${N}_clip`,children:$.map((r,t)=>{const o=Math.max(r/100*36,2);return e("rect",{x:5*t,y:(E-o)/2,width:"3",height:o,rx:"1.5"},t)})})})]}),t(f,{$variant:_,children:[null!==Z&&x(Z),null===Z&&x(D)]}),!O&&e(w,{onClick:mr,children:e(k,{fill:"standard"===M.scheme?"dark"===M.mode?M.colors.accent.primary:M.colors.accent.primaryLight:M.bright?M.colors.accent.strongDown:M.colors.accent.primaryLight,stroke:"standard"===M.scheme?M.default.colors.base.white:M.default.colors.base.black,children:e(W?y:b,{})})})]}),!O&&W&&z&&e(j,{$messageColor:R,children:z})]}))};export{A as MessageVoice};
|