ButtonViewModel =============== Il ``ButtonViewModel`` è un modello che rappresenta un pulsante configurabile per l'interfaccia utente. Permette di definire le proprietà principali di un pulsante, inclusi il testo, lo stile e l'azione da eseguire al tap. La definizione del ``ButtonViewModel`` è riportata di seguito: .. code-block:: dart enum ButtonType { standard, outlined } @freezed class ButtonViewModel with _$ButtonViewModel { factory ButtonViewModel({ required final String label, required final ButtonType? type, required final Function() action, final ButtonStyle? buttonStyle, }) = _ButtonViewModel; } **Proprietà**: - **label** (``String``): testo del pulsante. - **type** (``ButtonType``): il tipo di pulsante. Può essere uno dei seguenti valori: - ``ButtonType.standard``: Pulsante con stile predefinito. - ``ButtonType.outlined``: Pulsante con bordi evidenziati, senza riempimento. - **action** (``Function()``): la funzione da eseguire quando il pulsante viene cliccato. - **buttonStyle** (``ButtonStyle?``): stile opzionale del pulsante per una personalizzazione avanzata, come colori, bordi, ecc.