@alfalab/core-components-select 17.8.2 → 17.8.3

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 (257) hide show
  1. package/components/arrow/Component.js +1 -1
  2. package/components/arrow/index.css +6 -4
  3. package/components/base-checkmark/Component.js +1 -1
  4. package/components/base-checkmark/index.css +9 -7
  5. package/components/base-option/Component.js +1 -1
  6. package/components/base-option/index.css +21 -19
  7. package/components/base-select/Component.d.ts +8 -14
  8. package/components/base-select/Component.js +48 -75
  9. package/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.d.ts +12 -0
  10. package/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.js +19 -0
  11. package/components/base-select/components/list-desktop/list-popover-desktop.d.ts +0 -0
  12. package/components/base-select/components/list-desktop/list-popover-desktop.js +12 -0
  13. package/components/base-select/components/list-desktop/types/types.d.ts +3 -0
  14. package/components/base-select/components/list-desktop/types/types.js +2 -0
  15. package/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.d.ts +16 -0
  16. package/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.js +23 -0
  17. package/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.d.ts +28 -0
  18. package/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.js +22 -0
  19. package/components/base-select/components/list-mobile/helpers/index.d.ts +2 -0
  20. package/components/base-select/components/list-mobile/helpers/index.js +11 -0
  21. package/components/base-select/components/list-mobile/list-bottom-sheet-mobile.d.ts +15 -0
  22. package/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +28 -0
  23. package/components/base-select/components/list-mobile/list-mobile.d.ts +16 -0
  24. package/components/base-select/components/list-mobile/list-mobile.js +26 -0
  25. package/components/base-select/components/list-mobile/list-modal-mobile.d.ts +15 -0
  26. package/components/base-select/components/list-mobile/list-modal-mobile.js +42 -0
  27. package/components/base-select/components/list-mobile/types/types.d.ts +4 -0
  28. package/components/base-select/components/list-mobile/types/types.js +2 -0
  29. package/components/base-select/index.css +16 -14
  30. package/components/base-select/mobile.css +19 -17
  31. package/components/base-select/types/component-types.d.ts +50 -0
  32. package/components/base-select/types/component-types.js +2 -0
  33. package/components/checkmark/Component.js +1 -1
  34. package/components/checkmark/index.css +15 -13
  35. package/components/checkmark-mobile/Component.js +1 -1
  36. package/components/checkmark-mobile/index.css +9 -7
  37. package/components/field/Component.js +1 -1
  38. package/components/field/index.css +15 -13
  39. package/components/footer/Component.js +1 -1
  40. package/components/footer/index.css +9 -7
  41. package/components/optgroup/Component.js +1 -1
  42. package/components/optgroup/index.css +12 -10
  43. package/components/option/Component.js +1 -1
  44. package/components/option/index.css +24 -22
  45. package/components/options-list/Component.js +1 -1
  46. package/components/options-list/index.css +16 -14
  47. package/components/search/Component.js +1 -1
  48. package/components/search/index.css +5 -3
  49. package/components/virtual-options-list/Component.js +1 -1
  50. package/components/virtual-options-list/index.css +21 -19
  51. package/cssm/components/arrow/index.module.css +3 -1
  52. package/cssm/components/base-checkmark/index.module.css +3 -1
  53. package/cssm/components/base-option/index.module.css +6 -4
  54. package/cssm/components/base-select/Component.d.ts +8 -14
  55. package/cssm/components/base-select/Component.js +38 -60
  56. package/cssm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.d.ts +12 -0
  57. package/cssm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.js +19 -0
  58. package/cssm/components/base-select/components/list-desktop/list-popover-desktop.d.ts +9 -0
  59. package/cssm/components/base-select/components/list-desktop/list-popover-desktop.js +24 -0
  60. package/cssm/components/base-select/components/list-desktop/types/types.d.ts +3 -0
  61. package/cssm/components/base-select/components/list-desktop/types/types.js +2 -0
  62. package/cssm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.d.ts +16 -0
  63. package/cssm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.js +23 -0
  64. package/cssm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.d.ts +28 -0
  65. package/cssm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.js +22 -0
  66. package/cssm/components/base-select/components/list-mobile/helpers/index.d.ts +2 -0
  67. package/cssm/components/base-select/components/list-mobile/helpers/index.js +11 -0
  68. package/cssm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.d.ts +15 -0
  69. package/cssm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +29 -0
  70. package/cssm/components/base-select/components/list-mobile/list-mobile.d.ts +16 -0
  71. package/cssm/components/base-select/components/list-mobile/list-mobile.js +26 -0
  72. package/cssm/components/base-select/components/list-mobile/list-modal-mobile.d.ts +15 -0
  73. package/cssm/components/base-select/components/list-mobile/list-modal-mobile.js +43 -0
  74. package/cssm/components/base-select/components/list-mobile/types/types.d.ts +4 -0
  75. package/cssm/components/base-select/components/list-mobile/types/types.js +2 -0
  76. package/cssm/components/base-select/index.module.css +5 -3
  77. package/cssm/components/base-select/mobile.module.css +7 -5
  78. package/cssm/components/base-select/types/component-types.d.ts +50 -0
  79. package/cssm/components/base-select/types/component-types.js +2 -0
  80. package/cssm/components/checkmark/index.module.css +5 -3
  81. package/cssm/components/checkmark-mobile/index.module.css +3 -1
  82. package/cssm/components/field/index.module.css +3 -1
  83. package/cssm/components/footer/index.module.css +4 -2
  84. package/cssm/components/optgroup/index.module.css +6 -4
  85. package/cssm/components/option/index.module.css +5 -3
  86. package/cssm/components/options-list/index.module.css +6 -4
  87. package/cssm/components/search/index.module.css +3 -1
  88. package/cssm/components/virtual-options-list/index.module.css +6 -4
  89. package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +5 -3
  90. package/cssm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +5 -3
  91. package/esm/components/arrow/Component.js +1 -1
  92. package/esm/components/arrow/index.css +6 -4
  93. package/esm/components/base-checkmark/Component.js +1 -1
  94. package/esm/components/base-checkmark/index.css +9 -7
  95. package/esm/components/base-option/Component.js +1 -1
  96. package/esm/components/base-option/index.css +21 -19
  97. package/esm/components/base-select/Component.d.ts +8 -14
  98. package/esm/components/base-select/Component.js +39 -66
  99. package/esm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.d.ts +12 -0
  100. package/esm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.js +15 -0
  101. package/esm/components/base-select/components/list-desktop/list-popover-desktop.d.ts +0 -0
  102. package/esm/components/base-select/components/list-desktop/list-popover-desktop.js +4 -0
  103. package/esm/components/base-select/components/list-desktop/types/types.d.ts +3 -0
  104. package/esm/components/base-select/components/list-desktop/types/types.js +1 -0
  105. package/esm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.d.ts +16 -0
  106. package/esm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.js +19 -0
  107. package/esm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.d.ts +28 -0
  108. package/esm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.js +18 -0
  109. package/esm/components/base-select/components/list-mobile/helpers/index.d.ts +2 -0
  110. package/esm/components/base-select/components/list-mobile/helpers/index.js +2 -0
  111. package/esm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.d.ts +15 -0
  112. package/esm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +20 -0
  113. package/esm/components/base-select/components/list-mobile/list-mobile.d.ts +16 -0
  114. package/esm/components/base-select/components/list-mobile/list-mobile.js +18 -0
  115. package/esm/components/base-select/components/list-mobile/list-modal-mobile.d.ts +15 -0
  116. package/esm/components/base-select/components/list-mobile/list-modal-mobile.js +32 -0
  117. package/esm/components/base-select/components/list-mobile/types/types.d.ts +4 -0
  118. package/esm/components/base-select/components/list-mobile/types/types.js +1 -0
  119. package/esm/components/base-select/index.css +16 -14
  120. package/esm/components/base-select/mobile.css +19 -17
  121. package/esm/components/base-select/types/component-types.d.ts +50 -0
  122. package/esm/components/base-select/types/component-types.js +1 -0
  123. package/esm/components/checkmark/Component.js +1 -1
  124. package/esm/components/checkmark/index.css +15 -13
  125. package/esm/components/checkmark-mobile/Component.js +1 -1
  126. package/esm/components/checkmark-mobile/index.css +9 -7
  127. package/esm/components/field/Component.js +1 -1
  128. package/esm/components/field/index.css +15 -13
  129. package/esm/components/footer/Component.js +1 -1
  130. package/esm/components/footer/index.css +9 -7
  131. package/esm/components/optgroup/Component.js +1 -1
  132. package/esm/components/optgroup/index.css +12 -10
  133. package/esm/components/option/Component.js +1 -1
  134. package/esm/components/option/index.css +24 -22
  135. package/esm/components/options-list/Component.js +1 -1
  136. package/esm/components/options-list/index.css +16 -14
  137. package/esm/components/search/Component.js +1 -1
  138. package/esm/components/search/index.css +5 -3
  139. package/esm/components/virtual-options-list/Component.js +1 -1
  140. package/esm/components/virtual-options-list/index.css +21 -19
  141. package/esm/list-popover-desktop-a16c1a9c.d.ts +9 -0
  142. package/esm/list-popover-desktop-a16c1a9c.js +16 -0
  143. package/esm/mobile/Component.mobile.js +1 -1
  144. package/esm/mobile.module-3975aa85.js +4 -0
  145. package/esm/presets/index.js +1 -1
  146. package/esm/presets/useSelectWithApply/hook.js +1 -1
  147. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  148. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  149. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +8 -6
  150. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  151. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +8 -6
  152. package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  153. package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  154. package/esm/presets/useSelectWithLoading/hook.js +1 -1
  155. package/esm/presets/useSelectWithLoading/index.css +2 -2
  156. package/esm/shared/index.js +1 -1
  157. package/list-popover-desktop-63ceae1a.d.ts +9 -0
  158. package/list-popover-desktop-63ceae1a.js +24 -0
  159. package/mobile/Component.mobile.js +1 -1
  160. package/mobile.module-f44f34a3.js +6 -0
  161. package/modern/components/arrow/Component.js +1 -1
  162. package/modern/components/arrow/index.css +6 -4
  163. package/modern/components/base-checkmark/Component.js +1 -1
  164. package/modern/components/base-checkmark/index.css +9 -7
  165. package/modern/components/base-option/Component.js +1 -1
  166. package/modern/components/base-option/index.css +21 -19
  167. package/modern/components/base-select/Component.d.ts +8 -14
  168. package/modern/components/base-select/Component.js +23 -56
  169. package/modern/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.d.ts +12 -0
  170. package/modern/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.js +15 -0
  171. package/modern/components/base-select/components/list-desktop/list-popover-desktop.d.ts +0 -0
  172. package/modern/components/base-select/components/list-desktop/list-popover-desktop.js +3 -0
  173. package/modern/components/base-select/components/list-desktop/types/types.d.ts +3 -0
  174. package/modern/components/base-select/components/list-desktop/types/types.js +1 -0
  175. package/modern/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.d.ts +16 -0
  176. package/modern/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.js +19 -0
  177. package/modern/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.d.ts +28 -0
  178. package/modern/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.js +18 -0
  179. package/modern/components/base-select/components/list-mobile/helpers/index.d.ts +2 -0
  180. package/modern/components/base-select/components/list-mobile/helpers/index.js +2 -0
  181. package/modern/components/base-select/components/list-mobile/list-bottom-sheet-mobile.d.ts +15 -0
  182. package/modern/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +24 -0
  183. package/modern/components/base-select/components/list-mobile/list-mobile.d.ts +16 -0
  184. package/modern/components/base-select/components/list-mobile/list-mobile.js +17 -0
  185. package/modern/components/base-select/components/list-mobile/list-modal-mobile.d.ts +15 -0
  186. package/modern/components/base-select/components/list-mobile/list-modal-mobile.js +32 -0
  187. package/modern/components/base-select/components/list-mobile/types/types.d.ts +4 -0
  188. package/modern/components/base-select/components/list-mobile/types/types.js +1 -0
  189. package/modern/components/base-select/index.css +16 -14
  190. package/modern/components/base-select/mobile.css +19 -17
  191. package/modern/components/base-select/types/component-types.d.ts +50 -0
  192. package/modern/components/base-select/types/component-types.js +1 -0
  193. package/modern/components/checkmark/Component.js +1 -1
  194. package/modern/components/checkmark/index.css +15 -13
  195. package/modern/components/checkmark-mobile/Component.js +1 -1
  196. package/modern/components/checkmark-mobile/index.css +9 -7
  197. package/modern/components/field/Component.js +1 -1
  198. package/modern/components/field/index.css +15 -13
  199. package/modern/components/footer/Component.js +1 -1
  200. package/modern/components/footer/index.css +9 -7
  201. package/modern/components/optgroup/Component.js +1 -1
  202. package/modern/components/optgroup/index.css +12 -10
  203. package/modern/components/option/Component.js +1 -1
  204. package/modern/components/option/index.css +24 -22
  205. package/modern/components/options-list/Component.js +1 -1
  206. package/modern/components/options-list/index.css +16 -14
  207. package/modern/components/search/Component.js +1 -1
  208. package/modern/components/search/index.css +5 -3
  209. package/modern/components/virtual-options-list/Component.js +1 -1
  210. package/modern/components/virtual-options-list/index.css +21 -19
  211. package/modern/list-popover-desktop-380bb61b.d.ts +9 -0
  212. package/modern/list-popover-desktop-380bb61b.js +15 -0
  213. package/modern/mobile/Component.mobile.js +1 -1
  214. package/modern/mobile.module-5f7203b5.js +4 -0
  215. package/modern/presets/index.js +1 -1
  216. package/modern/presets/useSelectWithApply/hook.js +1 -1
  217. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  218. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  219. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +8 -6
  220. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  221. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +8 -6
  222. package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  223. package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  224. package/modern/presets/useSelectWithLoading/hook.js +1 -1
  225. package/modern/presets/useSelectWithLoading/index.css +2 -2
  226. package/modern/shared/index.js +1 -1
  227. package/package.json +6 -4
  228. package/presets/index.js +1 -1
  229. package/presets/useSelectWithApply/hook.js +1 -1
  230. package/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  231. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  232. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +8 -6
  233. package/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  234. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +8 -6
  235. package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  236. package/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  237. package/presets/useSelectWithLoading/hook.js +1 -1
  238. package/presets/useSelectWithLoading/index.css +2 -2
  239. package/shared/index.js +1 -1
  240. package/src/components/base-select/Component.tsx +49 -185
  241. package/src/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.tsx +24 -0
  242. package/src/components/base-select/components/list-desktop/list-popover-desktop.tsx +47 -0
  243. package/src/components/base-select/components/list-desktop/types/types.ts +3 -0
  244. package/src/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.tsx +32 -0
  245. package/src/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.tsx +30 -0
  246. package/src/components/base-select/components/list-mobile/helpers/index.ts +2 -0
  247. package/src/components/base-select/components/list-mobile/list-bottom-sheet-mobile.tsx +84 -0
  248. package/src/components/base-select/components/list-mobile/list-mobile.tsx +39 -0
  249. package/src/components/base-select/components/list-mobile/list-modal-mobile.tsx +94 -0
  250. package/src/components/base-select/components/list-mobile/types/types.ts +4 -0
  251. package/src/components/base-select/types/component-types.ts +39 -0
  252. /package/esm/{hook-86063cab.d.ts → hook-74830211.d.ts} +0 -0
  253. /package/esm/{hook-86063cab.js → hook-74830211.js} +0 -0
  254. /package/{hook-777449d0.d.ts → hook-b7a5b3a9.d.ts} +0 -0
  255. /package/{hook-777449d0.js → hook-b7a5b3a9.js} +0 -0
  256. /package/modern/{hook-1c546c40.d.ts → hook-d5ca0e82.d.ts} +0 -0
  257. /package/modern/{hook-1c546c40.js → hook-d5ca0e82.js} +0 -0
@@ -1,4 +1,4 @@
1
- /* hash: hxfr2 */
1
+ /* hash: 1qyed */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root {
4
4
  --color-light-neutral-300: #e7e8eb;
@@ -14,10 +14,12 @@
14
14
 
15
15
  /* Hard up */
16
16
  } :root {
17
- } :root {
18
- --gap-s: 12px;
19
- --gap-m: 16px;
20
- --gap-xl: 24px;
17
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */
18
+ --gap-s: 12px; /* deprecated */ /* deprecated */
19
+ --gap-m: 16px; /* deprecated */ /* deprecated */
20
+ --gap-xl: 24px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
21
+
22
+ /* новые значения, используйте их */
21
23
  } :root {
22
24
  } :root {
23
25
  } :root {
@@ -35,35 +37,35 @@
35
37
  /* checkmark */
36
38
 
37
39
  /* optgroup */
38
- } .select__virtualOptionsList_b5ppf {
40
+ } .select__virtualOptionsList_1122m {
39
41
  width: 100%;
40
42
  outline: none;
41
43
  box-sizing: border-box;
42
44
  position: sticky;
43
45
  justify-content: space-between;
44
- } .select__virtualOptionsListHeader_b5ppf {
46
+ } .select__virtualOptionsListHeader_1122m {
45
47
  box-sizing: border-box;
46
48
  border-bottom: 1px solid var(--color-light-neutral-300);
47
- } .select__virtualOptionsListFooter_b5ppf {
49
+ } .select__virtualOptionsListFooter_1122m {
48
50
  position: sticky;
49
51
  bottom: 0;
50
52
  box-sizing: border-box;
51
53
  border-top: 1px solid transparent
52
- } .select__virtualOptionsListFooter_b5ppf.select__withBorder_b5ppf {
54
+ } .select__virtualOptionsListFooter_1122m.select__withBorder_1122m {
53
55
  border-top: 1px solid var(--color-light-neutral-300);
54
- } .select__scrollable_b5ppf {
56
+ } .select__scrollable_1122m {
55
57
  position: relative;
56
58
  overflow: auto;
57
59
  width: 100%;
58
- } .select__inner_b5ppf {
60
+ } .select__inner_1122m {
59
61
  position: relative;
60
62
  width: 100%;
61
- } .select__virtualRow_b5ppf {
63
+ } .select__virtualRow_1122m {
62
64
  position: absolute;
63
65
  top: 0;
64
66
  left: 0;
65
67
  width: 100%
66
- } .select__virtualRow_b5ppf:before {
68
+ } .select__virtualRow_1122m:before {
67
69
  content: '';
68
70
  position: absolute;
69
71
  z-index: 1;
@@ -73,16 +75,16 @@
73
75
  height: 1px;
74
76
  background: var(--select-option-divider-background);
75
77
  display: var(--select-option-divider-display);
76
- } .select__virtualRow_b5ppf:first-child:before {
78
+ } .select__virtualRow_1122m:first-child:before {
77
79
  display: none;
78
- } .select__highlighted_b5ppf:before,
79
- .select__highlighted_b5ppf + .select__virtualRow_b5ppf:before {
80
+ } .select__highlighted_1122m:before,
81
+ .select__highlighted_1122m + .select__virtualRow_1122m:before {
80
82
  display: none;
81
- } .select__emptyPlaceholder_b5ppf {
83
+ } .select__emptyPlaceholder_1122m {
82
84
  padding: var(--gap-m) var(--gap-s);
83
85
  color: var(--select-options-list-empty-placeholder-color);
84
86
  flex: 1;
85
- } .select__size-64_b5ppf .select__emptyPlaceholder_b5ppf,
86
- .select__size-72_b5ppf .select__emptyPlaceholder_b5ppf {
87
+ } .select__size-64_1122m .select__emptyPlaceholder_1122m,
88
+ .select__size-72_1122m .select__emptyPlaceholder_1122m {
87
89
  padding: var(--gap-xl) var(--gap-m);
88
90
  }
@@ -11,7 +11,9 @@
11
11
 
12
12
  /* Hard up */
13
13
  } :root {
14
- } :root {
14
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
15
+
16
+ /* новые значения, используйте их */
15
17
  } :root {
16
18
  } :root {
17
19
  --arrow-transform: rotate(180deg);
@@ -10,7 +10,9 @@
10
10
 
11
11
  /* Hard up */
12
12
  } :root {
13
- } :root {
13
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
14
+
15
+ /* новые значения, используйте их */
14
16
  } :root {
15
17
  } :root {
16
18
  } :root {
@@ -15,10 +15,12 @@
15
15
 
16
16
  /* Hard up */
17
17
  } :root {
18
- } :root {
19
- --gap-s: 12px;
20
- --gap-m: 16px;
21
- --gap-l: 20px;
18
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */
19
+ --gap-s: 12px; /* deprecated */ /* deprecated */
20
+ --gap-m: 16px; /* deprecated */
21
+ --gap-l: 20px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
22
+
23
+ /* новые значения, используйте их */
22
24
  } :root {
23
25
  } :root {
24
26
  --disabled-cursor: not-allowed;
@@ -1,20 +1,14 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { FC } from "react";
4
- import { BottomSheetProps } from "@alfalab/core-components-bottom-sheet";
5
- import { ModalMobileProps } from "@alfalab/core-components-modal/mobile";
6
- import { ModalContentProps, ModalFooterProps, ModalHeaderProps } from "@alfalab/core-components-modal/shared";
7
- import { PopoverProps } from "@alfalab/core-components-popover";
8
- import { AdditionalMobileProps, BaseSelectProps, BottomSheetSelectMobileProps, ModalSelectMobileProps } from "../../typings";
9
- declare const BaseSelect: React.ForwardRefExoticComponent<BaseSelectProps & AdditionalMobileProps & BottomSheetSelectMobileProps & ModalSelectMobileProps & {
3
+ declare const BaseSelect: React.ForwardRefExoticComponent<import("../../typings").BaseSelectProps & import("../../typings").AdditionalMobileProps & import("../../typings").BottomSheetSelectMobileProps & import("../../typings").ModalSelectMobileProps & {
10
4
  isBottomSheet?: boolean | undefined;
11
- view: 'desktop' | 'mobile';
12
- Popover?: React.ForwardRefExoticComponent<PopoverProps & React.RefAttributes<HTMLDivElement>> | undefined;
13
- BottomSheet?: React.ForwardRefExoticComponent<BottomSheetProps & React.RefAttributes<HTMLDivElement>> | undefined;
14
- ModalMobile?: (React.ForwardRefExoticComponent<ModalMobileProps & React.RefAttributes<HTMLDivElement>> & {
15
- Header: FC<ModalHeaderProps>;
16
- Footer: FC<ModalFooterProps>;
17
- Content: FC<ModalContentProps>;
5
+ view: "mobile" | "desktop";
6
+ Popover?: React.ForwardRefExoticComponent<import("@alfalab/core-components-popover").PopoverProps & React.RefAttributes<HTMLDivElement>> | undefined;
7
+ BottomSheet?: React.ForwardRefExoticComponent<import("@alfalab/core-components-bottom-sheet").BottomSheetProps & React.RefAttributes<HTMLDivElement>> | undefined;
8
+ ModalMobile?: (React.ForwardRefExoticComponent<import("./types/component-types").ModalMobileProps & React.RefAttributes<HTMLDivElement>> & {
9
+ Header: React.FC<import("@alfalab/core-components-modal/shared").ModalHeaderProps>;
10
+ Footer: React.FC<import("@alfalab/core-components-modal/shared").ModalFooterProps>;
11
+ Content: React.FC<import("./types/component-types").ContentProps>;
18
12
  }) | undefined;
19
13
  } & React.RefAttributes<unknown>>;
20
14
  export { BaseSelect };
@@ -13,6 +13,11 @@ var coreComponentsShared = require('@alfalab/core-components-shared/cssm');
13
13
  var hooks = require('@alfalab/hooks');
14
14
  var utils = require('../../utils.js');
15
15
  var components_nativeSelect_Component = require('../native-select/Component.js');
16
+ var components_baseSelect_components_listDesktop_helpers_getListPopoverDesktopProps = require('./components/list-desktop/helpers/get-list-popover-desktop-props.js');
17
+ var components_baseSelect_components_listDesktop_listPopoverDesktop = require('./components/list-desktop/list-popover-desktop.js');
18
+ var components_baseSelect_components_listMobile_helpers_getListModalMobileProps = require('./components/list-mobile/helpers/get-list-modal-mobile-props.js');
19
+ var components_baseSelect_components_listMobile_helpers_getListBottomSheetMobileProps = require('./components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.js');
20
+ var components_baseSelect_components_listMobile_listMobile = require('./components/list-mobile/list-mobile.js');
16
21
  var styles = require('./index.module.css');
17
22
  var mobileStyles = require('./mobile.module.css');
18
23
 
@@ -29,10 +34,11 @@ var isItemDisabled = function (option) { return Boolean(option === null || optio
29
34
  var BaseSelect = React.forwardRef(
30
35
  // TODO: 😭
31
36
  // eslint-disable-next-line complexity
32
- function (_a, ref) {
33
- var _b;
34
- var _c, _d;
35
- var dataTestId = _a.dataTestId, className = _a.className, fieldClassName = _a.fieldClassName, optionGroupClassName = _a.optionGroupClassName, optionsListClassName = _a.optionsListClassName, optionClassName = _a.optionClassName, popperClassName = _a.popperClassName, options = _a.options, _e = _a.autocomplete, autocomplete = _e === void 0 ? false : _e, _f = _a.multiple, multiple = _f === void 0 ? false : _f, _g = _a.allowUnselect, allowUnselect = _g === void 0 ? false : _g, _h = _a.disabled, disabled = _h === void 0 ? false : _h, _j = _a.closeOnSelect, closeOnSelect = _j === void 0 ? !multiple : _j, _k = _a.circularNavigation, circularNavigation = _k === void 0 ? false : _k, _l = _a.nativeSelect, nativeSelect = _l === void 0 ? false : _l, _m = _a.defaultOpen, defaultOpen = _m === void 0 ? false : _m, openProp = _a.open, _o = _a.popoverPosition, popoverPosition = _o === void 0 ? 'bottom-start' : _o, _p = _a.preventFlip, preventFlip = _p === void 0 ? true : _p, _q = _a.optionsListWidth, optionsListWidth = _q === void 0 ? 'content' : _q, name = _a.name, id = _a.id, selected = _a.selected, _r = _a.size, size = _r === void 0 ? 48 : _r, _s = _a.optionsSize, optionsSize = _s === void 0 ? size : _s, error = _a.error, hint = _a.hint, block = _a.block, label = _a.label, labelView = _a.labelView, placeholder = _a.placeholder, _t = _a.fieldProps, fieldProps = _t === void 0 ? {} : _t, _u = _a.optionsListProps, optionsListProps = _u === void 0 ? {} : _u, _v = _a.optionProps, optionProps = _v === void 0 ? {} : _v, _w = _a.searchProps, searchProps = _w === void 0 ? {} : _w, _x = _a.showSearch, showSearch = _x === void 0 ? false : _x, valueRenderer = _a.valueRenderer, onChange = _a.onChange, onOpen = _a.onOpen, onFocus = _a.onFocus, onBlur = _a.onBlur, onScroll = _a.onScroll, Arrow = _a.Arrow, _y = _a.Field, Field = _y === void 0 ? function () { return null; } : _y, _z = _a.OptionsList, OptionsList = _z === void 0 ? function () { return null; } : _z, _0 = _a.Optgroup, Optgroup = _0 === void 0 ? function () { return null; } : _0, _1 = _a.Option, Option = _1 === void 0 ? function () { return null; } : _1, _2 = _a.Search, Search = _2 === void 0 ? function () { return null; } : _2, updatePopover = _a.updatePopover, zIndexPopover = _a.zIndexPopover, _3 = _a.showEmptyOptionsList, showEmptyOptionsList = _3 === void 0 ? false : _3, visibleOptions = _a.visibleOptions, view = _a.view, _4 = _a.isBottomSheet, isBottomSheet = _4 === void 0 ? true : _4, footer = _a.footer, swipeable = _a.swipeable, modalProps = _a.modalProps, popoverProps = _a.popoverProps, modalFooterProps = _a.modalFooterProps, modalHeaderProps = _a.modalHeaderProps, bottomSheetProps = _a.bottomSheetProps, Popover = _a.Popover, ModalMobile = _a.ModalMobile, BottomSheet = _a.BottomSheet, limitDynamicOptionGroupSize = _a.limitDynamicOptionGroupSize;
37
+ function (props, ref) {
38
+ var _a;
39
+ var _b, _c;
40
+ var dataTestId = props.dataTestId, className = props.className, fieldClassName = props.fieldClassName, optionGroupClassName = props.optionGroupClassName, optionsListClassName = props.optionsListClassName, optionClassName = props.optionClassName, options = props.options, _d = props.autocomplete, autocomplete = _d === void 0 ? false : _d, _e = props.multiple, multiple = _e === void 0 ? false : _e, _f = props.allowUnselect, allowUnselect = _f === void 0 ? false : _f, _g = props.disabled, disabled = _g === void 0 ? false : _g, _h = props.closeOnSelect, closeOnSelect = _h === void 0 ? !multiple : _h, _j = props.circularNavigation, circularNavigation = _j === void 0 ? false : _j, _k = props.nativeSelect, nativeSelect = _k === void 0 ? false : _k, _l = props.defaultOpen, defaultOpen = _l === void 0 ? false : _l, openProp = props.open, _m = props.optionsListWidth, optionsListWidth = _m === void 0 ? 'content' : _m, name = props.name, id = props.id, selected = props.selected, _o = props.size, size = _o === void 0 ? 48 : _o, _p = props.optionsSize, optionsSize = _p === void 0 ? size : _p, error = props.error, hint = props.hint, block = props.block, label = props.label, labelView = props.labelView, placeholder = props.placeholder, _q = props.fieldProps, fieldProps = _q === void 0 ? {} : _q, _r = props.optionsListProps, optionsListProps = _r === void 0 ? {} : _r, _s = props.optionProps, optionProps = _s === void 0 ? {} : _s, _t = props.searchProps, searchProps = _t === void 0 ? {} : _t, _u = props.showSearch, showSearch = _u === void 0 ? false : _u, valueRenderer = props.valueRenderer, onChange = props.onChange, onOpen = props.onOpen, onFocus = props.onFocus, onBlur = props.onBlur, onScroll = props.onScroll, Arrow = props.Arrow, _v = props.Field, Field = _v === void 0 ? function () { return null; } : _v, _w = props.OptionsList, OptionsList = _w === void 0 ? function () { return null; } : _w, _x = props.Optgroup, Optgroup = _x === void 0 ? function () { return null; } : _x, _y = props.Option, Option = _y === void 0 ? function () { return null; } : _y, _z = props.Search, Search = _z === void 0 ? function () { return null; } : _z, _0 = props.showEmptyOptionsList, showEmptyOptionsList = _0 === void 0 ? false : _0, visibleOptions = props.visibleOptions, view = props.view, _1 = props.isBottomSheet, isBottomSheet = _1 === void 0 ? true : _1, modalProps = props.modalProps, bottomSheetProps = props.bottomSheetProps, limitDynamicOptionGroupSize = props.limitDynamicOptionGroupSize;
41
+ var shouldSearchBlurRef = React.useRef(true);
36
42
  var rootRef = React.useRef(null);
37
43
  var fieldRef = React.useRef(null);
38
44
  var listRef = React.useRef(null);
@@ -40,15 +46,15 @@ function (_a, ref) {
40
46
  var searchRef = React.useRef(null);
41
47
  var scrollableContainerRef = React.useRef(null);
42
48
  var onOpenRef = React.useRef(onOpen);
43
- var _5 = React__default.default.useState(''), searchState = _5[0], setSearchState = _5[1];
44
- var _6 = typeof (searchProps === null || searchProps === void 0 ? void 0 : searchProps.value) === 'string'
49
+ var _2 = React__default.default.useState(''), searchState = _2[0], setSearchState = _2[1];
50
+ var _3 = typeof (searchProps === null || searchProps === void 0 ? void 0 : searchProps.value) === 'string'
45
51
  ? [searchProps.value, searchProps.onChange]
46
- : [searchState, setSearchState], search = _6[0], setSearch = _6[1];
52
+ : [searchState, setSearchState], search = _3[0], setSearch = _3[1];
47
53
  var accessor = searchProps.accessor || utils.defaultAccessor;
48
54
  var filterFn = searchProps.filterFn || utils.defaultFilterFn;
49
- var filterGroup = (_c = searchProps.filterGroup) !== null && _c !== void 0 ? _c : false;
50
- var groupAccessor = (_d = searchProps.groupAccessor) !== null && _d !== void 0 ? _d : utils.defaultGroupAccessor;
51
- var _7 = React.useMemo(function () {
55
+ var filterGroup = (_b = searchProps.filterGroup) !== null && _b !== void 0 ? _b : false;
56
+ var groupAccessor = (_c = searchProps.groupAccessor) !== null && _c !== void 0 ? _c : utils.defaultGroupAccessor;
57
+ var _4 = React.useMemo(function () {
52
58
  return utils.processOptions(options, selected, function (option) {
53
59
  if (utils.isGroup(option)) {
54
60
  var groupAccessorValue = groupAccessor(option);
@@ -57,7 +63,7 @@ function (_a, ref) {
57
63
  }
58
64
  return filterFn(accessor(option), search);
59
65
  }, filterGroup);
60
- }, [options, selected, filterFn, accessor, search, filterGroup, groupAccessor]), filteredOptions = _7.filteredOptions, flatOptions = _7.flatOptions, selectedOptions = _7.selectedOptions;
66
+ }, [options, selected, filterFn, accessor, search, filterGroup, groupAccessor]), filteredOptions = _4.filteredOptions, flatOptions = _4.flatOptions, selectedOptions = _4.selectedOptions;
61
67
  var scrollIntoView = function (node) {
62
68
  if (!node || view === 'mobile')
63
69
  return;
@@ -100,8 +106,8 @@ function (_a, ref) {
100
106
  useMultipleSelectionProps.selectedItems = selectedOptions;
101
107
  }
102
108
  onOpenRef.current = onOpen;
103
- var _8 = downshift.useMultipleSelection(useMultipleSelectionProps), selectedItems = _8.selectedItems, addSelectedItem = _8.addSelectedItem, setSelectedItems = _8.setSelectedItems, removeSelectedItem = _8.removeSelectedItem, getDropdownProps = _8.getDropdownProps;
104
- var _9 = downshift.useCombobox({
109
+ var _5 = downshift.useMultipleSelection(useMultipleSelectionProps), selectedItems = _5.selectedItems, addSelectedItem = _5.addSelectedItem, setSelectedItems = _5.setSelectedItems, removeSelectedItem = _5.removeSelectedItem, getDropdownProps = _5.getDropdownProps;
110
+ var _6 = downshift.useCombobox({
105
111
  id: id,
106
112
  isOpen: openProp,
107
113
  items: flatOptions,
@@ -182,7 +188,7 @@ function (_a, ref) {
182
188
  return changes;
183
189
  }
184
190
  },
185
- }), open = _9.isOpen, getMenuProps = _9.getMenuProps, getInputProps = _9.getInputProps, getItemProps = _9.getItemProps, getLabelProps = _9.getLabelProps, highlightedIndex = _9.highlightedIndex, toggleMenu = _9.toggleMenu, openMenu = _9.openMenu, closeMenu = _9.closeMenu, setHighlightedIndex = _9.setHighlightedIndex;
191
+ }), open = _6.isOpen, getMenuProps = _6.getMenuProps, getInputProps = _6.getInputProps, getItemProps = _6.getItemProps, getLabelProps = _6.getLabelProps, highlightedIndex = _6.highlightedIndex, toggleMenu = _6.toggleMenu, openMenu = _6.openMenu, closeMenu = _6.closeMenu, setHighlightedIndex = _6.setHighlightedIndex;
186
192
  React.useEffect(function () {
187
193
  /*
188
194
  * При изменении openProp, состояние внутри downshift в useEnhancedReducer не меняется, поэтому меняем его таким способом
@@ -198,7 +204,7 @@ function (_a, ref) {
198
204
  }
199
205
  }, [openProp, openMenu, closeMenu]);
200
206
  var inputProps = getInputProps(getDropdownProps({ ref: mergeRefs__default.default([ref, fieldRef]) }));
201
- var _10 = getMenuProps({ ref: listRef }, { suppressRefError: true }), menuRef = _10.ref, menuProps = tslib.__rest(_10, ["ref"]);
207
+ var _7 = getMenuProps({ ref: listRef }, { suppressRefError: true }), menuRef = _7.ref, menuProps = tslib.__rest(_7, ["ref"]);
202
208
  var handleEntered = function (node, isAppearing) {
203
209
  var _a, _b, _c, _d, _e;
204
210
  if (showSearch)
@@ -276,6 +282,15 @@ function (_a, ref) {
276
282
  index: index,
277
283
  item: option,
278
284
  onMouseDown: function (event) { return event.preventDefault(); },
285
+ onClick: function () {
286
+ var _a, _b;
287
+ if (view === 'mobile' || !showSearch || multiple)
288
+ return;
289
+ shouldSearchBlurRef.current = false;
290
+ (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.blur();
291
+ shouldSearchBlurRef.current = true;
292
+ (_b = fieldRef.current) === null || _b === void 0 ? void 0 : _b.focus();
293
+ },
279
294
  }), multiple: multiple, index: index, option: option, size: optionsSize, disabled: option.disabled, highlighted: index === highlightedIndex, selected: selectedItems.some(function (_a) {
280
295
  var key = _a.key;
281
296
  return key === option.key;
@@ -346,6 +361,8 @@ function (_a, ref) {
346
361
  };
347
362
  var handleBlur = function (event) {
348
363
  var _a, _b;
364
+ if (!shouldSearchBlurRef.current)
365
+ return;
349
366
  (_b = (_a = searchProps.componentProps) === null || _a === void 0 ? void 0 : _a.onBlur) === null || _b === void 0 ? void 0 : _b.call(_a, event);
350
367
  handleFieldBlur(event);
351
368
  };
@@ -354,7 +371,7 @@ function (_a, ref) {
354
371
  _a[mobileStyles__default.default.search] = view === 'mobile',
355
372
  _a)), ref: mergeRefs__default.default([searchRef, ((_c = searchProps === null || searchProps === void 0 ? void 0 : searchProps.componentProps) === null || _c === void 0 ? void 0 : _c.ref) || null]) })));
356
373
  };
357
- var _11 = optionsListProps, header = _11.header, emptyPlaceholder = _11.emptyPlaceholder;
374
+ var _8 = optionsListProps, header = _8.header, emptyPlaceholder = _8.emptyPlaceholder;
358
375
  var renderOptionsListHeader = function () {
359
376
  if (header || (view === 'desktop' && showSearch)) {
360
377
  return (React__default.default.createElement(React__default.default.Fragment, null,
@@ -383,47 +400,7 @@ function (_a, ref) {
383
400
  _c)), emptyPlaceholder: renderEmptyPlaceholder(), onScroll: onScroll, search: search, multiple: multiple, limitDynamicOptionGroupSize: limitDynamicOptionGroupSize })),
384
401
  view === 'desktop' && React__default.default.createElement("div", { className: styles__default.default.optionsListBorder })));
385
402
  };
386
- var renderInPopover = function () {
387
- if (!nativeSelect && Popover) {
388
- return (React__default.default.createElement(Popover, tslib.__assign({}, popoverProps, { open: open, withTransition: false, anchorElement: fieldRef.current, position: popoverPosition, preventFlip: preventFlip, popperClassName: cn__default.default(styles__default.default.popoverInner, popperClassName), update: updatePopover, zIndex: zIndexPopover }), renderOptionsList()));
389
- }
390
- return null;
391
- };
392
- var renderInBottomSheet = function () {
393
- if (!nativeSelect && BottomSheet) {
394
- return (React__default.default.createElement(BottomSheet, tslib.__assign({ dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'bottom-sheet'), open: open, className: mobileStyles__default.default.sheet, contentClassName: mobileStyles__default.default.sheetContent, containerClassName: mobileStyles__default.default.sheetContainer, title: label || placeholder, actionButton: footer, stickyHeader: true, hasCloser: true, swipeable: swipeable, initialHeight: showSearch ? 'full' : 'default' }, bottomSheetProps, { sheetContainerRef: menuRef, scrollableContainerRef: scrollableContainerRef, onClose: function () {
395
- var _a;
396
- closeMenu();
397
- (_a = bottomSheetProps === null || bottomSheetProps === void 0 ? void 0 : bottomSheetProps.onClose) === null || _a === void 0 ? void 0 : _a.call(bottomSheetProps);
398
- }, transitionProps: tslib.__assign(tslib.__assign({}, bottomSheetProps === null || bottomSheetProps === void 0 ? void 0 : bottomSheetProps.transitionProps), { onEntered: handleEntered }), bottomAddons: React__default.default.createElement(React__default.default.Fragment, null,
399
- renderSearch(),
400
- flatOptions.length > 0 && (bottomSheetProps === null || bottomSheetProps === void 0 ? void 0 : bottomSheetProps.bottomAddons)), containerProps: tslib.__assign(tslib.__assign({}, bottomSheetProps === null || bottomSheetProps === void 0 ? void 0 : bottomSheetProps.containerProps), { onScroll: onScroll }) }), renderOptionsList()));
401
- }
402
- return null;
403
- };
404
- var renderInModalMobile = function () {
405
- if (!nativeSelect && ModalMobile) {
406
- return (React__default.default.createElement(ModalMobile, tslib.__assign({ dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'modal'), open: open, hasCloser: true }, modalProps, { componentRef: menuRef, onClose: function () {
407
- var _a;
408
- var args = [];
409
- for (var _i = 0; _i < arguments.length; _i++) {
410
- args[_i] = arguments[_i];
411
- }
412
- closeMenu();
413
- (_a = modalProps === null || modalProps === void 0 ? void 0 : modalProps.onClose) === null || _a === void 0 ? void 0 : _a.call.apply(_a, tslib.__spreadArray([modalProps], args, false));
414
- }, contentClassName: cn__default.default(mobileStyles__default.default.sheetContent, modalProps === null || modalProps === void 0 ? void 0 : modalProps.contentClassName), ref: mergeRefs__default.default([
415
- scrollableContainerRef,
416
- modalProps === null || modalProps === void 0 ? void 0 : modalProps.ref,
417
- ]), wrapperProps: tslib.__assign(tslib.__assign({}, modalProps === null || modalProps === void 0 ? void 0 : modalProps.wrapperProps), { onScroll: onScroll }), transitionProps: tslib.__assign(tslib.__assign({}, modalProps === null || modalProps === void 0 ? void 0 : modalProps.transitionProps), { onEntered: handleEntered }) }),
418
- React__default.default.createElement(ModalMobile.Header, tslib.__assign({ hasCloser: true, sticky: true }, modalHeaderProps, { title: undefined, bottomAddons: React__default.default.createElement(React__default.default.Fragment, null,
419
- renderSearch(),
420
- flatOptions.length > 0 && (modalHeaderProps === null || modalHeaderProps === void 0 ? void 0 : modalHeaderProps.bottomAddons)) }), (modalHeaderProps === null || modalHeaderProps === void 0 ? void 0 : modalHeaderProps.title) || label || placeholder),
421
- React__default.default.createElement(ModalMobile.Content, { flex: true, className: mobileStyles__default.default.modalContent }, renderOptionsList()),
422
- (modalFooterProps === null || modalFooterProps === void 0 ? void 0 : modalFooterProps.children) && React__default.default.createElement(ModalMobile.Footer, tslib.__assign({}, modalFooterProps))));
423
- }
424
- return null;
425
- };
426
- return (React__default.default.createElement("div", tslib.__assign({}, (disabled && { 'aria-disabled': true }), { "aria-expanded": inputProps['aria-expanded'], "aria-haspopup": 'listbox', role: inputProps.role, className: cn__default.default(styles__default.default.component, (_b = {}, _b[styles__default.default.block] = block, _b), className), ref: rootRef, onKeyDown: disabled ? undefined : handleFieldKeyDown, tabIndex: -1, "data-test-id": coreComponentsShared.getDataTestId(dataTestId) }),
403
+ return (React__default.default.createElement("div", tslib.__assign({}, (disabled && { 'aria-disabled': true }), { "aria-expanded": inputProps['aria-expanded'], "aria-haspopup": 'listbox', role: inputProps.role, className: cn__default.default(styles__default.default.component, (_a = {}, _a[styles__default.default.block] = block, _a), className), ref: rootRef, onKeyDown: disabled ? undefined : handleFieldKeyDown, tabIndex: -1, "data-test-id": coreComponentsShared.getDataTestId(dataTestId) }),
427
404
  nativeSelect && renderNativeSelect(),
428
405
  React__default.default.createElement(Field, tslib.__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.__assign({}, getLabelProps()), label), labelView: labelView, Arrow: Arrow && React__default.default.createElement(Arrow, { open: open }), error: error, hint: hint, valueRenderer: valueRenderer, className: fieldClassName, innerProps: {
429
406
  onBlur: handleFieldBlur,
@@ -439,9 +416,10 @@ function (_a, ref) {
439
416
  : undefined,
440
417
  }, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'field') }, fieldProps)),
441
418
  name && !nativeSelect && renderValue(),
442
- view === 'desktop' && renderInPopover(),
443
- view === 'mobile' && isBottomSheet && renderInBottomSheet(),
444
- view === 'mobile' && !isBottomSheet && renderInModalMobile()));
419
+ view === 'desktop' && !nativeSelect && (React__default.default.createElement(components_baseSelect_components_listDesktop_listPopoverDesktop.ListPopoverDesktop, tslib.__assign({}, components_baseSelect_components_listDesktop_helpers_getListPopoverDesktopProps.getListPopoverDesktopProps(props), { open: open, fieldRef: fieldRef, renderOptionsList: renderOptionsList }))),
420
+ view === 'mobile' && (React__default.default.createElement(components_baseSelect_components_listMobile_listMobile.ListMobile, { baseProps: isBottomSheet
421
+ ? components_baseSelect_components_listMobile_helpers_getListBottomSheetMobileProps.getListBottomSheetMobileProps(props)
422
+ : components_baseSelect_components_listMobile_helpers_getListModalMobileProps.getListModalMobileProps(props), open: open, menuRef: menuRef, scrollableContainerRef: scrollableContainerRef, flatOptions: flatOptions, renderOptionsList: renderOptionsList, renderSearch: renderSearch, closeMenu: closeMenu, handleEntered: handleEntered }))));
445
423
  });
446
424
 
447
425
  exports.BaseSelect = BaseSelect;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { ComponentProps } from "../../../types/component-types";
3
+ declare const getListPopoverDesktopProps: (props: ComponentProps) => {
4
+ Popover: import("react").ForwardRefExoticComponent<import("@alfalab/core-components-popover").PopoverProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
5
+ popoverProps: Omit<import("@alfalab/core-components-popover").PopoverProps, "className" | "dataTestId" | "anchorElement" | "position" | "preventFlip" | "open" | "update" | "zIndex"> | undefined;
6
+ popoverPosition: import("@alfalab/core-components-popover").Position;
7
+ preventFlip: boolean;
8
+ popperClassName: string | undefined;
9
+ updatePopover: import("react").MutableRefObject<(() => void) | undefined> | undefined;
10
+ zIndexPopover: number | undefined;
11
+ };
12
+ export { getListPopoverDesktopProps };
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ // отделяем необходимые пропсы для передачи в компонент
6
+ var getListPopoverDesktopProps = function (props) {
7
+ var Popover = props.Popover, popoverProps = props.popoverProps, _a = props.popoverPosition, popoverPosition = _a === void 0 ? 'bottom-start' : _a, _b = props.preventFlip, preventFlip = _b === void 0 ? true : _b, popperClassName = props.popperClassName, updatePopover = props.updatePopover, zIndexPopover = props.zIndexPopover;
8
+ return {
9
+ Popover: Popover,
10
+ popoverProps: popoverProps,
11
+ popoverPosition: popoverPosition,
12
+ preventFlip: preventFlip,
13
+ popperClassName: popperClassName,
14
+ updatePopover: updatePopover,
15
+ zIndexPopover: zIndexPopover,
16
+ };
17
+ };
18
+
19
+ exports.getListPopoverDesktopProps = getListPopoverDesktopProps;
@@ -0,0 +1,9 @@
1
+ import { FC, ReactNode, RefObject } from 'react';
2
+ import { ListPopoverDesktopRestProps } from "./types/types";
3
+ type ListPopoverDesktopProps = {
4
+ open: boolean;
5
+ fieldRef: RefObject<HTMLInputElement>;
6
+ renderOptionsList: () => ReactNode;
7
+ } & ListPopoverDesktopRestProps;
8
+ declare const ListPopoverDesktop: FC<ListPopoverDesktopProps>;
9
+ export { ListPopoverDesktop };
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var cn = require('classnames');
8
+ var styles = require('../../index.module.css');
9
+
10
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
13
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
14
+ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
15
+
16
+ var ListPopoverDesktop = function (props) {
17
+ var Popover = props.Popover, open = props.open, popoverProps = props.popoverProps, fieldRef = props.fieldRef, _a = props.popoverPosition, popoverPosition = _a === void 0 ? 'bottom-start' : _a, _b = props.preventFlip, preventFlip = _b === void 0 ? true : _b, popperClassName = props.popperClassName, updatePopover = props.updatePopover, zIndexPopover = props.zIndexPopover, renderOptionsList = props.renderOptionsList;
18
+ if (Popover) {
19
+ return (React__default.default.createElement(Popover, tslib.__assign({}, popoverProps, { open: open, withTransition: false, anchorElement: fieldRef.current, position: popoverPosition, preventFlip: preventFlip, popperClassName: cn__default.default(styles__default.default.popoverInner, popperClassName), update: updatePopover, zIndex: zIndexPopover }), renderOptionsList()));
20
+ }
21
+ return null;
22
+ };
23
+
24
+ exports.ListPopoverDesktop = ListPopoverDesktop;
@@ -0,0 +1,3 @@
1
+ import { getListPopoverDesktopProps } from "../helpers/get-list-popover-desktop-props";
2
+ type ListPopoverDesktopRestProps = ReturnType<typeof getListPopoverDesktopProps>;
3
+ export { ListPopoverDesktopRestProps };
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ import { ComponentProps } from "../../../types/component-types";
3
+ declare const getListBottomSheetMobileProps: (props: ComponentProps) => {
4
+ BottomSheet: import("react").ForwardRefExoticComponent<import("@alfalab/core-components-bottom-sheet").BottomSheetProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
5
+ dataTestId: string | undefined;
6
+ label: import("react").ReactNode;
7
+ placeholder: string | undefined;
8
+ footer: import("react").ReactNode;
9
+ swipeable: boolean | undefined;
10
+ showSearch: boolean | undefined;
11
+ bottomSheetProps: Partial<import("@alfalab/core-components-bottom-sheet").BottomSheetProps> | undefined;
12
+ isBottomSheet: boolean;
13
+ nativeSelect: boolean;
14
+ onScroll: ((event: import("react").MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
15
+ };
16
+ export { getListBottomSheetMobileProps };
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ // отделяем необходимые пропсы для передачи в компонент
6
+ var getListBottomSheetMobileProps = function (props) {
7
+ var BottomSheet = props.BottomSheet, dataTestId = props.dataTestId, label = props.label, placeholder = props.placeholder, footer = props.footer, swipeable = props.swipeable, showSearch = props.showSearch, bottomSheetProps = props.bottomSheetProps, _a = props.isBottomSheet, isBottomSheet = _a === void 0 ? true : _a, _b = props.nativeSelect, nativeSelect = _b === void 0 ? false : _b, onScroll = props.onScroll;
8
+ return {
9
+ BottomSheet: BottomSheet,
10
+ dataTestId: dataTestId,
11
+ label: label,
12
+ placeholder: placeholder,
13
+ footer: footer,
14
+ swipeable: swipeable,
15
+ showSearch: showSearch,
16
+ bottomSheetProps: bottomSheetProps,
17
+ isBottomSheet: isBottomSheet,
18
+ nativeSelect: nativeSelect,
19
+ onScroll: onScroll,
20
+ };
21
+ };
22
+
23
+ exports.getListBottomSheetMobileProps = getListBottomSheetMobileProps;
@@ -0,0 +1,28 @@
1
+ /// <reference types="react" />
2
+ import { ComponentProps } from "../../../types/component-types";
3
+ declare const getListModalMobileProps: (props: ComponentProps) => {
4
+ ModalMobile: (import("react").ForwardRefExoticComponent<import("../../../types/component-types").ModalMobileProps & import("react").RefAttributes<HTMLDivElement>> & {
5
+ Header: import("react").FC<import("@alfalab/core-components-modal/shared").ModalHeaderProps>;
6
+ Footer: import("react").FC<import("@alfalab/core-components-modal/shared").ModalFooterProps>;
7
+ Content: import("react").FC<import("../../../types/component-types").ContentProps>;
8
+ }) | undefined;
9
+ dataTestId: string | undefined;
10
+ modalProps: Partial<import("@alfalab/core-components-base-modal").BaseModalProps & {
11
+ size?: "s" | "m" | "l" | "xl" | 500 | "fullscreen" | 600 | 800 | 1140 | undefined;
12
+ fullscreen?: boolean | undefined;
13
+ fixedPosition?: boolean | undefined;
14
+ hasCloser?: boolean | undefined;
15
+ iOSLock?: boolean | undefined;
16
+ } & {
17
+ breakpoint?: number | undefined;
18
+ defaultMatchMediaValue?: boolean | (() => boolean) | undefined;
19
+ } & import("react").RefAttributes<HTMLDivElement>> | undefined;
20
+ modalHeaderProps: Partial<import("@alfalab/core-components-modal/shared").ModalHeaderProps> | undefined;
21
+ modalFooterProps: Partial<import("@alfalab/core-components-modal/shared").ModalFooterProps> | undefined;
22
+ label: import("react").ReactNode;
23
+ placeholder: string | undefined;
24
+ isBottomSheet: boolean;
25
+ nativeSelect: boolean;
26
+ onScroll: ((event: import("react").MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
27
+ };
28
+ export { getListModalMobileProps };
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ // отделяем необходимые пропсы для передачи в компонент
6
+ var getListModalMobileProps = function (props) {
7
+ var ModalMobile = props.ModalMobile, dataTestId = props.dataTestId, modalProps = props.modalProps, modalHeaderProps = props.modalHeaderProps, modalFooterProps = props.modalFooterProps, label = props.label, placeholder = props.placeholder, _a = props.isBottomSheet, isBottomSheet = _a === void 0 ? true : _a, _b = props.nativeSelect, nativeSelect = _b === void 0 ? false : _b, onScroll = props.onScroll;
8
+ return {
9
+ ModalMobile: ModalMobile,
10
+ dataTestId: dataTestId,
11
+ modalProps: modalProps,
12
+ modalHeaderProps: modalHeaderProps,
13
+ modalFooterProps: modalFooterProps,
14
+ label: label,
15
+ placeholder: placeholder,
16
+ isBottomSheet: isBottomSheet,
17
+ nativeSelect: nativeSelect,
18
+ onScroll: onScroll,
19
+ };
20
+ };
21
+
22
+ exports.getListModalMobileProps = getListModalMobileProps;
@@ -0,0 +1,2 @@
1
+ export { getListModalMobileProps } from "./get-list-modal-mobile-props";
2
+ export { getListBottomSheetMobileProps } from "./get-list-bottom-sheet-mobile-props";
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var components_baseSelect_components_listMobile_helpers_getListModalMobileProps = require('./get-list-modal-mobile-props.js');
6
+ var components_baseSelect_components_listMobile_helpers_getListBottomSheetMobileProps = require('./get-list-bottom-sheet-mobile-props.js');
7
+
8
+
9
+
10
+ exports.getListModalMobileProps = components_baseSelect_components_listMobile_helpers_getListModalMobileProps.getListModalMobileProps;
11
+ exports.getListBottomSheetMobileProps = components_baseSelect_components_listMobile_helpers_getListBottomSheetMobileProps.getListBottomSheetMobileProps;
@@ -0,0 +1,15 @@
1
+ import { FC, ReactNode, RefObject } from 'react';
2
+ import { OptionShape } from "../../../../typings";
3
+ import { ListBottomSheetMobileRestProps } from "./types/types";
4
+ type ListMobileProps = {
5
+ open: boolean;
6
+ menuRef: RefObject<HTMLDivElement>;
7
+ scrollableContainerRef: RefObject<HTMLDivElement>;
8
+ flatOptions: OptionShape[];
9
+ closeMenu: () => void;
10
+ handleEntered: (node: HTMLElement, isAppearing: boolean) => void;
11
+ renderSearch: () => ReactNode;
12
+ renderOptionsList: () => ReactNode;
13
+ } & ListBottomSheetMobileRestProps;
14
+ declare const ListBottomSheetMobile: FC<ListMobileProps>;
15
+ export { ListBottomSheetMobile };
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var coreComponentsShared = require('@alfalab/core-components-shared/cssm');
8
+ var mobileStyles = require('../../mobile.module.css');
9
+
10
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
13
+ var mobileStyles__default = /*#__PURE__*/_interopDefaultCompat(mobileStyles);
14
+
15
+ var ListBottomSheetMobile = function (props) {
16
+ var BottomSheet = props.BottomSheet, dataTestId = props.dataTestId, open = props.open, label = props.label, placeholder = props.placeholder, footer = props.footer, swipeable = props.swipeable, showSearch = props.showSearch, bottomSheetProps = props.bottomSheetProps, menuRef = props.menuRef, scrollableContainerRef = props.scrollableContainerRef, onScroll = props.onScroll, flatOptions = props.flatOptions, closeMenu = props.closeMenu, handleEntered = props.handleEntered, renderSearch = props.renderSearch, renderOptionsList = props.renderOptionsList;
17
+ if (BottomSheet) {
18
+ return (React__default.default.createElement(BottomSheet, tslib.__assign({ dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'bottom-sheet'), open: open, className: mobileStyles__default.default.sheet, contentClassName: mobileStyles__default.default.sheetContent, containerClassName: mobileStyles__default.default.sheetContainer, title: label || placeholder, actionButton: footer, stickyHeader: true, hasCloser: true, swipeable: swipeable, initialHeight: showSearch ? 'full' : 'default' }, bottomSheetProps, { sheetContainerRef: menuRef, scrollableContainerRef: scrollableContainerRef, onClose: function () {
19
+ var _a;
20
+ closeMenu();
21
+ (_a = bottomSheetProps === null || bottomSheetProps === void 0 ? void 0 : bottomSheetProps.onClose) === null || _a === void 0 ? void 0 : _a.call(bottomSheetProps);
22
+ }, transitionProps: tslib.__assign(tslib.__assign({}, bottomSheetProps === null || bottomSheetProps === void 0 ? void 0 : bottomSheetProps.transitionProps), { onEntered: handleEntered }), bottomAddons: React__default.default.createElement(React__default.default.Fragment, null,
23
+ renderSearch(),
24
+ flatOptions.length > 0 && (bottomSheetProps === null || bottomSheetProps === void 0 ? void 0 : bottomSheetProps.bottomAddons)), containerProps: tslib.__assign(tslib.__assign({}, bottomSheetProps === null || bottomSheetProps === void 0 ? void 0 : bottomSheetProps.containerProps), { onScroll: onScroll }) }), renderOptionsList()));
25
+ }
26
+ return null;
27
+ };
28
+
29
+ exports.ListBottomSheetMobile = ListBottomSheetMobile;