@bothub-chat/ui
Version:
Bothub UI Components
2 lines (1 loc) • 1.62 kB
JavaScript
import{__rest as t}from"tslib";import{jsxs as o,jsx as e}from"react/jsx-runtime";import{useState as i,useLayoutEffect as r}from"react";import{SelectFieldCollapseOptionStyled as s,SelectFieldCollapseOptionHead as l,SelectFieldCollapseOptionHeadSide as n,SelectFieldCollapseOptionText as c,SelectFieldCollapseOptionArrow as p,SelectFieldCollapseOptionBody as d}from"./styled.js";import{IconProvider as m}from"../../../../icon/context.js";import"../../../../icon/styled.js";import"@react-spring/web";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{useTheme as a}from"../../../../../theme/hook.js";const f=f=>{var j,h,{size:b,item:y,children:g,onClick:z,icon:$}=f,u=t(f,["size","item","children","onClick","icon"]);const x=a(),[k,v]=i("string"!=typeof y&&(null!==(j=y.open)&&void 0!==j&&j));let w;w="string"!=typeof y&&!!y.disabled,r((()=>{"string"!=typeof y&&v(Boolean(y.open))}),[y]);const C="string"==typeof y?y:null!==(h=y.label)&&void 0!==h?h:y.value;return o(s,Object.assign({},u,{$size:b,"data-test":C,children:[o(l,Object.assign({$disabled:w,$size:b},!w&&{onClick:()=>{v((t=>!t)),z&&z(y)}},{children:[o(n,{$size:b,children:["object"==typeof y&&y.icon&&e(m,{size:"large"===b?24:16,fill:x.colors.base.white,children:y.icon}),e(c,{$size:b,$bold:"object"==typeof y&&y.bold,children:C})]}),e(n,{$size:b,children:$||e(p,{style:{transform:k?"rotateZ(180deg)":"rotateZ(0deg)"}})})]})),k&&e(d,{children:g})]}))};export{f as SelectFieldCollapseOption};