import type { Meta, StoryObj } from '@storybook/vue3' import StatusPage from './StatusPage.vue' const meta = { title: 'Templates/StatusPage', component: StatusPage, parameters: { layout: 'fullscreen', }, argTypes: { 'headingLevel': { control: { type: 'select' }, options: [1, 2, 3, 4, 5, 6], }, 'code': { description: 'Code d\'erreur affiché en premier plan', }, 'codeErrorText': { description: 'Text affiché avant le code d\'erreur pour les outils d\'accessibilité', table: { defaultValue: { summary: 'Code d\'erreur\xa0: ', }, }, }, 'additional-content': { control: { type: 'text', }, table: { type: { summary: '{}', }, }, }, 'action': { control: { type: 'text', }, table: { type: { summary: '{}', }, }, }, 'illustration': { control: { type: 'text', }, table: { type: { summary: '{}', }, }, }, }, } satisfies Meta export default meta type Story = StoryObj export const Default: Story = { args: { headingLevel: 1, pageTitle: 'une erreur est survenue', code: '500', message: 'Une erreur est survenue de notre côté, veuillez réessayer plus tard. Si le problème persiste veuillez nous contacter par téléphone au 3646', }, parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, decorators: [ () => ({ template: '
' }), ], } export const WithLink: Story = { args: { ...Default.args, headingLevel: 1, btnHref: '/', btnText: 'Retour à l\'accueil', }, parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, decorators: [ () => ({ template: '
' }), ], } export const CustomIllustration: Story = { args: { ...Default.args, btnHref: '/', btnText: 'Retour à l\'accueil', headingLevel: 1, }, parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, decorators: [ () => ({ template: '
' }), ], render: args => ({ components: { StatusPage }, setup() { return { args } }, template: ` `, }), } export const SlotAction: Story = { args: { ...Default.args, headingLevel: 1, hideBtn: true, }, decorators: [ () => ({ template: '
' }), ], parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, render: args => ({ components: { StatusPage }, setup() { return { args } }, template: ` `, }), } export const SlotAdditionalContent: Story = { args: { ...Default.args, headingLevel: 1, }, decorators: [ () => ({ template: '
' }), ], parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, render: args => ({ components: { StatusPage }, setup() { return { args } }, template: ` `, }), } export const WithRole: Story = { args: { pageTitle: 'Une erreur est survenue', message: 'Veuillez réessayer ultérieurement.', code: '500', role: 'main', uniqueId: 'status-page-main', }, parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, }