# Настройка интерфейса

Для настройки интерфейса воспользуйтесь разделом `style` в методе `Ozliveness.open`. Полный список настроек приведен после примера.

Пример использования:

```css
OzLiveness.open({
style: {
    baseColorCustomization: {
        textColorPrimary: "#000000",
        backgroundColorPrimary: "#FFFFFF",
        textColorSecondary: "#8E8E93",
        backgroundColorSecondary: "#F2F2F7",
        iconColor: "#00A5BA"
    },
    baseFontCustomization: {
        textFont: "Roboto, sans-serif",
        textSize: "16px",
        textWeight: "400",
        textStyle: "normal"
    },
    titleFontCustomization: {
        textFont: "inherit",
        textSize: "36px",
        textWeight: "500",
        textStyle: "normal"
    },
    buttonCustomization: {
        textFont: "inherit",
        textSize: "14px",
        textWeight: "500",
        textStyle: "normal",
        textColorPrimary: "#FFFFFF",
        backgroundColorPrimary: "#00A5BA",
        textColorSecondary: "#00A5BA",
        backgroundColorSecondary: "#DBF2F5",
        cornerRadius: "10px"
    },
    toolbarCustomization: {
        closeButtonIcon: "cross",
        iconColor: "#707070"
    },
    centerHintCustomization: {
        textFont: "inherit",
        textSize: "24px",
        textWeight: "500",
        textStyle: "normal",
        textColor: "#FFFFFF",
        backgroundColor: "#1C1C1E",
        backgroundOpacity: "56%",
        backgroundCornerRadius: "14px",
        verticalPosition: "38%"
    },
    hintAnimation: {
        hideAnimation: false,
        hintGradientColor: "#00BCD5",
        hintGradientOpacity: "100%",
        animationIconSize: "80px"
    },
    faceFrameCustomization: {
        geometryType: "oval",
        cornersRadius: "0px",
        strokeDefaultColor: "#D51900",
        strokeFaceInFrameColor: "#00BCD5",
        strokeOpacity: "100%",
        strokeWidth: "6px",
        strokePadding: "4px"
    },
    documentFrameCustomization: {
        cornersRadius: "20px",
        templateColor: "#FFFFFF",
        templateOpacity: "100%"
    },
    backgroundCustomization: {
        backgroundColor: "#FFFFFF",
        backgroundOpacity: "88%"
    },
    antiscamCustomization: {
        enableAntiscam: false,
        textMessage: "",
        textFont: "inherit",
        textSize: "14px",
        textWeight: "500",
        textStyle: "normal",
        textColor: "#000000",
        textOpacity: "100%",
        backgroundColor: "#F2F2F7",
        backgroundOpacity: "100%",
        backgroundCornerRadius: "20px",
        flashColor: "#FF453A"
    },
    versionTextCustomization: {
        textFont: "inherit",
        textSize: "16px",
        textWeight: "500",
        textStyle: "normal",
        textColor: "#000000",
        textOpacity: "56%"
    },
    maskCustomization: {
            maskColor: "#008700",
            glowColor: "#000102",
            minAlpha: "30%", // от 0 до 1 или 0-100%
            maxAlpha: "100%" // от 0 до 1 или 0-100%
    },
    switchCameraButtonCustomization: {
            enableSwitchCameraButton: true,
    },
   .ozliveness_wrap_overlay .ozliveness_face_stroke {
            overflow: hidden;
            box-shadow: 0 0 10px rgb(90 201 207);
            border: none; /* важно: удалите используемую по умолчанию рамку */
        }, 
/* для HTML-строки используйте тип string; HTMLElement нужно вставить через cloneNode(true) */
    loaderSlot: yourLoader, /* <string | HTMLElement> */
    loaderTransition: {type: 'fade', duration: 500}
    
    }
});
```

### baseColorCustomization

Основные цветовые настройки.

| **Параметр**             | **Описание**               |
| ------------------------ | -------------------------- |
| textColorPrimary         | Основной цвет текста       |
| backgroundColorPrimary   | Основной цвет фона         |
| textColorSecondary       | Дополнительный цвет текста |
| backgroundColorSecondary | Дополнительный цвет фона   |
| iconColor                | Цвет значков               |

### baseFontCustomization

Основные настройки шрифта.

| **Параметр** | **Описание**        |
| ------------ | ------------------- |
| textFont     | Шрифт               |
| textSize     | Размер шрифта       |
| textWeight   | Насыщенность шрифта |
| textStyle    | Стиль текста        |

### titleFontCustomization

Настройки шрифта заголовка.

| **Параметр** | **Описание**        |
| ------------ | ------------------- |
| textFont     | Шрифт               |
| textSize     | Размер шрифта       |
| textWeight   | Насыщенность шрифта |
| textStyle    | Стиль текста        |

### buttonCustomization

Настройки кнопок.

| **Параметр**             | **Описание**               |
| ------------------------ | -------------------------- |
| textFont                 | Шрифт                      |
| textSize                 | Размер шрифта              |
| textWeight               | Насыщенность шрифта        |
| textStyle                | Стиль текста               |
| textColorPrimary         | Основной цвет текста       |
| backgroundColorPrimary   | Основной цвет фона         |
| textColorSecondary       | Дополнительный цвет текста |
| backgroundColorSecondary | Дополнительный цвет фона   |
| cornerRadius             | Угловой радиус кнопки      |

### toolbarCustomization

Настройки панели инструментов.

| **Параметр**    | **Описание**           |
| --------------- | ---------------------- |
| closeButtonIcon | Значок кнопки закрытия |
| iconColor       | Цвет значка            |

### centerHintCustomization

Настройки подсказки в центре.

| **Параметр**           | **Описание**            |
| ---------------------- | ----------------------- |
| textFont               | Шрифт                   |
| textSize               | Размер шрифта           |
| textWeight             | Насыщенность шрифта     |
| textStyle              | Стиль текста            |
| textColor              | Цвет текста             |
| backgroundColor        | Цвет фона               |
| backgroundOpacity      | Непрозрачность фона     |
| backgroundCornerRadius | Угловой радиус подложки |
| verticalPosition       | Положение по вертикали  |

### hintAnimation

Анимация подсказки.

| **Параметр**        | **Описание**             |
| ------------------- | ------------------------ |
| hideAnimation       | Скрыть анимацию          |
| hintGradientColor   | Цвет градиента           |
| hintGradientOpacity | Непрозрачность градиента |
| animationIconSize   | Размер значка анимации   |

### faceFrameCustomization

Настройки рамки вокруг лица.

| **Параметр**           | **Описание**                         |
| ---------------------- | ------------------------------------ |
| geometryType           | Форма рамки – прямоугольник или овал |
| cornersRadius          | Угловой радиус прямоугольника        |
| strokeDefaultColor     | Цвет рамки (лицо не в кадре)         |
| strokeFaceInFrameColor | Цвет рамки (лицо в кадре)            |
| strokeOpacity          | Непрозрачность обводки               |
| strokeWidth            | Толщина линии обводки                |
| strokePadding          | Отступ в рамке                       |

### documentFrameCustomization

Настройки рамки для съемки документа.

| **Параметр**    | **Описание**           |
| --------------- | ---------------------- |
| cornersRadius   | Угловой радиус         |
| templateColor   | Цвет шаблона           |
| templateOpacity | Непрозрачность шаблона |

### backgroundCustomization

Настройки фона.

| **Параметр**      | **Описание**        |
| ----------------- | ------------------- |
| backgroundColor   | Цвет фона           |
| backgroundOpacity | Непрозрачность фона |

### antiscamCustomization

Настройки защиты от мошенников: при включении во время записи видео появляется дополнительное сообщение.

| **Параметр**           | **Описание**              |
| ---------------------- | ------------------------- |
| textMessage            | Текст сообщения           |
| textFont               | Шрифт                     |
| textSize               | Размер шрифта             |
| textWeight             | Насыщенность шрифта       |
| textStyle              | Стиль текста              |
| textColor              | Цвет текста               |
| textOpacity            | Непрозрачность текста     |
| backgroundColor        | Цвет фона                 |
| backgroundOpacity      | Непрозрачность фона       |
| backgroundCornerRadius | Угловой радиус подложки   |
| flashColor             | Цвет мигающего индикатора |

### versionTextCustomization

Настройки текста версии SDK.

| **Параметр** | **Описание**          |
| ------------ | --------------------- |
| textFont     | Шрифт                 |
| textSize     | Размер шрифта         |
| textWeight   | Насыщенность шрифта   |
| textStyle    | Стиль текста          |
| textColor    | Цвет текста           |
| textOpacity  | Непрозрачность текста |

### maskCustomization

Настройки 3D-маски, добавленной в версии 1.2.1.

| **Параметр** | **Описание**                                                |
| ------------ | ----------------------------------------------------------- |
| maskColor    | Цвет самой маски                                            |
| glowColor    | Цвет обводки маски                                          |
| minAlpha     | Минимальный уровень прозрачности маски (добавлено в 1.3.1)  |
| maxAlpha     | Максимальный уровень прозрачности маски (добавлено в 1.3.1) |

### switchCameraButtonCustomization <a href="#switchcamerabuttoncustomization" id="switchcamerabuttoncustomization"></a>

Настройка управляет видимостью кнопки переключения камеры (добавлено в 1.7.14).

| **Parameter**            | **Description**                                                                                                |
| ------------------------ | -------------------------------------------------------------------------------------------------------------- |
| enableSwitchCameraButton | <ul><li><code>true</code> (по умолчанию) – кнопка видна,</li><li><code>false</code> – кнопка скрыта.</li></ul> |

### loaderSlot

Настройки loader (добавлено в 1.7.15).

<table data-header-hidden><thead><tr><th width="197"></th><th width="277"></th><th></th></tr></thead><tbody><tr><td><strong>Событие</strong></td><td><strong>Payload</strong></td><td><strong>Вызов</strong></td></tr><tr><td><code>loader:init</code></td><td><code>{os, browser, platform}</code></td><td>сразу после вставки слота</td></tr><tr><td><code>loader:waitingCamera</code></td><td><code>{os, browser, platform, waitedMs}</code></td><td>каждые <code>waitedMs</code> мс, пока нет доступа к камере</td></tr><tr><td><code>loader:cameraReady</code></td><td> </td><td>когда доступ к камере получен и loader нужно скрыть</td></tr><tr><td><code>loader:processing</code></td><td><code>{phase: 'start' | 'end'}</code></td><td>до / после подготовки данных</td></tr><tr><td><code>loader:uploading</code></td><td><code>{phase: 'start' | 'progress' | 'end', percent?}</code></td><td>до / во время / после отправки данных</td></tr><tr><td><code>loader:destroy</code></td><td> </td><td>при скрытии слота</td></tr></tbody></table>

### loaderTransition

Настройки переходов loader (добавлено в 1.8.0).

<table data-header-hidden><thead><tr><th width="197"></th><th width="489"></th></tr></thead><tbody><tr><td>Параметр</td><td><strong>Описание</strong></td></tr><tr><td>type</td><td>Тип анимации: <code>none</code>, <code>fade</code>, <code>slide</code>, <code>scale</code></td></tr><tr><td>duration</td><td>Длительность анимации в мс</td></tr><tr><td>easing (опционально)</td><td>Сглаживание: <code>linear</code>, <code>ease-in-out</code> и так далее</td></tr></tbody></table>

### .ozliveness\_face\_stroke

Используйте этот класс для настройки внешнего вида овала (с версии 1.9.2). Поддерживаются все стандартные инструменты CSS.

### Переход на новый дизайн с предыдущих версий (до 1.0.1)

Таблица соответствия параметров:

| **Предыдущий дизайн**                                 | **Новый дизайн**                              |
| ----------------------------------------------------- | --------------------------------------------- |
| doc\_color                                            | -                                             |
| <p>face\_color\_success</p><p>faceFrame.faceReady</p> | faceFrameCustomization.strokeFaceInFrameColor |
| <p>face\_color\_fail</p><p>faceFrame.faceNotReady</p> | faceFrameCustomization.strokeDefaultColor     |
| centerHint.textSize                                   | centerHintCustomization.textSize              |
| centerHint.color                                      | centerHintCustomization.textColor             |
| centerHint.yPosition                                  | centerHintCustomization.verticalPosition      |
| centerHint.letterSpacing                              | -                                             |
| centerHint.fontStyle                                  | centerHintCustomization.textStyle             |
| closeButton.image                                     | -                                             |
| backgroundOutsideFrame.color                          | backgroundCustomization.backgroundColor       |
