@snack-uikit/modal v0.16.3
Modal
Installation
npm i @snack-uikit/modal
Пакет экспортирует 2 компонента:
Modal
- компонент модального окна с определенным поведением и параметрамиModalCustom
- конструктор модального окна, позволяющий собрать компонент самостоятельно Содержит в себе дополнительные компоненты:ModalCustom.Header
ModalCustom.Body
ModalCustom.Footer
ModalCustom
Props
name | type | default value | description |
---|---|---|---|
children* | ReactNode | - | Контент |
onClose* | () => void | - | Колбек закрытия компонента. |
open* | boolean | - | Управляет состоянием показан/не показан. |
mode | enum Mode: "regular" , "aggressive" , "forced" | regular | Режим отображения модального окна: - Regular - есть кнопка закрытия, клик на оверлей и нажатие кнопки Esc закрывают модалку - Aggressive - есть кнопка закрытия, но выключен клик на оверлей и не работает закрытие по клавише Esc - Forced - закрыть модальное окно можно только по нажатию на кнопку действия в нижней части |
size | enum Size: "s" , "m" , "l" | s | Размер модального окна |
className | string | - | CSS-класс |
ModalCustom.Header
Props
name | type | default value | description |
---|---|---|---|
title* | ReactNode | - | Заголовок модального окна |
titleTooltip | ReactNode | - | Тултип для заголовка |
subtitle | ReactNode | - | Подзаголовок |
picture | JSXElementConstructor<{ size?: number; className?: string; }> \| ModalHeaderImage | - | Можно передать иконку из пакета @snack-uikit/icon-predefined или путь к картинке и атрибут alt |
align | enum ContentAlign: "default" , "center" | - | Выравнивание контента |
className | string | - | CSS-класс |
ModalCustom.Body
Props
name | type | default value | description |
---|---|---|---|
content* | ReactNode | - | Содержимое модального окна |
align | enum ContentAlign: "default" , "center" | - | Выравнивание контента |
className | string | - | CSS-класс |
ModalCustom.Footer
Props
name | type | default value | description |
---|---|---|---|
actions* | ReactNode | - | Параметр для передачи кнопок |
disclaimer | ReactNode | - | Параметр для небольшого текста под кнопками |
align | enum Align: "vertical" , "default" , "center" | - | Выравнивание контента |
className | string | - | CSS-класс |
Modal
Props
name | type | default value | description |
---|---|---|---|
approveButton* | Omit<ButtonFilledProps, "data-test-id" \| "size"> | - | Основная кнопка действия |
title* | string | - | Заголовок модального окна |
onClose* | () => void | - | Колбек закрытия компонента. |
open* | boolean | - | Управляет состоянием показан/не показан. |
mode | enum Mode: "regular" , "aggressive" , "forced" | regular | Режим отображения модального окна: - Regular - есть кнопка закрытия, клик на оверлей и нажатие кнопки Esc закрывают модалку - Aggressive - есть кнопка закрытия, но выключен клик на оверлей и не работает закрытие по клавише Esc - Forced - закрыть модальное окно можно только по нажатию на кнопку действия в нижней части |
className | string | - | CSS-класс |
titleTooltip | ReactNode | - | Всплывающая подсказка для заголовка |
subtitle | string | - | Подзаголовок |
content | ReactNode | - | Содержимое модального окна |
cancelButton | Omit<ButtonOutlineProps, "data-test-id" \| "size"> | - | Кнопка отмены |
additionalButton | Omit<ButtonSimpleProps, "data-test-id" \| "size"> | - | Вторая кнопка действия |
disclaimer | { text: string; link?: Pick<LinkProps, "text" \| "href" \| "target">; } | - | Небольшой текст под кнопками футера с возможностью передать дополнительно ссылку |
truncate | { title?: number; subtitle?: number; } | '{ title: 1; subtitle: 2; }' | Максимальное кол-во строк - title - в заголовке - subtitle - в подзаголовке |
size | "s" | "m" | "l" | s | Размер |
align | enum Align: "vertical" , "default" , "center" | default | Выравнивание, для разных размеров доступны разные значения для size=s - все для size=m - align=default \| center для size=l - align=default |
picture | JSXElementConstructor<{ size?: number; className?: string; }> \| ModalHeaderImage | - | Можно передать иконку из пакета @snack-uikit/icon-predefined , или путь к картинке и атрибут alt |
3 months ago
5 months ago
5 months ago
6 months ago
6 months ago
1 month ago
2 months ago
5 months ago
7 months ago
4 months ago
4 months ago
4 months ago
4 months ago
7 months ago
5 months ago
5 months ago
5 months ago
4 months ago
4 months ago
3 months ago
6 months ago
4 months ago
4 months ago
4 months ago
5 months ago
4 months ago
5 months ago
4 months ago
5 months ago
8 months ago
7 months ago
7 months ago
7 months ago
7 months ago
5 months ago
8 months ago
4 months ago
8 months ago
8 months ago
7 months ago
7 months ago
4 months ago
4 months ago
5 months ago
1 month ago
4 months ago
7 months ago
6 months ago
5 months ago
4 months ago
4 months ago
4 months ago
7 months ago
1 month ago
3 months ago
4 months ago
8 months ago
4 months ago
4 months ago
6 months ago
4 months ago
5 months ago
7 months ago
4 months ago
7 months ago
2 months ago
3 months ago
4 months ago
2 months ago
5 months ago
3 months ago
2 months ago
4 months ago
4 months ago
2 months ago
5 months ago
8 months ago
3 months ago
3 months ago
2 months ago
1 month ago
5 months ago
6 months ago
1 month ago
3 months ago
7 months ago
5 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
1 year ago
1 year ago
1 year ago
11 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
12 months ago
1 year ago
1 year ago
1 year ago
10 months ago
11 months ago
1 year ago
1 year ago
11 months ago
1 year ago
1 year ago
10 months ago
1 year ago
12 months ago
1 year ago
11 months ago
1 year ago
11 months ago
10 months ago
10 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago