import type { Meta, StoryObj } from '@storybook/vue3' import AmeliproBtn from '../AmeliproBtn/AmeliproBtn.vue' import AmeliproCard from '../AmeliproCard/AmeliproCard.vue' import AmeliproCarousel from './AmeliproCarousel.vue' const meta = { argTypes: { '`${uniqueId}-slot-item-${index}`': { description: 'Slots générés automatiquement pour chaque slide, l’id est celui du carrousel et index est la position de la slide' }, 'defaultSlide': { description: 'Numéro de la slide à afficher au chargement du composant' }, 'duration': { description: 'Durée de transition entre les slides du carrousel en secondes' }, 'hideDisabledBtn': { description: 'Permet de masquer les boutons précédents et suivant quand ils sont désactivés' }, 'infiniteRotation': { description: 'Booléen permettant de faire boucler les slides du carrousel' }, 'item': { description: 'Slots générés automatiquement pour chaque slide, afin de donner le même aspect à tous les items' }, 'items': { description: 'Tableau comprenant la liste des slides (si vous voulez utiliser les slots, créez un objet vide `{}` dans ce tableau pour chaque slide)', table: { type: { detail: `Array <{ href?: string; imgSrc?: string; imgAlt?: string; to?: RouteLocationRaw; }>`, summary: 'AmeliproCarouselListItem[]', }, }, }, 'labelNextBtn': { description: 'Libellé du bouton suivant, il est affiché au survol du bouton' }, 'labelPreviousBtn': { description: 'Libellé du bouton précédent, il est affiché au survol du bouton' }, 'title': { description: 'Titre du carrousel doit être pertinent par rapport au contenu' }, 'uniqueId': { description: 'Identifiant unique du carrousel' }, }, component: AmeliproCarousel, title: 'Composants/Amelipro/Mise en page/AmeliproCarousel', } as Meta export default meta type Story = StoryObj export const Default: Story = { args: { items: [{}, {}, {}], title: 'Titre du carrousel', uniqueId: 'amelipro-carousel-id', }, parameters: { sourceCode: [ { name: 'Template', code: ` `, }, { name: 'Script', code: ` `, }, ], }, render: args => ({ components: { AmeliproBtn, AmeliproCard, AmeliproCarousel }, setup() { return { args } }, template: ` `, }), }