@bothub-chat/ui 2.50.3-feat-input-7e478a80-657a-49c5-aedc-cfc31f0e167c → 2.51.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/avatar/index.js +1 -1
- package/dist/components/datepicker/types.d.ts +1 -1
- package/dist/components/datepicker/ui/datepicker.js +1 -1
- package/dist/components/file-field/index.js +1 -1
- package/dist/components/file-icon/index.js +1 -1
- package/dist/components/footer/index.js +1 -1
- package/dist/components/footer/mobile/index.js +1 -1
- package/dist/components/header/index.js +1 -1
- package/dist/components/header/menu-nav/config.js +1 -1
- package/dist/components/header/menu-nav/index.js +1 -1
- package/dist/components/header/menu-nav/styled.js +2 -2
- package/dist/components/header/multi-level-menu/multi-level-menu-accordion/ui/styled.js +1 -1
- package/dist/components/header/multi-level-menu/multi-level-menu-first-level/ui/styled.js +1 -1
- package/dist/components/header/multi-level-menu/styled.js +1 -1
- package/dist/components/input-message/index.js +1 -1
- package/dist/components/lang-switcher/styled.js +1 -1
- package/dist/components/message/actions/index.js +1 -1
- package/dist/components/message/index.js +1 -1
- package/dist/components/message/scroll-button/styled.js +1 -1
- package/dist/components/message/video/index.js +1 -1
- package/dist/components/pagination/styled.js +1 -1
- package/dist/components/select-field/select-modal/index.js +1 -1
- package/dist/components/select-field/select-modal/option/checkbox-group/styled.js +1 -1
- package/dist/components/select-field/select-modal/option/list/index.js +1 -1
- package/dist/components/select-field/styled.js +3 -3
- package/dist/components/sidebar/chat/index.js +1 -1
- package/dist/components/sidebar/chat/styled.js +1 -1
- package/dist/components/sidebar/index.js +1 -1
- package/dist/components/sidebar/styled.js +1 -1
- package/dist/components/slider/index.js +1 -1
- package/dist/components/stepper/styled.js +1 -1
- package/dist/components/tariff/card/styled.js +3 -3
- package/dist/components/text-field/index.js +1 -1
- package/dist/components/uploaded-file/index.js +1 -1
- package/dist/components/uploaded-file/styled.js +1 -1
- package/dist/icons/history/index.d.ts +1 -0
- package/dist/icons/history/index.js +1 -0
- package/dist/icons/index.d.ts +5 -0
- package/dist/icons/money-plus/index.d.ts +1 -0
- package/dist/icons/money-plus/index.js +1 -0
- package/dist/icons/money-stack/index.d.ts +1 -0
- package/dist/icons/money-stack/index.js +1 -0
- package/dist/icons/sort-numeric-bottom/index.d.ts +1 -0
- package/dist/icons/sort-numeric-bottom/index.js +1 -0
- package/dist/icons/sort-numeric-top/index.d.ts +1 -0
- package/dist/icons/sort-numeric-top/index.js +1 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -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"../../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 oi}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"../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 si}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 ni}from"../../utils/audio/getWaveData.js";import{useTheme as ti}from"../../theme/hook.js";const ri=ri=>{var{className:ci,placeholder:di,message:mi,files:ai,disabled:pi=!1,sendDisabled:li=!1,textAreaDisabled:ji=!1,useAlternativeKeyDefaultValue:xi=!1,defaultKeySendText:ui,alternativeKeySendText:gi,concatenateText:hi,uploadFileLimit:bi=5,hideUploadFile:yi=!1,uploadFileDisabled:fi=!1,uploadFileAccept:vi,uploadFileText:wi,autoFocus:ki=!0,voice:Ci=!1,onSetAlternativeKeyValue:Di,onChange:Fi,onFilesChange:$i,onVoiceFilesChange:Ti,onTextAreaChange:Ai,onSend:Ei,onFocus:Oi,onBlur:Si,emitError:Li,actions:Ki,configureOptions:Pi}=ri,Ui=i(ri,["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 zi=ti(),qi=t(null),[Ri,Vi]=r("calc(var(--bothub-scale, 1) * 22px)"),[Ii,Bi]="string"==typeof mi?[mi,Fi]:r(""),[Ni,Mi]=Array.isArray(ai)?[ai,$i]:r([]),[Gi,Hi]=r([]),[Wi,_i]=r(!1),[Ji,Qi]=r(!pi&&ki),[Xi,Yi]=r(!1),[Zi,ie]=r(!1),[ee,oe]=r(null),se=t(null),ne=t(null),te=t([]),re=t(null),ce=t(!1),de=t(null),[me,ae]=r(xi),[pe,le]=r(!1),je=t(null),[xe,ue]=r(!1),ge=c(()=>{ae(!1),null==Di||Di(!1),le(!1)},[]),he=c(()=>{ae(!0),null==Di||Di(!0),le(!1)},[]),be=c(i=>{Qi(!0),null==Oi||Oi(i)},[Oi]),ye=c(i=>{Qi(!1),null==Si||Si(i)},[Si]),fe=c(i=>{null==Bi||Bi(i.target.value),null==Ai||Ai(i)},[Bi,Ai]),ve=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,vi)?e.push({previewUrl:s[n],name:t.name,native:t}):o.push(t)}o.length>0&&(null==Li||Li({name:"WRONG_FILES",payload:o})),(null==e?void 0:e.length)>0&&(null==Mi||Mi([...Ni,...e].slice(0,bi)))}),[vi,Li,bi,Ni]),we=c(i=>e(void 0,void 0,void 0,function*(){!fi&&i.clipboardData.files.length>0&&(i.preventDefault(),yield ve([...i.clipboardData.files]))}),[ve,fi]),ke=c(i=>e(void 0,void 0,void 0,function*(){if(!Mi||!i.target.files)return;const e=yield X([...Ni.map(({native:i})=>i),...i.target.files]);Mi(e.slice(0,bi)),ue(!1)}),[Ni,Mi,bi]),Ce=c(i=>{null==Mi||Mi(Ni.filter(({name:e})=>e!==i.name))},[Mi,Ni]),De=c(i=>{i.stopPropagation(),null==Ei||Ei(Ii,Ni),null==Bi||Bi(""),null==Mi||Mi([]),null==Hi||Hi([]),Vi("calc(var(--bothub-scale, 1) * 22px)")},[Ii,Ni,Ei,Bi,Mi,Hi]),Fe=c(i=>{i.stopPropagation();if(Z()&&"Enter"===i.key)return;const e=me?"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(Ji&&"Enter"===i.key){if(o===e&&i.ctrlKey){i.preventDefault();const e=qi.current;if(!e)return;const o=e.value,t=e.selectionStart,r=o.slice(0,t),c=o.slice(t);null==Bi||Bi(`${r}\n${c}`),s=e,n=t+1,setTimeout(()=>{s.selectionStart=n,s.selectionEnd=n},1)}e!==o&&""!==o&&(i.preventDefault(),null==Ei||Ei(Ii,Ni),Vi("calc(var(--bothub-scale, 1) * 22px)"))}var s,n},[Ji,Ii,Ni,Ei,Bi,Mi]),$e=c(()=>{var i;pi||null===(i=qi.current)||void 0===i||i.focus()},[pi,ki]),Te=c(i=>{i.stopPropagation()},[]),Ae=c(i=>e(void 0,void 0,void 0,function*(){if(Zi)return;ce.current=!0,i.stopPropagation();const e=yield navigator.mediaDevices.getUserMedia({audio:!0}),o=new MediaRecorder(e,{mimeType:ei()});ce.current&&(o.start(1e3),se.current=o,ne.current=e,re.current=window.setInterval(()=>{oe(i=>(null!=i?i:0)+.1)},100),ie(!0),oe(0),_i(!1))}),[ce.current,te.current,Zi]),Ee=c(()=>{const i=se.current,e=ne.current,o=re.current;if(Zi&&i&&e&&o){i.stop();for(const i of e.getTracks())i.stop();window.clearInterval(o)}},[Zi,se.current,ne.current,re.current]),Oe=c(()=>e(void 0,void 0,void 0,function*(){ce.current=!1,Zi&&Ee()}),[Zi,Ee]),Se=c(()=>{const i=se.current,e=re.current;Zi&&i&&e&&(i.pause(),window.clearInterval(e),_i(!0))},[Zi]),Le=c(()=>{const i=se.current;Zi&&i&&(i.resume(),re.current=window.setInterval(()=>{oe(i=>(null!=i?i:0)+.1)},100),_i(!1))},[Zi,oe]),Ke=c(i=>{Hi(Gi.filter(e=>e.src!==i.src))},[Gi,Hi]),Pe=c(()=>{const i=qi.current;null!==i&&(i.style.height="calc(var(--bothub-scale, 1) * 22px)",i.style.height=`${i.scrollHeight}px`,Vi(`${i.scrollHeight}px`))},[Ii,ki]);d(()=>{Pe()},[Pe]),d(()=>{const i=qi.current;if(!i||pi)return;const e=!pi&&ki;Qi(e),e?i.focus():document.activeElement===i&&i.blur()},[pi,ki]),d(()=>{const i=qi.current;if(null!==i)return i.addEventListener("keydown",Fe),()=>{i.removeEventListener("keydown",Fe)}},[Fe]),d(()=>{Mi&&ai&&Mi(ai)},[ai]),d(()=>{null==Ti||Ti(Gi)},[Gi]),d(()=>{const i=se.current,o=i=>{i.data.size>0&&te.current.push(i.data)},s=()=>e(void 0,void 0,void 0,function*(){const i=new Blob(te.current,{type:ei()}),{waveData:e,duration:o}=yield ni(i),s={src:URL.createObjectURL(i),duration:o,blob:i,waveData:e};Hi([...Gi,s]),se.current=null,ne.current=null,te.current=[],re.current=null,ie(!1),oe(null)});return i&&(i.addEventListener("dataavailable",o),i.addEventListener("stop",s)),()=>{i&&(i.removeEventListener("dataavailable",o),i.removeEventListener("stop",s)),Ee()}},[se.current]),a(de,()=>{le(!1)}),a(je,()=>{ue(!1)});const Ue=m(!pi&&pe,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:100,ease:"easeOut"}}),ze=m(!pi&&xe,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:100,ease:"easeOut"}});return o(p,{$active:Ji,$dragActive:Xi,$disabled:pi,$textAreaDisabled:ji,$voiceRecording:Zi,className:ci,onClick:$e,onDragEnter:()=>Yi(!0),onDragLeave:()=>Yi(!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 ve([...i.dataTransfer.files]),Yi(!1),!1}),children:s(l,{children:[(!yi||!!Pi)&&s(j,{ref:je,children:[o(x,{$disabled:pi,onClick:i=>{i.stopPropagation(),ue(!xe)}}),ze((e,n)=>n&&s(u,{style:e,children:[s(g,{children:[s(h,{$disabled:Ni.length>=bi||pi||fi,onClick:Te,children:[o(oi,{size:18}),o(_,{variant:"body-m-medium",children:wi})]}),o(b,{type:"file",accept:vi,multiple:!0,disabled:Ni.length>=bi||pi||fi,onChange:ke},Ni.length)]}),!!Pi&&o(y,{}),null==Pi?void 0:Pi.map(e=>{var{onClick:s}=e,n=i(e,["onClick"]);return o(f,Object.assign({},n,{onClick:()=>{null==s||s(),ue(!1)}}))})]})),Ki]}),s(v,{onClick:$e,children:[Zi&&null!==ee&&s(w,{children:[o(k,{}),o(C,{children:Y(ee)})]}),Ni.length>0&&o(D,{children:Ni.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:Ce.bind(null,i),children:i.name.length>20?`...${i.name.slice(-20)}`:i.name},i.name)})}),Gi.length>1&&o($,{children:hi}),Gi.length>0&&o(T,{children:Gi.map(i=>s(A,{children:[o(si,{variant:"input",height:24,src:i.src,duration:i.duration,waveData:i.waveData,disableTranscription:!0}),o(E,{onClick:Ke.bind(null,i)})]},i.src))}),(!ji||ji&&di&&Ni.length!==bi||ji&&Ii)&&o(O,Object.assign({$disabled:pi},Ui,{ref:qi,value:Ii,placeholder:di,disabled:pi||ji,style:Object.assign(Object.assign({},Ui.style),{height:Ri}),onFocus:be,onBlur:ye,onChange:fe,onPaste:we}))]}),s(S,{children:[!!ui&&!!gi&&s(L,{ref:de,children:[o(K,{onClick:i=>{i.stopPropagation(),le(!pe)},disabled:pi}),Ue((i,e)=>e&&s(P,{style:i,children:[o(U,{active:!me,onClick:ge,children:ui}),o(U,{active:me,onClick:he,children:gi})]},"alternative-key-modal"))]}),Zi&&o(n,{children:Wi?o(z,{onClick:Le}):o(q,{onClick:Se})}),Ci&&o(R,{$isRecording:Zi,disabled:pi||li,onClick:Zi?Oe:Ae,"data-test":"submit-message"}),o(V,Object.assign({disabled:pi||li||Zi,onClick:De},zi.bright&&{iconFill:zi.default.colors.base.black},{"data-test":"submit-message",children:o(I,{})}))]})]})})};export{ri 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"../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"../../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 oi}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 si}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 ni}from"../../utils/audio/getWaveData.js";import{useTheme as ti}from"../../theme/hook.js";const ri=ri=>{var{className:ci,placeholder:di,message:mi,files:ai,disabled:pi=!1,sendDisabled:li=!1,textAreaDisabled:ji=!1,useAlternativeKeyDefaultValue:xi=!1,defaultKeySendText:ui,alternativeKeySendText:gi,concatenateText:hi,uploadFileLimit:bi=5,hideUploadFile:yi=!1,uploadFileDisabled:fi=!1,uploadFileAccept:vi,uploadFileText:wi,autoFocus:ki=!0,voice:Ci=!1,onSetAlternativeKeyValue:Di,onChange:Fi,onFilesChange:$i,onVoiceFilesChange:Ti,onTextAreaChange:Ai,onSend:Ei,onFocus:Oi,onBlur:Si,emitError:Li,actions:Ki,configureOptions:Pi}=ri,Ui=i(ri,["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 zi=ti(),qi=t(null),[Ri,Vi]=r("calc(var(--bothub-scale, 1) * 22px)"),[Ii,Bi]="string"==typeof mi?[mi,Fi]:r(""),[Ni,Mi]=Array.isArray(ai)?[ai,$i]:r([]),[Gi,Hi]=r([]),[Wi,_i]=r(!1),[Ji,Qi]=r(!pi&&ki),[Xi,Yi]=r(!1),[Zi,ie]=r(!1),[ee,oe]=r(null),se=t(null),ne=t(null),te=t([]),re=t(null),ce=t(!1),de=t(null),[me,ae]=r(xi),[pe,le]=r(!1),je=t(null),[xe,ue]=r(!1),ge=c(()=>{ae(!1),null==Di||Di(!1),le(!1)},[]),he=c(()=>{ae(!0),null==Di||Di(!0),le(!1)},[]),be=c(i=>{Qi(!0),null==Oi||Oi(i)},[Oi]),ye=c(i=>{Qi(!1),null==Si||Si(i)},[Si]),fe=c(i=>{null==Bi||Bi(i.target.value),null==Ai||Ai(i)},[Bi,Ai]),ve=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,vi)?e.push({previewUrl:s[n],name:t.name,native:t}):o.push(t)}o.length>0&&(null==Li||Li({name:"WRONG_FILES",payload:o})),(null==e?void 0:e.length)>0&&(null==Mi||Mi([...Ni,...e].slice(0,bi)))}),[vi,Li,bi,Ni]),we=c(i=>e(void 0,void 0,void 0,function*(){!fi&&i.clipboardData.files.length>0&&(i.preventDefault(),yield ve([...i.clipboardData.files]))}),[ve,fi]),ke=c(i=>e(void 0,void 0,void 0,function*(){if(!Mi||!i.target.files)return;const e=yield X([...Ni.map(({native:i})=>i),...i.target.files]);Mi(e.slice(0,bi)),ue(!1)}),[Ni,Mi,bi]),Ce=c(i=>{null==Mi||Mi(Ni.filter(({name:e})=>e!==i.name))},[Mi,Ni]),De=c(i=>{i.stopPropagation(),null==Ei||Ei(Ii,Ni),null==Bi||Bi(""),null==Mi||Mi([]),null==Hi||Hi([]),Vi("calc(var(--bothub-scale, 1) * 22px)")},[Ii,Ni,Ei,Bi,Mi,Hi]),Fe=c(i=>{i.stopPropagation();if(Z()&&"Enter"===i.key)return;const e=me?"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(Ji&&"Enter"===i.key){if(o===e&&i.ctrlKey){i.preventDefault();const e=qi.current;if(!e)return;const o=e.value,t=e.selectionStart,r=o.slice(0,t),c=o.slice(t);null==Bi||Bi(`${r}\n${c}`),s=e,n=t+1,setTimeout(()=>{s.selectionStart=n,s.selectionEnd=n},1)}e!==o&&""!==o&&(i.preventDefault(),null==Ei||Ei(Ii,Ni),Vi("calc(var(--bothub-scale, 1) * 22px)"))}var s,n},[Ji,Ii,Ni,Ei,Bi,Mi]),$e=c(()=>{var i;pi||null===(i=qi.current)||void 0===i||i.focus()},[pi,ki]),Te=c(i=>{i.stopPropagation()},[]),Ae=c(i=>e(void 0,void 0,void 0,function*(){if(Zi)return;ce.current=!0,i.stopPropagation();const e=yield navigator.mediaDevices.getUserMedia({audio:!0}),o=new MediaRecorder(e,{mimeType:ei()});ce.current&&(o.start(1e3),se.current=o,ne.current=e,re.current=window.setInterval(()=>{oe(i=>(null!=i?i:0)+.1)},100),ie(!0),oe(0),_i(!1))}),[ce.current,te.current,Zi]),Ee=c(()=>{const i=se.current,e=ne.current,o=re.current;if(Zi&&i&&e&&o){i.stop();for(const i of e.getTracks())i.stop();window.clearInterval(o)}},[Zi,se.current,ne.current,re.current]),Oe=c(()=>e(void 0,void 0,void 0,function*(){ce.current=!1,Zi&&Ee()}),[Zi,Ee]),Se=c(()=>{const i=se.current,e=re.current;Zi&&i&&e&&(i.pause(),window.clearInterval(e),_i(!0))},[Zi]),Le=c(()=>{const i=se.current;Zi&&i&&(i.resume(),re.current=window.setInterval(()=>{oe(i=>(null!=i?i:0)+.1)},100),_i(!1))},[Zi,oe]),Ke=c(i=>{Hi(Gi.filter(e=>e.src!==i.src))},[Gi,Hi]),Pe=c(()=>{const i=qi.current;null!==i&&(i.style.height="calc(var(--bothub-scale, 1) * 22px)",i.style.height=`${i.scrollHeight}px`,Vi(`${i.scrollHeight}px`))},[Ii,ki]);d(()=>{Pe()},[Pe]),d(()=>{const i=qi.current;if(!i||pi)return;const e=!pi&&ki;Qi(e),e?i.focus():document.activeElement===i&&i.blur()},[pi,ki]),d(()=>{const i=qi.current;if(null!==i)return i.addEventListener("keydown",Fe),()=>{i.removeEventListener("keydown",Fe)}},[Fe]),d(()=>{Mi&&ai&&Mi(ai)},[ai]),d(()=>{null==Ti||Ti(Gi)},[Gi]),d(()=>{const i=se.current,o=i=>{i.data.size>0&&te.current.push(i.data)},s=()=>e(void 0,void 0,void 0,function*(){const i=new Blob(te.current,{type:ei()}),{waveData:e,duration:o}=yield ni(i),s={src:URL.createObjectURL(i),duration:o,blob:i,waveData:e};Hi([...Gi,s]),se.current=null,ne.current=null,te.current=[],re.current=null,ie(!1),oe(null)});return i&&(i.addEventListener("dataavailable",o),i.addEventListener("stop",s)),()=>{i&&(i.removeEventListener("dataavailable",o),i.removeEventListener("stop",s)),Ee()}},[se.current]),a(de,()=>{le(!1)}),a(je,()=>{ue(!1)});const Ue=m(!pi&&pe,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:100,ease:"easeOut"}}),ze=m(!pi&&xe,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:100,ease:"easeOut"}});return o(p,{$active:Ji,$dragActive:Xi,$disabled:pi,$textAreaDisabled:ji,$voiceRecording:Zi,className:ci,onClick:$e,onDragEnter:()=>Yi(!0),onDragLeave:()=>Yi(!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 ve([...i.dataTransfer.files]),Yi(!1),!1}),children:s(l,{children:[(!yi||!!Pi)&&s(j,{ref:je,children:[o(x,{$disabled:pi,onClick:i=>{i.stopPropagation(),ue(!xe)}}),ze((e,n)=>n&&s(u,{style:e,children:[s(g,{children:[s(h,{$disabled:Ni.length>=bi||pi||fi,onClick:Te,children:[o(oi,{size:18}),o(_,{variant:"body-m-medium",children:wi})]}),o(b,{type:"file",accept:vi,multiple:!0,disabled:Ni.length>=bi||pi||fi,onChange:ke},Ni.length)]}),!!Pi&&o(y,{}),null==Pi?void 0:Pi.map(e=>{var{onClick:s}=e,n=i(e,["onClick"]);return o(f,Object.assign({},n,{onClick:()=>{null==s||s(),ue(!1)}}))})]})),Ki]}),s(v,{onClick:$e,children:[Zi&&null!==ee&&s(w,{children:[o(k,{}),o(C,{children:Y(ee)})]}),Ni.length>0&&o(D,{children:Ni.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:Ce.bind(null,i),children:i.name.length>20?`...${i.name.slice(-20)}`:i.name},i.name)})}),Gi.length>1&&o($,{children:hi}),Gi.length>0&&o(T,{children:Gi.map(i=>s(A,{children:[o(si,{variant:"input",height:24,src:i.src,duration:i.duration,waveData:i.waveData,disableTranscription:!0}),o(E,{onClick:Ke.bind(null,i)})]},i.src))}),(!ji||ji&&di&&Ni.length!==bi||ji&&Ii)&&o(O,Object.assign({$disabled:pi},Ui,{ref:qi,value:Ii,placeholder:di,disabled:pi||ji,style:Object.assign(Object.assign({},Ui.style),{height:Ri}),onFocus:be,onBlur:ye,onChange:fe,onPaste:we}))]}),s(S,{children:[!!ui&&!!gi&&s(L,{ref:de,children:[o(K,{onClick:i=>{i.stopPropagation(),le(!pe)},disabled:pi}),Ue((i,e)=>e&&s(P,{style:i,children:[o(U,{active:!me,onClick:ge,children:ui}),o(U,{active:me,onClick:he,children:gi})]},"alternative-key-modal"))]}),Zi&&o(n,{children:Wi?o(z,{onClick:Le}):o(q,{onClick:Se})}),Ci&&o(R,{$isRecording:Zi,disabled:pi||li,onClick:Zi?Oe:Ae,"data-test":"submit-message"}),o(V,Object.assign({disabled:pi||li||Zi,onClick:De},zi.bright&&{iconFill:zi.default.colors.base.black},{"data-test":"submit-message",children:o(I,{})}))]})]})})};export{ri as InputMessage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{styled as i}from"styled-components";import{animated as o}from"@react-spring/web";import{Typography as s}from"../typography/index.js";import{SelectField as n}from"../select-field/index.js";import{Button as e}from"../button/index.js";import{ArrowDownIcon as t}from"../../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"tslib";import"react/jsx-runtime";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/copy/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/check-small/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/loader-circular-gradient-2/index.js";import"../../icons/minus/index.js";import"../../icons/mj-white/index.js";import"../../icons/prompt/index.js";import"../../icons/rabbit/index.js";import"../../icons/ratio-1x1/index.js";import"../../icons/ratio-2x3/index.js";import"../../icons/ratio-3x2/index.js";import"../../icons/ratio-4x5/index.js";import"../../icons/ratio-4x7/index.js";import"../../icons/ratio-5x4/index.js";import"../../icons/ratio-7x4/index.js";import"../../icons/ratio-16x9/index.js";import"../../icons/ratio-9x16/index.js";import"../../icons/ratio-21x9/index.js";import"../../icons/ratio-9x21/index.js";import"../../icons/refferal-min/index.js";import"../../icons/search-data/index.js";import"../../icons/square/index.js";import"../../icons/turtle/index.js";import"../../icons/upscale/index.js";import"../../icons/withdraw/index.js";import"../../icons/search-plus/index.js";import"../../icons/lightning/index.js";import"../../icons/blog-circle/index.js";import"../../icons/stripe/index.js";import"../../icons/corporate/index.js";import"../../icons/public/index.js";import"../../icons/private/index.js";import"../../icons/mistral/index.js";import"../../icons/gemini/index.js";import"../../icons/search-simple/index.js";import"../../icons/sad-robot/index.js";import"../../icons/model/index.js";import"../../icons/phone-colored/index.js";import"../../icons/questions/index.js";import"../../icons/pdf-big/index.js";import"../../icons/xls-big/index.js";import"../../icons/word-big/index.js";import"../../icons/txt-big/index.js";import"../../icons/pdf/index.js";import"../../icons/xls/index.js";import"../../icons/word/index.js";import"../../icons/txt/index.js";import"../../icons/bothub-logo-gradient/index.js";import"../../icons/telegram-logo-gradient/index.js";import"../../icons/decline-circle/index.js";import"../../icons/simple-gear-bg/index.js";import"../../icons/advanced-filter/index.js";import"../../icons/big-corporate/index.js";import"../../icons/big-mj/index.js";import"../../icons/big-models/index.js";import"../../icons/big-stats/index.js";import"../../icons/big-success/index.js";import"../../icons/big-users/index.js";import"../../icons/optional-presets/index.js";import"../../icons/wallet-withdraw/index.js";import"../../icons/big-presets/index.js";import"../../icons/big-favorite/index.js";import"../../icons/big-referal/index.js";import"../../icons/attach-file/index.js";import"../../icons/attach-file-big/index.js";import"../../icons/voice/index.js";import"../../icons/play-button/index.js";import"../../icons/pause-button/index.js";import"../../icons/text-read/index.js";import"../../icons/text-hide/index.js";import"../../icons/best-chat-bots/index.js";import"../../icons/upload/index.js";import"../../icons/enter/index.js";import"../../icons/discord/index.js";import"../../icons/discord-circle/index.js";import"../../icons/black-forest-labs/index.js";import"../../icons/flux/index.js";import"../../icons/stable-diffusion/index.js";import"../../icons/stability-ai/index.js";import"../../icons/article-generator/index.js";import"../../icons/success/index.js";import"../../icons/google/index.js";import"../../icons/yandex/index.js";import"../../icons/vk/index.js";import"../../icons/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/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";const r=i.div.withConfig({displayName:"styled__LangSwitcherStyled",componentId:"sc-13zlbee-0"})(["display:flex;flex-direction:column;align-items:center;width:fit-content;position:relative;"]),c=i(o.ul).withConfig({displayName:"styled__LangSwitcherList",componentId:"sc-13zlbee-1"})(["position:absolute;margin-top:28px;display:grid;grid-template-columns:auto auto;align-items:center;row-gap:16px;column-gap:8px;transform-origin:top center;flex-direction:column;width:fit-content;padding:16px 20px;border-radius:16px;border:1px solid ",";background:",";"],({theme:i})=>i.colors.grayScale.gray2,({theme:i})=>i.colors.grayScale.gray4),d=i(s).attrs({variant:"body-m-semibold"}).withConfig({displayName:"styled__LangSwitcherItem",componentId:"sc-13zlbee-2"})(["display:flex;gap:8px;align-items:center;"]),p=i(s).attrs({variant:"body-s-medium"}).withConfig({displayName:"styled__LangSwitcherLabel",componentId:"sc-13zlbee-3"})(["width:max-content;"]),m=i(n).withConfig({displayName:"styled__LangSwitcherInput",componentId:"sc-13zlbee-4"})(["min-width:160px;& > *:first-child{background:",";}"],({theme:i})=>i.colors.grayScale.gray7),x=i(e).attrs({variant:"text"}).withConfig({displayName:"styled__LangSwitcherButton",componentId:"sc-13zlbee-5"})(["white-space:nowrap;"]),j=i(t).withConfig({displayName:"styled__LangSwitcherIcon",componentId:"sc-13zlbee-6"})(["pointer-events:none;transition:transform 0.2s ease-in-out;transform:",";"],({$open:i})=>i?"rotateZ(-180deg)":"rotateZ(0)");export{x as LangSwitcherButton,j as LangSwitcherIcon,m as LangSwitcherInput,d as LangSwitcherItem,p as LangSwitcherLabel,c as LangSwitcherList,r as LangSwitcherStyled};
|
|
1
|
+
import{styled as i}from"styled-components";import{animated as o}from"@react-spring/web";import{Typography as s}from"../typography/index.js";import{SelectField as n}from"../select-field/index.js";import{Button as e}from"../button/index.js";import{ArrowDownIcon as t}from"../../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"tslib";import"react/jsx-runtime";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/copy/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/check-small/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/loader-circular-gradient-2/index.js";import"../../icons/minus/index.js";import"../../icons/mj-white/index.js";import"../../icons/prompt/index.js";import"../../icons/rabbit/index.js";import"../../icons/ratio-1x1/index.js";import"../../icons/ratio-2x3/index.js";import"../../icons/ratio-3x2/index.js";import"../../icons/ratio-4x5/index.js";import"../../icons/ratio-4x7/index.js";import"../../icons/ratio-5x4/index.js";import"../../icons/ratio-7x4/index.js";import"../../icons/ratio-16x9/index.js";import"../../icons/ratio-9x16/index.js";import"../../icons/ratio-21x9/index.js";import"../../icons/ratio-9x21/index.js";import"../../icons/refferal-min/index.js";import"../../icons/search-data/index.js";import"../../icons/square/index.js";import"../../icons/turtle/index.js";import"../../icons/upscale/index.js";import"../../icons/withdraw/index.js";import"../../icons/search-plus/index.js";import"../../icons/lightning/index.js";import"../../icons/blog-circle/index.js";import"../../icons/stripe/index.js";import"../../icons/corporate/index.js";import"../../icons/public/index.js";import"../../icons/private/index.js";import"../../icons/mistral/index.js";import"../../icons/gemini/index.js";import"../../icons/search-simple/index.js";import"../../icons/sad-robot/index.js";import"../../icons/model/index.js";import"../../icons/phone-colored/index.js";import"../../icons/questions/index.js";import"../../icons/pdf-big/index.js";import"../../icons/xls-big/index.js";import"../../icons/word-big/index.js";import"../../icons/txt-big/index.js";import"../../icons/pdf/index.js";import"../../icons/xls/index.js";import"../../icons/word/index.js";import"../../icons/txt/index.js";import"../../icons/bothub-logo-gradient/index.js";import"../../icons/telegram-logo-gradient/index.js";import"../../icons/decline-circle/index.js";import"../../icons/simple-gear-bg/index.js";import"../../icons/advanced-filter/index.js";import"../../icons/big-corporate/index.js";import"../../icons/big-mj/index.js";import"../../icons/big-models/index.js";import"../../icons/big-stats/index.js";import"../../icons/big-success/index.js";import"../../icons/big-users/index.js";import"../../icons/optional-presets/index.js";import"../../icons/wallet-withdraw/index.js";import"../../icons/big-presets/index.js";import"../../icons/big-favorite/index.js";import"../../icons/big-referal/index.js";import"../../icons/attach-file/index.js";import"../../icons/attach-file-big/index.js";import"../../icons/voice/index.js";import"../../icons/play-button/index.js";import"../../icons/pause-button/index.js";import"../../icons/text-read/index.js";import"../../icons/text-hide/index.js";import"../../icons/best-chat-bots/index.js";import"../../icons/upload/index.js";import"../../icons/enter/index.js";import"../../icons/discord/index.js";import"../../icons/discord-circle/index.js";import"../../icons/black-forest-labs/index.js";import"../../icons/flux/index.js";import"../../icons/stable-diffusion/index.js";import"../../icons/stability-ai/index.js";import"../../icons/article-generator/index.js";import"../../icons/success/index.js";import"../../icons/google/index.js";import"../../icons/yandex/index.js";import"../../icons/vk/index.js";import"../../icons/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/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";const r=i.div.withConfig({displayName:"styled__LangSwitcherStyled",componentId:"sc-13zlbee-0"})(["display:flex;flex-direction:column;align-items:center;width:fit-content;position:relative;"]),c=i(o.ul).withConfig({displayName:"styled__LangSwitcherList",componentId:"sc-13zlbee-1"})(["position:absolute;margin-top:28px;display:grid;grid-template-columns:auto auto;align-items:center;row-gap:16px;column-gap:8px;transform-origin:top center;flex-direction:column;width:fit-content;padding:16px 20px;border-radius:16px;border:1px solid ",";background:",";"],({theme:i})=>i.colors.grayScale.gray2,({theme:i})=>i.colors.grayScale.gray4),d=i(s).attrs({variant:"body-m-semibold"}).withConfig({displayName:"styled__LangSwitcherItem",componentId:"sc-13zlbee-2"})(["display:flex;gap:8px;align-items:center;"]),p=i(s).attrs({variant:"body-s-medium"}).withConfig({displayName:"styled__LangSwitcherLabel",componentId:"sc-13zlbee-3"})(["width:max-content;"]),m=i(n).withConfig({displayName:"styled__LangSwitcherInput",componentId:"sc-13zlbee-4"})(["min-width:160px;& > *:first-child{background:",";}"],({theme:i})=>i.colors.grayScale.gray7),x=i(e).attrs({variant:"text"}).withConfig({displayName:"styled__LangSwitcherButton",componentId:"sc-13zlbee-5"})(["white-space:nowrap;"]),j=i(t).withConfig({displayName:"styled__LangSwitcherIcon",componentId:"sc-13zlbee-6"})(["pointer-events:none;transition:transform 0.2s ease-in-out;transform:",";"],({$open:i})=>i?"rotateZ(-180deg)":"rotateZ(0)");export{x as LangSwitcherButton,j as LangSwitcherIcon,m as LangSwitcherInput,d as LangSwitcherItem,p as LangSwitcherLabel,c as LangSwitcherList,r as LangSwitcherStyled};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as i,jsx as o,Fragment as n}from"react/jsx-runtime";import{useState as s,useRef as e,useMemo as t,useCallback as r,useEffect as c}from"react";import{useTransition as d,easings as m}from"@react-spring/web";import{MenuDotIcon as p}from"../../../icons/menu-dot/index.js";import{UpdateIcon as x}from"../../../icons/update/index.js";import{ResendIcon as a}from"../../../icons/resend/index.js";import{EditIcon as l}from"../../../icons/edit/index.js";import{TrashIcon as j}from"../../../icons/trash/index.js";import{ThumbDownIcon as u}from"../../../icons/thumb-down/index.js";import{CheckSmallIcon as g}from"../../../icons/check-small/index.js";import{CloseIcon as b}from"../../../icons/close/index.js";import{CopyIcon as h}from"../../../icons/copy/index.js";import{DownloadImgIcon as f}from"../../../icons/download-img/index.js";import{MessageActionsStyled as w,MessageActionsMenuStyled as y,MessageActionsMenuModal as k,MessageActionsMenuModalOptionContent as v,MessageActionsButtonText as C,MessageEditButtonsStyled as T}from"./styled.js";import{MenuOption as L}from"./menu-option/index.js";import{CopyButton as z}from"./copy-button/index.js";import{ActionButton as E}from"./action-button/index.js";import"../list/styled.js";import{useScrollbarRef as R}from"../list/context.js";import"../scroll-button/styled.js";import"tslib";import{IconProvider as q}from"../../icon/context.js";import"../../icon/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"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import{colorToRgba as M}from"../../../utils/colors/colorToRgba.js";import"../../../utils/colors/calculateGrayScale.js";import"../../../utils/colors/calculateAccentColors.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"../../../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"../../../icons/attach/index.js";import"../../../icons/avatar-add/index.js";import"../../../icons/brush/index.js";import"../../../icons/calendar/index.js";import"../../../icons/claude/index.js";import"../../../icons/cookie/index.js";import"../../../icons/dalle/index.js";import"../../../icons/error/index.js";import"../../../icons/expand/index.js";import"../../../icons/eye/index.js";import"../../../icons/face/index.js";import"../../../icons/gear/index.js";import"../../../icons/gear-min/index.js";import"../../../icons/generation/index.js";import"../../../icons/gpt-3_5/index.js";import"../../../icons/gpt-4/index.js";import"../../../icons/imagine/index.js";import"../../../icons/imagine-2/index.js";import"../../../icons/loader/index.js";import"../../../icons/loader-circular/index.js";import"../../../icons/loader-circular-gradient/index.js";import"../../../icons/loader-circular-gradient-2/index.js";import"../../../icons/minus/index.js";import"../../../icons/mj-white/index.js";import"../../../icons/prompt/index.js";import"../../../icons/rabbit/index.js";import"../../../icons/ratio-1x1/index.js";import"../../../icons/ratio-2x3/index.js";import"../../../icons/ratio-3x2/index.js";import"../../../icons/ratio-4x5/index.js";import"../../../icons/ratio-4x7/index.js";import"../../../icons/ratio-5x4/index.js";import"../../../icons/ratio-7x4/index.js";import"../../../icons/ratio-16x9/index.js";import"../../../icons/ratio-9x16/index.js";import"../../../icons/ratio-21x9/index.js";import"../../../icons/ratio-9x21/index.js";import"../../../icons/refferal-min/index.js";import"../../../icons/search-data/index.js";import"../../../icons/square/index.js";import"../../../icons/turtle/index.js";import"../../../icons/upscale/index.js";import"../../../icons/withdraw/index.js";import"../../../icons/search-plus/index.js";import"../../../icons/lightning/index.js";import"../../../icons/blog-circle/index.js";import"../../../icons/stripe/index.js";import"../../../icons/corporate/index.js";import"../../../icons/public/index.js";import"../../../icons/private/index.js";import"../../../icons/mistral/index.js";import"../../../icons/gemini/index.js";import"../../../icons/search-simple/index.js";import"../../../icons/sad-robot/index.js";import"../../../icons/model/index.js";import"../../../icons/phone-colored/index.js";import"../../../icons/questions/index.js";import"../../../icons/pdf-big/index.js";import"../../../icons/xls-big/index.js";import"../../../icons/word-big/index.js";import"../../../icons/txt-big/index.js";import"../../../icons/pdf/index.js";import"../../../icons/xls/index.js";import"../../../icons/word/index.js";import"../../../icons/txt/index.js";import"../../../icons/bothub-logo-gradient/index.js";import"../../../icons/telegram-logo-gradient/index.js";import"../../../icons/decline-circle/index.js";import"../../../icons/simple-gear-bg/index.js";import"../../../icons/advanced-filter/index.js";import"../../../icons/big-corporate/index.js";import"../../../icons/big-mj/index.js";import"../../../icons/big-models/index.js";import"../../../icons/big-stats/index.js";import"../../../icons/big-success/index.js";import"../../../icons/big-users/index.js";import"../../../icons/optional-presets/index.js";import"../../../icons/wallet-withdraw/index.js";import"../../../icons/big-presets/index.js";import"../../../icons/big-favorite/index.js";import"../../../icons/big-referal/index.js";import"../../../icons/attach-file/index.js";import"../../../icons/attach-file-big/index.js";import"../../../icons/voice/index.js";import"../../../icons/play-button/index.js";import"../../../icons/pause-button/index.js";import"../../../icons/text-read/index.js";import"../../../icons/text-hide/index.js";import"../../../icons/best-chat-bots/index.js";import"../../../icons/upload/index.js";import"../../../icons/enter/index.js";import"../../../icons/discord/index.js";import"../../../icons/discord-circle/index.js";import"../../../icons/black-forest-labs/index.js";import"../../../icons/flux/index.js";import"../../../icons/stable-diffusion/index.js";import"../../../icons/stability-ai/index.js";import"../../../icons/article-generator/index.js";import"../../../icons/success/index.js";import"../../../icons/google/index.js";import"../../../icons/yandex/index.js";import"../../../icons/vk/index.js";import"../../../icons/big-article/index.js";import"../../../icons/add-chat/index.js";import"../../../icons/add-group/index.js";import"../../../icons/drag-dot/index.js";import"../../../icons/add-folder/index.js";import"../../../icons/temp-chat/index.js";import"../../../icons/delete-chat/index.js";import"../../../icons/sidebar-chat/index.js";import"../../../icons/organization/index.js";import"../../../icons/simple-gear/index.js";import"../../../icons/text-bold/index.js";import"../../../icons/text-italic/index.js";import"../../../icons/text-underline/index.js";import"../../../icons/text-strikethrough/index.js";import"../../../icons/refresh/index.js";import"../../../icons/copy-variants/index.js";import"../../../icons/sort-ascending/index.js";import"../../../icons/sort-descending/index.js";import"../../../icons/quote/index.js";import"../../../icons/url-circle/index.js";import"../../../icons/show-ui/index.js";import"../../../icons/hide-ui/index.js";import"../../../icons/sort-user/index.js";import"../../../icons/happy-robot/index.js";import"../../../icons/happy-robot-gradient/index.js";import"../../../icons/min-window/index.js";import"../../../icons/max-window/index.js";import"../../../icons/manage-chat/index.js";import"../../../icons/analyze-urls/index.js";import"../../../icons/web-search/index.js";import"../../../icons/include-context/index.js";import"../../../icons/queue/index.js";import"../../../icons/sort-alphabet-ascending/index.js";import"../../../icons/sort-alphabet-descending/index.js";import"../../../icons/sort-date-ascending/index.js";import"../../../icons/sort-date-descending/index.js";import"../../../icons/cot-r1/index.js";import"../../../icons/news/index.js";import"../../../icons/volume/index.js";import"../../../icons/flag-ru/index.js";import"../../../icons/flag-kz/index.js";import"../../../icons/print/index.js";import"../../../icons/pc-icon-1/index.js";import"../../../icons/pc-icon-2/index.js";import"../../../icons/pc-icon-3/index.js";import"../../../icons/star-unfilled/index.js";import"../../../icons/image-generation/index.js";import"../../../icons/speech-synthesys/index.js";import"../../../icons/transcription/index.js";import"../../../icons/text-rewrite/index.js";import"../../../icons/code-generation/index.js";import"../../../icons/essay-generation/index.js";import"../../../icons/spelling/index.js";import"../../../icons/text-generation/index.js";import"../../../icons/traffic-analisys/index.js";import"../../../icons/fav-profile/index.js";import"../../../icons/exclamation/index.js";import"../../../icons/article/index.js";import"../../../icons/setchel/index.js";import"../../../icons/assembly/index.js";import"../../../icons/data-visualisation/index.js";import"../../../icons/document-analisys/index.js";import"../../../icons/problem-solvment/index.js";import"../../../icons/setting-analisys/index.js";import"../../../icons/translation/index.js";import"../../../icons/stars/index.js";import"../../../icons/academy/index.js";import"../../../icons/articles/index.js";import"../../../icons/blog-post/index.js";import"../../../icons/book/index.js";import"../../../icons/bow-tie/index.js";import"../../../icons/case-study/index.js";import"../../../icons/comments/index.js";import"../../../icons/guide/index.js";import"../../../icons/marketing/index.js";import"../../../icons/post/index.js";import"../../../icons/report/index.js";import"../../../icons/review/index.js";import"../../../icons/scientific-article/index.js";import"../../../icons/selling-text/index.js";import"../../../icons/textbook/index.js";import"../../../icons/wind/index.js";import"../../../icons/grok/index.js";import"../../../icons/deepseek/index.js";import"../../../icons/grid-horizontal/index.js";import"../../../icons/grid-vertical/index.js";import"../../../icons/star-gradient/index.js";import"../../../icons/qwen/index.js";import"../../../icons/sidebar-toggle-left/index.js";import"../../../icons/sidebar-toggle-right/index.js";import"../../../icons/system/index.js";import"../../../icons/selector/index.js";import"../../../icons/video-camera/index.js";import"../../../icons/music-note/index.js";import"../../../icons/add-profile/index.js";import"../../../icons/token-counter/index.js";import"../../../icons/customer-support/index.js";import"../../../icons/sort-alphabet-top-bottom/index.js";import"../../../icons/sort-alphabet-bottom-top/index.js";import"../../../icons/pause/index.js";import"../../../icons/play/index.js";import"../../../icons/restore-2/index.js";import"../../../icons/video-generation/index.js";import"../../../icons/veo-model/index.js";import"../../../icons/runway/index.js";import"../../../icons/queue-select/index.js";import"../../../icons/apple/index.js";import"../../../icons/mail-colored/index.js";import{ShieldIcon as D}from"../../../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{useTheme as S}from"../../../theme/hook.js";const $=({id:$,disableModal:B,message:O,variant:P="user",skeleton:U,disableResend:A,disableEdit:G,disableDelete:X,disableUpdate:Y,disableCopy:_,disableDownload:F,disableEncryption:H,editOutOfMenu:I,editText:J,copyTgText:K,copyPlainText:N,resendText:Q,deleteText:V,onReportText:W,downloadTooltipLabel:Z,submitEditTooltipLabel:ii,discardEditTooltipLabel:oi,encryptionTooltipLabel:ni,updateTooltipLabel:si,copyTooltipLabel:ei,editing:ti,editedText:ri,onEditing:ci,onEditedText:di,onEdit:mi,onResend:pi,onDelete:xi,onUpdate:ai,onReport:li,onPlainTextCopy:ji,onTgCopy:ui,onCopy:gi,onDownload:bi})=>{const hi=S(),[fi,wi]=s(!1),[yi,ki]=s(),[vi,Ci]=s(!1),[Ti,Li]=s(!1),zi=e(null),Ei=e(null),Ri=R(),qi=t(()=>"custom"===hi.scheme?M(hi.colors.custom.icon,.75):"standard"===hi.scheme||"light"===hi.mode?hi.colors.grayScale.gray1:hi.colors.accent.primary,[hi]),Mi=t(()=>{if(U)return!1;switch(P){case"assistant":return!G;case"user":return!B&&(!G||!X||!A)}},[G,X,A]),Di=()=>{var i;const o=null===(i=null==Ri?void 0:Ri.current)||void 0===i?void 0:i.element,n=null==zi?void 0:zi.current;if(!o||!n)return;const s=o.getBoundingClientRect(),e=n.getBoundingClientRect();Li(s.bottom-e.bottom<=300),Ci("assistant"===P&&e.left-s.left<=160||"user"===P&&s.right-e.right<=160)},Si=r(()=>{yi&&window.clearTimeout(yi),Di(),wi(!0)},[yi]),$i=r(()=>{ki(window.setTimeout(()=>wi(!1),300))},[]),Bi=r(()=>{Di(),wi(i=>!i)},[]),Oi=r(i=>{const o={id:$,message:O};switch(i){case"edit":null==ci||ci(!0),null==di||di(null!=O?O:"");break;case"delete":null==xi||xi(o);break;case"resend":null==pi||pi(o)}wi(!1)},[$,O]),Pi=r(({id:i,message:o})=>{null==ci||ci(!1),null==mi||mi({id:i,message:o,variant:P})},[$,O]),Ui=r(()=>{null==ci||ci(!1),null==di||di(null!=O?O:"")},[O]),Ai=r(()=>{null==ui||ui(),wi(!1)},[]),Gi=r(()=>{null==ji||ji(),wi(!1)},[]),Xi=r(()=>{null==li||li({id:$,message:O}),wi(!1)},[$,O]),Yi=d(fi,{from:{opacity:0,y:5},enter:{opacity:1,y:0},leave:{opacity:0,y:0},config:{duration:250,easing:m.easeOutSine}});return c(()=>{const i=()=>{wi(!1)};return window.addEventListener("scroll",i,!0),()=>{window.removeEventListener("scroll",i,!0)}},[fi]),c(()=>{yi&&window.clearTimeout(yi)},[]),i(w,{$variant:P,ref:zi,children:[ti?i(T,{children:[o(E,{id:$,message:ri,tooltipLabel:ii,onClick:Pi,children:o(g,{size:20,fill:hi.colors.accent.primary})}),o(E,{tooltipLabel:oi,onClick:Ui,children:o(b,{size:14,fill:hi.colors.grayScale.gray2})})]}):o(n,{children:i(q,{fill:qi,children:[Mi&&i(y,{ref:Ei,onBlur:()=>{wi(!1)},children:[o(E,{onMouseEnter:"ontouchstart"in window?void 0:Si,onMouseLeave:"ontouchstart"in window?void 0:$i,onClick:Bi,children:o(p,{size:18})}),Yi((n,s)=>s&&i(k,{style:n,onMouseEnter:Si,onMouseLeave:$i,$variant:P,$invertedX:vi,$invertedY:Ti,children:[!_&&N&&ji&&o(L,{onClick:Gi,children:i(v,{children:[o(h,{}),o(C,{children:N})]})}),!_&&K&&ui&&o(L,{onClick:Ai,children:i(v,{children:[o(h,{}),o(C,{children:K})]})}),!A&&"user"===P&&Q&&pi&&o(L,{onClick:()=>{Oi("resend")},children:i(v,{children:[o(a,{}),o(C,{children:Q})]})}),!I&&!G&&J&&mi&&o(L,{onClick:()=>{Oi("edit")},children:i(v,{children:[o(l,{}),o(C,{children:J})]})}),!X&&V&&xi&&o(L,{onClick:()=>{Oi("delete")},children:i(v,{children:[o(j,{}),o(C,{children:V})]})}),!X&&W&&li&&"user"!==P&&o(L,{onClick:Xi,children:i(v,{children:[o(u,{size:18}),o(C,{children:W})]})})]},"message-actions-modal"))]}),!Mi&&!X&&o(E,{id:$,message:O,onClick:xi,tooltipLabel:V,children:o(j,{size:20})}),!Y&&"user"!==P&&o(E,{id:$,message:O,onClick:ai,tooltipLabel:si,children:o(x,{size:18})}),I&&o(E,{id:$,message:O,onClick:()=>{Oi("edit")},tooltipLabel:J,children:o(l,{size:18})}),!_&&o(z,{onCopy:gi,tooltipLabel:ei}),!Mi&&!X&&W&&li&&"user"!==P&&o(E,{tooltipLabel:W,onClick:Xi,children:o(u,{size:18})})]})}),!F&&o(E,{tooltipLabel:Z,onClick:bi,children:o(f,{size:18})}),!H&&o(E,{tooltipLabel:ni,children:o(D,{size:18})})]})};export{$ as MessageActions};
|
|
1
|
+
import{jsxs as i,jsx as o,Fragment as n}from"react/jsx-runtime";import{useState as s,useRef as e,useMemo as t,useCallback as r,useEffect as c}from"react";import{useTransition as d,easings as m}from"@react-spring/web";import{MenuDotIcon as p}from"../../../icons/menu-dot/index.js";import{UpdateIcon as x}from"../../../icons/update/index.js";import{ResendIcon as a}from"../../../icons/resend/index.js";import{EditIcon as l}from"../../../icons/edit/index.js";import{TrashIcon as j}from"../../../icons/trash/index.js";import{ThumbDownIcon as u}from"../../../icons/thumb-down/index.js";import{CheckSmallIcon as g}from"../../../icons/check-small/index.js";import{CloseIcon as b}from"../../../icons/close/index.js";import{CopyIcon as h}from"../../../icons/copy/index.js";import{DownloadImgIcon as f}from"../../../icons/download-img/index.js";import{MessageActionsStyled as w,MessageActionsMenuStyled as y,MessageActionsMenuModal as k,MessageActionsMenuModalOptionContent as v,MessageActionsButtonText as C,MessageEditButtonsStyled as T}from"./styled.js";import{MenuOption as L}from"./menu-option/index.js";import{CopyButton as z}from"./copy-button/index.js";import{ActionButton as E}from"./action-button/index.js";import"../list/styled.js";import{useScrollbarRef as R}from"../list/context.js";import"../scroll-button/styled.js";import"tslib";import{IconProvider as q}from"../../icon/context.js";import"../../icon/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"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import{colorToRgba as M}from"../../../utils/colors/colorToRgba.js";import"../../../utils/colors/calculateGrayScale.js";import"../../../utils/colors/calculateAccentColors.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"../../../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"../../../icons/attach/index.js";import"../../../icons/avatar-add/index.js";import"../../../icons/brush/index.js";import"../../../icons/calendar/index.js";import"../../../icons/claude/index.js";import"../../../icons/cookie/index.js";import"../../../icons/dalle/index.js";import"../../../icons/error/index.js";import"../../../icons/expand/index.js";import"../../../icons/eye/index.js";import"../../../icons/face/index.js";import"../../../icons/gear/index.js";import"../../../icons/gear-min/index.js";import"../../../icons/generation/index.js";import"../../../icons/gpt-3_5/index.js";import"../../../icons/gpt-4/index.js";import"../../../icons/imagine/index.js";import"../../../icons/imagine-2/index.js";import"../../../icons/loader/index.js";import"../../../icons/loader-circular/index.js";import"../../../icons/loader-circular-gradient/index.js";import"../../../icons/loader-circular-gradient-2/index.js";import"../../../icons/minus/index.js";import"../../../icons/mj-white/index.js";import"../../../icons/prompt/index.js";import"../../../icons/rabbit/index.js";import"../../../icons/ratio-1x1/index.js";import"../../../icons/ratio-2x3/index.js";import"../../../icons/ratio-3x2/index.js";import"../../../icons/ratio-4x5/index.js";import"../../../icons/ratio-4x7/index.js";import"../../../icons/ratio-5x4/index.js";import"../../../icons/ratio-7x4/index.js";import"../../../icons/ratio-16x9/index.js";import"../../../icons/ratio-9x16/index.js";import"../../../icons/ratio-21x9/index.js";import"../../../icons/ratio-9x21/index.js";import"../../../icons/refferal-min/index.js";import"../../../icons/search-data/index.js";import"../../../icons/square/index.js";import"../../../icons/turtle/index.js";import"../../../icons/upscale/index.js";import"../../../icons/withdraw/index.js";import"../../../icons/search-plus/index.js";import"../../../icons/lightning/index.js";import"../../../icons/blog-circle/index.js";import"../../../icons/stripe/index.js";import"../../../icons/corporate/index.js";import"../../../icons/public/index.js";import"../../../icons/private/index.js";import"../../../icons/mistral/index.js";import"../../../icons/gemini/index.js";import"../../../icons/search-simple/index.js";import"../../../icons/sad-robot/index.js";import"../../../icons/model/index.js";import"../../../icons/phone-colored/index.js";import"../../../icons/questions/index.js";import"../../../icons/pdf-big/index.js";import"../../../icons/xls-big/index.js";import"../../../icons/word-big/index.js";import"../../../icons/txt-big/index.js";import"../../../icons/pdf/index.js";import"../../../icons/xls/index.js";import"../../../icons/word/index.js";import"../../../icons/txt/index.js";import"../../../icons/bothub-logo-gradient/index.js";import"../../../icons/telegram-logo-gradient/index.js";import"../../../icons/decline-circle/index.js";import"../../../icons/simple-gear-bg/index.js";import"../../../icons/advanced-filter/index.js";import"../../../icons/big-corporate/index.js";import"../../../icons/big-mj/index.js";import"../../../icons/big-models/index.js";import"../../../icons/big-stats/index.js";import"../../../icons/big-success/index.js";import"../../../icons/big-users/index.js";import"../../../icons/optional-presets/index.js";import"../../../icons/wallet-withdraw/index.js";import"../../../icons/big-presets/index.js";import"../../../icons/big-favorite/index.js";import"../../../icons/big-referal/index.js";import"../../../icons/attach-file/index.js";import"../../../icons/attach-file-big/index.js";import"../../../icons/voice/index.js";import"../../../icons/play-button/index.js";import"../../../icons/pause-button/index.js";import"../../../icons/text-read/index.js";import"../../../icons/text-hide/index.js";import"../../../icons/best-chat-bots/index.js";import"../../../icons/upload/index.js";import"../../../icons/enter/index.js";import"../../../icons/discord/index.js";import"../../../icons/discord-circle/index.js";import"../../../icons/black-forest-labs/index.js";import"../../../icons/flux/index.js";import"../../../icons/stable-diffusion/index.js";import"../../../icons/stability-ai/index.js";import"../../../icons/article-generator/index.js";import"../../../icons/success/index.js";import"../../../icons/google/index.js";import"../../../icons/yandex/index.js";import"../../../icons/vk/index.js";import"../../../icons/big-article/index.js";import"../../../icons/add-chat/index.js";import"../../../icons/add-group/index.js";import"../../../icons/drag-dot/index.js";import"../../../icons/add-folder/index.js";import"../../../icons/temp-chat/index.js";import"../../../icons/delete-chat/index.js";import"../../../icons/sidebar-chat/index.js";import"../../../icons/organization/index.js";import"../../../icons/simple-gear/index.js";import"../../../icons/text-bold/index.js";import"../../../icons/text-italic/index.js";import"../../../icons/text-underline/index.js";import"../../../icons/text-strikethrough/index.js";import"../../../icons/refresh/index.js";import"../../../icons/copy-variants/index.js";import"../../../icons/sort-ascending/index.js";import"../../../icons/sort-descending/index.js";import"../../../icons/quote/index.js";import"../../../icons/url-circle/index.js";import"../../../icons/show-ui/index.js";import"../../../icons/hide-ui/index.js";import"../../../icons/sort-user/index.js";import"../../../icons/happy-robot/index.js";import"../../../icons/happy-robot-gradient/index.js";import"../../../icons/min-window/index.js";import"../../../icons/max-window/index.js";import"../../../icons/manage-chat/index.js";import"../../../icons/analyze-urls/index.js";import"../../../icons/web-search/index.js";import"../../../icons/include-context/index.js";import"../../../icons/queue/index.js";import"../../../icons/sort-alphabet-ascending/index.js";import"../../../icons/sort-alphabet-descending/index.js";import"../../../icons/sort-date-ascending/index.js";import"../../../icons/sort-date-descending/index.js";import"../../../icons/cot-r1/index.js";import"../../../icons/news/index.js";import"../../../icons/volume/index.js";import"../../../icons/flag-ru/index.js";import"../../../icons/flag-kz/index.js";import"../../../icons/print/index.js";import"../../../icons/pc-icon-1/index.js";import"../../../icons/pc-icon-2/index.js";import"../../../icons/pc-icon-3/index.js";import"../../../icons/star-unfilled/index.js";import"../../../icons/image-generation/index.js";import"../../../icons/speech-synthesys/index.js";import"../../../icons/transcription/index.js";import"../../../icons/text-rewrite/index.js";import"../../../icons/code-generation/index.js";import"../../../icons/essay-generation/index.js";import"../../../icons/spelling/index.js";import"../../../icons/text-generation/index.js";import"../../../icons/traffic-analisys/index.js";import"../../../icons/fav-profile/index.js";import"../../../icons/exclamation/index.js";import"../../../icons/article/index.js";import"../../../icons/setchel/index.js";import"../../../icons/assembly/index.js";import"../../../icons/data-visualisation/index.js";import"../../../icons/document-analisys/index.js";import"../../../icons/problem-solvment/index.js";import"../../../icons/setting-analisys/index.js";import"../../../icons/translation/index.js";import"../../../icons/stars/index.js";import"../../../icons/academy/index.js";import"../../../icons/articles/index.js";import"../../../icons/blog-post/index.js";import"../../../icons/book/index.js";import"../../../icons/bow-tie/index.js";import"../../../icons/case-study/index.js";import"../../../icons/comments/index.js";import"../../../icons/guide/index.js";import"../../../icons/marketing/index.js";import"../../../icons/post/index.js";import"../../../icons/report/index.js";import"../../../icons/review/index.js";import"../../../icons/scientific-article/index.js";import"../../../icons/selling-text/index.js";import"../../../icons/textbook/index.js";import"../../../icons/wind/index.js";import"../../../icons/grok/index.js";import"../../../icons/deepseek/index.js";import"../../../icons/grid-horizontal/index.js";import"../../../icons/grid-vertical/index.js";import"../../../icons/star-gradient/index.js";import"../../../icons/qwen/index.js";import"../../../icons/sidebar-toggle-left/index.js";import"../../../icons/sidebar-toggle-right/index.js";import"../../../icons/system/index.js";import"../../../icons/selector/index.js";import"../../../icons/video-camera/index.js";import"../../../icons/music-note/index.js";import"../../../icons/add-profile/index.js";import"../../../icons/token-counter/index.js";import"../../../icons/customer-support/index.js";import"../../../icons/sort-alphabet-top-bottom/index.js";import"../../../icons/sort-alphabet-bottom-top/index.js";import"../../../icons/pause/index.js";import"../../../icons/play/index.js";import"../../../icons/restore-2/index.js";import"../../../icons/video-generation/index.js";import"../../../icons/veo-model/index.js";import"../../../icons/runway/index.js";import"../../../icons/queue-select/index.js";import"../../../icons/apple/index.js";import"../../../icons/mail-colored/index.js";import{ShieldIcon as D}from"../../../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 S}from"../../../theme/hook.js";const $=({id:$,disableModal:B,message:O,variant:P="user",skeleton:U,disableResend:A,disableEdit:G,disableDelete:X,disableUpdate:Y,disableCopy:_,disableDownload:F,disableEncryption:H,editOutOfMenu:I,editText:J,copyTgText:K,copyPlainText:N,resendText:Q,deleteText:V,onReportText:W,downloadTooltipLabel:Z,submitEditTooltipLabel:ii,discardEditTooltipLabel:oi,encryptionTooltipLabel:ni,updateTooltipLabel:si,copyTooltipLabel:ei,editing:ti,editedText:ri,onEditing:ci,onEditedText:di,onEdit:mi,onResend:pi,onDelete:xi,onUpdate:ai,onReport:li,onPlainTextCopy:ji,onTgCopy:ui,onCopy:gi,onDownload:bi})=>{const hi=S(),[fi,wi]=s(!1),[yi,ki]=s(),[vi,Ci]=s(!1),[Ti,Li]=s(!1),zi=e(null),Ei=e(null),Ri=R(),qi=t(()=>"custom"===hi.scheme?M(hi.colors.custom.icon,.75):"standard"===hi.scheme||"light"===hi.mode?hi.colors.grayScale.gray1:hi.colors.accent.primary,[hi]),Mi=t(()=>{if(U)return!1;switch(P){case"assistant":return!G;case"user":return!B&&(!G||!X||!A)}},[G,X,A]),Di=()=>{var i;const o=null===(i=null==Ri?void 0:Ri.current)||void 0===i?void 0:i.element,n=null==zi?void 0:zi.current;if(!o||!n)return;const s=o.getBoundingClientRect(),e=n.getBoundingClientRect();Li(s.bottom-e.bottom<=300),Ci("assistant"===P&&e.left-s.left<=160||"user"===P&&s.right-e.right<=160)},Si=r(()=>{yi&&window.clearTimeout(yi),Di(),wi(!0)},[yi]),$i=r(()=>{ki(window.setTimeout(()=>wi(!1),300))},[]),Bi=r(()=>{Di(),wi(i=>!i)},[]),Oi=r(i=>{const o={id:$,message:O};switch(i){case"edit":null==ci||ci(!0),null==di||di(null!=O?O:"");break;case"delete":null==xi||xi(o);break;case"resend":null==pi||pi(o)}wi(!1)},[$,O]),Pi=r(({id:i,message:o})=>{null==ci||ci(!1),null==mi||mi({id:i,message:o,variant:P})},[$,O]),Ui=r(()=>{null==ci||ci(!1),null==di||di(null!=O?O:"")},[O]),Ai=r(()=>{null==ui||ui(),wi(!1)},[]),Gi=r(()=>{null==ji||ji(),wi(!1)},[]),Xi=r(()=>{null==li||li({id:$,message:O}),wi(!1)},[$,O]),Yi=d(fi,{from:{opacity:0,y:5},enter:{opacity:1,y:0},leave:{opacity:0,y:0},config:{duration:250,easing:m.easeOutSine}});return c(()=>{const i=()=>{wi(!1)};return window.addEventListener("scroll",i,!0),()=>{window.removeEventListener("scroll",i,!0)}},[fi]),c(()=>{yi&&window.clearTimeout(yi)},[]),i(w,{$variant:P,ref:zi,children:[ti?i(T,{children:[o(E,{id:$,message:ri,tooltipLabel:ii,onClick:Pi,children:o(g,{size:20,fill:hi.colors.accent.primary})}),o(E,{tooltipLabel:oi,onClick:Ui,children:o(b,{size:14,fill:hi.colors.grayScale.gray2})})]}):o(n,{children:i(q,{fill:qi,children:[Mi&&i(y,{ref:Ei,onBlur:()=>{wi(!1)},children:[o(E,{onMouseEnter:"ontouchstart"in window?void 0:Si,onMouseLeave:"ontouchstart"in window?void 0:$i,onClick:Bi,children:o(p,{size:18})}),Yi((n,s)=>s&&i(k,{style:n,onMouseEnter:Si,onMouseLeave:$i,$variant:P,$invertedX:vi,$invertedY:Ti,children:[!_&&N&&ji&&o(L,{onClick:Gi,children:i(v,{children:[o(h,{}),o(C,{children:N})]})}),!_&&K&&ui&&o(L,{onClick:Ai,children:i(v,{children:[o(h,{}),o(C,{children:K})]})}),!A&&"user"===P&&Q&&pi&&o(L,{onClick:()=>{Oi("resend")},children:i(v,{children:[o(a,{}),o(C,{children:Q})]})}),!I&&!G&&J&&mi&&o(L,{onClick:()=>{Oi("edit")},children:i(v,{children:[o(l,{}),o(C,{children:J})]})}),!X&&V&&xi&&o(L,{onClick:()=>{Oi("delete")},children:i(v,{children:[o(j,{}),o(C,{children:V})]})}),!X&&W&&li&&"user"!==P&&o(L,{onClick:Xi,children:i(v,{children:[o(u,{size:18}),o(C,{children:W})]})})]},"message-actions-modal"))]}),!Mi&&!X&&o(E,{id:$,message:O,onClick:xi,tooltipLabel:V,children:o(j,{size:20})}),!Y&&"user"!==P&&o(E,{id:$,message:O,onClick:ai,tooltipLabel:si,children:o(x,{size:18})}),I&&o(E,{id:$,message:O,onClick:()=>{Oi("edit")},tooltipLabel:J,children:o(l,{size:18})}),!_&&o(z,{onCopy:gi,tooltipLabel:ei}),!Mi&&!X&&W&&li&&"user"!==P&&o(E,{tooltipLabel:W,onClick:Xi,children:o(u,{size:18})})]})}),!F&&o(E,{tooltipLabel:Z,onClick:bi,children:o(f,{size:18})}),!H&&o(E,{tooltipLabel:ni,children:o(D,{size:18})})]})};export{$ as MessageActions};
|
|
@@ -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 f,MessageBlockScrollbarWrapper as h,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{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:fi,children:hi,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(f,{$variant:V,$hexColor:Ki,$skeleton:ui,$hasTimestamp:!!ji,$timestampPosition:gi,children:e(h,{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 hi&&o(R,{components:fi,children:hi}),"string"!=typeof hi&&hi]}),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,f as MessageBlock,v as MessageBlockBottomPanel,w as MessageBlockContent,h 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{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};
|