UNPKG

@bothub-chat/ui

Version:

Bothub UI Components

2 lines (1 loc) 2.47 kB
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as o,useLayoutEffect as i}from"react";import"tslib";import{IconProvider as n}from"../../../../icon/context.js";import"../../../../icon/styled.js";import"@react-spring/web";import"react-markdown";import"react-dom";import"../../../../portal/styled.js";import"../../../../tooltip/styled.js";import"../../../../tooltip/arrow/styled.js";import"../../../../../theme/index.js";import"../../../../tooltip/context.js";import{Checkbox as r}from"../../../../checkbox/index.js";import{SelectFieldCheckboxGroupOptionStyled as l,SelectFieldCheckboxGroupOptionHead as c,SelectFieldCheckboxGroupOptionHeadLeftSide as s,SelectFieldCheckboxGroupOptionHeadTextWrapper as d,SelectFieldCheckboxGroupOptionHeadText as p,SelectFieldCheckboxGroupOptionHeadCounter as m,SelectFieldCheckboxGroupOptionHeadRightSide as a,SelectFieldCheckboxGroupOptionArrow as h,SelectFieldCheckboxGroupOptionContent as f,ShowMoreButton as g}from"./styled.js";import{useTheme as y}from"../../../../../theme/hook.js";const u=({item:u,value:k,size:j,data:b,onOptionClick:v,onGroupCheckboxClick:x,icon:C,SelectFieldOptions:O})=>{var w,z;const F=y(),[I,S]=o(!1),[Z,$]=o("string"!=typeof u&&(null!==(w=u.open)&&void 0!==w&&w));let B;B="string"!=typeof u&&!!u.disabled;const G="string"!=typeof u?u.open:void 0;i(()=>{"string"!=typeof u&&$(Boolean(u.open))},[G]);const P="string"==typeof u?u:null!==(z=u.label)&&void 0!==z?z:u.value,q=b.length>5,A=I?b:b.slice(0,5),D=()=>{if(!b||0===b.length)return null;const e=b.filter(e=>"string"!=typeof e),t=e.filter(e=>"selected"in e&&!0===e.selected).length,o=e.length;return 0===t?null:t===o&&o>0?"все":t},E="string"!=typeof u&&"selected"in u&&u.selected,H="string"!=typeof u&&"checkedIcon"in u&&u.checkedIcon;return e(l,{children:[e(c,Object.assign({$disabled:B},!B&&{onClick:()=>{$(e=>!e)}},{children:[e(s,{children:["object"==typeof u&&u.icon&&t(n,{size:16,fill:F.colors.base.white,children:u.icon}),e(d,{children:[t(p,{children:P}),t(m,{children:null!==D()&&`(${D()})`})]})]}),e(a,{children:[C||t(h,{style:{transform:Z?"rotateZ(180deg)":"rotateZ(0deg)"}}),t("div",{onClick:e=>{e.stopPropagation(),null==x||x(u)},children:t(r,{preventScrollOnFocus:!0,displayFlex:!0,checkedIcon:H,checked:E,size:16})})]})]})),Z&&e(f,{children:[t(O,{value:k,data:A,size:j,onOptionClick:v}),q&&t(g,{onClick:()=>{S(e=>!e)},children:I?"Скрыть ":"Показать "})]})]})};export{u as SelectFieldCheckboxGroupOption};