/** * Presets para un tipo de componente * * @example * const buttonPresets: ComponentPresets = { * 'primary-action': { size: 'large', color: 'primary', fill: 'solid' }, * 'secondary': { size: 'medium', color: 'secondary', fill: 'outline' }, * 'danger': { size: 'medium', color: 'danger', fill: 'solid' }, * }; */ export type ComponentPresets = Record>; /** * Configuración completa de presets por componente * * @example * const appPresets: PresetConfig = { * button: { * 'primary-action': { size: 'large', color: 'primary', fill: 'solid' }, * 'secondary': { size: 'medium', color: 'secondary', fill: 'outline' }, * }, * card: { * 'feature': { variant: 'elevated', padding: 'large' }, * 'compact': { variant: 'flat', padding: 'small' }, * }, * input: { * 'form-field': { size: 'medium', fill: 'outline', labelPosition: 'floating' }, * } * }; */ export type PresetConfig = Record; /** * Opciones para provideValtechPresets() */ export interface PresetsOptions { /** * Presets iniciales de la aplicación */ presets: PresetConfig; }