@bothub-chat/ui 2.51.1-fix-selectfield-email-render-985ad749-fb47-4cd6-98dd-d4808f6aa7a3 → 2.51.2

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/README.md CHANGED
@@ -1,24 +1,24 @@
1
- <p align="center">
2
- <img src="https://bothub.chat/icon-144x144.png" />
3
- </p>
4
- <h1 align="center">Bothub Chat</h1>
5
- <p align="center">UI Components from Bothub.</p>
6
- <p align="center">
7
- <a href="https://bothub-docs.vercel.app/">Documentation</a>
8
- </p>
9
-
10
- <h2>Installing</h2>
11
- <p>Preliminary requirements:</p>
12
- <ul>
13
- <li><a href="https://nodejs.org/">Node.js</a> >= <code>18.12.1</code></li>
14
- <li><a href="https://www.npmjs.com/">npm</a> >= <code>9.1.2</code></li>
15
- <li><a href="https://yarnpkg.com/">yarn</a> >= <code>1.22.19</code></li>
16
- </ul>
17
- <p>Installing peer dependencies:</p>
18
- <pre>yarn add framer-motion@10.16.3 react@18.2.0 react-dom@18.2.0 styled-components@6.0.7 react-helmet@6.1.0 normalize.css@8.0.1 react-slider@2.0.6 react-markdown@8.0.5 highlight.js@11.9.0 react-highlight@0.15.0</pre>
19
- <p>Installing package:</p>
20
- <pre>yarn add @bothub-chat/ui</pre>
21
-
22
-
23
- <h2>License</h2>
1
+ <p align="center">
2
+ <img src="https://bothub.chat/icon-144x144.png" />
3
+ </p>
4
+ <h1 align="center">Bothub Chat</h1>
5
+ <p align="center">UI Components from Bothub.</p>
6
+ <p align="center">
7
+ <a href="https://bothub-docs.vercel.app/">Documentation</a>
8
+ </p>
9
+
10
+ <h2>Installing</h2>
11
+ <p>Preliminary requirements:</p>
12
+ <ul>
13
+ <li><a href="https://nodejs.org/">Node.js</a> >= <code>18.12.1</code></li>
14
+ <li><a href="https://www.npmjs.com/">npm</a> >= <code>9.1.2</code></li>
15
+ <li><a href="https://yarnpkg.com/">yarn</a> >= <code>1.22.19</code></li>
16
+ </ul>
17
+ <p>Installing peer dependencies:</p>
18
+ <pre>yarn add framer-motion@10.16.3 react@18.2.0 react-dom@18.2.0 styled-components@6.0.7 react-helmet@6.1.0 normalize.css@8.0.1 react-slider@2.0.6 react-markdown@8.0.5 highlight.js@11.9.0 react-highlight@0.15.0</pre>
19
+ <p>Installing package:</p>
20
+ <pre>yarn add @bothub-chat/ui</pre>
21
+
22
+
23
+ <h2>License</h2>
24
24
  <p><a href="https://github.com/matbea-dev/bothub/blob/main/LICENSE">MIT</a></p>
@@ -1 +1 @@
1
- import{__rest as i,__awaiter as e}from"tslib";import{jsx as o,jsxs as s,Fragment as n}from"react/jsx-runtime";import{useRef as t,useState as r,useCallback as c,useEffect as d}from"react";import{useTransition as m}from"@react-spring/web";import{useOnClickOutside as a}from"../../utils/useOnClickOutside.js";import{InputMessageStyled as p,InputMessageContent as l,InputMessageConfigure as j,InputMessageConfigureButton as x,InputMessageConfigureMenu as u,InputMessageUploadFile as g,InputMessageUploadFileLabel as h,InputMessageUploadFileInput as b,InputMessageMenuHr as y,InputMessageMenuOption as f,InputMessageMain as v,InputMessageVoiceRecord as w,InputMessageVoiceRecordDot as k,InputMessageVoiceRecordTimeText as C,InputMessageFiles as D,InputMessageFile as F,InputMessageConcatenateWarning as $,InputMessageVoiceFiles as T,InputMessageVoiceTrack as A,InputMessageVoiceFileDelete as E,InputMessageTextArea as O,InputMessageButtons as S,InputMessageToggleSendStyled as L,InputMessageToggleSendButton as K,InputMessageToggleSendModalStyled as P,InputMessageToggleSendModalOption as U,InputMessageVoicePlayButton as z,InputMessageVoicePauseButton as q,InputMessageVoiceButton as R,InputMessageSendButton as V,InputMessageSendIcon as I}from"./styled.js";import{ChipImage as B}from"../chip/styled.js";import"react-markdown";import"react-dom";import"../portal/styled.js";import"../tooltip/styled.js";import"../tooltip/arrow/styled.js";import"../../theme/index.js";import"../tooltip/context.js";import{PdfIcon as N}from"../../icons/pdf/index.js";import{TxtIcon as M}from"../../icons/txt/index.js";import{WordIcon as G}from"../../icons/word/index.js";import{XlsIcon as H}from"../../icons/xls/index.js";import{IconProvider as W}from"../icon/context.js";import"../icon/styled.js";import{Typography as _}from"../typography/index.js";import{getPreviewUrlForFile as J,isFileTypeAccepted as Q,formatUploadFiles as X,formatSeconds as Y,isMobileDevice as Z}from"./utils.js";import{AttachFileIcon as ii}from"../../icons/attach-file/index.js";import{getSupportedAudioMimeType as ei}from"../../utils/getSupportedAudioMimeType.js";import"marked";import"../message/styled.js";import"../skeleton/index.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import"../message/context.js";import"styled-components";import"../message/components/code/inline/styled.js";import"../message/components/code/multiline/styled.js";import"../message/components/code/multiline/copy/styled.js";import"../../icons/check-small/index.js";import"../../icons/copy/index.js";import"../message/components/code/multiline/content/styled.js";import"../message/components/paragraph/styled.js";import"../message/components/bold/styled.js";import"../message/components/italic/styled.js";import"../message/components/pre/styled.js";import"../message/components/table/styled.js";import"../message/components/table/cell/styled.js";import"../message/components/list/styled.js";import"../message/components/list/context.js";import"../message/components/list/item/styled.js";import"../message/components/title/styled.js";import"../message/components/link/styled.js";import"../message/components/image/styled.js";import"../message/components/image/context.js";import"../message/components/image/grid/styled.js";import"../message/components/image/button/styled.js";import"../message/components/image/button/list/styled.js";import"../message/markdown/styled.js";import"../scrollbar/styled.js";import"../scrollbar/shadow/styled.js";import"../scrollbar/style/styled.js";import"../message/timestamp/styled.js";import"../../icons/menu-dot/index.js";import"../../icons/update/index.js";import"../../icons/resend/index.js";import"../../icons/edit/index.js";import"../../icons/trash/index.js";import"../../icons/thumb-down/index.js";import"../../icons/close/index.js";import"../../icons/download-img/index.js";import"../message/actions/styled.js";import"../message/actions/copy-button/styled.js";import"../message/list/styled.js";import"../message/scroll-button/styled.js";import"../../icons/arrow-down/index.js";import"../../icons/arrow-narrow-left/index.js";import"../../icons/arrow-narrow-right/index.js";import"../../icons/arrow-up/index.js";import"../../icons/bitcoin/index.js";import"../../icons/bot-circle/index.js";import"../../icons/bothub-agg/index.js";import"../../icons/business-colored/index.js";import"../../icons/check-circle/index.js";import"../../icons/email-circle/index.js";import"../../icons/language/index.js";import"../../icons/lock-circle/index.js";import"../../icons/menu/index.js";import"../../icons/medium-circle/index.js";import"../../icons/tg-circle/index.js";import"../../icons/tg-colored/index.js";import"../../icons/youcassa/index.js";import"../../icons/dashboard/index.js";import"../../icons/user-profile/index.js";import"../../icons/logout/index.js";import"../../icons/habr-2/index.js";import"../../icons/arrow-2-down/index.js";import"../../icons/links/index.js";import"../../icons/free/index.js";import"../../icons/hotness/index.js";import"../../icons/checked/index.js";import"../../icons/ai/index.js";import"../../icons/bookmarks/index.js";import"../../icons/bookmarks-big/index.js";import"../../icons/chat/index.js";import"../../icons/chats/index.js";import"../../icons/coder/index.js";import"../../icons/presets-big/index.js";import"../../icons/referal/index.js";import"../../icons/restore/index.js";import"../../icons/tariff/index.js";import{Plus2Icon as oi}from"../../icons/plus-2/index.js";import"../../icons/plus-1/index.js";import"../../icons/send/index.js";import"../../icons/settings/index.js";import"../../icons/habr/index.js";import"../../icons/stop/index.js";import"../../icons/thumb-up/index.js";import"../../icons/star/index.js";import"../../icons/info-big/index.js";import"../../icons/warning-big/index.js";import"../../icons/error-big/index.js";import"../../icons/success-big/index.js";import"../../icons/mj/index.js";import"../../icons/card/index.js";import"../../icons/arrow-narrow-up/index.js";import"../../icons/arrow-narrow-down/index.js";import"../../icons/filters/index.js";import"../../icons/info/index.js";import"../../icons/search-circle/index.js";import"../../icons/save/index.js";import"../../icons/light/index.js";import"../../icons/dark/index.js";import"../../icons/email-colored/index.js";import"../../icons/action-chat/index.js";import{AttachIcon as si}from"../../icons/attach/index.js";import"../../icons/avatar-add/index.js";import"../../icons/brush/index.js";import"../../icons/calendar/index.js";import"../../icons/claude/index.js";import"../../icons/cookie/index.js";import"../../icons/dalle/index.js";import"../../icons/error/index.js";import"../../icons/expand/index.js";import"../../icons/eye/index.js";import"../../icons/face/index.js";import"../../icons/gear/index.js";import"../../icons/gear-min/index.js";import"../../icons/generation/index.js";import"../../icons/gpt-3_5/index.js";import"../../icons/gpt-4/index.js";import"../../icons/imagine/index.js";import"../../icons/imagine-2/index.js";import"../../icons/loader/index.js";import"../../icons/loader-circular/index.js";import"../../icons/loader-circular-gradient/index.js";import"../../icons/loader-circular-gradient-2/index.js";import"../../icons/minus/index.js";import"../../icons/mj-white/index.js";import"../../icons/prompt/index.js";import"../../icons/rabbit/index.js";import"../../icons/ratio-1x1/index.js";import"../../icons/ratio-2x3/index.js";import"../../icons/ratio-3x2/index.js";import"../../icons/ratio-4x5/index.js";import"../../icons/ratio-4x7/index.js";import"../../icons/ratio-5x4/index.js";import"../../icons/ratio-7x4/index.js";import"../../icons/ratio-16x9/index.js";import"../../icons/ratio-9x16/index.js";import"../../icons/ratio-21x9/index.js";import"../../icons/ratio-9x21/index.js";import"../../icons/refferal-min/index.js";import"../../icons/search-data/index.js";import"../../icons/square/index.js";import"../../icons/turtle/index.js";import"../../icons/upscale/index.js";import"../../icons/withdraw/index.js";import"../../icons/search-plus/index.js";import"../../icons/lightning/index.js";import"../../icons/blog-circle/index.js";import"../../icons/stripe/index.js";import"../../icons/corporate/index.js";import"../../icons/public/index.js";import"../../icons/private/index.js";import"../../icons/mistral/index.js";import"../../icons/gemini/index.js";import"../../icons/search-simple/index.js";import"../../icons/sad-robot/index.js";import"../../icons/model/index.js";import"../../icons/phone-colored/index.js";import"../../icons/questions/index.js";import"../../icons/pdf-big/index.js";import"../../icons/xls-big/index.js";import"../../icons/word-big/index.js";import"../../icons/txt-big/index.js";import"../../icons/bothub-logo-gradient/index.js";import"../../icons/telegram-logo-gradient/index.js";import"../../icons/decline-circle/index.js";import"../../icons/simple-gear-bg/index.js";import"../../icons/advanced-filter/index.js";import"../../icons/big-corporate/index.js";import"../../icons/big-mj/index.js";import"../../icons/big-models/index.js";import"../../icons/big-stats/index.js";import"../../icons/big-success/index.js";import"../../icons/big-users/index.js";import"../../icons/optional-presets/index.js";import"../../icons/wallet-withdraw/index.js";import"../../icons/big-presets/index.js";import"../../icons/big-favorite/index.js";import"../../icons/big-referal/index.js";import"../../icons/attach-file-big/index.js";import"../../icons/voice/index.js";import"../../icons/play-button/index.js";import"../../icons/pause-button/index.js";import"../../icons/text-read/index.js";import"../../icons/text-hide/index.js";import"../../icons/best-chat-bots/index.js";import"../../icons/upload/index.js";import"../../icons/enter/index.js";import"../../icons/discord/index.js";import"../../icons/discord-circle/index.js";import"../../icons/black-forest-labs/index.js";import"../../icons/flux/index.js";import"../../icons/stable-diffusion/index.js";import"../../icons/stability-ai/index.js";import"../../icons/article-generator/index.js";import"../../icons/success/index.js";import"../../icons/google/index.js";import"../../icons/yandex/index.js";import"../../icons/vk/index.js";import"../../icons/big-article/index.js";import"../../icons/add-chat/index.js";import"../../icons/add-group/index.js";import"../../icons/drag-dot/index.js";import"../../icons/add-folder/index.js";import"../../icons/temp-chat/index.js";import"../../icons/delete-chat/index.js";import"../../icons/sidebar-chat/index.js";import"../../icons/organization/index.js";import"../../icons/simple-gear/index.js";import"../../icons/text-bold/index.js";import"../../icons/text-italic/index.js";import"../../icons/text-underline/index.js";import"../../icons/text-strikethrough/index.js";import"../../icons/refresh/index.js";import"../../icons/copy-variants/index.js";import"../../icons/sort-ascending/index.js";import"../../icons/sort-descending/index.js";import"../../icons/quote/index.js";import"../../icons/url-circle/index.js";import"../../icons/show-ui/index.js";import"../../icons/hide-ui/index.js";import"../../icons/sort-user/index.js";import"../../icons/happy-robot/index.js";import"../../icons/happy-robot-gradient/index.js";import"../../icons/min-window/index.js";import"../../icons/max-window/index.js";import"../../icons/manage-chat/index.js";import"../../icons/analyze-urls/index.js";import"../../icons/web-search/index.js";import"../../icons/include-context/index.js";import"../../icons/queue/index.js";import"../../icons/sort-alphabet-ascending/index.js";import"../../icons/sort-alphabet-descending/index.js";import"../../icons/sort-date-ascending/index.js";import"../../icons/sort-date-descending/index.js";import"../../icons/cot-r1/index.js";import"../../icons/news/index.js";import"../../icons/volume/index.js";import"../../icons/flag-ru/index.js";import"../../icons/flag-kz/index.js";import"../../icons/print/index.js";import"../../icons/pc-icon-1/index.js";import"../../icons/pc-icon-2/index.js";import"../../icons/pc-icon-3/index.js";import"../../icons/star-unfilled/index.js";import"../../icons/image-generation/index.js";import"../../icons/speech-synthesys/index.js";import"../../icons/transcription/index.js";import"../../icons/text-rewrite/index.js";import"../../icons/code-generation/index.js";import"../../icons/essay-generation/index.js";import"../../icons/spelling/index.js";import"../../icons/text-generation/index.js";import"../../icons/traffic-analisys/index.js";import"../../icons/fav-profile/index.js";import"../../icons/exclamation/index.js";import"../../icons/article/index.js";import"../../icons/setchel/index.js";import"../../icons/assembly/index.js";import"../../icons/data-visualisation/index.js";import"../../icons/document-analisys/index.js";import"../../icons/problem-solvment/index.js";import"../../icons/setting-analisys/index.js";import"../../icons/translation/index.js";import"../../icons/stars/index.js";import"../../icons/academy/index.js";import"../../icons/articles/index.js";import"../../icons/blog-post/index.js";import"../../icons/book/index.js";import"../../icons/bow-tie/index.js";import"../../icons/case-study/index.js";import"../../icons/comments/index.js";import"../../icons/guide/index.js";import"../../icons/marketing/index.js";import"../../icons/post/index.js";import"../../icons/report/index.js";import"../../icons/review/index.js";import"../../icons/scientific-article/index.js";import"../../icons/selling-text/index.js";import"../../icons/textbook/index.js";import"../../icons/wind/index.js";import"../../icons/grok/index.js";import"../../icons/deepseek/index.js";import"../../icons/grid-horizontal/index.js";import"../../icons/grid-vertical/index.js";import"../../icons/star-gradient/index.js";import"../../icons/qwen/index.js";import"../../icons/sidebar-toggle-left/index.js";import"../../icons/sidebar-toggle-right/index.js";import"../../icons/system/index.js";import"../../icons/selector/index.js";import"../../icons/video-camera/index.js";import"../../icons/music-note/index.js";import"../../icons/add-profile/index.js";import"../../icons/token-counter/index.js";import"../../icons/customer-support/index.js";import"../../icons/sort-alphabet-top-bottom/index.js";import"../../icons/sort-alphabet-bottom-top/index.js";import"../../icons/pause/index.js";import"../../icons/play/index.js";import"../../icons/restore-2/index.js";import"../../icons/video-generation/index.js";import"../../icons/veo-model/index.js";import"../../icons/runway/index.js";import"../../icons/queue-select/index.js";import"../../icons/apple/index.js";import"../../icons/mail-colored/index.js";import"../../icons/shield/index.js";import"../../icons/stars-gradient/index.js";import"../../icons/fire/index.js";import"../../icons/brain/index.js";import"../../icons/mj-purple/index.js";import"../../icons/claude-black/index.js";import"../../icons/vk-filled/index.js";import"../../icons/tg/index.js";import"../../icons/gift/index.js";import"../../icons/exchange/index.js";import"../../icons/time/index.js";import"../../icons/history/index.js";import"../../icons/money-plus/index.js";import"../../icons/money-stack/index.js";import"../../icons/sort-numeric-bottom/index.js";import"../../icons/sort-numeric-top/index.js";import"../message/versions/styled.js";import"../message/copy/styled.js";import"../message/badge-progress/styled.js";import"../message/button/styled.js";import"../message/button/list/styled.js";import"../message/file/styled.js";import{MessageVoice as ni}from"../message/voice/index.js";import"../message/reasoning-block/styled.js";import"../message/search-results/styled.js";import"../message/video/styled.js";import{getWaveData as ti}from"../../utils/audio/getWaveData.js";import{useTheme as ri}from"../../theme/hook.js";const ci=ci=>{var{className:di,placeholder:mi,message:ai,files:pi,disabled:li=!1,sendDisabled:ji=!1,textAreaDisabled:xi=!1,useAlternativeKeyDefaultValue:ui=!1,defaultKeySendText:gi,alternativeKeySendText:hi,concatenateText:bi,uploadFileLimit:yi=5,hideUploadFile:fi=!1,uploadFileDisabled:vi=!1,uploadFileAccept:wi,uploadFileText:ki,autoFocus:Ci=!0,voice:Di=!1,onSetAlternativeKeyValue:Fi,onChange:$i,onFilesChange:Ti,onVoiceFilesChange:Ai,onTextAreaChange:Ei,onSend:Oi,onFocus:Si,onBlur:Li,emitError:Ki,actions:Pi,configureOptions:Ui}=ci,zi=i(ci,["className","placeholder","message","files","disabled","sendDisabled","textAreaDisabled","useAlternativeKeyDefaultValue","defaultKeySendText","alternativeKeySendText","concatenateText","uploadFileLimit","hideUploadFile","uploadFileDisabled","uploadFileAccept","uploadFileText","autoFocus","voice","onSetAlternativeKeyValue","onChange","onFilesChange","onVoiceFilesChange","onTextAreaChange","onSend","onFocus","onBlur","emitError","actions","configureOptions"]);const qi=ri(),Ri=t(null),[Vi,Ii]=r("calc(var(--bothub-scale, 1) * 22px)"),[Bi,Ni]="string"==typeof ai?[ai,$i]:r(""),[Mi,Gi]=Array.isArray(pi)?[pi,Ti]:r([]),[Hi,Wi]=r([]),[_i,Ji]=r(!1),[Qi,Xi]=r(!li&&Ci),[Yi,Zi]=r(!1),[ie,ee]=r(!1),[oe,se]=r(null),ne=t(null),te=t(null),re=t([]),ce=t(null),de=t(!1),me=t(null),[ae,pe]=r(ui),[le,je]=r(!1),xe=t(null),[ue,ge]=r(!1),he=c(()=>{pe(!1),null==Fi||Fi(!1),je(!1)},[]),be=c(()=>{pe(!0),null==Fi||Fi(!0),je(!1)},[]),ye=c(i=>{Xi(!0),null==Si||Si(i)},[Si]),fe=c(i=>{Xi(!1),null==Li||Li(i)},[Li]),ve=c(i=>{null==Ni||Ni(i.target.value),null==Ei||Ei(i)},[Ni,Ei]),we=c(i=>e(void 0,void 0,void 0,function*(){if(!i.length)return;const e=[],o=[],s=yield Promise.all(null==i?void 0:i.map(J));for(const[n,t]of i.entries()){Q(t.type,wi)?e.push({previewUrl:s[n],name:t.name,native:t}):o.push(t)}o.length>0&&(null==Ki||Ki({name:"WRONG_FILES",payload:o})),(null==e?void 0:e.length)>0&&(null==Gi||Gi([...Mi,...e].slice(0,yi)))}),[wi,Ki,yi,Mi]),ke=c(i=>e(void 0,void 0,void 0,function*(){!vi&&i.clipboardData.files.length>0&&(i.preventDefault(),yield we([...i.clipboardData.files]))}),[we,vi]),Ce=c(i=>e(void 0,void 0,void 0,function*(){if(!Gi||!i.target.files)return;const e=yield X([...Mi.map(({native:i})=>i),...i.target.files]);Gi(e.slice(0,yi)),ge(!1)}),[Mi,Gi,yi]),De=c(i=>{null==Gi||Gi(Mi.filter(({name:e})=>e!==i.name))},[Gi,Mi]),Fe=c(i=>{i.stopPropagation(),null==Oi||Oi(Bi,Mi),null==Ni||Ni(""),null==Gi||Gi([]),null==Wi||Wi([]),Ii("calc(var(--bothub-scale, 1) * 22px)")},[Bi,Mi,Oi,Ni,Gi,Wi]),$e=c(i=>{i.stopPropagation();if(Z()&&"Enter"===i.key)return;const e=ae?"enter":"ctrl/shift+enter";let o="";if("Enter"===i.key&&(i.shiftKey||i.ctrlKey))o="ctrl/shift+enter";else{if("Enter"!==i.key)return;o="enter"}if(Qi&&"Enter"===i.key){if(o===e&&i.ctrlKey){i.preventDefault();const e=Ri.current;if(!e)return;const o=e.value,t=e.selectionStart,r=o.slice(0,t),c=o.slice(t);null==Ni||Ni(`${r}\n${c}`),s=e,n=t+1,setTimeout(()=>{s.selectionStart=n,s.selectionEnd=n},1)}e!==o&&""!==o&&(i.preventDefault(),null==Oi||Oi(Bi,Mi),Ii("calc(var(--bothub-scale, 1) * 22px)"))}var s,n},[Qi,Bi,Mi,Oi,Ni,Gi]),Te=c(()=>{var i;li||null===(i=Ri.current)||void 0===i||i.focus()},[li,Ci]),Ae=c(i=>{i.stopPropagation()},[]),Ee=c(i=>e(void 0,void 0,void 0,function*(){if(ie)return;de.current=!0,i.stopPropagation();const e=yield navigator.mediaDevices.getUserMedia({audio:!0}),o=new MediaRecorder(e,{mimeType:ei()});de.current&&(o.start(1e3),ne.current=o,te.current=e,ce.current=window.setInterval(()=>{se(i=>(null!=i?i:0)+.1)},100),ee(!0),se(0),Ji(!1))}),[de.current,re.current,ie]),Oe=c(()=>{const i=ne.current,e=te.current,o=ce.current;if(ie&&i&&e&&o){i.stop();for(const i of e.getTracks())i.stop();window.clearInterval(o)}},[ie,ne.current,te.current,ce.current]),Se=c(()=>e(void 0,void 0,void 0,function*(){de.current=!1,ie&&Oe()}),[ie,Oe]),Le=c(()=>{const i=ne.current,e=ce.current;ie&&i&&e&&(i.pause(),window.clearInterval(e),Ji(!0))},[ie]),Ke=c(()=>{const i=ne.current;ie&&i&&(i.resume(),ce.current=window.setInterval(()=>{se(i=>(null!=i?i:0)+.1)},100),Ji(!1))},[ie,se]),Pe=c(i=>{Wi(Hi.filter(e=>e.src!==i.src))},[Hi,Wi]),Ue=c(()=>{const i=Ri.current;null!==i&&(i.style.height="calc(var(--bothub-scale, 1) * 22px)",i.style.height=`${i.scrollHeight}px`,Ii(`${i.scrollHeight}px`))},[Bi,Ci]);d(()=>{Ue()},[Ue]),d(()=>{const i=Ri.current;if(!i||li)return;const e=!li&&Ci;Xi(e),e?i.focus():document.activeElement===i&&i.blur()},[li,Ci]),d(()=>{const i=Ri.current;if(null!==i)return i.addEventListener("keydown",$e),()=>{i.removeEventListener("keydown",$e)}},[$e]),d(()=>{Gi&&pi&&Gi(pi)},[pi]),d(()=>{null==Ai||Ai(Hi)},[Hi]),d(()=>{const i=ne.current,o=i=>{i.data.size>0&&re.current.push(i.data)},s=()=>e(void 0,void 0,void 0,function*(){const i=new Blob(re.current,{type:ei()}),{waveData:e,duration:o}=yield ti(i),s={src:URL.createObjectURL(i),duration:o,blob:i,waveData:e};Wi([...Hi,s]),ne.current=null,te.current=null,re.current=[],ce.current=null,ee(!1),se(null)});return i&&(i.addEventListener("dataavailable",o),i.addEventListener("stop",s)),()=>{i&&(i.removeEventListener("dataavailable",o),i.removeEventListener("stop",s)),Oe()}},[ne.current]),a(me,()=>{je(!1)}),a(xe,()=>{ge(!1)});const ze=m(!li&&le,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:100,ease:"easeOut"}}),qe=m(!li&&ue,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:100,ease:"easeOut"}});return o(p,{$active:Qi,$dragActive:Yi,$disabled:li,$textAreaDisabled:xi,$voiceRecording:ie,className:di,onClick:Te,onDragEnter:()=>Zi(!0),onDragLeave:()=>Zi(!1),onDragOver:i=>(i.stopPropagation(),i.preventDefault(),!1),onDrop:i=>e(void 0,void 0,void 0,function*(){if(i.dataTransfer.files.length>0)return i.stopPropagation(),i.preventDefault(),yield we([...i.dataTransfer.files]),Zi(!1),!1}),children:s(l,{children:[(!fi||!!Ui)&&s(j,{ref:xe,children:[o(x,{$disabled:li,onClick:i=>{i.stopPropagation(),ge(!ue)},children:o(oi,{fill:qi.colors.base.white})}),qe((e,n)=>n&&s(u,{style:e,children:[s(g,{children:[s(h,{$disabled:Mi.length>=yi||li||vi,onClick:Ae,children:[o(si,{size:18}),o(_,{variant:"body-m-medium",children:ki})]}),o(b,{type:"file",accept:wi,multiple:!0,disabled:Mi.length>=yi||li||vi,onChange:Ce},Mi.length)]}),!!Ui&&o(y,{}),null==Ui?void 0:Ui.map(e=>{var{onClick:s}=e,n=i(e,["onClick"]);return o(f,Object.assign({},n,{onClick:()=>{null==s||s(),ge(!1)}}))})]})),Pi]}),s(v,{onClick:Te,children:[ie&&null!==oe&&s(w,{children:[o(k,{}),o(C,{children:Y(oe)})]}),Mi.length>0&&o(D,{children:Mi.map(i=>{let e;return e=i.previewUrl&&(i.name.match(/.png$/i)||i.name.match(/.jpg$/i)||i.name.match(/.jpeg$/i))?o(B,{src:i.previewUrl}):i.name.match(/.txt$/i)?o(M,{}):i.name.match(/.docx$/i)?o(G,{}):i.name.match(/.xlsx$/i)?o(H,{}):i.name.match(/.pdf$/i)?o(N,{}):o(ii,{}),e=o(W,{size:18,children:e}),o(F,{start:e,onDelete:De.bind(null,i),children:i.name.length>20?`...${i.name.slice(-20)}`:i.name},i.name)})}),Hi.length>1&&o($,{children:bi}),Hi.length>0&&o(T,{children:Hi.map(i=>s(A,{children:[o(ni,{variant:"input",height:24,src:i.src,duration:i.duration,waveData:i.waveData,disableTranscription:!0}),o(E,{onClick:Pe.bind(null,i)})]},i.src))}),(!xi||xi&&mi&&Mi.length!==yi||xi&&Bi)&&o(O,Object.assign({$disabled:li},zi,{ref:Ri,value:Bi,placeholder:mi,disabled:li||xi,style:Object.assign(Object.assign({},zi.style),{height:Vi}),onFocus:ye,onBlur:fe,onChange:ve,onPaste:ke}))]}),s(S,{children:[!!gi&&!!hi&&s(L,{ref:me,children:[o(K,{onClick:i=>{i.stopPropagation(),je(!le)},disabled:li}),ze((i,e)=>e&&s(P,{style:i,children:[o(U,{active:!ae,onClick:he,children:gi}),o(U,{active:ae,onClick:be,children:hi})]},"alternative-key-modal"))]}),ie&&o(n,{children:_i?o(z,{onClick:Ke}):o(q,{onClick:Le})}),Di&&o(R,{$isRecording:ie,disabled:li||ji,onClick:ie?Se:Ee,"data-test":"submit-message"}),o(V,Object.assign({disabled:li||ji||ie,onClick:Fe},qi.bright&&{iconFill:qi.default.colors.base.black},{"data-test":"submit-message",children:o(I,{})}))]})]})})};export{ci as InputMessage};
1
+ import{__rest as i,__awaiter as e}from"tslib";import{jsx as o,jsxs as s,Fragment as n}from"react/jsx-runtime";import{useRef as t,useState as r,useCallback as c,useEffect as d}from"react";import{useTransition as m}from"@react-spring/web";import{useOnClickOutside as a}from"../../utils/useOnClickOutside.js";import{InputMessageStyled as p,InputMessageContent as l,InputMessageConfigure as j,InputMessageConfigureButton as x,InputMessageConfigureMenu as u,InputMessageUploadFile as g,InputMessageUploadFileLabel as h,InputMessageUploadFileInput as b,InputMessageMenuHr as y,InputMessageMenuOption as f,InputMessageMain as v,InputMessageVoiceRecord as w,InputMessageVoiceRecordDot as k,InputMessageVoiceRecordTimeText as C,InputMessageFiles as D,InputMessageFile as F,InputMessageConcatenateWarning as $,InputMessageVoiceFiles as T,InputMessageVoiceTrack as A,InputMessageVoiceFileDelete as E,InputMessageTextArea as O,InputMessageButtons as S,InputMessageToggleSendStyled as L,InputMessageToggleSendButton as K,InputMessageToggleSendModalStyled as P,InputMessageToggleSendModalOption as U,InputMessageVoicePlayButton as z,InputMessageVoicePauseButton as q,InputMessageVoiceButton as R,InputMessageSendButton as V,InputMessageSendIcon as I}from"./styled.js";import{ChipImage as B}from"../chip/styled.js";import"react-markdown";import"react-dom";import"../portal/styled.js";import"../tooltip/styled.js";import"../tooltip/arrow/styled.js";import"../../theme/index.js";import"../tooltip/context.js";import{PdfIcon as N}from"../../icons/pdf/index.js";import{TxtIcon as M}from"../../icons/txt/index.js";import{WordIcon as G}from"../../icons/word/index.js";import{XlsIcon as H}from"../../icons/xls/index.js";import{IconProvider as W}from"../icon/context.js";import"../icon/styled.js";import{Typography as _}from"../typography/index.js";import{getPreviewUrlForFile as J,isFileTypeAccepted as Q,formatUploadFiles as X,formatSeconds as Y,isMobileDevice as Z}from"./utils.js";import{AttachFileIcon as ii}from"../../icons/attach-file/index.js";import{getSupportedAudioMimeType as ei}from"../../utils/getSupportedAudioMimeType.js";import"marked";import"../message/styled.js";import"../skeleton/index.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import"../message/context.js";import"styled-components";import"../message/components/code/inline/styled.js";import"../message/components/code/multiline/styled.js";import"../message/components/code/multiline/copy/styled.js";import"../../icons/check-small/index.js";import"../../icons/copy/index.js";import"../message/components/code/multiline/content/styled.js";import"../message/components/paragraph/styled.js";import"../message/components/bold/styled.js";import"../message/components/italic/styled.js";import"../message/components/pre/styled.js";import"../message/components/table/styled.js";import"../message/components/table/cell/styled.js";import"../message/components/list/styled.js";import"../message/components/list/context.js";import"../message/components/list/item/styled.js";import"../message/components/title/styled.js";import"../message/components/link/styled.js";import"../message/components/image/styled.js";import"../message/components/image/context.js";import"../message/components/image/grid/styled.js";import"../message/components/image/button/styled.js";import"../message/components/image/button/list/styled.js";import"../message/markdown/styled.js";import"../scrollbar/styled.js";import"../scrollbar/shadow/styled.js";import"../scrollbar/style/styled.js";import"../message/timestamp/styled.js";import"../../icons/menu-dot/index.js";import"../../icons/update/index.js";import"../../icons/resend/index.js";import"../../icons/edit/index.js";import"../../icons/trash/index.js";import"../../icons/thumb-down/index.js";import"../../icons/close/index.js";import"../../icons/download-img/index.js";import"../message/actions/styled.js";import"../message/actions/copy-button/styled.js";import"../message/list/styled.js";import"../message/scroll-button/styled.js";import"../../icons/arrow-down/index.js";import"../../icons/arrow-narrow-left/index.js";import"../../icons/arrow-narrow-right/index.js";import"../../icons/arrow-up/index.js";import"../../icons/bitcoin/index.js";import"../../icons/bot-circle/index.js";import"../../icons/bothub-agg/index.js";import"../../icons/business-colored/index.js";import"../../icons/check-circle/index.js";import"../../icons/email-circle/index.js";import"../../icons/language/index.js";import"../../icons/lock-circle/index.js";import"../../icons/menu/index.js";import"../../icons/medium-circle/index.js";import"../../icons/tg-circle/index.js";import"../../icons/tg-colored/index.js";import"../../icons/youcassa/index.js";import"../../icons/dashboard/index.js";import"../../icons/user-profile/index.js";import"../../icons/logout/index.js";import"../../icons/habr-2/index.js";import"../../icons/arrow-2-down/index.js";import"../../icons/links/index.js";import"../../icons/free/index.js";import"../../icons/hotness/index.js";import"../../icons/checked/index.js";import"../../icons/ai/index.js";import"../../icons/bookmarks/index.js";import"../../icons/bookmarks-big/index.js";import"../../icons/chat/index.js";import"../../icons/chats/index.js";import"../../icons/coder/index.js";import"../../icons/presets-big/index.js";import"../../icons/referal/index.js";import"../../icons/restore/index.js";import"../../icons/tariff/index.js";import{Plus2Icon as oi}from"../../icons/plus-2/index.js";import"../../icons/plus-1/index.js";import"../../icons/send/index.js";import"../../icons/settings/index.js";import"../../icons/habr/index.js";import"../../icons/stop/index.js";import"../../icons/thumb-up/index.js";import"../../icons/star/index.js";import"../../icons/info-big/index.js";import"../../icons/warning-big/index.js";import"../../icons/error-big/index.js";import"../../icons/success-big/index.js";import"../../icons/mj/index.js";import"../../icons/card/index.js";import"../../icons/arrow-narrow-up/index.js";import"../../icons/arrow-narrow-down/index.js";import"../../icons/filters/index.js";import"../../icons/info/index.js";import"../../icons/search-circle/index.js";import"../../icons/save/index.js";import"../../icons/light/index.js";import"../../icons/dark/index.js";import"../../icons/email-colored/index.js";import"../../icons/action-chat/index.js";import{AttachIcon as si}from"../../icons/attach/index.js";import"../../icons/avatar-add/index.js";import"../../icons/brush/index.js";import"../../icons/calendar/index.js";import"../../icons/claude/index.js";import"../../icons/cookie/index.js";import"../../icons/dalle/index.js";import"../../icons/error/index.js";import"../../icons/expand/index.js";import"../../icons/eye/index.js";import"../../icons/face/index.js";import"../../icons/gear/index.js";import"../../icons/gear-min/index.js";import"../../icons/generation/index.js";import"../../icons/gpt-3_5/index.js";import"../../icons/gpt-4/index.js";import"../../icons/imagine/index.js";import"../../icons/imagine-2/index.js";import"../../icons/loader/index.js";import"../../icons/loader-circular/index.js";import"../../icons/loader-circular-gradient/index.js";import"../../icons/loader-circular-gradient-2/index.js";import"../../icons/minus/index.js";import"../../icons/mj-white/index.js";import"../../icons/prompt/index.js";import"../../icons/rabbit/index.js";import"../../icons/ratio-1x1/index.js";import"../../icons/ratio-2x3/index.js";import"../../icons/ratio-3x2/index.js";import"../../icons/ratio-4x5/index.js";import"../../icons/ratio-4x7/index.js";import"../../icons/ratio-5x4/index.js";import"../../icons/ratio-7x4/index.js";import"../../icons/ratio-16x9/index.js";import"../../icons/ratio-9x16/index.js";import"../../icons/ratio-21x9/index.js";import"../../icons/ratio-9x21/index.js";import"../../icons/refferal-min/index.js";import"../../icons/search-data/index.js";import"../../icons/square/index.js";import"../../icons/turtle/index.js";import"../../icons/upscale/index.js";import"../../icons/withdraw/index.js";import"../../icons/search-plus/index.js";import"../../icons/lightning/index.js";import"../../icons/blog-circle/index.js";import"../../icons/stripe/index.js";import"../../icons/corporate/index.js";import"../../icons/public/index.js";import"../../icons/private/index.js";import"../../icons/mistral/index.js";import"../../icons/gemini/index.js";import"../../icons/search-simple/index.js";import"../../icons/sad-robot/index.js";import"../../icons/model/index.js";import"../../icons/phone-colored/index.js";import"../../icons/questions/index.js";import"../../icons/pdf-big/index.js";import"../../icons/xls-big/index.js";import"../../icons/word-big/index.js";import"../../icons/txt-big/index.js";import"../../icons/bothub-logo-gradient/index.js";import"../../icons/telegram-logo-gradient/index.js";import"../../icons/decline-circle/index.js";import"../../icons/simple-gear-bg/index.js";import"../../icons/advanced-filter/index.js";import"../../icons/big-corporate/index.js";import"../../icons/big-mj/index.js";import"../../icons/big-models/index.js";import"../../icons/big-stats/index.js";import"../../icons/big-success/index.js";import"../../icons/big-users/index.js";import"../../icons/optional-presets/index.js";import"../../icons/wallet-withdraw/index.js";import"../../icons/big-presets/index.js";import"../../icons/big-favorite/index.js";import"../../icons/big-referal/index.js";import"../../icons/attach-file-big/index.js";import"../../icons/voice/index.js";import"../../icons/play-button/index.js";import"../../icons/pause-button/index.js";import"../../icons/text-read/index.js";import"../../icons/text-hide/index.js";import"../../icons/best-chat-bots/index.js";import"../../icons/upload/index.js";import"../../icons/enter/index.js";import"../../icons/discord/index.js";import"../../icons/discord-circle/index.js";import"../../icons/black-forest-labs/index.js";import"../../icons/flux/index.js";import"../../icons/stable-diffusion/index.js";import"../../icons/stability-ai/index.js";import"../../icons/article-generator/index.js";import"../../icons/success/index.js";import"../../icons/google/index.js";import"../../icons/yandex/index.js";import"../../icons/vk/index.js";import"../../icons/big-article/index.js";import"../../icons/add-chat/index.js";import"../../icons/add-group/index.js";import"../../icons/drag-dot/index.js";import"../../icons/add-folder/index.js";import"../../icons/temp-chat/index.js";import"../../icons/delete-chat/index.js";import"../../icons/sidebar-chat/index.js";import"../../icons/organization/index.js";import"../../icons/simple-gear/index.js";import"../../icons/text-bold/index.js";import"../../icons/text-italic/index.js";import"../../icons/text-underline/index.js";import"../../icons/text-strikethrough/index.js";import"../../icons/refresh/index.js";import"../../icons/copy-variants/index.js";import"../../icons/sort-ascending/index.js";import"../../icons/sort-descending/index.js";import"../../icons/quote/index.js";import"../../icons/url-circle/index.js";import"../../icons/show-ui/index.js";import"../../icons/hide-ui/index.js";import"../../icons/sort-user/index.js";import"../../icons/happy-robot/index.js";import"../../icons/happy-robot-gradient/index.js";import"../../icons/min-window/index.js";import"../../icons/max-window/index.js";import"../../icons/manage-chat/index.js";import"../../icons/analyze-urls/index.js";import"../../icons/web-search/index.js";import"../../icons/include-context/index.js";import"../../icons/queue/index.js";import"../../icons/sort-alphabet-ascending/index.js";import"../../icons/sort-alphabet-descending/index.js";import"../../icons/sort-date-ascending/index.js";import"../../icons/sort-date-descending/index.js";import"../../icons/cot-r1/index.js";import"../../icons/news/index.js";import"../../icons/volume/index.js";import"../../icons/flag-ru/index.js";import"../../icons/flag-kz/index.js";import"../../icons/print/index.js";import"../../icons/pc-icon-1/index.js";import"../../icons/pc-icon-2/index.js";import"../../icons/pc-icon-3/index.js";import"../../icons/star-unfilled/index.js";import"../../icons/image-generation/index.js";import"../../icons/speech-synthesys/index.js";import"../../icons/transcription/index.js";import"../../icons/text-rewrite/index.js";import"../../icons/code-generation/index.js";import"../../icons/essay-generation/index.js";import"../../icons/spelling/index.js";import"../../icons/text-generation/index.js";import"../../icons/traffic-analisys/index.js";import"../../icons/fav-profile/index.js";import"../../icons/exclamation/index.js";import"../../icons/article/index.js";import"../../icons/setchel/index.js";import"../../icons/assembly/index.js";import"../../icons/data-visualisation/index.js";import"../../icons/document-analisys/index.js";import"../../icons/problem-solvment/index.js";import"../../icons/setting-analisys/index.js";import"../../icons/translation/index.js";import"../../icons/stars/index.js";import"../../icons/academy/index.js";import"../../icons/articles/index.js";import"../../icons/blog-post/index.js";import"../../icons/book/index.js";import"../../icons/bow-tie/index.js";import"../../icons/case-study/index.js";import"../../icons/comments/index.js";import"../../icons/guide/index.js";import"../../icons/marketing/index.js";import"../../icons/post/index.js";import"../../icons/report/index.js";import"../../icons/review/index.js";import"../../icons/scientific-article/index.js";import"../../icons/selling-text/index.js";import"../../icons/textbook/index.js";import"../../icons/wind/index.js";import"../../icons/grok/index.js";import"../../icons/deepseek/index.js";import"../../icons/grid-horizontal/index.js";import"../../icons/grid-vertical/index.js";import"../../icons/star-gradient/index.js";import"../../icons/qwen/index.js";import"../../icons/sidebar-toggle-left/index.js";import"../../icons/sidebar-toggle-right/index.js";import"../../icons/system/index.js";import"../../icons/selector/index.js";import"../../icons/video-camera/index.js";import"../../icons/music-note/index.js";import"../../icons/add-profile/index.js";import"../../icons/token-counter/index.js";import"../../icons/customer-support/index.js";import"../../icons/sort-alphabet-top-bottom/index.js";import"../../icons/sort-alphabet-bottom-top/index.js";import"../../icons/pause/index.js";import"../../icons/play/index.js";import"../../icons/restore-2/index.js";import"../../icons/video-generation/index.js";import"../../icons/veo-model/index.js";import"../../icons/runway/index.js";import"../../icons/queue-select/index.js";import"../../icons/apple/index.js";import"../../icons/mail-colored/index.js";import"../../icons/shield/index.js";import"../../icons/stars-gradient/index.js";import"../../icons/fire/index.js";import"../../icons/brain/index.js";import"../../icons/mj-purple/index.js";import"../../icons/claude-black/index.js";import"../../icons/vk-filled/index.js";import"../../icons/tg/index.js";import"../../icons/gift/index.js";import"../../icons/exchange/index.js";import"../../icons/time/index.js";import"../../icons/history/index.js";import"../../icons/money-plus/index.js";import"../../icons/money-stack/index.js";import"../../icons/sort-numeric-bottom/index.js";import"../../icons/sort-numeric-top/index.js";import"../message/versions/styled.js";import"../message/copy/styled.js";import"../message/badge-progress/styled.js";import"../message/button/styled.js";import"../message/button/list/styled.js";import"../message/file/styled.js";import{MessageVoice as ni}from"../message/voice/index.js";import"../message/reasoning-block/styled.js";import"../message/search-results/styled.js";import"../message/video/styled.js";import{getWaveData as ti}from"../../utils/audio/getWaveData.js";import{useTheme as ri}from"../../theme/hook.js";const ci=ci=>{var{className:di,placeholder:mi,message:ai,files:pi,disabled:li=!1,sendDisabled:ji=!1,textAreaDisabled:xi=!1,useAlternativeKeyDefaultValue:ui=!1,defaultKeySendText:gi,alternativeKeySendText:hi,concatenateText:bi,uploadFileLimit:yi=5,hideUploadFile:fi=!1,uploadFileDisabled:vi=!1,uploadFileAccept:wi,uploadFileText:ki,autoFocus:Ci=!0,voice:Di=!1,onSetAlternativeKeyValue:Fi,onChange:$i,onFilesChange:Ti,onVoiceFilesChange:Ai,onTextAreaChange:Ei,onSend:Oi,onFocus:Si,onBlur:Li,emitError:Ki,actions:Pi,configureOptions:Ui}=ci,zi=i(ci,["className","placeholder","message","files","disabled","sendDisabled","textAreaDisabled","useAlternativeKeyDefaultValue","defaultKeySendText","alternativeKeySendText","concatenateText","uploadFileLimit","hideUploadFile","uploadFileDisabled","uploadFileAccept","uploadFileText","autoFocus","voice","onSetAlternativeKeyValue","onChange","onFilesChange","onVoiceFilesChange","onTextAreaChange","onSend","onFocus","onBlur","emitError","actions","configureOptions"]);const qi=ri(),Ri=t(null),[Vi,Ii]=r("calc(var(--bothub-scale, 1) * 22px)"),[Bi,Ni]="string"==typeof ai?[ai,$i]:r(""),[Mi,Gi]=Array.isArray(pi)?[pi,Ti]:r([]),[Hi,Wi]=r([]),[_i,Ji]=r(!1),[Qi,Xi]=r(!li&&Ci),[Yi,Zi]=r(!1),[ie,ee]=r(!1),[oe,se]=r(null),ne=t(null),te=t(null),re=t([]),ce=t(null),de=t(!1),me=t(null),[ae,pe]=r(ui),[le,je]=r(!1),xe=t(null),[ue,ge]=r(!1),he=c(()=>{pe(!1),null==Fi||Fi(!1),je(!1)},[]),be=c(()=>{pe(!0),null==Fi||Fi(!0),je(!1)},[]),ye=c(i=>{Xi(!0),null==Si||Si(i)},[Si]),fe=c(i=>{Xi(!1),null==Li||Li(i)},[Li]),ve=c(i=>{null==Ni||Ni(i.target.value),null==Ei||Ei(i)},[Ni,Ei]),we=c(i=>e(void 0,void 0,void 0,function*(){if(!i.length)return;const e=[],o=[],s=yield Promise.all(null==i?void 0:i.map(J));for(const[n,t]of i.entries()){Q(t.type,wi)?e.push({previewUrl:s[n],name:t.name,native:t}):o.push(t)}o.length>0&&(null==Ki||Ki({name:"WRONG_FILES",payload:o})),(null==e?void 0:e.length)>0&&(null==Gi||Gi([...Mi,...e].slice(0,yi)))}),[wi,Ki,yi,Mi]),ke=c(i=>e(void 0,void 0,void 0,function*(){!vi&&i.clipboardData.files.length>0&&(i.preventDefault(),yield we([...i.clipboardData.files]))}),[we,vi]),Ce=c(i=>e(void 0,void 0,void 0,function*(){if(!Gi||!i.target.files)return;const e=yield X([...Mi.map(({native:i})=>i),...i.target.files]);Gi(e.slice(0,yi)),ge(!1)}),[Mi,Gi,yi]),De=c(i=>{null==Gi||Gi(Mi.filter(({name:e})=>e!==i.name))},[Gi,Mi]),Fe=c(i=>{i.stopPropagation(),null==Oi||Oi(Bi,Mi),null==Ni||Ni(""),null==Gi||Gi([]),null==Wi||Wi([]),Ii("calc(var(--bothub-scale, 1) * 22px)")},[Bi,Mi,Oi,Ni,Gi,Wi]),$e=c(i=>{i.stopPropagation();if(Z()&&"Enter"===i.key)return;const e=ae?"enter":"ctrl/shift+enter";let o="";if("Enter"===i.key&&(i.shiftKey||i.ctrlKey))o="ctrl/shift+enter";else{if("Enter"!==i.key)return;o="enter"}if(Qi&&"Enter"===i.key){if(o===e&&i.ctrlKey){i.preventDefault();const e=Ri.current;if(!e)return;const o=e.value,t=e.selectionStart,r=o.slice(0,t),c=o.slice(t);null==Ni||Ni(`${r}\n${c}`),s=e,n=t+1,setTimeout(()=>{s.selectionStart=n,s.selectionEnd=n},1)}e!==o&&""!==o&&(i.preventDefault(),null==Oi||Oi(Bi,Mi),Ii("calc(var(--bothub-scale, 1) * 22px)"))}var s,n},[Qi,Bi,Mi,Oi,Ni,Gi]),Te=c(()=>{var i;li||null===(i=Ri.current)||void 0===i||i.focus()},[li,Ci]),Ae=c(i=>{i.stopPropagation()},[]),Ee=c(i=>e(void 0,void 0,void 0,function*(){if(ie)return;de.current=!0,i.stopPropagation();const e=yield navigator.mediaDevices.getUserMedia({audio:!0}),o=new MediaRecorder(e,{mimeType:ei()});de.current&&(o.start(1e3),ne.current=o,te.current=e,ce.current=window.setInterval(()=>{se(i=>(null!=i?i:0)+.1)},100),ee(!0),se(0),Ji(!1))}),[de.current,re.current,ie]),Oe=c(()=>{const i=ne.current,e=te.current,o=ce.current;if(ie&&i&&e&&o){i.stop();for(const i of e.getTracks())i.stop();window.clearInterval(o)}},[ie,ne.current,te.current,ce.current]),Se=c(()=>e(void 0,void 0,void 0,function*(){de.current=!1,ie&&Oe()}),[ie,Oe]),Le=c(()=>{const i=ne.current,e=ce.current;ie&&i&&e&&(i.pause(),window.clearInterval(e),Ji(!0))},[ie]),Ke=c(()=>{const i=ne.current;ie&&i&&(i.resume(),ce.current=window.setInterval(()=>{se(i=>(null!=i?i:0)+.1)},100),Ji(!1))},[ie,se]),Pe=c(i=>{Wi(Hi.filter(e=>e.src!==i.src))},[Hi,Wi]),Ue=c(()=>{const i=Ri.current;null!==i&&(i.style.height="calc(var(--bothub-scale, 1) * 22px)",i.style.height=`${i.scrollHeight}px`,Ii(`${i.scrollHeight}px`))},[Bi,Ci]);d(()=>{Ue()},[Ue]),d(()=>{const i=Ri.current;if(!i||li)return;const e=!li&&Ci;Xi(e),e?i.focus():document.activeElement===i&&i.blur()},[li,Ci]),d(()=>{const i=Ri.current;if(null!==i)return i.addEventListener("keydown",$e),()=>{i.removeEventListener("keydown",$e)}},[$e]),d(()=>{Gi&&pi&&Gi(pi)},[pi]),d(()=>{null==Ai||Ai(Hi)},[Hi]),d(()=>{const i=ne.current,o=i=>{i.data.size>0&&re.current.push(i.data)},s=()=>e(void 0,void 0,void 0,function*(){const i=new Blob(re.current,{type:ei()}),{waveData:e,duration:o}=yield ti(i),s={src:URL.createObjectURL(i),duration:o,blob:i,waveData:e};Wi([...Hi,s]),ne.current=null,te.current=null,re.current=[],ce.current=null,ee(!1),se(null)});return i&&(i.addEventListener("dataavailable",o),i.addEventListener("stop",s)),()=>{i&&(i.removeEventListener("dataavailable",o),i.removeEventListener("stop",s)),Oe()}},[ne.current]),a(me,()=>{je(!1)}),a(xe,()=>{ge(!1)});const ze=m(!li&&le,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:100,ease:"easeOut"}}),qe=m(!li&&ue,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:100,ease:"easeOut"}});return o(p,{$active:Qi,$dragActive:Yi,$disabled:li,$textAreaDisabled:xi,$voiceRecording:ie,className:di,onClick:Te,onDragEnter:()=>Zi(!0),onDragLeave:()=>Zi(!1),onDragOver:i=>(i.stopPropagation(),i.preventDefault(),!1),onDrop:i=>e(void 0,void 0,void 0,function*(){if(i.dataTransfer.files.length>0)return i.stopPropagation(),i.preventDefault(),yield we([...i.dataTransfer.files]),Zi(!1),!1}),children:s(l,{children:[(!fi||!!Ui)&&s(j,{ref:xe,children:[o(x,{$disabled:li,onClick:i=>{i.stopPropagation(),ge(!ue)},children:o(oi,{fill:qi.colors.base.white})}),qe((e,n)=>n&&s(u,{style:e,children:[!fi&&s(g,{children:[s(h,{$disabled:Mi.length>=yi||li||vi,onClick:Ae,children:[o(si,{size:18}),o(_,{variant:"body-m-medium",children:ki})]}),o(b,{type:"file",accept:wi,multiple:!0,disabled:Mi.length>=yi||li||vi,onChange:Ce},Mi.length)]}),!fi&&!!Ui&&o(y,{}),null==Ui?void 0:Ui.map(e=>{var{onClick:s}=e,n=i(e,["onClick"]);return o(f,Object.assign({},n,{onClick:()=>{null==s||s(),ge(!1)}}))})]})),Pi]}),s(v,{onClick:Te,children:[ie&&null!==oe&&s(w,{children:[o(k,{}),o(C,{children:Y(oe)})]}),Mi.length>0&&o(D,{children:Mi.map(i=>{let e;return e=i.previewUrl&&(i.name.match(/.png$/i)||i.name.match(/.jpg$/i)||i.name.match(/.jpeg$/i))?o(B,{src:i.previewUrl}):i.name.match(/.txt$/i)?o(M,{}):i.name.match(/.docx$/i)?o(G,{}):i.name.match(/.xlsx$/i)?o(H,{}):i.name.match(/.pdf$/i)?o(N,{}):o(ii,{}),e=o(W,{size:18,children:e}),o(F,{start:e,onDelete:De.bind(null,i),children:i.name.length>20?`...${i.name.slice(-20)}`:i.name},i.name)})}),Hi.length>1&&o($,{children:bi}),Hi.length>0&&o(T,{children:Hi.map(i=>s(A,{children:[o(ni,{variant:"input",height:24,src:i.src,duration:i.duration,waveData:i.waveData,disableTranscription:!0}),o(E,{onClick:Pe.bind(null,i)})]},i.src))}),(!xi||xi&&mi&&Mi.length!==yi||xi&&Bi)&&o(O,Object.assign({$disabled:li},zi,{ref:Ri,value:Bi,placeholder:mi,disabled:li||xi,style:Object.assign(Object.assign({},zi.style),{height:Vi}),onFocus:ye,onBlur:fe,onChange:ve,onPaste:ke}))]}),s(S,{children:[!!gi&&!!hi&&s(L,{ref:me,children:[o(K,{onClick:i=>{i.stopPropagation(),je(!le)},disabled:li}),ze((i,e)=>e&&s(P,{style:i,children:[o(U,{active:!ae,onClick:he,children:gi}),o(U,{active:ae,onClick:be,children:hi})]},"alternative-key-modal"))]}),ie&&o(n,{children:_i?o(z,{onClick:Ke}):o(q,{onClick:Le})}),Di&&o(R,{$isRecording:ie,disabled:li||ji,onClick:ie?Se:Ee,"data-test":"submit-message"}),o(V,Object.assign({disabled:li||ji||ie,onClick:Fe},qi.bright&&{iconFill:qi.default.colors.base.black},{"data-test":"submit-message",children:o(I,{})}))]})]})})};export{ci as InputMessage};
@@ -1 +1 @@
1
- import{__rest as i}from"tslib";import{jsx as o,jsxs as e,Fragment as n}from"react/jsx-runtime";import{useCallback as s}from"react";import{SelectFieldOptionsStyled as t,SelectFieldOptionSide as r,SelectFieldDivider as d,SelectFieldOptionLabel as c,SelectFieldEmpty as p,SelectFieldEmptyText as l,SelectFieldRadioTitleAndRadio as m,SelectFieldRadioLabel as a,SelectFieldRadioDescription as x,SelectFieldRadio as j,SelectFieldRadioLabelWrapper as b,SelectFieldCheckBox as u,SelectFieldCheckBoxWrapper as g,SelectFieldCheckBoxLeftSide as h,SelectFieldCheckBoxName as f,SelectFieldCheckBoxMail as v}from"./styled.js";import{Tooltip as k}from"../../../../tooltip/index.js";import{IconProvider as y}from"../../../../icon/context.js";import"../../../../icon/styled.js";import"../../../../../theme/index.js";import{SelectFieldCollapseOption as w}from"../collapse/index.js";import{SearchDataIcon as C}from"../../../../../icons/search-data/index.js";import{Radio as z}from"../../../../radio/index.js";import{SelectFieldOptionStyled as $,SelectFieldOptionText as O}from"../select-field-option/styled.js";import{SelectFieldOption as M}from"../select-field-option/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/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/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{StarsIcon as L}from"../../../../../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{Checkbox as q}from"../../../../checkbox/index.js";import{SelectFieldCheckboxGroupOption as E}from"../checkbox-group/index.js";import{useTheme as T}from"../../../../../theme/hook.js";import{TooltipConsumer as S}from"../../../../tooltip/context.js";const A=D=>{var{value:P,data:G,size:F,disableSelect:N=!1,selectedColor:_,onGroupCheckboxClick:B,onOptionClick:H}=D,I=i(D,["value","data","size","disableSelect","selectedColor","onGroupCheckboxClick","onOptionClick"]);const J=T(),K=s(i=>{null==H||H(i)},[H]);return o(t,Object.assign({$size:F},I,{children:G.map((i,s)=>{var t,T,D,G,I,Q,R,U,V,W,X,Y,Z,ii,oi,ei,ni,si,ti,ri;if("string"==typeof i){let e;return e=!(!P||Array.isArray(P))&&("string"==typeof P?i===P:i===P.value),o($,{$selected:e,$disabled:!1,$size:F,$selectedColor:_,"data-test":i,onClick:K.bind(null,i),children:o(r,{children:o(O,{$selected:e,$size:F,children:i})})},s)}if("divider"===i.type)return o(d,{},null!==(T=null!==(t=i.id)&&void 0!==t?t:i.value)&&void 0!==T?T:`divider-${s}`);if("label"===i.type)return o(c,{children:i.label},null!==(G=null!==(D=i.id)&&void 0!==D?D:i.value)&&void 0!==G?G:`label-${s}`);if("empty"===i.type&&i.label)return e(p,{$size:F,children:[o(y,{size:34,fill:J.colors.grayScale.gray1,children:null!==(I=i.icon)&&void 0!==I?I:o(C,{})}),o(l,{children:i.label})]},null!==(R=null!==(Q=i.id)&&void 0!==Q?Q:i.value)&&void 0!==R?R:`empty-${s}`);if("radio"===i.type){const t=o=>{o.preventDefault(),K(i)},r=null!==(V=null!==(U=i.id)&&void 0!==U?U:i.value)&&void 0!==V?V:`radio-${s}`,d={$selected:i.selected,$disabled:i.disabled,onClick:t,children:e(n,{children:[e(m,{children:[i.label&&o(a,{$size:F,children:i.label}),o(z,{type:"radio",checked:null!==(W=i.selected)&&void 0!==W&&W,name:i.radioName,disabled:i.disabled,icon:i.disabled?i.end:void 0})]}),i.description&&o(x,{children:i.description})]})};return i.tooltip||i.label&&i.label.length>64?o(k,Object.assign({},i.tooltip,i.label&&i.label.length>64&&{placement:"top-left",label:i.label,disabled:!1},{children:o(S,{children:({handleTooltipMouseEnter:n,handleTooltipMouseLeave:s})=>e(j,Object.assign({},d,{onPointerDown:n,onPointerLeave:s,onMouseEnter:n,onMouseLeave:s,onClick:t,"data-test":i.label,children:[e(m,{children:[i.icon&&o(y,{size:"large"===F?24:16,children:i.icon}),i.label&&e(b,{children:[o(a,{$size:F,children:i.label}),i.best_model&&o(L,{size:18})]}),o(z,{type:"radio",checked:!!i.selected,name:i.radioName,disabled:i.disabled,icon:i.disabled?i.end:void 0})]}),i.description&&o(x,{children:i.description})]}))})}),r):o(j,Object.assign({"data-test":i.label},d),r)}if("checkbox"===i.type){const n=o=>{o.preventDefault(),K(i)},t=null!==(Y=null!==(X=i.id)&&void 0!==X?X:i.value)&&void 0!==Y?Y:`checkbox-${s}`,r=Boolean(i.label);return e(u,{onClick:n,children:[e(g,{children:[e(h,{children:[i.icon&&o(y,{size:16,fill:J.colors.base.white,children:i.icon}),o(f,{children:r?i.label:i.email})]}),o(q,{displayFlex:!0,checked:i.selected,size:16})]}),r&&i.email&&o(v,{children:i.email})]},t)}if("collapse"===i.type&&i.data){const e={size:F,item:i,onClick:i.onClick,icon:i.disabled?i.end:void 0,children:o(A,{value:P,data:null!==(Z=i.data)&&void 0!==Z?Z:[],size:F,disableSelect:N,onOptionClick:H,selectedColor:_})},n=null!==(oi=null!==(ii=i.id)&&void 0!==ii?ii:i.value)&&void 0!==oi?oi:`collapse-${s}`;return i.tooltip||i.label&&i.label.length>64?o(k,Object.assign({},i.tooltip,i.label&&i.label.length>64&&{placement:"top-left",label:i.label,disabled:!1},{children:o(S,{children:({handleTooltipMouseEnter:i,handleTooltipMouseLeave:n})=>o(w,Object.assign({},e,{onPointerDown:i,onPointerLeave:n,onMouseEnter:i,onMouseLeave:n}))})}),n):o(w,Object.assign({},e),n)}if("checkbox-group"===i.type&&i.data){const e=null!==(ni=null!==(ei=i.id)&&void 0!==ei?ei:i.value)&&void 0!==ni?ni:`checkbox-group-${s}`;return o(E,{SelectFieldOptions:A,data:null!==(si=i.data)&&void 0!==si?si:[],size:F,value:P,icon:i.disabled?i.end:void 0,onGroupCheckboxClick:B,onOptionClick:H,item:i},e)}const di=!!i.disabled;let ci;ci=!(!P||Array.isArray(P))&&(("string"==typeof P?i.value===P:i.value===P.value)&&!N);const pi=null!==(ri=null!==(ti=i.id)&&void 0!==ti?ti:i.value)&&void 0!==ri?ri:s,li={item:i,selected:ci,disabled:di,size:F,selectedColor:_,onClick:K.bind(null,i)};return i.tooltip||i.label&&i.label.length>64?o(k,Object.assign({},i.tooltip,i.label&&i.label.length>64&&{placement:"top-left",label:i.label,disabled:!1},{children:o(S,{children:({handleTooltipMouseEnter:e,handleTooltipMouseLeave:n})=>o(M,Object.assign({},li,{onMouseEnter:e,onMouseLeave:n,"data-test":i.label}))})}),pi):o(M,Object.assign({"data-test":i.label},li),pi)})}))};export{A as SelectFieldOptions};
1
+ import{__rest as i}from"tslib";import{jsx as o,jsxs as e,Fragment as n}from"react/jsx-runtime";import{useCallback as s}from"react";import{SelectFieldOptionsStyled as t,SelectFieldOptionSide as r,SelectFieldDivider as d,SelectFieldOptionLabel as c,SelectFieldEmpty as p,SelectFieldEmptyText as l,SelectFieldRadioTitleAndRadio as m,SelectFieldRadioLabel as a,SelectFieldRadioDescription as x,SelectFieldRadio as j,SelectFieldRadioLabelWrapper as b,SelectFieldCheckBox as u,SelectFieldCheckBoxWrapper as g,SelectFieldCheckBoxLeftSide as h,SelectFieldCheckBoxName as f,SelectFieldCheckBoxMail as v}from"./styled.js";import{Tooltip as k}from"../../../../tooltip/index.js";import{IconProvider as y}from"../../../../icon/context.js";import"../../../../icon/styled.js";import"../../../../../theme/index.js";import{SelectFieldCollapseOption as w}from"../collapse/index.js";import{SearchDataIcon as C}from"../../../../../icons/search-data/index.js";import{Radio as z}from"../../../../radio/index.js";import{SelectFieldOptionStyled as $,SelectFieldOptionText as O}from"../select-field-option/styled.js";import{SelectFieldOption as M}from"../select-field-option/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/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/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{StarsIcon as L}from"../../../../../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{Checkbox as q}from"../../../../checkbox/index.js";import{SelectFieldCheckboxGroupOption as E}from"../checkbox-group/index.js";import{useTheme as T}from"../../../../../theme/hook.js";import{TooltipConsumer as S}from"../../../../tooltip/context.js";const A=D=>{var{value:P,data:G,size:F,disableSelect:N=!1,selectedColor:_,onGroupCheckboxClick:B,onOptionClick:H}=D,I=i(D,["value","data","size","disableSelect","selectedColor","onGroupCheckboxClick","onOptionClick"]);const J=T(),K=s(i=>{null==H||H(i)},[H]);return o(t,Object.assign({$size:F},I,{children:G.map((i,s)=>{var t,T,D,G,I,Q,R,U,V,W,X,Y,Z,ii,oi,ei,ni,si,ti,ri;if("string"==typeof i){let e;return e=!(!P||Array.isArray(P))&&("string"==typeof P?i===P:i===P.value),o($,{$selected:e,$disabled:!1,$size:F,$selectedColor:_,"data-test":i,onClick:K.bind(null,i),children:o(r,{children:o(O,{$selected:e,$size:F,children:i})})},s)}if("divider"===i.type)return o(d,{},null!==(T=null!==(t=i.id)&&void 0!==t?t:i.value)&&void 0!==T?T:`divider-${s}`);if("label"===i.type)return o(c,{children:i.label},null!==(G=null!==(D=i.id)&&void 0!==D?D:i.value)&&void 0!==G?G:`label-${s}`);if("empty"===i.type&&i.label)return e(p,{$size:F,children:[o(y,{size:34,fill:J.colors.grayScale.gray1,children:null!==(I=i.icon)&&void 0!==I?I:o(C,{})}),o(l,{children:i.label})]},null!==(R=null!==(Q=i.id)&&void 0!==Q?Q:i.value)&&void 0!==R?R:`empty-${s}`);if("radio"===i.type){const t=o=>{o.preventDefault(),K(i)},r=null!==(V=null!==(U=i.id)&&void 0!==U?U:i.value)&&void 0!==V?V:`radio-${s}`,d={$selected:i.selected,$disabled:i.disabled,onClick:t,children:e(n,{children:[e(m,{children:[i.label&&o(a,{$size:F,children:i.label}),o(z,{type:"radio",checked:null!==(W=i.selected)&&void 0!==W&&W,name:i.radioName,disabled:i.disabled,icon:i.disabled?i.end:void 0})]}),i.description&&o(x,{children:i.description})]})};return i.tooltip||i.label&&i.label.length>64?o(k,Object.assign({},i.tooltip,i.label&&i.label.length>64&&{placement:"top-left",label:i.label,disabled:!1},{children:o(S,{children:({handleTooltipMouseEnter:n,handleTooltipMouseLeave:s})=>e(j,Object.assign({},d,{onPointerDown:n,onPointerLeave:s,onMouseEnter:n,onMouseLeave:s,onClick:t,"data-test":i.label,children:[e(m,{children:[i.icon&&o(y,{size:"large"===F?24:16,children:i.icon}),i.label&&e(b,{children:[o(a,{$size:F,children:i.label}),i.best_model&&o(L,{size:18})]}),o(z,{type:"radio",checked:!!i.selected,name:i.radioName,disabled:i.disabled,icon:i.disabled?i.end:void 0})]}),i.description&&o(x,{children:i.description})]}))})}),r):o(j,Object.assign({"data-test":i.label},d),r)}if("checkbox"===i.type){const n=o=>{o.preventDefault(),K(i)},t=null!==(Y=null!==(X=i.id)&&void 0!==X?X:i.value)&&void 0!==Y?Y:`checkbox-${s}`,r=Boolean(i.label);return e(u,{onClick:n,children:[e(g,{children:[e(h,{children:[i.icon&&o(y,{size:16,fill:J.colors.base.white,children:i.icon}),o(f,{children:r?i.label:i.email})]}),o(q,{displayFlex:!0,checked:i.selected,size:16})]}),r&&o(v,{children:i.email})]},t)}if("collapse"===i.type&&i.data){const e={size:F,item:i,onClick:i.onClick,icon:i.disabled?i.end:void 0,children:o(A,{value:P,data:null!==(Z=i.data)&&void 0!==Z?Z:[],size:F,disableSelect:N,onOptionClick:H,selectedColor:_})},n=null!==(oi=null!==(ii=i.id)&&void 0!==ii?ii:i.value)&&void 0!==oi?oi:`collapse-${s}`;return i.tooltip||i.label&&i.label.length>64?o(k,Object.assign({},i.tooltip,i.label&&i.label.length>64&&{placement:"top-left",label:i.label,disabled:!1},{children:o(S,{children:({handleTooltipMouseEnter:i,handleTooltipMouseLeave:n})=>o(w,Object.assign({},e,{onPointerDown:i,onPointerLeave:n,onMouseEnter:i,onMouseLeave:n}))})}),n):o(w,Object.assign({},e),n)}if("checkbox-group"===i.type&&i.data){const e=null!==(ni=null!==(ei=i.id)&&void 0!==ei?ei:i.value)&&void 0!==ni?ni:`checkbox-group-${s}`;return o(E,{SelectFieldOptions:A,data:null!==(si=i.data)&&void 0!==si?si:[],size:F,value:P,icon:i.disabled?i.end:void 0,onGroupCheckboxClick:B,onOptionClick:H,item:i},e)}const di=!!i.disabled;let ci;ci=!(!P||Array.isArray(P))&&(("string"==typeof P?i.value===P:i.value===P.value)&&!N);const pi=null!==(ri=null!==(ti=i.id)&&void 0!==ti?ti:i.value)&&void 0!==ri?ri:s,li={item:i,selected:ci,disabled:di,size:F,selectedColor:_,onClick:K.bind(null,i)};return i.tooltip||i.label&&i.label.length>64?o(k,Object.assign({},i.tooltip,i.label&&i.label.length>64&&{placement:"top-left",label:i.label,disabled:!1},{children:o(S,{children:({handleTooltipMouseEnter:e,handleTooltipMouseLeave:n})=>o(M,Object.assign({},li,{onMouseEnter:e,onMouseLeave:n,"data-test":i.label}))})}),pi):o(M,Object.assign({"data-test":i.label},li),pi)})}))};export{A as SelectFieldOptions};
package/package.json CHANGED
@@ -1,72 +1,72 @@
1
- {
2
- "name": "@bothub-chat/ui",
3
- "version": "2.51.1-fix-selectfield-email-render-985ad749-fb47-4cd6-98dd-d4808f6aa7a3",
4
- "description": "Bothub UI Components",
5
- "keywords": [
6
- "bot",
7
- "chat",
8
- "chatgpt",
9
- "ai",
10
- "react"
11
- ],
12
- "repository": {
13
- "url": "https://github.com/bothubchat/bothub.git",
14
- "type": "git",
15
- "directory": "./packages/ui"
16
- },
17
- "publishConfig": {
18
- "access": "public",
19
- "registry": "https://registry.npmjs.org/"
20
- },
21
- "author": "dev2alert <atmpotn@yandex.ru>",
22
- "license": "MIT",
23
- "homepage": "https://bothub.chat",
24
- "files": [
25
- "./dist",
26
- "./fonts"
27
- ],
28
- "type": "module",
29
- "main": "./dist/index.js",
30
- "module": "./dist/index.js",
31
- "types": "./dist/index.d.ts",
32
- "exports": {
33
- ".": {
34
- "types": "./dist/index.d.ts",
35
- "import": "./dist/index.js",
36
- "default": "./dist/index.js"
37
- },
38
- "./components/*": "./dist/components/*",
39
- "./fonts/*": "./fonts/*",
40
- "./utils/*": "./dist/utils/*"
41
- },
42
- "sideEffects": false,
43
- "resolutions": {
44
- "react-helmet/react": "^19.0.0"
45
- },
46
- "peerDependencies": {
47
- "@uidotdev/usehooks": "^2.4.1",
48
- "react": "19.1.1",
49
- "react-dom": "19.1.1",
50
- "react-helmet": ">=2",
51
- "styled-components": "^6.0.7"
52
- },
53
- "dependencies": {
54
- "@dnd-kit/core": "^6.1.0",
55
- "@floating-ui/react": "^0.26.16",
56
- "@floating-ui/react-dom": "^2.1.0",
57
- "@react-spring/web": "^10",
58
- "date-fns": "^3.6.0",
59
- "dompurify": "^3.2.6",
60
- "highlight.js": "^11.11.0",
61
- "katex": "^0.16.10",
62
- "marked": "^16.2.1",
63
- "normalize.css": "^8.0.1",
64
- "rc-slider": "^11.1.8",
65
- "react-markdown": "^10.0.0",
66
- "rehype-katex": "^7.0.0",
67
- "remark-gfm": "^4.0.1",
68
- "remark-math": "^6.0.0",
69
- "tslib": "^2.6.2",
70
- "unist-util-visit": "^5.0.0"
71
- }
72
- }
1
+ {
2
+ "name": "@bothub-chat/ui",
3
+ "version": "2.51.2",
4
+ "description": "Bothub UI Components",
5
+ "keywords": [
6
+ "bot",
7
+ "chat",
8
+ "chatgpt",
9
+ "ai",
10
+ "react"
11
+ ],
12
+ "repository": {
13
+ "url": "https://github.com/bothubchat/bothub.git",
14
+ "type": "git",
15
+ "directory": "./packages/ui"
16
+ },
17
+ "publishConfig": {
18
+ "access": "public",
19
+ "registry": "https://registry.npmjs.org/"
20
+ },
21
+ "author": "dev2alert <atmpotn@yandex.ru>",
22
+ "license": "MIT",
23
+ "homepage": "https://bothub.chat",
24
+ "files": [
25
+ "./dist",
26
+ "./fonts"
27
+ ],
28
+ "type": "module",
29
+ "main": "./dist/index.js",
30
+ "module": "./dist/index.js",
31
+ "types": "./dist/index.d.ts",
32
+ "exports": {
33
+ ".": {
34
+ "types": "./dist/index.d.ts",
35
+ "import": "./dist/index.js",
36
+ "default": "./dist/index.js"
37
+ },
38
+ "./components/*": "./dist/components/*",
39
+ "./fonts/*": "./fonts/*",
40
+ "./utils/*": "./dist/utils/*"
41
+ },
42
+ "sideEffects": false,
43
+ "resolutions": {
44
+ "react-helmet/react": "^19.0.0"
45
+ },
46
+ "peerDependencies": {
47
+ "@uidotdev/usehooks": "^2.4.1",
48
+ "react": "19.1.1",
49
+ "react-dom": "19.1.1",
50
+ "react-helmet": ">=2",
51
+ "styled-components": "^6.0.7"
52
+ },
53
+ "dependencies": {
54
+ "@dnd-kit/core": "^6.1.0",
55
+ "@floating-ui/react": "^0.26.16",
56
+ "@floating-ui/react-dom": "^2.1.0",
57
+ "@react-spring/web": "^10",
58
+ "date-fns": "^3.6.0",
59
+ "dompurify": "^3.2.6",
60
+ "highlight.js": "^11.11.0",
61
+ "katex": "^0.16.10",
62
+ "marked": "^16.2.1",
63
+ "normalize.css": "^8.0.1",
64
+ "rc-slider": "^11.1.8",
65
+ "react-markdown": "^10.0.0",
66
+ "rehype-katex": "^7.0.0",
67
+ "remark-gfm": "^4.0.1",
68
+ "remark-math": "^6.0.0",
69
+ "tslib": "^2.6.2",
70
+ "unist-util-visit": "^5.0.0"
71
+ }
72
+ }