import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r,t as i}from"./CheckBox-BOHDpEo9.js";import{n as a}from"./iframe-GrlyTB2d.js";import{n as o,t as s}from"./createControlledStoryRender-DHsyXc1B.js";var c=t({Controlled:()=>p,Disabled:()=>g,Sizes:()=>h,Tones:()=>m,__namedExportsOrder:()=>_,default:()=>f}),l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{l=n(),o(),r(),u=a(),d=s((e,t)=>(0,u.jsx)(i,{...e,value:e.value??!1,onChange:n=>{e.onChange?.(n),t({value:n})}})),f={title:`Shared/UI/CheckBox`,component:i,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст основной подписи чекбокса.`,control:`text`},description:{description:`Дополнительное описание под элементом.`,control:`text`},placeholder:{description:"Текст подписи, если `label` не задан.",control:`text`},value:{description:`Текущее состояние чекбокса.`,control:`boolean`},onChange:{description:`Вызывается при изменении состояния.`,control:!1},disabled:{description:`Блокирует взаимодействие с элементом.`,control:`boolean`},size:{description:`Размер визуального контрола и текста.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},tone:{description:`Цветовой тон чекбокса.`,control:`inline-radio`,options:[`neutral`,`brand`,`error`,`warning`,`success`,`info`]},noWrap:{description:`Не переносит текст подписи на новую строку.`,control:`boolean`},indeterminate:{description:'Показывает частично выбранное состояние с `aria-checked="mixed"`.',control:`boolean`}}},p={render:d,args:{label:`Принимать условия`,description:`Подтверждение условий использования сервиса.`,value:!1,size:`md`,disabled:!1,tone:`neutral`}},m={render:()=>{let[e,t]=(0,l.useState)({neutral:!0,info:!0,success:!0,warning:!0,error:!0});return(0,u.jsx)(`div`,{style:{display:`grid`,gap:12},children:[`neutral`,`info`,`success`,`warning`,`error`].map(n=>(0,u.jsx)(i,{tone:n,label:`Тон ${n}`,value:e[n],onChange:e=>t(t=>({...t,[n]:e}))},n))})}},h={render:()=>{let[e,t]=(0,l.useState)({xs:!1,sm:!0,md:!1,lg:!0,xl:!1});return(0,u.jsx)(`div`,{style:{display:`grid`,gap:12},children:[`xs`,`sm`,`md`,`lg`,`xl`].map(n=>(0,u.jsx)(i,{size:n,label:`Размер ${n}`,value:e[n],onChange:e=>t(t=>({...t,[n]:e}))},n))})}},g={render:d,args:{label:`Недоступный чекбокс`,description:`Изменение недоступно из-за прав доступа.`,value:!0,disabled:!0,tone:`neutral`}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
  render: renderCheckBoxStory,
  args: {
    label: "Принимать условия",
    description: "Подтверждение условий использования сервиса.",
    value: false,
    size: "md",
    disabled: false,
    tone: "neutral"
  }
}`,...p.parameters?.docs?.source}}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
  render: () => {
    const [values, setValues] = useState<Record<string, boolean>>({
      neutral: true,
      info: true,
      success: true,
      warning: true,
      error: true
    });
    return <div style={{
      display: "grid",
      gap: 12
    }}>
                {(["neutral", "info", "success", "warning", "error"] as const).map(tone => <CheckBox key={tone} tone={tone} label={\`Тон \${tone}\`} value={values[tone]} onChange={next => setValues(prev => ({
        ...prev,
        [tone]: next
      }))} />)}
            </div>;
  }
}`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
  render: () => {
    const [values, setValues] = useState<Record<string, boolean>>({
      xs: false,
      sm: true,
      md: false,
      lg: true,
      xl: false
    });
    return <div style={{
      display: "grid",
      gap: 12
    }}>
                {(["xs", "sm", "md", "lg", "xl"] as const).map(size => <CheckBox key={size} size={size} label={\`Размер \${size}\`} value={values[size]} onChange={next => setValues(prev => ({
        ...prev,
        [size]: next
      }))} />)}
            </div>;
  }
}`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
  render: renderCheckBoxStory,
  args: {
    label: "Недоступный чекбокс",
    description: "Изменение недоступно из-за прав доступа.",
    value: true,
    disabled: true,
    tone: "neutral"
  }
}`,...g.parameters?.docs?.source}}},_=[`Controlled`,`Tones`,`Sizes`,`Disabled`]})))()}export{m as a,h as i,p as n,v as o,g as r,c as t};