@bothub-chat/ui 2.51.1 → 2.51.2-develop-22722745-cb59-4e80-ab4f-813a4df43fd1
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as i,__awaiter as e}from"tslib";import{jsx as o,jsxs as s,Fragment as n}from"react/jsx-runtime";import{useRef as t,useState as r,useCallback as c,useEffect as d}from"react";import{useTransition as m}from"@react-spring/web";import{useOnClickOutside as a}from"../../utils/useOnClickOutside.js";import{InputMessageStyled as p,InputMessageContent as l,InputMessageConfigure as j,InputMessageConfigureButton as x,InputMessageConfigureMenu as u,InputMessageUploadFile as g,InputMessageUploadFileLabel as h,InputMessageUploadFileInput as b,InputMessageMenuHr as y,InputMessageMenuOption as f,InputMessageMain as v,InputMessageVoiceRecord as w,InputMessageVoiceRecordDot as k,InputMessageVoiceRecordTimeText as C,InputMessageFiles as D,InputMessageFile as F,InputMessageConcatenateWarning as $,InputMessageVoiceFiles as T,InputMessageVoiceTrack as A,InputMessageVoiceFileDelete as E,InputMessageTextArea as O,InputMessageButtons as S,InputMessageToggleSendStyled as L,InputMessageToggleSendButton as K,InputMessageToggleSendModalStyled as P,InputMessageToggleSendModalOption as U,InputMessageVoicePlayButton as z,InputMessageVoicePauseButton as q,InputMessageVoiceButton as R,InputMessageSendButton as V,InputMessageSendIcon as I}from"./styled.js";import{ChipImage as B}from"../chip/styled.js";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{PdfIcon as N}from"../../icons/pdf/index.js";import{TxtIcon as M}from"../../icons/txt/index.js";import{WordIcon as G}from"../../icons/word/index.js";import{XlsIcon as H}from"../../icons/xls/index.js";import{IconProvider as W}from"../icon/context.js";import"../icon/styled.js";import{Typography as _}from"../typography/index.js";import{getPreviewUrlForFile as J,isFileTypeAccepted as Q,formatUploadFiles as X,formatSeconds as Y,isMobileDevice as Z}from"./utils.js";import{AttachFileIcon as ii}from"../../icons/attach-file/index.js";import{getSupportedAudioMimeType as ei}from"../../utils/getSupportedAudioMimeType.js";import"marked";import"../message/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"../message/context.js";import"styled-components";import"../message/components/code/inline/styled.js";import"../message/components/code/multiline/styled.js";import"../message/components/code/multiline/copy/styled.js";import"../../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/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/markdown/styled.js";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"../../icons/edit/index.js";import"../../icons/trash/index.js";import"../../icons/thumb-down/index.js";import"../../icons/close/index.js";import"../../icons/download-img/index.js";import"../message/actions/styled.js";import"../message/actions/copy-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"../../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{Plus2Icon as oi}from"../../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 si}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/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-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/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"../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 ni}from"../message/voice/index.js";import"../message/reasoning-block/styled.js";import"../message/search-results/styled.js";import"../message/video/styled.js";import{getWaveData as ti}from"../../utils/audio/getWaveData.js";import{useTheme as ri}from"../../theme/hook.js";const ci=ci=>{var{className:di,placeholder:mi,message:ai,files:pi,disabled:li=!1,sendDisabled:ji=!1,textAreaDisabled:xi=!1,useAlternativeKeyDefaultValue:ui=!1,defaultKeySendText:gi,alternativeKeySendText:hi,concatenateText:bi,uploadFileLimit:yi=5,hideUploadFile:fi=!1,uploadFileDisabled:vi=!1,uploadFileAccept:wi,uploadFileText:ki,autoFocus:Ci=!0,voice:Di=!1,onSetAlternativeKeyValue:Fi,onChange:$i,onFilesChange:Ti,onVoiceFilesChange:Ai,onTextAreaChange:Ei,onSend:Oi,onFocus:Si,onBlur:Li,emitError:Ki,actions:Pi,configureOptions:Ui}=ci,zi=i(ci,["className","placeholder","message","files","disabled","sendDisabled","textAreaDisabled","useAlternativeKeyDefaultValue","defaultKeySendText","alternativeKeySendText","concatenateText","uploadFileLimit","hideUploadFile","uploadFileDisabled","uploadFileAccept","uploadFileText","autoFocus","voice","onSetAlternativeKeyValue","onChange","onFilesChange","onVoiceFilesChange","onTextAreaChange","onSend","onFocus","onBlur","emitError","actions","configureOptions"]);const qi=ri(),Ri=t(null),[Vi,Ii]=r("calc(var(--bothub-scale, 1) * 22px)"),[Bi,Ni]="string"==typeof ai?[ai,$i]:r(""),[Mi,Gi]=Array.isArray(pi)?[pi,Ti]:r([]),[Hi,Wi]=r([]),[_i,Ji]=r(!1),[Qi,Xi]=r(!li&&Ci),[Yi,Zi]=r(!1),[ie,ee]=r(!1),[oe,se]=r(null),ne=t(null),te=t(null),re=t([]),ce=t(null),de=t(!1),me=t(null),[ae,pe]=r(ui),[le,je]=r(!1),xe=t(null),[ue,ge]=r(!1),he=c(()=>{pe(!1),null==Fi||Fi(!1),je(!1)},[]),be=c(()=>{pe(!0),null==Fi||Fi(!0),je(!1)},[]),ye=c(i=>{Xi(!0),null==Si||Si(i)},[Si]),fe=c(i=>{Xi(!1),null==Li||Li(i)},[Li]),ve=c(i=>{null==Ni||Ni(i.target.value),null==Ei||Ei(i)},[Ni,Ei]),we=c(i=>e(void 0,void 0,void 0,function*(){if(!i.length)return;const e=[],o=[],s=yield Promise.all(null==i?void 0:i.map(J));for(const[n,t]of i.entries()){Q(t.type,wi)?e.push({previewUrl:s[n],name:t.name,native:t}):o.push(t)}o.length>0&&(null==Ki||Ki({name:"WRONG_FILES",payload:o})),(null==e?void 0:e.length)>0&&(null==Gi||Gi([...Mi,...e].slice(0,yi)))}),[wi,Ki,yi,Mi]),ke=c(i=>e(void 0,void 0,void 0,function*(){!vi&&i.clipboardData.files.length>0&&(i.preventDefault(),yield we([...i.clipboardData.files]))}),[we,vi]),Ce=c(i=>e(void 0,void 0,void 0,function*(){if(!Gi||!i.target.files)return;const e=yield X([...Mi.map(({native:i})=>i),...i.target.files]);Gi(e.slice(0,yi)),ge(!1)}),[Mi,Gi,yi]),De=c(i=>{null==Gi||Gi(Mi.filter(({name:e})=>e!==i.name))},[Gi,Mi]),Fe=c(i=>{i.stopPropagation(),null==Oi||Oi(Bi,Mi),null==Ni||Ni(""),null==Gi||Gi([]),null==Wi||Wi([]),Ii("calc(var(--bothub-scale, 1) * 22px)")},[Bi,Mi,Oi,Ni,Gi,Wi]),$e=c(i=>{i.stopPropagation();if(Z()&&"Enter"===i.key)return;const e=ae?"enter":"ctrl/shift+enter";let o="";if("Enter"===i.key&&(i.shiftKey||i.ctrlKey))o="ctrl/shift+enter";else{if("Enter"!==i.key)return;o="enter"}if(Qi&&"Enter"===i.key){if(o===e&&i.ctrlKey){i.preventDefault();const e=Ri.current;if(!e)return;const o=e.value,t=e.selectionStart,r=o.slice(0,t),c=o.slice(t);null==Ni||Ni(`${r}\n${c}`),s=e,n=t+1,setTimeout(()=>{s.selectionStart=n,s.selectionEnd=n},1)}e!==o&&""!==o&&(i.preventDefault(),null==Oi||Oi(Bi,Mi),Ii("calc(var(--bothub-scale, 1) * 22px)"))}var s,n},[Qi,Bi,Mi,Oi,Ni,Gi]),Te=c(()=>{var i;li||null===(i=Ri.current)||void 0===i||i.focus()},[li,Ci]),Ae=c(i=>{i.stopPropagation()},[]),Ee=c(i=>e(void 0,void 0,void 0,function*(){if(ie)return;de.current=!0,i.stopPropagation();const e=yield navigator.mediaDevices.getUserMedia({audio:!0}),o=new MediaRecorder(e,{mimeType:ei()});de.current&&(o.start(1e3),ne.current=o,te.current=e,ce.current=window.setInterval(()=>{se(i=>(null!=i?i:0)+.1)},100),ee(!0),se(0),Ji(!1))}),[de.current,re.current,ie]),Oe=c(()=>{const i=ne.current,e=te.current,o=ce.current;if(ie&&i&&e&&o){i.stop();for(const i of e.getTracks())i.stop();window.clearInterval(o)}},[ie,ne.current,te.current,ce.current]),Se=c(()=>e(void 0,void 0,void 0,function*(){de.current=!1,ie&&Oe()}),[ie,Oe]),Le=c(()=>{const i=ne.current,e=ce.current;ie&&i&&e&&(i.pause(),window.clearInterval(e),Ji(!0))},[ie]),Ke=c(()=>{const i=ne.current;ie&&i&&(i.resume(),ce.current=window.setInterval(()=>{se(i=>(null!=i?i:0)+.1)},100),Ji(!1))},[ie,se]),Pe=c(i=>{Wi(Hi.filter(e=>e.src!==i.src))},[Hi,Wi]),Ue=c(()=>{const i=Ri.current;null!==i&&(i.style.height="calc(var(--bothub-scale, 1) * 22px)",i.style.height=`${i.scrollHeight}px`,Ii(`${i.scrollHeight}px`))},[Bi,Ci]);d(()=>{Ue()},[Ue]),d(()=>{const i=Ri.current;if(!i||li)return;const e=!li&&Ci;Xi(e),e?i.focus():document.activeElement===i&&i.blur()},[li,Ci]),d(()=>{const i=Ri.current;if(null!==i)return i.addEventListener("keydown",$e),()=>{i.removeEventListener("keydown",$e)}},[$e]),d(()=>{Gi&&pi&&Gi(pi)},[pi]),d(()=>{null==Ai||Ai(Hi)},[Hi]),d(()=>{const i=ne.current,o=i=>{i.data.size>0&&re.current.push(i.data)},s=()=>e(void 0,void 0,void 0,function*(){const i=new Blob(re.current,{type:ei()}),{waveData:e,duration:o}=yield ti(i),s={src:URL.createObjectURL(i),duration:o,blob:i,waveData:e};Wi([...Hi,s]),ne.current=null,te.current=null,re.current=[],ce.current=null,ee(!1),se(null)});return i&&(i.addEventListener("dataavailable",o),i.addEventListener("stop",s)),()=>{i&&(i.removeEventListener("dataavailable",o),i.removeEventListener("stop",s)),Oe()}},[ne.current]),a(me,()=>{je(!1)}),a(xe,()=>{ge(!1)});const ze=m(!li&&le,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:100,ease:"easeOut"}}),qe=m(!li&&ue,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:100,ease:"easeOut"}});return o(p,{$active:Qi,$dragActive:Yi,$disabled:li,$textAreaDisabled:xi,$voiceRecording:ie,className:di,onClick:Te,onDragEnter:()=>Zi(!0),onDragLeave:()=>Zi(!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 we([...i.dataTransfer.files]),Zi(!1),!1}),children:s(l,{children:[(!fi||!!Ui)&&s(j,{ref:xe,children:[o(x,{$disabled:li,onClick:i=>{i.stopPropagation(),ge(!ue)},children:o(oi,{fill:qi.colors.base.white})}),qe((e,n)=>n&&s(u,{style:e,children:[s(g,{children:[s(h,{$disabled:Mi.length>=yi||li||vi,onClick:Ae,children:[o(si,{size:18}),o(_,{variant:"body-m-medium",children:ki})]}),o(b,{type:"file",accept:wi,multiple:!0,disabled:Mi.length>=yi||li||vi,onChange:Ce},Mi.length)]}),!!Ui&&o(y,{}),null==Ui?void 0:Ui.map(e=>{var{onClick:s}=e,n=i(e,["onClick"]);return o(f,Object.assign({},n,{onClick:()=>{null==s||s(),ge(!1)}}))})]})),Pi]}),s(v,{onClick:Te,children:[ie&&null!==oe&&s(w,{children:[o(k,{}),o(C,{children:Y(oe)})]}),Mi.length>0&&o(D,{children:Mi.map(i=>{let e;return e=i.previewUrl&&(i.name.match(/.png$/i)||i.name.match(/.jpg$/i)||i.name.match(/.jpeg$/i))?o(B,{src:i.previewUrl}):i.name.match(/.txt$/i)?o(M,{}):i.name.match(/.docx$/i)?o(G,{}):i.name.match(/.xlsx$/i)?o(H,{}):i.name.match(/.pdf$/i)?o(N,{}):o(ii,{}),e=o(W,{size:18,children:e}),o(F,{start:e,onDelete:De.bind(null,i),children:i.name.length>20?`...${i.name.slice(-20)}`:i.name},i.name)})}),Hi.length>1&&o($,{children:bi}),Hi.length>0&&o(T,{children:Hi.map(i=>s(A,{children:[o(ni,{variant:"input",height:24,src:i.src,duration:i.duration,waveData:i.waveData,disableTranscription:!0}),o(E,{onClick:Pe.bind(null,i)})]},i.src))}),(!xi||xi&&mi&&Mi.length!==yi||xi&&Bi)&&o(O,Object.assign({$disabled:li},zi,{ref:Ri,value:Bi,placeholder:mi,disabled:li||xi,style:Object.assign(Object.assign({},zi.style),{height:Vi}),onFocus:ye,onBlur:fe,onChange:ve,onPaste:ke}))]}),s(S,{children:[!!gi&&!!hi&&s(L,{ref:me,children:[o(K,{onClick:i=>{i.stopPropagation(),je(!le)},disabled:li}),ze((i,e)=>e&&s(P,{style:i,children:[o(U,{active:!ae,onClick:he,children:gi}),o(U,{active:ae,onClick:be,children:hi})]},"alternative-key-modal"))]}),ie&&o(n,{children:_i?o(z,{onClick:Ke}):o(q,{onClick:Le})}),Di&&o(R,{$isRecording:ie,disabled:li||ji,onClick:ie?Se:Ee,"data-test":"submit-message"}),o(V,Object.assign({disabled:li||ji||ie,onClick:Fe},qi.bright&&{iconFill:qi.default.colors.base.black},{"data-test":"submit-message",children:o(I,{})}))]})]})})};export{ci as InputMessage};
|
|
1
|
+
import{__rest as i,__awaiter as e}from"tslib";import{jsx as o,jsxs as s,Fragment as n}from"react/jsx-runtime";import{useRef as t,useState as r,useCallback as c,useEffect as d}from"react";import{useTransition as m}from"@react-spring/web";import{useOnClickOutside as a}from"../../utils/useOnClickOutside.js";import{InputMessageStyled as p,InputMessageContent as l,InputMessageConfigure as j,InputMessageConfigureButton as x,InputMessageConfigureMenu as u,InputMessageUploadFile as g,InputMessageUploadFileLabel as h,InputMessageUploadFileInput as b,InputMessageMenuHr as y,InputMessageMenuOption as f,InputMessageMain as v,InputMessageVoiceRecord as w,InputMessageVoiceRecordDot as k,InputMessageVoiceRecordTimeText as C,InputMessageFiles as D,InputMessageFile as F,InputMessageConcatenateWarning as $,InputMessageVoiceFiles as T,InputMessageVoiceTrack as A,InputMessageVoiceFileDelete as E,InputMessageTextArea as O,InputMessageButtons as S,InputMessageToggleSendStyled as L,InputMessageToggleSendButton as K,InputMessageToggleSendModalStyled as P,InputMessageToggleSendModalOption as U,InputMessageVoicePlayButton as z,InputMessageVoicePauseButton as q,InputMessageVoiceButton as R,InputMessageSendButton as V,InputMessageSendIcon as I}from"./styled.js";import{ChipImage as B}from"../chip/styled.js";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{PdfIcon as N}from"../../icons/pdf/index.js";import{TxtIcon as M}from"../../icons/txt/index.js";import{WordIcon as G}from"../../icons/word/index.js";import{XlsIcon as H}from"../../icons/xls/index.js";import{IconProvider as W}from"../icon/context.js";import"../icon/styled.js";import{Typography as _}from"../typography/index.js";import{getPreviewUrlForFile as J,isFileTypeAccepted as Q,formatUploadFiles as X,formatSeconds as Y,isMobileDevice as Z}from"./utils.js";import{AttachFileIcon as ii}from"../../icons/attach-file/index.js";import{getSupportedAudioMimeType as ei}from"../../utils/getSupportedAudioMimeType.js";import"marked";import"../message/styled.js";import"../loader/styled.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"../message/context.js";import"styled-components";import"../message/components/code/inline/styled.js";import"../message/components/code/multiline/styled.js";import"../message/components/code/multiline/copy/styled.js";import"../../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/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/markdown/styled.js";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"../../icons/edit/index.js";import"../../icons/trash/index.js";import"../../icons/thumb-down/index.js";import"../../icons/close/index.js";import"../../icons/download-img/index.js";import"../message/actions/styled.js";import"../message/actions/copy-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"../../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{Plus2Icon as oi}from"../../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 si}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/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-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/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"../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 ni}from"../message/voice/index.js";import"../message/reasoning-block/styled.js";import"../message/search-results/styled.js";import"../message/video/styled.js";import{getWaveData as ti}from"../../utils/audio/getWaveData.js";import{useTheme as ri}from"../../theme/hook.js";const ci=ci=>{var{className:di,placeholder:mi,message:ai,files:pi,disabled:li=!1,sendDisabled:ji=!1,textAreaDisabled:xi=!1,useAlternativeKeyDefaultValue:ui=!1,defaultKeySendText:gi,alternativeKeySendText:hi,concatenateText:bi,uploadFileLimit:yi=5,hideUploadFile:fi=!1,uploadFileDisabled:vi=!1,uploadFileAccept:wi,uploadFileText:ki,autoFocus:Ci=!0,voice:Di=!1,onSetAlternativeKeyValue:Fi,onChange:$i,onFilesChange:Ti,onVoiceFilesChange:Ai,onTextAreaChange:Ei,onSend:Oi,onFocus:Si,onBlur:Li,emitError:Ki,actions:Pi,configureOptions:Ui}=ci,zi=i(ci,["className","placeholder","message","files","disabled","sendDisabled","textAreaDisabled","useAlternativeKeyDefaultValue","defaultKeySendText","alternativeKeySendText","concatenateText","uploadFileLimit","hideUploadFile","uploadFileDisabled","uploadFileAccept","uploadFileText","autoFocus","voice","onSetAlternativeKeyValue","onChange","onFilesChange","onVoiceFilesChange","onTextAreaChange","onSend","onFocus","onBlur","emitError","actions","configureOptions"]);const qi=ri(),Ri=t(null),[Vi,Ii]=r("calc(var(--bothub-scale, 1) * 22px)"),[Bi,Ni]="string"==typeof ai?[ai,$i]:r(""),[Mi,Gi]=Array.isArray(pi)?[pi,Ti]:r([]),[Hi,Wi]=r([]),[_i,Ji]=r(!1),[Qi,Xi]=r(!li&&Ci),[Yi,Zi]=r(!1),[ie,ee]=r(!1),[oe,se]=r(null),ne=t(null),te=t(null),re=t([]),ce=t(null),de=t(!1),me=t(null),[ae,pe]=r(ui),[le,je]=r(!1),xe=t(null),[ue,ge]=r(!1),he=c(()=>{pe(!1),null==Fi||Fi(!1),je(!1)},[]),be=c(()=>{pe(!0),null==Fi||Fi(!0),je(!1)},[]),ye=c(i=>{Xi(!0),null==Si||Si(i)},[Si]),fe=c(i=>{Xi(!1),null==Li||Li(i)},[Li]),ve=c(i=>{null==Ni||Ni(i.target.value),null==Ei||Ei(i)},[Ni,Ei]),we=c(i=>e(void 0,void 0,void 0,function*(){if(!i.length)return;const e=[],o=[],s=yield Promise.all(null==i?void 0:i.map(J));for(const[n,t]of i.entries()){Q(t.type,wi)?e.push({previewUrl:s[n],name:t.name,native:t}):o.push(t)}o.length>0&&(null==Ki||Ki({name:"WRONG_FILES",payload:o})),(null==e?void 0:e.length)>0&&(null==Gi||Gi([...Mi,...e].slice(0,yi)))}),[wi,Ki,yi,Mi]),ke=c(i=>e(void 0,void 0,void 0,function*(){!vi&&i.clipboardData.files.length>0&&(i.preventDefault(),yield we([...i.clipboardData.files]))}),[we,vi]),Ce=c(i=>e(void 0,void 0,void 0,function*(){if(!Gi||!i.target.files)return;const e=yield X([...Mi.map(({native:i})=>i),...i.target.files]);Gi(e.slice(0,yi)),ge(!1)}),[Mi,Gi,yi]),De=c(i=>{null==Gi||Gi(Mi.filter(({name:e})=>e!==i.name))},[Gi,Mi]),Fe=c(i=>{i.stopPropagation(),null==Oi||Oi(Bi,Mi),null==Ni||Ni(""),null==Gi||Gi([]),null==Wi||Wi([]),Ii("calc(var(--bothub-scale, 1) * 22px)")},[Bi,Mi,Oi,Ni,Gi,Wi]),$e=c(i=>{i.stopPropagation();if(Z()&&"Enter"===i.key)return;const e=ae?"enter":"ctrl/shift+enter";let o="";if("Enter"===i.key&&(i.shiftKey||i.ctrlKey))o="ctrl/shift+enter";else{if("Enter"!==i.key)return;o="enter"}if(Qi&&"Enter"===i.key){if(o===e&&i.ctrlKey){i.preventDefault();const e=Ri.current;if(!e)return;const o=e.value,t=e.selectionStart,r=o.slice(0,t),c=o.slice(t);null==Ni||Ni(`${r}\n${c}`),s=e,n=t+1,setTimeout(()=>{s.selectionStart=n,s.selectionEnd=n},1)}e!==o&&""!==o&&(i.preventDefault(),null==Oi||Oi(Bi,Mi),Ii("calc(var(--bothub-scale, 1) * 22px)"))}var s,n},[Qi,Bi,Mi,Oi,Ni,Gi]),Te=c(()=>{var i;li||null===(i=Ri.current)||void 0===i||i.focus()},[li,Ci]),Ae=c(i=>{i.stopPropagation()},[]),Ee=c(i=>e(void 0,void 0,void 0,function*(){if(ie)return;de.current=!0,i.stopPropagation();const e=yield navigator.mediaDevices.getUserMedia({audio:!0}),o=new MediaRecorder(e,{mimeType:ei()});de.current&&(o.start(1e3),ne.current=o,te.current=e,ce.current=window.setInterval(()=>{se(i=>(null!=i?i:0)+.1)},100),ee(!0),se(0),Ji(!1))}),[de.current,re.current,ie]),Oe=c(()=>{const i=ne.current,e=te.current,o=ce.current;if(ie&&i&&e&&o){i.stop();for(const i of e.getTracks())i.stop();window.clearInterval(o)}},[ie,ne.current,te.current,ce.current]),Se=c(()=>e(void 0,void 0,void 0,function*(){de.current=!1,ie&&Oe()}),[ie,Oe]),Le=c(()=>{const i=ne.current,e=ce.current;ie&&i&&e&&(i.pause(),window.clearInterval(e),Ji(!0))},[ie]),Ke=c(()=>{const i=ne.current;ie&&i&&(i.resume(),ce.current=window.setInterval(()=>{se(i=>(null!=i?i:0)+.1)},100),Ji(!1))},[ie,se]),Pe=c(i=>{Wi(Hi.filter(e=>e.src!==i.src))},[Hi,Wi]),Ue=c(()=>{const i=Ri.current;null!==i&&(i.style.height="calc(var(--bothub-scale, 1) * 22px)",i.style.height=`${i.scrollHeight}px`,Ii(`${i.scrollHeight}px`))},[Bi,Ci]);d(()=>{Ue()},[Ue]),d(()=>{const i=Ri.current;if(!i||li)return;const e=!li&&Ci;Xi(e),e?i.focus():document.activeElement===i&&i.blur()},[li,Ci]),d(()=>{const i=Ri.current;if(null!==i)return i.addEventListener("keydown",$e),()=>{i.removeEventListener("keydown",$e)}},[$e]),d(()=>{Gi&&pi&&Gi(pi)},[pi]),d(()=>{null==Ai||Ai(Hi)},[Hi]),d(()=>{const i=ne.current,o=i=>{i.data.size>0&&re.current.push(i.data)},s=()=>e(void 0,void 0,void 0,function*(){const i=new Blob(re.current,{type:ei()}),{waveData:e,duration:o}=yield ti(i),s={src:URL.createObjectURL(i),duration:o,blob:i,waveData:e};Wi([...Hi,s]),ne.current=null,te.current=null,re.current=[],ce.current=null,ee(!1),se(null)});return i&&(i.addEventListener("dataavailable",o),i.addEventListener("stop",s)),()=>{i&&(i.removeEventListener("dataavailable",o),i.removeEventListener("stop",s)),Oe()}},[ne.current]),a(me,()=>{je(!1)}),a(xe,()=>{ge(!1)});const ze=m(!li&&le,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:100,ease:"easeOut"}}),qe=m(!li&&ue,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:100,ease:"easeOut"}});return o(p,{$active:Qi,$dragActive:Yi,$disabled:li,$textAreaDisabled:xi,$voiceRecording:ie,className:di,onClick:Te,onDragEnter:()=>Zi(!0),onDragLeave:()=>Zi(!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 we([...i.dataTransfer.files]),Zi(!1),!1}),children:s(l,{children:[(!fi||!!Ui)&&s(j,{ref:xe,children:[o(x,{$disabled:li,onClick:i=>{i.stopPropagation(),ge(!ue)},children:o(oi,{fill:qi.colors.base.white})}),qe((e,n)=>n&&s(u,{style:e,children:[!fi&&s(g,{children:[s(h,{$disabled:Mi.length>=yi||li||vi,onClick:Ae,children:[o(si,{size:18,fill:qi.colors.base.white}),o(_,{variant:"body-m-medium",children:ki})]}),o(b,{type:"file",accept:wi,multiple:!0,disabled:Mi.length>=yi||li||vi,onChange:Ce},Mi.length)]}),!fi&&!!Ui&&o(y,{}),null==Ui?void 0:Ui.map(e=>{var{onClick:s}=e,n=i(e,["onClick"]);return o(f,Object.assign({},n,{onClick:()=>{null==s||s(),ge(!1)}}))})]})),Pi]}),s(v,{onClick:Te,children:[ie&&null!==oe&&s(w,{children:[o(k,{}),o(C,{children:Y(oe)})]}),Mi.length>0&&o(D,{children:Mi.map(i=>{let e;return e=i.previewUrl&&(i.name.match(/.png$/i)||i.name.match(/.jpg$/i)||i.name.match(/.jpeg$/i))?o(B,{src:i.previewUrl}):i.name.match(/.txt$/i)?o(M,{}):i.name.match(/.docx$/i)?o(G,{}):i.name.match(/.xlsx$/i)?o(H,{}):i.name.match(/.pdf$/i)?o(N,{}):o(ii,{}),e=o(W,{size:18,children:e}),o(F,{start:e,onDelete:De.bind(null,i),children:i.name.length>20?`...${i.name.slice(-20)}`:i.name},i.name)})}),Hi.length>1&&o($,{children:bi}),Hi.length>0&&o(T,{children:Hi.map(i=>s(A,{children:[o(ni,{variant:"input",height:24,src:i.src,duration:i.duration,waveData:i.waveData,disableTranscription:!0}),o(E,{onClick:Pe.bind(null,i)})]},i.src))}),(!xi||xi&&mi&&Mi.length!==yi||xi&&Bi)&&o(O,Object.assign({$disabled:li},zi,{ref:Ri,value:Bi,placeholder:mi,disabled:li||xi,style:Object.assign(Object.assign({},zi.style),{height:Vi}),onFocus:ye,onBlur:fe,onChange:ve,onPaste:ke}))]}),s(S,{children:[!!gi&&!!hi&&s(L,{ref:me,children:[o(K,{onClick:i=>{i.stopPropagation(),je(!le)},disabled:li}),ze((i,e)=>e&&s(P,{style:i,children:[o(U,{active:!ae,onClick:he,children:gi}),o(U,{active:ae,onClick:be,children:hi})]},"alternative-key-modal"))]}),ie&&o(n,{children:_i?o(z,{onClick:Ke}):o(q,{onClick:Le})}),Di&&o(R,{$isRecording:ie,disabled:li||ji,onClick:ie?Se:Ee,"data-test":"submit-message"}),o(V,Object.assign({disabled:li||ji||ie,onClick:Fe},qi.bright&&{iconFill:qi.default.colors.base.black},{"data-test":"submit-message",children:o(I,{})}))]})]})})};export{ci as InputMessage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as t,jsx as e}from"react/jsx-runtime";import{LoaderStyled as r}from"./styled.js";import"../../theme/index.js";import"./three-dots-loader/styled.js";import{useTheme as i}from"../../theme/hook.js";const o=({className:o})=>{const a=i();return t(r,{className:o,width:"30",height:"30",viewBox:"0 0 30 30",fill:"none",children:[e("rect",{width:"30",height:"30",rx:"4",fill:a.colors.grayScale.gray3}),e("circle",{cx:"15",cy:"15",r:"7",stroke:a.colors.grayScale.gray3,strokeWidth:"2"}),e("mask",{id:"path-3-inside-1_686_17478",fill:"white",children:e("path",{d:"M23 15C23 13.9494 22.7931 12.9091 22.391 11.9385C21.989 10.9679 21.3997 10.086 20.6569 9.34315C19.914 8.60028 19.0321 8.011 18.0615 7.60896C17.0909 7.20693 16.0506 7 15 7V9.00282C15.7876 9.00282 16.5674 9.15794 17.295 9.45933C18.0226 9.76072 18.6838 10.2025 19.2406 10.7594C19.7975 11.3162 20.2393 11.9774 20.5407 12.705C20.8421 13.4326 20.9972 14.2124 20.9972 15H23Z"})}),e("path",{d:"M23 15C23 13.9494 22.7931 12.9091 22.391 11.9385C21.989 10.9679 21.3997 10.086 20.6569 9.34315C19.914 8.60028 19.0321 8.011 18.0615 7.60896C17.0909 7.20693 16.0506 7 15 7V9.00282C15.7876 9.00282 16.5674 9.15794 17.295 9.45933C18.0226 9.76072 18.6838 10.2025 19.2406 10.7594C19.7975 11.3162 20.2393 11.9774 20.5407 12.705C20.8421 13.4326 20.9972 14.2124 20.9972 15H23Z",stroke:
|
|
1
|
+
import{jsxs as t,jsx as e}from"react/jsx-runtime";import{LoaderStyled as r}from"./styled.js";import"../../theme/index.js";import"./three-dots-loader/styled.js";import{useTheme as i}from"../../theme/hook.js";const o=({className:o})=>{const a=i();return t(r,{className:o,width:"30",height:"30",viewBox:"0 0 30 30",fill:"none",children:[e("rect",{width:"30",height:"30",rx:"4",fill:a.colors.grayScale.gray3}),e("circle",{cx:"15",cy:"15",r:"7",stroke:a.colors.grayScale.gray3,strokeWidth:"2"}),e("mask",{id:"path-3-inside-1_686_17478",fill:"white",children:e("path",{d:"M23 15C23 13.9494 22.7931 12.9091 22.391 11.9385C21.989 10.9679 21.3997 10.086 20.6569 9.34315C19.914 8.60028 19.0321 8.011 18.0615 7.60896C17.0909 7.20693 16.0506 7 15 7V9.00282C15.7876 9.00282 16.5674 9.15794 17.295 9.45933C18.0226 9.76072 18.6838 10.2025 19.2406 10.7594C19.7975 11.3162 20.2393 11.9774 20.5407 12.705C20.8421 13.4326 20.9972 14.2124 20.9972 15H23Z"})}),e("path",{d:"M23 15C23 13.9494 22.7931 12.9091 22.391 11.9385C21.989 10.9679 21.3997 10.086 20.6569 9.34315C19.914 8.60028 19.0321 8.011 18.0615 7.60896C17.0909 7.20693 16.0506 7 15 7V9.00282C15.7876 9.00282 16.5674 9.15794 17.295 9.45933C18.0226 9.76072 18.6838 10.2025 19.2406 10.7594C19.7975 11.3162 20.2393 11.9774 20.5407 12.705C20.8421 13.4326 20.9972 14.2124 20.9972 15H23Z",stroke:a.colors.accent.primary,strokeWidth:"4",mask:"url(#path-3-inside-1_686_17478)",children:e("animateTransform",{attributeName:"transform",attributeType:"XML",type:"rotate",dur:"1s",from:"0 15 15",to:"360 15 15",repeatCount:"indefinite"})})]})};export{o as Loader};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{animated as e}from"@react-spring/web";import{styled as t,css as s}from"styled-components";import{Typography as o}from"../../typography/index.js";const i=t.div.withConfig({displayName:"styled__MessageActionsStyled",componentId:"sc-116vw4r-0"})(["display:flex;flex-direction:",";align-items:center;user-select:none;gap:14px;-moz-user-select:none;-webkit-user-select:none;"],({$variant:e})=>"assistant"===e?"row":"row-reverse"),r=t.div.withConfig({displayName:"styled__MessageActionsMenuStyled",componentId:"sc-116vw4r-1"})(["position:relative;display:flex;"]),
|
|
1
|
+
import{animated as e}from"@react-spring/web";import{styled as t,css as s}from"styled-components";import{Typography as o}from"../../typography/index.js";const i=t.div.withConfig({displayName:"styled__MessageActionsStyled",componentId:"sc-116vw4r-0"})(["display:flex;flex-direction:",";align-items:center;user-select:none;gap:14px;-moz-user-select:none;-webkit-user-select:none;"],({$variant:e})=>"assistant"===e?"row":"row-reverse"),r=t.div.withConfig({displayName:"styled__MessageActionsMenuStyled",componentId:"sc-116vw4r-1"})(["position:relative;display:flex;"]),a=t(e.div).withConfig({displayName:"styled__MessageActionsMenuModal",componentId:"sc-116vw4r-2"})(["position:absolute;"," "," display:flex;flex-direction:column;gap:0;padding:8px;border-radius:8px;background-color:",";border:1px solid ",";z-index:10;"],({$invertedY:e})=>s(e?["bottom:36px;"]:["top:36px;"]),({$variant:e,$invertedX:t})=>((e,t)=>{switch(e){case"assistant":return s(t?["left:14px;"]:["right:14px;"]);case"user":return s(t?["right:14px;"]:["left:14px;"]);default:return s([""])}})(e,t),({theme:e})=>e.colors.grayScale.gray4,({theme:e})=>e.colors.grayScale.gray2),n=t.button.withConfig({displayName:"styled__MessageActionsMenuModalOption",componentId:"sc-116vw4r-3"})(["all:unset;display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;background-color:",";&:hover{background-color:",";&:hover{svg{path,circle{fill:",";}}}}&:active{filter:brightness(0.8);transform:translateY(1px);}cursor:pointer;"],({theme:e})=>e.colors.grayScale.gray4,({theme:e})=>e.colors.grayScale.gray2,({theme:e})=>"custom"===e.scheme?e.colors.custom.icon:"dark"===e.mode?e.colors.accent.primaryLight:e.default.colors.base.white),l=t.button.withConfig({displayName:"styled__MessageActionsButton",componentId:"sc-116vw4r-4"})(["all:unset;width:fit-content;height:fit-content;aspect-ratio:1;display:flex;justify-content:center;align-items:center;cursor:pointer;&:hover{svg{path,circle{filter:brightness(1.2);}}}&:active{svg{path,circle{fill:",";opacity:0.75;transition:all 100ms ease-out;}}transform:translateY(1px);}transition:all 50ms ease-out;"],({theme:e})=>"custom"===e.scheme?e.colors.custom.icon:e.colors.accent.primaryLight),c=t.div.withConfig({displayName:"styled__MessageEditButtonsStyled",componentId:"sc-116vw4r-5"})(["display:flex;gap:16px;align-items:center;"]),d=t.div.withConfig({displayName:"styled__MessageActionsMenuModalOptionContent",componentId:"sc-116vw4r-6"})(["display:flex;align-items:center;gap:10px;"]),p=t(o).attrs({variant:"body-m-regular"}).withConfig({displayName:"styled__MessageActionsButtonText",componentId:"sc-116vw4r-7"})([""]);export{l as MessageActionsButton,p as MessageActionsButtonText,a as MessageActionsMenuModal,n as MessageActionsMenuModalOption,d as MessageActionsMenuModalOptionContent,r as MessageActionsMenuStyled,i as MessageActionsStyled,c as MessageEditButtonsStyled};
|
|
@@ -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,useState as t,useCallback as r,useEffect as d}from"react";import{marked as c}from"marked";import{MessageStyledWrapper as p,MessageStyledWithBottomPanel as m,MessageStyled as a,MessageContent as l,MessageTop as x,MessageSender as j,MessageName as g,MessageAvatarWrapper as u,MessageAvatar as b,MessageBlockWrapper as y,MessageBlock as h,MessageBlockScrollbarWrapper as f,MessageBlockContent as w,MessageBlockTextArea as M,MessageBlockBottomPanel as v,MessageBlockTransaction as k,MessageButtonsStyled as T}from"./styled.js";export{MessageAction,MessageEditAction,MessageImageBottomArrowButton,MessageImageLeftArrowButton,MessageImageRightArrowButton,MessageImageTopArrowButton,MessageTag,MessageTags,MessageTransaction}from"./styled.js";import{Skeleton as C}from"../skeleton/index.js";import"../../theme/index.js";import{getTgMarkdown as S}from"../../utils/getTgMarkdown.js";import{colorToRgba as I}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 B}from"./components/paragraph/index.js";export{MessageBoldStyled}from"./components/bold/styled.js";export{MessageItalicStyled}from"./components/italic/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{MessageMarkdown as R}from"./markdown/index.js";import"../scrollbar/styled.js";import{ScrollbarShadow as E}from"../scrollbar/shadow/index.js";import"../scrollbar/style/styled.js";import{MessageTimestamp as $}from"./timestamp/index.js";import{MessageActions as A}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"./video/styled.js";import"../../icons/max-window/index.js";import"../../icons/min-window/index.js";import"../../icons/pause-button/index.js";import"../../icons/play-button/index.js";import"../../icons/volume/index.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/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/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/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/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/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{useTheme as D}from"../../theme/hook.js";const N=({id:N,content:q,className:z,variant:V="user",color:F="default",name:O,tags:U,avatar:H,transaction:G,disableModal:W=!1,disableResend:Z=!1,disableEdit:_=!1,disableDelete:J=!1,disableUpdate:K=!1,disableCopy:Q=!1,disableDownload:X=!0,disableEncryption:Y=!0,editOutOfMenu:ii=!1,copyPlainText:oi,copyTgText:ei,editText:si,resendText:ni,deleteText:ti,onReportText:ri,downloadTooltipLabel:di,submitEditTooltipLabel:ci,discardEditTooltipLabel:pi,updateTooltipLabel:mi,copyTooltipLabel:ai,encryptionTooltipLabel:li,typing:xi=!1,timestamp:ji,timestampPosition:gi="right",skeleton:ui=!1,buttons:bi,after:yi,components:hi,children:fi,version:wi,totalVersions:Mi,hideActions:vi,onCopy:ki,onCodeCopy:Ti,onEdit:Ci,onResend:Si,onDelete:Ii,onUpdate:Li,onReport:Bi,onNextVersion:Ri,onPrevVersion:Ei,onDownload:$i})=>{const Ai=D(),Pi=n(null),Di=n(null),Ni=n(null),qi=n(null),[zi,Vi]=t(!1),[Fi,Oi]=t(null!=q?q:""),Ui=r(i=>{var o;Oi(null!==(o=i.target.textContent)&&void 0!==o?o:"")},[]),Hi=r(()=>i(void 0,void 0,void 0,function*(){const i=(yield c.parse(Ni.current)).replace(/<p>([\s\S]*?)<\/p>/g,"<pre>$1</pre>");return[new ClipboardItem({"text/plain":new Blob([Ni.current],{type:"text/plain"}),"text/html":new Blob([i],{type:"text/html"})})]}),[]),Gi=r(i=>[new ClipboardItem({"text/plain":new Blob([i.innerText.replace(/\n{3,}/g,"\n\n")],{type:"text/plain"})})],[]),Wi=r(i=>{const o=S(i);return[new ClipboardItem({"text/plain":new Blob([o],{type:"text/plain"})})]},[]),Zi=r(()=>{if(Di.current)return null==ki?void 0:ki(Gi(Di.current))},[q]),_i=r(()=>{if(Ni.current)return null==ki?void 0:ki(Wi(Ni.current))},[]),Ji=r(()=>i(void 0,void 0,void 0,function*(){if(Ni.current)return null==ki?void 0:ki(yield Hi())}),[]);let Ki;switch(F&&"object"==typeof CSS&&"function"==typeof CSS.supports&&CSS.supports("background",null!=F?F:"#000")||(F="default"),V){case"user":switch(F){case"default":if("custom"===Ai.scheme){Ki=Ai.colors.custom.message.user.background;break}if("standard"===Ai.scheme){Ki="dark"===Ai.mode?I(Ai.colors.accent.primaryLight,.5):I(Ai.colors.accent.primaryLight,.2);break}Ki=Ai.colors.accent.primary;break;case"green":Ki=Ai.colors.gpt3;break;case"purple":Ki=Ai.colors.gpt4;break;default:Ki=F}break;case"assistant":switch(F){case"default":Ki="dark"===Ai.mode?Ai.colors.grayScale.gray2:Ai.colors.grayScale.gray3;break;case"green":Ki=Ai.colors.gpt3;break;case"purple":Ki=Ai.colors.gpt4;break;default:Ki=F}}return d(()=>{if(qi.current){qi.current.focus();const i=document.createRange(),o=window.getSelection();i.selectNodeContents(qi.current),i.collapse(!1),null==o||o.removeAllRanges(),null==o||o.addRange(i)}},[qi,zi]),d(()=>{q&&(Ni.current=q)},[q]),o(L,{variant:V,color:F,typing:xi,onCopy:Zi,onCodeCopy:Ti,children:o(p,{$variant:V,ref:Pi,children:e(m,{children:[o(a,{$variant:V,className:z,"data-date":ji,children:e(l,{$variant:V,children:[O&&e(x,{children:["string"==typeof O&&e(j,{children:[o(g,{$color:F,children:O}),U]}),"string"!=typeof O&&o("div",{})]}),"string"!=typeof O&&O,o(u,{$variant:V,children:o(b,{children:H})}),o(y,{children:o(h,{$variant:V,$hexColor:Ki,$skeleton:ui,$hasTimestamp:!!ji,$timestampPosition:gi,children:e(f,{scrollShadows:{color:Ki,size:60,left:o(E,{side:"left"}),right:o(E,{side:"right"})},children:[o(w,{ref:Di,$variant:V,children:zi?o(B,{disableMargin:!0,children:o(M,{onInput:Ui,ref:qi,children:q})}):e(s,{children:[!ui&&e(s,{children:["string"==typeof fi&&o(R,{components:hi,children:fi}),"string"!=typeof fi&&fi]}),ui&&o(B,{disableMargin:!0,children:o(C,{width:260,opacity:["light"===Ai.mode?.1:.15,"light"===Ai.mode?.225:.45],colors:["user"===V?Ai.colors.base.white:"light"===Ai.mode?Ai.default.colors.base.black:Ai.colors.grayScale.gray6]})}),yi]})}),ji&&"user"===V&&o($,{time:ji,position:gi,color:Ki})]})})}),ji&&"assistant"===V&&o($,{time:ji,position:gi,color:Ki}),e(v,{$variant:V,children:[G&&o(k,{children:G}),!ui&&!vi&&o(A,{id:N,onDownload:$i,disableDownload:X,message:q,variant:V,skeleton:ui,disableModal:W,disableResend:Z,disableEdit:_,disableDelete:J,disableUpdate:K,disableCopy:Q,disableEncryption:Y,editOutOfMenu:ii,copyPlainText:oi,copyTgText:ei,editText:si,resendText:ni,deleteText:ti,onReportText:ri,downloadTooltipLabel:di,submitEditTooltipLabel:ci,discardEditTooltipLabel:pi,updateTooltipLabel:mi,copyTooltipLabel:ai,encryptionTooltipLabel:li,editing:zi,editedText:Fi,onEditing:Vi,onEditedText:Oi,onEdit:Ci,onResend:Si,onDelete:Ii,onUpdate:Li,onReport:Bi,onPlainTextCopy:Zi,onTgCopy:_i,onCopy:Ji}),o(P,{id:N,version:wi,totalVersions:Mi,onNextVersion:Ri,onPrevVersion:Ei,editing:zi,variant:V})]})]})}),o(T,{children:bi})]})})})};export{N as Message,b as MessageAvatar,u as MessageAvatarWrapper,h as MessageBlock,v as MessageBlockBottomPanel,w as MessageBlockContent,f as MessageBlockScrollbarWrapper,M as MessageBlockTextArea,k as MessageBlockTransaction,y as MessageBlockWrapper,T as MessageButtonsStyled,l as MessageContent,R as MessageMarkdown,g as MessageName,B as MessageParagraph,L as MessageProvider,j as MessageSender,a as MessageStyled,m as MessageStyledWithBottomPanel,p as MessageStyledWrapper,x 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,useState as t,useCallback as r,useEffect as d}from"react";import{marked as c}from"marked";import{MessageStyledWrapper as p,MessageStyledWithBottomPanel as m,MessageStyled as a,MessageContent as l,MessageTop as x,MessageSender as j,MessageName as g,MessageAvatarWrapper as u,MessageAvatar as b,MessageBlockWrapper as y,MessageBlock as h,MessageBlockScrollbarWrapper as f,MessageBlockContent as w,MessageBlockTextArea as M,MessageBlockBottomPanel as v,MessageBlockTransaction as k,MessageButtonsStyled as T}from"./styled.js";export{MessageAction,MessageEditAction,MessageImageBottomArrowButton,MessageImageLeftArrowButton,MessageImageRightArrowButton,MessageImageTopArrowButton,MessageTag,MessageTags,MessageTransaction}from"./styled.js";import{Loader as C}from"../loader/index.js";import{Skeleton as S}from"../skeleton/index.js";import"../../theme/index.js";import{getTgMarkdown as I}from"../../utils/getTgMarkdown.js";import{colorToRgba as L}from"../../utils/colors/colorToRgba.js";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import{MessageProvider as B}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 R}from"./components/paragraph/index.js";export{MessageBoldStyled}from"./components/bold/styled.js";export{MessageItalicStyled}from"./components/italic/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{MessageMarkdown as E}from"./markdown/index.js";import"../scrollbar/styled.js";import{ScrollbarShadow as $}from"../scrollbar/shadow/index.js";import"../scrollbar/style/styled.js";import{MessageTimestamp as A}from"./timestamp/index.js";import{MessageActions as P}from"./actions/index.js";import{MessageVersions as D}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"./video/styled.js";import"../../icons/max-window/index.js";import"../../icons/min-window/index.js";import"../../icons/pause-button/index.js";import"../../icons/play-button/index.js";import"../../icons/volume/index.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/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/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/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/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/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{useTheme as N}from"../../theme/hook.js";const q=({id:q,content:z,className:V,variant:F="user",color:O="default",name:U,tags:H,avatar:G,transaction:W,disableModal:Z=!1,disableResend:_=!1,disableEdit:J=!1,disableDelete:K=!1,disableUpdate:Q=!1,disableCopy:X=!1,disableDownload:Y=!0,disableEncryption:ii=!0,editOutOfMenu:oi=!1,copyPlainText:ei,copyTgText:si,editText:ni,resendText:ti,deleteText:ri,onReportText:di,downloadTooltipLabel:ci,submitEditTooltipLabel:pi,discardEditTooltipLabel:mi,updateTooltipLabel:ai,copyTooltipLabel:li,encryptionTooltipLabel:xi,typing:ji=!1,timestamp:gi,timestampPosition:ui="right",skeleton:bi=!1,buttons:yi,after:hi,components:fi,children:wi,version:Mi,totalVersions:vi,hideActions:ki,loader:Ti,onCopy:Ci,onCodeCopy:Si,onEdit:Ii,onResend:Li,onDelete:Bi,onUpdate:Ri,onReport:Ei,onNextVersion:$i,onPrevVersion:Ai,onDownload:Pi})=>{const Di=N(),Ni=n(null),qi=n(null),zi=n(null),Vi=n(null),[Fi,Oi]=t(!1),[Ui,Hi]=t(null!=z?z:""),Gi=r(i=>{var o;Hi(null!==(o=i.target.textContent)&&void 0!==o?o:"")},[]),Wi=r(()=>i(void 0,void 0,void 0,function*(){const i=(yield c.parse(zi.current)).replace(/<p>([\s\S]*?)<\/p>/g,"<pre>$1</pre>");return[new ClipboardItem({"text/plain":new Blob([zi.current],{type:"text/plain"}),"text/html":new Blob([i],{type:"text/html"})})]}),[]),Zi=r(i=>[new ClipboardItem({"text/plain":new Blob([i.innerText.replace(/\n{3,}/g,"\n\n")],{type:"text/plain"})})],[]),_i=r(i=>{const o=I(i);return[new ClipboardItem({"text/plain":new Blob([o],{type:"text/plain"})})]},[]),Ji=r(()=>{if(qi.current)return null==Ci?void 0:Ci(Zi(qi.current))},[z]),Ki=r(()=>{if(zi.current)return null==Ci?void 0:Ci(_i(zi.current))},[]),Qi=r(()=>i(void 0,void 0,void 0,function*(){if(zi.current)return null==Ci?void 0:Ci(yield Wi())}),[]);let Xi;switch(O&&"object"==typeof CSS&&"function"==typeof CSS.supports&&CSS.supports("background",null!=O?O:"#000")||(O="default"),F){case"user":switch(O){case"default":if("custom"===Di.scheme){Xi=Di.colors.custom.message.user.background;break}if("standard"===Di.scheme){Xi="dark"===Di.mode?L(Di.colors.accent.primaryLight,.5):L(Di.colors.accent.primaryLight,.2);break}Xi=Di.colors.accent.primary;break;case"green":Xi=Di.colors.gpt3;break;case"purple":Xi=Di.colors.gpt4;break;default:Xi=O}break;case"assistant":switch(O){case"default":Xi="dark"===Di.mode?Di.colors.grayScale.gray2:Di.colors.grayScale.gray3;break;case"green":Xi=Di.colors.gpt3;break;case"purple":Xi=Di.colors.gpt4;break;default:Xi=O}}return d(()=>{if(Vi.current){Vi.current.focus();const i=document.createRange(),o=window.getSelection();i.selectNodeContents(Vi.current),i.collapse(!1),null==o||o.removeAllRanges(),null==o||o.addRange(i)}},[Vi,Fi]),d(()=>{z&&(zi.current=z)},[z]),o(B,{variant:F,color:O,typing:ji,onCopy:Ji,onCodeCopy:Si,children:o(p,{$variant:F,ref:Ni,children:e(m,{children:[o(a,{$variant:F,className:V,"data-date":gi,children:e(l,{$variant:F,children:[U&&e(x,{children:["string"==typeof U&&e(j,{children:[o(g,{$color:O,children:U}),H]}),"string"!=typeof U&&o("div",{})]}),"string"!=typeof U&&U,o(u,{$variant:F,children:o(b,{children:G})}),o(y,{children:o(h,{$variant:F,$hexColor:Xi,$skeleton:bi,$hasTimestamp:!!gi,$timestampPosition:ui,children:e(f,{scrollShadows:{color:Xi,size:60,left:o($,{side:"left"}),right:o($,{side:"right"})},children:[o(w,{ref:qi,$variant:F,children:Fi?o(R,{disableMargin:!0,children:o(M,{onInput:Gi,ref:Vi,children:z})}):e(s,{children:[!bi&&(Ti?o(R,{disableMargin:!0,children:o(C,{})}):e(s,{children:["string"==typeof wi&&o(E,{components:fi,children:wi}),"string"!=typeof wi&&wi]})),bi&&o(R,{disableMargin:!0,children:o(S,{width:260,opacity:["light"===Di.mode?.1:.15,"light"===Di.mode?.225:.45],colors:["user"===F?Di.colors.base.white:"light"===Di.mode?Di.default.colors.base.black:Di.colors.grayScale.gray6]})}),hi]})}),gi&&"user"===F&&o(A,{time:gi,position:ui,color:Xi})]})})}),gi&&"assistant"===F&&o(A,{time:gi,position:ui,color:Xi}),e(v,{$variant:F,children:[W&&o(k,{children:W}),!bi&&!ki&&o(P,{id:q,onDownload:Pi,disableDownload:Y,message:z,variant:F,skeleton:bi,disableModal:Z,disableResend:_,disableEdit:J,disableDelete:K,disableUpdate:Q,disableCopy:X,disableEncryption:ii,editOutOfMenu:oi,copyPlainText:ei,copyTgText:si,editText:ni,resendText:ti,deleteText:ri,onReportText:di,downloadTooltipLabel:ci,submitEditTooltipLabel:pi,discardEditTooltipLabel:mi,updateTooltipLabel:ai,copyTooltipLabel:li,encryptionTooltipLabel:xi,editing:Fi,editedText:Ui,onEditing:Oi,onEditedText:Hi,onEdit:Ii,onResend:Li,onDelete:Bi,onUpdate:Ri,onReport:Ei,onPlainTextCopy:Ji,onTgCopy:Ki,onCopy:Qi}),o(D,{id:q,version:Mi,totalVersions:vi,onNextVersion:$i,onPrevVersion:Ai,editing:Fi,variant:F})]})]})}),o(T,{children:yi})]})})})};export{q as Message,b as MessageAvatar,u as MessageAvatarWrapper,h as MessageBlock,v as MessageBlockBottomPanel,w as MessageBlockContent,f as MessageBlockScrollbarWrapper,M as MessageBlockTextArea,k as MessageBlockTransaction,y as MessageBlockWrapper,T as MessageButtonsStyled,l as MessageContent,E as MessageMarkdown,g as MessageName,R as MessageParagraph,B as MessageProvider,j as MessageSender,a as MessageStyled,m as MessageStyledWithBottomPanel,p as MessageStyledWrapper,x as MessageTop};
|