@bothub-chat/ui 2.29.0 → 2.29.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.
|
@@ -45,6 +45,7 @@ export type SelectFieldProps = (SelectFieldDefaultProps | SelectFieldMultiProps)
|
|
|
45
45
|
};
|
|
46
46
|
search?: boolean;
|
|
47
47
|
searchPlaceholder?: string;
|
|
48
|
+
followContentHeight?: boolean;
|
|
48
49
|
onOptionClick?: SelectFieldOptionClickEventHandler;
|
|
49
50
|
onInputChange?: SelectFieldInputChangeEventHandler;
|
|
50
51
|
onSelectClick?: () => void;
|
|
@@ -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,useState as t,useRef as r,useEffect as c}from"react";import{SelectFieldStyled as d,SelectFieldLabel as l,SelectFieldInput as a,SelectFieldInputLeftSide as p,SelectFieldSearchIcon as m,SelectFieldInputNative as x,SelectFieldPlaceholder as j,SelectFieldValue as u,SelectFieldValueText as h,SelectFieldValueColor as b,SelectFieldColorValueText as g,SelectFieldValues as f,SelectFieldValueList as v,SelectFieldValueListItem as y,SelectFieldInputSide as w,SelectFieldClearButton as $,SelectFieldLoader as k,SelectFieldArrow as C,SelectFieldSkeleton as S,SelectFieldBlock as A,SelectFieldBlockPositionWrapper as z,SelectFieldBlockContent as O,SelectFieldGroups as L,SelectFieldGroup as T,SelectFieldErrorText as I}from"./styled.js";import"../../theme/index.js";import{Skeleton as E}from"../skeleton/index.js";import{Portal as P}from"../portal/index.js";import{IconProvider as V}from"../icon/context.js";import"../icon/styled.js";import{Tooltip as W}from"../tooltip/index.js";import{SelectFieldProvider as F}from"./context.js";export{SelectFieldConsumer,SelectFieldContext,useSelectField}from"./context.js";import{SelectFieldOptions as q}from"./option/list/index.js";import"./option/collapse/styled.js";import{ScrollableTabs as M}from"../scrollable-tabs/index.js";import{TextField as D}from"../text-field/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/minimize/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/unminimize/index.js";import"../../icons/update/index.js";import"../../icons/menu-dot/index.js";import"../../icons/plus-2/index.js";import"../../icons/plus-1/index.js";import"../../icons/send/index.js";import"../../icons/settings/index.js";import"../../icons/habr/index.js";import"../../icons/check-small/index.js";import"../../icons/stop/index.js";import"../../icons/thumb-up/index.js";import"../../icons/thumb-down/index.js";import"../../icons/star/index.js";import"../../icons/info-big/index.js";import"../../icons/warning-big/index.js";import"../../icons/error-big/index.js";import"../../icons/success-big/index.js";import"../../icons/mj/index.js";import"../../icons/card/index.js";import"../../icons/arrow-narrow-up/index.js";import"../../icons/arrow-narrow-down/index.js";import"../../icons/filters/index.js";import"../../icons/info/index.js";import"../../icons/search-circle/index.js";import"../../icons/save/index.js";import"../../icons/light/index.js";import"../../icons/dark/index.js";import"../../icons/email-colored/index.js";import"../../icons/action-chat/index.js";import"../../icons/attach/index.js";import"../../icons/avatar-add/index.js";import"../../icons/brush/index.js";import"../../icons/calendar/index.js";import"../../icons/claude/index.js";import"../../icons/cookie/index.js";import"../../icons/dalle/index.js";import"../../icons/download-img/index.js";import"../../icons/error/index.js";import"../../icons/expand/index.js";import"../../icons/eye/index.js";import"../../icons/face/index.js";import"../../icons/gear/index.js";import"../../icons/gear-min/index.js";import"../../icons/generation/index.js";import"../../icons/gpt-3_5/index.js";import"../../icons/gpt-4/index.js";import"../../icons/imagine/index.js";import"../../icons/imagine-2/index.js";import"../../icons/loader/index.js";import"../../icons/loader-circular/index.js";import"../../icons/loader-circular-gradient/index.js";import"../../icons/loader-circular-gradient-2/index.js";import"../../icons/minus/index.js";import"../../icons/mj-white/index.js";import"../../icons/prompt/index.js";import"../../icons/rabbit/index.js";import"../../icons/ratio-1x1/index.js";import"../../icons/ratio-2x3/index.js";import"../../icons/ratio-3x2/index.js";import"../../icons/ratio-4x5/index.js";import"../../icons/ratio-4x7/index.js";import"../../icons/ratio-5x4/index.js";import"../../icons/ratio-7x4/index.js";import"../../icons/ratio-16x9/index.js";import"../../icons/ratio-9x16/index.js";import"../../icons/ratio-21x9/index.js";import"../../icons/ratio-9x21/index.js";import"../../icons/refferal-min/index.js";import"../../icons/search-data/index.js";import"../../icons/square/index.js";import"../../icons/turtle/index.js";import"../../icons/upscale/index.js";import"../../icons/withdraw/index.js";import"../../icons/search-plus/index.js";import"../../icons/lightning/index.js";import"../../icons/blog-circle/index.js";import"../../icons/stripe/index.js";import"../../icons/corporate/index.js";import"../../icons/public/index.js";import"../../icons/private/index.js";import"../../icons/mistral/index.js";import"../../icons/gemini/index.js";import{SearchSimpleIcon as N}from"../../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{filterData as X}from"./filterData.js";import{useTheme as Y}from"../../theme/hook.js";import{TooltipConsumer as B}from"../tooltip/context.js";const H=H=>{var{className:R,label:Z,value:_,placeholder:G,data:J=[],fullWidth:K=!1,contentWidth:Q,error:U,disabled:ii=!1,skeleton:oi=!1,blur:ei=!1,size:ni="small",disableSelect:si=!1,placement:ti="bottom-left",disableScrollbar:ri=!1,before:ci,after:di,loading:li=!1,enableInput:ai=!1,inputType:pi="text",inputValue:mi,clearable:xi=!1,tabs:ji,search:ui,searchPlaceholder:hi,onOptionClick:bi,onInputChange:gi,onSelectClick:fi,onClose:vi,onPointerLeave:yi,children:wi}=H,$i=i(H,["className","label","value","placeholder","data","fullWidth","contentWidth","error","disabled","skeleton","blur","size","disableSelect","placement","disableScrollbar","before","after","loading","enableInput","inputType","inputValue","clearable","tabs","search","searchPlaceholder","onOptionClick","onInputChange","onSelectClick","onClose","onPointerLeave","children"]);const ki=Y(),{multiple:Ci=!1}=$i,Si=s((i=>{var o,e,n,s,t,r;if($i.multiple&&Array.isArray(i)){const n=i;null===(o=$i.onChange)||void 0===o||o.call($i,n),null===(e=$i.onValueChange)||void 0===e||e.call($i,n.map((i=>"string"==typeof i?i:"string"==typeof i.value?i.value:"")).filter((i=>!!i)))}else $i.multiple||Array.isArray(i)||(null===(n=$i.onChange)||void 0===n||n.call($i,i),i?"string"==typeof i?null===(s=$i.onValueChange)||void 0===s||s.call($i,i):"string"==typeof i.value&&(null===(t=$i.onValueChange)||void 0===t||t.call($i,i.value)):null===(r=$i.onValueChange)||void 0===r||r.call($i,null))}),[$i.multiple,$i.onChange,$i.onValueChange]),Ai=s((i=>{null==gi||gi(i)}),[gi]);let[zi,Oi]=t(Ci?[]:null);void 0!==_&&([zi,Oi]=[_,Si]);let[Li,Ti]=t("");void 0!==mi&&([Li,Ti]=[mi,Ai]);const[Ii,Ei]=t(!1),[Pi,Vi]=t(!1),[Wi,Fi]=t(0),[qi,Mi]=t(0),[Di,Ni]=t(0),[Xi,Yi]=t(ti),[Bi,Hi]=t(""),Ri=s((i=>{Hi(i.currentTarget.value)}),[Hi]),Zi=s((()=>{Vi(!1),null==vi||vi()}),[]),_i=s((i=>{var o;"object"==typeof i&&i.disabled||("object"==typeof i&&i.noSelect?null===(o=null==i?void 0:i.onClick)||void 0===o||o.call(i,i):(null==bi||bi(i),si||(Ci&&Array.isArray(zi)?Oi([...new Set([...zi,i])]):Oi(i)),Zi()))}),[zi,Oi,Ci,bi,si]),Gi=s(((i,o)=>{o.stopPropagation(),Array.isArray(zi)&&Oi("string"==typeof i?zi.filter((o=>"string"==typeof o?o!==i:o.value!==i)):zi.filter((o=>"string"==typeof o?o!==i.value:o.value!==i.value))),Zi()}),[zi]),Ji=s(((i,o)=>{null==fi||fi();const e=Ui.current;if(!e||ii)return;i&&o.stopPropagation();const n=window.innerHeight||document.documentElement.clientHeight,s=e.getBoundingClientRect(),{width:t,height:r}=s;let c=Xi;c=s.top-186<0?"bottom-left":s.bottom+186>n?"top-right"===ti?"top-right":"top-left":ti;let d=0,l=0;switch(c){case"bottom-left":d=s.left+window.scrollX,l=s.top+window.scrollY+r;break;case"top-left":d=s.left+window.scrollX,l=s.top+window.scrollY;break;case"top-right":d=s.left+window.scrollX+t,l=s.top+window.scrollY}Fi(d),Mi(l),Ni(t),Yi(c),Vi(!!i||!Pi)}),[ii,Pi,Xi,ti,fi]),Ki=s((i=>{Ti(i.currentTarget.value)}),[Ti]),Qi=s((()=>{Oi(null),Ti("")}),[Oi,Ti]),Ui=r(null),io=r(null),[oo,eo]=t(null);if(io.current&&!oo){const{height:i}=getComputedStyle(io.current.children[0]);eo(parseInt(i))}return c((()=>{if(Pi){const i=i=>{const o=Ui.current,e=io.current;null!==o&&null!==e&&(o.contains(i.target)||e.contains(i.target)||Zi())};return document.addEventListener("click",i),()=>{document.removeEventListener("click",i)}}}),[Pi]),c((()=>{if(Pi){const i=()=>{Zi()};return document.addEventListener("scroll",i),()=>{document.removeEventListener("scroll",i)}}}),[Pi]),o(F,{selectRef:Ui,handleSelectClick:Ji.bind(null,!1),children:e(d,{$fullWidth:K,$disabled:ii,className:R,onPointerLeave:yi,children:[Z&&oi&&o(l,{children:o(E,{width:100})}),"string"==typeof Z&&!oi&&o(l,{children:Z}),"string"!=typeof Z&&!oi&&Z,wi&&wi,!wi&&e(n,{children:[!oi&&e(a,{$open:Pi,$error:!!U,$disabled:ii,$skeleton:!1,$blur:ei,$loading:li,$multiple:Ci&&Array.isArray(zi)&&zi.length>0,ref:Ui,onClick:Ji.bind(null,!1),children:[e(p,{children:[(!zi||Array.isArray(zi)&&0===zi.length)&&e(n,{children:[ai&&"search"===pi&&o(m,{$focus:Ii}),ai&&o(x,{type:pi,value:Li,placeholder:G,disabled:ii,onClick:Ji.bind(null,!0),onChange:Ki,onFocus:Ei.bind(null,!0),onBlur:Ei.bind(null,!1)}),!ai&&o(j,{$open:Pi,children:G})]}),"string"==typeof zi&&""!==zi&&o(u,{children:o(h,{children:zi})}),zi&&"object"==typeof zi&&!Array.isArray(zi)&&e(u,{children:[zi.icon&&o(V,{fill:ki.colors.base.white,size:18,children:zi.icon}),zi.color&&o(b,{$color:zi.color}),zi.label&&o(W,{label:zi.label,placement:"top-left",disabled:zi.label.length<=128,children:o(B,{children:({handleTooltipMouseEnter:i,handleTooltipMouseLeave:o})=>e(g,{onMouseEnter:i,onMouseLeave:o,children:[zi.label&&zi.label.slice(0,64),zi.label&&zi.label.length>64&&"..."]})})}),!zi.label&&zi.value&&o(g,{children:zi.value})]}),Array.isArray(zi)&&zi.length>0&&o(f,{children:o(v,{children:zi.map(((i,e)=>{var n,s,t;return"string"==typeof i?o(y,{onDelete:Gi.bind(null,i),children:i},i):o(y,{onDelete:Gi.bind(null,i),children:null!==(n=i.label)&&void 0!==n?n:i.value},null!==(t=null!==(s=i.id)&&void 0!==s?s:i.value)&&void 0!==t?t:e)}))})})]}),e(w,{children:[(xi&&zi||ai&&"search"===pi&&!li&&Li||ai&&zi)&&o($,{onClick:Qi}),li&&o(k,{}),o(C,{style:{transform:Pi?"rotateZ(180deg)":"rotateZ(0deg)"}})]})]}),oi&&o(a,{$open:!1,$error:!1,$disabled:!1,$skeleton:!0,$loading:!1,$blur:ei,$multiple:!1,ref:Ui,children:o(S,{})})]}),Pi&&o(P,{children:o(A,{$contentWidth:Q,ref:io,style:Object.assign(Object.assign(Object.assign(Object.assign({},0!==Wi&&Object.assign(Object.assign({},"top-right"!==Xi&&{left:`${Wi}px`}),"top-right"===Xi&&Object.assign(Object.assign({},void 0===Q&&{left:`calc(${Wi}px - ${Di})`}),"number"==typeof Q&&{left:`calc(${Wi}px - ${Q>Di?`calc(var(--bothub-scale, 1) * ${Q}px)`:`${Di}px`})`}))),0!==qi&&{top:`${qi}px`}),void 0===Q&&{width:`${Di}px`}),"number"==typeof Q&&{width:""+(Q>Di?`calc(var(--bothub-scale, 1) * ${Q}px)`:`${Di}px`)}),children:o(z,{$blur:ei,$placement:Xi,style:oo?{height:`${oo}px`}:void 0,children:o(O,{children:e(L,{$size:ni,children:[!!ji&&o(M,{tabs:ji.tabs,variant:"secondary",component:"button",onClick:ji.onTabClick,defaultTabId:ji.defaultTabId}),ui&&o(D,{fullWidth:!0,startIcon:o(N,{}),placeholder:hi,value:Bi,onChange:Ri,variant:"secondary",autoFocus:!0}),ci&&o(T,{$size:ni,$disableScrollbar:ri,children:o(q,{value:zi,data:X(ci,Bi),size:ni,disableSelect:si,onOptionClick:_i})}),o(T,{$size:ni,$disableScrollbar:ri,children:o(q,{value:zi,data:X(J,Bi),size:ni,disableSelect:si,onOptionClick:_i})}),di&&o(T,{$size:ni,$disableScrollbar:ri,children:o(q,{value:zi,data:X(di,Bi),size:ni,disableSelect:si,onOptionClick:_i})})]})})})})}),U&&o(I,{children:U})]})})};export{H as SelectField,C as SelectFieldArrow,A as SelectFieldBlock,O as SelectFieldBlockContent,z as SelectFieldBlockPositionWrapper,$ as SelectFieldClearButton,g as SelectFieldColorValueText,I as SelectFieldErrorText,T as SelectFieldGroup,L as SelectFieldGroups,a as SelectFieldInput,p as SelectFieldInputLeftSide,x as SelectFieldInputNative,w as SelectFieldInputSide,l as SelectFieldLabel,k as SelectFieldLoader,j as SelectFieldPlaceholder,F as SelectFieldProvider,m as SelectFieldSearchIcon,S as SelectFieldSkeleton,d as SelectFieldStyled,u as SelectFieldValue,b as SelectFieldValueColor,v as SelectFieldValueList,y as SelectFieldValueListItem,h as SelectFieldValueText,f as SelectFieldValues};
|
|
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,useState as t,useRef as r,useEffect as c}from"react";import{SelectFieldStyled as d,SelectFieldLabel as l,SelectFieldInput as a,SelectFieldInputLeftSide as p,SelectFieldSearchIcon as m,SelectFieldInputNative as x,SelectFieldPlaceholder as j,SelectFieldValue as u,SelectFieldValueText as h,SelectFieldValueColor as b,SelectFieldColorValueText as g,SelectFieldValues as f,SelectFieldValueList as v,SelectFieldValueListItem as y,SelectFieldInputSide as w,SelectFieldClearButton as $,SelectFieldLoader as k,SelectFieldArrow as C,SelectFieldSkeleton as S,SelectFieldBlock as A,SelectFieldBlockPositionWrapper as z,SelectFieldBlockContent as O,SelectFieldGroups as L,SelectFieldGroup as T,SelectFieldErrorText as I}from"./styled.js";import"../../theme/index.js";import{Skeleton as E}from"../skeleton/index.js";import{Portal as P}from"../portal/index.js";import{IconProvider as V}from"../icon/context.js";import"../icon/styled.js";import{Tooltip as W}from"../tooltip/index.js";import{SelectFieldProvider as F}from"./context.js";export{SelectFieldConsumer,SelectFieldContext,useSelectField}from"./context.js";import{SelectFieldOptions as q}from"./option/list/index.js";import"./option/collapse/styled.js";import{ScrollableTabs as H}from"../scrollable-tabs/index.js";import{TextField as M}from"../text-field/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/minimize/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/unminimize/index.js";import"../../icons/update/index.js";import"../../icons/menu-dot/index.js";import"../../icons/plus-2/index.js";import"../../icons/plus-1/index.js";import"../../icons/send/index.js";import"../../icons/settings/index.js";import"../../icons/habr/index.js";import"../../icons/check-small/index.js";import"../../icons/stop/index.js";import"../../icons/thumb-up/index.js";import"../../icons/thumb-down/index.js";import"../../icons/star/index.js";import"../../icons/info-big/index.js";import"../../icons/warning-big/index.js";import"../../icons/error-big/index.js";import"../../icons/success-big/index.js";import"../../icons/mj/index.js";import"../../icons/card/index.js";import"../../icons/arrow-narrow-up/index.js";import"../../icons/arrow-narrow-down/index.js";import"../../icons/filters/index.js";import"../../icons/info/index.js";import"../../icons/search-circle/index.js";import"../../icons/save/index.js";import"../../icons/light/index.js";import"../../icons/dark/index.js";import"../../icons/email-colored/index.js";import"../../icons/action-chat/index.js";import"../../icons/attach/index.js";import"../../icons/avatar-add/index.js";import"../../icons/brush/index.js";import"../../icons/calendar/index.js";import"../../icons/claude/index.js";import"../../icons/cookie/index.js";import"../../icons/dalle/index.js";import"../../icons/download-img/index.js";import"../../icons/error/index.js";import"../../icons/expand/index.js";import"../../icons/eye/index.js";import"../../icons/face/index.js";import"../../icons/gear/index.js";import"../../icons/gear-min/index.js";import"../../icons/generation/index.js";import"../../icons/gpt-3_5/index.js";import"../../icons/gpt-4/index.js";import"../../icons/imagine/index.js";import"../../icons/imagine-2/index.js";import"../../icons/loader/index.js";import"../../icons/loader-circular/index.js";import"../../icons/loader-circular-gradient/index.js";import"../../icons/loader-circular-gradient-2/index.js";import"../../icons/minus/index.js";import"../../icons/mj-white/index.js";import"../../icons/prompt/index.js";import"../../icons/rabbit/index.js";import"../../icons/ratio-1x1/index.js";import"../../icons/ratio-2x3/index.js";import"../../icons/ratio-3x2/index.js";import"../../icons/ratio-4x5/index.js";import"../../icons/ratio-4x7/index.js";import"../../icons/ratio-5x4/index.js";import"../../icons/ratio-7x4/index.js";import"../../icons/ratio-16x9/index.js";import"../../icons/ratio-9x16/index.js";import"../../icons/ratio-21x9/index.js";import"../../icons/ratio-9x21/index.js";import"../../icons/refferal-min/index.js";import"../../icons/search-data/index.js";import"../../icons/square/index.js";import"../../icons/turtle/index.js";import"../../icons/upscale/index.js";import"../../icons/withdraw/index.js";import"../../icons/search-plus/index.js";import"../../icons/lightning/index.js";import"../../icons/blog-circle/index.js";import"../../icons/stripe/index.js";import"../../icons/corporate/index.js";import"../../icons/public/index.js";import"../../icons/private/index.js";import"../../icons/mistral/index.js";import"../../icons/gemini/index.js";import{SearchSimpleIcon as D}from"../../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{filterData as N}from"./filterData.js";import{useTheme as X}from"../../theme/hook.js";import{TooltipConsumer as Y}from"../tooltip/context.js";const B=B=>{var{className:R,label:Z,value:_,placeholder:G,data:J=[],fullWidth:K=!1,contentWidth:Q,error:U,disabled:ii=!1,skeleton:oi=!1,blur:ei=!1,size:ni="small",disableSelect:si=!1,placement:ti="bottom-left",disableScrollbar:ri=!1,before:ci,after:di,loading:li=!1,enableInput:ai=!1,inputType:pi="text",inputValue:mi,clearable:xi=!1,tabs:ji,search:ui,searchPlaceholder:hi,followContentHeight:bi=!1,onOptionClick:gi,onInputChange:fi,onSelectClick:vi,onClose:yi,onPointerLeave:wi,children:$i}=B,ki=i(B,["className","label","value","placeholder","data","fullWidth","contentWidth","error","disabled","skeleton","blur","size","disableSelect","placement","disableScrollbar","before","after","loading","enableInput","inputType","inputValue","clearable","tabs","search","searchPlaceholder","followContentHeight","onOptionClick","onInputChange","onSelectClick","onClose","onPointerLeave","children"]);const Ci=X(),{multiple:Si=!1}=ki,Ai=s((i=>{var o,e,n,s,t,r;if(ki.multiple&&Array.isArray(i)){const n=i;null===(o=ki.onChange)||void 0===o||o.call(ki,n),null===(e=ki.onValueChange)||void 0===e||e.call(ki,n.map((i=>"string"==typeof i?i:"string"==typeof i.value?i.value:"")).filter((i=>!!i)))}else ki.multiple||Array.isArray(i)||(null===(n=ki.onChange)||void 0===n||n.call(ki,i),i?"string"==typeof i?null===(s=ki.onValueChange)||void 0===s||s.call(ki,i):"string"==typeof i.value&&(null===(t=ki.onValueChange)||void 0===t||t.call(ki,i.value)):null===(r=ki.onValueChange)||void 0===r||r.call(ki,null))}),[ki.multiple,ki.onChange,ki.onValueChange]),zi=s((i=>{null==fi||fi(i)}),[fi]);let[Oi,Li]=t(Si?[]:null);void 0!==_&&([Oi,Li]=[_,Ai]);let[Ti,Ii]=t("");void 0!==mi&&([Ti,Ii]=[mi,zi]);const[Ei,Pi]=t(!1),[Vi,Wi]=t(!1),[Fi,qi]=t(0),[Hi,Mi]=t(0),[Di,Ni]=t(0),[Xi,Yi]=t(ti),[Bi,Ri]=t(""),Zi=s((i=>{Ri(i.currentTarget.value)}),[Ri]),_i=s((()=>{Wi(!1),null==yi||yi()}),[]),Gi=s((i=>{var o;"object"==typeof i&&i.disabled||("object"==typeof i&&i.noSelect?null===(o=null==i?void 0:i.onClick)||void 0===o||o.call(i,i):(null==gi||gi(i),si||(Si&&Array.isArray(Oi)?Li([...new Set([...Oi,i])]):Li(i)),_i()))}),[Oi,Li,Si,gi,si]),Ji=s(((i,o)=>{o.stopPropagation(),Array.isArray(Oi)&&Li("string"==typeof i?Oi.filter((o=>"string"==typeof o?o!==i:o.value!==i)):Oi.filter((o=>"string"==typeof o?o!==i.value:o.value!==i.value))),_i()}),[Oi]),Ki=s(((i,o)=>{null==vi||vi();const e=io.current;if(!e||ii)return;i&&o.stopPropagation();const n=window.innerHeight||document.documentElement.clientHeight,s=e.getBoundingClientRect(),{width:t,height:r}=s;let c=Xi;c=s.top-186<0?"bottom-left":s.bottom+186>n?"top-right"===ti?"top-right":"top-left":ti;let d=0,l=0;switch(c){case"bottom-left":d=s.left+window.scrollX,l=s.top+window.scrollY+r;break;case"top-left":d=s.left+window.scrollX,l=s.top+window.scrollY;break;case"top-right":d=s.left+window.scrollX+t,l=s.top+window.scrollY}qi(d),Mi(l),Ni(t),Yi(c),Wi(!!i||!Vi)}),[ii,Vi,Xi,ti,vi]),Qi=s((i=>{Ii(i.currentTarget.value)}),[Ii]),Ui=s((()=>{Li(null),Ii("")}),[Li,Ii]),io=r(null),oo=r(null),[eo,no]=t(null);if(oo.current&&!eo){const{height:i}=getComputedStyle(oo.current.children[0]);no(parseInt(i))}return c((()=>{if(Vi){const i=i=>{const o=io.current,e=oo.current;null!==o&&null!==e&&(o.contains(i.target)||e.contains(i.target)||_i())};return document.addEventListener("click",i),()=>{document.removeEventListener("click",i)}}}),[Vi]),c((()=>{if(Vi){const i=()=>{_i()};return document.addEventListener("scroll",i),()=>{document.removeEventListener("scroll",i)}}}),[Vi]),o(F,{selectRef:io,handleSelectClick:Ki.bind(null,!1),children:e(d,{$fullWidth:K,$disabled:ii,className:R,onPointerLeave:wi,children:[Z&&oi&&o(l,{children:o(E,{width:100})}),"string"==typeof Z&&!oi&&o(l,{children:Z}),"string"!=typeof Z&&!oi&&Z,$i&&$i,!$i&&e(n,{children:[!oi&&e(a,{$open:Vi,$error:!!U,$disabled:ii,$skeleton:!1,$blur:ei,$loading:li,$multiple:Si&&Array.isArray(Oi)&&Oi.length>0,ref:io,onClick:Ki.bind(null,!1),children:[e(p,{children:[(!Oi||Array.isArray(Oi)&&0===Oi.length)&&e(n,{children:[ai&&"search"===pi&&o(m,{$focus:Ei}),ai&&o(x,{type:pi,value:Ti,placeholder:G,disabled:ii,onClick:Ki.bind(null,!0),onChange:Qi,onFocus:Pi.bind(null,!0),onBlur:Pi.bind(null,!1)}),!ai&&o(j,{$open:Vi,children:G})]}),"string"==typeof Oi&&""!==Oi&&o(u,{children:o(h,{children:Oi})}),Oi&&"object"==typeof Oi&&!Array.isArray(Oi)&&e(u,{children:[Oi.icon&&o(V,{fill:Ci.colors.base.white,size:18,children:Oi.icon}),Oi.color&&o(b,{$color:Oi.color}),Oi.label&&o(W,{label:Oi.label,placement:"top-left",disabled:Oi.label.length<=128,children:o(Y,{children:({handleTooltipMouseEnter:i,handleTooltipMouseLeave:o})=>e(g,{onMouseEnter:i,onMouseLeave:o,children:[Oi.label&&Oi.label.slice(0,64),Oi.label&&Oi.label.length>64&&"..."]})})}),!Oi.label&&Oi.value&&o(g,{children:Oi.value})]}),Array.isArray(Oi)&&Oi.length>0&&o(f,{children:o(v,{children:Oi.map(((i,e)=>{var n,s,t;return"string"==typeof i?o(y,{onDelete:Ji.bind(null,i),children:i},i):o(y,{onDelete:Ji.bind(null,i),children:null!==(n=i.label)&&void 0!==n?n:i.value},null!==(t=null!==(s=i.id)&&void 0!==s?s:i.value)&&void 0!==t?t:e)}))})})]}),e(w,{children:[(xi&&Oi||ai&&"search"===pi&&!li&&Ti||ai&&Oi)&&o($,{onClick:Ui}),li&&o(k,{}),o(C,{style:{transform:Vi?"rotateZ(180deg)":"rotateZ(0deg)"}})]})]}),oi&&o(a,{$open:!1,$error:!1,$disabled:!1,$skeleton:!0,$loading:!1,$blur:ei,$multiple:!1,ref:io,children:o(S,{})})]}),Vi&&o(P,{children:o(A,{$contentWidth:Q,ref:oo,style:Object.assign(Object.assign(Object.assign(Object.assign({},0!==Fi&&Object.assign(Object.assign({},"top-right"!==Xi&&{left:`${Fi}px`}),"top-right"===Xi&&Object.assign(Object.assign({},void 0===Q&&{left:`calc(${Fi}px - ${Di})`}),"number"==typeof Q&&{left:`calc(${Fi}px - ${Q>Di?`calc(var(--bothub-scale, 1) * ${Q}px)`:`${Di}px`})`}))),0!==Hi&&{top:`${Hi}px`}),void 0===Q&&{width:`${Di}px`}),"number"==typeof Q&&{width:""+(Q>Di?`calc(var(--bothub-scale, 1) * ${Q}px)`:`${Di}px`)}),children:o(z,{$blur:ei,$placement:Xi,style:bi&&eo?{height:`${eo}px`}:void 0,children:o(O,{children:e(L,{$size:ni,children:[!!ji&&o(H,{tabs:ji.tabs,variant:"secondary",component:"button",onClick:ji.onTabClick,defaultTabId:ji.defaultTabId}),ui&&o(M,{fullWidth:!0,startIcon:o(D,{}),placeholder:hi,value:Bi,onChange:Zi,variant:"secondary",autoFocus:!0}),ci&&o(T,{$size:ni,$disableScrollbar:ri,children:o(q,{value:Oi,data:N(ci,Bi),size:ni,disableSelect:si,onOptionClick:Gi})}),o(T,{$size:ni,$disableScrollbar:ri,children:o(q,{value:Oi,data:N(J,Bi),size:ni,disableSelect:si,onOptionClick:Gi})}),di&&o(T,{$size:ni,$disableScrollbar:ri,children:o(q,{value:Oi,data:N(di,Bi),size:ni,disableSelect:si,onOptionClick:Gi})})]})})})})}),U&&o(I,{children:U})]})})};export{B as SelectField,C as SelectFieldArrow,A as SelectFieldBlock,O as SelectFieldBlockContent,z as SelectFieldBlockPositionWrapper,$ as SelectFieldClearButton,g as SelectFieldColorValueText,I as SelectFieldErrorText,T as SelectFieldGroup,L as SelectFieldGroups,a as SelectFieldInput,p as SelectFieldInputLeftSide,x as SelectFieldInputNative,w as SelectFieldInputSide,l as SelectFieldLabel,k as SelectFieldLoader,j as SelectFieldPlaceholder,F as SelectFieldProvider,m as SelectFieldSearchIcon,S as SelectFieldSkeleton,d as SelectFieldStyled,u as SelectFieldValue,b as SelectFieldValueColor,v as SelectFieldValueList,y as SelectFieldValueListItem,h as SelectFieldValueText,f as SelectFieldValues};
|