import { action } from '@storybook/addon-actions';
import { useRef } from 'react';
import { icons, useI18n, useToaster } from '@pega/cosmos-react-core';
import { InteractionNotification } from '@pega/cosmos-react-work';
export default {
    title: 'Work/InteractionNotification',
    component: InteractionNotification
};
export const InteractionNotificationDemo = (args) => {
    const incomingNotificationTimeout = useRef(Date.now());
    const { push } = useToaster();
    const t = useI18n();
    return (<InteractionNotification icon={args.icon} title={args.acceptAvailable ? 'Incoming call' : 'Abandoned call'} primaryText='John Brown' secondaryText={args.secondaryText} status={{
            variant: 'success',
            text: 'VERIFIED PLATINUM CUSTOMER'
        }} fields={[
            {
                id: 'reason',
                name: 'Reason for calling',
                value: 'Billing question'
            },
            {
                id: 'openCases',
                name: 'Open cases',
                value: '1'
            },
            {
                id: 'lastInteraction',
                name: 'Last interaction',
                value: new Date().toLocaleDateString()
            }
        ]} incomingNotificationTimeout={args.timerAvailable
            ? {
                startTime: incomingNotificationTimeout.current,
                answerTimeout: args.answerTimeout,
                onTimerEnd: () => push({ content: t('interaction_time_expired') })
            }
            : undefined} onAccept={args.acceptAvailable ? action('accept') : undefined} onDismiss={action('dismiss')}/>);
};
InteractionNotificationDemo.args = {
    icon: 'phone-in-solid',
    secondaryText: '(123) 456-7890',
    acceptAvailable: true,
    timerAvailable: true,
    answerTimeout: 30
};
InteractionNotificationDemo.argTypes = {
    icon: { options: [...icons], control: { type: 'select', icons: true } },
    secondaryText: { control: { type: 'text' } },
    acceptAvailable: { control: { type: 'boolean' } },
    timerAvailable: { control: { type: 'boolean' } },
    answerTimeout: { control: { type: 'number' } }
};
//# sourceMappingURL=InteractionNotification.stories.jsx.map