@bothub-chat/ui 2.58.0-feat-documentizer-d3737fca-22da-430f-8537-3c9730cb19c7 → 2.58.0-feat-documentizer-40fdeda7-bbdf-4598-809d-51d0c54181fb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/select-field/index.d.ts +1 -2
- package/dist/components/select-field/index.js +1 -1
- package/dist/components/select-field/select-modal/index.d.ts +1 -2
- package/dist/components/select-field/select-modal/index.js +1 -1
- package/dist/components/select-field/select-modal/option/list/index.js +1 -1
- package/dist/components/select-field/select-modal/option/types.d.ts +0 -1
- package/package.json +1 -1
|
@@ -8,7 +8,6 @@ export type SelectFieldProps = {
|
|
|
8
8
|
fullWidth?: boolean;
|
|
9
9
|
error?: string;
|
|
10
10
|
skeleton?: boolean;
|
|
11
|
-
hideIcon?: boolean;
|
|
12
11
|
searchSampleIcon?: boolean;
|
|
13
12
|
enableInput?: boolean;
|
|
14
13
|
inputType?: SelectFieldInputType;
|
|
@@ -19,7 +18,7 @@ export type SelectFieldProps = {
|
|
|
19
18
|
onInputChange?: SelectFieldInputChangeEventHandler;
|
|
20
19
|
onPointerLeave?: React.PointerEventHandler<HTMLDivElement>;
|
|
21
20
|
} & SelectModalGeneralProps & UseSelectFieldProps & React.PropsWithChildren;
|
|
22
|
-
export declare const SelectField: ({ className, label, placeholder, data, fullWidth, contentWidth, error, skeleton, blur, size,
|
|
21
|
+
export declare const SelectField: ({ className, label, placeholder, data, fullWidth, contentWidth, error, skeleton, blur, size, disableSelect, disableScrollbar, empty, after, loading, searchSampleIcon, enableInput, inputType, inputValue: initialInputValue, clearable, disablePortal, tabs, search, searchPlaceholder, resetStyleState, children, modalWidth, dataTest, selectedColor, compactWidth, modalStyles, openedModel, onSearch, onOptionClick, onGroupCheckboxClick, onInputChange, onPointerLeave, ...useSelectFieldProps }: SelectFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
22
|
export * from './types';
|
|
24
23
|
export * from './styled';
|
|
25
24
|
export * from './context';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as e}from"tslib";import{jsx as l,jsxs as t,Fragment as a}from"react/jsx-runtime";import{useCallback as
|
|
1
|
+
import{__rest as e}from"tslib";import{jsx as l,jsxs as t,Fragment as a}from"react/jsx-runtime";import{useCallback as r,useState as o,useMemo as i}from"react";import{SelectFieldLabel as n,SelectFieldStyled as d,SelectFieldInput as s,SelectFieldSkeleton as c,SelectFieldInputLeftSide as u,SelectFieldSearchSimpleIcon as p,SelectFieldSearchIcon as h,SelectFieldInputNative as m,SelectFieldPlaceholder as b,SelectFieldInputSide as S,SelectFieldClearButton as f,SelectFieldLoader as C,SelectFieldArrow as y,SelectFieldErrorText as g}from"./styled.js";export{SelectFieldColorValueText,SelectFieldValue,SelectFieldValueColor,SelectFieldValueList,SelectFieldValueListItem,SelectFieldValueText,SelectFieldValues}from"./styled.js";import{Skeleton as k}from"../skeleton/index.js";import{SelectModal as $}from"./select-modal/index.js";import{SelectFieldInputValue as v}from"./nodes/value/index.js";import{SelectFieldProvider as x}from"./context.js";export{SelectFieldConsumer,SelectFieldContext,useSelectFieldContext}from"./context.js";import{useSelectField as V}from"./useSelectField.js";const F=F=>{var{className:W,label:j,placeholder:P,data:I,fullWidth:O=!1,contentWidth:T,error:A,skeleton:L=!1,blur:z=!1,size:G="small",disableSelect:M=!1,disableScrollbar:N=!1,empty:R,after:w,loading:B=!1,searchSampleIcon:D=!1,enableInput:q=!1,inputType:E="text",inputValue:H,clearable:J=!1,disablePortal:K,tabs:Q,search:U,searchPlaceholder:X,resetStyleState:Y,children:Z,modalWidth:_,dataTest:ee,selectedColor:le,compactWidth:te,modalStyles:ae,openedModel:re,onSearch:oe,onOptionClick:ie,onGroupCheckboxClick:ne,onInputChange:de,onPointerLeave:se}=F,ce=e(F,["className","label","placeholder","data","fullWidth","contentWidth","error","skeleton","blur","size","disableSelect","disableScrollbar","empty","after","loading","searchSampleIcon","enableInput","inputType","inputValue","clearable","disablePortal","tabs","search","searchPlaceholder","resetStyleState","children","modalWidth","dataTest","selectedColor","compactWidth","modalStyles","openedModel","onSearch","onOptionClick","onGroupCheckboxClick","onInputChange","onPointerLeave"]);const ue=V(ce),{isOpen:pe,triggerRef:he,value:me,disabled:be,multiple:Se,handleClose:fe,handleInputClick:Ce,setValue:ye}=ue,ge=e(ue,["isOpen","triggerRef","value","disabled","multiple","handleClose","handleInputClick","setValue"]),ke=r(e=>{null==de||de(e)},[de]),[$e,ve]=void 0===H?o(""):[H,ke],[xe,Ve]=o(!1),Fe=i(()=>q&&"search"===E,[q,E]),We=i(()=>Se&&Array.isArray(me)&&me.length>0,[Se,me]),je=i(()=>L&&null!=j?l(n,{children:l(k,{width:100})}):"string"==typeof j?l(n,{children:j}):j,[L,j]),Pe=r((e,l)=>{if(l.stopPropagation(),Array.isArray(me)){if("string"==typeof e)return void ye(me.filter(l=>"string"==typeof l?l!==e:l.value!==e));ye(me.filter(l=>"string"==typeof l?l!==e.value:l.value!==e.value))}fe()},[me]),Ie=r(e=>{ve(e.currentTarget.value)},[ve]),Oe=r(()=>{ye(null),ve("")},[ye,ve]);return l(x,{selectRef:he,handleSelectClick:Ce.bind(null,!1),children:t(d,{$fullWidth:O,$disabled:be,className:W,onPointerLeave:se,children:[je,null!=Z?Z:l(a,{children:L?l(s,{$open:!1,$error:!1,$disabled:!1,$skeleton:!0,$loading:!1,$blur:z,$multiple:!1,ref:he,children:l(c,{})}):t(s,{$open:pe,$error:!!A,$disabled:be,$skeleton:!1,$blur:z,$loading:B,$multiple:We,ref:he,onClick:Ce.bind(null,!1),"data-test":ee,children:[t(u,{children:[(!me||Array.isArray(me)&&0===me.length)&&t(a,{children:[Fe&&l(D?p:h,{$focus:xe}),q?l(m,{type:E,value:$e,placeholder:P,disabled:be,onClick:Ce.bind(null,!0),onChange:Ie,onFocus:Ve.bind(null,!0),onBlur:Ve.bind(null,!1)}):l(b,{$open:pe,children:P})]}),l(v,{value:me,handleValueDelete:Pe})]}),t(S,{children:[(me&&(J||q)||Fe&&!B&&$e)&&l(f,{onClick:Oe}),B&&l(C,{}),l(y,{$isOpen:pe})]})]})}),l($,Object.assign({},ge,{isOpen:pe,data:I,contentWidth:T,size:G,disableSelect:M,disableScrollbar:N,empty:R,after:w,tabs:Q,search:U,searchPlaceholder:X,resetStyleState:Y,blur:z,disablePortal:K,value:me,multiple:Se,onSearch:oe,onOptionClick:ie,onGroupCheckboxClick:ne,handleClose:fe,setValue:ye,modalWidth:_,selectedColor:le,compactWidth:te,modalStyles:ae,openedModel:re})),A&&l(g,{children:A})]})})};export{F as SelectField,y as SelectFieldArrow,f as SelectFieldClearButton,g as SelectFieldErrorText,s as SelectFieldInput,u as SelectFieldInputLeftSide,m as SelectFieldInputNative,S as SelectFieldInputSide,n as SelectFieldLabel,C as SelectFieldLoader,b as SelectFieldPlaceholder,x as SelectFieldProvider,h as SelectFieldSearchIcon,p as SelectFieldSearchSimpleIcon,c as SelectFieldSkeleton,d as SelectFieldStyled,$ as SelectModal,V as useSelectField};
|
|
@@ -11,7 +11,6 @@ export type SelectModalGeneralProps = {
|
|
|
11
11
|
disableScrollbar?: boolean;
|
|
12
12
|
empty?: React.ReactNode;
|
|
13
13
|
after?: SelectFieldData;
|
|
14
|
-
hideIcon?: boolean;
|
|
15
14
|
tabs?: Omit<ScrollableTabsProps, 'variant' | 'component'>;
|
|
16
15
|
search?: boolean;
|
|
17
16
|
searchPlaceholder?: string;
|
|
@@ -28,6 +27,6 @@ export type SelectModalGeneralProps = {
|
|
|
28
27
|
onGroupCheckboxClick?: SelectFieldGroupCheckboxClickEventHandler;
|
|
29
28
|
};
|
|
30
29
|
export type SelectModalProps = SelectModalGeneralProps & Omit<UseSelectFieldReturnType, 'disabled' | 'handleInputClick' | 'maxHeight' | 'triggerRef'>;
|
|
31
|
-
export declare const SelectModal: ({ isOpen, data: initialData, contentWidth, contentHeight, size, disableSelect, disableScrollbar, empty, after, tabs, search, searchPlaceholder, resetStyleState, placement, selectModalRef, disablePortal, blur, x, y, width, isKeyboardOpen, value,
|
|
30
|
+
export declare const SelectModal: ({ isOpen, data: initialData, contentWidth, contentHeight, size, disableSelect, disableScrollbar, empty, after, tabs, search, searchPlaceholder, resetStyleState, placement, selectModalRef, disablePortal, blur, x, y, width, isKeyboardOpen, value, multiple, modalWidth, openedModel, selectedColor, compactWidth, modalStyles, onSearch, onOptionClick, onGroupCheckboxClick, handleClose, setValue, }: SelectModalProps) => import("react/jsx-runtime").JSX.Element;
|
|
32
31
|
export * from './styled';
|
|
33
32
|
export * from './option';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as i}from"tslib";import{jsx as o,jsxs as s}from"react/jsx-runtime";import n,{useState as e,useRef as t,useCallback as r,useEffect as c,useMemo as d}from"react";import{SelectModalStyled as p,SelectModalPositionWrapper as m,SelectModalContent as x,SelectModalGroups as j,SelectModalTabsContainer as a,SelectModalTabs as l,SelectModalSearch as b,SelectModalAfter as g}from"./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/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/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 u}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"../../../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"../../../icons/bulb/index.js";import"../../../icons/prompt-queue/index.js";import"../../../icons/image/index.js";import"../../../icons/text/index.js";import"../../../icons/code/index.js";import"../../../icons/blue-grok/index.js";import"../../../icons/double-image/index.js";import"../../../icons/pdf-black/index.js";import"../../../icons/csv/index.js";import"../../../icons/xls-black/index.js";import"../../../icons/word-black/index.js";import"../../../icons/brain-black/index.js";import"../../../icons/txt-black/index.js";import"../../../icons/folder/index.js";import{Portal as h}from"../../portal/index.js";import{SelectFieldGroup as f}from"./select-field-group/index.js";import{SelectFieldOptions as y}from"./option/list/index.js";import"./option/collapse/styled.js";import"../../icon/styled.js";import"@react-spring/web";import"react-markdown";import"../../tooltip/styled.js";import"../../tooltip/arrow/styled.js";import"../../../theme/index.js";import"../../tooltip/context.js";import{filterData as k}from"./filterData.js";const w=({isOpen:w,data:v=[],contentWidth:C,contentHeight:O,size:$="small",disableSelect:S=!1,disableScrollbar:z=!1,empty:q,after:W,tabs:T,search:I,searchPlaceholder:P,resetStyleState:A,placement:G,selectModalRef:H,disablePortal:M,blur:B=!1,x:D,y:F,width:K,isKeyboardOpen:R,value:V,hideIcon:_,multiple:E,modalWidth:J,openedModel:L,selectedColor:N,compactWidth:Q,modalStyles:U,onSearch:X,onOptionClick:Y,onGroupCheckboxClick:Z,handleClose:ii,setValue:oi})=>{const[si,ni]=e([]),[ei,ti]=e(""),ri=t(0),ci=r(i=>{const{value:o}=i.currentTarget;null==X||X(o),ti(o)},[X,ti]),di=r(i=>{var o;if("object"!=typeof i||!i.disabled){if("object"==typeof i&&i.noSelect)return null===(o=null==i?void 0:i.onClick)||void 0===o||o.call(i,i),void ii();null==Y||Y(i),S||"object"==typeof i&&("checkbox"===i.type||"checkbox-group"===i.type)||(E&&Array.isArray(V)?oi([...new Set([...V,i])]):oi(i)),("object"!=typeof i||"checkbox"!==i.type&&"checkbox-group"!==i.type)&&ii()}},[V,E,S,oi,Y,ii]);c(()=>{ni(L?[L]:[]),ri.current=0,ti("")},[A,L]);const pi=r(i=>{ri.current=0,ni([]),T&&T.onClick&&T.onClick(i)},[T]),mi=r(i=>ni(o=>o.includes(i)?o.filter(o=>o!==i):[...o,i]),[]),xi=d(()=>M?n.Fragment:h,[M]),ji=d(()=>v.map(o=>{if(o&&"object"==typeof o&&"collapse"===o.type&&o.id&&!o.disabled){const{onClick:s}=o,n=i(o,["onClick"]),e=()=>{s&&s(o),o.id&&mi(o.id)},t=si.includes(o.id);return Object.assign(Object.assign({},n),{open:t,onClick:e})}return o}),[v,si,mi]);return o(xi,{children:o(p,{$isOpen:w,$contentWidth:C,$disablePortal:M,$placement:G,ref:H,style:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},U),0!==D&&Object.assign(Object.assign({},"top-right"!==G&&{left:D}),"top-right"===G&&Object.assign(Object.assign({},void 0===C&&{left:`calc(${D}px - ${K})`}),"number"==typeof C&&{left:`calc(${D}px - ${C>K?`calc(var(--bothub-scale, 1) * ${C}px)`:`${K}px`})`}))),0!==F&&{top:F}),void 0===C&&{width:K}),"number"==typeof C&&{width:C>K?`calc(var(--bothub-scale, 1) * ${C}px)`:K}),children:o(m,{$blur:B,$placement:G,$width:J,$compactWidth:Q,style:Object.assign(Object.assign({},"number"==typeof O&&O>=0&&{height:`calc(var(--bothub-scale, 1) * ${O}px)`}),"string"==typeof O&&{height:O}),children:o(x,{children:s(j,{$size:$,children:[!!T&&o(a,{children:o(l,Object.assign({},T,{onClick:pi}))}),I&&o(b,{startIcon:o(u,{}),placeholder:P,value:ei,onChange:ci,onClick:()=>{R.current=!0},onBlur:()=>setTimeout(()=>{R.current=!1},500)}),ji.length>0?o(f,{scrollTop:ri.current,onScrollTopChange:i=>{ri.current=i},$size:$,$disableScrollbar:z,$followContentHeight:!!O,children:o(y,{value:V,hideIcon:_,data:X?ji:k(ji,ei),size:$,disableSelect:S,onGroupCheckboxClick:Z,onOptionClick:di,selectedColor:N})}):q,W&&o(g,{children:o(y,{value:V,data:W,size:$,disableSelect:S,onOptionClick:di,selectedColor:N})})]})})})})})};export{y as SelectFieldOptions,w as SelectModal,g as SelectModalAfter,x as SelectModalContent,j as SelectModalGroups,m as SelectModalPositionWrapper,b as SelectModalSearch,p as SelectModalStyled,l as SelectModalTabs,a as SelectModalTabsContainer};
|
|
1
|
+
import{__rest as i}from"tslib";import{jsx as o,jsxs as s}from"react/jsx-runtime";import n,{useState as e,useRef as t,useCallback as r,useEffect as c,useMemo as d}from"react";import{SelectModalStyled as p,SelectModalPositionWrapper as m,SelectModalContent as x,SelectModalGroups as j,SelectModalTabsContainer as a,SelectModalTabs as l,SelectModalSearch as b,SelectModalAfter as g}from"./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/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/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 u}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"../../../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"../../../icons/bulb/index.js";import"../../../icons/prompt-queue/index.js";import"../../../icons/image/index.js";import"../../../icons/text/index.js";import"../../../icons/code/index.js";import"../../../icons/blue-grok/index.js";import"../../../icons/double-image/index.js";import"../../../icons/pdf-black/index.js";import"../../../icons/csv/index.js";import"../../../icons/xls-black/index.js";import"../../../icons/word-black/index.js";import"../../../icons/brain-black/index.js";import"../../../icons/txt-black/index.js";import"../../../icons/folder/index.js";import{Portal as h}from"../../portal/index.js";import{SelectFieldGroup as f}from"./select-field-group/index.js";import{SelectFieldOptions as y}from"./option/list/index.js";import"./option/collapse/styled.js";import"../../icon/styled.js";import"@react-spring/web";import"react-markdown";import"../../tooltip/styled.js";import"../../tooltip/arrow/styled.js";import"../../../theme/index.js";import"../../tooltip/context.js";import{filterData as k}from"./filterData.js";const w=({isOpen:w,data:v=[],contentWidth:C,contentHeight:O,size:$="small",disableSelect:S=!1,disableScrollbar:z=!1,empty:q,after:W,tabs:T,search:P,searchPlaceholder:A,resetStyleState:G,placement:H,selectModalRef:M,disablePortal:B,blur:D=!1,x:F,y:I,width:K,isKeyboardOpen:R,value:V,multiple:_,modalWidth:E,openedModel:J,selectedColor:L,compactWidth:N,modalStyles:Q,onSearch:U,onOptionClick:X,onGroupCheckboxClick:Y,handleClose:Z,setValue:ii})=>{const[oi,si]=e([]),[ni,ei]=e(""),ti=t(0),ri=r(i=>{const{value:o}=i.currentTarget;null==U||U(o),ei(o)},[U,ei]),ci=r(i=>{var o;if("object"!=typeof i||!i.disabled){if("object"==typeof i&&i.noSelect)return null===(o=null==i?void 0:i.onClick)||void 0===o||o.call(i,i),void Z();null==X||X(i),S||"object"==typeof i&&("checkbox"===i.type||"checkbox-group"===i.type)||(_&&Array.isArray(V)?ii([...new Set([...V,i])]):ii(i)),("object"!=typeof i||"checkbox"!==i.type&&"checkbox-group"!==i.type)&&Z()}},[V,_,S,ii,X,Z]);c(()=>{si(J?[J]:[]),ti.current=0,ei("")},[G,J]);const di=r(i=>{ti.current=0,si([]),T&&T.onClick&&T.onClick(i)},[T]),pi=r(i=>si(o=>o.includes(i)?o.filter(o=>o!==i):[...o,i]),[]),mi=d(()=>B?n.Fragment:h,[B]),xi=d(()=>v.map(o=>{if(o&&"object"==typeof o&&"collapse"===o.type&&o.id&&!o.disabled){const{onClick:s}=o,n=i(o,["onClick"]),e=()=>{s&&s(o),o.id&&pi(o.id)},t=oi.includes(o.id);return Object.assign(Object.assign({},n),{open:t,onClick:e})}return o}),[v,oi,pi]);return o(mi,{children:o(p,{$isOpen:w,$contentWidth:C,$disablePortal:B,$placement:H,ref:M,style:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Q),0!==F&&Object.assign(Object.assign({},"top-right"!==H&&{left:F}),"top-right"===H&&Object.assign(Object.assign({},void 0===C&&{left:`calc(${F}px - ${K})`}),"number"==typeof C&&{left:`calc(${F}px - ${C>K?`calc(var(--bothub-scale, 1) * ${C}px)`:`${K}px`})`}))),0!==I&&{top:I}),void 0===C&&{width:K}),"number"==typeof C&&{width:C>K?`calc(var(--bothub-scale, 1) * ${C}px)`:K}),children:o(m,{$blur:D,$placement:H,$width:E,$compactWidth:N,style:Object.assign(Object.assign({},"number"==typeof O&&O>=0&&{height:`calc(var(--bothub-scale, 1) * ${O}px)`}),"string"==typeof O&&{height:O}),children:o(x,{children:s(j,{$size:$,children:[!!T&&o(a,{children:o(l,Object.assign({},T,{onClick:di}))}),P&&o(b,{startIcon:o(u,{}),placeholder:A,value:ni,onChange:ri,onClick:()=>{R.current=!0},onBlur:()=>setTimeout(()=>{R.current=!1},500)}),xi.length>0?o(f,{scrollTop:ti.current,onScrollTopChange:i=>{ti.current=i},$size:$,$disableScrollbar:z,$followContentHeight:!!O,children:o(y,{value:V,data:U?xi:k(xi,ni),size:$,disableSelect:S,onGroupCheckboxClick:Y,onOptionClick:ci,selectedColor:L})}):q,W&&o(g,{children:o(y,{value:V,data:W,size:$,disableSelect:S,onOptionClick:ci,selectedColor:L})})]})})})})})};export{y as SelectFieldOptions,w as SelectModal,g as SelectModalAfter,x as SelectModalContent,j as SelectModalGroups,m as SelectModalPositionWrapper,b as SelectModalSearch,p as SelectModalStyled,l as SelectModalTabs,a as SelectModalTabsContainer};
|
|
@@ -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"../../../../../icons/bulb/index.js";import"../../../../../icons/prompt-queue/index.js";import"../../../../../icons/image/index.js";import"../../../../../icons/text/index.js";import"../../../../../icons/code/index.js";import"../../../../../icons/blue-grok/index.js";import"../../../../../icons/double-image/index.js";import"../../../../../icons/pdf-black/index.js";import"../../../../../icons/csv/index.js";import"../../../../../icons/xls-black/index.js";import"../../../../../icons/word-black/index.js";import"../../../../../icons/brain-black/index.js";import"../../../../../icons/txt-black/index.js";import"../../../../../icons/folder/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,hideIcon:I=!1,disableSelect:N=!1,selectedColor:_,onGroupCheckboxClick:B,onOptionClick:H}=D,J=i(D,["value","data","size","hideIcon","disableSelect","selectedColor","onGroupCheckboxClick","onOptionClick"]);const K=T(),Q=s(i=>{null==H||H(i)},[H]);return o(t,Object.assign({$size:F},J,{children:G.map((i,s)=>{var t,T,D,G,J,R,U,V,W,X,Y,Z,ii,oi,ei,ni,si,ti,ri,di;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:Q.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:[!I&&o(y,{size:34,fill:K.colors.grayScale.gray1,children:null!==(J=i.icon)&&void 0!==J?J:o(C,{})}),o(l,{children:i.label})]},null!==(U=null!==(R=i.id)&&void 0!==R?R:i.value)&&void 0!==U?U:`empty-${s}`);if("radio"===i.type){const t=o=>{o.preventDefault(),Q(i)},r=null!==(W=null!==(V=i.id)&&void 0!==V?V:i.value)&&void 0!==W?W:`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!==(X=i.selected)&&void 0!==X&&X,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(),Q(i)},t=null!==(Z=null!==(Y=i.id)&&void 0!==Y?Y:i.value)&&void 0!==Z?Z:`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:K.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!==(ii=i.data)&&void 0!==ii?ii:[],size:F,disableSelect:N,onOptionClick:H,selectedColor:_})},n=null!==(ei=null!==(oi=i.id)&&void 0!==oi?oi:i.value)&&void 0!==ei?ei:`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!==(si=null!==(ni=i.id)&&void 0!==ni?ni:i.value)&&void 0!==si?si:`checkbox-group-${s}`;return o(E,{SelectFieldOptions:A,data:null!==(ti=i.data)&&void 0!==ti?ti:[],size:F,value:P,icon:i.disabled?i.end:void 0,onGroupCheckboxClick:B,onOptionClick:H,item:i},e)}const ci=!!i.disabled;let pi;pi=!(!P||Array.isArray(P))&&(("string"==typeof P?i.value===P:i.value===P.value)&&!N);const li=null!==(di=null!==(ri=i.id)&&void 0!==ri?ri:i.value)&&void 0!==di?di:s,mi={item:i,selected:pi,disabled:ci,size:F,selectedColor:_,onClick:Q.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({},mi,{onMouseEnter:e,onMouseLeave:n,"data-test":i.label}))})}),li):o(M,Object.assign({"data-test":i.label},mi),li)})}))};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"../../../../../icons/bulb/index.js";import"../../../../../icons/prompt-queue/index.js";import"../../../../../icons/image/index.js";import"../../../../../icons/text/index.js";import"../../../../../icons/code/index.js";import"../../../../../icons/blue-grok/index.js";import"../../../../../icons/double-image/index.js";import"../../../../../icons/pdf-black/index.js";import"../../../../../icons/csv/index.js";import"../../../../../icons/xls-black/index.js";import"../../../../../icons/word-black/index.js";import"../../../../../icons/brain-black/index.js";import"../../../../../icons/txt-black/index.js";import"../../../../../icons/folder/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};
|
|
@@ -5,7 +5,6 @@ export type SelectFieldGroupCheckboxClickEventHandler = (item: SelectFieldDataIt
|
|
|
5
5
|
export interface SelectFieldOptionsProps extends React.ComponentProps<'div'> {
|
|
6
6
|
value: SelectFieldDataItem | SelectFieldDataItem[] | null;
|
|
7
7
|
data: SelectFieldData;
|
|
8
|
-
hideIcon?: boolean;
|
|
9
8
|
size: SelectFieldSize;
|
|
10
9
|
disableSelect?: boolean;
|
|
11
10
|
selectedColor?: string;
|
package/package.json
CHANGED