Skip to content
Snippets Groups Projects
Select Git revision
  • 29e31273ed7db1420846bb3b89fb581e131daf21
  • main default protected
  • fix-storybook
  • OZG-7986-mandat-anfragen
  • OZG-8378-ods-heading
  • OZG-8405-Alfa-Bearbeiter-auswählen-und-entfernen-Design
  • OZG-6978-prevent-other-pages-from-being-called
  • OZG-8314-Alfa-Vorgang-Bearbeiter-Zuweisung-entfernen
  • testing-imports
  • storybook-improvements
  • OZG-7287-forward-saml-token
  • release-administration
  • OZG-8422-BenutzerSpeichern
  • release-info
  • release
  • OZG-7856_schadcode-scanner-e2e
  • OZG-7985-fix-sorting
  • OZG-8305-Create-webpack-sbom
  • tooltip-improvements
  • OZG-7714-UpgradeKeycloakDependencyTo25
  • OZG-8086-Admin-Datenanfrage-erstellen
  • 1.12.1-administration
  • 1.12.0-administration
  • 1.12.0-info
  • 2.27.0-alfa
  • 1.11.0-info
  • 1.11.0-administration
  • 2.26.0-alfa
  • 1.10.0-info
  • 1.10.0-administration
  • 2.25.0-alfa
  • 1.9.0-info
  • 1.9.0-administration
  • 2.24.0-alfa
  • 1.8.0-info
  • 1.8.0-administration
  • 2.23.0-alfa
  • 1.7.0-info
  • 1.7.0-administration
  • 2.22.0-alfa
  • 1.6.0-info
41 results

button.stories.ts

Blame
  • user avatar
    OZGCloud authored
    29e31273
    History
    button.stories.ts 1.44 KiB
    import { argsToTemplate, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
    
    import { SaveIconComponent } from '../icons/save-icon/save-icon.component';
    import { ButtonComponent } from './button.component';
    
    const meta: Meta<ButtonComponent> = {
      title: 'Button',
      component: ButtonComponent,
      decorators: [
        moduleMetadata({
          imports: [ButtonComponent, SaveIconComponent],
        }),
      ],
      excludeStories: /.*Data$/,
      tags: ['autodocs'],
    };
    
    export default meta;
    type Story = StoryObj<ButtonComponent>;
    
    export const Default: Story = {
      args: {
        text: 'Hello world!',
        isLoading: false,
        variant: 'primary',
      },
      argTypes: {
        variant: {
          options: ['primary', 'outline'],
          control: { type: 'radio' },
          table: { defaultValue: { summary: 'primary' } },
        },
      },
    };
    
    export const WithIcon: Story = {
      args: {
        text: 'I have an icon',
        variant: 'outline',
      },
      render: (args) => ({
        props: args,
        template: `<ods-button ${argsToTemplate(args)}>
          <ods-save-icon icon size='small'></ods-save-icon>
        </ods-button>`,
      }),
    };
    
    export const IsLoading: Story = {
      args: {
        text: 'Loading...',
        isLoading: true,
      },
    };
    
    export const OnlyIcon: Story = {
      args: {
        variant: 'onlyIcon',
        size: 'fit',
      },
      render: (args) => ({
        props: args,
        template: `<ods-button ${argsToTemplate(args)}>
          <ods-save-icon icon size='medium'></ods-save-icon>
        </ods-button>`,
      }),
    };