import type { Meta, StoryObj } from '@storybook/vue3' import PageContainer from './PageContainer.vue' import { VCard } from 'vuetify/components' const meta = { title: 'Composants/Layout/PageContainer', component: PageContainer, parameters: { layout: 'fullscreen', controls: { exclude: ['spacingClass', 'containerSize'] }, }, argTypes: { size: { options: ['xl', 'lg', 'md', 'sm', 'xs'], control: { type: 'select' }, default: undefined, }, spacing: { options: ['xl', 'lg', 'md', 'sm', 'xs'], control: { type: 'select' }, default: undefined, }, color: { options: ['transparent', 'primary', 'secondary', 'accent', 'error', 'info', 'success', 'warning'], control: { type: 'select' }, default: 'transparent', }, uniqueId: { control: { type: 'text' }, default: undefined, }, role: { options: ['main', 'region', 'navigation', 'contentinfo', 'banner'], control: { type: 'text' }, default: undefined, }, }, } as Meta export default meta type Story = StoryObj export const Default: Story = { parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, args: { default: 'Contenu de la page', }, render: (args) => { return { components: { PageContainer }, setup() { return { args } }, template: ` {{ args.default }} `, } }, } export const Size: Story = { parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, args: { default: 'Contenu de la page', size: 'sm', }, render: (args) => { return { components: { PageContainer }, setup() { return { args } }, template: ` {{ args.default }} `, } }, } export const Color: Story = { parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, args: { default: 'Contenu de la page', color: 'primary', }, render: (args) => { return { components: { PageContainer }, setup() { return { args } }, template: `
{{ args.default }}
`, } }, } export const Card: Story = { parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, args: { default: 'Contenu de la page', }, render: (args) => { return { components: { PageContainer, VCard }, setup() { return { args } }, template: ` {{ args.default }} `, } }, } export const WithAriaRole: Story = { parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, args: { role: 'region', uniqueId: 'main-content', ariaLabelledby: 'main-content-title', }, render: (args) => { return { components: { PageContainer }, setup() { return { args } }, template: `

Contenu principal

Contenu de la page

`, } }, }