@alfalab/core-components-select 10.6.2 → 10.6.5

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 (242) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/Component-9404bb50.d.ts +33 -0
  3. package/dist/Component-9404bb50.js +359 -0
  4. package/dist/Component-b963ee30.d.ts +5 -0
  5. package/dist/Component-b963ee30.js +247 -0
  6. package/dist/Component.d.ts +1 -1
  7. package/dist/Component.js +2 -2
  8. package/dist/components/arrow/Component.js +1 -1
  9. package/dist/components/arrow/index.css +3 -3
  10. package/dist/components/base-select/Component.d.ts +0 -5
  11. package/dist/components/base-select/Component.js +11 -241
  12. package/dist/components/base-select/index.css +7 -7
  13. package/dist/components/base-select/index.d.ts +1 -1
  14. package/dist/components/base-select/index.js +2 -2
  15. package/dist/components/checkmark/Component.js +1 -1
  16. package/dist/components/checkmark/index.css +7 -7
  17. package/dist/components/field/Component.js +2 -2
  18. package/dist/components/field/index.css +9 -9
  19. package/dist/components/field/index.js +1 -1
  20. package/dist/components/index.d.ts +1 -0
  21. package/dist/components/index.js +12 -2
  22. package/dist/components/native-select/Component.js +1 -1
  23. package/dist/components/native-select/index.js +1 -1
  24. package/dist/components/optgroup/Component.d.ts +1 -1
  25. package/dist/components/optgroup/Component.js +3 -3
  26. package/dist/components/optgroup/index.css +6 -6
  27. package/dist/components/option/Component.js +2 -2
  28. package/dist/components/option/index.css +20 -20
  29. package/dist/components/option/index.js +1 -1
  30. package/dist/components/options-list/Component.js +4 -4
  31. package/dist/components/options-list/index.css +6 -6
  32. package/dist/components/options-list/index.js +1 -1
  33. package/dist/components/select-mobile/Component.d.ts +0 -0
  34. package/dist/components/select-mobile/Component.js +38 -0
  35. package/dist/components/select-mobile/checkmark/Component.d.ts +4 -0
  36. package/dist/components/select-mobile/checkmark/Component.js +24 -0
  37. package/dist/components/select-mobile/checkmark/index.css +37 -0
  38. package/dist/components/select-mobile/checkmark/index.d.ts +1 -0
  39. package/dist/components/select-mobile/checkmark/index.js +11 -0
  40. package/dist/components/select-mobile/index.css +68 -0
  41. package/dist/components/select-mobile/index.d.ts +1 -0
  42. package/dist/components/select-mobile/index.js +38 -0
  43. package/dist/components/select-mobile/options-list/Component.d.ts +4 -0
  44. package/dist/components/select-mobile/options-list/Component.js +51 -0
  45. package/dist/components/select-mobile/options-list/index.css +65 -0
  46. package/dist/components/select-mobile/options-list/index.d.ts +1 -0
  47. package/dist/components/select-mobile/options-list/index.js +16 -0
  48. package/dist/components/virtual-options-list/Component.js +2 -2
  49. package/dist/components/virtual-options-list/index.css +12 -12
  50. package/dist/components/virtual-options-list/index.js +1 -1
  51. package/dist/cssm/Component-9bc41b6c.d.ts +5 -0
  52. package/dist/cssm/Component-9bc41b6c.js +246 -0
  53. package/dist/cssm/Component-d45c0e41.d.ts +33 -0
  54. package/dist/cssm/Component-d45c0e41.js +365 -0
  55. package/dist/cssm/Component.d.ts +1 -1
  56. package/dist/cssm/Component.js +1 -1
  57. package/dist/cssm/components/base-select/Component.d.ts +0 -5
  58. package/dist/cssm/components/base-select/Component.js +12 -240
  59. package/dist/cssm/components/base-select/index.d.ts +1 -1
  60. package/dist/cssm/components/base-select/index.js +1 -1
  61. package/dist/cssm/components/index.d.ts +1 -0
  62. package/dist/cssm/components/index.js +17 -1
  63. package/dist/cssm/components/optgroup/Component.d.ts +1 -1
  64. package/dist/cssm/components/optgroup/Component.js +2 -2
  65. package/dist/cssm/components/options-list/Component.js +2 -2
  66. package/dist/cssm/components/select-mobile/Component.d.ts +0 -0
  67. package/dist/cssm/components/select-mobile/Component.js +52 -0
  68. package/dist/cssm/components/select-mobile/checkmark/Component.d.ts +4 -0
  69. package/dist/cssm/components/select-mobile/checkmark/Component.js +23 -0
  70. package/dist/cssm/components/select-mobile/checkmark/index.d.ts +1 -0
  71. package/dist/cssm/components/select-mobile/checkmark/index.js +12 -0
  72. package/dist/cssm/components/select-mobile/checkmark/index.module.css +36 -0
  73. package/dist/cssm/components/select-mobile/index.d.ts +1 -0
  74. package/dist/cssm/components/select-mobile/index.js +52 -0
  75. package/dist/cssm/components/select-mobile/index.module.css +67 -0
  76. package/dist/cssm/components/select-mobile/options-list/Component.d.ts +4 -0
  77. package/dist/cssm/components/select-mobile/options-list/Component.js +51 -0
  78. package/dist/cssm/components/select-mobile/options-list/index.d.ts +1 -0
  79. package/dist/cssm/components/select-mobile/options-list/index.js +18 -0
  80. package/dist/cssm/components/select-mobile/options-list/index.module.css +64 -0
  81. package/dist/cssm/getDataTestId-3fe0d3e6.d.ts +2 -0
  82. package/dist/cssm/hook-f5b8fe4f.d.ts +3 -3
  83. package/dist/cssm/index.js +14 -6
  84. package/dist/cssm/presets/index.js +13 -6
  85. package/dist/cssm/presets/useSelectWithApply/hook.js +13 -6
  86. package/dist/cssm/presets/useSelectWithApply/options-list-with-apply/Component.js +12 -5
  87. package/dist/cssm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  88. package/dist/cssm/presets/useSelectWithApply/options-list-with-apply/index.js +12 -5
  89. package/dist/cssm/typings.d.ts +29 -0
  90. package/dist/esm/Component-25510e34.d.ts +33 -0
  91. package/dist/esm/Component-25510e34.js +348 -0
  92. package/dist/esm/Component-385efde8.d.ts +5 -0
  93. package/dist/esm/Component-385efde8.js +238 -0
  94. package/dist/esm/Component.d.ts +1 -1
  95. package/dist/esm/Component.js +2 -2
  96. package/dist/esm/components/arrow/Component.js +1 -1
  97. package/dist/esm/components/arrow/index.css +3 -3
  98. package/dist/esm/components/base-select/Component.d.ts +0 -5
  99. package/dist/esm/components/base-select/Component.js +10 -238
  100. package/dist/esm/components/base-select/index.css +7 -7
  101. package/dist/esm/components/base-select/index.d.ts +1 -1
  102. package/dist/esm/components/base-select/index.js +2 -2
  103. package/dist/esm/components/checkmark/Component.js +1 -1
  104. package/dist/esm/components/checkmark/index.css +7 -7
  105. package/dist/esm/components/field/Component.js +2 -2
  106. package/dist/esm/components/field/index.css +9 -9
  107. package/dist/esm/components/field/index.js +1 -1
  108. package/dist/esm/components/index.d.ts +1 -0
  109. package/dist/esm/components/index.js +11 -2
  110. package/dist/esm/components/native-select/Component.js +1 -1
  111. package/dist/esm/components/native-select/index.js +1 -1
  112. package/dist/esm/components/optgroup/Component.d.ts +1 -1
  113. package/dist/esm/components/optgroup/Component.js +3 -3
  114. package/dist/esm/components/optgroup/index.css +6 -6
  115. package/dist/esm/components/option/Component.js +2 -2
  116. package/dist/esm/components/option/index.css +20 -20
  117. package/dist/esm/components/option/index.js +1 -1
  118. package/dist/esm/components/options-list/Component.js +4 -4
  119. package/dist/esm/components/options-list/index.css +6 -6
  120. package/dist/esm/components/options-list/index.js +1 -1
  121. package/dist/esm/components/select-mobile/Component.d.ts +0 -0
  122. package/dist/esm/components/select-mobile/Component.js +30 -0
  123. package/dist/esm/components/select-mobile/checkmark/Component.d.ts +4 -0
  124. package/dist/esm/components/select-mobile/checkmark/Component.js +15 -0
  125. package/dist/esm/components/select-mobile/checkmark/index.css +37 -0
  126. package/dist/esm/components/select-mobile/checkmark/index.d.ts +1 -0
  127. package/dist/esm/components/select-mobile/checkmark/index.js +3 -0
  128. package/dist/esm/components/select-mobile/index.css +68 -0
  129. package/dist/esm/components/select-mobile/index.d.ts +1 -0
  130. package/dist/esm/components/select-mobile/index.js +30 -0
  131. package/dist/esm/components/select-mobile/options-list/Component.d.ts +4 -0
  132. package/dist/esm/components/select-mobile/options-list/Component.js +42 -0
  133. package/dist/esm/components/select-mobile/options-list/index.css +65 -0
  134. package/dist/esm/components/select-mobile/options-list/index.d.ts +1 -0
  135. package/dist/esm/components/select-mobile/options-list/index.js +8 -0
  136. package/dist/esm/components/virtual-options-list/Component.js +2 -2
  137. package/dist/esm/components/virtual-options-list/index.css +12 -12
  138. package/dist/esm/components/virtual-options-list/index.js +1 -1
  139. package/dist/esm/getDataTestId-3fe0d3e6.d.ts +2 -0
  140. package/dist/esm/hook-f5b8fe4f.d.ts +3 -3
  141. package/dist/esm/index.js +9 -5
  142. package/dist/esm/{intersection-observer-48ed3f14.d.ts → intersection-observer-0bdc3704.d.ts} +0 -0
  143. package/dist/esm/{intersection-observer-48ed3f14.js → intersection-observer-0bdc3704.js} +0 -0
  144. package/dist/esm/presets/index.js +9 -5
  145. package/dist/esm/presets/useLazyLoading/hook.js +3 -3
  146. package/dist/esm/presets/useLazyLoading/index.css +2 -2
  147. package/dist/esm/presets/useSelectWithApply/hook.js +9 -5
  148. package/dist/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +9 -5
  149. package/dist/esm/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
  150. package/dist/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  151. package/dist/esm/presets/useSelectWithApply/options-list-with-apply/index.js +9 -5
  152. package/dist/esm/presets/useSelectWithLoading/hook.js +2 -2
  153. package/dist/esm/presets/useSelectWithLoading/index.css +2 -2
  154. package/dist/esm/{tslib.es6-b60a7f7d.d.ts → tslib.es6-a9457d88.d.ts} +0 -0
  155. package/dist/esm/{tslib.es6-b60a7f7d.js → tslib.es6-a9457d88.js} +0 -0
  156. package/dist/esm/typings.d.ts +29 -0
  157. package/dist/getDataTestId-3fe0d3e6.d.ts +2 -0
  158. package/dist/hook-f5b8fe4f.d.ts +3 -3
  159. package/dist/index.js +12 -7
  160. package/dist/{intersection-observer-d541dfd6.d.ts → intersection-observer-0fef5c01.d.ts} +0 -0
  161. package/dist/{intersection-observer-d541dfd6.js → intersection-observer-0fef5c01.js} +0 -0
  162. package/dist/modern/Component-17dae8dc.d.ts +33 -0
  163. package/dist/modern/Component-17dae8dc.js +363 -0
  164. package/dist/modern/Component-e21aa51b.d.ts +5 -0
  165. package/dist/modern/Component-e21aa51b.js +247 -0
  166. package/dist/modern/Component.d.ts +1 -1
  167. package/dist/modern/Component.js +1 -1
  168. package/dist/modern/components/arrow/Component.js +1 -1
  169. package/dist/modern/components/arrow/index.css +3 -3
  170. package/dist/modern/components/base-select/Component.d.ts +0 -5
  171. package/dist/modern/components/base-select/Component.js +9 -247
  172. package/dist/modern/components/base-select/index.css +7 -7
  173. package/dist/modern/components/base-select/index.d.ts +1 -1
  174. package/dist/modern/components/base-select/index.js +1 -1
  175. package/dist/modern/components/checkmark/Component.js +1 -1
  176. package/dist/modern/components/checkmark/index.css +7 -7
  177. package/dist/modern/components/field/Component.js +1 -1
  178. package/dist/modern/components/field/index.css +9 -9
  179. package/dist/modern/components/index.d.ts +1 -0
  180. package/dist/modern/components/index.js +10 -1
  181. package/dist/modern/components/optgroup/Component.d.ts +1 -1
  182. package/dist/modern/components/optgroup/Component.js +3 -3
  183. package/dist/modern/components/optgroup/index.css +6 -6
  184. package/dist/modern/components/option/Component.js +1 -1
  185. package/dist/modern/components/option/index.css +20 -20
  186. package/dist/modern/components/options-list/Component.js +3 -3
  187. package/dist/modern/components/options-list/index.css +6 -6
  188. package/dist/modern/components/select-mobile/Component.d.ts +0 -0
  189. package/dist/modern/components/select-mobile/Component.js +29 -0
  190. package/dist/modern/components/select-mobile/checkmark/Component.d.ts +4 -0
  191. package/dist/modern/components/select-mobile/checkmark/Component.js +11 -0
  192. package/dist/modern/components/select-mobile/checkmark/index.css +37 -0
  193. package/dist/modern/components/select-mobile/checkmark/index.d.ts +1 -0
  194. package/dist/modern/components/select-mobile/checkmark/index.js +3 -0
  195. package/dist/modern/components/select-mobile/index.css +68 -0
  196. package/dist/modern/components/select-mobile/index.d.ts +1 -0
  197. package/dist/modern/components/select-mobile/index.js +29 -0
  198. package/dist/modern/components/select-mobile/options-list/Component.d.ts +4 -0
  199. package/dist/modern/components/select-mobile/options-list/Component.js +37 -0
  200. package/dist/modern/components/select-mobile/options-list/index.css +65 -0
  201. package/dist/modern/components/select-mobile/options-list/index.d.ts +1 -0
  202. package/dist/modern/components/select-mobile/options-list/index.js +7 -0
  203. package/dist/modern/components/virtual-options-list/Component.js +1 -1
  204. package/dist/modern/components/virtual-options-list/index.css +12 -12
  205. package/dist/modern/getDataTestId-3fe0d3e6.d.ts +2 -0
  206. package/dist/modern/hook-f5b8fe4f.d.ts +3 -3
  207. package/dist/modern/index.js +8 -4
  208. package/dist/modern/{intersection-observer-48ed3f14.d.ts → intersection-observer-0bdc3704.d.ts} +0 -0
  209. package/dist/modern/{intersection-observer-48ed3f14.js → intersection-observer-0bdc3704.js} +0 -0
  210. package/dist/modern/presets/index.js +8 -4
  211. package/dist/modern/presets/useLazyLoading/hook.js +2 -2
  212. package/dist/modern/presets/useLazyLoading/index.css +2 -2
  213. package/dist/modern/presets/useSelectWithApply/hook.js +8 -4
  214. package/dist/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +8 -4
  215. package/dist/modern/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
  216. package/dist/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  217. package/dist/modern/presets/useSelectWithApply/options-list-with-apply/index.js +8 -4
  218. package/dist/modern/presets/useSelectWithLoading/hook.js +1 -1
  219. package/dist/modern/presets/useSelectWithLoading/index.css +2 -2
  220. package/dist/modern/typings.d.ts +29 -0
  221. package/dist/presets/index.js +11 -7
  222. package/dist/presets/useLazyLoading/hook.js +3 -3
  223. package/dist/presets/useLazyLoading/index.css +2 -2
  224. package/dist/presets/useSelectWithApply/hook.js +11 -7
  225. package/dist/presets/useSelectWithApply/options-list-with-apply/Component.js +10 -6
  226. package/dist/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
  227. package/dist/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  228. package/dist/presets/useSelectWithApply/options-list-with-apply/index.js +10 -6
  229. package/dist/presets/useSelectWithLoading/hook.js +2 -2
  230. package/dist/presets/useSelectWithLoading/index.css +2 -2
  231. package/dist/{tslib.es6-c247c66d.d.ts → tslib.es6-b9d0d522.d.ts} +0 -0
  232. package/dist/{tslib.es6-c247c66d.js → tslib.es6-b9d0d522.js} +0 -0
  233. package/dist/typings.d.ts +29 -0
  234. package/package.json +14 -12
  235. package/dist/cssm/hook-3b9bd559.d.ts +0 -12
  236. package/dist/cssm/hook-3b9bd559.js +0 -147
  237. package/dist/esm/hook-3242a291.d.ts +0 -12
  238. package/dist/esm/hook-3242a291.js +0 -131
  239. package/dist/hook-e5ec46f1.d.ts +0 -12
  240. package/dist/hook-e5ec46f1.js +0 -140
  241. package/dist/modern/hook-7ce55267.d.ts +0 -12
  242. package/dist/modern/hook-7ce55267.js +0 -132
@@ -0,0 +1,68 @@
1
+ /* hash: kvx79 */
2
+ :root {
3
+
4
+ /* Hard */
5
+
6
+ /* Up */
7
+
8
+ /* Hard up */
9
+ }
10
+ :root {
11
+ --gap-2xs: 4px;
12
+ --gap-xs: 8px;
13
+ --gap-m: 16px;
14
+ --gap-l: 20px;
15
+ }
16
+ :root {
17
+
18
+ /* options list */
19
+ --select-options-list-offset: 0;
20
+
21
+ /* option */
22
+
23
+ /* checkmark */
24
+
25
+ /* optgroup */
26
+ }
27
+ .select__component_10sq7 {
28
+ width: max-content;
29
+ position: relative;
30
+ outline: 0;
31
+ }
32
+ .select__popoverInner_10sq7 {
33
+ padding-top: var(--select-options-list-offset);
34
+ padding-bottom: var(--select-options-list-offset);
35
+ box-shadow: none;
36
+ border: none;
37
+ background: transparent;
38
+ border-radius: 0;
39
+ position: relative;
40
+ }
41
+ .select__sheet_10sq7 {
42
+ overflow: hidden;
43
+ }
44
+ .select__sheetContent_10sq7 {
45
+ padding: 0;
46
+ }
47
+ .select__sheetContainer_10sq7 {
48
+ padding: 0;
49
+ }
50
+ .select__block_10sq7 {
51
+ width: 100%;
52
+ }
53
+ /* width: max-content; fix for IE */
54
+ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
55
+ .select__component_10sq7 {
56
+ float: left;
57
+ clear: left;
58
+ }
59
+ }
60
+ .select__option_10sq7 {
61
+ padding: var(--gap-2xs) var(--gap-l) var(--gap-2xs) var(--gap-m)
62
+ }
63
+ .select__option_10sq7:before {
64
+ display: none;
65
+ }
66
+ .select__optionGroup_10sq7 {
67
+ padding: var(--gap-m) var(--gap-m) var(--gap-xs);
68
+ }
@@ -0,0 +1 @@
1
+ export * from "../../Component-9404bb50";
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('../../tslib.es6-b9d0d522.js');
6
+ require('react');
7
+ require('classnames');
8
+ require('@alfalab/hooks');
9
+ require('@alfalab/core-components-form-control');
10
+ require('../../utils.js');
11
+ require('../field/Component.js');
12
+ require('@alfalab/icons-glyph/ChevronDownMIcon');
13
+ require('../arrow/Component.js');
14
+ require('react-merge-refs');
15
+ require('../optgroup/Component.js');
16
+ require('../options-list/Component.js');
17
+ require('@alfalab/core-components-checkbox');
18
+ require('../checkmark/Component.js');
19
+ require('../option/Component.js');
20
+ require('resize-observer');
21
+ require('@alfalab/core-components-popover');
22
+ require('downshift');
23
+ require('../native-select/Component.js');
24
+ require('../../Component-b963ee30.js');
25
+ require('../../Component.js');
26
+ require('@alfalab/core-components-bottom-sheet');
27
+ require('@alfalab/core-components-button');
28
+ require('@alfalab/core-components-base-modal');
29
+ require('./options-list/Component.js');
30
+ require('./checkmark/Component.js');
31
+ var presets_useSelectWithApply_hook = require('../../Component-9404bb50.js');
32
+ require('react-virtual');
33
+ require('@alfalab/core-components-skeleton');
34
+ require('../../intersection-observer-0fef5c01.js');
35
+
36
+
37
+
38
+ exports.SelectMobile = presets_useSelectWithApply_hook.SelectMobile;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { OptionsListProps } from "../../../typings";
3
+ declare const OptionsList: ({ size, className, optionGroupClassName, Option, getOptionProps, options, Optgroup, dataTestId, emptyPlaceholder, showFooter, onApply, onClear, }: OptionsListProps) => JSX.Element | null;
4
+ export { OptionsList };
@@ -0,0 +1,51 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib_es6 = require('../../../tslib.es6-b9d0d522.js');
6
+ var React = require('react');
7
+ var cn = require('classnames');
8
+ var utils = require('../../../utils.js');
9
+ var components_optgroup_Component = require('../../optgroup/Component.js');
10
+ var coreComponentsButton = require('@alfalab/core-components-button');
11
+ var coreComponentsBaseModal = require('@alfalab/core-components-base-modal');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
+ var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
17
+
18
+ var styles = {"optionsList":"select__optionsList_ruojk","emptyPlaceholder":"select__emptyPlaceholder_ruojk","l":"select__l_ruojk","xl":"select__xl_ruojk","footer":"select__footer_ruojk","footerButton":"select__footerButton_ruojk","highlighted":"select__highlighted_ruojk"};
19
+ require('./index.css')
20
+
21
+ var createCounter = function () {
22
+ var count = 0;
23
+ // eslint-disable-next-line no-plusplus
24
+ return function () { return count++; };
25
+ };
26
+ var OptionsList = function (_a) {
27
+ var _b;
28
+ var _c = _a.size, size = _c === void 0 ? 's' : _c, className = _a.className, optionGroupClassName = _a.optionGroupClassName, Option = _a.Option, getOptionProps = _a.getOptionProps, _d = _a.options, options = _d === void 0 ? [] : _d, _e = _a.Optgroup, Optgroup = _e === void 0 ? components_optgroup_Component.Optgroup : _e, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, showFooter = _a.showFooter, _f = _a.onApply, onApply = _f === void 0 ? function () { return null; } : _f, _g = _a.onClear, onClear = _g === void 0 ? function () { return null; } : _g;
29
+ var _h = React.useContext(coreComponentsBaseModal.BaseModalContext), footerHighlighted = _h.footerHighlighted, setHasFooter = _h.setHasFooter;
30
+ React.useEffect(function () {
31
+ setHasFooter(true);
32
+ }, [setHasFooter]);
33
+ var renderOption = React.useCallback(function (option, index) { return (React__default['default'].createElement(Option, tslib_es6.__assign({ key: option.key }, getOptionProps(option, index)))); }, [getOptionProps]);
34
+ var counter = createCounter();
35
+ var renderGroup = React.useCallback(function (group) { return (React__default['default'].createElement(Optgroup, { className: optionGroupClassName, label: group.label, key: group.label, size: size }, group.options.map(function (option) { return renderOption(option, counter()); }))); }, [optionGroupClassName, counter, renderOption, size]);
36
+ if (options.length === 0 && !emptyPlaceholder) {
37
+ return null;
38
+ }
39
+ return (React__default['default'].createElement("div", { className: cn__default['default'](styles.optionsList, styles[size], className), "data-test-id": dataTestId },
40
+ options.map(function (option) {
41
+ return utils.isGroup(option) ? renderGroup(option) : renderOption(option, counter());
42
+ }),
43
+ emptyPlaceholder && options.length === 0 && (React__default['default'].createElement("div", { className: styles.emptyPlaceholder }, emptyPlaceholder)),
44
+ showFooter && (React__default['default'].createElement("div", { className: cn__default['default'](styles.footer, className, (_b = {},
45
+ _b[styles.highlighted] = footerHighlighted,
46
+ _b)) },
47
+ React__default['default'].createElement(coreComponentsButton.Button, { size: 's', view: 'primary', onClick: onApply, className: styles.footerButton }, "\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C"),
48
+ React__default['default'].createElement(coreComponentsButton.Button, { size: 's', view: 'secondary', onClick: onClear, className: styles.footerButton }, "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C")))));
49
+ };
50
+
51
+ exports.OptionsList = OptionsList;
@@ -0,0 +1,65 @@
1
+ /* hash: 1g06x */
2
+ :root {
3
+ --color-light-bg-primary: #fff;
4
+ --color-light-border-primary: #dbdee1;
5
+ --color-light-text-secondary: #546272;
6
+ }
7
+ :root {
8
+
9
+ /* Hard */
10
+
11
+ /* Up */
12
+
13
+ /* Hard up */
14
+ }
15
+ :root {
16
+ --gap-s: 12px;
17
+ --gap-m: 16px;
18
+ --gap-xl: 24px;
19
+ }
20
+ :root {
21
+
22
+ /* options list */
23
+ --select-options-list-empty-placeholder-color: var(--color-light-text-secondary);
24
+
25
+ /* option */
26
+
27
+ /* checkmark */
28
+
29
+ /* optgroup */
30
+ }
31
+ :root {
32
+ --select-mobile-footer-border-top: 1px solid var(--color-light-border-primary);
33
+ --select-mobile-footer-background-color: var(--color-light-bg-primary);
34
+ }
35
+ .select__optionsList_ruojk {
36
+ width: 100%;
37
+ outline: none;
38
+ box-sizing: border-box;
39
+ }
40
+ .select__emptyPlaceholder_ruojk {
41
+ padding: var(--gap-m) var(--gap-s);
42
+ color: var(--select-options-list-empty-placeholder-color);
43
+ }
44
+ .select__l_ruojk .select__emptyPlaceholder_ruojk,
45
+ .select__xl_ruojk .select__emptyPlaceholder_ruojk {
46
+ padding: var(--gap-xl) var(--gap-m);
47
+ }
48
+ .select__footer_ruojk {
49
+ display: flex;
50
+ justify-content: space-between;
51
+ position: sticky;
52
+ padding: var(--gap-m) var(--gap-m);
53
+ background-color: var(--color-light-bg-primary);
54
+ bottom: 0
55
+ }
56
+ .select__footer_ruojk .select__footerButton_ruojk:first-of-type {
57
+ margin-right: var(--gap-m);
58
+ }
59
+ .select__footerButton_ruojk {
60
+ width: 50%;
61
+ }
62
+ .select__highlighted_ruojk {
63
+ border-top: var(--select-mobile-footer-border-top);
64
+ background-color: var(--select-mobile-footer-background-color);
65
+ }
@@ -0,0 +1 @@
1
+ export * from "./Component";
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('../../../tslib.es6-b9d0d522.js');
6
+ require('react');
7
+ require('classnames');
8
+ require('../../../utils.js');
9
+ require('../../optgroup/Component.js');
10
+ require('@alfalab/core-components-button');
11
+ require('@alfalab/core-components-base-modal');
12
+ var components_selectMobile_optionsList_Component = require('./Component.js');
13
+
14
+
15
+
16
+ exports.OptionsList = components_selectMobile_optionsList_Component.OptionsList;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../../tslib.es6-c247c66d.js');
5
+ var tslib_es6 = require('../../tslib.es6-b9d0d522.js');
6
6
  var React = require('react');
7
7
  var cn = require('classnames');
8
8
  var utils = require('../../utils.js');
@@ -14,7 +14,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
14
14
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
15
  var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
16
16
 
17
- var styles = {"virtualOptionsList":"select__virtualOptionsList_80q6p","scrollable":"select__scrollable_80q6p","inner":"select__inner_80q6p","virtualRow":"select__virtualRow_80q6p","highlighted":"select__highlighted_80q6p","emptyPlaceholder":"select__emptyPlaceholder_80q6p","l":"select__l_80q6p","xl":"select__xl_80q6p"};
17
+ var styles = {"virtualOptionsList":"select__virtualOptionsList_pjid4","scrollable":"select__scrollable_pjid4","inner":"select__inner_pjid4","virtualRow":"select__virtualRow_pjid4","highlighted":"select__highlighted_pjid4","emptyPlaceholder":"select__emptyPlaceholder_pjid4","l":"select__l_pjid4","xl":"select__xl_pjid4"};
18
18
  require('./index.css')
19
19
 
20
20
  /* eslint-disable react-hooks/exhaustive-deps */
@@ -1,4 +1,4 @@
1
- /* hash: 1qeuv */
1
+ /* hash: 10nve */
2
2
  :root {
3
3
  --color-light-border-primary: #dbdee1;
4
4
  --color-light-text-secondary: #546272;
@@ -32,27 +32,27 @@
32
32
 
33
33
  /* optgroup */
34
34
  }
35
- .select__virtualOptionsList_80q6p {
35
+ .select__virtualOptionsList_pjid4 {
36
36
  width: 100%;
37
37
  outline: none;
38
38
  box-sizing: border-box;
39
39
  position: relative;
40
40
  }
41
- .select__scrollable_80q6p {
41
+ .select__scrollable_pjid4 {
42
42
  overflow: auto;
43
43
  width: 100%;
44
44
  }
45
- .select__inner_80q6p {
45
+ .select__inner_pjid4 {
46
46
  position: relative;
47
47
  width: 100%;
48
48
  }
49
- .select__virtualRow_80q6p {
49
+ .select__virtualRow_pjid4 {
50
50
  position: absolute;
51
51
  top: 0;
52
52
  left: 0;
53
53
  width: 100%
54
54
  }
55
- .select__virtualRow_80q6p:before {
55
+ .select__virtualRow_pjid4:before {
56
56
  content: '';
57
57
  position: absolute;
58
58
  z-index: 1;
@@ -63,18 +63,18 @@
63
63
  background: var(--select-option-divider-background);
64
64
  display: var(--select-option-divider-display);
65
65
  }
66
- .select__virtualRow_80q6p:first-child:before {
66
+ .select__virtualRow_pjid4:first-child:before {
67
67
  display: none;
68
68
  }
69
- .select__highlighted_80q6p:before,
70
- .select__highlighted_80q6p + .select__virtualRow_80q6p:before {
69
+ .select__highlighted_pjid4:before,
70
+ .select__highlighted_pjid4 + .select__virtualRow_pjid4:before {
71
71
  display: none;
72
72
  }
73
- .select__emptyPlaceholder_80q6p {
73
+ .select__emptyPlaceholder_pjid4 {
74
74
  padding: var(--gap-m) var(--gap-s);
75
75
  color: var(--select-options-list-empty-placeholder-color);
76
76
  }
77
- .select__l_80q6p .select__emptyPlaceholder_80q6p,
78
- .select__xl_80q6p .select__emptyPlaceholder_80q6p {
77
+ .select__l_pjid4 .select__emptyPlaceholder_pjid4,
78
+ .select__xl_pjid4 .select__emptyPlaceholder_pjid4 {
79
79
  padding: var(--gap-xl) var(--gap-m);
80
80
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../tslib.es6-c247c66d.js');
5
+ require('../../tslib.es6-b9d0d522.js');
6
6
  require('react');
7
7
  require('classnames');
8
8
  require('../../utils.js');
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { BaseSelectProps } from "./typings";
4
+ declare const BaseSelect: React.ForwardRefExoticComponent<BaseSelectProps & React.RefAttributes<unknown>>;
5
+ export { BaseSelect };
@@ -0,0 +1,246 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('./tslib.es6-f8106a15.js');
4
+ var React = require('react');
5
+ var cn = require('classnames');
6
+ var utils = require('./utils.js');
7
+ var mergeRefs = require('react-merge-refs');
8
+ var resizeObserver = require('resize-observer');
9
+ var coreComponentsPopover = require('@alfalab/core-components-popover/dist/cssm');
10
+ var downshift = require('downshift');
11
+ var components_nativeSelect_Component = require('./components/native-select/Component.js');
12
+ var styles = require('./components/base-select/index.module.css');
13
+
14
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
+
16
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
+ var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
18
+ var mergeRefs__default = /*#__PURE__*/_interopDefaultLegacy(mergeRefs);
19
+ var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
20
+
21
+ var getDataTestId = function (dataTestId, element) {
22
+ var elementPart = element ? "-" + element.toLowerCase() : '';
23
+ return dataTestId ? "" + dataTestId + elementPart : undefined;
24
+ };
25
+
26
+ var BaseSelect = React.forwardRef(function (_a, ref) {
27
+ var _b;
28
+ var dataTestId = _a.dataTestId, className = _a.className, fieldClassName = _a.fieldClassName, optionsListClassName = _a.optionsListClassName, optionClassName = _a.optionClassName, popperClassName = _a.popperClassName, options = _a.options, _c = _a.autocomplete, autocomplete = _c === void 0 ? false : _c, _d = _a.multiple, multiple = _d === void 0 ? false : _d, _e = _a.allowUnselect, allowUnselect = _e === void 0 ? false : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.closeOnSelect, closeOnSelect = _g === void 0 ? !multiple : _g, _h = _a.circularNavigation, circularNavigation = _h === void 0 ? false : _h, _j = _a.nativeSelect, nativeSelect = _j === void 0 ? false : _j, _k = _a.defaultOpen, defaultOpen = _k === void 0 ? false : _k, openProp = _a.open, _l = _a.popoverPosition, popoverPosition = _l === void 0 ? 'bottom-start' : _l, _m = _a.preventFlip, preventFlip = _m === void 0 ? true : _m, _o = _a.optionsListWidth, optionsListWidth = _o === void 0 ? 'content' : _o, name = _a.name, id = _a.id, selected = _a.selected, _p = _a.size, size = _p === void 0 ? 's' : _p, _q = _a.optionsSize, optionsSize = _q === void 0 ? size : _q, error = _a.error, hint = _a.hint, block = _a.block, label = _a.label, placeholder = _a.placeholder, _r = _a.fieldProps, fieldProps = _r === void 0 ? {} : _r, _s = _a.optionsListProps, optionsListProps = _s === void 0 ? {} : _s, _t = _a.optionProps, optionProps = _t === void 0 ? {} : _t, valueRenderer = _a.valueRenderer, onChange = _a.onChange, onOpen = _a.onOpen, onFocus = _a.onFocus, onBlur = _a.onBlur, onScroll = _a.onScroll, Arrow = _a.Arrow, _u = _a.Field, Field = _u === void 0 ? function () { return null; } : _u, _v = _a.OptionsList, OptionsList = _v === void 0 ? function () { return null; } : _v, _w = _a.Optgroup, Optgroup = _w === void 0 ? function () { return null; } : _w, _x = _a.Option, Option = _x === void 0 ? function () { return null; } : _x, updatePopover = _a.updatePopover, zIndexPopover = _a.zIndexPopover, _y = _a.showEmptyOptionsList, showEmptyOptionsList = _y === void 0 ? false : _y, visibleOptions = _a.visibleOptions;
29
+ var rootRef = React.useRef(null);
30
+ var fieldRef = React.useRef(null);
31
+ var listRef = React.useRef(null);
32
+ var initiatorRef = React.useRef(null);
33
+ var itemToString = function (option) { return (option ? option.key : ''); };
34
+ var _z = React.useMemo(function () { return utils.processOptions(options, selected); }, [
35
+ options,
36
+ selected,
37
+ ]), flatOptions = _z.flatOptions, selectedOptions = _z.selectedOptions;
38
+ var useMultipleSelectionProps = {
39
+ itemToString: itemToString,
40
+ onSelectedItemsChange: function (changes) {
41
+ if (onChange) {
42
+ var _a = changes.selectedItems, selectedItems_1 = _a === void 0 ? [] : _a;
43
+ onChange({
44
+ selectedMultiple: selectedItems_1,
45
+ selected: selectedItems_1.length ? selectedItems_1[0] : null,
46
+ initiator: initiatorRef.current,
47
+ name: name,
48
+ });
49
+ initiatorRef.current = null;
50
+ }
51
+ },
52
+ stateReducer: function (state, actionAndChanges) {
53
+ var type = actionAndChanges.type, changes = actionAndChanges.changes;
54
+ if (!allowUnselect &&
55
+ type === downshift.useMultipleSelection.stateChangeTypes.DropdownKeyDownBackspace) {
56
+ return state;
57
+ }
58
+ return changes;
59
+ },
60
+ };
61
+ if (selected !== undefined) {
62
+ useMultipleSelectionProps.selectedItems = selectedOptions;
63
+ }
64
+ var _0 = downshift.useMultipleSelection(useMultipleSelectionProps), selectedItems = _0.selectedItems, addSelectedItem = _0.addSelectedItem, setSelectedItems = _0.setSelectedItems, removeSelectedItem = _0.removeSelectedItem, getDropdownProps = _0.getDropdownProps;
65
+ var _1 = downshift.useCombobox({
66
+ id: id,
67
+ isOpen: openProp,
68
+ circularNavigation: circularNavigation,
69
+ items: flatOptions,
70
+ itemToString: itemToString,
71
+ defaultHighlightedIndex: selectedItems.length === 0 ? -1 : undefined,
72
+ onIsOpenChange: function (changes) {
73
+ if (onOpen) {
74
+ /**
75
+ * Вызываем обработчик асинхронно.
76
+ *
77
+ * Иначе при клике вне открытого селекта сначала сработает onOpen, который закроет селект,
78
+ * А затем сработает onClick кнопки открытия\закрытия с open=false и в итоге селект откроется снова.
79
+ */
80
+ setTimeout(function () {
81
+ onOpen({
82
+ open: changes.isOpen,
83
+ name: name,
84
+ });
85
+ }, 0);
86
+ }
87
+ },
88
+ stateReducer: function (state, actionAndChanges) {
89
+ var type = actionAndChanges.type, changes = actionAndChanges.changes;
90
+ var selectedItem = changes.selectedItem;
91
+ switch (type) {
92
+ case downshift.useCombobox.stateChangeTypes.InputKeyDownEnter:
93
+ case downshift.useCombobox.stateChangeTypes.ItemClick:
94
+ initiatorRef.current = selectedItem;
95
+ if (selectedItem && !selectedItem.disabled) {
96
+ var alreadySelected = selectedItems.includes(selectedItem);
97
+ var allowRemove = allowUnselect || (multiple && selectedItems.length > 1);
98
+ if (alreadySelected && allowRemove) {
99
+ removeSelectedItem(selectedItem);
100
+ }
101
+ if (!alreadySelected) {
102
+ if (multiple) {
103
+ addSelectedItem(selectedItem);
104
+ }
105
+ else {
106
+ setSelectedItems([selectedItem]);
107
+ }
108
+ }
109
+ }
110
+ return tslib_es6.__assign(tslib_es6.__assign({}, changes), { isOpen: !closeOnSelect,
111
+ // при closeOnSelect === false - сохраняем подсвеченный индекс
112
+ highlightedIndex: state.isOpen && !closeOnSelect
113
+ ? state.highlightedIndex
114
+ : changes.highlightedIndex });
115
+ default:
116
+ return changes;
117
+ }
118
+ },
119
+ }), open = _1.isOpen, getMenuProps = _1.getMenuProps, getInputProps = _1.getInputProps, getItemProps = _1.getItemProps, getComboboxProps = _1.getComboboxProps, getLabelProps = _1.getLabelProps, highlightedIndex = _1.highlightedIndex, toggleMenu = _1.toggleMenu, openMenu = _1.openMenu;
120
+ var menuProps = getMenuProps({ ref: listRef }, { suppressRefError: true });
121
+ var inputProps = getInputProps(getDropdownProps({ ref: mergeRefs__default['default']([ref, fieldRef]) }));
122
+ var handleFieldFocus = function (event) {
123
+ if (onFocus)
124
+ onFocus(event);
125
+ if (autocomplete && !open) {
126
+ openMenu();
127
+ }
128
+ };
129
+ var handleFieldBlur = function (event) {
130
+ var _a;
131
+ var isNextFocusInsideList = (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.contains((event.relatedTarget || document.activeElement));
132
+ if (!isNextFocusInsideList) {
133
+ if (onBlur)
134
+ onBlur(event);
135
+ inputProps.onBlur(event);
136
+ }
137
+ };
138
+ var handleFieldKeyDown = function (event) {
139
+ inputProps.onKeyDown(event);
140
+ if (autocomplete && !open && (event.key.length === 1 || event.key === 'Backspace')) {
141
+ // Для автокомплита - открываем меню при начале ввода
142
+ openMenu();
143
+ }
144
+ if ([' ', 'Enter'].includes(event.key) &&
145
+ !autocomplete &&
146
+ !nativeSelect &&
147
+ event.target.tagName !== 'INPUT' &&
148
+ event.target.tagName !== 'BUTTON') {
149
+ // Открываем\закрываем меню по нажатию enter или пробела
150
+ event.preventDefault();
151
+ if (!open || highlightedIndex === -1)
152
+ toggleMenu();
153
+ }
154
+ };
155
+ var handleFieldClick = function (event) {
156
+ if (!autocomplete || event.target.tagName !== 'INPUT') {
157
+ toggleMenu();
158
+ }
159
+ else {
160
+ openMenu();
161
+ }
162
+ };
163
+ var handleNativeSelectChange = React.useCallback(function (event) {
164
+ setSelectedItems(tslib_es6.__spreadArrays(event.target.options).reduce(function (acc, option, index) {
165
+ return option.selected ? acc.concat(flatOptions[index]) : acc;
166
+ }, []));
167
+ }, [flatOptions, setSelectedItems]);
168
+ var getOptionProps = React.useCallback(function (option, index) { return (tslib_es6.__assign(tslib_es6.__assign({}, optionProps), { className: optionClassName, innerProps: getItemProps({
169
+ index: index,
170
+ item: option,
171
+ disabled: option.disabled,
172
+ onMouseDown: function (event) { return event.preventDefault(); },
173
+ }), multiple: multiple,
174
+ index: index,
175
+ option: option, size: optionsSize, disabled: option.disabled, highlighted: index === highlightedIndex, selected: selectedItems.includes(option), dataTestId: getDataTestId(dataTestId, 'option') })); }, [
176
+ dataTestId,
177
+ getItemProps,
178
+ highlightedIndex,
179
+ multiple,
180
+ optionClassName,
181
+ optionProps,
182
+ optionsSize,
183
+ selectedItems,
184
+ ]);
185
+ React.useEffect(function () {
186
+ if (defaultOpen)
187
+ openMenu();
188
+ }, [defaultOpen, openMenu]);
189
+ React.useEffect(function () {
190
+ if (openProp) {
191
+ openMenu();
192
+ }
193
+ // eslint-disable-next-line react-hooks/exhaustive-deps
194
+ }, []);
195
+ var calcOptionsListWidth = React.useCallback(function () {
196
+ if (listRef.current) {
197
+ var widthAttr = optionsListWidth === 'field' ? 'width' : 'minWidth';
198
+ var optionsListMinWidth = rootRef.current
199
+ ? rootRef.current.getBoundingClientRect().width
200
+ : 0;
201
+ listRef.current.setAttribute('style', '');
202
+ listRef.current.style[widthAttr] = optionsListMinWidth + "px";
203
+ }
204
+ }, [optionsListWidth]);
205
+ React.useEffect(function () {
206
+ var observer = new resizeObserver.ResizeObserver(calcOptionsListWidth);
207
+ if (rootRef.current) {
208
+ observer.observe(rootRef.current);
209
+ }
210
+ return function () {
211
+ observer.disconnect();
212
+ };
213
+ }, [calcOptionsListWidth, open, optionsListWidth]);
214
+ React.useLayoutEffect(calcOptionsListWidth, [open, optionsListWidth, options, selectedItems]);
215
+ var renderValue = React.useCallback(function () {
216
+ return selectedItems.map(function (option) { return (React__default['default'].createElement("input", { type: 'hidden', name: name, value: option.key, key: option.key })); });
217
+ }, [selectedItems, name]);
218
+ var renderNativeSelect = React.useCallback(function () {
219
+ var value = multiple
220
+ ? selectedItems.map(function (option) { return option.key; })
221
+ : (selectedItems[0] || {}).key;
222
+ return (React__default['default'].createElement(components_nativeSelect_Component.NativeSelect, tslib_es6.__assign({}, menuProps, { className: styles__default['default'].nativeSelect, disabled: disabled, multiple: multiple, name: name, value: value, onChange: handleNativeSelectChange, options: options })));
223
+ }, [multiple, selectedItems, disabled, name, handleNativeSelectChange, options, menuProps]);
224
+ var needRenderOptionsList = flatOptions.length > 0 || showEmptyOptionsList;
225
+ return (React__default['default'].createElement("div", tslib_es6.__assign({}, getComboboxProps(tslib_es6.__assign(tslib_es6.__assign({ ref: rootRef }, (disabled && { 'aria-disabled': true })), { className: cn__default['default'](styles__default['default'].component, (_b = {}, _b[styles__default['default'].block] = block, _b), className) })), { onKeyDown: disabled ? undefined : handleFieldKeyDown, tabIndex: -1, "data-test-id": getDataTestId(dataTestId) }),
226
+ nativeSelect && renderNativeSelect(),
227
+ React__default['default'].createElement(Field, tslib_es6.__assign({ selectedMultiple: selectedItems, selected: selectedItems[0], setSelectedItems: setSelectedItems, toggleMenu: toggleMenu, multiple: multiple, open: open, disabled: disabled, size: size, placeholder: placeholder, label: label && React__default['default'].createElement("span", tslib_es6.__assign({}, getLabelProps()), label), Arrow: Arrow && React__default['default'].createElement(Arrow, { open: open }), error: error, hint: hint, valueRenderer: valueRenderer, className: fieldClassName, innerProps: {
228
+ onBlur: handleFieldBlur,
229
+ onFocus: disabled ? undefined : handleFieldFocus,
230
+ onClick: disabled ? undefined : handleFieldClick,
231
+ tabIndex: nativeSelect || disabled ? -1 : 0,
232
+ ref: mergeRefs__default['default']([inputProps.ref]),
233
+ id: inputProps.id,
234
+ 'aria-labelledby': inputProps['aria-labelledby'],
235
+ 'aria-controls': inputProps['aria-controls'],
236
+ 'aria-autocomplete': autocomplete
237
+ ? inputProps['aria-autocomplete']
238
+ : undefined,
239
+ }, dataTestId: getDataTestId(dataTestId, 'field') }, fieldProps)),
240
+ name && !nativeSelect && renderValue(),
241
+ !nativeSelect && (React__default['default'].createElement(coreComponentsPopover.Popover, { open: open, withTransition: false, anchorElement: fieldRef.current, position: popoverPosition, preventFlip: preventFlip, popperClassName: cn__default['default'](styles__default['default'].popoverInner, popperClassName), update: updatePopover, zIndex: zIndexPopover }, needRenderOptionsList && (React__default['default'].createElement("div", tslib_es6.__assign({}, menuProps, { className: cn__default['default'](optionsListClassName, styles__default['default'].optionsList) }),
242
+ React__default['default'].createElement(OptionsList, tslib_es6.__assign({}, optionsListProps, { flatOptions: flatOptions, highlightedIndex: highlightedIndex, open: open, size: size, options: options, Optgroup: Optgroup, Option: Option, selectedItems: selectedItems, setSelectedItems: setSelectedItems, toggleMenu: toggleMenu, getOptionProps: getOptionProps, visibleOptions: visibleOptions, onScroll: onScroll, dataTestId: getDataTestId(dataTestId, 'options-list') }))))))));
243
+ });
244
+
245
+ exports.BaseSelect = BaseSelect;
246
+ exports.getDataTestId = getDataTestId;
@@ -0,0 +1,33 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ import { ReactNode } from "react";
4
+ import { OptionShape, OptionsListProps, BaseSelectProps } from "./typings";
5
+ declare const OptionsListWithApply: React.ForwardRefExoticComponent<OptionsListProps & {
6
+ showClear?: boolean | undefined;
7
+ onClose?: (() => void) | undefined;
8
+ selectedDraft?: OptionShape[] | undefined;
9
+ OptionsList?: React.FC<OptionsListProps & React.RefAttributes<unknown>> | undefined;
10
+ } & React.RefAttributes<unknown>>;
11
+ type SelectMobileProps = Omit<BaseSelectProps, 'OptionsList' | 'Checkmark' | 'onScroll'> & {
12
+ /**
13
+ * Футер
14
+ */
15
+ footer?: ReactNode;
16
+ /**
17
+ * Будет ли свайпаться шторка
18
+ *
19
+ */
20
+ swipeable?: boolean;
21
+ };
22
+ declare const SelectMobile: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "block" | "size" | "className" | "fieldClassName" | "disabled" | "error" | "hint" | "label" | "dataTestId" | "id" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "preventFlip" | "popperClassName" | "open" | "name" | "options" | "multiple" | "selected" | "valueRenderer" | "Optgroup" | "visibleOptions" | "Arrow" | "optionGroupClassName" | "Option" | "optionsListClassName" | "optionClassName" | "autocomplete" | "allowUnselect" | "closeOnSelect" | "circularNavigation" | "nativeSelect" | "defaultOpen" | "popoverPosition" | "optionsListWidth" | "optionsSize" | "fieldProps" | "optionsListProps" | "optionProps" | "onOpen" | "Field" | "updatePopover" | "zIndexPopover" | "showEmptyOptionsList"> & {
23
+ /**
24
+ * Футер
25
+ */
26
+ footer?: React.ReactNode;
27
+ /**
28
+ * Будет ли свайпаться шторка
29
+ *
30
+ */
31
+ swipeable?: boolean | undefined;
32
+ } & React.RefAttributes<unknown>>;
33
+ export { OptionsListWithApply, SelectMobileProps, SelectMobile };