@alfalab/core-components-select 15.2.2 → 15.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 (239) hide show
  1. package/Component.desktop.d.ts +1 -2
  2. package/Component.mobile.js +1 -1
  3. package/Component.modal.mobile.d.ts +202 -4
  4. package/Component.modal.mobile.js +1 -1
  5. package/Component.responsive.js +1 -1
  6. package/components/arrow/Component.js +1 -1
  7. package/components/arrow/index.css +3 -3
  8. package/components/base-checkmark/Component.js +1 -1
  9. package/components/base-checkmark/index.css +4 -4
  10. package/components/base-option/Component.js +1 -1
  11. package/components/base-option/index.css +13 -13
  12. package/components/base-select/Component.js +1 -1
  13. package/components/base-select/index.css +11 -11
  14. package/components/base-select-mobile/Component.d.ts +4 -3
  15. package/components/base-select-mobile/Component.js +3 -3
  16. package/components/base-select-mobile/footer/Component.js +1 -1
  17. package/components/base-select-mobile/footer/index.css +5 -5
  18. package/components/base-select-mobile/index.css +16 -16
  19. package/components/checkmark/Component.js +1 -1
  20. package/components/checkmark/index.css +10 -10
  21. package/components/checkmark-mobile/Component.js +1 -1
  22. package/components/checkmark-mobile/index.css +6 -6
  23. package/components/field/Component.js +1 -1
  24. package/components/field/index.css +12 -12
  25. package/components/optgroup/Component.js +1 -1
  26. package/components/optgroup/index.css +6 -6
  27. package/components/option/Component.js +1 -1
  28. package/components/option/index.css +20 -20
  29. package/components/options-list/Component.js +1 -1
  30. package/components/options-list/index.css +9 -9
  31. package/components/search/Component.js +1 -1
  32. package/components/search/index.css +2 -2
  33. package/components/virtual-options-list/Component.js +9 -5
  34. package/components/virtual-options-list/index.css +15 -15
  35. package/cssm/Component.desktop.d.ts +1 -2
  36. package/cssm/Component.modal.mobile.d.ts +202 -4
  37. package/cssm/components/base-select-mobile/Component.d.ts +4 -3
  38. package/cssm/components/base-select-mobile/Component.js +2 -2
  39. package/cssm/components/virtual-options-list/Component.js +8 -4
  40. package/cssm/desktop/index.d.ts +2 -0
  41. package/cssm/desktop/index.js +48 -0
  42. package/cssm/mobile/index.d.ts +5 -0
  43. package/cssm/mobile/index.js +62 -0
  44. package/cssm/shared/index.d.ts +5 -0
  45. package/cssm/shared/index.js +85 -0
  46. package/desktop/index.d.ts +2 -0
  47. package/{desktop.js → desktop/index.js} +13 -13
  48. package/desktop/package.json +3 -0
  49. package/esm/Component.desktop.d.ts +1 -2
  50. package/esm/Component.mobile.js +1 -1
  51. package/esm/Component.modal.mobile.d.ts +202 -4
  52. package/esm/Component.modal.mobile.js +1 -1
  53. package/esm/Component.responsive.js +1 -1
  54. package/esm/components/arrow/Component.js +1 -1
  55. package/esm/components/arrow/index.css +3 -3
  56. package/esm/components/base-checkmark/Component.js +1 -1
  57. package/esm/components/base-checkmark/index.css +4 -4
  58. package/esm/components/base-option/Component.js +1 -1
  59. package/esm/components/base-option/index.css +13 -13
  60. package/esm/components/base-select/Component.js +1 -1
  61. package/esm/components/base-select/index.css +11 -11
  62. package/esm/components/base-select-mobile/Component.d.ts +4 -3
  63. package/esm/components/base-select-mobile/Component.js +3 -3
  64. package/esm/components/base-select-mobile/footer/Component.js +1 -1
  65. package/esm/components/base-select-mobile/footer/index.css +5 -5
  66. package/esm/components/base-select-mobile/index.css +16 -16
  67. package/esm/components/checkmark/Component.js +1 -1
  68. package/esm/components/checkmark/index.css +10 -10
  69. package/esm/components/checkmark-mobile/Component.js +1 -1
  70. package/esm/components/checkmark-mobile/index.css +6 -6
  71. package/esm/components/field/Component.js +1 -1
  72. package/esm/components/field/index.css +12 -12
  73. package/esm/components/optgroup/Component.js +1 -1
  74. package/esm/components/optgroup/index.css +6 -6
  75. package/esm/components/option/Component.js +1 -1
  76. package/esm/components/option/index.css +20 -20
  77. package/esm/components/options-list/Component.js +1 -1
  78. package/esm/components/options-list/index.css +9 -9
  79. package/esm/components/search/Component.js +1 -1
  80. package/esm/components/search/index.css +2 -2
  81. package/esm/components/virtual-options-list/Component.js +9 -5
  82. package/esm/components/virtual-options-list/index.css +15 -15
  83. package/esm/desktop/index.d.ts +2 -0
  84. package/esm/{desktop.js → desktop/index.js} +13 -13
  85. package/esm/index.js +1 -1
  86. package/esm/mobile/index.d.ts +5 -0
  87. package/esm/mobile/index.js +40 -0
  88. package/esm/presets/index.js +1 -1
  89. package/esm/presets/useSelectWithApply/hook.js +1 -1
  90. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  91. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  92. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  93. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  94. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  95. package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  96. package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  97. package/esm/presets/useSelectWithLoading/hook.js +1 -1
  98. package/esm/presets/useSelectWithLoading/index.css +2 -2
  99. package/esm/shared/index.d.ts +5 -0
  100. package/esm/shared/index.js +41 -0
  101. package/index.js +1 -1
  102. package/mobile/index.d.ts +5 -0
  103. package/{mobile.js → mobile/index.js} +18 -18
  104. package/mobile/package.json +3 -0
  105. package/modern/Component.desktop.d.ts +1 -2
  106. package/modern/Component.mobile.js +1 -1
  107. package/modern/Component.modal.mobile.d.ts +202 -4
  108. package/modern/Component.modal.mobile.js +1 -1
  109. package/modern/Component.responsive.js +1 -1
  110. package/modern/components/arrow/Component.js +1 -1
  111. package/modern/components/arrow/index.css +3 -3
  112. package/modern/components/base-checkmark/Component.js +1 -1
  113. package/modern/components/base-checkmark/index.css +4 -4
  114. package/modern/components/base-option/Component.js +1 -1
  115. package/modern/components/base-option/index.css +13 -13
  116. package/modern/components/base-select/Component.js +1 -1
  117. package/modern/components/base-select/index.css +11 -11
  118. package/modern/components/base-select-mobile/Component.d.ts +4 -3
  119. package/modern/components/base-select-mobile/Component.js +3 -3
  120. package/modern/components/base-select-mobile/footer/Component.js +1 -1
  121. package/modern/components/base-select-mobile/footer/index.css +5 -5
  122. package/modern/components/base-select-mobile/index.css +16 -16
  123. package/modern/components/checkmark/Component.js +1 -1
  124. package/modern/components/checkmark/index.css +10 -10
  125. package/modern/components/checkmark-mobile/Component.js +1 -1
  126. package/modern/components/checkmark-mobile/index.css +6 -6
  127. package/modern/components/field/Component.js +1 -1
  128. package/modern/components/field/index.css +12 -12
  129. package/modern/components/optgroup/Component.js +1 -1
  130. package/modern/components/optgroup/index.css +6 -6
  131. package/modern/components/option/Component.js +1 -1
  132. package/modern/components/option/index.css +20 -20
  133. package/modern/components/options-list/Component.js +1 -1
  134. package/modern/components/options-list/index.css +9 -9
  135. package/modern/components/search/Component.js +1 -1
  136. package/modern/components/search/index.css +2 -2
  137. package/modern/components/virtual-options-list/Component.js +9 -5
  138. package/modern/components/virtual-options-list/index.css +15 -15
  139. package/modern/desktop/index.d.ts +2 -0
  140. package/modern/{desktop.js → desktop/index.js} +13 -13
  141. package/modern/index.js +1 -1
  142. package/modern/mobile/index.d.ts +5 -0
  143. package/modern/mobile/index.js +39 -0
  144. package/modern/presets/index.js +1 -1
  145. package/modern/presets/useSelectWithApply/hook.js +1 -1
  146. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  147. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  148. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  149. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  150. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  151. package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  152. package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  153. package/modern/presets/useSelectWithLoading/hook.js +1 -1
  154. package/modern/presets/useSelectWithLoading/index.css +2 -2
  155. package/modern/shared/index.d.ts +5 -0
  156. package/modern/shared/index.js +40 -0
  157. package/package.json +8 -32
  158. package/presets/index.js +1 -1
  159. package/presets/useSelectWithApply/hook.js +1 -1
  160. package/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  161. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  162. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  163. package/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  164. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  165. package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  166. package/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  167. package/presets/useSelectWithLoading/hook.js +1 -1
  168. package/presets/useSelectWithLoading/index.css +2 -2
  169. package/shared/index.d.ts +5 -0
  170. package/{shared.js → shared/index.js} +20 -20
  171. package/shared/package.json +3 -0
  172. package/src/components/base-select-mobile/Component.tsx +2 -1
  173. package/src/components/virtual-options-list/Component.tsx +8 -4
  174. package/src/desktop/index.ts +1 -0
  175. package/src/desktop/package.json +3 -0
  176. package/src/mobile/index.ts +5 -0
  177. package/src/mobile/package.json +3 -0
  178. package/src/shared/index.ts +5 -0
  179. package/src/shared/package.json +3 -0
  180. package/Component-89f0cb07.d.ts +0 -38
  181. package/Component.mobile-ebda875c.d.ts +0 -6
  182. package/Component.mobile-f1f15074.d.ts +0 -404
  183. package/cssm/Component-89f0cb07.d.ts +0 -38
  184. package/cssm/Component.mobile-ebda875c.d.ts +0 -6
  185. package/cssm/Component.mobile-f1f15074.d.ts +0 -404
  186. package/cssm/desktop-69921c40.d.ts +0 -6
  187. package/cssm/desktop.d.ts +0 -2
  188. package/cssm/desktop.js +0 -48
  189. package/cssm/index-ebda875c.d.ts +0 -2
  190. package/cssm/mobile-96988a65.d.ts +0 -2
  191. package/cssm/mobile.d.ts +0 -5
  192. package/cssm/mobile.js +0 -62
  193. package/cssm/shared.d.ts +0 -5
  194. package/cssm/shared.js +0 -85
  195. package/cssm/typings-89f0cb07.d.ts +0 -93
  196. package/cssm/typings-baf4875b.d.ts +0 -52
  197. package/desktop-69921c40.d.ts +0 -6
  198. package/desktop.d.ts +0 -2
  199. package/esm/Component-89f0cb07.d.ts +0 -38
  200. package/esm/Component.mobile-ebda875c.d.ts +0 -6
  201. package/esm/Component.mobile-f1f15074.d.ts +0 -404
  202. package/esm/desktop-69921c40.d.ts +0 -6
  203. package/esm/desktop.d.ts +0 -2
  204. package/esm/index-ebda875c.d.ts +0 -2
  205. package/esm/mobile-96988a65.d.ts +0 -2
  206. package/esm/mobile.d.ts +0 -5
  207. package/esm/mobile.js +0 -40
  208. package/esm/shared.d.ts +0 -5
  209. package/esm/shared.js +0 -41
  210. package/esm/typings-89f0cb07.d.ts +0 -93
  211. package/esm/typings-baf4875b.d.ts +0 -52
  212. package/index-ebda875c.d.ts +0 -2
  213. package/mobile-96988a65.d.ts +0 -2
  214. package/mobile.d.ts +0 -5
  215. package/modern/Component-89f0cb07.d.ts +0 -38
  216. package/modern/Component.mobile-ebda875c.d.ts +0 -6
  217. package/modern/Component.mobile-f1f15074.d.ts +0 -404
  218. package/modern/desktop-69921c40.d.ts +0 -6
  219. package/modern/desktop.d.ts +0 -2
  220. package/modern/index-ebda875c.d.ts +0 -2
  221. package/modern/mobile-96988a65.d.ts +0 -2
  222. package/modern/mobile.d.ts +0 -5
  223. package/modern/mobile.js +0 -39
  224. package/modern/shared.d.ts +0 -5
  225. package/modern/shared.js +0 -40
  226. package/modern/typings-89f0cb07.d.ts +0 -93
  227. package/modern/typings-baf4875b.d.ts +0 -52
  228. package/shared.d.ts +0 -5
  229. package/src/desktop.ts +0 -1
  230. package/src/mobile.ts +0 -5
  231. package/src/shared.ts +0 -5
  232. package/typings-89f0cb07.d.ts +0 -93
  233. package/typings-baf4875b.d.ts +0 -52
  234. /package/esm/{hook-571dca86.d.ts → hook-70d58270.d.ts} +0 -0
  235. /package/esm/{hook-571dca86.js → hook-70d58270.js} +0 -0
  236. /package/{hook-a6f060a1.d.ts → hook-0a5c9f56.d.ts} +0 -0
  237. /package/{hook-a6f060a1.js → hook-0a5c9f56.js} +0 -0
  238. /package/modern/{hook-7e628eb4.d.ts → hook-4eceefed.d.ts} +0 -0
  239. /package/modern/{hook-7e628eb4.js → hook-4eceefed.js} +0 -0
@@ -2,19 +2,19 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var components_arrow_Component = require('./components/arrow/Component.js');
6
- var components_baseSelect_Component = require('./components/base-select/Component.js');
7
- var components_field_Component = require('./components/field/Component.js');
8
- var components_optgroup_Component = require('./components/optgroup/Component.js');
9
- var components_option_Component = require('./components/option/Component.js');
10
- var components_optionsList_Component = require('./components/options-list/Component.js');
11
- var components_virtualOptionsList_Component = require('./components/virtual-options-list/Component.js');
12
- var components_baseOption_Component = require('./components/base-option/Component.js');
13
- var components_search_Component = require('./components/search/Component.js');
14
- var presets_useSelectWithLoading_hook = require('./presets/useSelectWithLoading/hook.js');
15
- var presets_useLazyLoading_hook = require('./presets/useLazyLoading/hook.js');
16
- var presets_useSelectWithApply_optionsListWithApply_Component = require('./hook-a6f060a1.js');
17
- var utils = require('./utils.js');
5
+ var components_arrow_Component = require('../components/arrow/Component.js');
6
+ var components_baseSelect_Component = require('../components/base-select/Component.js');
7
+ var components_field_Component = require('../components/field/Component.js');
8
+ var components_optgroup_Component = require('../components/optgroup/Component.js');
9
+ var components_option_Component = require('../components/option/Component.js');
10
+ var components_optionsList_Component = require('../components/options-list/Component.js');
11
+ var components_virtualOptionsList_Component = require('../components/virtual-options-list/Component.js');
12
+ var components_baseOption_Component = require('../components/base-option/Component.js');
13
+ var components_search_Component = require('../components/search/Component.js');
14
+ var presets_useSelectWithLoading_hook = require('../presets/useSelectWithLoading/hook.js');
15
+ var presets_useLazyLoading_hook = require('../presets/useLazyLoading/hook.js');
16
+ var presets_useSelectWithApply_optionsListWithApply_Component = require('../hook-0a5c9f56.js');
17
+ var utils = require('../utils.js');
18
18
  require('react');
19
19
  require('classnames');
20
20
  require('@alfalab/icons-glyph/ChevronDownMIcon');
@@ -25,24 +25,24 @@ require('downshift');
25
25
  require('@alfalab/core-components-popover');
26
26
  require('@alfalab/core-components-shared');
27
27
  require('@alfalab/hooks');
28
- require('./components/native-select/Component.js');
29
- require('./components/checkmark/Component.js');
28
+ require('../components/native-select/Component.js');
29
+ require('../components/checkmark/Component.js');
30
30
  require('@alfalab/core-components-badge');
31
31
  require('@alfalab/core-components-checkbox');
32
32
  require('@alfalab/icons-glyph/CheckmarkCircleMIcon');
33
33
  require('@alfalab/icons-glyph/CheckmarkMIcon');
34
- require('./components/checkmark-mobile/Component.js');
34
+ require('../components/checkmark-mobile/Component.js');
35
35
  require('@alfalab/core-components-scrollbar');
36
- require('./consts.js');
36
+ require('../consts.js');
37
37
  require('react-virtual');
38
- require('./components/base-checkmark/Component.js');
38
+ require('../components/base-checkmark/Component.js');
39
39
  require('@alfalab/core-components-input');
40
40
  require('@alfalab/icons-glyph/MagnifierMIcon');
41
41
  require('@alfalab/core-components-skeleton');
42
42
  require('intersection-observer');
43
- require('./presets/useSelectWithApply/options-list-with-apply/footer/Component.js');
43
+ require('../presets/useSelectWithApply/options-list-with-apply/footer/Component.js');
44
44
  require('@alfalab/core-components-button/desktop');
45
- require('./presets/useSelectWithApply/options-list-with-apply/header/Component.js');
45
+ require('../presets/useSelectWithApply/options-list-with-apply/header/Component.js');
46
46
 
47
47
 
48
48
 
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../esm/shared/index.js"
3
+ }
@@ -548,6 +548,7 @@ export const BaseSelectMobile = forwardRef(
548
548
  hasCloser={true}
549
549
  sticky={true}
550
550
  {...modalHeaderProps}
551
+ title={undefined}
551
552
  bottomAddons={
552
553
  <React.Fragment>
553
554
  {renderSearch()}
@@ -555,7 +556,7 @@ export const BaseSelectMobile = forwardRef(
555
556
  </React.Fragment>
556
557
  }
557
558
  >
558
- {label || placeholder}
559
+ {modalHeaderProps?.title || label || placeholder}
559
560
  </ModalMobile.Header>
560
561
 
561
562
  <ModalMobile.Content flex={true} className={styles.modalContent}>
@@ -41,7 +41,7 @@ export const VirtualOptionsList = forwardRef<HTMLDivElement, OptionsListProps>(
41
41
  const listRef = useRef<HTMLDivElement>(null);
42
42
  const parentRef = useRef<HTMLDivElement>(null);
43
43
  const scrollbarRef = useRef<HTMLDivElement>(null);
44
- const [visibleOptionsInvalidateKey, setVisibleOptionsInvalidateKey] = useState(0);
44
+ const [visibleOptionsInvalidateKey, setVisibleOptionsInvalidateKey] = useState('');
45
45
  const prevHighlightedIndex = usePrevious(highlightedIndex) || -1;
46
46
 
47
47
  let [nativeScrollbar] = useMedia<boolean>([[true, '(max-width: 1023px)']], false);
@@ -97,11 +97,15 @@ export const VirtualOptionsList = forwardRef<HTMLDivElement, OptionsListProps>(
97
97
  /**
98
98
  * react-virtual может несколько раз отрендерить список с одним элементом,
99
99
  * поэтому нужно еще раз пересчитать высоту, когда список ВИДИМЫХ пунктов будет отрендерен полностью
100
- * Также, высоту нужно пересчитывать при изменении ОБЩЕГО кол-ва пунктов меню
100
+ * Также, высоту нужно пересчитывать при изменении пунктов меню
101
101
  */
102
- rowVirtualizer.virtualItems.length > 1 ? flatOptions.length : 1,
102
+ rowVirtualizer.virtualItems
103
+ .slice(0, Math.min(rowVirtualizer.virtualItems.length, visibleOptions + 1))
104
+ .map((item) => flatOptions[item.index].key)
105
+ .join('_'),
103
106
  );
104
- }, [rowVirtualizer.virtualItems.length, flatOptions.length]);
107
+ // eslint-disable-next-line react-hooks/exhaustive-deps
108
+ }, [rowVirtualizer.virtualItems.length, flatOptions]);
105
109
 
106
110
  useVisibleOptions({
107
111
  visibleOptions,
@@ -0,0 +1 @@
1
+ export { SelectDesktop, SelectDesktopProps } from '../Component.desktop';
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../esm/desktop/index.js"
3
+ }
@@ -0,0 +1,5 @@
1
+ export { SelectMobile } from '../Component.mobile';
2
+ export { SelectModalMobile } from '../Component.modal.mobile';
3
+
4
+ export type { SelectMobileProps } from '../Component.mobile';
5
+ export type { SelectModalMobileProps } from '../Component.modal.mobile';
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../esm/mobile/index.js"
3
+ }
@@ -0,0 +1,5 @@
1
+ export * from '../components';
2
+ export * from '../presets';
3
+ export * from '../typings';
4
+ export * from '../utils';
5
+ export type { AdditionalMobileProps } from '../Component.mobile';
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../esm/shared/index.js"
3
+ }
@@ -1,38 +0,0 @@
1
- /// <reference types="react" />
2
- import React from "react";
3
- import { FC } from "react";
4
- import { CommonButtonProps, PrivateButtonProps } from "./typings-89f0cb07";
5
- type SpinnerProps = {
6
- /**
7
- * Управление видимостью компонента
8
- */
9
- visible?: boolean;
10
- /**
11
- * Размер компонента
12
- */
13
- size?: "xs" | "s" | "m";
14
- /**
15
- * Дополнительный класс
16
- */
17
- className?: string;
18
- /**
19
- * Идентификатор компонента в DOM
20
- */
21
- id?: string;
22
- /**
23
- * Идентификатор для систем автоматизированного тестирования
24
- */
25
- dataTestId?: string;
26
- /**
27
- * Палитра, в контексте которой используется спиннер
28
- */
29
- colors?: "default" | "inverted";
30
- };
31
- declare const Spinner: FC<SpinnerProps>;
32
- /**
33
- * Минимальное время отображения лоадера - 500мс,
34
- * чтобы при быстрых ответах от сервера кнопка не «моргала».
35
- */
36
- declare const LOADER_MIN_DISPLAY_INTERVAL = 500;
37
- declare const BaseButton: React.ForwardRefExoticComponent<(CommonButtonProps & PrivateButtonProps) & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
38
- export { SpinnerProps, Spinner, LOADER_MIN_DISPLAY_INTERVAL, BaseButton };
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- import React from 'react';
3
- import { BaseFormControlProps } from "./index-ebda875c";
4
- type FormControlMobileProps = Omit<BaseFormControlProps, 'styles' | 'colorStyles'>;
5
- declare const FormControlMobile: React.ForwardRefExoticComponent<FormControlMobileProps & React.RefAttributes<HTMLDivElement>>;
6
- export { FormControlMobileProps, FormControlMobile };
@@ -1,404 +0,0 @@
1
- /// <reference types="react" />
2
- import React from "react";
3
- import { FC, ReactNode, ButtonHTMLAttributes, ElementType, ForwardRefExoticComponent, RefAttributes, HTMLAttributes, AnchorHTMLAttributes, ReactElement } from "react";
4
- import { ContentProps, TResponsiveModalContext, View, ModalMobileProps } from "./typings-baf4875b";
5
- import { BaseModalContext } from "@alfalab/core-components-base-modal";
6
- import { TextElementType, TextSkeletonProps } from "./types-1b036d4b";
7
- import { ButtonProps } from "@alfalab/core-components-button";
8
- declare const Content: FC<ContentProps>;
9
- declare const ResponsiveContext: React.Context<TResponsiveModalContext>;
10
- declare const Modal: React.ForwardRefExoticComponent<import("@alfalab/core-components-base-modal").BaseModalProps & {
11
- size?: "s" | "m" | "l" | "xl" | "fullscreen" | undefined;
12
- fullscreen?: boolean | undefined;
13
- fixedPosition?: boolean | undefined;
14
- hasCloser?: boolean | undefined;
15
- } & {
16
- view: View;
17
- } & React.RefAttributes<HTMLDivElement>>;
18
- type FooterProps = {
19
- /**
20
- * Контент футера
21
- */
22
- children?: ReactNode;
23
- /**
24
- * Дополнительный класс
25
- */
26
- className?: string;
27
- /**
28
- * Фиксирует футер
29
- */
30
- sticky?: boolean;
31
- /**
32
- * Выравнивание элементов футера
33
- */
34
- layout?: "start" | "center" | "space-between" | "column";
35
- /**
36
- * Отступы между элементами футера
37
- */
38
- gap?: 16 | 24 | 32;
39
- };
40
- declare const Footer: FC<FooterProps>;
41
- interface CloserProps extends ButtonHTMLAttributes<HTMLButtonElement> {
42
- /**
43
- * Вид компонента
44
- */
45
- view: "desktop" | "mobile";
46
- /**
47
- * Дополнительный класс
48
- */
49
- className?: string;
50
- /**
51
- * Позиция крестика
52
- */
53
- align?: "left" | "right";
54
- /**
55
- * Фиксирует крестик
56
- */
57
- sticky?: boolean;
58
- /**
59
- * Иконка
60
- */
61
- icon?: ElementType;
62
- /**
63
- * Идентификатор для систем автоматизированного тестирования
64
- */
65
- dataTestId?: string;
66
- /**
67
- * Коллбэк закрытия.
68
- */
69
- onClose?: (event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, reason?: "backdropClick" | "escapeKeyDown" | "closerClick") => void;
70
- }
71
- type NavigationBarProps = {
72
- /**
73
- * Контент шапки
74
- */
75
- children?: ReactNode;
76
- /**
77
- * Заголовок шапки
78
- */
79
- title?: string;
80
- /**
81
- * Подзаголовок (доступен только в мобильной версии)
82
- */
83
- subtitle?: ReactNode;
84
- /**
85
- * Размер заголовка (compact доступен только в мобильной версии)
86
- */
87
- titleSize?: "default" | "compact";
88
- /**
89
- * Доп. класс для аддонов
90
- */
91
- addonClassName?: string;
92
- /**
93
- * Слот слева
94
- */
95
- leftAddons?: ReactNode;
96
- /**
97
- * Слот справа
98
- */
99
- rightAddons?: ReactNode;
100
- /**
101
- * Дополнительный класс для closer
102
- */
103
- closerClassName?: string;
104
- /**
105
- * Слот снизу
106
- */
107
- bottomAddons?: ReactNode;
108
- /**
109
- * Наличие компонента крестика
110
- */
111
- hasCloser?: boolean;
112
- /**
113
- * Наличие кнопки "Назад"
114
- */
115
- hasBackButton?: boolean;
116
- /**
117
- * Дополнительный класс для правого аддона
118
- */
119
- backButtonClassName?: string;
120
- /**
121
- * Дополнительный класс
122
- */
123
- className?: string;
124
- /**
125
- * Дополнительный класс для контента
126
- */
127
- contentClassName?: string;
128
- /**
129
- * Дополнительный класс для нижнего аддона
130
- */
131
- bottomAddonsClassName?: string;
132
- /**
133
- * Выравнивание заголовка
134
- */
135
- align?: "left" | "center";
136
- /**
137
- * Обрезать ли заголовок
138
- */
139
- trim?: boolean;
140
- /**
141
- * Фиксирует шапку
142
- */
143
- sticky?: boolean;
144
- /**
145
- * Идентификатор для систем автоматизированного тестирования
146
- */
147
- dataTestId?: string;
148
- /**
149
- * Фоновое изображение
150
- */
151
- imageUrl?: string;
152
- /**
153
- * Иконка closer.
154
- */
155
- closerIcon?: React.ElementType;
156
- /**
157
- * Обработчик закрытия
158
- */
159
- onClose?: CloserProps["onClose"];
160
- /**
161
- * обработчик клика по кнопке "назад"
162
- */
163
- onBack?: () => void;
164
- /**
165
- * Вид шапки - мобильный или десктоп
166
- */
167
- view: "desktop" | "mobile";
168
- /**
169
- * Ссылка на родительскую ноду overflow: auto
170
- */
171
- scrollableParentRef?: React.RefObject<HTMLDivElement>;
172
- };
173
- type HeaderProps = Omit<NavigationBarProps, "size" | "view" | "parentRef">;
174
- declare const Header: FC<HeaderProps>;
175
- declare const ModalContext: import("react").Context<BaseModalContext>;
176
- interface BackArrowAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
177
- /**
178
- * Текст после иконки
179
- */
180
- text?: string;
181
- /**
182
- * Дополнительный класс
183
- */
184
- className?: string;
185
- /**
186
- * Вид компонента
187
- */
188
- view: "mobile" | "desktop";
189
- /**
190
- * Прозрачность текста
191
- */
192
- textOpacity?: number;
193
- /**
194
- * Обработчик клика
195
- */
196
- onClick?: () => void;
197
- }
198
- declare const BackArrowAddon: React.FC<BackArrowAddonProps>;
199
- declare const colors: readonly [
200
- "tertiary",
201
- "disabled",
202
- "accent",
203
- "primary",
204
- "attention",
205
- "positive",
206
- "secondary",
207
- "tertiary-inverted",
208
- "primary-inverted",
209
- "secondary-inverted",
210
- "link",
211
- "negative",
212
- "static-primary-light",
213
- "static-secondary-light",
214
- "static-tertiary-light",
215
- "static-primary-dark",
216
- "static-secondary-dark",
217
- "static-tertiary-dark",
218
- "static-accent"
219
- ];
220
- type Color = (typeof colors)[number];
221
- type NativeProps = HTMLAttributes<HTMLSpanElement>;
222
- type TextBaseProps = {
223
- /**
224
- * [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/tokens-assets-типографика--docs)
225
- */
226
- view?: "primary-large" | "primary-medium" | "primary-small" | "secondary-large" | "secondary-medium" | "secondary-small" | "component" | "caps";
227
- /**
228
- * Цвет текста
229
- */
230
- color?: Color;
231
- /**
232
- * Толщина шрифта
233
- */
234
- weight?: "regular" | "medium" | "bold";
235
- /**
236
- * Делает цифры моноширинными
237
- */
238
- monospaceNumbers?: boolean;
239
- /**
240
- * HTML тег
241
- */
242
- tag?: "span" | "div";
243
- /**
244
- * Css-класс для стилизации (native prop)
245
- */
246
- className?: string;
247
- /**
248
- * Id компонента для тестов
249
- */
250
- dataTestId?: string;
251
- /**
252
- * Контент (native prop)
253
- */
254
- children?: React.ReactNode;
255
- /**
256
- * Добавляет отступы к тэгу 'p'
257
- */
258
- defaultMargins?: never;
259
- /**
260
- * Количество строк (не поддерживает IE)
261
- */
262
- rowLimit?: 1 | 2 | 3;
263
- /**
264
- * Показать скелетон
265
- */
266
- showSkeleton?: boolean;
267
- /**
268
- * Пропы для скелетона
269
- */
270
- skeletonProps?: TextSkeletonProps;
271
- };
272
- type TextPTagProps = Omit<TextBaseProps, "tag" | "defaultMargins"> & {
273
- tag?: "p";
274
- defaultMargins?: boolean;
275
- };
276
- type TextProps = Omit<NativeProps, "color"> & (TextBaseProps | TextPTagProps);
277
- type NativeProps$0 = HTMLAttributes<HTMLHeadingElement>;
278
- type TitleProps = Omit<NativeProps$0, "color"> & {
279
- /**
280
- * HTML тег
281
- */
282
- tag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div";
283
- /**
284
- * [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/guidelines-typography--page)
285
- */
286
- view?: "xlarge" | "large" | "medium" | "small" | "xsmall";
287
- /**
288
- * Цвет текста
289
- */
290
- color?: Color;
291
- /**
292
- * Толщина шрифта
293
- */
294
- weight?: "regular" | "medium" | "bold";
295
- /**
296
- * Шрифт текста
297
- */
298
- font?: "styrene" | "system";
299
- /**
300
- * Добавляет отступы
301
- */
302
- defaultMargins?: boolean;
303
- /**
304
- * Css-класс для стилизации (native prop)
305
- */
306
- className?: string;
307
- /**
308
- * Id компонента для тестов
309
- */
310
- dataTestId?: string;
311
- /**
312
- * Контент (native prop)
313
- */
314
- children?: React.ReactNode;
315
- /**
316
- * Количество строк (не поддерживает IE)
317
- */
318
- rowLimit?: 1 | 2 | 3;
319
- /**
320
- * Показать скелетон
321
- */
322
- showSkeleton?: boolean;
323
- /**
324
- * Пропы для скелетона
325
- */
326
- skeletonProps?: TextSkeletonProps;
327
- };
328
- type TitleMobileProps = Omit<TitleProps, "defaultMargins">;
329
- declare const Typography: {
330
- Title: FC<TitleProps>;
331
- Text: ForwardRefExoticComponent<TextProps & RefAttributes<TextElementType>>;
332
- TitleResponsive: FC<TitleProps>;
333
- TitleMobile: FC<TitleMobileProps>;
334
- };
335
- declare const typographyPresets: {
336
- mobile: {
337
- list: {
338
- text: {
339
- primary: {
340
- tag: string;
341
- view: string;
342
- };
343
- secondary: {
344
- tag: string;
345
- color: string;
346
- view: string;
347
- };
348
- };
349
- };
350
- };
351
- };
352
- declare const TitleResponsive: FC<TitleProps>;
353
- type IconButtonProps = {
354
- /**
355
- * Компонент иконки
356
- */
357
- icon: ElementType<{
358
- className?: string;
359
- }> | ReactElement;
360
- /**
361
- * Тип кнопки
362
- */
363
- view?: "primary" | "secondary" | "transparent" | "tertiary" | "negative";
364
- /**
365
- * Размер компонента
366
- */
367
- size?: "xxs" | "xs" | "s";
368
- /**
369
- * Дополнительный класс
370
- */
371
- className?: string;
372
- /**
373
- * Выравнивание иконки
374
- * @default 'center'
375
- */
376
- alignIcon?: "left" | "center" | "right";
377
- /**
378
- * Идентификатор для систем автоматизированного тестирования
379
- */
380
- dataTestId?: string;
381
- /**
382
- * Набор цветов для компонента
383
- */
384
- colors?: "default" | "inverted";
385
- } & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "Component" | "href" | "loading" | "breakpoint"> & Pick<AnchorHTMLAttributes<HTMLAnchorElement>, "target" | "download">;
386
- declare const IconButton: React.ForwardRefExoticComponent<{
387
- icon: ElementType<{
388
- className?: string;
389
- }> | ReactElement;
390
- view?: "primary" | "secondary" | "tertiary" | "negative" | "transparent" | undefined;
391
- size?: "xs" | "s" | "xxs" | undefined;
392
- className?: string | undefined;
393
- alignIcon?: "center" | "right" | "left" | undefined;
394
- dataTestId?: string | undefined;
395
- colors?: "default" | "inverted" | undefined;
396
- } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "Component" | "loading" | "breakpoint"> & Pick<React.AnchorHTMLAttributes<HTMLAnchorElement>, "download" | "target"> & React.RefAttributes<HTMLButtonElement>>;
397
- declare const ModalMobile: React.ForwardRefExoticComponent<ModalMobileProps & React.RefAttributes<HTMLDivElement>> & {
398
- Content: React.FC<import("./typings-baf4875b").ContentProps>;
399
- Header: React.FC<HeaderProps>;
400
- Footer: React.FC<FooterProps>;
401
- };
402
- export { Content, ResponsiveContext, Modal, FooterProps, Footer, HeaderProps, Header, ModalContext, BackArrowAddonProps, BackArrowAddon, Typography, typographyPresets, TitleResponsive, IconButtonProps, IconButton, ModalMobile };
403
- export type { TitleProps, TextProps, Color };
404
- export * from "./useSkeleton-1b036d4b";
@@ -1,38 +0,0 @@
1
- /// <reference types="react" />
2
- import React from "react";
3
- import { FC } from "react";
4
- import { CommonButtonProps, PrivateButtonProps } from "./typings-89f0cb07";
5
- type SpinnerProps = {
6
- /**
7
- * Управление видимостью компонента
8
- */
9
- visible?: boolean;
10
- /**
11
- * Размер компонента
12
- */
13
- size?: "xs" | "s" | "m";
14
- /**
15
- * Дополнительный класс
16
- */
17
- className?: string;
18
- /**
19
- * Идентификатор компонента в DOM
20
- */
21
- id?: string;
22
- /**
23
- * Идентификатор для систем автоматизированного тестирования
24
- */
25
- dataTestId?: string;
26
- /**
27
- * Палитра, в контексте которой используется спиннер
28
- */
29
- colors?: "default" | "inverted";
30
- };
31
- declare const Spinner: FC<SpinnerProps>;
32
- /**
33
- * Минимальное время отображения лоадера - 500мс,
34
- * чтобы при быстрых ответах от сервера кнопка не «моргала».
35
- */
36
- declare const LOADER_MIN_DISPLAY_INTERVAL = 500;
37
- declare const BaseButton: React.ForwardRefExoticComponent<(CommonButtonProps & PrivateButtonProps) & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
38
- export { SpinnerProps, Spinner, LOADER_MIN_DISPLAY_INTERVAL, BaseButton };
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- import React from 'react';
3
- import { BaseFormControlProps } from "./index-ebda875c";
4
- type FormControlMobileProps = Omit<BaseFormControlProps, 'styles' | 'colorStyles'>;
5
- declare const FormControlMobile: React.ForwardRefExoticComponent<FormControlMobileProps & React.RefAttributes<HTMLDivElement>>;
6
- export { FormControlMobileProps, FormControlMobile };