import LangBtn from './LangBtn.vue' import type { Meta, StoryObj } from '@storybook/vue3' import { VBtn, VMenu, VList, VListItem, VListItemTitle } from 'vuetify/components' const meta: Meta = { title: 'Composants/Boutons/LangBtn', component: LangBtn, parameters: { layout: 'fullscreen', controls: { exclude: ['currentLangData', 'updateLang', 'selectedLanguage'] }, }, argTypes: { modelValue: { control: 'text' }, hideDownArrow: { control: 'boolean' }, ariaLabel: { control: 'text' }, availableLanguages: { control: { type: 'object' } }, vuetifyOptions: { control: { type: 'object' }, default: () => ({ menu: { }, btn: { color: 'primary', variant: 'outlined', ripple: true, }, icon: { class: 'ml-1', }, }), }, }, } export default meta type Story = StoryObj export const Default: Story = { parameters: { a11y: { disable: true, }, sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, args: { modelValue: 'fr', hideDownArrow: false, ariaLabel: 'Choix de la langue', availableLanguages: ['fr', 'en', 'es'], vuetifyOptions: { menu: { }, btn: { color: 'primary', variant: 'outlined', ripple: true, }, icon: { class: 'ml-1', }, }, }, render: (args) => { return { components: { LangBtn, VBtn, VMenu, VList, VListItem, VListItemTitle }, setup() { return { args } }, template: `
`, } }, } export const AllLanguages: Story = { parameters: { a11y: { disable: true, }, sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, args: { modelValue: 'fr', hideDownArrow: false, ariaLabel: 'Choix de la langue', availableLanguages: '*', }, render: (args) => { return { components: { LangBtn, VBtn, VMenu, VList, VListItem, VListItemTitle }, setup() { return { args } }, template: `
`, } }, } export const NoDownArrow: Story = { parameters: { a11y: { disable: true, }, sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, args: { modelValue: 'fr', hideDownArrow: true, ariaLabel: 'Choix de la langue', availableLanguages: ['fr', 'en', 'de'], }, render: (args) => { return { components: { LangBtn, VBtn, VMenu, VList, VListItem, VListItemTitle }, setup() { return { args } }, template: `
`, } }, } export const FlatBtn: Story = { parameters: { a11y: { disable: true, }, sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, args: { modelValue: 'fr', hideDownArrow: false, ariaLabel: 'Choix de la langue', availableLanguages: ['fr', 'en', 'de'], vuetifyOptions: { btn: { color: 'primary', variant: 'flat', ripple: true, }, }, }, render: (args) => { return { components: { LangBtn, VBtn, VMenu, VList, VListItem, VListItemTitle }, setup() { return { args } }, template: `
`, } }, }