# Параметры конструктора

> Все параметры, поддерживаемые new Entase(), с их значениями по умолчанию и описанием действия. Все параметры необязательны, и большинство из них можно переопределить для отдельного бронирования.

Все параметры необязательны. Ниже указаны значения по умолчанию, которые клиент использует, если параметр не задан.

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

## Параметры

| Название | Тип | По умолчанию | Описание |
|---|---|---|---|
| `pk` | string | `null` | Ваш открытый ключ. Клиент отправляет его при проверке, разрешено ли вашему домену использовать встроенное оформление заказа. Без него каждое оформление заказа открывается во всплывающем окне. |
| `locale` | string | `'auto'` | Язык оформления заказа. `'auto'` считывает атрибут `lang` вашего элемента `<html>`. |
| `checkoutMode` | string | `'auto'` | `'auto'`, `'pane'` или `'popup'`. См. [Режимы оформления заказа](/developers/js-client/checkout-modes.md). При нераспознанном значении используется `'auto'`. |
| `collectConsent` | boolean | `true` | Нужно ли предлагать посетителю принять уведомление об условиях. После принятия ответ сохраняется в cookie, и этот шаг пропускается. |
| `backdrop` | boolean | `true` | Нужно ли затемнять страницу за оформлением заказа. Значение `false` также отключает блокировку прокрутки страницы. |
| `backdropColor` | string | `'#000000'` | Цвет затемнённой области в виде значения цвета CSS. |
| `tprm` | object | `{}` | Параметры отслеживания, добавляемые к URL оформления заказа как параметры запроса. См. [Отслеживание и согласие](/developers/js-client/tracking-and-consent.md). |
| `pane` | object | `{ width: 800, height: '100%' }` | Размер встроенной панели. Игнорируется в режиме всплывающего окна. |
| `popup` | object | `{ width: 800, height: 1000 }` | Размер всплывающего окна в пикселях. Игнорируется в режиме панели. |

## Размеры панели и всплывающего окна

`pane.width` принимает число (в пикселях) или любую длину CSS – `'720px'`, `'50%'`, `'40vw'` или выражение `calc()`. Обычное число интерпретируется как пиксели.

На настольных устройствах ширина панели ограничивается этим значением, а на мобильных устройствах она занимает всю ширину, при этом применяется `pane.height`. Переключение между этими вариантами происходит, когда область просмотра уже заданной ширины; если ширина задана в относительных единицах, переключение происходит при 800px.

`popup.width` и `popup.height` принимают только числа в пикселях, а окно центрируется на экране посетителя. Если высоты экрана недостаточно для запрошенной высоты, размер окна уменьшается, чтобы оно поместилось.

## Фон

Фон за всплывающим окном затемняется сильнее, чем за панелью, поскольку всплывающее окно должно делать страницу под ним неактивной. Установите `backdrop: false`, чтобы полностью убрать затемнение – при этом страницу за оформлением заказа также можно будет прокручивать.

`backdropColor` применяется без изменений, поэтому может быть любым допустимым цветом CSS. Используйте его, чтобы подобрать цвет под тёмный сайт или сайт с фирменным оформлением, а не чтобы скрыть фон; для этого подходит параметр `backdrop: false`.

## Переопределения для отдельных бронирований

`checkoutMode`, `collectConsent`, `backdrop`, `backdropColor`, `pane` и `popup` можно переопределить для одного бронирования, передав их в `book()`. Значение на уровне экземпляра остаётся неизменным для последующих вызовов:

```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` и `tprm` нельзя задать для отдельного бронирования – `pk` идентифицирует аккаунт для всей страницы, а параметры отслеживания изменяются с помощью `setTracking()`, когда они должны отличаться.
