import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-NOj5DEP4.js";import{t as a}from"./react-dom-W8F0h6nu.js";import{a as o,i as s,r as c,s as l}from"./error-WBF0Ye2y.js";import{t as u}from"./Button-CqbxyL6u.js";import{t as d}from"./button-DorJdQ5y.js";function f({title:e,description:t,open:n,onClose:r,minWidth:i,children:a}){let o=(0,p.useId)(),u=(0,p.useId)(),d=l({active:n,trapFocus:!0,restoreFocus:!0,initialFocus:`auto`});if(s({active:n,onDismiss:r,containerRef:d}),!n||typeof document>`u`)return null;let f=c(`dialog-root`);return f?(0,m.createPortal)((0,h.jsx)(`div`,{className:`fixed inset0 flexCenter surfaceBackdrop`,style:{zIndex:`var(--z-dialog)`},onMouseDown:e=>e.target===e.currentTarget&&r(),children:(0,h.jsxs)(`div`,{ref:d,role:`dialog`,"aria-modal":`true`,"aria-labelledby":e?o:void 0,"aria-describedby":t?u:void 0,tabIndex:-1,className:`surface0 shadowMd paddingLg radiusSm`,style:{minWidth:i},children:[e&&(0,h.jsx)(`h2`,{id:o,className:`margin0`,children:e}),t&&(0,h.jsx)(`p`,{id:u,children:t}),a]})}),f):null}var p,m,h,g=n((()=>{p=t(r(),1),o(),m=t(a(),1),h=i()})),_=e({Controlled:()=>x,Opened:()=>S,__namedExportsOrder:()=>C,default:()=>b}),v,y,b,x,S,C,w=n((()=>{v=t(r(),1),d(),g(),y=i(),b={title:`Shared/UI/Dialog`,component:f,args:{title:`Подтверждение операции`,description:`Проверьте параметры перед выполнением действия.`,open:!1,onClose:()=>{},minWidth:360,children:(0,y.jsx)(`div`,{children:`Содержимое диалога`})},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{title:{description:`Заголовок диалогового окна.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},open:{description:`Управляет видимостью диалога.`,control:`boolean`},onClose:{description:`Вызывается при закрытии диалога.`,control:!1},minWidth:{description:`Минимальная ширина контейнера окна.`,control:`text`},children:{description:`Контент внутри диалогового окна.`,control:!1}}},x={render:e=>{let[t,n]=(0,v.useState)(!1);return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(u,{onClick:()=>n(!0),children:`Открыть диалог`}),(0,y.jsx)(f,{...e,open:t,onClose:()=>n(!1),children:(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`p`,{children:`Подтвердите выполнение действия.`}),(0,y.jsxs)(`div`,{style:{display:`flex`,gap:8,justifyContent:`flex-end`},children:[(0,y.jsx)(u,{variant:`transparent`,onClick:()=>n(!1),children:`Отмена`}),(0,y.jsx)(u,{variant:`success`,onClick:()=>n(!1),children:`Подтвердить`})]})]})})]})}},S={render:e=>{let[t,n]=(0,v.useState)(!0);return(0,y.jsx)(f,{...e,open:t,onClose:()=>n(!1),children:(0,y.jsx)(`div`,{children:`Диалог изначально открыт для демонстрации верстки.`})})},args:{open:!0}},x.parameters={...x.parameters,docs:{...x.parameters?.docs,source:{originalSource:`{
  render: args => {
    const [open, setOpen] = useState(false);
    return <>
                <Button onClick={() => setOpen(true)}>Открыть диалог</Button>
                <Dialog {...args} open={open} onClose={() => setOpen(false)} children={<div>
                            <p>Подтвердите выполнение действия.</p>
                            <div style={{
          display: "flex",
          gap: 8,
          justifyContent: "flex-end"
        }}>
                                <Button variant="transparent" onClick={() => setOpen(false)}>
                                    Отмена
                                </Button>
                                <Button variant="success" onClick={() => setOpen(false)}>
                                    Подтвердить
                                </Button>
                            </div>
                        </div>} />
            </>;
  }
}`,...x.parameters?.docs?.source}}},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
  render: args => {
    const [open, setOpen] = useState(true);
    return <Dialog {...args} open={open} onClose={() => setOpen(false)} children={<div>Диалог изначально открыт для демонстрации верстки.</div>} />;
  },
  args: {
    open: true
  }
}`,...S.parameters?.docs?.source}}},C=[`Controlled`,`Opened`]}));w();export{x as Controlled,S as Opened,C as __namedExportsOrder,b as default,w as n,_ as t};