// Copyright 2020 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import * as React from 'react'; import { action } from '@storybook/addon-actions'; import type { Meta } from '@storybook/react'; import type { Props } from './ConfirmationDialog'; import { ConfirmationDialog } from './ConfirmationDialog'; import { setupI18n } from '../util/setupI18n'; import enMessages from '../../_locales/en/messages.json'; const i18n = setupI18n('en', enMessages); export default { title: 'Components/ConfirmationDialog', } satisfies Meta<Props>; export function Basic(): JSX.Element { return ( <ConfirmationDialog dialogName="test" i18n={i18n} onClose={action('onClose')} title="Foo bar banana baz?" actions={[ { text: 'Negate', style: 'negative', action: action('negative'), }, { text: 'Affirm', style: 'affirmative', action: action('affirmative'), }, ]} > asdf blip </ConfirmationDialog> ); } export function CustomCancelText(): JSX.Element { return ( <ConfirmationDialog dialogName="test" cancelText="Nah" i18n={i18n} onClose={action('onClose')} title="Maybs?" actions={[ { text: 'Maybe', style: 'affirmative', action: action('affirmative'), }, ]} > Because. </ConfirmationDialog> ); } export function NoDefaultCancel(): JSX.Element { return ( <ConfirmationDialog dialogName="test" noDefaultCancelButton i18n={i18n} onClose={action('onClose')} title="Do you?" actions={[ { text: 'Yep', style: 'affirmative', action: action('affirmative'), }, ]} > No default cancel! </ConfirmationDialog> ); }