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-Clpeg9q7.js";import{n as a}from"./iframe-DaN-XFub.js";var o=t({Controlled:()=>u,Disabled:()=>p,Sizes:()=>f,Tones:()=>d,__namedExportsOrder:()=>m,default:()=>l}),s,c,l,u,d,f,p,m;function h(){return(h=e((()=>{s=n(),r(),c=a(),l={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`,`error`,`warning`,`success`,`info`]}}},u={render:e=>{let[t,n]=(0,s.useState)(e.value??!1);return(0,c.jsx)(i,{...e,value:t,onChange:n})},args:{label:`Принимать условия`,description:`Подтверждение условий использования сервиса.`,value:!1,size:`md`,disabled:!1,tone:`neutral`}},d={render:()=>{let[e,t]=(0,s.useState)({neutral:!0,info:!0,success:!0,warning:!0,error:!0});return(0,c.jsx)(`div`,{style:{display:`grid`,gap:12},children:[`neutral`,`info`,`success`,`warning`,`error`].map(n=>(0,c.jsx)(i,{tone:n,label:`Тон ${n}`,value:e[n],onChange:e=>t(t=>({...t,[n]:e}))},n))})}},f={render:()=>{let[e,t]=(0,s.useState)({xs:!1,sm:!0,md:!1,lg:!0,xl:!1});return(0,c.jsx)(`div`,{style:{display:`grid`,gap:12},children:[`xs`,`sm`,`md`,`lg`,`xl`].map(n=>(0,c.jsx)(i,{size:n,label:`Размер ${n}`,value:e[n],onChange:e=>t(t=>({...t,[n]:e}))},n))})}},p={args:{label:`Недоступный чекбокс`,description:`Изменение недоступно из-за прав доступа.`,value:!0,disabled:!0,tone:`neutral`}},u.parameters={...u.parameters,docs:{...u.parameters?.docs,source:{originalSource:`{
  render: args => {
    const [value, setValue] = useState(args.value ?? false);
    return <CheckBox {...args} value={value} onChange={setValue} />;
  },
  args: {
    label: "Принимать условия",
    description: "Подтверждение условий использования сервиса.",
    value: false,
    size: "md",
    disabled: false,
    tone: "neutral"
  }
}`,...u.parameters?.docs?.source}}},d.parameters={...d.parameters,docs:{...d.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>;
  }
}`,...d.parameters?.docs?.source}}},f.parameters={...f.parameters,docs:{...f.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>;
  }
}`,...f.parameters?.docs?.source}}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
  args: {
    label: "Недоступный чекбокс",
    description: "Изменение недоступно из-за прав доступа.",
    value: true,
    disabled: true,
    tone: "neutral"
  }
}`,...p.parameters?.docs?.source}}},m=[`Controlled`,`Tones`,`Sizes`,`Disabled`]})))()}export{d as a,f as i,u as n,h as o,p as r,o as t};