@bothub-chat/ui 2.49.1-feat-finam-44b8eafa-fc29-4708-bf09-11b9ac4a0065 → 2.49.1-feat-finam-8c6c2a39-3c41-413d-b692-bf0802d7b989
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as i,__awaiter as e}from"tslib";import{jsx as o,jsxs as s,Fragment as n}from"react/jsx-runtime";import{useRef as t,useState as r,useCallback as c,useEffect as d}from"react";import{useTransition as m}from"@react-spring/web";import{useOnClickOutside as a}from"../../utils/useOnClickOutside.js";import{InputMessageStyled as p,InputMessageContent as l,InputMessageMain as j,InputMessageVoiceRecord as x,InputMessageVoiceRecordDot as u,InputMessageVoiceRecordTimeText as g,InputMessageFiles as h,InputMessageFile as b,InputMessageConcatenateWarning as f,InputMessageVoiceFiles as y,InputMessageVoiceTrack as v,InputMessageVoiceFileDelete as w,InputMessageTextArea as k,InputMessageBottom as D,InputMessageBottomGroup as C,InputMessageUploadFile as $,InputMessageUploadFileInput as A,InputMessageUploadFileButton as F,InputMessageToggleSendStyled as E,InputMessageToggleSendButton as T,InputMessageToggleSendModalStyled as S,InputMessageToggleSendModalOption as L,InputMessageVoicePlayButton as K,InputMessageVoicePauseButton as O,InputMessageVoiceButton as P,InputMessageSendButton as U,InputMessageSendIcon as q}from"./styled.js";import{ChipImage as z}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 I}from"../../icons/pdf/index.js";import{TxtIcon as R}from"../../icons/txt/index.js";import{WordIcon as V}from"../../icons/word/index.js";import{XlsIcon as B}from"../../icons/xls/index.js";import{IconProvider as N}from"../icon/context.js";import"../icon/styled.js";import{getPreviewUrlForFile as M,isFileTypeAccepted as G,formatUploadFiles as H,formatSeconds as W,isMobileDevice as _}from"./utils.js";import{AttachFileIcon as J}from"../../icons/attach-file/index.js";import{getSupportedAudioMimeType as Q}from"../../utils/getSupportedAudioMimeType.js";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"../../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{EnterIcon as X}from"../../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 Y}from"../message/voice/index.js";import"../message/reasoning-block/styled.js";import"../typography/styled.js";import"../message/search-results/styled.js";import"../message/video/styled.js";import{getWaveData as Z}from"../../utils/audio/getWaveData.js";import{useTheme as ii}from"../../theme/hook.js";const ei=ei=>{var{className:oi,placeholder:si,message:ni,files:ti,disabled:ri=!1,sendDisabled:ci=!1,textAreaDisabled:di=!1,useAlternativeKeyDefaultValue:mi=!1,defaultKeySendText:ai,alternativeKeySendText:pi,concatenateText:li,uploadFileLimit:ji=5,hideUploadFile:xi=!1,uploadFileDisabled:ui=!1,uploadFileAccept:gi,autoFocus:hi=!0,voice:bi=!1,onSetAlternativeKeyValue:fi,onChange:yi,onFilesChange:vi,onVoiceFilesChange:wi,onTextAreaChange:ki,onSend:Di,onFocus:Ci,onBlur:$i,emitError:Ai,rightActions:Fi}=ei,Ei=i(ei,["className","placeholder","message","files","disabled","sendDisabled","textAreaDisabled","useAlternativeKeyDefaultValue","defaultKeySendText","alternativeKeySendText","concatenateText","uploadFileLimit","hideUploadFile","uploadFileDisabled","uploadFileAccept","autoFocus","voice","onSetAlternativeKeyValue","onChange","onFilesChange","onVoiceFilesChange","onTextAreaChange","onSend","onFocus","onBlur","emitError","rightActions"]);const Ti=ii(),Si=t(null),[Li,Ki]=r("calc(var(--bothub-scale, 1) * 22px)"),[Oi,Pi]="string"==typeof ni?[ni,yi]:r(""),[Ui,qi]=Array.isArray(ti)?[ti,vi]:r([]),[zi,Ii]=r([]),[Ri,Vi]=r(!1),[Bi,Ni]=r(!ri&&hi),[Mi,Gi]=r(!1),[Hi,Wi]=r(!1),[_i,Ji]=r(null),Qi=t(null),Xi=t(null),Yi=t([]),Zi=t(null),ie=t(!1),ee=t(null),[oe,se]=r(mi),[ne,te]=r(!1),re=c(()=>{se(!1),null==fi||fi(!1),te(!1)},[]),ce=c(()=>{se(!0),null==fi||fi(!0),te(!1)},[]),de=c(i=>{Ni(!0),null==Ci||Ci(i)},[Ci]),me=c(i=>{Ni(!1),null==$i||$i(i)},[$i]),ae=c(i=>{null==Pi||Pi(i.target.value),null==ki||ki(i)},[Pi,ki]),pe=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(M));for(const[n,t]of i.entries()){G(t.type,gi)?e.push({previewUrl:s[n],name:t.name,native:t}):o.push(t)}o.length>0&&(null==Ai||Ai({name:"WRONG_FILES",payload:o})),(null==e?void 0:e.length)>0&&(null==qi||qi([...Ui,...e].slice(0,ji)))}),[gi,Ai,ji,Ui]),le=c(i=>e(void 0,void 0,void 0,function*(){!ui&&i.clipboardData.files.length>0&&(i.preventDefault(),yield pe([...i.clipboardData.files]))}),[pe,ui]),je=c(i=>e(void 0,void 0,void 0,function*(){if(!qi||!i.target.files)return;const e=yield H([...Ui.map(({native:i})=>i),...i.target.files]);qi(e.slice(0,ji))}),[Ui,qi,ji]),xe=c(i=>{null==qi||qi(Ui.filter(({name:e})=>e!==i.name))},[qi,Ui]),ue=c(i=>{i.stopPropagation(),null==Di||Di(Oi,Ui),null==Pi||Pi(""),null==qi||qi([]),null==Ii||Ii([]),Ki("calc(var(--bothub-scale, 1) * 22px)")},[Oi,Ui,Di,Pi,qi,Ii]),ge=c(i=>{i.stopPropagation();if(_()&&"Enter"===i.key)return;const e=oe?"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(Bi&&"Enter"===i.key){if(o===e&&i.ctrlKey){i.preventDefault();const e=Si.current;if(!e)return;const o=e.value,t=e.selectionStart,r=o.slice(0,t),c=o.slice(t);null==Pi||Pi(`${r}\n${c}`),s=e,n=t+1,setTimeout(()=>{s.selectionStart=n,s.selectionEnd=n},1)}e!==o&&""!==o&&(i.preventDefault(),null==Di||Di(Oi,Ui),Ki("calc(var(--bothub-scale, 1) * 22px)"))}var s,n},[Bi,Oi,Ui,Di,Pi,qi]),he=c(()=>{var i;ri||null===(i=Si.current)||void 0===i||i.focus()},[ri,hi]),be=c(i=>{i.stopPropagation()},[]),fe=c(i=>e(void 0,void 0,void 0,function*(){if(Hi)return;ie.current=!0,i.stopPropagation();const e=yield navigator.mediaDevices.getUserMedia({audio:!0}),o=new MediaRecorder(e,{mimeType:Q()});ie.current&&(o.start(1e3),Qi.current=o,Xi.current=e,Zi.current=window.setInterval(()=>{Ji(i=>(null!=i?i:0)+.1)},100),Wi(!0),Ji(0),Vi(!1))}),[ie.current,Yi.current,Hi]),ye=c(()=>{const i=Qi.current,e=Xi.current,o=Zi.current;if(Hi&&i&&e&&o){i.stop();for(const i of e.getTracks())i.stop();window.clearInterval(o)}},[Hi,Qi.current,Xi.current,Zi.current]),ve=c(()=>e(void 0,void 0,void 0,function*(){ie.current=!1,Hi&&ye()}),[Hi,ye]),we=c(()=>{const i=Qi.current,e=Zi.current;Hi&&i&&e&&(i.pause(),window.clearInterval(e),Vi(!0))},[Hi]),ke=c(()=>{const i=Qi.current;Hi&&i&&(i.resume(),Zi.current=window.setInterval(()=>{Ji(i=>(null!=i?i:0)+.1)},100),Vi(!1))},[Hi,Ji]),De=c(i=>{Ii(zi.filter(e=>e.src!==i.src))},[zi,Ii]),Ce=c(()=>{const i=Si.current;null!==i&&(i.style.height="calc(var(--bothub-scale, 1) * 22px)",i.style.height=`${i.scrollHeight}px`,Ki(`${i.scrollHeight}px`))},[Oi,hi]);d(()=>{Ce()},[Ce]),d(()=>{const i=Si.current;if(!i||ri)return;const e=!ri&&hi;Ni(e),e?i.focus():document.activeElement===i&&i.blur()},[ri,hi]),d(()=>{const i=Si.current;if(null!==i)return i.addEventListener("keydown",ge),()=>{i.removeEventListener("keydown",ge)}},[ge]),d(()=>{qi&&ti&&qi(ti)},[ti]),d(()=>{null==wi||wi(zi)},[zi]),d(()=>{const i=Qi.current,o=i=>{i.data.size>0&&Yi.current.push(i.data)},s=()=>e(void 0,void 0,void 0,function*(){const i=new Blob(Yi.current,{type:Q()}),{waveData:e,duration:o}=yield Z(i),s={src:URL.createObjectURL(i),duration:o,blob:i,waveData:e};Ii([...zi,s]),Qi.current=null,Xi.current=null,Yi.current=[],Zi.current=null,Wi(!1),Ji(null)});return i&&(i.addEventListener("dataavailable",o),i.addEventListener("stop",s)),()=>{i&&(i.removeEventListener("dataavailable",o),i.removeEventListener("stop",s)),ye()}},[Qi.current]),a(ee,()=>{te(!1)});const $e=m(ne,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:150,ease:"easeOut"}});return o(p,{$active:Bi,$dragActive:Mi,$disabled:ri,$textAreaDisabled:di,$voiceRecording:Hi,className:oi,onClick:he,onDragEnter:()=>Gi(!0),onDragLeave:()=>Gi(!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 pe([...i.dataTransfer.files]),Gi(!1),!1}),children:s(l,{children:[s(j,{children:[Hi&&null!==_i&&s(x,{children:[o(u,{}),o(g,{children:W(_i)})]}),Ui.length>0&&o(h,{children:Ui.map(i=>{let e;return e=i.previewUrl&&(i.name.match(/.png$/i)||i.name.match(/.jpg$/i)||i.name.match(/.jpeg$/i))?o(z,{src:i.previewUrl}):i.name.match(/.txt$/i)?o(R,{}):i.name.match(/.docx$/i)?o(V,{}):i.name.match(/.xlsx$/i)?o(B,{}):i.name.match(/.pdf$/i)?o(I,{}):o(J,{}),e=o(N,{size:18,children:e}),o(b,{start:e,onDelete:xe.bind(null,i),children:i.name.length>20?`...${i.name.slice(-20)}`:i.name},i.name)})}),zi.length>1&&o(f,{children:li}),zi.length>0&&o(y,{children:zi.map(i=>s(v,{children:[o(Y,{variant:"input",height:24,src:i.src,duration:i.duration,waveData:i.waveData,disableTranscription:!0}),o(w,{onClick:De.bind(null,i)})]},i.src))}),(!di||di&&si&&Ui.length!==ji||di&&Oi)&&o(k,Object.assign({$disabled:ri},Ei,{ref:Si,value:Oi,placeholder:si,disabled:ri||di,style:Object.assign(Object.assign({},Ei.style),{height:Li}),onFocus:de,onBlur:me,onChange:ae,onPaste:le}))]}),s(D,{children:[s(C,{children:[!xi&&!Hi&&s($,{onClick:be,children:[o(A,{type:"file",accept:gi,multiple:!0,disabled:Ui.length>=ji||ri||ui,onChange:je},Ui.length),o(F,{disabled:Ui.length>=ji||ri||ui})]}),Fi]}),s(C,{children:[!!ai&&!!pi&&s(E,{ref:ee,children:[o(T,{startIcon:o(X,{fill:Ti.bright?Ti.colors.custom.icon:Ti.colors.grayScale.gray3}),onClick:i=>{i.stopPropagation(),te(!ne)},disabled:ri}),$e((i,e)=>e&&s(S,{style:i,children:[o(L,{active:!oe,onClick:re,children:ai}),o(L,{active:oe,onClick:ce,children:pi})]},"alternative-key-modal"))]}),Hi&&o(n,{children:Ri?o(K,{onClick:ke}):o(O,{onClick:we})}),bi&&o(P,{$isRecording:Hi,disabled:ri||ci,onClick:Hi?ve:fe,"data-test":"submit-message"}),o(U,{disabled:ri||ci||Hi,onClick:ue,"data-test":"submit-message",children:o(q,Object.assign({},Ti.bright&&{fill:"custom"===Ti.scheme?Ti.colors.base.black:Ti.default.colors.base.black}))})]})]})]})})};export{ei 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,InputMessageMain as j,InputMessageVoiceRecord as x,InputMessageVoiceRecordDot as u,InputMessageVoiceRecordTimeText as g,InputMessageFiles as h,InputMessageFile as b,InputMessageConcatenateWarning as f,InputMessageVoiceFiles as y,InputMessageVoiceTrack as v,InputMessageVoiceFileDelete as w,InputMessageTextArea as k,InputMessageBottom as D,InputMessageBottomGroup as C,InputMessageUploadFile as $,InputMessageUploadFileInput as A,InputMessageUploadFileButton as F,InputMessageToggleSendStyled as E,InputMessageToggleSendButton as T,InputMessageToggleSendModalStyled as S,InputMessageToggleSendModalOption as L,InputMessageVoicePlayButton as K,InputMessageVoicePauseButton as O,InputMessageVoiceButton as P,InputMessageSendButton as U,InputMessageSendIcon as q}from"./styled.js";import{ChipImage as z}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 I}from"../../icons/pdf/index.js";import{TxtIcon as R}from"../../icons/txt/index.js";import{WordIcon as V}from"../../icons/word/index.js";import{XlsIcon as B}from"../../icons/xls/index.js";import{IconProvider as N}from"../icon/context.js";import"../icon/styled.js";import{getPreviewUrlForFile as M,isFileTypeAccepted as G,formatUploadFiles as H,formatSeconds as W,isMobileDevice as _}from"./utils.js";import{AttachFileIcon as J}from"../../icons/attach-file/index.js";import{getSupportedAudioMimeType as Q}from"../../utils/getSupportedAudioMimeType.js";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"../../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{EnterIcon as X}from"../../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 Y}from"../message/voice/index.js";import"../message/reasoning-block/styled.js";import"../typography/styled.js";import"../message/search-results/styled.js";import"../message/video/styled.js";import{getWaveData as Z}from"../../utils/audio/getWaveData.js";import{useTheme as ii}from"../../theme/hook.js";const ei=ei=>{var{className:oi,placeholder:si,message:ni,files:ti,disabled:ri=!1,sendDisabled:ci=!1,textAreaDisabled:di=!1,useAlternativeKeyDefaultValue:mi=!1,defaultKeySendText:ai,alternativeKeySendText:pi,concatenateText:li,uploadFileLimit:ji=5,hideUploadFile:xi=!1,uploadFileDisabled:ui=!1,uploadFileAccept:gi,autoFocus:hi=!0,voice:bi=!1,onSetAlternativeKeyValue:fi,onChange:yi,onFilesChange:vi,onVoiceFilesChange:wi,onTextAreaChange:ki,onSend:Di,onFocus:Ci,onBlur:$i,emitError:Ai,rightActions:Fi}=ei,Ei=i(ei,["className","placeholder","message","files","disabled","sendDisabled","textAreaDisabled","useAlternativeKeyDefaultValue","defaultKeySendText","alternativeKeySendText","concatenateText","uploadFileLimit","hideUploadFile","uploadFileDisabled","uploadFileAccept","autoFocus","voice","onSetAlternativeKeyValue","onChange","onFilesChange","onVoiceFilesChange","onTextAreaChange","onSend","onFocus","onBlur","emitError","rightActions"]);const Ti=ii(),Si=t(null),[Li,Ki]=r("calc(var(--bothub-scale, 1) * 22px)"),[Oi,Pi]="string"==typeof ni?[ni,yi]:r(""),[Ui,qi]=Array.isArray(ti)?[ti,vi]:r([]),[zi,Ii]=r([]),[Ri,Vi]=r(!1),[Bi,Ni]=r(!ri&&hi),[Mi,Gi]=r(!1),[Hi,Wi]=r(!1),[_i,Ji]=r(null),Qi=t(null),Xi=t(null),Yi=t([]),Zi=t(null),ie=t(!1),ee=t(null),[oe,se]=r(mi),[ne,te]=r(!1),re=c(()=>{se(!1),null==fi||fi(!1),te(!1)},[]),ce=c(()=>{se(!0),null==fi||fi(!0),te(!1)},[]),de=c(i=>{Ni(!0),null==Ci||Ci(i)},[Ci]),me=c(i=>{Ni(!1),null==$i||$i(i)},[$i]),ae=c(i=>{null==Pi||Pi(i.target.value),null==ki||ki(i)},[Pi,ki]),pe=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(M));for(const[n,t]of i.entries()){G(t.type,gi)?e.push({previewUrl:s[n],name:t.name,native:t}):o.push(t)}o.length>0&&(null==Ai||Ai({name:"WRONG_FILES",payload:o})),(null==e?void 0:e.length)>0&&(null==qi||qi([...Ui,...e].slice(0,ji)))}),[gi,Ai,ji,Ui]),le=c(i=>e(void 0,void 0,void 0,function*(){!ui&&i.clipboardData.files.length>0&&(i.preventDefault(),yield pe([...i.clipboardData.files]))}),[pe,ui]),je=c(i=>e(void 0,void 0,void 0,function*(){if(!qi||!i.target.files)return;const e=yield H([...Ui.map(({native:i})=>i),...i.target.files]);qi(e.slice(0,ji))}),[Ui,qi,ji]),xe=c(i=>{null==qi||qi(Ui.filter(({name:e})=>e!==i.name))},[qi,Ui]),ue=c(i=>{i.stopPropagation(),null==Di||Di(Oi,Ui),null==Pi||Pi(""),null==qi||qi([]),null==Ii||Ii([]),Ki("calc(var(--bothub-scale, 1) * 22px)")},[Oi,Ui,Di,Pi,qi,Ii]),ge=c(i=>{i.stopPropagation();if(_()&&"Enter"===i.key)return;const e=oe?"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(Bi&&"Enter"===i.key){if(o===e&&i.ctrlKey){i.preventDefault();const e=Si.current;if(!e)return;const o=e.value,t=e.selectionStart,r=o.slice(0,t),c=o.slice(t);null==Pi||Pi(`${r}\n${c}`),s=e,n=t+1,setTimeout(()=>{s.selectionStart=n,s.selectionEnd=n},1)}e!==o&&""!==o&&(i.preventDefault(),null==Di||Di(Oi,Ui),Ki("calc(var(--bothub-scale, 1) * 22px)"))}var s,n},[Bi,Oi,Ui,Di,Pi,qi]),he=c(()=>{var i;ri||null===(i=Si.current)||void 0===i||i.focus()},[ri,hi]),be=c(i=>{i.stopPropagation()},[]),fe=c(i=>e(void 0,void 0,void 0,function*(){if(Hi)return;ie.current=!0,i.stopPropagation();const e=yield navigator.mediaDevices.getUserMedia({audio:!0}),o=new MediaRecorder(e,{mimeType:Q()});ie.current&&(o.start(1e3),Qi.current=o,Xi.current=e,Zi.current=window.setInterval(()=>{Ji(i=>(null!=i?i:0)+.1)},100),Wi(!0),Ji(0),Vi(!1))}),[ie.current,Yi.current,Hi]),ye=c(()=>{const i=Qi.current,e=Xi.current,o=Zi.current;if(Hi&&i&&e&&o){i.stop();for(const i of e.getTracks())i.stop();window.clearInterval(o)}},[Hi,Qi.current,Xi.current,Zi.current]),ve=c(()=>e(void 0,void 0,void 0,function*(){ie.current=!1,Hi&&ye()}),[Hi,ye]),we=c(()=>{const i=Qi.current,e=Zi.current;Hi&&i&&e&&(i.pause(),window.clearInterval(e),Vi(!0))},[Hi]),ke=c(()=>{const i=Qi.current;Hi&&i&&(i.resume(),Zi.current=window.setInterval(()=>{Ji(i=>(null!=i?i:0)+.1)},100),Vi(!1))},[Hi,Ji]),De=c(i=>{Ii(zi.filter(e=>e.src!==i.src))},[zi,Ii]),Ce=c(()=>{const i=Si.current;null!==i&&(i.style.height="calc(var(--bothub-scale, 1) * 22px)",i.style.height=`${i.scrollHeight}px`,Ki(`${i.scrollHeight}px`))},[Oi,hi]);d(()=>{Ce()},[Ce]),d(()=>{const i=Si.current;if(!i||ri)return;const e=!ri&&hi;Ni(e),e?i.focus():document.activeElement===i&&i.blur()},[ri,hi]),d(()=>{const i=Si.current;if(null!==i)return i.addEventListener("keydown",ge),()=>{i.removeEventListener("keydown",ge)}},[ge]),d(()=>{qi&&ti&&qi(ti)},[ti]),d(()=>{null==wi||wi(zi)},[zi]),d(()=>{const i=Qi.current,o=i=>{i.data.size>0&&Yi.current.push(i.data)},s=()=>e(void 0,void 0,void 0,function*(){const i=new Blob(Yi.current,{type:Q()}),{waveData:e,duration:o}=yield Z(i),s={src:URL.createObjectURL(i),duration:o,blob:i,waveData:e};Ii([...zi,s]),Qi.current=null,Xi.current=null,Yi.current=[],Zi.current=null,Wi(!1),Ji(null)});return i&&(i.addEventListener("dataavailable",o),i.addEventListener("stop",s)),()=>{i&&(i.removeEventListener("dataavailable",o),i.removeEventListener("stop",s)),ye()}},[Qi.current]),a(ee,()=>{te(!1)});const $e=m(ne,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:150,ease:"easeOut"}});return o(p,{$active:Bi,$dragActive:Mi,$disabled:ri,$textAreaDisabled:di,$voiceRecording:Hi,className:oi,onClick:he,onDragEnter:()=>Gi(!0),onDragLeave:()=>Gi(!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 pe([...i.dataTransfer.files]),Gi(!1),!1}),children:s(l,{children:[s(j,{children:[Hi&&null!==_i&&s(x,{children:[o(u,{}),o(g,{children:W(_i)})]}),Ui.length>0&&o(h,{children:Ui.map(i=>{let e;return e=i.previewUrl&&(i.name.match(/.png$/i)||i.name.match(/.jpg$/i)||i.name.match(/.jpeg$/i))?o(z,{src:i.previewUrl}):i.name.match(/.txt$/i)?o(R,{}):i.name.match(/.docx$/i)?o(V,{}):i.name.match(/.xlsx$/i)?o(B,{}):i.name.match(/.pdf$/i)?o(I,{}):o(J,{}),e=o(N,{size:18,children:e}),o(b,{start:e,onDelete:xe.bind(null,i),children:i.name.length>20?`...${i.name.slice(-20)}`:i.name},i.name)})}),zi.length>1&&o(f,{children:li}),zi.length>0&&o(y,{children:zi.map(i=>s(v,{children:[o(Y,{variant:"input",height:24,src:i.src,duration:i.duration,waveData:i.waveData,disableTranscription:!0}),o(w,{onClick:De.bind(null,i)})]},i.src))}),(!di||di&&si&&Ui.length!==ji||di&&Oi)&&o(k,Object.assign({$disabled:ri},Ei,{ref:Si,value:Oi,placeholder:si,disabled:ri||di,style:Object.assign(Object.assign({},Ei.style),{height:Li}),onFocus:de,onBlur:me,onChange:ae,onPaste:le}))]}),s(D,{children:[s(C,{children:[!xi&&!Hi&&s($,{onClick:be,children:[o(A,{type:"file",accept:gi,multiple:!0,disabled:Ui.length>=ji||ri||ui,onChange:je},Ui.length),o(F,{disabled:Ui.length>=ji||ri||ui})]}),Fi]}),s(C,{children:[!!ai&&!!pi&&s(E,{ref:ee,children:[o(T,{startIcon:o(X,{fill:Ti.bright?Ti.colors.custom.icon:Ti.colors.grayScale.gray3}),onClick:i=>{i.stopPropagation(),te(!ne)},disabled:ri}),$e((i,e)=>e&&s(S,{style:i,children:[o(L,{active:!oe,onClick:re,children:ai}),o(L,{active:oe,onClick:ce,children:pi})]},"alternative-key-modal"))]}),Hi&&o(n,{children:Ri?o(K,{onClick:ke}):o(O,{onClick:we})}),bi&&o(P,{$isRecording:Hi,disabled:ri||ci,onClick:Hi?ve:fe,"data-test":"submit-message"}),o(U,{disabled:ri||ci||Hi,onClick:ue,"data-test":"submit-message",children:o(q,Object.assign({},Ti.bright&&{fill:Ti.default.colors.base.white}))})]})]})]})})};export{ei as InputMessage};
|
package/dist/icons/send/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as i}from"tslib";import{jsx as
|
|
1
|
+
import{__rest as i}from"tslib";import{jsx as n,jsxs as o,Fragment as r}from"react/jsx-runtime";import{Icon as t}from"../../components/icon/index.js";import{icon as e}from"../../components/icon/component.js";import{IconConsumer as l}from"../../components/icon/context.js";const c=e(e=>{var c=i(e,[]);return n(t,Object.assign({size:18,viewBox:"0 0 18 19",fill:"none"},c,{children:n(l,{children:({fill:i="#fff"}={fill:"#fff"})=>o(r,{children:[n("g",{clipPath:"url(#clip0_338_11089)",children:n("path",{d:"M16.9161 3.6004C17.3086 2.65022 16.2564 1.72946 15.1705 2.07375L1.8994 6.27362C0.80991 6.6187 0.678153 7.91954 1.68041 8.42762L5.91663 10.5737L9.69942 7.26355C9.87079 7.11871 10.1003 7.03857 10.3386 7.04038C10.5768 7.04219 10.8047 7.12582 10.9732 7.27324C11.1417 7.42066 11.2372 7.62009 11.2393 7.82857C11.2414 8.03705 11.1498 8.2379 10.9843 8.38787L7.20149 11.698L9.65489 15.4049C10.2346 16.2819 11.7212 16.1658 12.1156 15.2133L16.9161 3.6004Z",fill:i})}),n("defs",{children:n("clipPath",{id:"clip0_338_11089",children:n("rect",{width:"18",height:"18",fill:i,transform:"translate(0 0.5)"})})})]})})}))});export{c as SendIcon};
|