import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{n}from"./iframe-GrlyTB2d.js";import{r,t as i}from"./DateInput-B7WxAsa1.js";import{n as a,t as o}from"./GridContainer-qDguE1HS.js";import{a as s,i as c,l,n as u,t as d}from"./DateRangePresetSelect-CmXwIBMW.js";var f=t({Default:()=>v,__namedExportsOrder:()=>y,default:()=>_}),p,m,h,g,_,v,y;function b(){return(b=e((()=>{r(),a(),u(),s(),p=n(),{useArgs:m,useState:h}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:g}=__STORYBOOK_MODULE_TEST__,_={title:`Shared/UI/DateRangePresetSelect`,component:d,args:{label:`Пресет диапазона`,placeholder:`Выберите пресет`,value:`monthStartToToday`,onChange:g(),options:c,referenceDate:new Date(2026,2,10,12,0,0),onRangeChange:g(),disabled:!1,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок выбора пресета.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, который показывается до выбора пресета.`,control:`text`},value:{description:`ID активного пресета диапазона.`,control:`select`,options:c.map(e=>e.id)},onChange:{description:`Вызывается с ID выбранного пресета.`,control:!1},options:{description:`Кастомный каталог пресетов с функциями вычисления диапазона.`,control:!1},referenceDate:{description:`Опорная дата, относительно которой вычисляется диапазон пресета.`,control:`date`},onRangeChange:{description:`Вызывается с вычисленным диапазоном активного пресета.`,control:!1},disabled:{description:`Блокирует выбор пресета.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},v={render:function(e){let[,t]=m(),[n,r]=h(()=>l(e.value,e.referenceDate,e.options)?.range??null);return(0,p.jsxs)(o,{gap:`md`,children:[(0,p.jsx)(d,{...e,onChange:n=>{e.onChange(n),t({value:n})},onRangeChange:t=>{e.onRangeChange?.(t),r(t?.range??null)}}),(0,p.jsx)(i,{label:`Диапазон дат`,placeholder:`дд.мм.гггг - дд.мм.гггг`,value:n,onChange:r})]})}},v.parameters={...v.parameters,docs:{...v.parameters?.docs,source:{originalSource:`{
  render: function Render(args) {
    const [, updateArgs] = useArgs<DateRangePresetSelectProps>();
    const [range, setRange] = useStorybookState<DateRangePresetChangePayload["range"] | null>(() => resolveDateRangePresetPayload(args.value, args.referenceDate, args.options)?.range ?? null);
    return <GridContainer gap="md">
                <DateRangePresetSelect {...args} onChange={value => {
        args.onChange(value);
        updateArgs({
          value
        });
      }} onRangeChange={payload => {
        args.onRangeChange?.(payload);
        setRange(payload?.range ?? null);
      }} />

                <RangeDateInput label="Диапазон дат" placeholder="дд.мм.гггг - дд.мм.гггг" value={range} onChange={setRange} />
            </GridContainer>;
  }
}`,...v.parameters?.docs?.source},description:{story:`Демонстрирует связку выбора пресета и ручного диапазона дат.`,...v.parameters?.docs?.description}}},y=[`Default`]})))()}export{v as n,b as r,f as t};