@alfalab/core-components-table 2.2.41 → 2.3.0

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 (288) hide show
  1. package/Component-5e1b8383.d.ts +5 -0
  2. package/Component-63dec22f.d.ts +167 -0
  3. package/Component-89a3cf4c.d.ts +6 -0
  4. package/Component-bdb4c6b9.d.ts +12 -0
  5. package/Component-e81c389f.d.ts +5 -0
  6. package/Component-ebda875c.d.ts +12 -0
  7. package/Component.desktop-63dec22f.d.ts +6 -0
  8. package/Component.desktop-785df74d.d.ts +6 -0
  9. package/Component.mobile-d7e9f69d.d.ts +6 -0
  10. package/Component.mobile-ebda875c.d.ts +6 -0
  11. package/Component.responsive-785df74d.d.ts +26 -0
  12. package/Context-bdb4c6b9.d.ts +4 -0
  13. package/ResponsiveContext-baf4875b.d.ts +5 -0
  14. package/component-89a3cf4c.d.ts +44 -0
  15. package/component.d.ts +5 -5
  16. package/component.js +1 -1
  17. package/components/index.js +1 -1
  18. package/components/pagination/Component.js +3 -3
  19. package/components/pagination/index.css +8 -8
  20. package/components/pagination/index.js +1 -1
  21. package/components/pagination/select-field/index.css +4 -4
  22. package/components/pagination/select-field/index.js +1 -1
  23. package/components/table/Component.js +1 -1
  24. package/components/table/index.css +7 -7
  25. package/components/tbody/Component.js +1 -1
  26. package/components/tbody/index.css +2 -2
  27. package/components/tcell/Component.d.ts +3 -2
  28. package/components/tcell/Component.js +1 -1
  29. package/components/tcell/index.css +6 -6
  30. package/components/texpandable-row/Component.d.ts +3 -2
  31. package/components/texpandable-row/Component.js +1 -1
  32. package/components/texpandable-row/index.css +5 -5
  33. package/components/thead/Component.js +1 -1
  34. package/components/thead/index.css +6 -6
  35. package/components/thead-cell/Component.d.ts +3 -2
  36. package/components/thead-cell/Component.js +1 -1
  37. package/components/thead-cell/index.css +10 -9
  38. package/components/trow/Component.d.ts +1 -1
  39. package/components/trow/Component.js +1 -1
  40. package/components/trow/index.css +8 -8
  41. package/components/tsortable-head-cell/Component.d.ts +2 -1
  42. package/components/tsortable-head-cell/Component.js +2 -2
  43. package/components/tsortable-head-cell/index.css +8 -10
  44. package/consts-f777ba1a.d.ts +2 -0
  45. package/cssm/Component-5e1b8383.d.ts +5 -0
  46. package/cssm/Component-63dec22f.d.ts +167 -0
  47. package/cssm/Component-89a3cf4c.d.ts +6 -0
  48. package/cssm/Component-bdb4c6b9.d.ts +12 -0
  49. package/cssm/Component-e81c389f.d.ts +5 -0
  50. package/cssm/Component-ebda875c.d.ts +12 -0
  51. package/cssm/Component.desktop-63dec22f.d.ts +6 -0
  52. package/cssm/Component.desktop-785df74d.d.ts +6 -0
  53. package/cssm/Component.mobile-d7e9f69d.d.ts +6 -0
  54. package/cssm/Component.mobile-ebda875c.d.ts +6 -0
  55. package/cssm/Component.responsive-785df74d.d.ts +26 -0
  56. package/cssm/Context-bdb4c6b9.d.ts +4 -0
  57. package/cssm/ResponsiveContext-baf4875b.d.ts +5 -0
  58. package/cssm/component-89a3cf4c.d.ts +44 -0
  59. package/cssm/component.d.ts +5 -5
  60. package/cssm/component.js +1 -1
  61. package/cssm/components/index.js +1 -1
  62. package/cssm/components/pagination/Component.js +2 -2
  63. package/cssm/components/pagination/index.js +1 -1
  64. package/cssm/components/tcell/Component.d.ts +3 -2
  65. package/cssm/components/texpandable-row/Component.d.ts +3 -2
  66. package/cssm/components/thead-cell/Component.d.ts +3 -2
  67. package/cssm/components/thead-cell/index.module.css +2 -1
  68. package/cssm/components/trow/Component.d.ts +1 -1
  69. package/cssm/components/tsortable-head-cell/Component.d.ts +2 -1
  70. package/cssm/components/tsortable-head-cell/Component.js +1 -1
  71. package/cssm/components/tsortable-head-cell/index.module.css +0 -2
  72. package/cssm/consts-f777ba1a.d.ts +2 -0
  73. package/cssm/desktop-63dec22f.d.ts +6 -0
  74. package/cssm/hook-5e1b8383.d.ts +75 -0
  75. package/cssm/hook-ebda875c.d.ts +48 -0
  76. package/cssm/index-136acbb1.d.ts +28 -0
  77. package/cssm/index-3109f463.d.ts +62 -0
  78. package/cssm/index-425c8522.d.ts +6 -0
  79. package/cssm/index-89a3cf4c.d.ts +3 -0
  80. package/cssm/index-bdb4c6b9.d.ts +2 -0
  81. package/cssm/index-c44170fe.d.ts +21 -0
  82. package/cssm/index-e81c389f.d.ts +3 -0
  83. package/cssm/index-ebda875c.d.ts +81 -0
  84. package/cssm/index-f12ee135.d.ts +3 -0
  85. package/cssm/index.js +1 -1
  86. package/cssm/mobile-96988a65.d.ts +2 -0
  87. package/cssm/types-425c8522.d.ts +259 -0
  88. package/cssm/types-ebda875c.d.ts +113 -0
  89. package/cssm/typings-5e1b8383.d.ts +550 -0
  90. package/cssm/typings-9211a437.d.ts +95 -0
  91. package/cssm/typings-bdb4c6b9.d.ts +52 -0
  92. package/cssm/utils-1574ad8b.d.ts +29 -0
  93. package/cssm/utils-49cc3c24.d.ts +8 -0
  94. package/cssm/utils-5e1b8383.d.ts +38 -0
  95. package/desktop-63dec22f.d.ts +6 -0
  96. package/esm/Component-5e1b8383.d.ts +5 -0
  97. package/esm/Component-63dec22f.d.ts +167 -0
  98. package/esm/Component-89a3cf4c.d.ts +6 -0
  99. package/esm/Component-bdb4c6b9.d.ts +12 -0
  100. package/esm/Component-e81c389f.d.ts +5 -0
  101. package/esm/Component-ebda875c.d.ts +12 -0
  102. package/esm/Component.desktop-63dec22f.d.ts +6 -0
  103. package/esm/Component.desktop-785df74d.d.ts +6 -0
  104. package/esm/Component.mobile-d7e9f69d.d.ts +6 -0
  105. package/esm/Component.mobile-ebda875c.d.ts +6 -0
  106. package/esm/Component.responsive-785df74d.d.ts +26 -0
  107. package/esm/Context-bdb4c6b9.d.ts +4 -0
  108. package/esm/ResponsiveContext-baf4875b.d.ts +5 -0
  109. package/esm/component-89a3cf4c.d.ts +44 -0
  110. package/esm/component.d.ts +5 -5
  111. package/esm/component.js +1 -1
  112. package/esm/components/index.js +1 -1
  113. package/esm/components/pagination/Component.js +3 -3
  114. package/esm/components/pagination/index.css +8 -8
  115. package/esm/components/pagination/index.js +1 -1
  116. package/esm/components/pagination/select-field/index.css +4 -4
  117. package/esm/components/pagination/select-field/index.js +1 -1
  118. package/esm/components/table/Component.js +1 -1
  119. package/esm/components/table/index.css +7 -7
  120. package/esm/components/tbody/Component.js +1 -1
  121. package/esm/components/tbody/index.css +2 -2
  122. package/esm/components/tcell/Component.d.ts +3 -2
  123. package/esm/components/tcell/Component.js +1 -1
  124. package/esm/components/tcell/index.css +6 -6
  125. package/esm/components/texpandable-row/Component.d.ts +3 -2
  126. package/esm/components/texpandable-row/Component.js +1 -1
  127. package/esm/components/texpandable-row/index.css +5 -5
  128. package/esm/components/thead/Component.js +1 -1
  129. package/esm/components/thead/index.css +6 -6
  130. package/esm/components/thead-cell/Component.d.ts +3 -2
  131. package/esm/components/thead-cell/Component.js +1 -1
  132. package/esm/components/thead-cell/index.css +10 -9
  133. package/esm/components/trow/Component.d.ts +1 -1
  134. package/esm/components/trow/Component.js +1 -1
  135. package/esm/components/trow/index.css +8 -8
  136. package/esm/components/tsortable-head-cell/Component.d.ts +2 -1
  137. package/esm/components/tsortable-head-cell/Component.js +2 -2
  138. package/esm/components/tsortable-head-cell/index.css +8 -10
  139. package/esm/consts-f777ba1a.d.ts +2 -0
  140. package/esm/desktop-63dec22f.d.ts +6 -0
  141. package/esm/hook-5e1b8383.d.ts +75 -0
  142. package/esm/hook-ebda875c.d.ts +48 -0
  143. package/esm/index-136acbb1.d.ts +28 -0
  144. package/esm/index-3109f463.d.ts +62 -0
  145. package/esm/index-425c8522.d.ts +6 -0
  146. package/esm/index-89a3cf4c.d.ts +3 -0
  147. package/esm/index-bdb4c6b9.d.ts +2 -0
  148. package/esm/index-c44170fe.d.ts +21 -0
  149. package/esm/index-e81c389f.d.ts +3 -0
  150. package/esm/index-ebda875c.d.ts +81 -0
  151. package/esm/index-f12ee135.d.ts +3 -0
  152. package/esm/index.js +1 -1
  153. package/esm/mobile-96988a65.d.ts +2 -0
  154. package/esm/types-425c8522.d.ts +259 -0
  155. package/esm/types-ebda875c.d.ts +113 -0
  156. package/esm/typings-5e1b8383.d.ts +550 -0
  157. package/esm/typings-9211a437.d.ts +95 -0
  158. package/esm/typings-bdb4c6b9.d.ts +52 -0
  159. package/esm/utils-1574ad8b.d.ts +29 -0
  160. package/esm/utils-49cc3c24.d.ts +8 -0
  161. package/esm/utils-5e1b8383.d.ts +38 -0
  162. package/hook-5e1b8383.d.ts +75 -0
  163. package/hook-ebda875c.d.ts +48 -0
  164. package/index-136acbb1.d.ts +28 -0
  165. package/index-3109f463.d.ts +62 -0
  166. package/index-425c8522.d.ts +6 -0
  167. package/index-89a3cf4c.d.ts +3 -0
  168. package/index-bdb4c6b9.d.ts +2 -0
  169. package/index-c44170fe.d.ts +21 -0
  170. package/index-e81c389f.d.ts +3 -0
  171. package/index-ebda875c.d.ts +81 -0
  172. package/index-f12ee135.d.ts +3 -0
  173. package/index.js +1 -1
  174. package/mobile-96988a65.d.ts +2 -0
  175. package/modern/Component-5e1b8383.d.ts +5 -0
  176. package/modern/Component-63dec22f.d.ts +167 -0
  177. package/modern/Component-89a3cf4c.d.ts +6 -0
  178. package/modern/Component-bdb4c6b9.d.ts +12 -0
  179. package/modern/Component-e81c389f.d.ts +5 -0
  180. package/modern/Component-ebda875c.d.ts +12 -0
  181. package/modern/Component.desktop-63dec22f.d.ts +6 -0
  182. package/modern/Component.desktop-785df74d.d.ts +6 -0
  183. package/modern/Component.mobile-d7e9f69d.d.ts +6 -0
  184. package/modern/Component.mobile-ebda875c.d.ts +6 -0
  185. package/modern/Component.responsive-785df74d.d.ts +26 -0
  186. package/modern/Context-bdb4c6b9.d.ts +4 -0
  187. package/modern/ResponsiveContext-baf4875b.d.ts +5 -0
  188. package/modern/component-89a3cf4c.d.ts +44 -0
  189. package/modern/component.d.ts +5 -5
  190. package/modern/component.js +1 -1
  191. package/modern/components/index.js +1 -1
  192. package/modern/components/pagination/Component.js +3 -3
  193. package/modern/components/pagination/index.css +8 -8
  194. package/modern/components/pagination/index.js +1 -1
  195. package/modern/components/pagination/select-field/index.css +4 -4
  196. package/modern/components/pagination/select-field/index.js +1 -1
  197. package/modern/components/table/Component.js +1 -1
  198. package/modern/components/table/index.css +7 -7
  199. package/modern/components/tbody/Component.js +1 -1
  200. package/modern/components/tbody/index.css +2 -2
  201. package/modern/components/tcell/Component.d.ts +3 -2
  202. package/modern/components/tcell/Component.js +1 -1
  203. package/modern/components/tcell/index.css +6 -6
  204. package/modern/components/texpandable-row/Component.d.ts +3 -2
  205. package/modern/components/texpandable-row/Component.js +1 -1
  206. package/modern/components/texpandable-row/index.css +5 -5
  207. package/modern/components/thead/Component.js +1 -1
  208. package/modern/components/thead/index.css +6 -6
  209. package/modern/components/thead-cell/Component.d.ts +3 -2
  210. package/modern/components/thead-cell/Component.js +1 -1
  211. package/modern/components/thead-cell/index.css +10 -9
  212. package/modern/components/trow/Component.d.ts +1 -1
  213. package/modern/components/trow/Component.js +1 -1
  214. package/modern/components/trow/index.css +8 -8
  215. package/modern/components/tsortable-head-cell/Component.d.ts +2 -1
  216. package/modern/components/tsortable-head-cell/Component.js +2 -2
  217. package/modern/components/tsortable-head-cell/index.css +8 -10
  218. package/modern/consts-f777ba1a.d.ts +2 -0
  219. package/modern/desktop-63dec22f.d.ts +6 -0
  220. package/modern/hook-5e1b8383.d.ts +75 -0
  221. package/modern/hook-ebda875c.d.ts +48 -0
  222. package/modern/index-136acbb1.d.ts +28 -0
  223. package/modern/index-3109f463.d.ts +62 -0
  224. package/modern/index-425c8522.d.ts +6 -0
  225. package/modern/index-89a3cf4c.d.ts +3 -0
  226. package/modern/index-bdb4c6b9.d.ts +2 -0
  227. package/modern/index-c44170fe.d.ts +21 -0
  228. package/modern/index-e81c389f.d.ts +3 -0
  229. package/modern/index-ebda875c.d.ts +81 -0
  230. package/modern/index-f12ee135.d.ts +3 -0
  231. package/modern/index.js +1 -1
  232. package/modern/mobile-96988a65.d.ts +2 -0
  233. package/modern/types-425c8522.d.ts +259 -0
  234. package/modern/types-ebda875c.d.ts +113 -0
  235. package/modern/typings-5e1b8383.d.ts +550 -0
  236. package/modern/typings-9211a437.d.ts +95 -0
  237. package/modern/typings-bdb4c6b9.d.ts +52 -0
  238. package/modern/utils-1574ad8b.d.ts +29 -0
  239. package/modern/utils-49cc3c24.d.ts +8 -0
  240. package/modern/utils-5e1b8383.d.ts +38 -0
  241. package/package.json +4 -4
  242. package/src/component.tsx +22 -0
  243. package/src/components/index.ts +9 -0
  244. package/src/components/pagination/Component.tsx +104 -0
  245. package/src/components/pagination/index.module.css +38 -0
  246. package/src/components/pagination/index.ts +1 -0
  247. package/src/components/pagination/select-field/index.module.css +13 -0
  248. package/src/components/pagination/select-field/index.tsx +25 -0
  249. package/src/components/table/Component.tsx +109 -0
  250. package/src/components/table/index.module.css +35 -0
  251. package/src/components/table/index.ts +1 -0
  252. package/src/components/table/utils.ts +19 -0
  253. package/src/components/table-context/index.tsx +28 -0
  254. package/src/components/tbody/Component.tsx +22 -0
  255. package/src/components/tbody/index.module.css +6 -0
  256. package/src/components/tbody/index.ts +1 -0
  257. package/src/components/tcell/Component.tsx +56 -0
  258. package/src/components/tcell/index.module.css +35 -0
  259. package/src/components/tcell/index.ts +1 -0
  260. package/src/components/texpandable-row/Component.tsx +58 -0
  261. package/src/components/texpandable-row/index.module.css +25 -0
  262. package/src/components/texpandable-row/index.ts +1 -0
  263. package/src/components/thead/Component.tsx +33 -0
  264. package/src/components/thead/index.module.css +32 -0
  265. package/src/components/thead/index.ts +1 -0
  266. package/src/components/thead-cell/Component.tsx +67 -0
  267. package/src/components/thead-cell/index.module.css +47 -0
  268. package/src/components/thead-cell/index.ts +1 -0
  269. package/src/components/trow/Component.tsx +56 -0
  270. package/src/components/trow/index.module.css +35 -0
  271. package/src/components/trow/index.ts +1 -0
  272. package/src/components/tsortable-head-cell/Component.tsx +50 -0
  273. package/src/components/tsortable-head-cell/index.module.css +41 -0
  274. package/src/components/tsortable-head-cell/index.ts +1 -0
  275. package/src/components/tsortable-head-cell/sort-icon-asc.tsx +16 -0
  276. package/src/components/tsortable-head-cell/sort-icon-desc.tsx +16 -0
  277. package/src/components/tsortable-head-cell/sort-icon-unset.tsx +16 -0
  278. package/src/index.ts +1 -0
  279. package/src/typings.ts +8 -0
  280. package/src/utils.ts +6 -0
  281. package/types-425c8522.d.ts +259 -0
  282. package/types-ebda875c.d.ts +113 -0
  283. package/typings-5e1b8383.d.ts +550 -0
  284. package/typings-9211a437.d.ts +95 -0
  285. package/typings-bdb4c6b9.d.ts +52 -0
  286. package/utils-1574ad8b.d.ts +29 -0
  287. package/utils-49cc3c24.d.ts +8 -0
  288. package/utils-5e1b8383.d.ts +38 -0
@@ -0,0 +1,29 @@
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 };
@@ -0,0 +1,8 @@
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 };
@@ -0,0 +1,38 @@
1
+ import { ReactNode, RefObject } from 'react';
2
+ import { BaseSelectProps, GroupShape, OptionShape } from "./typings-5e1b8383";
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']): {
10
+ flatOptions: OptionShape[];
11
+ selectedOptions: OptionShape[];
12
+ };
13
+ type useVisibleOptionsArgs = {
14
+ /**
15
+ * Количество видимых пунктов
16
+ */
17
+ visibleOptions: number;
18
+ /**
19
+ * Реф на контейнер с пунтами меню
20
+ */
21
+ listRef: RefObject<HTMLElement>;
22
+ /**
23
+ * Реф на контейнер, которому нужно установить высоту
24
+ */
25
+ styleTargetRef?: RefObject<HTMLElement>;
26
+ /**
27
+ * Флаг открытия меню
28
+ */
29
+ open?: boolean;
30
+ /**
31
+ * Позволяет вызвать пересчет высоты
32
+ */
33
+ invalidate?: unknown;
34
+ };
35
+ declare function useVisibleOptions({ visibleOptions, listRef, styleTargetRef, open, invalidate, }: useVisibleOptionsArgs): void;
36
+ declare function usePrevious<T>(value: T): T | undefined;
37
+ declare const lastIndexOf: <T>(array: T[], predicate: (item: T) => boolean) => number;
38
+ export { isGroup, isOptionShape, joinOptions, processOptions, useVisibleOptions, usePrevious, lastIndexOf };
@@ -0,0 +1,75 @@
1
+ /// <reference types="react" />
2
+ import { BaseSelectProps, OptionShape } from "./typings-5e1b8383";
3
+ type UseSelectWithApplyProps = {
4
+ /**
5
+ * Список выбранных пунктов
6
+ */
7
+ selected: BaseSelectProps['selected'];
8
+ /**
9
+ * Список вариантов выбора
10
+ */
11
+ options: BaseSelectProps['options'];
12
+ /**
13
+ * Обработчик выбора
14
+ */
15
+ onChange: BaseSelectProps['onChange'];
16
+ /**
17
+ * Компонент выпадающего меню
18
+ */
19
+ OptionsList?: BaseSelectProps['OptionsList'];
20
+ /**
21
+ * Пропсы, которые будут прокинуты в компонент списка
22
+ */
23
+ optionsListProps?: BaseSelectProps['optionsListProps'];
24
+ /**
25
+ * Показывать кнопку очистки
26
+ */
27
+ showClear?: boolean;
28
+ /**
29
+ * Показывать пункт "Выбрать все"
30
+ */
31
+ showSelectAll?: boolean;
32
+ /**
33
+ * Показывать пункт "Выбрать все" в заголовке списка
34
+ */
35
+ showHeaderWithSelectAll?: boolean;
36
+ };
37
+ declare const SELECT_ALL_KEY = "select_all";
38
+ declare function useSelectWithApply({ options, selected, onChange, OptionsList, optionsListProps, showClear, showSelectAll, showHeaderWithSelectAll, }: UseSelectWithApplyProps): {
39
+ OptionsList: import("react").ForwardRefExoticComponent<import("./typings-5e1b8383").OptionsListProps & {
40
+ showClear?: boolean | undefined;
41
+ onClose?: (() => void) | undefined;
42
+ selectedDraft?: OptionShape[] | undefined;
43
+ OptionsList?: import("react").FC<import("./typings-5e1b8383").OptionsListProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
44
+ Footer?: import("react").FC<import("./Component-ebda875c").FooterProps> | undefined;
45
+ Header?: import("react").FC<import("./Component-ebda875c").HeaderProps> | undefined;
46
+ headerProps?: import("./Component-ebda875c").HeaderProps | undefined; /**
47
+ * Показывать кнопку очистки
48
+ */
49
+ showHeaderWithSelectAll?: boolean | undefined;
50
+ } & import("react").RefAttributes<HTMLDivElement>>;
51
+ optionsListProps: {
52
+ OptionsList: import("react").FC<import("./typings-5e1b8383").OptionsListProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
53
+ showClear: boolean;
54
+ onClear: () => void;
55
+ onApply: () => void;
56
+ onClose: () => void;
57
+ selectedDraft: OptionShape[];
58
+ showHeaderWithSelectAll: boolean;
59
+ headerProps: {
60
+ indeterminate: boolean;
61
+ checked: boolean;
62
+ onChange: () => void;
63
+ };
64
+ };
65
+ allowUnselect: boolean;
66
+ multiple: boolean;
67
+ options: (OptionShape | import("./typings-5e1b8383").GroupShape | {
68
+ key: string;
69
+ content: string;
70
+ })[];
71
+ onChange: (payload: import("./typings-5e1b8383").BaseSelectChangePayload) => void;
72
+ selected: string | OptionShape | (string | OptionShape)[] | null | undefined;
73
+ };
74
+ export * from "./Component-ebda875c";
75
+ export { UseSelectWithApplyProps, SELECT_ALL_KEY, useSelectWithApply };
@@ -0,0 +1,48 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { OptionProps, OptionShape } from "./typings-5e1b8383";
4
+ type OptionsFetcherResponse = {
5
+ options: OptionShape[];
6
+ hasMore: boolean;
7
+ };
8
+ type useLazyLoadingProps = {
9
+ /** Количество элементов на "странице" */
10
+ limit?: number;
11
+ /** Начальный номер "страницы" */
12
+ initialOffset?: number;
13
+ /** Скелетон загружаемых элементов */
14
+ skeleton?: React.ReactNode;
15
+ /** Компонент пункта меню */
16
+ Option?: React.FC<OptionProps>;
17
+ /**
18
+ * Функция-загрузчик опций.
19
+ * @param offset - текущая страница
20
+ * @param limit - количество элементов на странице
21
+ * @param queryString - строчные данные, пробрасываемые для поиска из кастомного инпута, расположенного в заголовке OptionsList
22
+ * @returns Promise<{
23
+ * options - список опций следующей "страницы". Они аппендятся к предыдущим
24
+ * hasMore - указывает, есть ли еще незагруженные элементы (в случае false перестает загружать "следующую страницу")
25
+ * }>
26
+ */
27
+ optionsFetcher(offset: number, limit: number, queryString?: string): Promise<OptionsFetcherResponse>;
28
+ };
29
+ declare function useLazyLoading({ limit, initialOffset, optionsFetcher, skeleton, Option, }: useLazyLoadingProps): {
30
+ optionsProps: {
31
+ Option: (props: OptionProps) => React.JSX.Element;
32
+ options: OptionShape[];
33
+ optionsListProps: {
34
+ ref: React.RefObject<HTMLDivElement>;
35
+ inputProps: {
36
+ onChange: (event: React.ChangeEvent<HTMLInputElement>, payload: {
37
+ value: string;
38
+ }) => void;
39
+ value: string;
40
+ };
41
+ };
42
+ onOpen: (payload: {
43
+ open?: boolean;
44
+ }) => void;
45
+ };
46
+ reset: () => void;
47
+ };
48
+ export { useLazyLoading };
@@ -0,0 +1,28 @@
1
+ /// <reference types="react" />
2
+ import { FC, ReactNode } from "react";
3
+ /**
4
+ * Набор констант для z-index соответствующих классов компонентов.
5
+ * Значения выбраны по приоритету.
6
+ */
7
+ declare const stackingOrder: {
8
+ FOCUSED: number;
9
+ DEFAULT: number;
10
+ POPOVER: number;
11
+ MODAL: number;
12
+ TOAST: number;
13
+ };
14
+ declare const StackingContext: import("react").Context<number>;
15
+ type StackProps = {
16
+ /**
17
+ * Render prop, в который передается функция.
18
+ * Функция принимает аргумент со значением z-index из текущего контекста.
19
+ */
20
+ children: (value: number) => ReactNode;
21
+ /**
22
+ * Исходное значение для z-index.
23
+ * @default 5
24
+ */
25
+ value?: number;
26
+ };
27
+ declare const Stack: FC<StackProps>;
28
+ export { stackingOrder, StackingContext, StackProps, Stack };
@@ -0,0 +1,62 @@
1
+ import { FC, ReactNode } from "react";
2
+ type MqProps = {
3
+ /**
4
+ * Media выражение или кастомный запрос из `mq.json`, например `--mobile`.
5
+ */
6
+ query?: string;
7
+ /**
8
+ * Запрос на поддержку тач-событий
9
+ */
10
+ touch?: boolean;
11
+ /**
12
+ * Дочерние элементы.
13
+ */
14
+ children?: ReactNode;
15
+ /**
16
+ * Обработчик изменений в совпадении запросов
17
+ */
18
+ onMatchChange?: (isMatched: boolean) => void;
19
+ };
20
+ declare const Mq: FC<MqProps>;
21
+ /**
22
+ * Хук для медиа запросов.
23
+ * @param query media выражение или кастомный запрос из `mq.json`, например `--mobile`.
24
+ * @param defaultValue Значение по-умолчанию.
25
+ */
26
+ declare const useMatchMedia: (query: string, defaultValue?: boolean | (() => boolean)) => boolean[];
27
+ /**
28
+ * Возвращает MediaQueryList для заданного media-выражения.
29
+ *
30
+ * @param queryProp media выражение или кастомный запрос из `mq.json`, например `--mobile`.
31
+ */
32
+ declare function getMatchMedia(queryProp: string): MediaQueryList;
33
+ /**
34
+ * Удаляет MediaQueryList.
35
+ *
36
+ * @param queryProp media выражение или кастомный запрос из `mq.json`, например `--mobile`.
37
+ */
38
+ declare function releaseMatchMedia(queryProp: string): void;
39
+ /**
40
+ * Возвращает `true`, если есть поддержка `Pointer Events`
41
+ */
42
+ declare function isPointerEventsSupported(): boolean;
43
+ /**
44
+ * Возвращает `true`, если есть поддержка `Touch Events`
45
+ */
46
+ declare function isTouchSupported(): boolean;
47
+ declare const _exports: {
48
+ "--mobile-xs": string;
49
+ "--mobile-s": string;
50
+ "--mobile-m": string;
51
+ "--mobile-l": string;
52
+ "--mobile": string;
53
+ "--tablet-s": string;
54
+ "--tablet-m": string;
55
+ "--tablet": string;
56
+ "--desktop-s": string;
57
+ "--desktop-m": string;
58
+ "--desktop-l": string;
59
+ "--desktop-xl": string;
60
+ "--desktop": string;
61
+ };
62
+ export { _exports as default, MqProps, Mq, useMatchMedia, getMatchMedia, releaseMatchMedia, isPointerEventsSupported, isTouchSupported };
@@ -0,0 +1,6 @@
1
+ type BackgroundColorType = 'accent' | 'info' | 'attention-muted' | 'positive-muted' | 'negative-muted' | 'primary' | 'primary-inverted' | 'secondary' | 'secondary-inverted' | 'tertiary' | 'tertiary-inverted' | 'quaternary' | 'quaternary-inverted' | 'specialbg-component' | 'specialbg-component-inverted' | 'specialbg-primary-grouped' | 'specialbg-secondary-grouped' | 'specialbg-tertiary-grouped' | 'specialbg-secondary-transparent' | 'specialbg-secondary-transparent-inverted' | 'specialbg-tertiary-transparent' | 'specialbg-tertiary-transparent-inverted';
2
+ type BorderColorType = 'accent' | 'key' | 'key-inverted' | 'link' | 'primary' | 'primary-inverted' | 'secondary' | 'secondary-inverted' | 'tertiary' | 'tertiary-inverted' | 'underline' | 'underline-inverted' | 'graphic-attention' | 'graphic-link' | 'graphic-negative' | 'graphic-positive' | 'specialbg-secondary-transparent' | 'specialbg-secondary-transparent-inverted' | 'specialbg-tertiary-transparent' | 'specialbg-tertiary-transparent-inverted';
3
+ type GraphicColorType = 'accent' | 'link' | 'attention' | 'positive' | 'negative' | 'primary' | 'primary-inverted' | 'secondary' | 'secondary-inverted' | 'tertiary' | 'tertiary-inverted' | 'quaternary' | 'quaternary-inverted' | 'static-light' | 'static-accent' | 'static-dark';
4
+ type ShadowType = 'shadow-xs' | 'shadow-s' | 'shadow-m' | 'shadow-l' | 'shadow-xl' | 'shadow-xs-hard' | 'shadow-s-hard' | 'shadow-m-hard' | 'shadow-l-hard' | 'shadow-xl-hard' | 'shadow-xs-up' | 'shadow-s-up' | 'shadow-m-up' | 'shadow-l-up' | 'shadow-xl-up' | 'shadow-xs-hard-up' | 'shadow-s-hard-up' | 'shadow-m-hard-up' | 'shadow-l-hard-up' | 'shadow-xl-hard-up';
5
+ type GapType = '3xs' | '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | '7xl' | '8xl';
6
+ export { BackgroundColorType, BorderColorType, GraphicColorType, ShadowType, GapType };
@@ -0,0 +1,3 @@
1
+ declare const isClient: () => boolean;
2
+ declare const getDataTestId: (dataTestId?: string, element?: string) => string | undefined;
3
+ export { isClient, getDataTestId };
@@ -0,0 +1,2 @@
1
+ export * from "./Component-ebda875c";
2
+ export * from "./utils-1574ad8b";
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ import { BaseInputProps } from "./index-ebda875c";
4
+ type InputProps = Omit<BaseInputProps, "FormControlComponent" | "colorStyles"> & {
5
+ /**
6
+ * Контрольная точка, с нее начинается desktop версия
7
+ * @default 1024
8
+ */
9
+ breakpoint?: number;
10
+ /**
11
+ * Значение по-умолчанию для хука useMatchMedia
12
+ */
13
+ defaultMatchMediaValue?: boolean | (() => boolean);
14
+ };
15
+ declare const Input: React.ForwardRefExoticComponent<Omit<BaseInputProps, "colorStyles" | "FormControlComponent"> & {
16
+ breakpoint?: number | undefined;
17
+ defaultMatchMediaValue?: boolean | (() => boolean) | undefined;
18
+ } & React.RefAttributes<HTMLInputElement>>;
19
+ type InputMobileProps = Omit<BaseInputProps, "FormControlComponent" | "colorStyles">;
20
+ declare const InputMobile: React.ForwardRefExoticComponent<InputMobileProps & React.RefAttributes<HTMLInputElement>>;
21
+ export { InputProps, Input, InputMobileProps, InputMobile };
@@ -0,0 +1,3 @@
1
+ export * from "./Component-89a3cf4c";
2
+ export * from "./index-ebda875c";
3
+ export type { NavigationBarProps } from "./types-ebda875c";
@@ -0,0 +1,81 @@
1
+ /// <reference types="react" />
2
+ /// <reference types="react-transition-group" />
3
+ import React from "react";
4
+ import { ButtonHTMLAttributes, ElementType, FC, AnchorHTMLAttributes, ReactElement } from "react";
5
+ import { ButtonProps } from "@alfalab/core-components-button";
6
+ interface CloserProps extends ButtonHTMLAttributes<HTMLButtonElement> {
7
+ /**
8
+ * Вид компонента
9
+ */
10
+ view: "desktop" | "mobile";
11
+ /**
12
+ * Дополнительный класс
13
+ */
14
+ className?: string;
15
+ /**
16
+ * Позиция крестика
17
+ */
18
+ align?: "left" | "right";
19
+ /**
20
+ * Фиксирует крестик
21
+ */
22
+ sticky?: boolean;
23
+ /**
24
+ * Иконка
25
+ */
26
+ icon?: ElementType;
27
+ /**
28
+ * Идентификатор для систем автоматизированного тестирования
29
+ */
30
+ dataTestId?: string;
31
+ /**
32
+ * Коллбэк закрытия.
33
+ */
34
+ onClose?: (event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, reason?: "backdropClick" | "escapeKeyDown" | "closerClick") => void;
35
+ }
36
+ declare const Closer: FC<CloserProps>;
37
+ type IconButtonProps = {
38
+ /**
39
+ * Компонент иконки
40
+ */
41
+ icon: ElementType<{
42
+ className?: string;
43
+ }> | ReactElement;
44
+ /**
45
+ * Тип кнопки
46
+ */
47
+ view?: "primary" | "secondary" | "transparent" | "tertiary" | "negative";
48
+ /**
49
+ * Размер компонента
50
+ */
51
+ size?: "xxs" | "xs" | "s";
52
+ /**
53
+ * Дополнительный класс
54
+ */
55
+ className?: string;
56
+ /**
57
+ * Выравнивание иконки
58
+ * @default 'center'
59
+ */
60
+ alignIcon?: "left" | "center" | "right";
61
+ /**
62
+ * Идентификатор для систем автоматизированного тестирования
63
+ */
64
+ dataTestId?: string;
65
+ /**
66
+ * Набор цветов для компонента
67
+ */
68
+ colors?: "default" | "inverted";
69
+ } & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "loading" | "breakpoint"> & Pick<AnchorHTMLAttributes<HTMLAnchorElement>, "target" | "download">;
70
+ declare const IconButton: React.ForwardRefExoticComponent<{
71
+ icon: ElementType<{
72
+ className?: string;
73
+ }> | ReactElement;
74
+ view?: "transparent" | "primary" | "secondary" | "tertiary" | "negative" | undefined;
75
+ size?: "s" | "xxs" | "xs" | undefined;
76
+ className?: string | undefined;
77
+ alignIcon?: "center" | "left" | "right" | undefined;
78
+ dataTestId?: string | undefined;
79
+ colors?: "default" | "inverted" | undefined;
80
+ } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "loading" | "breakpoint"> & Pick<React.AnchorHTMLAttributes<HTMLAnchorElement>, "download" | "target"> & React.RefAttributes<HTMLButtonElement>>;
81
+ export { CloserProps, Closer, IconButtonProps, IconButton };
@@ -0,0 +1,3 @@
1
+ export * from "./component-89a3cf4c";
2
+ export type { BottomSheetProps, BottomSheetTitleAlign } from "./types-425c8522";
3
+ export { CLOSE_OFFSET, HEADER_OFFSET } from "./utils-49cc3c24";
package/index.js CHANGED
@@ -13,7 +13,7 @@ require('./utils.js');
13
13
  require('./components/thead/Component.js');
14
14
  require('./components/pagination/Component.js');
15
15
  require('@alfalab/core-components-pagination');
16
- require('@alfalab/core-components-select');
16
+ require('@alfalab/core-components-select/desktop');
17
17
  require('./components/pagination/select-field/index.js');
18
18
  require('@alfalab/core-components-button');
19
19
  require('./components/thead-cell/Component.js');
@@ -0,0 +1,2 @@
1
+ export * from "./Component.mobile-d7e9f69d";
2
+ export {};
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { CheckmarkProps } from "./typings-5e1b8383";
4
+ declare const BaseCheckmark: ({ selected, disabled, className, multiple, }: CheckmarkProps) => React.JSX.Element;
5
+ export { BaseCheckmark };
@@ -0,0 +1,167 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ import { FC, ForwardRefExoticComponent, RefAttributes, HTMLAttributes } from "react";
4
+ declare const colors: readonly [
5
+ "tertiary",
6
+ "disabled",
7
+ "accent",
8
+ "primary",
9
+ "attention",
10
+ "positive",
11
+ "secondary",
12
+ "tertiary-inverted",
13
+ "primary-inverted",
14
+ "secondary-inverted",
15
+ "link",
16
+ "negative",
17
+ "static-primary-light",
18
+ "static-secondary-light",
19
+ "static-tertiary-light",
20
+ "static-primary-dark",
21
+ "static-secondary-dark",
22
+ "static-tertiary-dark",
23
+ "static-accent"
24
+ ];
25
+ type Color = (typeof colors)[number];
26
+ type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
27
+ type NativeProps = HTMLAttributes<HTMLSpanElement>;
28
+ type TextBaseProps = {
29
+ /**
30
+ * [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/tokens-assets-типографика--docs)
31
+ */
32
+ view?: "primary-large" | "primary-medium" | "primary-small" | "secondary-large" | "secondary-medium" | "secondary-small" | "component" | "caps";
33
+ /**
34
+ * Цвет текста
35
+ */
36
+ color?: Color;
37
+ /**
38
+ * Толщина шрифта
39
+ */
40
+ weight?: "regular" | "medium" | "bold";
41
+ /**
42
+ * Делает цифры моноширинными
43
+ */
44
+ monospaceNumbers?: boolean;
45
+ /**
46
+ * HTML тег
47
+ */
48
+ tag?: "span" | "div";
49
+ /**
50
+ * Css-класс для стилизации (native prop)
51
+ */
52
+ className?: string;
53
+ /**
54
+ * Id компонента для тестов
55
+ */
56
+ dataTestId?: string;
57
+ /**
58
+ * Контент (native prop)
59
+ */
60
+ children?: React.ReactNode;
61
+ /**
62
+ * Добавляет отступы к тэгу 'p'
63
+ */
64
+ defaultMargins?: never;
65
+ /**
66
+ * Количество строк (не поддерживает IE)
67
+ */
68
+ rowLimit?: 1 | 2 | 3;
69
+ };
70
+ type TextPTagProps = Omit<TextBaseProps, "tag" | "defaultMargins"> & {
71
+ tag?: "p";
72
+ defaultMargins?: boolean;
73
+ };
74
+ type TextProps = Omit<NativeProps, "color"> & (TextBaseProps | TextPTagProps);
75
+ type NativeProps$0 = HTMLAttributes<HTMLHeadingElement>;
76
+ type TitleProps = Omit<NativeProps$0, "color"> & {
77
+ /**
78
+ * HTML тег
79
+ */
80
+ tag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div";
81
+ /**
82
+ * [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/guidelines-typography--page)
83
+ */
84
+ view?: "xlarge" | "large" | "medium" | "small" | "xsmall";
85
+ /**
86
+ * Цвет текста
87
+ */
88
+ color?: Color;
89
+ /**
90
+ * Толщина шрифта
91
+ */
92
+ weight?: "regular" | "medium" | "bold";
93
+ /**
94
+ * Шрифт текста
95
+ */
96
+ font?: "styrene" | "system";
97
+ /**
98
+ * Добавляет отступы
99
+ */
100
+ defaultMargins?: boolean;
101
+ /**
102
+ * Css-класс для стилизации (native prop)
103
+ */
104
+ className?: string;
105
+ /**
106
+ * Id компонента для тестов
107
+ */
108
+ dataTestId?: string;
109
+ /**
110
+ * Контент (native prop)
111
+ */
112
+ children?: React.ReactNode;
113
+ /**
114
+ * Количество строк (не поддерживает IE)
115
+ */
116
+ rowLimit?: 1 | 2 | 3;
117
+ };
118
+ type TitleMobileProps = Omit<TitleProps, "defaultMargins">;
119
+ declare const Typography: {
120
+ Title: FC<TitleProps>;
121
+ Text: ForwardRefExoticComponent<TextProps & RefAttributes<TextElementType>>;
122
+ TitleResponsive: FC<TitleProps>;
123
+ TitleMobile: FC<TitleMobileProps>;
124
+ };
125
+ declare const typographyPresets: {
126
+ mobile: {
127
+ list: {
128
+ text: {
129
+ primary: {
130
+ tag: string;
131
+ view: string;
132
+ };
133
+ secondary: {
134
+ tag: string;
135
+ color: string;
136
+ view: string;
137
+ };
138
+ };
139
+ };
140
+ };
141
+ };
142
+ declare const TitleResponsive: FC<TitleProps>;
143
+ interface BackArrowAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
144
+ /**
145
+ * Текст после иконки
146
+ */
147
+ text?: string;
148
+ /**
149
+ * Дополнительный класс
150
+ */
151
+ className?: string;
152
+ /**
153
+ * Вид компонента
154
+ */
155
+ view: 'mobile' | 'desktop';
156
+ /**
157
+ * Прозрачность текста
158
+ */
159
+ textOpacity?: number;
160
+ /**
161
+ * Обработчик клика
162
+ */
163
+ onClick?: () => void;
164
+ }
165
+ declare const BackArrowAddon: React.FC<BackArrowAddonProps>;
166
+ export { Typography, typographyPresets, TitleResponsive, BackArrowAddonProps, BackArrowAddon };
167
+ export type { TitleProps, TextProps, Color };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { NavigationBarProps } from "./types-ebda875c";
4
+ declare const NavigationBar: React.ForwardRefExoticComponent<NavigationBarProps & React.RefAttributes<HTMLDivElement>>;
5
+ export * from "./Component-63dec22f";
6
+ export { NavigationBar };
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { View } from "./typings-bdb4c6b9";
4
+ declare const Modal: React.ForwardRefExoticComponent<import("./index-bdb4c6b9").BaseModalProps & {
5
+ size?: "s" | "m" | "l" | "xl" | "fullscreen" | undefined;
6
+ fullscreen?: boolean | undefined;
7
+ fixedPosition?: boolean | undefined;
8
+ hasCloser?: boolean | undefined;
9
+ } & {
10
+ view: View;
11
+ } & React.RefAttributes<HTMLDivElement>>;
12
+ export { Modal };
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ import { NavigationBarProps } from "./index-e81c389f";
3
+ type HeaderProps = Omit<NavigationBarProps, 'size' | 'view' | 'parentRef'>;
4
+ declare const Header: FC<HeaderProps>;
5
+ export { HeaderProps, Header };
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ /// <reference types="react-transition-group" />
3
+ import React from 'react';
4
+ import { CheckboxProps } from "./index-ebda875c";
5
+ type HeaderProps = {
6
+ checked?: boolean;
7
+ indeterminate?: boolean;
8
+ onChange?: CheckboxProps['onChange'];
9
+ mobile?: boolean;
10
+ };
11
+ declare const Header: React.FC<HeaderProps>;
12
+ export { HeaderProps, Header };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { BaseInputProps } from "./index-ebda875c";
4
+ type InputDesktopProps = Omit<BaseInputProps, 'FormControlComponent' | 'colorStyles'>;
5
+ declare const InputDesktop: React.ForwardRefExoticComponent<InputDesktopProps & React.RefAttributes<HTMLInputElement>>;
6
+ export { InputDesktopProps, InputDesktop };