import IWDWidgetBaseProps from "@widgets/WDWidgetBase/IWDWidgetBaseProps";

enum WDButtonType {
    Primary = "PRIMARY",
    Secondary = "SECONDARY",
    Success = "SUCCESS",
    Danger = "DANGER"
}

// L'interfaccia rimane la stessa
export interface IWDButton {
    text: string;
    enable: boolean;
    type: WDButtonType;
}

// Definizione della classe che implementa l'interfaccia e fornisce valori predefiniti
export class WDButton implements IWDButton {
    text: string = "Click Me"; // Valore predefinito per text
    enable: boolean = true; // Valore predefinito per enable
    type: WDButtonType = WDButtonType.Primary; // Valore predefinito per type

    constructor(options?: Partial<IWDButton>) {
        // Se vengono forniti degli override durante la creazione dell'istanza, applicali
        if (options) {
            this.text = options.text ?? this.text;
            this.enable = options.enable ?? this.enable;
            this.type = options.type ?? this.type;
        }
    }
}

export default interface IWDFooterButtonProps extends IWDWidgetBaseProps {

    left?: WDButton[];
    center?: WDButton[];
    right?: WDButton[];
    
};