import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{n}from"./iframe-GrlyTB2d.js";import{n as r,t as i}from"./createControlledStoryRender-DHsyXc1B.js";import{n as a,t as o}from"./InputFile-C__aaBc0.js";var s=t({ArrayBufferMode:()=>g,Controlled:()=>m,WithInitialValue:()=>h,__namedExportsOrder:()=>_,default:()=>d}),c,l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{r(),a(),c=n(),{fn:l}=__STORYBOOK_MODULE_TEST__,u=(e,t=`application/pdf`)=>{let n=new File([`demo-file`],e,{type:t,lastModified:17040672e5});return{mode:`data-url`,meta:{name:n.name,mime:n.type,size:n.size,lastModified:n.lastModified},dataUrl:`data:${t};base64,ZGVtby1maWxl`,file:n}},d={title:`Shared/UI/InputFile`,component:o,args:{value:void 0,onChange:l(),readMode:`data-url`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля загрузки.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст в поле, пока файл не выбран.`,control:`text`},value:{description:`Текущий результат чтения выбранного файла.`,control:!1},onChange:{description:`Вызывается после успешного чтения файла.`,control:!1},onReadError:{description:`Вызывается при ошибке чтения или валидации файла.`,control:!1},onClear:{description:`Очищает выбранный файл и показывает кнопку очистки.`,control:!1},accept:{description:"HTML `accept` для нативного диалога выбора файла.",control:`object`},allowedMime:{description:`Белый список MIME-типов для readFile-валидации.`,control:!1},maxBytes:{description:`Максимальный размер файла в байтах.`,control:`number`},readMode:{description:`Режим чтения файла: data-url или array-buffer.`,control:`inline-radio`,options:[`data-url`,`array-buffer`]},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Callback сброса ошибки при повторном выборе файла.`,control:!1},disabled:{description:`Блокирует выбор файла.`,control:`boolean`},size:{description:`Размер визуального контрола.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},f=i((e,t)=>{let n={...e,onChange:n=>{e.onChange(n),t({value:n})},onClear:()=>{e.onClear?.(),t({value:void 0})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}};return(0,c.jsx)(o,{...n})}),p=i((e,t)=>{let n={...e,onChange:n=>{e.onChange(n),t({value:n})},onClear:()=>{e.onClear?.(),t({value:void 0})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}};return(0,c.jsx)(o,{...n})}),m={render:f,args:{label:`Документ`,description:`Загрузите один файл.`,placeholder:`Выберите файл`,accept:[`.pdf`,`.docx`],readMode:`data-url`,value:void 0}},h={render:f,args:{label:`Файл с предзаполнением`,description:`Демонстрация состояния после успешной загрузки.`,value:u(`report.pdf`)}},g={render:p,args:{label:`Двоичное чтение`,description:"Режим `array-buffer` для дальнейшей бинарной обработки.",readMode:`array-buffer`,accept:[`.zip`,`.pdf`],value:void 0}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
  render: renderInputFileDataUrlStory,
  args: {
    label: "Документ",
    description: "Загрузите один файл.",
    placeholder: "Выберите файл",
    accept: [".pdf", ".docx"],
    readMode: "data-url",
    value: undefined
  }
}`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
  render: renderInputFileDataUrlStory,
  args: {
    label: "Файл с предзаполнением",
    description: "Демонстрация состояния после успешной загрузки.",
    value: createMockReadFileResult("report.pdf")
  }
}`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
  render: renderInputFileArrayBufferStory,
  args: {
    label: "Двоичное чтение",
    description: "Режим \`array-buffer\` для дальнейшей бинарной обработки.",
    readMode: "array-buffer",
    accept: [".zip", ".pdf"],
    value: undefined
  }
}`,...g.parameters?.docs?.source}}},_=[`Controlled`,`WithInitialValue`,`ArrayBufferMode`]})))()}export{v as a,h as i,m as n,s as r,g as t};