Управление позицией плавающего чата и лавашара
Обновлено 30 января 2024
Позиция лавашара по умолчанию:
{
position: fixed;
bottom: 15px;
right: 30px;
}
Позиция чата по умолчанию:
{
position: fixed;
bottom: 30px;
right: 30px;
}
При необходимости, вы можете позиционировать лавашар абсолютно, для этого необходимо указать одно из свойств объекта position
: kpssTop
, kpssBottom
, kpssLeft
, kpssRight
(string | number
).
Объект position
используется, чтобы контролировать положение лавашара и чата на странице. Он содержит следующие поля:
kpssX
— Отступ для лавашара по оси X. Будет применен к значениюleft
илиright
, в зависимости от значенияalign
. Значение игнорируется приkpssMobilePosition = 'center'
.kpssY
— Отступ для лавашара по оси Y. Будет применен к значениюbottom
.kpssTop
— CSS-свойствоtop
. Если указано, то лавашар станетposition: absolute
.kpssBottom
— CSS-свойствоbottom
. Если указано, то лавашар станетposition: absolute
.kpssLeft
— CSS-свойствоleft
. Если указано, то лавашар станетposition: absolute
.kpssRight
— CSS-свойствоright
. Если указано, то лавашар станетposition: absolute
.kpssMobilePosition
— Расположение лавашара на странице в мобильной верстке. Значения:center
.chatOffsetX
— Отступ для чата по оси X. Будет применен к значениюleft
илиright
, в зависимости от значенияalign
. Игнорируется в мобильной версии, так как чат открывается на весь экран.chatOffsetY
— Отступ для чата по оси Y. Будет применен к значениюbottom
. Игнорируется в мобильной версии, так как чат открывается на весь экран.align
— Расположение кнопки закрытия чата. Значения:left
,right
.kpssAnimation
— Анимации для лавашара при открытии чата. Значения:default
,alternative
. Если значение не указано, анимация будет зависеть от позиции лавашара. Если лавашар находится в дефолтном положении (kpssX
иkpssY
не указаны) будет использована анимация со значениемdefault
. Если указано хотя бы одно из значений (kpssY
илиkpssX
), то будет использованаalternative
анимация.
Пример:
import React, { FC } from 'react';
import { FloatingAssistantChatLottie } from '@sberdevices/assistant-web-sdk/floatingAssistantChatLottie';
export const ChatWithAssistant: FC = () => {
return (
<FloatingAssistantChatLottie
{...props}
position={{
kpssX: 750,
kpssY: 500,
kpssTop: '100px',
kpssBottom: '100%',
kpssLeft: 0,
kpssRight: 0,
kpssMobilePosition: 'center',
chatOffsetX: 200,
chatOffsetY: 200,
align: 'right',
kpssAnimation: 'alternative',
}}
/>
);
};