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}from"./iframe-DaN-XFub.js";import{a as i,c as a,i as o}from"./Input-Co--DMHY.js";var s=t({NumberControlled:()=>f,PatternValidation:()=>p,TextControlled:()=>d,WithError:()=>m,__namedExportsOrder:()=>h,default:()=>u}),c,l,u,d,f,p,m,h;function g(){return(g=e((()=>{c=n(),a(),l=r(),u={title:`Shared/UI/Input`,component:i,args:{value:``,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Плейсхолдер нативного поля ввода.`,control:`text`},value:{description:`Текущее значение поля.`,control:`text`},onChange:{description:`Вызывается при изменении значения.`,control:!1},onClear:{description:`Callback кнопки очистки справа.`,control:!1},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается при вводе для сброса внешней ошибки.`,control:!1},disabled:{description:`Блокирует редактирование.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},allowedPattern:{description:`Регулярное выражение для валидации введенной строки.`,control:!1}}},d={render:e=>{let[t,n]=(0,c.useState)(e.value??``);return(0,l.jsx)(i,{...e,value:t,onChange:n,onClear:()=>n(``)})},args:{label:`Наименование`,description:`Пример обычного текстового поля.`,placeholder:`Введите значение`,value:``,size:`md`}},f={render:()=>{let[e,t]=(0,c.useState)(25);return(0,l.jsx)(o,{label:`Количество`,description:`Числовой ввод с min/max.`,placeholder:`0`,value:e,min:0,max:100,onChange:t,onClear:()=>t(0)})},args:{value:void 0}},p={render:()=>{let[e,t]=(0,c.useState)(``);return(0,l.jsx)(i,{label:`Только цифры`,description:"`allowedPattern` подсвечивает невалидный ввод.",placeholder:`12345`,value:e,onChange:t,allowedPattern:/^\d*$/})},args:{value:void 0}},m={render:()=>{let[e,t]=(0,c.useState)(`admin`),[n,r]=(0,c.useState)(`Логин уже занят`);return(0,l.jsx)(i,{label:`Логин`,value:e,error:n,onChange:t,onClear:()=>t(``),onClearError:()=>r(``)})},args:{value:void 0}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
  render: args => {
    const [value, setValue] = useState(args.value ?? "");
    return <InputText {...args} value={value} onChange={setValue} onClear={() => setValue("")} />;
  },
  args: {
    label: "Наименование",
    description: "Пример обычного текстового поля.",
    placeholder: "Введите значение",
    value: "",
    size: "md"
  }
}`,...d.parameters?.docs?.source}}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
  render: () => {
    const [value, setValue] = useState<number | undefined>(25);
    return <InputNumber label="Количество" description="Числовой ввод с min/max." placeholder="0" value={value} min={0} max={100} onChange={setValue} onClear={() => setValue(0)} />;
  },
  args: {
    value: undefined
  }
}`,...f.parameters?.docs?.source}}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
  render: () => {
    const [value, setValue] = useState("");
    return <InputText label="Только цифры" description="\`allowedPattern\` подсвечивает невалидный ввод." placeholder="12345" value={value} onChange={setValue} allowedPattern={/^\\d*$/} />;
  },
  args: {
    value: undefined
  }
}`,...p.parameters?.docs?.source}}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
  render: () => {
    const [value, setValue] = useState("admin");
    const [error, setError] = useState("Логин уже занят");
    return <InputText label="Логин" value={value} error={error} onChange={setValue} onClear={() => setValue("")} onClearError={() => setError("")} />;
  },
  args: {
    value: undefined
  }
}`,...m.parameters?.docs?.source}}},h=[`TextControlled`,`NumberControlled`,`PatternValidation`,`WithError`]})))()}export{m as a,d as i,f as n,g as o,p as r,s as t};