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

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

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

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

    constructor(options?: Partial<IWSButton>) {
        // 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 IWSFooterButtonProps extends IWDWidgetBaseProps {

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