phase-2: add shared platform interfaces and type contracts
This commit is contained in:
13
src/app/shared/models/ui/button.model.ts
Normal file
13
src/app/shared/models/ui/button.model.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
export interface ButtonConfig {
|
||||
id?: string;
|
||||
label: string;
|
||||
variant: 'primary' | 'secondary' | 'tertiary' | 'ghost' | 'danger';
|
||||
size?: 'sm' | 'md' | 'lg';
|
||||
icon?: string;
|
||||
disabled?: boolean;
|
||||
loading?: boolean;
|
||||
action?: {
|
||||
type: 'navigate' | 'submit' | 'emit' | 'custom';
|
||||
target?: string;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user