Interface ControlButtonsComponentOptions

interface ControlButtonsComponentOptions {
    buttons: Button[];
    buttonColor?: string;
    buttonBackgroundColor?: {
        default?: string;
        pressed?: string;
    };
    alignment?:
        | "space-around"
        | "space-between"
        | "space-evenly"
        | "center"
        | "flex-end"
        | "flex-start";
    vertical?: boolean;
    buttonsContainerStyle?: CSSProperties;
    alternateIconComponent?: Element;
    containerProps?: HTMLAttributes<HTMLDivElement>;
    buttonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
    buttonStyle?: CSSProperties;
    buttonClassName?: string;
    iconWrapperProps?: HTMLAttributes<HTMLSpanElement>;
    textProps?: HTMLAttributes<HTMLSpanElement>;
    contentWrapperProps?: HTMLAttributes<HTMLDivElement>;
    renderButton?: ((options: {
        index: number;
        button: Button;
        defaultButton: ReactNode;
        defaultProps: ButtonHTMLAttributes<HTMLButtonElement>;
        vertical: boolean;
    }) => ReactNode);
    renderButtonContent?: ((options: {
        index: number;
        button: Button;
        defaultIcon: ReactNode;
        defaultLabel: ReactNode;
        defaultContent: ReactNode;
        vertical: boolean;
    }) => ReactNode);
    gap?: string | number;
}

Properties

buttons: Button[]
buttonColor?: string
buttonBackgroundColor?: {
    default?: string;
    pressed?: string;
}
alignment?:
    | "space-around"
    | "space-between"
    | "space-evenly"
    | "center"
    | "flex-end"
    | "flex-start"
vertical?: boolean
buttonsContainerStyle?: CSSProperties
alternateIconComponent?: Element
containerProps?: HTMLAttributes<HTMLDivElement>
buttonProps?: ButtonHTMLAttributes<HTMLButtonElement>
buttonStyle?: CSSProperties
buttonClassName?: string
iconWrapperProps?: HTMLAttributes<HTMLSpanElement>
textProps?: HTMLAttributes<HTMLSpanElement>
contentWrapperProps?: HTMLAttributes<HTMLDivElement>
renderButton?: ((options: {
    index: number;
    button: Button;
    defaultButton: ReactNode;
    defaultProps: ButtonHTMLAttributes<HTMLButtonElement>;
    vertical: boolean;
}) => ReactNode)
renderButtonContent?: ((options: {
    index: number;
    button: Button;
    defaultIcon: ReactNode;
    defaultLabel: ReactNode;
    defaultContent: ReactNode;
    vertical: boolean;
}) => ReactNode)
gap?: string | number