522 lines
20 KiB
Plaintext
522 lines
20 KiB
Plaintext
---
|
|
title: Pulsanti
|
|
icon: hand-pointer
|
|
---
|
|
|
|
<Frame>
|
|
<img src="/images/user-guide/views/filter.png" alt="Intestazione" />
|
|
</Frame>
|
|
|
|
Un elenco di pulsanti e gruppi di pulsanti utilizzati nell'app.
|
|
|
|
## Pulsante
|
|
|
|
<Tabs>
|
|
|
|
<Tab title="Utilizzo">
|
|
|
|
```jsx
|
|
import { Button } from "@/ui/input/button/components/Button";
|
|
|
|
export const MyComponent = () => {
|
|
return (
|
|
<Button
|
|
className
|
|
Icon={null}
|
|
title="Titolo"
|
|
fullWidth={false}
|
|
variant="primary"
|
|
size="medium"
|
|
position="standalone"
|
|
accent="default"
|
|
soon={false}
|
|
disabled={false}
|
|
focus={true}
|
|
onClick={() => console.log("click")}
|
|
/>
|
|
);
|
|
};
|
|
```
|
|
</Tab>
|
|
|
|
<Tab title="Proprietà">
|
|
|
|
|
|
| Proprietà | Tipo | Descrizione |
|
|
| ----------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
|
| nomeClasse | stringa | Nome della classe opzionale per stile aggiuntivo |
|
|
| Icona | `React.ComponentType` | Un componente icona opzionale mostrato all'interno del pulsante |
|
|
| titolo | stringa | Il contenuto testuale del pulsante |
|
|
| larghezzaCompleta | booleano | Definisce se il pulsante deve occupare l'intera larghezza del suo contenitore |
|
|
| variante | stringa | La variante di stile visivo del pulsante. Le opzioni includono `primary`, `secondary` e `tertiary`. |
|
|
| dimensione | stringa | La dimensione del pulsante. Ha due opzioni: `small` e `medium`. |
|
|
| posizione | stringa | La posizione del pulsante rispetto ai suoi fratelli. Le opzioni includono: `standalone`, `left`, `right` e `middle`. |
|
|
| accento | stringa | Il colore di accentuazione del pulsante. Le opzioni includono: `default`, `blue` e `danger`. |
|
|
| presto | booleano | Indica se il pulsante è segnato come "presto" (ad esempio per funzionalità imminenti) |
|
|
| disabilitato | booleano | Specifica se il pulsante è disabilitato o meno |
|
|
| focus | booleano | Determina se il pulsante è messo a fuoco |
|
|
| onClick | funzione | Una funzione callback che si attiva quando l'utente clicca sul pulsante |
|
|
|
|
|
|
|
|
|
|
</Tab>
|
|
|
|
</Tabs>
|
|
|
|
## Gruppo di Pulsanti
|
|
|
|
<Tabs>
|
|
<Tab title="Utilizzo">
|
|
```jsx
|
|
import { Button } from "@/ui/input/button/components/Button";
|
|
import { ButtonGroup } from "@/ui/input/button/components/ButtonGroup";
|
|
|
|
export const MyComponent = () => {
|
|
return (
|
|
<ButtonGroup variant="primary" size="large" accent="blue" className>
|
|
<Button
|
|
className
|
|
Icon={null}
|
|
title="Pulsante 1"
|
|
fullWidth={false}
|
|
variant="primary"
|
|
size="medium"
|
|
position="standalone"
|
|
accent="blue"
|
|
soon={false}
|
|
disabled={false}
|
|
focus={false}
|
|
onClick={() => console.log("click")}
|
|
/>
|
|
<Button
|
|
className
|
|
Icon={null}
|
|
title="Pulsante 2"
|
|
fullWidth={false}
|
|
variant="secondary"
|
|
size="medium"
|
|
position="left"
|
|
accent="blue"
|
|
soon={false}
|
|
disabled={false}
|
|
focus={false}
|
|
onClick={() => console.log("click")}
|
|
/>
|
|
<Button
|
|
className
|
|
Icon={null}
|
|
title="Pulsante 3"
|
|
fullWidth={false}
|
|
variant="tertiary"
|
|
size="medium"
|
|
position="right"
|
|
accent="blue"
|
|
soon={false}
|
|
disabled={false}
|
|
focus={false}
|
|
onClick={() => console.log("click")}
|
|
/>
|
|
</ButtonGroup>
|
|
);
|
|
};
|
|
```
|
|
</Tab>
|
|
|
|
<Tab title="Proprietà">
|
|
|
|
|
|
| Proprietà | Tipo | Descrizione |
|
|
| ---------- | --------- | -------------------------------------------------------------------------------------------------------------------------- |
|
|
| variante | stringa | La variante di stile visivo dei pulsanti all'interno del gruppo. Le opzioni includono `primary`, `secondary` e `tertiary`. |
|
|
| dimensione | stringa | Le dimensioni dei pulsanti all'interno del gruppo. Ha due opzioni: `medium` e `small`. |
|
|
| accento | stringa | Il colore di accentuazione dei pulsanti all'interno del gruppo. Le opzioni includono `default`, `blue` e `danger`. |
|
|
| nomeClasse | stringa | Nome della classe opzionale per stile aggiuntivo |
|
|
| figli | ReactNode | Un array di elementi React che rappresentano i singoli pulsanti all'interno del gruppo |
|
|
|
|
|
|
|
|
</Tab>
|
|
</Tabs>
|
|
|
|
## Pulsante Galleggiante
|
|
|
|
<Tabs>
|
|
<Tab title="Utilizzo">
|
|
|
|
```jsx
|
|
import { FloatingButton } from "@/ui/input/button/components/FloatingButton";
|
|
import { IconSearch } from "@tabler/icons-react";
|
|
|
|
export const MyComponent = () => {
|
|
return (
|
|
<FloatingButton
|
|
className
|
|
Icon={IconSearch}
|
|
title="Titolo"
|
|
size="medium"
|
|
position="standalone"
|
|
applyShadow={true}
|
|
applyBlur={true}
|
|
disabled={false}
|
|
focus={true}
|
|
/>
|
|
);
|
|
};
|
|
```
|
|
|
|
</Tab>
|
|
|
|
<Tab title="Proprietà">
|
|
|
|
|
|
| Proprietà | Tipo | Descrizione |
|
|
| ------------ | --------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
|
| nomeClasse | stringa | Nome opzionale per stile aggiuntivo |
|
|
| Icona | `React.ComponentType` | Un componente icona opzionale mostrato all'interno del pulsante |
|
|
| titolo | stringa | Il contenuto testuale del pulsante |
|
|
| dimensione | stringa | La dimensione del pulsante. Ha due opzioni: `small` e `medium`. |
|
|
| posizione | stringa | La posizione del pulsante rispetto ai suoi fratelli. Le opzioni includono: `standalone`, `left`, `middle` e `right`. |
|
|
| applicaOmbra | booleano | Determina se applicare l'ombra a un pulsante |
|
|
| applicaBlur | booleano | Determina se applicare un effetto blur al pulsante |
|
|
| disabilitato | booleano | Determina se il pulsante è disabilitato |
|
|
| focus | booleano | Indica se il pulsante è messo a fuoco |
|
|
|
|
|
|
|
|
</Tab>
|
|
</Tabs>
|
|
|
|
## Gruppo di Pulsanti Galleggianti
|
|
|
|
<Tabs>
|
|
<Tab title="Utilizzo">
|
|
|
|
```jsx
|
|
import { FloatingButton } from "@/ui/input/button/components/FloatingButton";
|
|
import { FloatingButtonGroup } from "@/ui/input/button/components/FloatingButtonGroup";
|
|
import { IconClipboardText, IconCheckbox } from "@tabler/icons-react";
|
|
|
|
export const MyComponent = () => {
|
|
return (
|
|
<FloatingButtonGroup size="small">
|
|
<FloatingButton
|
|
className
|
|
Icon={IconClipboardText}
|
|
title
|
|
size="small"
|
|
position="standalone"
|
|
applyShadow={true}
|
|
applyBlur={true}
|
|
disabled={false}
|
|
focus={true}
|
|
/>
|
|
<FloatingButton
|
|
className
|
|
Icon={IconCheckbox}
|
|
title
|
|
size="small"
|
|
position="standalone"
|
|
applyShadow={true}
|
|
applyBlur={true}
|
|
disabled={false}
|
|
/>
|
|
</FloatingButtonGroup>
|
|
);
|
|
};
|
|
```
|
|
|
|
</Tab>
|
|
|
|
<Tab title="Proprietà">
|
|
|
|
|
|
| Proprietà | Tipo | Descrizione | Predefinito |
|
|
| ---------- | --------- | -------------------------------------------------------------------------------------- | ----------- |
|
|
| dimensione | stringa | La dimensione del pulsante. Ha due opzioni: `small` e `medium`. | piccolo |
|
|
| figli | ReactNode | Un array di elementi React che rappresentano i singoli pulsanti all'interno del gruppo | |
|
|
|
|
|
|
|
|
</Tab>
|
|
|
|
</Tabs>
|
|
|
|
## Pulsante Icona Galleggiante
|
|
|
|
<Tabs>
|
|
<Tab title="Utilizzo">
|
|
|
|
```jsx
|
|
import { FloatingIconButton } from "@/ui/input/button/components/FloatingIconButton";
|
|
import { IconSearch } from "@tabler/icons-react";
|
|
|
|
export const MyComponent = () => {
|
|
return (
|
|
<FloatingIconButton
|
|
className
|
|
Icon={IconSearch}
|
|
size="small"
|
|
position="standalone"
|
|
applyShadow={true}
|
|
applyBlur={true}
|
|
disabled={false}
|
|
focus={false}
|
|
onClick={() => console.log("click")}
|
|
isActive={true}
|
|
/>
|
|
);
|
|
};
|
|
```
|
|
|
|
</Tab>
|
|
|
|
<Tab title="Props">
|
|
|
|
|
|
| Props | Tipo | Descrizione |
|
|
| ------------ | --------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
| nomeClasse | stringa | Nome opzionale per stile aggiuntivo |
|
|
| Icona | `React.ComponentType` | Un componente icona opzionale mostrato all'interno del pulsante |
|
|
| dimensione | stringa | La dimensione del pulsante. Ha due opzioni: `small` e `medium`. |
|
|
| posizione | stringa | La posizione del pulsante rispetto ai suoi fratelli. Le opzioni includono: `standalone`, `left`, `right`, e `middle`. |
|
|
| applicaOmbra | booleano | Determina se applicare l'ombra a un pulsante |
|
|
| applicaBlur | booleano | Determina se applicare un effetto blur al pulsante |
|
|
| disabilitato | booleano | Determina se il pulsante è disabilitato |
|
|
| focus | booleano | Indica se il pulsante ha il focus |
|
|
| onClick | funzione | Una funzione callback che si attiva quando l'utente clicca sul pulsante |
|
|
| èAttivo | booleano | Determina se il pulsante è in uno stato attivo |
|
|
|
|
|
|
|
|
</Tab>
|
|
|
|
</Tabs>
|
|
|
|
## Gruppo di Pulsanti Icona Galleggianti
|
|
|
|
<Tabs>
|
|
<Tab title="Utilizzo">
|
|
|
|
```jsx
|
|
import { FloatingIconButtonGroup } from "@/ui/input/button/components/FloatingIconButtonGroup";
|
|
import { IconClipboardText, IconCheckbox } from "@tabler/icons-react";
|
|
|
|
export const MyComponent = () => {
|
|
const iconButtons = [
|
|
{
|
|
Icon: IconClipboardText,
|
|
onClick: () => console.log("Pulsante 1 cliccato"),
|
|
isActive: true,
|
|
},
|
|
{
|
|
Icon: IconCheckbox,
|
|
onClick: () => console.log("Pulsante 2 cliccato"),
|
|
isActive: true,
|
|
},
|
|
];
|
|
|
|
return (
|
|
<FloatingIconButtonGroup
|
|
className
|
|
size="small"
|
|
iconButtons={iconButtons} />
|
|
);
|
|
};
|
|
|
|
```
|
|
|
|
</Tab>
|
|
|
|
<Tab title="Proprietà">
|
|
|
|
|
|
| Proprietà | Tipo | Descrizione |
|
|
| ----------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| nomeClasse | stringa | Nome opzionale per stile aggiuntivo |
|
|
| dimensione | stringa | La dimensione del pulsante. Ha due opzioni: `small` e `medium`. |
|
|
| iconButtons | array | Un array di oggetti, ciascuno rappresentante un pulsante icona nel gruppo. Ogni oggetto dovrebbe includere il componente icona che si vuole visualizzare nel pulsante, la funzione che si vuole chiamare quando un utente clicca sul pulsante e se il pulsante dovrebbe essere attivo o meno. |
|
|
|
|
|
|
|
|
</Tab>
|
|
|
|
</Tabs>
|
|
|
|
## Pulsante Leggero
|
|
|
|
<Tabs>
|
|
<Tab title="Utilizzo">
|
|
|
|
```jsx
|
|
import { LightButton } from "@/ui/input/button/components/LightButton";
|
|
|
|
export const MyComponent = () => {
|
|
return <LightButton
|
|
className
|
|
icon={null}
|
|
title="Titolo"
|
|
accent="secondary"
|
|
active={false}
|
|
disabled={false}
|
|
focus={true}
|
|
onClick={()=>console.log('click')}
|
|
/>;
|
|
};
|
|
```
|
|
|
|
|
|
</Tab>
|
|
|
|
<Tab title="Props">
|
|
|
|
|
|
| Props | Tipo | Descrizione |
|
|
| ------------ | ----------------- | ---------------------------------------------------------------------------------------- |
|
|
| nomeClasse | stringa | Nome opzionale per stile aggiuntivo |
|
|
| icona | `React.ReactNode` | L'icona che si vuole visualizzare nel pulsante |
|
|
| titolo | string | Il contenuto testuale del pulsante |
|
|
| accento | string | Il colore di accentuazione del pulsante. Le opzioni includono: `secondary` e `tertiary`. |
|
|
| attivo | booleano | Determina se il pulsante è in uno stato attivo |
|
|
| disabilitato | booleano | Determina se il pulsante è disabilitato |
|
|
| focus | booleano | Indica se il pulsante è messo a fuoco |
|
|
| onClick | funzione | Una funzione callback che si attiva quando l'utente clicca sul pulsante |
|
|
|
|
|
|
|
|
|
|
</Tab>
|
|
|
|
</Tabs>
|
|
|
|
## Pulsante Icona Leggera
|
|
|
|
<Tabs>
|
|
<Tab title="Utilizzo">
|
|
|
|
```jsx
|
|
import { LightIconButton } from "@/ui/input/button/components/LightIconButton";
|
|
import { IconSearch } from "@tabler/icons-react";
|
|
|
|
export const MyComponent = () => {
|
|
return (
|
|
<LightIconButton
|
|
className
|
|
testId="test1"
|
|
Icon={IconSearch}
|
|
title="Titolo"
|
|
size="small"
|
|
accent="secondary"
|
|
active={true}
|
|
disabled={false}
|
|
focus={true}
|
|
onClick={() => console.log("click")}
|
|
/>
|
|
);
|
|
};
|
|
```
|
|
|
|
|
|
</Tab>
|
|
|
|
<Tab title="Props">
|
|
|
|
|
|
| Props | Tipo | Descrizione |
|
|
| ------------ | --------------------- | --------------------------------------------------------------------------------- |
|
|
| nomeClasse | stringa | Nome opzionale per stile aggiuntivo |
|
|
| testId | string | Identificatore di prova per il pulsante |
|
|
| Icona | `React.ComponentType` | Un componente icona opzionale visualizzato all'interno del pulsante |
|
|
| titolo | string | Il contenuto di testo del pulsante |
|
|
| dimensione | string | La dimensione del pulsante. Ha due opzioni: `small` e `medium`. |
|
|
| accento | string | Il colore accentato del pulsante. Le opzioni includono: `secondary` e `tertiary`. |
|
|
| attivo | booleano | Determina se il pulsante si trova in uno stato attivo |
|
|
| disabilitato | booleano | Determina se il pulsante è disabilitato |
|
|
| focus | booleano | Indica se il pulsante ha il focus |
|
|
| onClick | funzione | Una funzione di callback che si attiva quando l'utente fa clic sul pulsante |
|
|
|
|
|
|
|
|
</Tab>
|
|
|
|
</Tabs>
|
|
|
|
## Pulsante principale
|
|
|
|
<Tabs>
|
|
<Tab title="Utilizzo">
|
|
|
|
```jsx
|
|
import { MainButton } from "@/ui/input/button/components/MainButton";
|
|
import { IconCheckbox } from "@tabler/icons-react";
|
|
|
|
export const MyComponent = () => {
|
|
return (
|
|
<MainButton
|
|
title="Casella di controllo"
|
|
fullWidth={false}
|
|
variant="primary"
|
|
soon={false}
|
|
Icon={IconCheckbox}
|
|
/>
|
|
);
|
|
};
|
|
```
|
|
|
|
|
|
</Tab>
|
|
|
|
<Tab title="Proprietà">
|
|
|
|
|
|
| Proprietà | Tipo | Descrizione |
|
|
| ------------------------------- | -------------------------------- | -------------------------------------------------------------------------------------------- |
|
|
| titolo | string | Il contenuto di testo del pulsante |
|
|
| larghezzaCompleta | booleano | Definisce se il pulsante dovrebbe estendersi per tutta la larghezza del suo contenitore |
|
|
| variante | string | La variante dello stile visivo del pulsante. Le opzioni includono `primary` e `secondary` |
|
|
| presto | booleano | Indica se il pulsante è contrassegnato come "presto" (ad esempio per funzionalità in arrivo) |
|
|
| Icona | `React.ComponentType` | Un componente icona opzionale visualizzato all'interno del pulsante |
|
|
| Proprietà del `button` di React | `React.ComponentProps<'button'>` | Sono supportate tutte le proprietà standard del pulsante HTML |
|
|
|
|
|
|
|
|
|
|
</Tab>
|
|
|
|
</Tabs>
|
|
|
|
## Pulsante icona rotondo
|
|
|
|
<Tabs>
|
|
<Tab title="Utilizzo">
|
|
|
|
```jsx
|
|
import { RoundedIconButton } from "@/ui/input/button/components/RoundedIconButton";
|
|
import { IconSearch } from "@tabler/icons-react";
|
|
|
|
export const MyComponent = () => {
|
|
return (
|
|
<RoundedIconButton
|
|
Icon={IconSearch}
|
|
/>
|
|
);
|
|
};
|
|
```
|
|
|
|
|
|
</Tab>
|
|
|
|
<Tab title="Props">
|
|
|
|
|
|
| Props | Tipo | Descrizione |
|
|
| ------------------------------- | ----------------------------------------------- | ----------- |
|
|
| Icona | `React.ComponentType` | |
|
|
| Proprietà del `button` di React | `React.ButtonHTMLAttributes<HTMLButtonElement>` | |
|
|
|
|
|
|
|
|
</Tab>
|
|
|
|
</Tabs>
|