import type { Meta, StoryObj } from '@storybook/angular'; import { PromptInput } from './prompt-input'; import { moduleMetadata } from '@storybook/angular'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { Store, StoreModule } from '@ngrx/store'; import { reducers } from '../../reducers'; import { HttpClientModule } from '@angular/common/http'; import { ApiService } from '../../api-service'; const appReducer = reducers.app; const meta: Meta = { title: 'Components/PromptInput', component: PromptInput, tags: ['autodocs'], decorators: [ moduleMetadata({ imports: [ CommonModule, FormsModule, HttpClientModule, StoreModule.forRoot({ app: appReducer as any }) ], providers: [ ApiService, Store ] }) ], argTypes: { // Vous pouvez définir des contrôles pour les propriétés ici } }; export default meta; type Story = StoryObj; export const Default: Story = { args: { // Les propriétés par défaut } }; export const WithPlaceholder: Story = { args: { // Les propriétés avec un placeholder personnalisé }, parameters: { // Vous pouvez surcharger certains paramètres ici } }; export const LoadingState: Story = { args: { // Les propriétés de base }, parameters: { store: { init: (store: Store) => { store.dispatch({ type: 'UPDATE_APP', payload: { loading: true } }); } } } };