# Opzioni del costruttore

> Ogni opzione accettata da new Entase(), con il valore predefinito e il relativo effetto. Tutte le opzioni sono facoltative e la maggior parte può essere sovrascritta per singola prenotazione.

Ogni opzione è facoltativa. I valori riportati di seguito sono quelli predefiniti che il client applica quando non ne specifichi una.

```js
const entase = new Entase({
  pk: null,
  locale: 'auto',
  checkoutMode: 'auto',
  collectConsent: true,
  backdrop: true,
  backdropColor: '#000000',
  tprm: {},
  pane:  { width: 800, height: '100%' },
  popup: { width: 800, height: 1000 }
});
```

## Opzioni

| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
| `pk` | string | `null` | La tua chiave pubblicabile. Il client la invia quando verifica se il tuo dominio è autorizzato a utilizzare il checkout inline. Senza di essa, ogni checkout si apre come pop-up. |
| `locale` | string | `'auto'` | Lingua del checkout. `'auto'` legge l'attributo `lang` dell'elemento `<html>`. |
| `checkoutMode` | string | `'auto'` | `'auto'`, `'pane'` o `'popup'`. Vedi [Modalità di checkout](/developers/js-client/checkout-modes.md). Un valore non riconosciuto torna a `'auto'`. |
| `collectConsent` | boolean | `true` | Indica se il checkout chiede al visitatore di accettare l'avviso sui termini. Una volta accettata, la risposta viene memorizzata in un cookie e il passaggio viene saltato. |
| `backdrop` | boolean | `true` | Indica se oscurare la pagina dietro il checkout. `false` disabilita anche il blocco dello scorrimento della pagina. |
| `backdropColor` | string | `'#000000'` | Colore dell'area oscurata, espresso come valore di colore CSS. |
| `tprm` | object | `{}` | Parametri di tracciamento aggiunti all'URL del checkout come parametri di query. Vedi [Tracciamento e consenso](/developers/js-client/tracking-and-consent.md). |
| `pane` | object | `{ width: 800, height: '100%' }` | Dimensioni del pannello inline. Ignorato in modalità pop-up. |
| `popup` | object | `{ width: 800, height: 1000 }` | Dimensioni della finestra pop-up, in pixel. Ignorato in modalità pannello. |

## Dimensionamento del pannello e del pop-up

`pane.width` accetta un numero (pixel) o qualsiasi lunghezza CSS – `'720px'`, `'50%'`, `'40vw'` o un'espressione `calc()`. Un numero semplice viene interpretato come pixel.

Il pannello è limitato a questa larghezza su desktop e occupa l'intera larghezza su mobile, dove viene invece applicato `pane.height`. Il passaggio tra i due avviene quando la viewport è più stretta della larghezza configurata; quando la larghezza è espressa come unità relativa, il passaggio avviene a 800px.

`popup.width` e `popup.height` accettano solo numeri in pixel e la finestra è centrata sullo schermo del visitatore. Se lo schermo non è abbastanza alto per l'altezza richiesta, la finestra viene ridotta per adattarsi.

## Sfondo

Lo sfondo è oscurato più intensamente dietro un pop-up che dietro un pannello, perché un pop-up deve far apparire inattiva la pagina sottostante. Imposta `backdrop: false` per rimuovere completamente l'oscuramento – in questo modo la pagina resta anche scorrevole dietro il checkout.

`backdropColor` viene applicato così com'è, quindi può essere qualsiasi colore CSS valido. Usalo per adattarlo a un sito scuro o con branding, anziché per nascondere lo sfondo; a questo scopo, l'opzione corretta è `backdrop: false`.

## Sovrascritture per singola prenotazione

`checkoutMode`, `collectConsent`, `backdrop`, `backdropColor`, `pane` e `popup` possono essere tutti sovrascritti per una singola prenotazione passandoli a `book()`. Il valore a livello di istanza rimane invariato per le chiamate successive:

```js
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });

// Questa singola prenotazione si apre più ampia, senza oscuramento.
entase.book('EVENT_ID', {
  pane: { width: '60vw' },
  backdrop: false
});
```

`pk` e `tprm` non sono opzioni per singola prenotazione – `pk` identifica l'account per l'intera pagina e i parametri di tracciamento vengono modificati con `setTracking()` quando devono essere diversi.
