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/src/molecules/Dialog/Dialog.stories.tsx
import { Meta, StoryFn, StoryObj } from '@storybook/react';

import Dialog from './Dialog.tsx';
import { useState } from 'react';
import Button from '../Button/Button.tsx';

const meta: Meta<typeof Dialog> = {
  component: Dialog,
  title: 'Molecules/Dialog',
  tags: ['autodocs'],
};

export default meta;

const Template: StoryFn<typeof Dialog> = (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>
  );
};

type Story = StoryObj<typeof Dialog>;

export const Default: Story = Template.bind({});
Default.args = {
  title: 'Text Heading',
  body: 'Body text',
};

export const Delete: Story = Template.bind({});
Delete.args = {
  onOk: () => alert('Удалено'),
  title: 'Удалить профессию?',
  body: 'Вы уверены, что хотите редактировать профессию «Комплектовщик» в объекте «ВПРОК Вешки»?',
  buttonOkText: 'Удалить',
  buttonOkIsDanger: true,
};