@alfalab/core-components-select 13.2.13 → 13.2.15

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 (233) hide show
  1. package/{cssm/Component-1481ef6b.d.ts → Component-001db41f.d.ts} +2 -1
  2. package/{Component-ca307b80.js → Component-001db41f.js} +4 -2
  3. package/Component-3885b0d7.d.ts +169 -0
  4. package/Component-71240601.d.ts +142 -0
  5. package/{Component-088caba2.js → Component-71240601.js} +4 -4
  6. package/Component.js +1 -1
  7. package/Component.responsive.js +3 -3
  8. package/components/arrow/Component.js +1 -1
  9. package/components/arrow/index.css +3 -3
  10. package/components/base-checkmark/Component.js +1 -1
  11. package/components/base-checkmark/index.css +4 -4
  12. package/components/base-option/Component.js +1 -1
  13. package/components/base-option/index.css +13 -13
  14. package/components/base-select/Component.js +1 -1
  15. package/components/base-select/index.css +7 -7
  16. package/components/base-select/index.d.ts +1 -1
  17. package/components/base-select/index.js +1 -1
  18. package/components/base-select-mobile/Component.js +3 -3
  19. package/components/base-select-mobile/checkmark/Component.js +1 -1
  20. package/components/base-select-mobile/checkmark/index.css +6 -6
  21. package/components/base-select-mobile/index.css +11 -11
  22. package/components/base-select-mobile/index.d.ts +1 -1
  23. package/components/base-select-mobile/index.js +3 -3
  24. package/components/base-select-mobile/options-list/Component.js +1 -1
  25. package/components/base-select-mobile/options-list/index.css +9 -9
  26. package/components/base-select-mobile/virtual-options-list/Component.js +1 -1
  27. package/components/base-select-mobile/virtual-options-list/index.css +15 -15
  28. package/components/checkmark/Component.js +1 -1
  29. package/components/checkmark/index.css +10 -10
  30. package/components/field/Component.js +1 -1
  31. package/components/field/index.css +9 -9
  32. package/components/index.js +3 -3
  33. package/components/optgroup/Component.js +1 -1
  34. package/components/optgroup/index.css +6 -6
  35. package/components/option/Component.js +1 -1
  36. package/components/option/index.css +20 -20
  37. package/components/options-list/Component.js +1 -1
  38. package/components/options-list/index.css +6 -6
  39. package/components/select-mobile/Component.js +3 -3
  40. package/components/select-mobile/index.d.ts +1 -1
  41. package/components/select-mobile/index.js +3 -3
  42. package/components/select-modal-mobile/Component.js +3 -3
  43. package/components/select-modal-mobile/index.d.ts +1 -1
  44. package/components/select-modal-mobile/index.js +3 -3
  45. package/components/virtual-options-list/Component.js +1 -1
  46. package/components/virtual-options-list/index.css +12 -12
  47. package/cssm/Component-3885b0d7.d.ts +169 -0
  48. package/{esm/Component-82c9c6a4.d.ts → cssm/Component-aaa9f3a7.d.ts} +2 -1
  49. package/cssm/{Component-1481ef6b.js → Component-aaa9f3a7.js} +3 -1
  50. package/cssm/Component-e9709f88.d.ts +142 -0
  51. package/cssm/{Component-8f0723b4.js → Component-e9709f88.js} +1 -1
  52. package/cssm/Component.js +1 -1
  53. package/cssm/Component.responsive.js +2 -2
  54. package/cssm/components/base-select/Component.js +1 -1
  55. package/cssm/components/base-select/index.d.ts +1 -1
  56. package/cssm/components/base-select/index.js +1 -1
  57. package/cssm/components/base-select-mobile/Component.js +2 -2
  58. package/cssm/components/base-select-mobile/index.d.ts +1 -1
  59. package/cssm/components/base-select-mobile/index.js +2 -2
  60. package/cssm/components/index.js +2 -2
  61. package/cssm/components/select-mobile/Component.js +2 -2
  62. package/cssm/components/select-mobile/index.d.ts +1 -1
  63. package/cssm/components/select-mobile/index.js +2 -2
  64. package/cssm/components/select-modal-mobile/Component.js +2 -2
  65. package/cssm/components/select-modal-mobile/index.d.ts +1 -1
  66. package/cssm/components/select-modal-mobile/index.js +2 -2
  67. package/cssm/{index-3fe0d3e6.d.ts → index-3885b0d7.d.ts} +1 -1
  68. package/cssm/index-ebda875c.d.ts +74 -0
  69. package/cssm/index.js +2 -2
  70. package/cssm/presets/index.js +2 -2
  71. package/cssm/presets/useLazyLoading/hook.js +2 -2
  72. package/cssm/presets/useSelectWithApply/hook.js +2 -2
  73. package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.js +2 -2
  74. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  75. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.js +2 -2
  76. package/cssm/responsive.js +2 -2
  77. package/cssm/types-ebda875c.d.ts +113 -0
  78. package/cssm/typings.d.ts +5 -5
  79. package/esm/Component-0a180244.d.ts +142 -0
  80. package/esm/{Component-23df669b.js → Component-0a180244.js} +4 -4
  81. package/esm/Component-3885b0d7.d.ts +169 -0
  82. package/{Component-ca307b80.d.ts → esm/Component-4bb3c303.d.ts} +2 -1
  83. package/esm/{Component-82c9c6a4.js → Component-4bb3c303.js} +4 -2
  84. package/esm/Component.js +1 -1
  85. package/esm/Component.responsive.js +3 -3
  86. package/esm/components/arrow/Component.js +1 -1
  87. package/esm/components/arrow/index.css +3 -3
  88. package/esm/components/base-checkmark/Component.js +1 -1
  89. package/esm/components/base-checkmark/index.css +4 -4
  90. package/esm/components/base-option/Component.js +1 -1
  91. package/esm/components/base-option/index.css +13 -13
  92. package/esm/components/base-select/Component.js +1 -1
  93. package/esm/components/base-select/index.css +7 -7
  94. package/esm/components/base-select/index.d.ts +1 -1
  95. package/esm/components/base-select/index.js +1 -1
  96. package/esm/components/base-select-mobile/Component.js +3 -3
  97. package/esm/components/base-select-mobile/checkmark/Component.js +1 -1
  98. package/esm/components/base-select-mobile/checkmark/index.css +6 -6
  99. package/esm/components/base-select-mobile/index.css +11 -11
  100. package/esm/components/base-select-mobile/index.d.ts +1 -1
  101. package/esm/components/base-select-mobile/index.js +3 -3
  102. package/esm/components/base-select-mobile/options-list/Component.js +1 -1
  103. package/esm/components/base-select-mobile/options-list/index.css +9 -9
  104. package/esm/components/base-select-mobile/virtual-options-list/Component.js +1 -1
  105. package/esm/components/base-select-mobile/virtual-options-list/index.css +15 -15
  106. package/esm/components/checkmark/Component.js +1 -1
  107. package/esm/components/checkmark/index.css +10 -10
  108. package/esm/components/field/Component.js +1 -1
  109. package/esm/components/field/index.css +9 -9
  110. package/esm/components/index.js +3 -3
  111. package/esm/components/optgroup/Component.js +1 -1
  112. package/esm/components/optgroup/index.css +6 -6
  113. package/esm/components/option/Component.js +1 -1
  114. package/esm/components/option/index.css +20 -20
  115. package/esm/components/options-list/Component.js +1 -1
  116. package/esm/components/options-list/index.css +6 -6
  117. package/esm/components/select-mobile/Component.js +3 -3
  118. package/esm/components/select-mobile/index.d.ts +1 -1
  119. package/esm/components/select-mobile/index.js +3 -3
  120. package/esm/components/select-modal-mobile/Component.js +3 -3
  121. package/esm/components/select-modal-mobile/index.d.ts +1 -1
  122. package/esm/components/select-modal-mobile/index.js +3 -3
  123. package/esm/components/virtual-options-list/Component.js +1 -1
  124. package/esm/components/virtual-options-list/index.css +12 -12
  125. package/esm/{index-3fe0d3e6.d.ts → index-3885b0d7.d.ts} +1 -1
  126. package/esm/index-ebda875c.d.ts +74 -0
  127. package/esm/index.js +3 -3
  128. package/esm/presets/index.js +3 -3
  129. package/esm/presets/useLazyLoading/hook.js +4 -4
  130. package/esm/presets/useLazyLoading/index.css +2 -2
  131. package/esm/presets/useSelectWithApply/hook.js +3 -3
  132. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +3 -3
  133. package/esm/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
  134. package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  135. package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +3 -3
  136. package/esm/presets/useSelectWithLoading/hook.js +1 -1
  137. package/esm/presets/useSelectWithLoading/index.css +2 -2
  138. package/esm/responsive.js +3 -3
  139. package/esm/types-ebda875c.d.ts +113 -0
  140. package/esm/typings.d.ts +5 -5
  141. package/{index-3fe0d3e6.d.ts → index-3885b0d7.d.ts} +1 -1
  142. package/index-ebda875c.d.ts +74 -0
  143. package/index.js +3 -3
  144. package/modern/Component-3885b0d7.d.ts +169 -0
  145. package/modern/{Component-c2743e76.d.ts → Component-77e84ddc.d.ts} +2 -1
  146. package/modern/{Component-c2743e76.js → Component-77e84ddc.js} +4 -2
  147. package/modern/Component-d9a7d67e.d.ts +142 -0
  148. package/modern/{Component-629f202b.js → Component-d9a7d67e.js} +4 -4
  149. package/modern/Component.js +1 -1
  150. package/modern/Component.responsive.js +3 -3
  151. package/modern/components/arrow/Component.js +1 -1
  152. package/modern/components/arrow/index.css +3 -3
  153. package/modern/components/base-checkmark/Component.js +1 -1
  154. package/modern/components/base-checkmark/index.css +4 -4
  155. package/modern/components/base-option/Component.js +1 -1
  156. package/modern/components/base-option/index.css +13 -13
  157. package/modern/components/base-select/Component.js +1 -1
  158. package/modern/components/base-select/index.css +7 -7
  159. package/modern/components/base-select/index.d.ts +1 -1
  160. package/modern/components/base-select/index.js +1 -1
  161. package/modern/components/base-select-mobile/Component.js +3 -3
  162. package/modern/components/base-select-mobile/checkmark/Component.js +1 -1
  163. package/modern/components/base-select-mobile/checkmark/index.css +6 -6
  164. package/modern/components/base-select-mobile/index.css +11 -11
  165. package/modern/components/base-select-mobile/index.d.ts +1 -1
  166. package/modern/components/base-select-mobile/index.js +3 -3
  167. package/modern/components/base-select-mobile/options-list/Component.js +1 -1
  168. package/modern/components/base-select-mobile/options-list/index.css +9 -9
  169. package/modern/components/base-select-mobile/virtual-options-list/Component.js +1 -1
  170. package/modern/components/base-select-mobile/virtual-options-list/index.css +15 -15
  171. package/modern/components/checkmark/Component.js +1 -1
  172. package/modern/components/checkmark/index.css +10 -10
  173. package/modern/components/field/Component.js +1 -1
  174. package/modern/components/field/index.css +9 -9
  175. package/modern/components/index.js +3 -3
  176. package/modern/components/optgroup/Component.js +1 -1
  177. package/modern/components/optgroup/index.css +6 -6
  178. package/modern/components/option/Component.js +1 -1
  179. package/modern/components/option/index.css +20 -20
  180. package/modern/components/options-list/Component.js +1 -1
  181. package/modern/components/options-list/index.css +6 -6
  182. package/modern/components/select-mobile/Component.js +3 -3
  183. package/modern/components/select-mobile/index.d.ts +1 -1
  184. package/modern/components/select-mobile/index.js +3 -3
  185. package/modern/components/select-modal-mobile/Component.js +3 -3
  186. package/modern/components/select-modal-mobile/index.d.ts +1 -1
  187. package/modern/components/select-modal-mobile/index.js +3 -3
  188. package/modern/components/virtual-options-list/Component.js +1 -1
  189. package/modern/components/virtual-options-list/index.css +12 -12
  190. package/modern/{index-3fe0d3e6.d.ts → index-3885b0d7.d.ts} +1 -1
  191. package/modern/index-ebda875c.d.ts +74 -0
  192. package/modern/index.js +3 -3
  193. package/modern/presets/index.js +3 -3
  194. package/modern/presets/useLazyLoading/hook.js +4 -4
  195. package/modern/presets/useLazyLoading/index.css +2 -2
  196. package/modern/presets/useSelectWithApply/hook.js +3 -3
  197. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +3 -3
  198. package/modern/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
  199. package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  200. package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +3 -3
  201. package/modern/presets/useSelectWithLoading/hook.js +1 -1
  202. package/modern/presets/useSelectWithLoading/index.css +2 -2
  203. package/modern/responsive.js +3 -3
  204. package/modern/types-ebda875c.d.ts +113 -0
  205. package/modern/typings.d.ts +5 -5
  206. package/package.json +6 -6
  207. package/presets/index.js +3 -3
  208. package/presets/useLazyLoading/hook.js +4 -4
  209. package/presets/useLazyLoading/index.css +2 -2
  210. package/presets/useSelectWithApply/hook.js +3 -3
  211. package/presets/useSelectWithApply/options-list-with-apply/Component.js +3 -3
  212. package/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
  213. package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  214. package/presets/useSelectWithApply/options-list-with-apply/index.js +3 -3
  215. package/presets/useSelectWithLoading/hook.js +1 -1
  216. package/presets/useSelectWithLoading/index.css +2 -2
  217. package/responsive.js +3 -3
  218. package/types-ebda875c.d.ts +113 -0
  219. package/typings.d.ts +5 -5
  220. package/Component-088caba2.d.ts +0 -475
  221. package/cssm/Component-8f0723b4.d.ts +0 -475
  222. package/cssm/getDataTestId-3fe0d3e6.d.ts +0 -2
  223. package/esm/Component-23df669b.d.ts +0 -475
  224. package/esm/getDataTestId-3fe0d3e6.d.ts +0 -2
  225. package/getDataTestId-3fe0d3e6.d.ts +0 -2
  226. package/modern/Component-629f202b.d.ts +0 -475
  227. package/modern/getDataTestId-3fe0d3e6.d.ts +0 -2
  228. /package/esm/{intersection-observer-12c920c6.d.ts → intersection-observer-6d12bd0a.d.ts} +0 -0
  229. /package/esm/{intersection-observer-12c920c6.js → intersection-observer-6d12bd0a.js} +0 -0
  230. /package/{intersection-observer-31caed5c.d.ts → intersection-observer-dd747820.d.ts} +0 -0
  231. /package/{intersection-observer-31caed5c.js → intersection-observer-dd747820.js} +0 -0
  232. /package/modern/{intersection-observer-12c920c6.d.ts → intersection-observer-6d12bd0a.d.ts} +0 -0
  233. /package/modern/{intersection-observer-12c920c6.js → intersection-observer-6d12bd0a.js} +0 -0
@@ -0,0 +1,74 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ import { ButtonHTMLAttributes, ElementType, FC, AnchorHTMLAttributes } from "react";
4
+ import { ButtonProps } from "@alfalab/core-components-button";
5
+ interface CloserProps extends ButtonHTMLAttributes<HTMLButtonElement> {
6
+ /**
7
+ * Вид компонента
8
+ */
9
+ view: "desktop" | "mobile";
10
+ /**
11
+ * Дополнительный класс
12
+ */
13
+ className?: string;
14
+ /**
15
+ * Позиция крестика
16
+ */
17
+ align?: "left" | "right";
18
+ /**
19
+ * Фиксирует крестик
20
+ */
21
+ sticky?: boolean;
22
+ /**
23
+ * Иконка
24
+ */
25
+ icon?: ElementType;
26
+ /**
27
+ * Идентификатор для систем автоматизированного тестирования
28
+ */
29
+ dataTestId?: string;
30
+ /**
31
+ * Коллбэк закрытия.
32
+ */
33
+ onClose?: (event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, reason?: "backdropClick" | "escapeKeyDown" | "closerClick") => void;
34
+ }
35
+ declare const Closer: FC<CloserProps>;
36
+ type IconButtonProps = {
37
+ /**
38
+ * Компонент иконки
39
+ */
40
+ icon: ElementType<{
41
+ className?: string;
42
+ }>;
43
+ /**
44
+ * Тип кнопки
45
+ */
46
+ view?: "primary" | "secondary" | "transparent" | "tertiary" | "negative";
47
+ /**
48
+ * Размер компонента
49
+ */
50
+ size?: "xxs" | "xs" | "s";
51
+ /**
52
+ * Дополнительный класс
53
+ */
54
+ className?: string;
55
+ /**
56
+ * Идентификатор для систем автоматизированного тестирования
57
+ */
58
+ dataTestId?: string;
59
+ /**
60
+ * Набор цветов для компонента
61
+ */
62
+ colors?: "default" | "inverted";
63
+ } & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "loading"> & Pick<AnchorHTMLAttributes<HTMLAnchorElement>, "target" | "download">;
64
+ declare const IconButton: React.ForwardRefExoticComponent<{
65
+ icon: ElementType<{
66
+ className?: string;
67
+ }>;
68
+ view?: "negative" | "tertiary" | "secondary" | "primary" | "transparent" | undefined;
69
+ size?: "s" | "xs" | "xxs" | undefined;
70
+ className?: string | undefined;
71
+ dataTestId?: string | undefined;
72
+ colors?: "default" | "inverted" | undefined;
73
+ } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "loading"> & Pick<React.AnchorHTMLAttributes<HTMLAnchorElement>, "download" | "target"> & React.RefAttributes<HTMLButtonElement>>;
74
+ export { CloserProps, Closer, IconButtonProps, IconButton };
package/modern/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { Select } from './Component.js';
2
2
  export { Arrow } from './components/arrow/Component.js';
3
- export { B as BaseSelect } from './Component-c2743e76.js';
4
- export { b as SELECT_ALL_KEY, S as SelectMobile, a as SelectModalMobile, u as useSelectWithApply } from './Component-629f202b.js';
3
+ export { B as BaseSelect } from './Component-77e84ddc.js';
4
+ export { b as SELECT_ALL_KEY, S as SelectMobile, a as SelectModalMobile, u as useSelectWithApply } from './Component-d9a7d67e.js';
5
5
  export { Field } from './components/field/Component.js';
6
6
  export { Optgroup } from './components/optgroup/Component.js';
7
7
  export { Option } from './components/option/Component.js';
@@ -32,7 +32,7 @@ import '@alfalab/core-components-bottom-sheet/modern';
32
32
  import '@alfalab/core-components-modal/modern/mobile';
33
33
  import 'react-virtual';
34
34
  import '@alfalab/core-components-skeleton/modern';
35
- import './intersection-observer-12c920c6.js';
35
+ import './intersection-observer-6d12bd0a.js';
36
36
  import '@alfalab/core-components-button/modern';
37
37
  import './components/base-checkmark/Component.js';
38
38
  import './components/base-select-mobile/options-list/Component.js';
@@ -1,6 +1,6 @@
1
1
  export { useSelectWithLoading } from './useSelectWithLoading/hook.js';
2
2
  export { useLazyLoading } from './useLazyLoading/hook.js';
3
- export { b as SELECT_ALL_KEY, u as useSelectWithApply } from '../Component-629f202b.js';
3
+ export { b as SELECT_ALL_KEY, u as useSelectWithApply } from '../Component-d9a7d67e.js';
4
4
  import 'react';
5
5
  import '@alfalab/core-components-skeleton/modern';
6
6
  import '../components/option/Component.js';
@@ -11,7 +11,7 @@ import '../components/checkmark/Component.js';
11
11
  import '@alfalab/core-components-badge/modern';
12
12
  import '@alfalab/core-components-checkbox/modern';
13
13
  import '@alfalab/icons-glyph/CheckmarkCircleMIcon';
14
- import '../intersection-observer-12c920c6.js';
14
+ import '../intersection-observer-6d12bd0a.js';
15
15
  import '../components/arrow/Component.js';
16
16
  import '@alfalab/icons-glyph/ChevronDownMIcon';
17
17
  import 'react-merge-refs';
@@ -19,7 +19,7 @@ import 'downshift';
19
19
  import '@alfalab/core-components-bottom-sheet/modern';
20
20
  import '@alfalab/core-components-modal/modern/mobile';
21
21
  import '../Component.js';
22
- import '../Component-c2743e76.js';
22
+ import '../Component-77e84ddc.js';
23
23
  import '@juggle/resize-observer';
24
24
  import '@alfalab/core-components-popover/modern';
25
25
  import '@alfalab/hooks';
@@ -1,7 +1,7 @@
1
1
  import React, { useReducer, useRef, useCallback, useEffect, useMemo } from 'react';
2
2
  import { Skeleton } from '@alfalab/core-components-skeleton/modern';
3
3
  import { Option } from '../../components/option/Component.js';
4
- import '../../intersection-observer-12c920c6.js';
4
+ import '../../intersection-observer-6d12bd0a.js';
5
5
  import 'classnames';
6
6
  import '../../components/base-select-mobile/checkmark/Component.js';
7
7
  import '@alfalab/icons-glyph/CheckmarkMIcon';
@@ -10,7 +10,7 @@ import '@alfalab/core-components-badge/modern';
10
10
  import '@alfalab/core-components-checkbox/modern';
11
11
  import '@alfalab/icons-glyph/CheckmarkCircleMIcon';
12
12
 
13
- const styles = {"skeleton":"select__skeleton_1fzuw"};
13
+ const styles = {"skeleton":"select__skeleton_17j75"};
14
14
  require('./index.css')
15
15
 
16
16
  const DEBOUNCE_TIMEOUT = 300;
@@ -132,8 +132,8 @@ function useLazyLoading({ limit = 10, initialOffset = 0, optionsFetcher, skeleto
132
132
  * Таким образом, загрузка следующей "страницы" начнется когда юзер доскроллит список
133
133
  * до верхнего края последней опции, что обеспечивает плавность
134
134
  */
135
- const options = listRef.current?.querySelectorAll('[role="option"]');
136
- const lastOption = options?.[options.length - 1];
135
+ const optionList = listRef.current?.querySelectorAll('[role="option"]');
136
+ const lastOption = optionList?.[optionList.length - 1];
137
137
  if (lastOption) {
138
138
  observer.observe(lastOption);
139
139
  }
@@ -1,5 +1,5 @@
1
- /* hash: 1mbe1 */
2
- .select__skeleton_1fzuw {
1
+ /* hash: 1b2n0 */
2
+ .select__skeleton_17j75 {
3
3
  position: absolute;
4
4
  top: 50%;
5
5
  transform: translateY(-50%);
@@ -2,8 +2,8 @@ import 'react';
2
2
  import '../../Component.js';
3
3
  import 'classnames';
4
4
  import '@alfalab/icons-glyph/ChevronDownMIcon';
5
- import '../../Component-c2743e76.js';
6
- export { b as SELECT_ALL_KEY, u as useSelectWithApply } from '../../Component-629f202b.js';
5
+ import '../../Component-77e84ddc.js';
6
+ export { b as SELECT_ALL_KEY, u as useSelectWithApply } from '../../Component-d9a7d67e.js';
7
7
  import '@alfalab/core-components-form-control/modern';
8
8
  import '@alfalab/hooks';
9
9
  import '../../utils.js';
@@ -15,7 +15,7 @@ import '../../components/options-list/Component.js';
15
15
  import 'react-virtual';
16
16
  import '@alfalab/core-components-scrollbar/modern';
17
17
  import '@alfalab/core-components-skeleton/modern';
18
- import '../../intersection-observer-12c920c6.js';
18
+ import '../../intersection-observer-6d12bd0a.js';
19
19
  import '../../components/arrow/Component.js';
20
20
  import '../../components/field/Component.js';
21
21
  import '../../components/optgroup/Component.js';
@@ -2,8 +2,8 @@ import 'react';
2
2
  import 'classnames';
3
3
  import '@alfalab/core-components-button/modern';
4
4
  import '@alfalab/icons-glyph/ChevronDownMIcon';
5
- import '../../../Component-c2743e76.js';
6
- export { O as OptionsListWithApply } from '../../../Component-629f202b.js';
5
+ import '../../../Component-77e84ddc.js';
6
+ export { O as OptionsListWithApply } from '../../../Component-d9a7d67e.js';
7
7
  import '@alfalab/core-components-form-control/modern';
8
8
  import '@alfalab/hooks';
9
9
  import '@alfalab/icons-glyph/CheckmarkMIcon';
@@ -31,7 +31,7 @@ import '../../../components/checkmark/Component.js';
31
31
  import '../../../components/base-option/Component.js';
32
32
  import '../../../components/base-checkmark/Component.js';
33
33
  import '@alfalab/core-components-skeleton/modern';
34
- import '../../../intersection-observer-12c920c6.js';
34
+ import '../../../intersection-observer-6d12bd0a.js';
35
35
  import '../../../components/base-select-mobile/options-list/Component.js';
36
36
  import '@alfalab/core-components-base-modal/modern';
37
37
  import '../../../components/base-select-mobile/virtual-options-list/Component.js';
@@ -1,4 +1,4 @@
1
- /* hash: onzmt */
1
+ /* hash: 1tyxn */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-bg-primary: #fff;
@@ -27,12 +27,12 @@
27
27
  /* checkmark */
28
28
 
29
29
  /* optgroup */
30
- } .select__footer_l8orr {
30
+ } .select__footer_4wfri {
31
31
  background: var(--color-light-bg-primary);
32
32
  padding: var(--gap-s);
33
33
  outline: none
34
- } .select__footer_l8orr > * + * {
34
+ } .select__footer_4wfri > * + * {
35
35
  margin-left: var(--gap-xs);
36
- } .select__withBorder_l8orr {
36
+ } .select__withBorder_4wfri {
37
37
  box-shadow: inset 0 1px 0 var(--color-light-border-secondary);
38
38
  }
@@ -1 +1 @@
1
- export * from "../../../Component-629f202b";
1
+ export * from "../../../Component-d9a7d67e";
@@ -1,4 +1,4 @@
1
- export { O as OptionsListWithApply } from '../../../Component-629f202b.js';
1
+ export { O as OptionsListWithApply } from '../../../Component-d9a7d67e.js';
2
2
  import 'react';
3
3
  import '../../../components/arrow/Component.js';
4
4
  import 'classnames';
@@ -8,7 +8,7 @@ import 'downshift';
8
8
  import '@alfalab/core-components-bottom-sheet/modern';
9
9
  import '@alfalab/core-components-modal/modern/mobile';
10
10
  import '../../../Component.js';
11
- import '../../../Component-c2743e76.js';
11
+ import '../../../Component-77e84ddc.js';
12
12
  import '@juggle/resize-observer';
13
13
  import '@alfalab/core-components-popover/modern';
14
14
  import '@alfalab/hooks';
@@ -30,7 +30,7 @@ import 'react-virtual';
30
30
  import '../../../components/base-option/Component.js';
31
31
  import '../../../components/base-checkmark/Component.js';
32
32
  import '@alfalab/core-components-skeleton/modern';
33
- import '../../../intersection-observer-12c920c6.js';
33
+ import '../../../intersection-observer-6d12bd0a.js';
34
34
  import '@alfalab/core-components-button/modern';
35
35
  import '../../../components/base-select-mobile/options-list/Component.js';
36
36
  import '@alfalab/core-components-base-modal/modern';
@@ -9,7 +9,7 @@ import '@alfalab/core-components-badge/modern';
9
9
  import '@alfalab/core-components-checkbox/modern';
10
10
  import '@alfalab/icons-glyph/CheckmarkCircleMIcon';
11
11
 
12
- const styles = {"skeleton":"select__skeleton_1ed5p"};
12
+ const styles = {"skeleton":"select__skeleton_12h6e"};
13
13
  require('./index.css')
14
14
 
15
15
  function useSelectWithLoading({ loading = false, visibleOptions = 6, Option: Option$1 = Option, }) {
@@ -1,5 +1,5 @@
1
- /* hash: 10v04 */
2
- .select__skeleton_1ed5p {
1
+ /* hash: 18j07 */
2
+ .select__skeleton_12h6e {
3
3
  position: absolute;
4
4
  top: 50%;
5
5
  transform: translateY(-50%);
@@ -5,7 +5,7 @@ import './Component.js';
5
5
  import './components/arrow/Component.js';
6
6
  import 'classnames';
7
7
  import '@alfalab/icons-glyph/ChevronDownMIcon';
8
- import './Component-c2743e76.js';
8
+ import './Component-77e84ddc.js';
9
9
  import 'react-merge-refs';
10
10
  import '@juggle/resize-observer';
11
11
  import 'downshift';
@@ -24,14 +24,14 @@ import '@alfalab/core-components-checkbox/modern';
24
24
  import '@alfalab/icons-glyph/CheckmarkCircleMIcon';
25
25
  import './components/options-list/Component.js';
26
26
  import '@alfalab/core-components-scrollbar/modern';
27
- import './Component-629f202b.js';
27
+ import './Component-d9a7d67e.js';
28
28
  import '@alfalab/core-components-bottom-sheet/modern';
29
29
  import '@alfalab/core-components-modal/modern/mobile';
30
30
  import 'react-virtual';
31
31
  import './components/base-option/Component.js';
32
32
  import './components/base-checkmark/Component.js';
33
33
  import '@alfalab/core-components-skeleton/modern';
34
- import './intersection-observer-12c920c6.js';
34
+ import './intersection-observer-6d12bd0a.js';
35
35
  import '@alfalab/core-components-button/modern';
36
36
  import './components/base-select-mobile/options-list/Component.js';
37
37
  import '@alfalab/core-components-base-modal/modern';
@@ -0,0 +1,113 @@
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?: string;
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
+ ref?: React.RefObject<HTMLDivElement>;
110
+ style?: React.CSSProperties;
111
+ hidden?: boolean;
112
+ };
113
+ export { NavigationBarProps, ContentParams };
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
2
- import { AriaAttributes, FC, FocusEvent, MouseEvent, ReactElement, ReactNode, RefAttributes } from 'react';
1
+ import { AriaAttributes, FC, FocusEvent, MouseEvent, ReactElement, ReactNode, RefAttributes, SVGProps } from 'react';
3
2
  import { InputProps } from "@alfalab/core-components-input";
4
3
  import { PopoverProps } from "@alfalab/core-components-popover";
4
+ type AnyObject = Record<string, any>;
5
5
  type OptionShape = {
6
6
  /**
7
7
  * Текстовое представление пункта
@@ -325,7 +325,7 @@ type FieldProps = {
325
325
  * Идентификатор для систем автоматизированного тестирования
326
326
  */
327
327
  dataTestId?: string;
328
- } & Record<string, any>;
328
+ } & AnyObject;
329
329
  type ArrowProps = {
330
330
  /**
331
331
  * Дополнительный класс
@@ -545,6 +545,6 @@ type CheckmarkProps = {
545
545
  /**
546
546
  * Иконка выбранного пункта
547
547
  */
548
- icon?: React.FC<React.SVGProps<SVGSVGElement>>;
548
+ icon?: FC<SVGProps<SVGSVGElement>>;
549
549
  };
550
- export { OptionShape, GroupShape, BaseSelectChangePayload, BaseSelectProps, FieldProps, ArrowProps, OptionsListProps, OptgroupProps, OptionProps, CheckmarkProps };
550
+ export { AnyObject, OptionShape, GroupShape, BaseSelectChangePayload, BaseSelectProps, FieldProps, ArrowProps, OptionsListProps, OptgroupProps, OptionProps, CheckmarkProps };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfalab/core-components-select",
3
- "version": "13.2.13",
3
+ "version": "13.2.15",
4
4
  "description": "Select component",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -19,13 +19,13 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "@alfalab/core-components-badge": "^5.0.1",
22
- "@alfalab/core-components-base-modal": "^5.1.0",
23
- "@alfalab/core-components-bottom-sheet": "^6.0.0",
24
- "@alfalab/core-components-button": "^7.1.0",
22
+ "@alfalab/core-components-base-modal": "^5.1.1",
23
+ "@alfalab/core-components-bottom-sheet": "^6.0.2",
24
+ "@alfalab/core-components-button": "^7.1.1",
25
25
  "@alfalab/core-components-checkbox": "^3.1.1",
26
26
  "@alfalab/core-components-form-control": "^9.0.3",
27
- "@alfalab/core-components-input": "^11.1.7",
28
- "@alfalab/core-components-modal": "^7.0.0",
27
+ "@alfalab/core-components-input": "^11.1.8",
28
+ "@alfalab/core-components-modal": "^7.0.2",
29
29
  "@alfalab/core-components-popover": "^6.0.7",
30
30
  "@alfalab/core-components-scrollbar": "^2.1.3",
31
31
  "@alfalab/core-components-skeleton": "^4.0.4",
package/presets/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  var presets_useSelectWithLoading_hook = require('./useSelectWithLoading/hook.js');
4
4
  var presets_useLazyLoading_hook = require('./useLazyLoading/hook.js');
5
- var presets_useSelectWithApply_optionsListWithApply_Component = require('../Component-088caba2.js');
5
+ var presets_useSelectWithApply_optionsListWithApply_Component = require('../Component-71240601.js');
6
6
  require('tslib');
7
7
  require('react');
8
8
  require('@alfalab/core-components-skeleton');
@@ -14,7 +14,7 @@ require('../components/checkmark/Component.js');
14
14
  require('@alfalab/core-components-badge');
15
15
  require('@alfalab/core-components-checkbox');
16
16
  require('@alfalab/icons-glyph/CheckmarkCircleMIcon');
17
- require('../intersection-observer-31caed5c.js');
17
+ require('../intersection-observer-dd747820.js');
18
18
  require('../components/arrow/Component.js');
19
19
  require('@alfalab/icons-glyph/ChevronDownMIcon');
20
20
  require('react-merge-refs');
@@ -22,7 +22,7 @@ require('downshift');
22
22
  require('@alfalab/core-components-bottom-sheet');
23
23
  require('@alfalab/core-components-modal/mobile');
24
24
  require('../Component.js');
25
- require('../Component-ca307b80.js');
25
+ require('../Component-001db41f.js');
26
26
  require('@juggle/resize-observer');
27
27
  require('@alfalab/core-components-popover');
28
28
  require('@alfalab/hooks');
@@ -4,7 +4,7 @@ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var coreComponentsSkeleton = require('@alfalab/core-components-skeleton');
6
6
  var components_option_Component = require('../../components/option/Component.js');
7
- require('../../intersection-observer-31caed5c.js');
7
+ require('../../intersection-observer-dd747820.js');
8
8
  require('classnames');
9
9
  require('../../components/base-select-mobile/checkmark/Component.js');
10
10
  require('@alfalab/icons-glyph/CheckmarkMIcon');
@@ -17,7 +17,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
17
17
 
18
18
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
19
19
 
20
- var styles = {"skeleton":"select__skeleton_1fzuw"};
20
+ var styles = {"skeleton":"select__skeleton_17j75"};
21
21
  require('./index.css')
22
22
 
23
23
  var DEBOUNCE_TIMEOUT = 300;
@@ -120,8 +120,8 @@ function useLazyLoading(_a) {
120
120
  * Таким образом, загрузка следующей "страницы" начнется когда юзер доскроллит список
121
121
  * до верхнего края последней опции, что обеспечивает плавность
122
122
  */
123
- var options_1 = (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.querySelectorAll('[role="option"]');
124
- var lastOption = options_1 === null || options_1 === void 0 ? void 0 : options_1[options_1.length - 1];
123
+ var optionList = (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.querySelectorAll('[role="option"]');
124
+ var lastOption = optionList === null || optionList === void 0 ? void 0 : optionList[optionList.length - 1];
125
125
  if (lastOption) {
126
126
  observer.observe(lastOption);
127
127
  }
@@ -1,5 +1,5 @@
1
- /* hash: 1mbe1 */
2
- .select__skeleton_1fzuw {
1
+ /* hash: 1b2n0 */
2
+ .select__skeleton_17j75 {
3
3
  position: absolute;
4
4
  top: 50%;
5
5
  transform: translateY(-50%);
@@ -5,8 +5,8 @@ require('react');
5
5
  require('../../Component.js');
6
6
  require('classnames');
7
7
  require('@alfalab/icons-glyph/ChevronDownMIcon');
8
- require('../../Component-ca307b80.js');
9
- var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-088caba2.js');
8
+ require('../../Component-001db41f.js');
9
+ var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-71240601.js');
10
10
  require('@alfalab/core-components-form-control');
11
11
  require('@alfalab/hooks');
12
12
  require('../../utils.js');
@@ -18,7 +18,7 @@ require('../../components/options-list/Component.js');
18
18
  require('react-virtual');
19
19
  require('@alfalab/core-components-scrollbar');
20
20
  require('@alfalab/core-components-skeleton');
21
- require('../../intersection-observer-31caed5c.js');
21
+ require('../../intersection-observer-dd747820.js');
22
22
  require('../../components/arrow/Component.js');
23
23
  require('../../components/field/Component.js');
24
24
  require('../../components/optgroup/Component.js');
@@ -5,8 +5,8 @@ require('react');
5
5
  require('classnames');
6
6
  require('@alfalab/core-components-button');
7
7
  require('@alfalab/icons-glyph/ChevronDownMIcon');
8
- require('../../../Component-ca307b80.js');
9
- var presets_useSelectWithApply_optionsListWithApply_Component = require('../../../Component-088caba2.js');
8
+ require('../../../Component-001db41f.js');
9
+ var presets_useSelectWithApply_optionsListWithApply_Component = require('../../../Component-71240601.js');
10
10
  require('@alfalab/core-components-form-control');
11
11
  require('@alfalab/hooks');
12
12
  require('@alfalab/icons-glyph/CheckmarkMIcon');
@@ -34,7 +34,7 @@ require('../../../components/checkmark/Component.js');
34
34
  require('../../../components/base-option/Component.js');
35
35
  require('../../../components/base-checkmark/Component.js');
36
36
  require('@alfalab/core-components-skeleton');
37
- require('../../../intersection-observer-31caed5c.js');
37
+ require('../../../intersection-observer-dd747820.js');
38
38
  require('../../../components/base-select-mobile/options-list/Component.js');
39
39
  require('@alfalab/core-components-base-modal');
40
40
  require('../../../components/base-select-mobile/virtual-options-list/Component.js');
@@ -1,4 +1,4 @@
1
- /* hash: onzmt */
1
+ /* hash: 1tyxn */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-bg-primary: #fff;
@@ -27,12 +27,12 @@
27
27
  /* checkmark */
28
28
 
29
29
  /* optgroup */
30
- } .select__footer_l8orr {
30
+ } .select__footer_4wfri {
31
31
  background: var(--color-light-bg-primary);
32
32
  padding: var(--gap-s);
33
33
  outline: none
34
- } .select__footer_l8orr > * + * {
34
+ } .select__footer_4wfri > * + * {
35
35
  margin-left: var(--gap-xs);
36
- } .select__withBorder_l8orr {
36
+ } .select__withBorder_4wfri {
37
37
  box-shadow: inset 0 1px 0 var(--color-light-border-secondary);
38
38
  }
@@ -1 +1 @@
1
- export * from "../../../Component-088caba2";
1
+ export * from "../../../Component-71240601";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var presets_useSelectWithApply_optionsListWithApply_Component = require('../../../Component-088caba2.js');
3
+ var presets_useSelectWithApply_optionsListWithApply_Component = require('../../../Component-71240601.js');
4
4
  require('tslib');
5
5
  require('react');
6
6
  require('../../../components/arrow/Component.js');
@@ -11,7 +11,7 @@ require('downshift');
11
11
  require('@alfalab/core-components-bottom-sheet');
12
12
  require('@alfalab/core-components-modal/mobile');
13
13
  require('../../../Component.js');
14
- require('../../../Component-ca307b80.js');
14
+ require('../../../Component-001db41f.js');
15
15
  require('@juggle/resize-observer');
16
16
  require('@alfalab/core-components-popover');
17
17
  require('@alfalab/hooks');
@@ -33,7 +33,7 @@ require('react-virtual');
33
33
  require('../../../components/base-option/Component.js');
34
34
  require('../../../components/base-checkmark/Component.js');
35
35
  require('@alfalab/core-components-skeleton');
36
- require('../../../intersection-observer-31caed5c.js');
36
+ require('../../../intersection-observer-dd747820.js');
37
37
  require('@alfalab/core-components-button');
38
38
  require('../../../components/base-select-mobile/options-list/Component.js');
39
39
  require('@alfalab/core-components-base-modal');
@@ -16,7 +16,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
16
16
 
17
17
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
18
18
 
19
- var styles = {"skeleton":"select__skeleton_1ed5p"};
19
+ var styles = {"skeleton":"select__skeleton_12h6e"};
20
20
  require('./index.css')
21
21
 
22
22
  function useSelectWithLoading(_a) {