# Konstruktoralternativ

> Alla alternativ som accepteras av new Entase(), med standardvärde och effekt. Alla alternativ är valfria, och de flesta kan åsidosättas för varje enskild bokning.

Alla alternativ är valfria. Värdena nedan är de standardvärden som klienten använder när du utelämnar ett.

```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 }
});
```

## Alternativ

| Namn | Typ | Standardvärde | Beskrivning |
|---|---|---|---|
| `pk` | sträng | `null` | Din publicerbara nyckel. Klienten skickar den när den kontrollerar om din domän får använda inbäddad kassa. Utan den öppnas varje kassa som en popup. |
| `locale` | sträng | `'auto'` | Kassans språk. `'auto'` läser attributet `lang` i ditt `<html>`-element. |
| `checkoutMode` | sträng | `'auto'` | `'auto'`, `'pane'` eller `'popup'`. Se [Kassalägen](/developers/js-client/checkout-modes.md). Ett okänt värde återgår till `'auto'`. |
| `collectConsent` | booleskt värde | `true` | Om kassan ber besökaren att godkänna meddelandet om villkor. När det har godkänts sparas svaret i en cookie och steget hoppas över. |
| `backdrop` | booleskt värde | `true` | Om sidan bakom kassan ska tonas ned. `false` inaktiverar också sidans rullningslås. |
| `backdropColor` | sträng | `'#000000'` | Färgen på det nedtonade området, som ett CSS-färgvärde. |
| `tprm` | objekt | `{}` | Spårningsparametrar som läggs till i kassans URL som frågeparametrar. Se [Spårning och samtycke](/developers/js-client/tracking-and-consent.md). |
| `pane` | objekt | `{ width: 800, height: '100%' }` | Storleken på den inbäddade panelen. Ignoreras i popup-läge. |
| `popup` | objekt | `{ width: 800, height: 1000 }` | Storleken på popup-fönstret, i pixlar. Ignoreras i panelläget. |

## Storlek på panel och popup

`pane.width` accepterar ett tal (pixlar) eller valfri CSS-längd – `'720px'`, `'50%'`, `'40vw'` eller ett `calc()`-uttryck. Ett vanligt tal behandlas som pixlar.

Panelens bredd begränsas till detta värde på datorer och använder hela bredden på mobila enheter, där `pane.height` används i stället. Växlingen mellan de två sker när visningsområdet är smalare än den konfigurerade bredden; när bredden anges som en relativ enhet sker växlingen vid 800px.

`popup.width` och `popup.height` accepterar endast antal pixlar, och fönstret centreras på besökarens skärm. Om skärmen inte är tillräckligt hög för den begärda höjden förminskas fönstret så att det ryms.

## Bakgrundsdimning

Bakgrunden tonas ned mer bakom en popup än bakom en panel, eftersom en popup behöver få sidan under att framstå som inaktiv. Ange `backdrop: false` för att ta bort nedtoningen helt – då går det också att rulla på sidan bakom kassan.

`backdropColor` används som det är och kan därför vara vilken giltig CSS-färg som helst. Använd det för att matcha en mörk eller varumärkesanpassad webbplats i stället för att dölja bakgrundsdimningen; för det är `backdrop: false` rätt alternativ.

## Åsidosättningar per bokning

`checkoutMode`, `collectConsent`, `backdrop`, `backdropColor`, `pane` och `popup` kan alla åsidosättas för en enskild bokning genom att skicka dem till `book()`. Värdet på instansnivå förblir oförändrat för efterföljande anrop:

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

// This one booking opens wider, with no dimming.
entase.book('EVENT_ID', {
  pane: { width: '60vw' },
  backdrop: false
});
```

`pk` och `tprm` är inte alternativ per bokning – `pk` identifierar kontot för hela sidan, och spårningsparametrar ändras med `setTracking()` när de behöver skilja sig åt.
