@alfalab/core-components-select 15.3.0 → 16.0.1

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 (301) hide show
  1. package/Component.desktop.d.ts +3 -15
  2. package/Component.desktop.js +4 -2
  3. package/Component.mobile.d.ts +3 -39
  4. package/Component.mobile.js +23 -10
  5. package/Component.modal.mobile.d.ts +2 -256
  6. package/Component.modal.mobile.js +23 -35
  7. package/Component.responsive.d.ts +3 -17
  8. package/Component.responsive.js +11 -13
  9. package/components/arrow/Component.js +1 -1
  10. package/components/arrow/index.css +5 -5
  11. package/components/base-checkmark/Component.js +1 -1
  12. package/components/base-checkmark/index.css +4 -4
  13. package/components/base-option/Component.js +1 -1
  14. package/components/base-option/index.css +16 -16
  15. package/components/base-select/Component.d.ts +17 -2
  16. package/components/base-select/Component.js +188 -81
  17. package/components/base-select/index.css +12 -12
  18. package/components/base-select/index.js +1 -1
  19. package/{esm/components/base-select-mobile/index.css → components/base-select/mobile.css} +13 -22
  20. package/components/checkmark/Component.js +1 -1
  21. package/components/checkmark/index.css +11 -11
  22. package/components/checkmark-mobile/Component.js +1 -1
  23. package/components/checkmark-mobile/index.css +6 -6
  24. package/components/field/Component.js +1 -1
  25. package/components/field/index.css +15 -17
  26. package/components/footer/Component.d.ts +12 -0
  27. package/components/{base-select-mobile/footer → footer}/Component.js +6 -5
  28. package/components/{base-select-mobile/footer → footer}/index.css +6 -6
  29. package/components/footer/index.d.ts +1 -0
  30. package/components/{base-select-mobile/footer → footer}/index.js +3 -2
  31. package/components/index.js +2 -1
  32. package/components/optgroup/Component.js +1 -1
  33. package/components/optgroup/index.css +7 -7
  34. package/components/option/Component.js +1 -1
  35. package/components/option/index.css +24 -24
  36. package/components/options-list/Component.js +7 -3
  37. package/components/options-list/index.css +11 -11
  38. package/components/options-list/index.js +2 -1
  39. package/components/search/Component.d.ts +2 -4
  40. package/components/search/Component.js +1 -1
  41. package/components/search/index.css +2 -2
  42. package/components/virtual-options-list/Component.js +7 -3
  43. package/components/virtual-options-list/index.css +18 -18
  44. package/components/virtual-options-list/index.js +2 -1
  45. package/cssm/Component.desktop.d.ts +3 -15
  46. package/cssm/Component.desktop.js +5 -2
  47. package/cssm/Component.mobile.d.ts +3 -39
  48. package/cssm/Component.mobile.js +27 -13
  49. package/cssm/Component.modal.mobile.d.ts +2 -256
  50. package/cssm/Component.modal.mobile.js +28 -39
  51. package/cssm/Component.responsive.d.ts +3 -17
  52. package/cssm/Component.responsive.js +13 -15
  53. package/cssm/components/arrow/index.module.css +2 -2
  54. package/cssm/components/base-option/index.module.css +3 -3
  55. package/cssm/components/base-select/Component.d.ts +17 -2
  56. package/cssm/components/base-select/Component.js +186 -80
  57. package/cssm/components/base-select/index.js +2 -1
  58. package/cssm/components/base-select/index.module.css +2 -2
  59. package/cssm/components/{base-select-mobile/index.module.css → base-select/mobile.module.css} +0 -9
  60. package/cssm/components/checkmark/index.module.css +1 -1
  61. package/cssm/components/field/index.module.css +3 -5
  62. package/cssm/components/footer/Component.d.ts +12 -0
  63. package/cssm/components/{base-select-mobile/footer → footer}/Component.js +5 -4
  64. package/cssm/components/footer/index.d.ts +1 -0
  65. package/cssm/components/{base-select-mobile/footer → footer}/index.js +3 -2
  66. package/cssm/components/{base-select-mobile/footer → footer}/index.module.css +1 -1
  67. package/cssm/components/index.js +3 -1
  68. package/cssm/components/optgroup/index.module.css +1 -1
  69. package/cssm/components/option/index.module.css +4 -4
  70. package/cssm/components/options-list/Component.js +6 -2
  71. package/cssm/components/options-list/index.js +2 -1
  72. package/cssm/components/options-list/index.module.css +2 -2
  73. package/cssm/components/search/Component.d.ts +2 -4
  74. package/cssm/components/virtual-options-list/Component.js +6 -2
  75. package/cssm/components/virtual-options-list/index.js +2 -1
  76. package/cssm/components/virtual-options-list/index.module.css +3 -3
  77. package/cssm/desktop/index.d.ts +2 -2
  78. package/cssm/desktop/index.js +4 -1
  79. package/cssm/{hook-244c8d6e.js → hook-2f9ec939.js} +9 -5
  80. package/{esm/hook-8abfea97.d.ts → cssm/hook-ad89c253.d.ts} +3 -2
  81. package/cssm/index.d.ts +2 -2
  82. package/cssm/index.js +10 -9
  83. package/cssm/mobile/index.d.ts +1 -3
  84. package/cssm/mobile/index.js +15 -10
  85. package/cssm/presets/index.d.ts +1 -1
  86. package/cssm/presets/index.js +3 -2
  87. package/cssm/presets/useSelectWithApply/hook.js +3 -2
  88. package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.js +3 -2
  89. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  90. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.js +3 -2
  91. package/cssm/shared/index.d.ts +9 -2
  92. package/cssm/shared/index.js +50 -48
  93. package/cssm/typings.d.ts +86 -7
  94. package/desktop/index.d.ts +2 -2
  95. package/desktop/index.js +3 -1
  96. package/esm/Component.desktop.d.ts +3 -15
  97. package/esm/Component.desktop.js +4 -2
  98. package/esm/Component.mobile.d.ts +3 -39
  99. package/esm/Component.mobile.js +22 -9
  100. package/esm/Component.modal.mobile.d.ts +2 -256
  101. package/esm/Component.modal.mobile.js +24 -36
  102. package/esm/Component.responsive.d.ts +3 -17
  103. package/esm/Component.responsive.js +11 -13
  104. package/esm/components/arrow/Component.js +1 -1
  105. package/esm/components/arrow/index.css +5 -5
  106. package/esm/components/base-checkmark/Component.js +1 -1
  107. package/esm/components/base-checkmark/index.css +4 -4
  108. package/esm/components/base-option/Component.js +1 -1
  109. package/esm/components/base-option/index.css +16 -16
  110. package/esm/components/base-select/Component.d.ts +17 -2
  111. package/esm/components/base-select/Component.js +190 -83
  112. package/esm/components/base-select/index.css +12 -12
  113. package/esm/components/base-select/index.js +1 -1
  114. package/{modern/components/base-select-mobile/index.css → esm/components/base-select/mobile.css} +13 -22
  115. package/esm/components/checkmark/Component.js +1 -1
  116. package/esm/components/checkmark/index.css +11 -11
  117. package/esm/components/checkmark-mobile/Component.js +1 -1
  118. package/esm/components/checkmark-mobile/index.css +6 -6
  119. package/esm/components/field/Component.js +1 -1
  120. package/esm/components/field/index.css +15 -17
  121. package/esm/components/footer/Component.d.ts +12 -0
  122. package/esm/components/{base-select-mobile/footer → footer}/Component.js +6 -5
  123. package/esm/components/{base-select-mobile/footer → footer}/index.css +6 -6
  124. package/esm/components/footer/index.d.ts +1 -0
  125. package/esm/components/{base-select-mobile/footer → footer}/index.js +1 -0
  126. package/esm/components/index.js +2 -1
  127. package/esm/components/optgroup/Component.js +1 -1
  128. package/esm/components/optgroup/index.css +7 -7
  129. package/esm/components/option/Component.js +1 -1
  130. package/esm/components/option/index.css +24 -24
  131. package/esm/components/options-list/Component.js +7 -3
  132. package/esm/components/options-list/index.css +11 -11
  133. package/esm/components/options-list/index.js +2 -1
  134. package/esm/components/search/Component.d.ts +2 -4
  135. package/esm/components/search/Component.js +1 -1
  136. package/esm/components/search/index.css +2 -2
  137. package/esm/components/virtual-options-list/Component.js +7 -3
  138. package/esm/components/virtual-options-list/index.css +18 -18
  139. package/esm/components/virtual-options-list/index.js +2 -1
  140. package/esm/desktop/index.d.ts +2 -2
  141. package/esm/desktop/index.js +3 -1
  142. package/{hook-8abfea97.d.ts → esm/hook-ad89c253.d.ts} +3 -2
  143. package/esm/{hook-70d58270.js → hook-d82699d1.js} +10 -6
  144. package/esm/index.d.ts +2 -2
  145. package/esm/index.js +8 -7
  146. package/esm/mobile/index.d.ts +1 -3
  147. package/esm/mobile/index.js +12 -8
  148. package/esm/presets/index.d.ts +1 -1
  149. package/esm/presets/index.js +3 -2
  150. package/esm/presets/useSelectWithApply/hook.js +3 -2
  151. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +3 -2
  152. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  153. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  154. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  155. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  156. package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  157. package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +3 -2
  158. package/esm/presets/useSelectWithLoading/hook.js +1 -1
  159. package/esm/presets/useSelectWithLoading/index.css +2 -2
  160. package/esm/shared/index.d.ts +9 -2
  161. package/esm/shared/index.js +30 -29
  162. package/esm/typings.d.ts +86 -7
  163. package/{cssm/hook-8abfea97.d.ts → hook-ad89c253.d.ts} +3 -2
  164. package/{hook-0a5c9f56.js → hook-df30325f.js} +9 -5
  165. package/index.d.ts +2 -2
  166. package/index.js +8 -7
  167. package/mobile/index.d.ts +1 -3
  168. package/mobile/index.js +12 -8
  169. package/modern/Component.desktop.d.ts +3 -15
  170. package/modern/Component.desktop.js +5 -3
  171. package/modern/Component.mobile.d.ts +3 -39
  172. package/modern/Component.mobile.js +29 -13
  173. package/modern/Component.modal.mobile.d.ts +2 -256
  174. package/modern/Component.modal.mobile.js +23 -43
  175. package/modern/Component.responsive.d.ts +3 -17
  176. package/modern/Component.responsive.js +11 -13
  177. package/modern/components/arrow/Component.js +1 -1
  178. package/modern/components/arrow/index.css +5 -5
  179. package/modern/components/base-checkmark/Component.js +1 -1
  180. package/modern/components/base-checkmark/index.css +4 -4
  181. package/modern/components/base-option/Component.js +1 -1
  182. package/modern/components/base-option/index.css +16 -16
  183. package/modern/components/base-select/Component.d.ts +17 -2
  184. package/modern/components/base-select/Component.js +179 -72
  185. package/modern/components/base-select/index.css +12 -12
  186. package/modern/components/base-select/index.js +1 -1
  187. package/{components/base-select-mobile/index.css → modern/components/base-select/mobile.css} +13 -22
  188. package/modern/components/checkmark/Component.js +1 -1
  189. package/modern/components/checkmark/index.css +11 -11
  190. package/modern/components/checkmark-mobile/Component.js +1 -1
  191. package/modern/components/checkmark-mobile/index.css +6 -6
  192. package/modern/components/field/Component.js +1 -1
  193. package/modern/components/field/index.css +15 -17
  194. package/modern/components/footer/Component.d.ts +12 -0
  195. package/modern/components/{base-select-mobile/footer → footer}/Component.js +5 -4
  196. package/modern/components/{base-select-mobile/footer → footer}/index.css +6 -6
  197. package/modern/components/footer/index.d.ts +1 -0
  198. package/modern/components/{base-select-mobile/footer → footer}/index.js +1 -0
  199. package/modern/components/index.js +2 -1
  200. package/modern/components/optgroup/Component.js +1 -1
  201. package/modern/components/optgroup/index.css +7 -7
  202. package/modern/components/option/Component.js +1 -1
  203. package/modern/components/option/index.css +24 -24
  204. package/modern/components/options-list/Component.js +5 -3
  205. package/modern/components/options-list/index.css +11 -11
  206. package/modern/components/options-list/index.js +2 -1
  207. package/modern/components/search/Component.d.ts +2 -4
  208. package/modern/components/search/Component.js +1 -1
  209. package/modern/components/search/index.css +2 -2
  210. package/modern/components/virtual-options-list/Component.js +5 -3
  211. package/modern/components/virtual-options-list/index.css +18 -18
  212. package/modern/components/virtual-options-list/index.js +2 -1
  213. package/modern/desktop/index.d.ts +2 -2
  214. package/modern/desktop/index.js +3 -1
  215. package/modern/{hook-8abfea97.d.ts → hook-ad89c253.d.ts} +3 -2
  216. package/modern/{hook-4eceefed.js → hook-d879e08e.js} +7 -3
  217. package/modern/index.d.ts +2 -2
  218. package/modern/index.js +8 -7
  219. package/modern/mobile/index.d.ts +1 -3
  220. package/modern/mobile/index.js +12 -8
  221. package/modern/presets/index.d.ts +1 -1
  222. package/modern/presets/index.js +3 -2
  223. package/modern/presets/useSelectWithApply/hook.js +3 -2
  224. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +3 -2
  225. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  226. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  227. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  228. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  229. package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  230. package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +3 -2
  231. package/modern/presets/useSelectWithLoading/hook.js +1 -1
  232. package/modern/presets/useSelectWithLoading/index.css +2 -2
  233. package/modern/shared/index.d.ts +9 -2
  234. package/modern/shared/index.js +29 -28
  235. package/modern/typings.d.ts +86 -7
  236. package/package.json +13 -11
  237. package/presets/index.d.ts +1 -1
  238. package/presets/index.js +3 -2
  239. package/presets/useSelectWithApply/hook.js +3 -2
  240. package/presets/useSelectWithApply/options-list-with-apply/Component.js +3 -2
  241. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  242. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  243. package/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  244. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  245. package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  246. package/presets/useSelectWithApply/options-list-with-apply/index.js +3 -2
  247. package/presets/useSelectWithLoading/hook.js +1 -1
  248. package/presets/useSelectWithLoading/index.css +2 -2
  249. package/shared/index.d.ts +9 -2
  250. package/shared/index.js +39 -38
  251. package/src/Component.desktop.tsx +5 -14
  252. package/src/Component.mobile.tsx +38 -57
  253. package/src/Component.modal.mobile.tsx +5 -147
  254. package/src/Component.responsive.tsx +9 -44
  255. package/src/components/base-select/Component.tsx +380 -156
  256. package/src/components/base-select/index.module.css +1 -1
  257. package/src/components/{base-select-mobile/index.module.css → base-select/mobile.module.css} +0 -15
  258. package/src/components/{base-select-mobile/footer → footer}/Component.tsx +22 -4
  259. package/src/components/{base-select-mobile/footer → footer}/index.module.css +1 -1
  260. package/src/components/footer/index.ts +1 -0
  261. package/src/components/options-list/Component.tsx +6 -2
  262. package/src/components/virtual-options-list/Component.tsx +6 -2
  263. package/src/desktop/index.ts +2 -1
  264. package/src/index.ts +2 -4
  265. package/src/mobile/index.ts +1 -2
  266. package/src/presets/useSelectWithApply/hook.tsx +9 -3
  267. package/src/shared/index.ts +10 -2
  268. package/src/typings.ts +110 -9
  269. package/src/vars.css +1 -1
  270. package/typings.d.ts +86 -7
  271. package/components/base-select-mobile/Component.d.ts +0 -71
  272. package/components/base-select-mobile/Component.js +0 -296
  273. package/components/base-select-mobile/footer/Component.d.ts +0 -9
  274. package/components/base-select-mobile/footer/index.d.ts +0 -1
  275. package/components/base-select-mobile/index.d.ts +0 -1
  276. package/components/base-select-mobile/index.js +0 -36
  277. package/cssm/components/base-select-mobile/Component.d.ts +0 -71
  278. package/cssm/components/base-select-mobile/Component.js +0 -303
  279. package/cssm/components/base-select-mobile/footer/Component.d.ts +0 -9
  280. package/cssm/components/base-select-mobile/footer/index.d.ts +0 -1
  281. package/cssm/components/base-select-mobile/index.d.ts +0 -1
  282. package/cssm/components/base-select-mobile/index.js +0 -45
  283. package/esm/components/base-select-mobile/Component.d.ts +0 -71
  284. package/esm/components/base-select-mobile/Component.js +0 -286
  285. package/esm/components/base-select-mobile/footer/Component.d.ts +0 -9
  286. package/esm/components/base-select-mobile/footer/index.d.ts +0 -1
  287. package/esm/components/base-select-mobile/index.d.ts +0 -1
  288. package/esm/components/base-select-mobile/index.js +0 -28
  289. package/modern/components/base-select-mobile/Component.d.ts +0 -71
  290. package/modern/components/base-select-mobile/Component.js +0 -285
  291. package/modern/components/base-select-mobile/footer/Component.d.ts +0 -9
  292. package/modern/components/base-select-mobile/footer/index.d.ts +0 -1
  293. package/modern/components/base-select-mobile/index.d.ts +0 -1
  294. package/modern/components/base-select-mobile/index.js +0 -27
  295. package/src/components/base-select-mobile/Component.tsx +0 -572
  296. package/src/components/base-select-mobile/footer/index.ts +0 -1
  297. package/src/components/base-select-mobile/index.ts +0 -1
  298. /package/cssm/{hook-244c8d6e.d.ts → hook-2f9ec939.d.ts} +0 -0
  299. /package/esm/{hook-70d58270.d.ts → hook-d82699d1.d.ts} +0 -0
  300. /package/{hook-0a5c9f56.d.ts → hook-df30325f.d.ts} +0 -0
  301. /package/modern/{hook-4eceefed.d.ts → hook-d879e08e.d.ts} +0 -0
@@ -1,18 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { FormControlDesktopProps } from "@alfalab/core-components-form-control/desktop";
4
- import { BaseSelectProps } from "./typings";
5
- type SelectFieldProps = Omit<FormControlDesktopProps, 'size'> & Record<string, unknown>;
6
- type SelectDesktopProps = Omit<BaseSelectProps, 'fieldProps'> & {
7
- /**
8
- * Пропсы, которые будут прокинуты в компонент поля
9
- */
10
- fieldProps?: SelectFieldProps;
11
- };
12
- declare const SelectDesktop: React.ForwardRefExoticComponent<Omit<BaseSelectProps, "fieldProps"> & {
13
- /**
14
- * Пропсы, которые будут прокинуты в компонент поля
15
- */
16
- fieldProps?: SelectFieldProps | undefined;
3
+ declare const SelectDesktop: React.ForwardRefExoticComponent<Omit<import("./typings").BaseSelectProps, "fieldProps"> & {
4
+ fieldProps?: import("./typings").SelectFieldProps | undefined;
17
5
  } & React.RefAttributes<HTMLDivElement>>;
18
- export { SelectFieldProps, SelectDesktopProps, SelectDesktop };
6
+ export { SelectDesktop };
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var tslib = require('tslib');
6
6
  var React = require('react');
7
7
  var desktop = require('@alfalab/core-components-form-control/desktop');
8
+ var coreComponentsPopover = require('@alfalab/core-components-popover');
8
9
  var components_arrow_Component = require('./components/arrow/Component.js');
9
10
  var components_baseSelect_Component = require('./components/base-select/Component.js');
10
11
  var components_field_Component = require('./components/field/Component.js');
@@ -16,8 +17,8 @@ require('classnames');
16
17
  require('@alfalab/icons-glyph/ChevronDownMIcon');
17
18
  require('react-merge-refs');
18
19
  require('@juggle/resize-observer');
20
+ require('compute-scroll-into-view');
19
21
  require('downshift');
20
- require('@alfalab/core-components-popover');
21
22
  require('@alfalab/core-components-shared');
22
23
  require('@alfalab/hooks');
23
24
  require('./utils.js');
@@ -28,6 +29,7 @@ require('@alfalab/core-components-checkbox');
28
29
  require('@alfalab/icons-glyph/CheckmarkCircleMIcon');
29
30
  require('@alfalab/icons-glyph/CheckmarkMIcon');
30
31
  require('./components/checkmark-mobile/Component.js');
32
+ require('@alfalab/core-components-mq');
31
33
  require('@alfalab/core-components-scrollbar');
32
34
  require('./consts.js');
33
35
  require('@alfalab/core-components-input');
@@ -39,7 +41,7 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
39
41
 
40
42
  var SelectDesktop = React.forwardRef(function (_a, ref) {
41
43
  var _b = _a.Arrow, Arrow = _b === void 0 ? components_arrow_Component.Arrow : _b, _c = _a.Field, Field = _c === void 0 ? components_field_Component.Field : _c, _d = _a.OptionsList, OptionsList = _d === void 0 ? components_optionsList_Component.OptionsList : _d, _e = _a.Optgroup, Optgroup = _e === void 0 ? components_optgroup_Component.Optgroup : _e, _f = _a.Option, Option = _f === void 0 ? components_option_Component.Option : _f, _g = _a.Search, Search = _g === void 0 ? components_search_Component.Search : _g, _h = _a.fieldProps, fieldProps = _h === void 0 ? {} : _h, restProps = tslib.__rest(_a, ["Arrow", "Field", "OptionsList", "Optgroup", "Option", "Search", "fieldProps"]);
42
- return (React__default.default.createElement(components_baseSelect_Component.BaseSelect, tslib.__assign({ ref: ref, Option: Option, Field: Field, fieldProps: tslib.__assign({ FormControlComponent: desktop.FormControlDesktop }, fieldProps), Search: Search, Optgroup: Optgroup, OptionsList: OptionsList, Arrow: Arrow }, restProps)));
44
+ return (React__default.default.createElement(components_baseSelect_Component.BaseSelect, tslib.__assign({ ref: ref, view: 'desktop', Option: Option, Field: Field, fieldProps: tslib.__assign({ FormControlComponent: desktop.FormControlDesktop }, fieldProps), Search: Search, Optgroup: Optgroup, OptionsList: OptionsList, Arrow: Arrow, Popover: coreComponentsPopover.Popover }, restProps)));
43
45
  });
44
46
 
45
47
  exports.SelectDesktop = SelectDesktop;
@@ -1,41 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { ReactNode } from "react";
4
- import { BottomSheetProps } from "@alfalab/core-components-bottom-sheet";
5
- import { UseSelectWithApplyProps } from "./hook-8abfea97";
6
- import { BaseSelectProps } from "./typings";
7
- type AdditionalMobileProps = {
8
- /**
9
- * Футер
10
- * @deprecated Используйте bottomSheetProps.actionButton
11
- */
12
- footer?: ReactNode;
13
- /**
14
- * Будет ли свайпаться шторка
15
- * @deprecated Используйте bottomSheetProps.swipeable
16
- */
17
- swipeable?: boolean;
18
- /**
19
- * Дополнительные пропсы шторки
20
- */
21
- bottomSheetProps?: Partial<BottomSheetProps>;
22
- /**
23
- * Показывать кнопку очистки
24
- */
25
- showClear?: UseSelectWithApplyProps['showClear'];
26
- /**
27
- * Показывать пункт "Выбрать все"
28
- */
29
- showSelectAll?: UseSelectWithApplyProps['showSelectAll'];
30
- /**
31
- * Показывать пункт "Выбрать все" в заголовке списка
32
- */
33
- showHeaderWithSelectAll?: UseSelectWithApplyProps['showHeaderWithSelectAll'];
34
- /**
35
- * Использовать ли хук useSelectWithApply
36
- */
37
- useWithApplyHook?: boolean;
38
- };
39
- type SelectMobileProps = Omit<BaseSelectProps, 'Checkmark' | 'onScroll'> & AdditionalMobileProps;
40
- declare const SelectMobile: React.ForwardRefExoticComponent<Omit<BaseSelectProps, "onScroll" | "Checkmark"> & AdditionalMobileProps & React.RefAttributes<unknown>>;
41
- export { AdditionalMobileProps, SelectMobileProps, SelectMobile };
3
+ import { SelectMobileProps } from "./typings";
4
+ declare const SelectMobile: React.ForwardRefExoticComponent<SelectMobileProps & React.RefAttributes<unknown>>;
5
+ export { SelectMobile };
@@ -4,35 +4,39 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
6
  var React = require('react');
7
+ var coreComponentsBottomSheet = require('@alfalab/core-components-bottom-sheet');
7
8
  var mobile = require('@alfalab/core-components-form-control/mobile');
9
+ var Component_mobile = require('@alfalab/core-components-modal/Component.mobile');
8
10
  var components_arrow_Component = require('./components/arrow/Component.js');
9
- var components_baseSelectMobile_Component = require('./components/base-select-mobile/Component.js');
10
- var components_baseSelectMobile_footer_Component = require('./components/base-select-mobile/footer/Component.js');
11
+ var components_baseSelect_Component = require('./components/base-select/Component.js');
11
12
  var components_field_Component = require('./components/field/Component.js');
13
+ var components_footer_Component = require('./components/footer/Component.js');
12
14
  var components_optgroup_Component = require('./components/optgroup/Component.js');
13
15
  var components_option_Component = require('./components/option/Component.js');
14
16
  var components_optionsList_Component = require('./components/options-list/Component.js');
15
17
  var components_search_Component = require('./components/search/Component.js');
16
18
  var components_virtualOptionsList_Component = require('./components/virtual-options-list/Component.js');
17
- var presets_useSelectWithApply_optionsListWithApply_Component = require('./hook-0a5c9f56.js');
19
+ var presets_useSelectWithApply_optionsListWithApply_Component = require('./hook-df30325f.js');
18
20
  var presets_useSelectWithApply_optionsListWithApply_header_Component = require('./presets/useSelectWithApply/options-list-with-apply/header/Component.js');
19
21
  require('classnames');
20
22
  require('@alfalab/icons-glyph/ChevronDownMIcon');
21
23
  require('react-merge-refs');
24
+ require('@juggle/resize-observer');
25
+ require('compute-scroll-into-view');
22
26
  require('downshift');
23
- require('@alfalab/core-components-bottom-sheet');
24
- require('@alfalab/core-components-modal/mobile');
25
27
  require('@alfalab/core-components-shared');
28
+ require('@alfalab/hooks');
26
29
  require('./utils.js');
30
+ require('./components/native-select/Component.js');
27
31
  require('@alfalab/core-components-base-modal');
28
32
  require('@alfalab/core-components-button/mobile');
29
- require('@alfalab/hooks');
30
33
  require('./components/checkmark/Component.js');
31
34
  require('@alfalab/core-components-badge');
32
35
  require('@alfalab/core-components-checkbox');
33
36
  require('@alfalab/icons-glyph/CheckmarkCircleMIcon');
34
37
  require('@alfalab/icons-glyph/CheckmarkMIcon');
35
38
  require('./components/checkmark-mobile/Component.js');
39
+ require('@alfalab/core-components-mq');
36
40
  require('@alfalab/core-components-scrollbar');
37
41
  require('./consts.js');
38
42
  require('@alfalab/core-components-input');
@@ -47,11 +51,13 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
47
51
 
48
52
  var VIRTUAL_OPTIONS_LIST_THRESHOLD = 30;
49
53
  var SelectMobile = React.forwardRef(function (_a, ref) {
50
- var _b = _a.autocomplete, autocomplete = _b === void 0 ? false : _b, _c = _a.multiple, multiple = _c === void 0 ? false : _c, _d = _a.allowUnselect, allowUnselect = _d === void 0 ? false : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.closeOnSelect, closeOnSelect = _f === void 0 ? !multiple : _f, _g = _a.circularNavigation, circularNavigation = _g === void 0 ? false : _g, _h = _a.defaultOpen, defaultOpen = _h === void 0 ? false : _h, openProp = _a.open, _j = _a.size, size = _j === void 0 ? 'm' : _j, _k = _a.optionsSize, optionsSize = _k === void 0 ? 'm' : _k, _l = _a.fieldProps, fieldProps = _l === void 0 ? {} : _l, _m = _a.optionProps, optionProps = _m === void 0 ? {} : _m, _o = _a.optionsListProps, optionsListProps = _o === void 0 ? {} : _o, _p = _a.Arrow, Arrow = _p === void 0 ? components_arrow_Component.Arrow : _p, _q = _a.Field, Field = _q === void 0 ? components_field_Component.Field : _q, _r = _a.Optgroup, Optgroup = _r === void 0 ? components_optgroup_Component.Optgroup : _r, _s = _a.Option, Option = _s === void 0 ? components_option_Component.Option : _s, _t = _a.Search, Search = _t === void 0 ? components_search_Component.Search : _t, selected = _a.selected, options = _a.options, _u = _a.OptionsList, OptionsList = _u === void 0 ? options.length > VIRTUAL_OPTIONS_LIST_THRESHOLD
54
+ var _b = _a.autocomplete, autocomplete = _b === void 0 ? false : _b, _c = _a.multiple, multiple = _c === void 0 ? false : _c, _d = _a.allowUnselect, allowUnselect = _d === void 0 ? false : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.closeOnSelect, closeOnSelect = _f === void 0 ? !multiple : _f, _g = _a.circularNavigation, circularNavigation = _g === void 0 ? false : _g, _h = _a.defaultOpen, defaultOpen = _h === void 0 ? false : _h, openProp = _a.open, _j = _a.size, size = _j === void 0 ? 'm' : _j, _k = _a.optionsSize, optionsSize = _k === void 0 ? 'm' : _k, _l = _a.fieldProps, fieldProps = _l === void 0 ? {} : _l, _m = _a.optionProps, optionProps = _m === void 0 ? {} : _m, _o = _a.optionsListProps, optionsListProps = _o === void 0 ? {} : _o, _p = _a.Arrow, Arrow = _p === void 0 ? components_arrow_Component.Arrow : _p, _q = _a.Field, Field = _q === void 0 ? components_field_Component.Field : _q, _r = _a.Optgroup, Optgroup = _r === void 0 ? components_optgroup_Component.Optgroup : _r, _s = _a.Option, Option = _s === void 0 ? components_option_Component.Option : _s, _t = _a.Search, Search = _t === void 0 ? components_search_Component.Search : _t, selected = _a.selected, _u = _a.isBottomSheet, isBottomSheet = _u === void 0 ? true : _u, options = _a.options, _v = _a.OptionsList, OptionsList = _v === void 0 ? options.length > VIRTUAL_OPTIONS_LIST_THRESHOLD
51
55
  ? components_virtualOptionsList_Component.VirtualOptionsList
52
- : components_optionsList_Component.OptionsList : _u, onChange = _a.onChange, bottomSheetProps = _a.bottomSheetProps, _v = _a.showClear, showClear = _v === void 0 ? true : _v, showSelectAll = _a.showSelectAll, showHeaderWithSelectAll = _a.showHeaderWithSelectAll, _w = _a.useWithApplyHook, useWithApplyHook = _w === void 0 ? multiple : _w, showSearch = _a.showSearch, searchProps = _a.searchProps, restProps = tslib.__rest(_a, ["autocomplete", "multiple", "allowUnselect", "disabled", "closeOnSelect", "circularNavigation", "defaultOpen", "open", "size", "optionsSize", "fieldProps", "optionProps", "optionsListProps", "Arrow", "Field", "Optgroup", "Option", "Search", "selected", "options", "OptionsList", "onChange", "bottomSheetProps", "showClear", "showSelectAll", "showHeaderWithSelectAll", "useWithApplyHook", "showSearch", "searchProps"]);
56
+ : components_optionsList_Component.OptionsList : _v, onChange = _a.onChange, _w = _a.showClear, showClear = _w === void 0 ? true : _w, showSelectAll = _a.showSelectAll, showHeaderWithSelectAll = _a.showHeaderWithSelectAll, _x = _a.useWithApplyHook, useWithApplyHook = _x === void 0 ? multiple : _x, showSearch = _a.showSearch, searchProps = _a.searchProps, restProps = tslib.__rest(_a, ["autocomplete", "multiple", "allowUnselect", "disabled", "closeOnSelect", "circularNavigation", "defaultOpen", "open", "size", "optionsSize", "fieldProps", "optionProps", "optionsListProps", "Arrow", "Field", "Optgroup", "Option", "Search", "selected", "isBottomSheet", "options", "OptionsList", "onChange", "showClear", "showSelectAll", "showHeaderWithSelectAll", "useWithApplyHook", "showSearch", "searchProps"]);
57
+ var typedRestBottomSheetProps = restProps;
58
+ var typedRestModalProps = restProps;
53
59
  var applyProps = presets_useSelectWithApply_optionsListWithApply_Component.useSelectWithApply({
54
- optionsListProps: tslib.__assign(tslib.__assign({}, optionsListProps), { Footer: components_baseSelectMobile_footer_Component.Footer }),
60
+ optionsListProps: tslib.__assign(tslib.__assign({}, optionsListProps), { Footer: components_footer_Component.Footer }),
55
61
  OptionsList: OptionsList,
56
62
  showSearch: showSearch,
57
63
  searchProps: searchProps,
@@ -61,7 +67,14 @@ var SelectMobile = React.forwardRef(function (_a, ref) {
61
67
  showClear: showClear,
62
68
  showSelectAll: showSelectAll,
63
69
  });
64
- return (React__default.default.createElement(components_baseSelectMobile_Component.BaseSelectMobile, tslib.__assign({ ref: ref, autocomplete: autocomplete, multiple: multiple, allowUnselect: allowUnselect, disabled: disabled, closeOnSelect: closeOnSelect, circularNavigation: circularNavigation, defaultOpen: defaultOpen, open: openProp, size: size, optionsSize: optionsSize, fieldProps: tslib.__assign({ FormControlComponent: mobile.FormControlMobile }, fieldProps), optionProps: optionProps, Arrow: Arrow, Field: Field, Optgroup: Optgroup, Option: Option, Search: Search, isBottomSheet: true, options: options, selected: selected, onChange: onChange, OptionsList: OptionsList, showSearch: showSearch, searchProps: searchProps, bottomSheetProps: tslib.__assign({ bottomAddons: useWithApplyHook && showHeaderWithSelectAll && (React__default.default.createElement(presets_useSelectWithApply_optionsListWithApply_header_Component.Header, tslib.__assign({}, applyProps.optionsListProps.headerProps, { mobile: true }))) }, bottomSheetProps), optionsListProps: optionsListProps }, restProps, (useWithApplyHook && applyProps))));
70
+ var bottomAddons = useWithApplyHook && showHeaderWithSelectAll && (React__default.default.createElement(presets_useSelectWithApply_optionsListWithApply_header_Component.Header, tslib.__assign({}, applyProps.optionsListProps.headerProps, { mobile: true })));
71
+ return (React__default.default.createElement(components_baseSelect_Component.BaseSelect, tslib.__assign({ ref: ref, view: 'mobile', autocomplete: autocomplete, multiple: multiple, allowUnselect: allowUnselect, disabled: disabled, closeOnSelect: closeOnSelect, circularNavigation: circularNavigation, defaultOpen: defaultOpen, open: openProp, size: size, optionsSize: optionsSize, fieldProps: tslib.__assign({ FormControlComponent: mobile.FormControlMobile }, fieldProps), optionProps: optionProps, Arrow: Arrow, Field: Field, Optgroup: Optgroup, Option: Option, Search: Search, isBottomSheet: isBottomSheet, options: options, selected: selected, onChange: onChange, OptionsList: OptionsList, showSearch: showSearch, searchProps: searchProps, BottomSheet: coreComponentsBottomSheet.BottomSheet, ModalMobile: Component_mobile.ModalMobile }, (isBottomSheet
72
+ ? {
73
+ bottomSheetProps: tslib.__assign({ bottomAddons: bottomAddons }, typedRestBottomSheetProps.bottomSheetProps),
74
+ }
75
+ : {
76
+ modalHeaderProps: tslib.__assign({ bottomAddons: bottomAddons }, typedRestModalProps.modalHeaderProps),
77
+ }), { optionsListProps: optionsListProps }, restProps, (useWithApplyHook && applyProps))));
65
78
  });
66
79
 
67
80
  exports.SelectMobile = SelectMobile;
@@ -1,258 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { ReactNode, ButtonHTMLAttributes, ElementType } from "react";
4
- import { BaseModalProps } from "@alfalab/core-components-base-modal";
5
- import { UseSelectWithApplyProps } from "./hook-8abfea97";
6
- import { BaseSelectProps } from "./typings";
7
- type ModalDesktopProps = BaseModalProps & {
8
- /**
9
- * Ширина модального окна
10
- * @default "m"
11
- */
12
- size?: "s" | "m" | "l" | "xl" | "fullscreen";
13
- /**
14
- * Растягивает модальное окно на весь экран
15
- * @deprecated Используйте размер fullscreen
16
- */
17
- fullscreen?: boolean;
18
- /**
19
- * Фиксирует позицию модального окна после открытия,
20
- * предотвращая скачки, если контент внутри будет меняться
21
- */
22
- fixedPosition?: boolean;
23
- /**
24
- * Управление наличием закрывающего крестика
25
- * @default false
26
- */
27
- hasCloser?: boolean;
28
- };
29
- type ModalMobileProps = Omit<ModalDesktopProps, "size" | "fixedPosition" | "fullscreen">;
30
- type ContentProps = {
31
- /**
32
- * Контент
33
- */
34
- children?: ReactNode;
35
- /**
36
- * Дополнительный класс
37
- */
38
- className?: string;
39
- /**
40
- * Растягивает контент на всю высоту
41
- */
42
- flex?: boolean;
43
- };
44
- interface CloserProps extends ButtonHTMLAttributes<HTMLButtonElement> {
45
- /**
46
- * Вид компонента
47
- */
48
- view: "desktop" | "mobile";
49
- /**
50
- * Дополнительный класс
51
- */
52
- className?: string;
53
- /**
54
- * Позиция крестика
55
- */
56
- align?: "left" | "right";
57
- /**
58
- * Фиксирует крестик
59
- */
60
- sticky?: boolean;
61
- /**
62
- * Иконка
63
- */
64
- icon?: ElementType;
65
- /**
66
- * Идентификатор для систем автоматизированного тестирования
67
- */
68
- dataTestId?: string;
69
- /**
70
- * Коллбэк закрытия.
71
- */
72
- onClose?: (event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, reason?: "backdropClick" | "escapeKeyDown" | "closerClick") => void;
73
- }
74
- type NavigationBarProps = {
75
- /**
76
- * Контент шапки
77
- */
78
- children?: ReactNode;
79
- /**
80
- * Заголовок шапки
81
- */
82
- title?: string;
83
- /**
84
- * Подзаголовок (доступен только в мобильной версии)
85
- */
86
- subtitle?: ReactNode;
87
- /**
88
- * Размер заголовка (compact доступен только в мобильной версии)
89
- */
90
- titleSize?: "default" | "compact";
91
- /**
92
- * Доп. класс для аддонов
93
- */
94
- addonClassName?: string;
95
- /**
96
- * Слот слева
97
- */
98
- leftAddons?: ReactNode;
99
- /**
100
- * Слот справа
101
- */
102
- rightAddons?: ReactNode;
103
- /**
104
- * Дополнительный класс для closer
105
- */
106
- closerClassName?: string;
107
- /**
108
- * Слот снизу
109
- */
110
- bottomAddons?: ReactNode;
111
- /**
112
- * Наличие компонента крестика
113
- */
114
- hasCloser?: boolean;
115
- /**
116
- * Наличие кнопки "Назад"
117
- */
118
- hasBackButton?: boolean;
119
- /**
120
- * Дополнительный класс для правого аддона
121
- */
122
- backButtonClassName?: string;
123
- /**
124
- * Дополнительный класс
125
- */
126
- className?: string;
127
- /**
128
- * Дополнительный класс для контента
129
- */
130
- contentClassName?: string;
131
- /**
132
- * Дополнительный класс для нижнего аддона
133
- */
134
- bottomAddonsClassName?: string;
135
- /**
136
- * Выравнивание заголовка
137
- */
138
- align?: "left" | "center";
139
- /**
140
- * Обрезать ли заголовок
141
- */
142
- trim?: boolean;
143
- /**
144
- * Фиксирует шапку
145
- */
146
- sticky?: boolean;
147
- /**
148
- * Идентификатор для систем автоматизированного тестирования
149
- */
150
- dataTestId?: string;
151
- /**
152
- * Фоновое изображение
153
- */
154
- imageUrl?: string;
155
- /**
156
- * Иконка closer.
157
- */
158
- closerIcon?: React.ElementType;
159
- /**
160
- * Обработчик закрытия
161
- */
162
- onClose?: CloserProps["onClose"];
163
- /**
164
- * обработчик клика по кнопке "назад"
165
- */
166
- onBack?: () => void;
167
- /**
168
- * Вид шапки - мобильный или десктоп
169
- */
170
- view: "desktop" | "mobile";
171
- /**
172
- * Ссылка на родительскую ноду overflow: auto
173
- */
174
- scrollableParentRef?: React.RefObject<HTMLDivElement>;
175
- };
176
- type HeaderProps = Omit<NavigationBarProps, "size" | "view" | "parentRef">;
177
- type FooterProps = {
178
- /**
179
- * Контент футера
180
- */
181
- children?: ReactNode;
182
- /**
183
- * Дополнительный класс
184
- */
185
- className?: string;
186
- /**
187
- * Фиксирует футер
188
- */
189
- sticky?: boolean;
190
- /**
191
- * Выравнивание элементов футера
192
- */
193
- layout?: "start" | "center" | "space-between" | "column";
194
- /**
195
- * Отступы между элементами футера
196
- */
197
- gap?: 16 | 24 | 32;
198
- };
199
- declare const ModalMobile: React.ForwardRefExoticComponent<ModalMobileProps & React.RefAttributes<HTMLDivElement>> & {
200
- Content: React.FC<ContentProps>;
201
- Header: React.FC<HeaderProps>;
202
- Footer: React.FC<FooterProps>;
203
- };
204
- type SelectModalMobileProps = Omit<BaseSelectProps, 'Checkmark' | 'onScroll'> & {
205
- /**
206
- * Показывать кнопку очистки
207
- */
208
- showClear?: UseSelectWithApplyProps['showClear'];
209
- /**
210
- * Показывать пункт "Выбрать все"
211
- */
212
- showSelectAll?: UseSelectWithApplyProps['showSelectAll'];
213
- /**
214
- * Дополнительные пропсы шапки модалки
215
- */
216
- modalHeaderProps?: Partial<React.ComponentProps<typeof ModalMobile.Header>>;
217
- /**
218
- * Дополнительные пропсы модалки
219
- */
220
- modalProps?: Partial<React.ComponentProps<typeof ModalMobile>>;
221
- /**
222
- * Дополнительные пропсы футера модалки
223
- */
224
- modalFooterProps?: Partial<React.ComponentProps<typeof ModalMobile.Footer>>;
225
- showHeaderWithSelectAll?: UseSelectWithApplyProps['showHeaderWithSelectAll'];
226
- /**
227
- * Использовать ли хук useSelectWithApply
228
- */
229
- useWithApplyHook?: boolean;
230
- };
231
- declare const SelectModalMobile: React.ForwardRefExoticComponent<Omit<BaseSelectProps, "onScroll" | "Checkmark"> & {
232
- /**
233
- * Показывать кнопку очистки
234
- */
235
- showClear?: UseSelectWithApplyProps['showClear'];
236
- /**
237
- * Показывать пункт "Выбрать все"
238
- */
239
- showSelectAll?: UseSelectWithApplyProps['showSelectAll'];
240
- /**
241
- * Дополнительные пропсы шапки модалки
242
- */
243
- modalHeaderProps?: Partial<HeaderProps> | undefined;
244
- /**
245
- * Дополнительные пропсы модалки
246
- */
247
- modalProps?: Partial<ModalMobileProps & React.RefAttributes<HTMLDivElement>> | undefined;
248
- /**
249
- * Дополнительные пропсы футера модалки
250
- */
251
- modalFooterProps?: Partial<FooterProps> | undefined;
252
- showHeaderWithSelectAll?: UseSelectWithApplyProps['showHeaderWithSelectAll'];
253
- /**
254
- * Использовать ли хук useSelectWithApply
255
- */
256
- useWithApplyHook?: boolean | undefined;
257
- } & React.RefAttributes<unknown>>;
258
- export { SelectModalMobileProps, SelectModalMobile };
3
+ declare const SelectModalMobile: React.ForwardRefExoticComponent<Omit<import("./typings").BaseSelectProps, "Checkmark"> & import("./typings").AdditionalMobileProps & import("./typings").ModalSelectMobileProps & React.RefAttributes<unknown>>;
4
+ export { SelectModalMobile };
@@ -4,64 +4,52 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
6
  var React = require('react');
7
- var mobile = require('@alfalab/core-components-form-control/mobile');
8
- var components_arrow_Component = require('./components/arrow/Component.js');
9
- var components_baseSelectMobile_Component = require('./components/base-select-mobile/Component.js');
10
- var components_baseSelectMobile_footer_Component = require('./components/base-select-mobile/footer/Component.js');
11
- var components_field_Component = require('./components/field/Component.js');
12
- var components_optgroup_Component = require('./components/optgroup/Component.js');
13
- var components_option_Component = require('./components/option/Component.js');
14
- var components_optionsList_Component = require('./components/options-list/Component.js');
15
- var components_virtualOptionsList_Component = require('./components/virtual-options-list/Component.js');
16
- var presets_useSelectWithApply_optionsListWithApply_Component = require('./hook-0a5c9f56.js');
17
- var presets_useSelectWithApply_optionsListWithApply_header_Component = require('./presets/useSelectWithApply/options-list-with-apply/header/Component.js');
7
+ var Component_mobile = require('./Component.mobile.js');
8
+ require('@alfalab/core-components-bottom-sheet');
9
+ require('@alfalab/core-components-form-control/mobile');
10
+ require('@alfalab/core-components-modal/Component.mobile');
11
+ require('./components/arrow/Component.js');
18
12
  require('classnames');
19
13
  require('@alfalab/icons-glyph/ChevronDownMIcon');
14
+ require('./components/base-select/Component.js');
20
15
  require('react-merge-refs');
16
+ require('@juggle/resize-observer');
17
+ require('compute-scroll-into-view');
21
18
  require('downshift');
22
- require('@alfalab/core-components-bottom-sheet');
23
- require('@alfalab/core-components-modal/mobile');
24
19
  require('@alfalab/core-components-shared');
20
+ require('@alfalab/hooks');
25
21
  require('./utils.js');
26
- require('./components/search/Component.js');
27
- require('@alfalab/core-components-input');
28
- require('@alfalab/icons-glyph/MagnifierMIcon');
22
+ require('./components/native-select/Component.js');
23
+ require('./components/field/Component.js');
24
+ require('./components/footer/Component.js');
29
25
  require('@alfalab/core-components-base-modal');
30
26
  require('@alfalab/core-components-button/mobile');
31
- require('@alfalab/hooks');
27
+ require('./components/optgroup/Component.js');
28
+ require('./components/option/Component.js');
32
29
  require('./components/checkmark/Component.js');
33
30
  require('@alfalab/core-components-badge');
34
31
  require('@alfalab/core-components-checkbox');
35
32
  require('@alfalab/icons-glyph/CheckmarkCircleMIcon');
36
33
  require('@alfalab/icons-glyph/CheckmarkMIcon');
37
34
  require('./components/checkmark-mobile/Component.js');
35
+ require('./components/options-list/Component.js');
36
+ require('@alfalab/core-components-mq');
38
37
  require('@alfalab/core-components-scrollbar');
39
38
  require('./consts.js');
39
+ require('./components/search/Component.js');
40
+ require('@alfalab/core-components-input');
41
+ require('@alfalab/icons-glyph/MagnifierMIcon');
42
+ require('./components/virtual-options-list/Component.js');
40
43
  require('react-virtual');
44
+ require('./hook-df30325f.js');
41
45
  require('./presets/useSelectWithApply/options-list-with-apply/footer/Component.js');
42
46
  require('@alfalab/core-components-button/desktop');
47
+ require('./presets/useSelectWithApply/options-list-with-apply/header/Component.js');
43
48
 
44
49
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
45
50
 
46
51
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
47
52
 
48
- var VIRTUAL_OPTIONS_LIST_THRESHOLD = 30;
49
- var SelectModalMobile = React.forwardRef(function (_a, ref) {
50
- var _b = _a.autocomplete, autocomplete = _b === void 0 ? false : _b, _c = _a.multiple, multiple = _c === void 0 ? false : _c, _d = _a.allowUnselect, allowUnselect = _d === void 0 ? false : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.closeOnSelect, closeOnSelect = _f === void 0 ? !multiple : _f, _g = _a.circularNavigation, circularNavigation = _g === void 0 ? false : _g, _h = _a.defaultOpen, defaultOpen = _h === void 0 ? false : _h, openProp = _a.open, _j = _a.size, size = _j === void 0 ? 'm' : _j, _k = _a.optionsSize, optionsSize = _k === void 0 ? 'm' : _k, _l = _a.fieldProps, fieldProps = _l === void 0 ? {} : _l, _m = _a.optionProps, optionProps = _m === void 0 ? {} : _m, _o = _a.optionsListProps, optionsListProps = _o === void 0 ? {} : _o, _p = _a.Arrow, Arrow = _p === void 0 ? components_arrow_Component.Arrow : _p, _q = _a.Field, Field = _q === void 0 ? components_field_Component.Field : _q, _r = _a.Optgroup, Optgroup = _r === void 0 ? components_optgroup_Component.Optgroup : _r, _s = _a.Option, Option = _s === void 0 ? components_option_Component.Option : _s, selected = _a.selected, options = _a.options, _t = _a.OptionsList, OptionsList = _t === void 0 ? options.length > VIRTUAL_OPTIONS_LIST_THRESHOLD
51
- ? components_virtualOptionsList_Component.VirtualOptionsList
52
- : components_optionsList_Component.OptionsList : _t, onChange = _a.onChange, _u = _a.showClear, showClear = _u === void 0 ? true : _u, showSelectAll = _a.showSelectAll, _v = _a.useWithApplyHook, useWithApplyHook = _v === void 0 ? multiple : _v, modalHeaderProps = _a.modalHeaderProps, showHeaderWithSelectAll = _a.showHeaderWithSelectAll, showSearch = _a.showSearch, searchProps = _a.searchProps, restProps = tslib.__rest(_a, ["autocomplete", "multiple", "allowUnselect", "disabled", "closeOnSelect", "circularNavigation", "defaultOpen", "open", "size", "optionsSize", "fieldProps", "optionProps", "optionsListProps", "Arrow", "Field", "Optgroup", "Option", "selected", "options", "OptionsList", "onChange", "showClear", "showSelectAll", "useWithApplyHook", "modalHeaderProps", "showHeaderWithSelectAll", "showSearch", "searchProps"]);
53
- var applyProps = presets_useSelectWithApply_optionsListWithApply_Component.useSelectWithApply({
54
- optionsListProps: tslib.__assign(tslib.__assign({}, optionsListProps), { Footer: components_baseSelectMobile_footer_Component.Footer }),
55
- OptionsList: OptionsList,
56
- selected: selected,
57
- options: options,
58
- onChange: onChange,
59
- showSearch: showSearch,
60
- searchProps: searchProps,
61
- showClear: showClear,
62
- showSelectAll: showSelectAll,
63
- });
64
- return (React__default.default.createElement(components_baseSelectMobile_Component.BaseSelectMobile, tslib.__assign({ ref: ref, autocomplete: autocomplete, multiple: multiple, allowUnselect: allowUnselect, disabled: disabled, closeOnSelect: closeOnSelect, circularNavigation: circularNavigation, defaultOpen: defaultOpen, open: openProp, size: size, optionsSize: optionsSize, fieldProps: tslib.__assign({ FormControlComponent: mobile.FormControlMobile }, fieldProps), optionProps: optionProps, Arrow: Arrow, Field: Field, Optgroup: Optgroup, Option: Option, isBottomSheet: false, options: options, selected: selected, onChange: onChange, OptionsList: OptionsList, optionsListProps: optionsListProps, showSearch: showSearch, searchProps: searchProps, modalHeaderProps: tslib.__assign({ bottomAddons: useWithApplyHook && showHeaderWithSelectAll && (React__default.default.createElement(presets_useSelectWithApply_optionsListWithApply_header_Component.Header, tslib.__assign({}, applyProps.optionsListProps.headerProps, { mobile: true }))) }, modalHeaderProps) }, restProps, (useWithApplyHook && applyProps))));
65
- });
53
+ var SelectModalMobile = React.forwardRef(function (props, ref) { return (React__default.default.createElement(Component_mobile.SelectMobile, tslib.__assign({}, props, { isBottomSheet: false, ref: ref }))); });
66
54
 
67
55
  exports.SelectModalMobile = SelectModalMobile;
@@ -1,19 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { AdditionalMobileProps } from "./Component.mobile";
4
- import { BaseSelectProps } from "./typings";
5
- type SelectResponsiveProps = BaseSelectProps & AdditionalMobileProps & {
6
- /**
7
- * Контрольная точка, с нее начинается desktop версия
8
- * @default 1024
9
- */
10
- breakpoint?: number;
11
- };
12
- declare const SelectResponsive: React.ForwardRefExoticComponent<BaseSelectProps & AdditionalMobileProps & {
13
- /**
14
- * Контрольная точка, с нее начинается desktop версия
15
- * @default 1024
16
- */
17
- breakpoint?: number | undefined;
18
- } & React.RefAttributes<HTMLDivElement>>;
19
- export { SelectResponsiveProps, SelectResponsive };
3
+ import { SelectProps } from "./typings";
4
+ declare const SelectResponsive: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLDivElement>>;
5
+ export { SelectResponsive };
@@ -4,19 +4,21 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
6
  var React = require('react');
7
- var hooks = require('@alfalab/hooks');
7
+ var coreComponentsMq = require('@alfalab/core-components-mq');
8
8
  var Component_desktop = require('./Component.desktop.js');
9
9
  var Component_mobile = require('./Component.mobile.js');
10
10
  require('@alfalab/core-components-form-control/desktop');
11
+ require('@alfalab/core-components-popover');
11
12
  require('./components/arrow/Component.js');
12
13
  require('classnames');
13
14
  require('@alfalab/icons-glyph/ChevronDownMIcon');
14
15
  require('./components/base-select/Component.js');
15
16
  require('react-merge-refs');
16
17
  require('@juggle/resize-observer');
18
+ require('compute-scroll-into-view');
17
19
  require('downshift');
18
- require('@alfalab/core-components-popover');
19
20
  require('@alfalab/core-components-shared');
21
+ require('@alfalab/hooks');
20
22
  require('./utils.js');
21
23
  require('./components/native-select/Component.js');
22
24
  require('./components/field/Component.js');
@@ -34,16 +36,15 @@ require('./consts.js');
34
36
  require('./components/search/Component.js');
35
37
  require('@alfalab/core-components-input');
36
38
  require('@alfalab/icons-glyph/MagnifierMIcon');
37
- require('@alfalab/core-components-form-control/mobile');
38
- require('./components/base-select-mobile/Component.js');
39
39
  require('@alfalab/core-components-bottom-sheet');
40
- require('@alfalab/core-components-modal/mobile');
41
- require('./components/base-select-mobile/footer/Component.js');
40
+ require('@alfalab/core-components-form-control/mobile');
41
+ require('@alfalab/core-components-modal/Component.mobile');
42
+ require('./components/footer/Component.js');
42
43
  require('@alfalab/core-components-base-modal');
43
44
  require('@alfalab/core-components-button/mobile');
44
45
  require('./components/virtual-options-list/Component.js');
45
46
  require('react-virtual');
46
- require('./hook-0a5c9f56.js');
47
+ require('./hook-df30325f.js');
47
48
  require('./presets/useSelectWithApply/options-list-with-apply/footer/Component.js');
48
49
  require('@alfalab/core-components-button/desktop');
49
50
  require('./presets/useSelectWithApply/options-list-with-apply/header/Component.js');
@@ -53,12 +54,9 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
53
54
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
54
55
 
55
56
  var SelectResponsive = React.forwardRef(function (_a, ref) {
56
- var footer = _a.footer, swipeable = _a.swipeable, bottomSheetProps = _a.bottomSheetProps, OptionsList = _a.OptionsList, onScroll = _a.onScroll, fieldProps = _a.fieldProps, _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, restProps = tslib.__rest(_a, ["footer", "swipeable", "bottomSheetProps", "OptionsList", "onScroll", "fieldProps", "breakpoint"]);
57
- var view = hooks.useMedia([
58
- ['mobile', "(max-width: ".concat(breakpoint - 1, "px)")],
59
- ['desktop', "(min-width: ".concat(breakpoint, "px)")],
60
- ], 'desktop')[0];
61
- return view === 'desktop' ? (React__default.default.createElement(Component_desktop.SelectDesktop, tslib.__assign({ OptionsList: OptionsList, onScroll: onScroll }, restProps, { ref: ref, fieldProps: fieldProps }))) : (React__default.default.createElement(Component_mobile.SelectMobile, tslib.__assign({ footer: footer, swipeable: swipeable, bottomSheetProps: bottomSheetProps, fieldProps: fieldProps }, restProps, { ref: ref })));
57
+ var onScroll = _a.onScroll, fieldProps = _a.fieldProps, _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, defaultMatchMediaValue = _a.defaultMatchMediaValue, restProps = tslib.__rest(_a, ["onScroll", "fieldProps", "breakpoint", "defaultMatchMediaValue"]);
58
+ var isDesktop = coreComponentsMq.useMatchMedia("(min-width: ".concat(breakpoint, "px)"), defaultMatchMediaValue)[0];
59
+ return isDesktop ? (React__default.default.createElement(Component_desktop.SelectDesktop, tslib.__assign({ onScroll: onScroll }, restProps, { ref: ref, fieldProps: fieldProps }))) : (React__default.default.createElement(Component_mobile.SelectMobile, tslib.__assign({ fieldProps: fieldProps }, restProps, { ref: ref })));
62
60
  });
63
61
 
64
62
  exports.SelectResponsive = SelectResponsive;
@@ -11,7 +11,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
11
11
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
12
12
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
13
13
 
14
- var styles = {"arrow":"select__arrow_2oaub","open":"select__open_2oaub"};
14
+ var styles = {"arrow":"select__arrow_dofwo","open":"select__open_dofwo"};
15
15
  require('./index.css')
16
16
 
17
17
  var Arrow = function (_a) {