Перейти к основному содержимому

UI-компоненты

Библиотека React-компонентов. Позволяет создавать мини-приложения для супераппа TSU.InTime.

Установка

  1. Подготовьте React-приложение.

  2. Установите необходимые пакеты

yarn - yarn add "@tsu.intime/tsu-intime-ui" "@tsu.intime/tsu-intime-bridge"
npm - npm install "@tsu.intime/tsu-intime-ui" "@tsu.intime/tsu-intime-bridge"

@tsu.intime/tsu-intime-bridge предназначена осуществления одностороннего взаимодействия с супераппом.

  1. Добавьте meta-тег в index.html
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, viewport-fit=cover" />

4. Задайте стили (Подробнее о Safe-Area).

html,
body {
margin: 0;
height: 100vh;
overscroll-behavior: none;
}

Компоненты

View

Основной компонент для контента.

API

СвойствоОписаниеТипЗначение по умолчанию
childrenОсновной контентReactNode-
headerШапка ViewReactNode-
interfaceИнтерфейс View, положение элементов необходимо указывать, используя position: absoluteReactNode-


ActivityIndicator

Спиннер для отображения состояния загрузки страницы/раздела.

API

СвойствоОписаниеТипЗначение по умолчанию
sizeРазмер спиннера"small" | "default" "default"


Button

Кнопка.

API

СвойствоОписаниеТипЗначение по умолчанию
sizeРазмер кнопки"small" | "large"-
blockНаследует ли кнопка всю ширину родителяbooleanfalse
isLoadingЗаменяет весь контент на ActivityIndicator и блокирует кнопку для нажатияbooleanfalse
disabledБлокирует кнопку для нажатияbooleanfalse
onClickУстанавливает обработчик нажатия на кнопку(event: MouseEvent) => void-


Input / InputTextarea

Поле для ввода.

API

СвойствоОписаниеТипЗначение по умолчанию
suffixИконка, отображаемая справа от поляReactNode-
changeValueУстанавливает обработчик для ввода текста(value: string) => void-
allowClearОтображает кнопку для очистки поляbooleanfalse
defaultValueЗначение по умолчаниюstring-
placeholderПодсказкаstring-


Surface

Контейнер.

API

СвойствоОписаниеТипЗначение по умолчанию
typeЦвет фона"primary" | "secondary" | "accent" | "accent-green" | "accent-faded" | "accent-green-faded"-
borderRadiusРадиус скругления углов (px)number8
paddingВнутренний отступ (px)number16
childrenСодержимоеReactNode-


Text

Компонент для отображения текста.

API

СвойствоОписаниеТипЗначение по умолчанию
fontStyleСтиль текста"header-2" | "body" | "body-bold" | "footnote" | "footnote-bold" | "small-footnote"body
classNameCSS-классstring-
isSelectableФлаг, определяющий доступность текста для выделенияbooleanfalse
childrenСодержимоеReactNode-

Цвета

Все используемые в библиотеке цвета вынесены в css-custom-properties.

.MyDiv {
background: var(--surface-accent-green);
}