HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/design.system/storybook-static/assets/Dialog.stories-CNhe3C72.js
import{j as e}from"./jsx-runtime-D_zvdyIk.js";import{r as _,R as d}from"./index-2yJIXLcc.js";import{c as C}from"./index-BORBwRSE.js";import{B}from"./Body-mIfF2_xz.js";import{H as E}from"./Heading-B6MXgQFq.js";import{I as q}from"./Icon-DpvRyMVm.js";import{B as l}from"./Button-BJE-RC3D.js";const M="_root_1aake_1",N="_content_1aake_28",R="_close_1aake_39",S="_heading_1aake_52",w="_body_1aake_56",H="_buttonsGroup_1aake_61",o={root:M,content:N,close:R,heading:S,body:w,buttonsGroup:H},G=(t,n)=>{_.useEffect(()=>{const s=i=>{t.current&&!t.current.contains(i.target)&&n()};return document.addEventListener("mousedown",s),()=>{document.removeEventListener("mousedown",s)}},[t,n])},u=({isOpen:t,onClose:n,onOk:s,title:i,body:k,buttonCancelText:v,buttonOkText:D,buttonOkIsDanger:T,className:j,...I})=>{const p=d.useRef(null),m=d.useRef(null);return d.useEffect(()=>{const c=p.current;c&&(t?c.showModal():c.close())},[t]),G(m,()=>{t&&n()}),e.jsx("dialog",{ref:p,onClose:n,className:C(o.root,j),...I,children:e.jsxs("div",{ref:m,className:o.content,children:[e.jsx("div",{className:o.close,onClick:n,children:e.jsx(q,{name:"x",size:20})}),e.jsx(E,{className:o.heading,children:i}),e.jsx(B,{className:o.body,children:k}),e.jsxs("div",{className:o.buttonsGroup,children:[e.jsx(l,{variant:"secondary",onClick:n,children:v||"Назад"}),e.jsx(l,{danger:T,onClick:()=>{s&&s(),n()},children:D||"ОК"})]})]})})};u.__docgenInfo={description:`Поддерживает все стандартные пропсы HTMLDialogElement.

Полную документацию смотрите сайте: https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement`,methods:[],displayName:"Dialog",props:{isOpen:{required:!0,tsType:{name:"boolean"},description:""},onClose:{required:!0,tsType:{name:"signature",type:"function",raw:"() => void",signature:{arguments:[],return:{name:"void"}}},description:""},onOk:{required:!1,tsType:{name:"signature",type:"function",raw:"() => void",signature:{arguments:[],return:{name:"void"}}},description:""},title:{required:!1,tsType:{name:"string"},description:""},body:{required:!1,tsType:{name:"string"},description:""},buttonCancelText:{required:!1,tsType:{name:"string"},description:""},buttonOkText:{required:!1,tsType:{name:"string"},description:""},buttonOkIsDanger:{required:!1,tsType:{name:"boolean"},description:""}}};const J={component:u,title:"Molecules/Dialog",tags:["autodocs"]},b=t=>{const[n,s]=_.useState(!1);return e.jsxs("div",{children:[e.jsx(l,{onClick:()=>s(!0),children:"Open Modal"}),e.jsx(u,{...t,isOpen:n,onClose:()=>s(!1),children:t.children})]})},r=b.bind({});r.args={title:"Text Heading",body:"Body text"};const a=b.bind({});a.args={onOk:()=>alert("Удалено"),title:"Удалить профессию?",body:"Вы уверены, что хотите редактировать профессию «Комплектовщик» в объекте «ВПРОК Вешки»?",buttonOkText:"Удалить",buttonOkIsDanger:!0};var g,f,O;r.parameters={...r.parameters,docs:{...(g=r.parameters)==null?void 0:g.docs,source:{originalSource:`args => {
  const [isOpen, setIsOpen] = useState(false);
  return <div>
      <Button onClick={() => setIsOpen(true)}>Open Modal</Button>
      <Dialog {...args} isOpen={isOpen} onClose={() => setIsOpen(false)}>
        {args.children}
      </Dialog>
    </div>;
}`,...(O=(f=r.parameters)==null?void 0:f.docs)==null?void 0:O.source}}};var x,h,y;a.parameters={...a.parameters,docs:{...(x=a.parameters)==null?void 0:x.docs,source:{originalSource:`args => {
  const [isOpen, setIsOpen] = useState(false);
  return <div>
      <Button onClick={() => setIsOpen(true)}>Open Modal</Button>
      <Dialog {...args} isOpen={isOpen} onClose={() => setIsOpen(false)}>
        {args.children}
      </Dialog>
    </div>;
}`,...(y=(h=a.parameters)==null?void 0:h.docs)==null?void 0:y.source}}};const K=["Default","Delete"];export{r as Default,a as Delete,K as __namedExportsOrder,J as default};