import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{n,t as r}from"./SingleDateTimeInput-B67d07su.js";import{n as i}from"./iframe-GrlyTB2d.js";import{_ as a,b as o,h as s,y as c}from"./odata-service-B5w4YBao-BW9QLSrS.js";import{n as l,t as u}from"./createControlledStoryRender-DHsyXc1B.js";var d=t({Default:()=>g,Empty:()=>v,TimeOnly:()=>_,WithLimits:()=>y,WithRightPanel:()=>b,__namedExportsOrder:()=>x,default:()=>h});function f(e){return u((t,n)=>{let i=t.value??null;return(0,p.jsxs)(`div`,{children:[(0,p.jsx)(r,{...t,value:i,onChange:e=>{t.onChange(e),n({value:e})},onClearError:()=>{t.onClearError?.(),n({error:void 0})}}),e===`date-time`&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(`p`,{children:[`Вывод значения через `,(0,p.jsx)(`code`,{className:`statusInfo`,children:`formatDateAsDateTime(value)`}),`:`]}),(0,p.jsx)(`pre`,{children:c(i)}),(0,p.jsxs)(`p`,{children:[`Вывод значения через `,(0,p.jsx)(`code`,{className:`statusInfo`,children:`formatDateAsODataDatetime(value)`}),`:`]}),(0,p.jsx)(`pre`,{children:s(i)})]}),e===`time`&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(`p`,{children:[`Вывод значения через `,(0,p.jsx)(`code`,{className:`statusInfo`,children:`formatDateAsTime(value)`}),`:`]}),(0,p.jsx)(`pre`,{children:a(i)}),(0,p.jsx)(`p`,{children:`Техническая дата значения всегда фиксируется как 01.01.1970.`}),(0,p.jsx)(`pre`,{children:i?i.toISOString():``})]})]})})}var p,m,h,g,_,v,y,b,x;function S(){return(S=e((()=>{o(),l(),n(),p=i(),{fn:m}=__STORYBOOK_MODULE_TEST__,h={title:`Shared/UI/SingleDateTimeInput`,component:r,args:{value:null,onChange:m()},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля даты и времени.`,control:`text`},description:{description:`Описание под заголовком поля.`,control:`text`},placeholder:{description:`Текстовая подсказка для сегментного ввода.`,control:`text`},value:{description:"Текущее значение в виде `Date | null`.",control:!1},onChange:{description:`Вызывается при вводе или выборе валидной даты-времени.`,control:!1},minDate:{description:`Минимально допустимая дата-время.`,control:`date`},maxDate:{description:`Максимально допустимая дата-время.`,control:`date`},error:{description:`Текст внешней ошибки под полем.`,control:`text`},onClearError:{description:`Сбрасывает внешнюю ошибку при ручном вводе и выборе в picker.`,control:!1},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},disabled:{description:`Блокирует сегментный ввод и popover picker.`,control:`boolean`},timePanelPlacement:{description:`Размещение панели выбора времени относительно календаря.`,control:`inline-radio`,options:[`bottom`,`right`]},mode:{description:`Режим работы поля: дата-время или только время.`,control:`inline-radio`,options:[`date-time`,`time`]}}},g={render:f(`date-time`),args:{label:`Дата и время`,description:`Фиксированный формат: дд.мм.гггг чч:мм`,placeholder:`дд.мм.гггг чч:мм`,timePanelPlacement:`bottom`,value:new Date(2026,2,5,9,15,0,0)}},_={render:f(`time`),args:{label:`Время`,description:`Режим только времени с маской чч:мм и wheel-picker без календаря.`,placeholder:`чч:мм`,mode:`time`,value:new Date(1970,0,1,9,15,0,0),minDate:new Date(2026,2,10,9,15,0,0),maxDate:new Date(2026,2,10,18,30,0,0)}},v={render:f(`none`),args:{label:`Пустое значение`,description:`Поле можно заполнить вручную или через popover picker.`,placeholder:`дд.мм.гггг чч:мм`,timePanelPlacement:`bottom`,value:null}},y={render:f(`none`),args:{label:`Дата отгрузки`,description:`Доступен только интервал с 10 по 12 марта 2026 года.`,minDate:new Date(2026,2,10,9,0,0,0),maxDate:new Date(2026,2,12,18,30,0,0),timePanelPlacement:`bottom`,value:new Date(2026,2,10,12,30,0,0)}},b={render:f(`none`),args:{label:`Дата и время`,description:`Wheel-панель времени расположена справа от календаря.`,timePanelPlacement:`right`,value:new Date(2026,2,10,12,30,0,0)}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
  render: createSingleDateTimeInputStoryRender("date-time"),
  args: {
    label: "Дата и время",
    description: "Фиксированный формат: дд.мм.гггг чч:мм",
    placeholder: "дд.мм.гггг чч:мм",
    timePanelPlacement: "bottom",
    value: new Date(2026, 2, 5, 9, 15, 0, 0)
  }
}`,...g.parameters?.docs?.source},description:{story:`Демонстрирует основной сценарий выбора даты и времени с точностью до минуты.`,...g.parameters?.docs?.description}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
  render: createSingleDateTimeInputStoryRender("time"),
  args: {
    label: "Время",
    description: "Режим только времени с маской чч:мм и wheel-picker без календаря.",
    placeholder: "чч:мм",
    mode: "time",
    value: new Date(1970, 0, 1, 9, 15, 0, 0),
    minDate: new Date(2026, 2, 10, 9, 15, 0, 0),
    maxDate: new Date(2026, 2, 10, 18, 30, 0, 0)
  }
}`,..._.parameters?.docs?.source},description:{story:"Демонстрирует режим выбора только времени на технической дате `1970-01-01`.",..._.parameters?.docs?.description}}},v.parameters={...v.parameters,docs:{...v.parameters?.docs,source:{originalSource:`{
  render: createSingleDateTimeInputStoryRender("none"),
  args: {
    label: "Пустое значение",
    description: "Поле можно заполнить вручную или через popover picker.",
    placeholder: "дд.мм.гггг чч:мм",
    timePanelPlacement: "bottom",
    value: null
  }
}`,...v.parameters?.docs?.source},description:{story:`Показывает пустое контролируемое значение.`,...v.parameters?.docs?.description}}},y.parameters={...y.parameters,docs:{...y.parameters?.docs,source:{originalSource:`{
  render: createSingleDateTimeInputStoryRender("none"),
  args: {
    label: "Дата отгрузки",
    description: "Доступен только интервал с 10 по 12 марта 2026 года.",
    minDate: new Date(2026, 2, 10, 9, 0, 0, 0),
    maxDate: new Date(2026, 2, 12, 18, 30, 0, 0),
    timePanelPlacement: "bottom",
    value: new Date(2026, 2, 10, 12, 30, 0, 0)
  }
}`,...y.parameters?.docs?.source},description:{story:`Демонстрирует ограничение диапазона и синхронизацию календаря со временем.`,...y.parameters?.docs?.description}}},b.parameters={...b.parameters,docs:{...b.parameters?.docs,source:{originalSource:`{
  render: createSingleDateTimeInputStoryRender("none"),
  args: {
    label: "Дата и время",
    description: "Wheel-панель времени расположена справа от календаря.",
    timePanelPlacement: "right",
    value: new Date(2026, 2, 10, 12, 30, 0, 0)
  }
}`,...b.parameters?.docs?.source},description:{story:`Демонстрирует размещение wheel-панели справа от календаря.`,...b.parameters?.docs?.description}}},x=[`Default`,`TimeOnly`,`Empty`,`WithLimits`,`WithRightPanel`]})))()}export{y as a,_ as i,v as n,b as o,d as r,S as s,g as t};