import type { Meta, StoryObj } from '@storybook/vue3' import AmeliproCard from '../AmeliproCard/AmeliproCard.vue' import AmeliproMessagingLayout from './AmeliproMessagingLayout.vue' import type { MessagingMenuTypes } from './types' const meta = { argTypes: { 'click-new-message': { description: 'Pour gérer un affichage spécifique à une carte' }, 'items': { description: 'Liste des lien composants le menu de la messagerie, la propriété active symbolisant la page active', table: { type: { detail: `Array<{ active?: boolean; href?: string; icon: string; label: string; to?: RouteLocationRaw; unreadNumber?: number; }>`, summary: 'MessagingMenuTypes[]', }, }, }, 'mainContentBg': { description: 'Background du conteneur principal de la messagerie' }, 'menuWidth': { description: 'Largeur du menu de la messagerie' }, 'newMessageDisable': { description: 'Désactive le bouton nouveau message' }, 'uniqueId': { description: 'Identifiant unique du composant' }, }, component: AmeliproMessagingLayout, title: 'Composants/Amelipro/Mise en page/AmeliproMessagingLayout', } as Meta export default meta type Story = StoryObj const items: MessagingMenuTypes[] = [ { href: '#', icon: 'discussion', label: 'À traiter', unreadNumber: 1, }, { active: true, href: '#', icon: 'horlogeFlecheDroiteNoCircle', label: 'En cours', }, { href: '#', icon: 'ecrire', label: 'Brouillons', unreadNumber: 1, }, { href: '#', icon: 'boite', label: 'Clos', unreadNumber: 1, }, ] export const Default: Story = { args: { items, uniqueId: 'amelipro-messaging-layout-unique-id', }, parameters: { args: {}, sourceCode: [ { name: 'Template', code: ``, }, { name: 'Scripts', code: ``, }, ], }, render: args => ({ components: { AmeliproMessagingLayout, AmeliproCard }, setup() { return { args } }, template: `

Exemple de contenu principal

`, }), }