@mdfriday/shortcode
Version:
A flexible component-based shortcode system for Markdown content with theme support
37 lines (36 loc) • 1.21 kB
TypeScript
import { ComponentVariant, Theme } from '../types';
import { BaseComponent } from './base-component';
export interface ButtonProps {
variant?: 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'light' | 'dark' | 'link' | 'outline';
size?: 'sm' | 'md' | 'lg';
disabled?: boolean;
rounded?: boolean;
}
/**
* Button component implementation
*/
export declare class ButtonComponent extends BaseComponent {
/**
* Create a new ButtonComponent
* @param variant The button variant
* @param parent Optional parent component name
*/
constructor(variant?: ComponentVariant);
/**
* Generate base class CSS
* @param theme The jsons
* @param prefix Optional prefix for CSS classes
* @returns The CSS string
*/
protected generateBaseCSS(theme: Theme, prefix?: string): string;
/**
* Generate variant class CSS
* @param theme The jsons
* @param prefix Optional prefix for CSS classes
* @returns The CSS string
*/
protected generateVariantCSS(theme: Theme, prefix?: string): string;
private generateVariantStyles;
private generateSizeStyles;
}
export declare const button: ButtonComponent;