import type { StoryObj, Meta } from '@storybook/vue3' import RatingPicker from './RatingPicker.vue' import { VBtn, VSpacer } from 'vuetify/components' import { fn } from '@storybook/test' import SyTextArea from '../SyTextArea/SyTextArea.vue' const meta = { title: 'Composants/Feedback/RatingPicker', component: RatingPicker, decorators: [ () => ({ template: '
', }), ], parameters: { layout: 'fullscreen', }, argTypes: { type: { description: 'Le type de notation.', control: 'select', options: ['emotion', 'number', 'stars'], default: 'emotion', table: { type: { summary: 'emotion, number, stars', }, defaultValue: { summary: 'emotion', }, }, }, label: { description: 'Le libellé du champ.', control: 'text', default: null, table: { type: { summary: 'string | null', }, }, }, center: { description: 'Si le champ doit être centré dans la page.', control: 'boolean', default: false, table: { type: { summary: 'boolean', }, }, }, readonly: { description: 'Si le champ est en lecture seule.', control: 'boolean', default: false, table: { type: { summary: 'boolean', }, }, }, itemLabels: { description: 'Les libellés des items.', control: 'object', default: null, table: { type: { summary: 'string[]', }, }, }, twoEmotions: { description: 'Si le champ est en deux émotions.', control: 'boolean', default: false, table: { type: { summary: 'boolean', }, }, }, hideAlert: { description: 'Si le champ est en alerte.', control: 'boolean', default: false, table: { type: { summary: 'boolean', }, }, }, modelValue: { description: 'La valeur sélectionnée.', control: 'number', default: -1, table: { type: { summary: 'number', }, }, }, freeTextLabel: { description: 'Le libellé du champ de texte libre. Ajouter aria-label ou aria-labelledby au