Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | import { CommonModule } from '@angular/common'; import { Component, Input, Output, EventEmitter } from '@angular/core'; @Component({ selector: 'storybook-button', standalone: true, imports: [CommonModule], template: ` <button type="button" (click)="onClick.emit($event)" [ngClass]="classes" [ngStyle]="{ 'background-color': backgroundColor }" > {{ label }} </button>`, styleUrls: ['./button.css'], }) export class ButtonComponent { /** Is this the principal call to action on the page? */ @Input() primary = false; /** What background color to use */ @Input() backgroundColor?: string; /** How large should the button be? */ @Input() size: 'small' | 'medium' | 'large' = 'medium'; /** * Button contents * * @required */ @Input() label = 'Button'; /** Optional click handler */ @Output() onClick = new EventEmitter<Event>(); public get classes(): string[] { const mode = this.primary ? 'storybook-button--primary' : 'storybook-button--secondary'; return ['storybook-button', `storybook-button--${this.size}`, mode]; } } |