@alfalab/core-components-table 2.4.3 → 2.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/components/pagination/Component.js +1 -1
  2. package/components/pagination/index.css +11 -9
  3. package/components/pagination/select-field/index.css +4 -4
  4. package/components/pagination/select-field/index.js +1 -1
  5. package/components/table/Component.js +1 -1
  6. package/components/table/index.css +7 -7
  7. package/components/tbody/Component.js +1 -1
  8. package/components/tbody/index.css +2 -2
  9. package/components/tcell/Component.js +1 -1
  10. package/components/tcell/index.css +6 -6
  11. package/components/texpandable-row/Component.js +1 -1
  12. package/components/texpandable-row/index.css +5 -5
  13. package/components/thead/Component.js +1 -1
  14. package/components/thead/index.css +6 -6
  15. package/components/thead-cell/Component.js +1 -1
  16. package/components/thead-cell/index.css +9 -9
  17. package/components/trow/Component.js +1 -1
  18. package/components/trow/index.css +8 -8
  19. package/components/tsortable-head-cell/Component.js +1 -1
  20. package/components/tsortable-head-cell/index.css +8 -8
  21. package/cssm/components/pagination/index.module.css +2 -0
  22. package/esm/components/pagination/Component.js +1 -1
  23. package/esm/components/pagination/index.css +11 -9
  24. package/esm/components/pagination/select-field/index.css +4 -4
  25. package/esm/components/pagination/select-field/index.js +1 -1
  26. package/esm/components/table/Component.js +1 -1
  27. package/esm/components/table/index.css +7 -7
  28. package/esm/components/tbody/Component.js +1 -1
  29. package/esm/components/tbody/index.css +2 -2
  30. package/esm/components/tcell/Component.js +1 -1
  31. package/esm/components/tcell/index.css +6 -6
  32. package/esm/components/texpandable-row/Component.js +1 -1
  33. package/esm/components/texpandable-row/index.css +5 -5
  34. package/esm/components/thead/Component.js +1 -1
  35. package/esm/components/thead/index.css +6 -6
  36. package/esm/components/thead-cell/Component.js +1 -1
  37. package/esm/components/thead-cell/index.css +9 -9
  38. package/esm/components/trow/Component.js +1 -1
  39. package/esm/components/trow/index.css +8 -8
  40. package/esm/components/tsortable-head-cell/Component.js +1 -1
  41. package/esm/components/tsortable-head-cell/index.css +8 -8
  42. package/modern/components/pagination/Component.js +1 -1
  43. package/modern/components/pagination/index.css +11 -9
  44. package/modern/components/pagination/select-field/index.css +4 -4
  45. package/modern/components/pagination/select-field/index.js +1 -1
  46. package/modern/components/table/Component.js +1 -1
  47. package/modern/components/table/index.css +7 -7
  48. package/modern/components/tbody/Component.js +1 -1
  49. package/modern/components/tbody/index.css +2 -2
  50. package/modern/components/tcell/Component.js +1 -1
  51. package/modern/components/tcell/index.css +6 -6
  52. package/modern/components/texpandable-row/Component.js +1 -1
  53. package/modern/components/texpandable-row/index.css +5 -5
  54. package/modern/components/thead/Component.js +1 -1
  55. package/modern/components/thead/index.css +6 -6
  56. package/modern/components/thead-cell/Component.js +1 -1
  57. package/modern/components/thead-cell/index.css +9 -9
  58. package/modern/components/trow/Component.js +1 -1
  59. package/modern/components/trow/index.css +8 -8
  60. package/modern/components/tsortable-head-cell/Component.js +1 -1
  61. package/modern/components/tsortable-head-cell/index.css +8 -8
  62. package/package.json +4 -4
  63. package/src/components/pagination/index.module.css +2 -0
  64. package/Component-0f4b9bed.d.ts +0 -5
  65. package/Component-10db897e.d.ts +0 -6
  66. package/Component-69921c40.d.ts +0 -184
  67. package/Component-72dda473.d.ts +0 -53
  68. package/Component-bdb4c6b9.d.ts +0 -12
  69. package/Component-c76d6398.d.ts +0 -5
  70. package/Component-ebda875c.d.ts +0 -12
  71. package/Component.desktop-63dec22f.d.ts +0 -6
  72. package/Component.desktop-785df74d.d.ts +0 -6
  73. package/Component.mobile-d7e9f69d.d.ts +0 -6
  74. package/Component.responsive-785df74d.d.ts +0 -26
  75. package/Context-bdb4c6b9.d.ts +0 -4
  76. package/ResponsiveContext-baf4875b.d.ts +0 -5
  77. package/component-10db897e.d.ts +0 -44
  78. package/consts-f777ba1a.d.ts +0 -2
  79. package/cssm/Component-0f4b9bed.d.ts +0 -5
  80. package/cssm/Component-10db897e.d.ts +0 -6
  81. package/cssm/Component-69921c40.d.ts +0 -184
  82. package/cssm/Component-72dda473.d.ts +0 -53
  83. package/cssm/Component-bdb4c6b9.d.ts +0 -12
  84. package/cssm/Component-c76d6398.d.ts +0 -5
  85. package/cssm/Component-ebda875c.d.ts +0 -12
  86. package/cssm/Component.desktop-63dec22f.d.ts +0 -6
  87. package/cssm/Component.desktop-785df74d.d.ts +0 -6
  88. package/cssm/Component.mobile-d7e9f69d.d.ts +0 -6
  89. package/cssm/Component.responsive-785df74d.d.ts +0 -26
  90. package/cssm/Context-bdb4c6b9.d.ts +0 -4
  91. package/cssm/ResponsiveContext-baf4875b.d.ts +0 -5
  92. package/cssm/component-10db897e.d.ts +0 -44
  93. package/cssm/consts-f777ba1a.d.ts +0 -2
  94. package/cssm/desktop-63dec22f.d.ts +0 -2
  95. package/cssm/desktop-69921c40.d.ts +0 -6
  96. package/cssm/hook-0f4b9bed.d.ts +0 -90
  97. package/cssm/hook-ebda875c.d.ts +0 -48
  98. package/cssm/index-10db897e.d.ts +0 -50
  99. package/cssm/index-136acbb1.d.ts +0 -28
  100. package/cssm/index-3109f463.d.ts +0 -62
  101. package/cssm/index-72dda473.d.ts +0 -12
  102. package/cssm/index-bdb4c6b9.d.ts +0 -2
  103. package/cssm/index-c44170fe.d.ts +0 -3
  104. package/cssm/index-c76d6398.d.ts +0 -2
  105. package/cssm/index-ebda875c.d.ts +0 -81
  106. package/cssm/index-f12ee135.d.ts +0 -3
  107. package/cssm/mobile-89f0cb07.d.ts +0 -6
  108. package/cssm/mobile-d7e9f69d.d.ts +0 -2
  109. package/cssm/types-1b036d4b.d.ts +0 -13
  110. package/cssm/types-1c79e231.d.ts +0 -113
  111. package/cssm/types-67a2d8af.d.ts +0 -276
  112. package/cssm/typings-0f4b9bed.d.ts +0 -576
  113. package/cssm/typings-89f0cb07.d.ts +0 -93
  114. package/cssm/typings-bdb4c6b9.d.ts +0 -52
  115. package/cssm/useSkeleton-ebda875c.d.ts +0 -12
  116. package/cssm/utils-0f4b9bed.d.ts +0 -41
  117. package/cssm/utils-1574ad8b.d.ts +0 -29
  118. package/cssm/utils-49cc3c24.d.ts +0 -8
  119. package/desktop-63dec22f.d.ts +0 -2
  120. package/desktop-69921c40.d.ts +0 -6
  121. package/esm/Component-0f4b9bed.d.ts +0 -5
  122. package/esm/Component-10db897e.d.ts +0 -6
  123. package/esm/Component-69921c40.d.ts +0 -184
  124. package/esm/Component-72dda473.d.ts +0 -53
  125. package/esm/Component-bdb4c6b9.d.ts +0 -12
  126. package/esm/Component-c76d6398.d.ts +0 -5
  127. package/esm/Component-ebda875c.d.ts +0 -12
  128. package/esm/Component.desktop-63dec22f.d.ts +0 -6
  129. package/esm/Component.desktop-785df74d.d.ts +0 -6
  130. package/esm/Component.mobile-d7e9f69d.d.ts +0 -6
  131. package/esm/Component.responsive-785df74d.d.ts +0 -26
  132. package/esm/Context-bdb4c6b9.d.ts +0 -4
  133. package/esm/ResponsiveContext-baf4875b.d.ts +0 -5
  134. package/esm/component-10db897e.d.ts +0 -44
  135. package/esm/consts-f777ba1a.d.ts +0 -2
  136. package/esm/desktop-63dec22f.d.ts +0 -2
  137. package/esm/desktop-69921c40.d.ts +0 -6
  138. package/esm/hook-0f4b9bed.d.ts +0 -90
  139. package/esm/hook-ebda875c.d.ts +0 -48
  140. package/esm/index-10db897e.d.ts +0 -50
  141. package/esm/index-136acbb1.d.ts +0 -28
  142. package/esm/index-3109f463.d.ts +0 -62
  143. package/esm/index-72dda473.d.ts +0 -12
  144. package/esm/index-bdb4c6b9.d.ts +0 -2
  145. package/esm/index-c44170fe.d.ts +0 -3
  146. package/esm/index-c76d6398.d.ts +0 -2
  147. package/esm/index-ebda875c.d.ts +0 -81
  148. package/esm/index-f12ee135.d.ts +0 -3
  149. package/esm/mobile-89f0cb07.d.ts +0 -6
  150. package/esm/mobile-d7e9f69d.d.ts +0 -2
  151. package/esm/types-1b036d4b.d.ts +0 -13
  152. package/esm/types-1c79e231.d.ts +0 -113
  153. package/esm/types-67a2d8af.d.ts +0 -276
  154. package/esm/typings-0f4b9bed.d.ts +0 -576
  155. package/esm/typings-89f0cb07.d.ts +0 -93
  156. package/esm/typings-bdb4c6b9.d.ts +0 -52
  157. package/esm/useSkeleton-ebda875c.d.ts +0 -12
  158. package/esm/utils-0f4b9bed.d.ts +0 -41
  159. package/esm/utils-1574ad8b.d.ts +0 -29
  160. package/esm/utils-49cc3c24.d.ts +0 -8
  161. package/hook-0f4b9bed.d.ts +0 -90
  162. package/hook-ebda875c.d.ts +0 -48
  163. package/index-10db897e.d.ts +0 -50
  164. package/index-136acbb1.d.ts +0 -28
  165. package/index-3109f463.d.ts +0 -62
  166. package/index-72dda473.d.ts +0 -12
  167. package/index-bdb4c6b9.d.ts +0 -2
  168. package/index-c44170fe.d.ts +0 -3
  169. package/index-c76d6398.d.ts +0 -2
  170. package/index-ebda875c.d.ts +0 -81
  171. package/index-f12ee135.d.ts +0 -3
  172. package/mobile-89f0cb07.d.ts +0 -6
  173. package/mobile-d7e9f69d.d.ts +0 -2
  174. package/modern/Component-0f4b9bed.d.ts +0 -5
  175. package/modern/Component-10db897e.d.ts +0 -6
  176. package/modern/Component-69921c40.d.ts +0 -184
  177. package/modern/Component-72dda473.d.ts +0 -53
  178. package/modern/Component-bdb4c6b9.d.ts +0 -12
  179. package/modern/Component-c76d6398.d.ts +0 -5
  180. package/modern/Component-ebda875c.d.ts +0 -12
  181. package/modern/Component.desktop-63dec22f.d.ts +0 -6
  182. package/modern/Component.desktop-785df74d.d.ts +0 -6
  183. package/modern/Component.mobile-d7e9f69d.d.ts +0 -6
  184. package/modern/Component.responsive-785df74d.d.ts +0 -26
  185. package/modern/Context-bdb4c6b9.d.ts +0 -4
  186. package/modern/ResponsiveContext-baf4875b.d.ts +0 -5
  187. package/modern/component-10db897e.d.ts +0 -44
  188. package/modern/consts-f777ba1a.d.ts +0 -2
  189. package/modern/desktop-63dec22f.d.ts +0 -2
  190. package/modern/desktop-69921c40.d.ts +0 -6
  191. package/modern/hook-0f4b9bed.d.ts +0 -90
  192. package/modern/hook-ebda875c.d.ts +0 -48
  193. package/modern/index-10db897e.d.ts +0 -50
  194. package/modern/index-136acbb1.d.ts +0 -28
  195. package/modern/index-3109f463.d.ts +0 -62
  196. package/modern/index-72dda473.d.ts +0 -12
  197. package/modern/index-bdb4c6b9.d.ts +0 -2
  198. package/modern/index-c44170fe.d.ts +0 -3
  199. package/modern/index-c76d6398.d.ts +0 -2
  200. package/modern/index-ebda875c.d.ts +0 -81
  201. package/modern/index-f12ee135.d.ts +0 -3
  202. package/modern/mobile-89f0cb07.d.ts +0 -6
  203. package/modern/mobile-d7e9f69d.d.ts +0 -2
  204. package/modern/types-1b036d4b.d.ts +0 -13
  205. package/modern/types-1c79e231.d.ts +0 -113
  206. package/modern/types-67a2d8af.d.ts +0 -276
  207. package/modern/typings-0f4b9bed.d.ts +0 -576
  208. package/modern/typings-89f0cb07.d.ts +0 -93
  209. package/modern/typings-bdb4c6b9.d.ts +0 -52
  210. package/modern/useSkeleton-ebda875c.d.ts +0 -12
  211. package/modern/utils-0f4b9bed.d.ts +0 -41
  212. package/modern/utils-1574ad8b.d.ts +0 -29
  213. package/modern/utils-49cc3c24.d.ts +0 -8
  214. package/types-1b036d4b.d.ts +0 -13
  215. package/types-1c79e231.d.ts +0 -113
  216. package/types-67a2d8af.d.ts +0 -276
  217. package/typings-0f4b9bed.d.ts +0 -576
  218. package/typings-89f0cb07.d.ts +0 -93
  219. package/typings-bdb4c6b9.d.ts +0 -52
  220. package/useSkeleton-ebda875c.d.ts +0 -12
  221. package/utils-0f4b9bed.d.ts +0 -41
  222. package/utils-1574ad8b.d.ts +0 -29
  223. package/utils-49cc3c24.d.ts +0 -8
@@ -1,52 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { BaseModalProps } from "./index-bdb4c6b9";
3
- type ModalDesktopProps = BaseModalProps & {
4
- /**
5
- * Ширина модального окна
6
- * @default "m"
7
- */
8
- size?: 's' | 'm' | 'l' | 'xl' | 'fullscreen';
9
- /**
10
- * Растягивает модальное окно на весь экран
11
- * @deprecated Используйте размер fullscreen
12
- */
13
- fullscreen?: boolean;
14
- /**
15
- * Фиксирует позицию модального окна после открытия,
16
- * предотвращая скачки, если контент внутри будет меняться
17
- */
18
- fixedPosition?: boolean;
19
- /**
20
- * Управление наличием закрывающего крестика
21
- * @default false
22
- */
23
- hasCloser?: boolean;
24
- };
25
- type ModalMobileProps = Omit<ModalDesktopProps, 'size' | 'fixedPosition' | 'fullscreen'>;
26
- type ModalResponsiveProps = ModalDesktopProps & {
27
- /**
28
- * Контрольная точка, с нее начинается desktop версия
29
- * @default 1024
30
- */
31
- breakpoint?: number;
32
- };
33
- type View = 'desktop' | 'mobile';
34
- type TResponsiveModalContext = {
35
- view: View;
36
- size: NonNullable<ModalDesktopProps['size']>;
37
- };
38
- type ContentProps = {
39
- /**
40
- * Контент
41
- */
42
- children?: ReactNode;
43
- /**
44
- * Дополнительный класс
45
- */
46
- className?: string;
47
- /**
48
- * Растягивает контент на всю высоту
49
- */
50
- flex?: boolean;
51
- };
52
- export { ModalDesktopProps, ModalMobileProps, ModalResponsiveProps, View, TResponsiveModalContext, ContentProps };
@@ -1,12 +0,0 @@
1
- /// <reference types="react" />
2
- import React from 'react';
3
- import { TextSkeletonProps } from "./types-1b036d4b";
4
- type SkeletonProps = {
5
- wrapperClassName?: string;
6
- dataTestId?: string;
7
- };
8
- declare function useSkeleton(showSkeleton?: boolean, skeletonProps?: TextSkeletonProps): {
9
- renderSkeleton: (props: SkeletonProps) => React.JSX.Element | null;
10
- textRef: React.RefObject<HTMLElement>;
11
- };
12
- export { useSkeleton };
@@ -1,41 +0,0 @@
1
- import { ReactNode, RefObject } from 'react';
2
- import { BaseSelectProps, GroupShape, OptionShape } from "./typings-0f4b9bed";
3
- declare const isGroup: (item: OptionShape | GroupShape) => item is GroupShape;
4
- declare const isOptionShape: (item: OptionShape | string | null) => item is OptionShape;
5
- declare const joinOptions: ({ selected, selectedMultiple, }: {
6
- selected?: OptionShape | undefined;
7
- selectedMultiple?: OptionShape[] | undefined;
8
- }) => ReactNode[] | null;
9
- declare function processOptions(options: BaseSelectProps['options'], selected?: BaseSelectProps['selected'], filterFn?: (option: OptionShape) => boolean): {
10
- filteredOptions: (OptionShape | GroupShape)[];
11
- flatOptions: OptionShape[];
12
- selectedOptions: OptionShape[];
13
- };
14
- type useVisibleOptionsArgs = {
15
- /**
16
- * Количество видимых пунктов
17
- */
18
- visibleOptions: number;
19
- /**
20
- * Реф на контейнер с пунтами меню
21
- */
22
- listRef: RefObject<HTMLElement>;
23
- /**
24
- * Реф на контейнер, которому нужно установить высоту
25
- */
26
- styleTargetRef?: RefObject<HTMLElement>;
27
- /**
28
- * Флаг открытия меню
29
- */
30
- open?: boolean;
31
- /**
32
- * Позволяет вызвать пересчет высоты
33
- */
34
- invalidate?: unknown;
35
- };
36
- declare function useVisibleOptions({ visibleOptions, listRef, styleTargetRef, open, invalidate, }: useVisibleOptionsArgs): void;
37
- declare function defaultFilterFn(optionText: string, search: string): boolean;
38
- declare function defaultAccessor(option: OptionShape): string;
39
- declare function usePrevious<T>(value: T): T | undefined;
40
- declare const lastIndexOf: <T>(array: T[], predicate: (item: T) => boolean) => number;
41
- export { isGroup, isOptionShape, joinOptions, processOptions, useVisibleOptions, defaultFilterFn, defaultAccessor, usePrevious, lastIndexOf };
@@ -1,29 +0,0 @@
1
- type SavedStyle = {
2
- value: string;
3
- key: string;
4
- el: HTMLElement;
5
- };
6
- type RestoreStyle = {
7
- container: HTMLElement;
8
- modals: number;
9
- styles: SavedStyle[];
10
- };
11
- declare class ModalStore {
12
- private readonly restoreStyles;
13
- constructor();
14
- getRestoreStyles: () => RestoreStyle[];
15
- }
16
- declare const getModalStore: () => ModalStore;
17
- declare class GlobalStore {
18
- private readonly modalStore;
19
- constructor();
20
- getModalStore: () => ModalStore;
21
- }
22
- declare function isScrolledToTop(target: HTMLElement): boolean;
23
- declare function isScrolledToBottom(target: HTMLElement): boolean;
24
- declare function hasScrollbar(target: HTMLElement): boolean;
25
- declare const getScrollbarSize: () => number;
26
- declare const restoreContainerStyles: (container: HTMLElement) => void;
27
- declare const handleContainer: (container?: HTMLElement) => void;
28
- export type { SavedStyle };
29
- export { getModalStore, GlobalStore, isScrolledToTop, isScrolledToBottom, hasScrollbar, getScrollbarSize, restoreContainerStyles, handleContainer };
@@ -1,8 +0,0 @@
1
- declare const TIMEOUT = 500;
2
- declare const SWIPE_VELOCITY = 0.4;
3
- declare const MARKER_HEIGHT = 24;
4
- declare const CLOSE_OFFSET = 0.2;
5
- declare const SCROLL_OFFSET = 1;
6
- declare const HEADER_OFFSET = 24;
7
- declare const convertPercentToNumber: (value: string | number, fullHeight: number, headerOffset?: number) => number;
8
- export { TIMEOUT, SWIPE_VELOCITY, MARKER_HEIGHT, CLOSE_OFFSET, SCROLL_OFFSET, HEADER_OFFSET, convertPercentToNumber };
@@ -1,13 +0,0 @@
1
- type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
2
- type WidthUnit = number | string;
3
- type TextSkeletonProps = {
4
- /**
5
- * Кол-во строк текста
6
- */
7
- rows?: number;
8
- /**
9
- * Ширина строки
10
- */
11
- width?: WidthUnit | WidthUnit[];
12
- };
13
- export { TextElementType, TextSkeletonProps };
@@ -1,113 +0,0 @@
1
- /// <reference types="react" />
2
- import React from 'react';
3
- import { ReactNode } from "react";
4
- import { CloserProps } from "./index-ebda875c";
5
- type NavigationBarProps = {
6
- /**
7
- * Контент шапки
8
- */
9
- children?: ReactNode;
10
- /**
11
- * Заголовок шапки
12
- */
13
- title?: string;
14
- /**
15
- * Подзаголовок (доступен только в мобильной версии)
16
- */
17
- subtitle?: ReactNode;
18
- /**
19
- * Размер заголовка (compact доступен только в мобильной версии)
20
- */
21
- titleSize?: 'default' | 'compact';
22
- /**
23
- * Доп. класс для аддонов
24
- */
25
- addonClassName?: string;
26
- /**
27
- * Слот слева
28
- */
29
- leftAddons?: ReactNode;
30
- /**
31
- * Слот справа
32
- */
33
- rightAddons?: ReactNode;
34
- /**
35
- * Дополнительный класс для closer
36
- */
37
- closerClassName?: string;
38
- /**
39
- * Слот снизу
40
- */
41
- bottomAddons?: ReactNode;
42
- /**
43
- * Наличие компонента крестика
44
- */
45
- hasCloser?: boolean;
46
- /**
47
- * Наличие кнопки "Назад"
48
- */
49
- hasBackButton?: boolean;
50
- /**
51
- * Дополнительный класс для правого аддона
52
- */
53
- backButtonClassName?: string;
54
- /**
55
- * Дополнительный класс
56
- */
57
- className?: string;
58
- /**
59
- * Дополнительный класс для контента
60
- */
61
- contentClassName?: string;
62
- /**
63
- * Дополнительный класс для нижнего аддона
64
- */
65
- bottomAddonsClassName?: string;
66
- /**
67
- * Выравнивание заголовка
68
- */
69
- align?: 'left' | 'center';
70
- /**
71
- * Обрезать ли заголовок
72
- */
73
- trim?: boolean;
74
- /**
75
- * Фиксирует шапку
76
- */
77
- sticky?: boolean;
78
- /**
79
- * Идентификатор для систем автоматизированного тестирования
80
- */
81
- dataTestId?: string;
82
- /**
83
- * Фоновое изображение
84
- */
85
- imageUrl?: string;
86
- /**
87
- * Иконка closer.
88
- */
89
- closerIcon?: React.ElementType;
90
- /**
91
- * Обработчик закрытия
92
- */
93
- onClose?: CloserProps['onClose'];
94
- /**
95
- * обработчик клика по кнопке "назад"
96
- */
97
- onBack?: () => void;
98
- /**
99
- * Вид шапки - мобильный или десктоп
100
- */
101
- view: 'desktop' | 'mobile';
102
- /**
103
- * Ссылка на родительскую ноду overflow: auto
104
- */
105
- scrollableParentRef?: React.RefObject<HTMLDivElement>;
106
- };
107
- type ContentParams = {
108
- extraClassName?: string;
109
- wrapperRef?: React.RefObject<HTMLDivElement>;
110
- style?: React.CSSProperties;
111
- hidden?: boolean;
112
- };
113
- export { NavigationBarProps, ContentParams };
@@ -1,276 +0,0 @@
1
- /// <reference types="react-transition-group" />
2
- import { HTMLAttributes, ReactElement, ReactNode, RefObject } from 'react';
3
- import { HandledEvents } from 'react-swipeable/es/types';
4
- import { TransitionProps } from 'react-transition-group/Transition';
5
- import { BaseModalProps } from "./index-bdb4c6b9";
6
- import { NavigationBarProps } from "./index-c76d6398";
7
- import { BackgroundColorType } from "./index-72dda473";
8
- type BottomSheetTitleAlign = 'center' | 'left';
9
- type BottomSheetProps = {
10
- /**
11
- * Контент
12
- */
13
- children?: ReactNode;
14
- /**
15
- * Управление видимостью
16
- */
17
- open: boolean;
18
- /**
19
- * Заголовок
20
- */
21
- title?: ReactNode;
22
- /**
23
- * Размер заголовка
24
- */
25
- titleSize?: NavigationBarProps['titleSize'];
26
- /**
27
- * Подзаголовок.
28
- */
29
- subtitle?: NavigationBarProps['subtitle'];
30
- /**
31
- * Кнопка действия (обычно, это кнопка закрытия)
32
- */
33
- actionButton?: ReactNode;
34
- /**
35
- * Нода, компонент или функция возвращающая их
36
- *
37
- * Контейнер к которому будут добавляться порталы
38
- */
39
- container?: BaseModalProps['container'];
40
- /**
41
- * Рендерить ли в контейнер через портал.
42
- */
43
- usePortal?: BaseModalProps['usePortal'];
44
- /**
45
- * Дополнительный класс
46
- */
47
- className?: string;
48
- /**
49
- * Дополнительный класс
50
- */
51
- contentClassName?: string;
52
- /**
53
- * Дополнительные пропсы на контейнер.
54
- */
55
- containerProps?: HTMLAttributes<HTMLDivElement>;
56
- /**
57
- * Дополнительный класс
58
- */
59
- containerClassName?: string;
60
- /**
61
- * Цвет фона
62
- */
63
- backgroundColor?: Extract<BackgroundColorType, 'primary' | 'secondary'>;
64
- /**
65
- * Дополнительный класс шапки
66
- */
67
- headerClassName?: string;
68
- /**
69
- * Дополнительный класс футера
70
- */
71
- footerClassName?: string;
72
- /**
73
- * Дополнительный класс для аддонов
74
- */
75
- addonClassName?: string;
76
- /**
77
- * Дополнительный класс для компонента крестика
78
- */
79
- closerClassName?: string;
80
- /**
81
- * Дополнительный класс для компонента стрелки назад
82
- */
83
- backerClassName?: string;
84
- /**
85
- * Дополнительный класс для компонента модального окна
86
- */
87
- modalClassName?: string;
88
- /**
89
- * Дополнительный класс для обертки модального окна
90
- */
91
- modalWrapperClassName?: string;
92
- /**
93
- * Дополнительный класс для маркера
94
- */
95
- swipeableMarkerClassName?: string;
96
- /**
97
- * Кастомный маркер
98
- */
99
- swipeableMarker?: ReactElement;
100
- /**
101
- * TransitionProps, прокидываются в компонент CSSTransitionProps.
102
- */
103
- transitionProps?: Partial<TransitionProps>;
104
- /**
105
- * Идентификатор для систем автоматизированного тестирования
106
- */
107
- dataTestId?: string;
108
- /**
109
- * z-index компонента
110
- */
111
- zIndex?: number;
112
- /**
113
- * Будет ли свайпаться шторка
114
- * @default true
115
- */
116
- swipeable?: boolean;
117
- /**
118
- * Будет ли свайпаться контент
119
- */
120
- swipeableContent?: boolean;
121
- /**
122
- * Порог свайпа
123
- */
124
- swipeThreshold?: number;
125
- /**
126
- * Слот слева
127
- */
128
- leftAddons?: ReactNode;
129
- /**
130
- * Слот справа
131
- */
132
- rightAddons?: ReactNode;
133
- /**
134
- * Слот снизу
135
- */
136
- bottomAddons?: ReactNode;
137
- /**
138
- * Наличие компонента крестика
139
- */
140
- hasCloser?: boolean;
141
- /**
142
- * Наличие компонента стрелки назад
143
- */
144
- hasBacker?: boolean;
145
- /**
146
- * Выравнивание заголовка
147
- */
148
- titleAlign?: BottomSheetTitleAlign;
149
- /**
150
- * Фиксирует шапку
151
- */
152
- stickyHeader?: boolean;
153
- /**
154
- * Фиксирует футер
155
- */
156
- stickyFooter?: boolean;
157
- /**
158
- * Высота шторки
159
- */
160
- initialHeight?: 'default' | 'full';
161
- /**
162
- * Будет ли виден оверлэй
163
- */
164
- hideOverlay?: boolean;
165
- /**
166
- * Будет ли видна шапка
167
- */
168
- hideHeader?: boolean;
169
- /**
170
- * Будет ли обрезан заголовок
171
- */
172
- trimTitle?: boolean;
173
- /**
174
- * Запретить закрытие шторки кликом на оверлэй
175
- */
176
- disableOverlayClick?: boolean;
177
- /**
178
- * Отключает блокировку скролла при открытии модального окна
179
- */
180
- disableBlockingScroll?: boolean;
181
- /**
182
- * Отключает ловушку фокуса
183
- */
184
- disableFocusLock?: boolean;
185
- /**
186
- * @deprecated данный проп больше не используется, временно оставлен для обратной совместимости
187
- * Не анимировать шторку при изменении размера вьюпорта
188
- */
189
- ignoreScreenChange?: boolean;
190
- /**
191
- * Свойства для Бэкдропа
192
- */
193
- backdropProps?: BaseModalProps['backdropProps'];
194
- /**
195
- * Реф на контейнер, в котором происходит скролл
196
- */
197
- scrollableContainerRef?: RefObject<HTMLElement>;
198
- /**
199
- * Реф для управления компонентом.
200
- */
201
- bottomSheetInstanceRef?: RefObject<{
202
- scrollToArea: (idx: number) => void;
203
- }>;
204
- /**
205
- * Реф на контейнер, в котором находится шторка
206
- */
207
- sheetContainerRef?: RefObject<HTMLElement>;
208
- /**
209
- * Магнитные области видимой высоты шторки.
210
- * Можно использовать значения в пикселях - 10(число), либо в процентах - 10%(строка).
211
- * По-умолчанию -[0, window.innerHeight - '24px']
212
- * массив должен состоять минимум из 2 элементов
213
- */
214
- magneticAreas?: Array<number | string>;
215
- /**
216
- * Индекс точки из magneticAreas, к которому нужно примагнититься при первом открытии шторки.
217
- */
218
- initialActiveAreaIndex?: number;
219
- /**
220
- * Отключает скролл контентной области.
221
- */
222
- scrollLocked?: boolean;
223
- /**
224
- * Скрыть скроллбар внутри шторки
225
- */
226
- hideScrollbar?: boolean;
227
- /**
228
- * Верхний отступ шторки, если она открыта на максимальную высоту
229
- */
230
- headerOffset?: number;
231
- /**
232
- * Содержимое bottom-sheet всегда в DOM
233
- */
234
- keepMounted?: boolean;
235
- /**
236
- * Отключает автоматический перевод фокуса на bottom-sheet при открытии
237
- */
238
- disableAutoFocus?: boolean;
239
- /**
240
- * Отключает восстановление фокуса на предыдущем элементе после закрытия bottom-sheet
241
- */
242
- disableRestoreFocus?: boolean;
243
- /**
244
- * Отключает вызов `onClose` при нажатии Escape
245
- */
246
- disableEscapeKeyDown?: boolean;
247
- /**
248
- * Обработчик закрытия
249
- */
250
- onClose: () => void;
251
- /**
252
- * Обработчик нажатия на стрелку назад
253
- */
254
- onBack?: () => void;
255
- /**
256
- * Вызывается в начале анимации притягивания к одной из `magneticAreas`
257
- */
258
- onMagnetize?: (index: number) => void;
259
- /**
260
- * Вызывается после окончания анимации притягивания
261
- */
262
- onMagnetizeEnd?: (index: number) => void;
263
- /**
264
- * Вызывается при изменении положения шторки
265
- */
266
- onOffsetChange?: (offset: number, percent: number) => void;
267
- /**
268
- * Вызывается в начале свайпа
269
- */
270
- onSwipeStart?: (event: HandledEvents) => void;
271
- /**
272
- * Вызывается после окончания свайпа
273
- */
274
- onSwipeEnd?: (event: HandledEvents | null) => void;
275
- };
276
- export { BottomSheetTitleAlign, BottomSheetProps };