import type { Meta, StoryObj } from '@storybook/vue3-vite' import BackBtn from './BackBtn.vue' import SyAlert from '@/components/SyAlert/SyAlert.vue' import { VSheet } from 'vuetify/components' import '../../stories/styles/shared.css' const meta = { title: 'Composants/Boutons/BackBtn', component: BackBtn, parameters: { layout: 'fullscreen', }, argTypes: { dark: { control: 'boolean', }, hideBackIcon: { control: 'boolean', }, locales: { description: 'Surcharge des chaînes affichées à l\'utilisateur (libellé du bouton). Les valeurs par défaut sont définies dans le fichier `locales.ts` du composant. La prop accepte un objet partiel : seules les clés renseignées surchargent les valeurs par défaut, le reste est conservé.', control: 'object', table: { type: { summary: 'object', detail: `{ label: string, }` }, category: 'props', }, }, color: { control: { type: 'text' }, description: 'Couleur du texte du text et icone parmi la palette du thème.', table: { type: { summary: 'string', }, }, }, backgroundColor: { control: { type: 'text' }, description: 'Couleur de fond du bouton parmi la palette du thème.', table: { type: { summary: 'string', }, defaultValue: { summary: 'white', }, }, }, }, } as Meta export default meta type Story = StoryObj export const Default: Story = { parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, args: { dark: false, }, render: (args) => { return { components: { BackBtn, VSheet }, setup() { return { args } }, template: ` `, } }, } export const Dark: Story = { parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, args: { dark: true, }, render: (args) => { return { components: { BackBtn, VSheet }, setup() { return { args } }, template: ` `, } }, } export const HideBackIcon: Story = { parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, args: { hideBackIcon: true, }, render: (args) => { return { components: { BackBtn }, setup() { return { args } }, template: ` `, } }, } export const DarkAndHideBackIcon: Story = { parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, args: { dark: true, hideBackIcon: true, }, render: (args) => { return { components: { BackBtn }, setup() { return { args } }, template: ` `, } }, } export const Info: Story = { render: (args) => { return { components: { SyAlert }, setup() { return { args } }, template: ` `, } }, tags: ['!dev'], }