@alfalab/core-components-select 17.22.0 → 17.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/components/arrow/Component.js +1 -1
  2. package/components/arrow/index.css +5 -5
  3. package/components/base-checkmark/Component.js +1 -1
  4. package/components/base-checkmark/index.css +6 -6
  5. package/components/base-option/Component.js +1 -1
  6. package/components/base-option/index.css +17 -17
  7. package/components/base-select/Component.js +78 -33
  8. package/components/base-select/index.css +12 -12
  9. package/components/base-select/mobile.css +12 -12
  10. package/components/checkmark/Component.js +1 -1
  11. package/components/checkmark/index.css +10 -10
  12. package/components/checkmark-mobile/Component.js +1 -1
  13. package/components/checkmark-mobile/index.css +6 -6
  14. package/components/clear-button/Component.js +1 -1
  15. package/components/clear-button/index.css +5 -5
  16. package/components/field/Component.js +1 -1
  17. package/components/field/index.css +14 -14
  18. package/components/footer/Component.js +1 -1
  19. package/components/footer/index.css +5 -5
  20. package/components/optgroup/Component.js +1 -1
  21. package/components/optgroup/index.css +5 -5
  22. package/components/option/desktop/Component.js +1 -1
  23. package/components/option/desktop/index.css +21 -21
  24. package/components/option/mobile/Component.js +1 -1
  25. package/components/option/mobile/index.css +18 -18
  26. package/components/options-list/Component.js +1 -1
  27. package/components/options-list/index.css +10 -10
  28. package/components/search/Component.js +1 -1
  29. package/components/search/index.css +2 -2
  30. package/components/virtual-options-list/Component.js +4 -4
  31. package/components/virtual-options-list/index.css +14 -14
  32. package/cssm/components/base-select/Component.js +62 -22
  33. package/cssm/components/virtual-options-list/Component.js +3 -3
  34. package/cssm/mobile/Component.mobile.js +1 -1
  35. package/esm/components/arrow/Component.js +1 -1
  36. package/esm/components/arrow/index.css +5 -5
  37. package/esm/components/base-checkmark/Component.js +1 -1
  38. package/esm/components/base-checkmark/index.css +6 -6
  39. package/esm/components/base-option/Component.js +1 -1
  40. package/esm/components/base-option/index.css +17 -17
  41. package/esm/components/base-select/Component.js +68 -23
  42. package/esm/components/base-select/index.css +12 -12
  43. package/esm/components/base-select/mobile.css +12 -12
  44. package/esm/components/checkmark/Component.js +1 -1
  45. package/esm/components/checkmark/index.css +10 -10
  46. package/esm/components/checkmark-mobile/Component.js +1 -1
  47. package/esm/components/checkmark-mobile/index.css +6 -6
  48. package/esm/components/clear-button/Component.js +1 -1
  49. package/esm/components/clear-button/index.css +5 -5
  50. package/esm/components/field/Component.js +1 -1
  51. package/esm/components/field/index.css +14 -14
  52. package/esm/components/footer/Component.js +1 -1
  53. package/esm/components/footer/index.css +5 -5
  54. package/esm/components/optgroup/Component.js +1 -1
  55. package/esm/components/optgroup/index.css +5 -5
  56. package/esm/components/option/desktop/Component.js +1 -1
  57. package/esm/components/option/desktop/index.css +21 -21
  58. package/esm/components/option/mobile/Component.js +1 -1
  59. package/esm/components/option/mobile/index.css +18 -18
  60. package/esm/components/options-list/Component.js +1 -1
  61. package/esm/components/options-list/index.css +10 -10
  62. package/esm/components/search/Component.js +1 -1
  63. package/esm/components/search/index.css +2 -2
  64. package/esm/components/virtual-options-list/Component.js +4 -4
  65. package/esm/components/virtual-options-list/index.css +14 -14
  66. package/esm/mobile/Component.mobile.js +2 -2
  67. package/esm/presets/index.js +1 -1
  68. package/esm/presets/useSelectWithApply/hook.js +1 -1
  69. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  70. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  71. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +4 -4
  72. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  73. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  74. package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  75. package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  76. package/esm/presets/useSelectWithLoading/hook.js +1 -1
  77. package/esm/presets/useSelectWithLoading/index.css +2 -2
  78. package/esm/shared/index.js +1 -1
  79. package/mobile/Component.mobile.js +2 -2
  80. package/modern/components/arrow/Component.js +1 -1
  81. package/modern/components/arrow/index.css +5 -5
  82. package/modern/components/base-checkmark/Component.js +1 -1
  83. package/modern/components/base-checkmark/index.css +6 -6
  84. package/modern/components/base-option/Component.js +1 -1
  85. package/modern/components/base-option/index.css +17 -17
  86. package/modern/components/base-select/Component.js +64 -13
  87. package/modern/components/base-select/index.css +12 -12
  88. package/modern/components/base-select/mobile.css +12 -12
  89. package/modern/components/checkmark/Component.js +1 -1
  90. package/modern/components/checkmark/index.css +10 -10
  91. package/modern/components/checkmark-mobile/Component.js +1 -1
  92. package/modern/components/checkmark-mobile/index.css +6 -6
  93. package/modern/components/clear-button/Component.js +1 -1
  94. package/modern/components/clear-button/index.css +5 -5
  95. package/modern/components/field/Component.js +1 -1
  96. package/modern/components/field/index.css +14 -14
  97. package/modern/components/footer/Component.js +1 -1
  98. package/modern/components/footer/index.css +5 -5
  99. package/modern/components/optgroup/Component.js +1 -1
  100. package/modern/components/optgroup/index.css +5 -5
  101. package/modern/components/option/desktop/Component.js +1 -1
  102. package/modern/components/option/desktop/index.css +21 -21
  103. package/modern/components/option/mobile/Component.js +1 -1
  104. package/modern/components/option/mobile/index.css +18 -18
  105. package/modern/components/options-list/Component.js +1 -1
  106. package/modern/components/options-list/index.css +10 -10
  107. package/modern/components/search/Component.js +1 -1
  108. package/modern/components/search/index.css +2 -2
  109. package/modern/components/virtual-options-list/Component.js +4 -4
  110. package/modern/components/virtual-options-list/index.css +14 -14
  111. package/modern/mobile/Component.mobile.js +2 -1
  112. package/modern/presets/index.js +1 -1
  113. package/modern/presets/useSelectWithApply/hook.js +1 -1
  114. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  115. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  116. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +4 -4
  117. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  118. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  119. package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  120. package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  121. package/modern/presets/useSelectWithLoading/hook.js +1 -1
  122. package/modern/presets/useSelectWithLoading/index.css +2 -2
  123. package/modern/shared/index.js +1 -1
  124. package/moderncssm/components/base-select/Component.js +58 -12
  125. package/moderncssm/components/virtual-options-list/Component.js +3 -3
  126. package/moderncssm/mobile/Component.mobile.js +1 -0
  127. package/package.json +3 -3
  128. package/presets/index.js +1 -1
  129. package/presets/useSelectWithApply/hook.js +1 -1
  130. package/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  131. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  132. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +4 -4
  133. package/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  134. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  135. package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  136. package/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  137. package/presets/useSelectWithLoading/hook.js +1 -1
  138. package/presets/useSelectWithLoading/index.css +2 -2
  139. package/shared/index.js +1 -1
  140. package/src/components/base-select/Component.tsx +157 -36
  141. package/src/components/virtual-options-list/Component.tsx +3 -2
  142. package/src/mobile/Component.mobile.tsx +1 -0
  143. package/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.d.ts +0 -12
  144. package/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.js +0 -19
  145. package/components/base-select/components/list-desktop/list-popover-desktop.d.ts +0 -0
  146. package/components/base-select/components/list-desktop/list-popover-desktop.js +0 -12
  147. package/components/base-select/components/list-desktop/types/types.d.ts +0 -3
  148. package/components/base-select/components/list-desktop/types/types.js +0 -2
  149. package/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.d.ts +0 -18
  150. package/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.js +0 -23
  151. package/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.d.ts +0 -31
  152. package/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.js +0 -22
  153. package/components/base-select/components/list-mobile/helpers/index.d.ts +0 -2
  154. package/components/base-select/components/list-mobile/helpers/index.js +0 -11
  155. package/components/base-select/components/list-mobile/list-bottom-sheet-mobile.d.ts +0 -15
  156. package/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +0 -31
  157. package/components/base-select/components/list-mobile/list-mobile.d.ts +0 -16
  158. package/components/base-select/components/list-mobile/list-mobile.js +0 -26
  159. package/components/base-select/components/list-mobile/list-modal-mobile.d.ts +0 -15
  160. package/components/base-select/components/list-mobile/list-modal-mobile.js +0 -45
  161. package/components/base-select/components/list-mobile/types/types.d.ts +0 -4
  162. package/components/base-select/components/list-mobile/types/types.js +0 -2
  163. package/cssm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.d.ts +0 -12
  164. package/cssm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.js +0 -19
  165. package/cssm/components/base-select/components/list-desktop/list-popover-desktop.d.ts +0 -9
  166. package/cssm/components/base-select/components/list-desktop/list-popover-desktop.js +0 -24
  167. package/cssm/components/base-select/components/list-desktop/types/types.d.ts +0 -3
  168. package/cssm/components/base-select/components/list-desktop/types/types.js +0 -2
  169. package/cssm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.d.ts +0 -18
  170. package/cssm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.js +0 -23
  171. package/cssm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.d.ts +0 -31
  172. package/cssm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.js +0 -22
  173. package/cssm/components/base-select/components/list-mobile/helpers/index.d.ts +0 -2
  174. package/cssm/components/base-select/components/list-mobile/helpers/index.js +0 -11
  175. package/cssm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.d.ts +0 -15
  176. package/cssm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +0 -32
  177. package/cssm/components/base-select/components/list-mobile/list-mobile.d.ts +0 -16
  178. package/cssm/components/base-select/components/list-mobile/list-mobile.js +0 -26
  179. package/cssm/components/base-select/components/list-mobile/list-modal-mobile.d.ts +0 -15
  180. package/cssm/components/base-select/components/list-mobile/list-modal-mobile.js +0 -46
  181. package/cssm/components/base-select/components/list-mobile/types/types.d.ts +0 -4
  182. package/cssm/components/base-select/components/list-mobile/types/types.js +0 -2
  183. package/esm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.d.ts +0 -12
  184. package/esm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.js +0 -15
  185. package/esm/components/base-select/components/list-desktop/list-popover-desktop.d.ts +0 -0
  186. package/esm/components/base-select/components/list-desktop/list-popover-desktop.js +0 -4
  187. package/esm/components/base-select/components/list-desktop/types/types.d.ts +0 -3
  188. package/esm/components/base-select/components/list-desktop/types/types.js +0 -1
  189. package/esm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.d.ts +0 -18
  190. package/esm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.js +0 -19
  191. package/esm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.d.ts +0 -31
  192. package/esm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.js +0 -18
  193. package/esm/components/base-select/components/list-mobile/helpers/index.d.ts +0 -2
  194. package/esm/components/base-select/components/list-mobile/helpers/index.js +0 -2
  195. package/esm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.d.ts +0 -15
  196. package/esm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +0 -23
  197. package/esm/components/base-select/components/list-mobile/list-mobile.d.ts +0 -16
  198. package/esm/components/base-select/components/list-mobile/list-mobile.js +0 -18
  199. package/esm/components/base-select/components/list-mobile/list-modal-mobile.d.ts +0 -15
  200. package/esm/components/base-select/components/list-mobile/list-modal-mobile.js +0 -35
  201. package/esm/components/base-select/components/list-mobile/types/types.d.ts +0 -4
  202. package/esm/components/base-select/components/list-mobile/types/types.js +0 -1
  203. package/esm/list-popover-desktop-ce7230ff.d.ts +0 -9
  204. package/esm/list-popover-desktop-ce7230ff.js +0 -16
  205. package/esm/mobile.module-4cb6e76e.js +0 -4
  206. package/list-popover-desktop-c264abbb.d.ts +0 -9
  207. package/list-popover-desktop-c264abbb.js +0 -24
  208. package/mobile.module-16f2c15a.js +0 -6
  209. package/modern/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.d.ts +0 -12
  210. package/modern/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.js +0 -15
  211. package/modern/components/base-select/components/list-desktop/list-popover-desktop.d.ts +0 -0
  212. package/modern/components/base-select/components/list-desktop/list-popover-desktop.js +0 -3
  213. package/modern/components/base-select/components/list-desktop/types/types.d.ts +0 -3
  214. package/modern/components/base-select/components/list-desktop/types/types.js +0 -1
  215. package/modern/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.d.ts +0 -18
  216. package/modern/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.js +0 -19
  217. package/modern/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.d.ts +0 -31
  218. package/modern/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.js +0 -18
  219. package/modern/components/base-select/components/list-mobile/helpers/index.d.ts +0 -2
  220. package/modern/components/base-select/components/list-mobile/helpers/index.js +0 -2
  221. package/modern/components/base-select/components/list-mobile/list-bottom-sheet-mobile.d.ts +0 -15
  222. package/modern/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +0 -27
  223. package/modern/components/base-select/components/list-mobile/list-mobile.d.ts +0 -16
  224. package/modern/components/base-select/components/list-mobile/list-mobile.js +0 -17
  225. package/modern/components/base-select/components/list-mobile/list-modal-mobile.d.ts +0 -15
  226. package/modern/components/base-select/components/list-mobile/list-modal-mobile.js +0 -35
  227. package/modern/components/base-select/components/list-mobile/types/types.d.ts +0 -4
  228. package/modern/components/base-select/components/list-mobile/types/types.js +0 -1
  229. package/modern/list-popover-desktop-ef23ef00.d.ts +0 -9
  230. package/modern/list-popover-desktop-ef23ef00.js +0 -15
  231. package/modern/mobile.module-4725bcd2.js +0 -4
  232. package/moderncssm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.d.ts +0 -12
  233. package/moderncssm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.js +0 -15
  234. package/moderncssm/components/base-select/components/list-desktop/list-popover-desktop.d.ts +0 -9
  235. package/moderncssm/components/base-select/components/list-desktop/list-popover-desktop.js +0 -13
  236. package/moderncssm/components/base-select/components/list-desktop/types/types.d.ts +0 -3
  237. package/moderncssm/components/base-select/components/list-desktop/types/types.js +0 -1
  238. package/moderncssm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.d.ts +0 -18
  239. package/moderncssm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.js +0 -19
  240. package/moderncssm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.d.ts +0 -31
  241. package/moderncssm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.js +0 -18
  242. package/moderncssm/components/base-select/components/list-mobile/helpers/index.d.ts +0 -2
  243. package/moderncssm/components/base-select/components/list-mobile/helpers/index.js +0 -2
  244. package/moderncssm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.d.ts +0 -15
  245. package/moderncssm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +0 -27
  246. package/moderncssm/components/base-select/components/list-mobile/list-mobile.d.ts +0 -16
  247. package/moderncssm/components/base-select/components/list-mobile/list-mobile.js +0 -17
  248. package/moderncssm/components/base-select/components/list-mobile/list-modal-mobile.d.ts +0 -15
  249. package/moderncssm/components/base-select/components/list-mobile/list-modal-mobile.js +0 -35
  250. package/moderncssm/components/base-select/components/list-mobile/types/types.d.ts +0 -4
  251. package/moderncssm/components/base-select/components/list-mobile/types/types.js +0 -1
  252. package/src/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.tsx +0 -24
  253. package/src/components/base-select/components/list-desktop/list-popover-desktop.tsx +0 -47
  254. package/src/components/base-select/components/list-desktop/types/types.ts +0 -3
  255. package/src/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.tsx +0 -32
  256. package/src/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.tsx +0 -30
  257. package/src/components/base-select/components/list-mobile/helpers/index.ts +0 -2
  258. package/src/components/base-select/components/list-mobile/list-bottom-sheet-mobile.tsx +0 -88
  259. package/src/components/base-select/components/list-mobile/list-mobile.tsx +0 -39
  260. package/src/components/base-select/components/list-mobile/list-modal-mobile.tsx +0 -98
  261. package/src/components/base-select/components/list-mobile/types/types.ts +0 -4
  262. /package/esm/{hook-032fca92.d.ts → hook-40e5e32c.d.ts} +0 -0
  263. /package/esm/{hook-032fca92.js → hook-40e5e32c.js} +0 -0
  264. /package/{hook-8e994d7b.d.ts → hook-c750186e.d.ts} +0 -0
  265. /package/{hook-8e994d7b.js → hook-c750186e.js} +0 -0
  266. /package/modern/{hook-827e015d.d.ts → hook-a3714755.d.ts} +0 -0
  267. /package/modern/{hook-827e015d.js → hook-a3714755.js} +0 -0
@@ -35,13 +35,6 @@ import {
35
35
  } from '../../utils';
36
36
  import { NativeSelect } from '../native-select';
37
37
 
38
- import { getListPopoverDesktopProps } from './components/list-desktop/helpers/get-list-popover-desktop-props';
39
- import { ListPopoverDesktop } from './components/list-desktop/list-popover-desktop';
40
- import {
41
- getListBottomSheetMobileProps,
42
- getListModalMobileProps,
43
- } from './components/list-mobile/helpers';
44
- import { ListMobile } from './components/list-mobile/list-mobile';
45
38
  import { ComponentProps } from './types/component-types';
46
39
 
47
40
  import styles from './index.module.css';
@@ -62,6 +55,7 @@ export const BaseSelect = forwardRef<unknown, ComponentProps>(
62
55
  optionGroupClassName,
63
56
  optionsListClassName,
64
57
  optionClassName,
58
+ popperClassName,
65
59
  options,
66
60
  autocomplete = false,
67
61
  multiple = false,
@@ -72,6 +66,8 @@ export const BaseSelect = forwardRef<unknown, ComponentProps>(
72
66
  nativeSelect = false,
73
67
  defaultOpen = false,
74
68
  open: openProp,
69
+ popoverPosition = 'bottom-start',
70
+ preventFlip = true,
75
71
  optionsListWidth = 'content',
76
72
  name,
77
73
  id,
@@ -104,12 +100,22 @@ export const BaseSelect = forwardRef<unknown, ComponentProps>(
104
100
  Optgroup = () => null,
105
101
  Option = () => null,
106
102
  Search = () => null,
103
+ updatePopover,
104
+ zIndexPopover,
107
105
  showEmptyOptionsList = false,
108
106
  visibleOptions,
109
107
  view,
110
108
  isBottomSheet = true,
109
+ footer,
110
+ swipeable,
111
111
  modalProps,
112
+ popoverProps,
113
+ modalFooterProps,
114
+ modalHeaderProps,
112
115
  bottomSheetProps,
116
+ Popover,
117
+ ModalMobile,
118
+ BottomSheet,
113
119
  limitDynamicOptionGroupSize,
114
120
  } = props;
115
121
  const shouldSearchBlurRef = useRef(true);
@@ -481,7 +487,7 @@ export const BaseSelect = forwardRef<unknown, ComponentProps>(
481
487
  ? rootRef.current.getBoundingClientRect().width
482
488
  : 0;
483
489
 
484
- listRef.current.setAttribute('style', '');
490
+ listRef.current.removeAttribute('style');
485
491
  listRef.current.style[widthAttr] = `${optionsListMinWidth}px`;
486
492
  }
487
493
  }, [view, optionsListWidth]);
@@ -625,8 +631,14 @@ export const BaseSelect = forwardRef<unknown, ComponentProps>(
625
631
  {...listProps}
626
632
  ref={view === 'desktop' ? listProps.ref : scrollableContainerRef}
627
633
  setHighlightedIndex={view === 'desktop' ? setHighlightedIndex : undefined}
628
- className={cn({ [mobileStyles.optionsList]: view === 'mobile' })}
629
- scrollbarClassName={cn({ [mobileStyles.scrollbar]: view === 'mobile' })}
634
+ className={cn(
635
+ { [mobileStyles.optionsList]: view === 'mobile' },
636
+ listProps.className,
637
+ )}
638
+ scrollbarClassName={cn(
639
+ { [mobileStyles.scrollbar]: view === 'mobile' },
640
+ listProps.scrollbarClassName,
641
+ )}
630
642
  optionsListWidth={optionsListWidth}
631
643
  flatOptions={flatOptions}
632
644
  highlightedIndex={highlightedIndex}
@@ -657,6 +669,138 @@ export const BaseSelect = forwardRef<unknown, ComponentProps>(
657
669
  );
658
670
  };
659
671
 
672
+ const renderInPopover = () => {
673
+ if (!nativeSelect && Popover) {
674
+ return (
675
+ <Popover
676
+ {...popoverProps}
677
+ open={open}
678
+ withTransition={false}
679
+ anchorElement={fieldRef.current as HTMLElement}
680
+ position={popoverPosition}
681
+ preventFlip={preventFlip}
682
+ popperClassName={cn(styles.popoverInner, popperClassName)}
683
+ update={updatePopover}
684
+ zIndex={zIndexPopover}
685
+ >
686
+ {renderOptionsList()}
687
+ </Popover>
688
+ );
689
+ }
690
+
691
+ return null;
692
+ };
693
+
694
+ const renderInBottomSheet = () => {
695
+ if (!nativeSelect && BottomSheet) {
696
+ const bottomAddons = bottomSheetProps?.bottomAddons;
697
+
698
+ return (
699
+ <BottomSheet
700
+ dataTestId={getDataTestId(dataTestId, 'bottom-sheet')}
701
+ open={open}
702
+ className={mobileStyles.sheet}
703
+ contentClassName={mobileStyles.sheetContent}
704
+ containerClassName={mobileStyles.sheetContainer}
705
+ title={label || placeholder}
706
+ actionButton={footer}
707
+ stickyHeader={true}
708
+ hasCloser={true}
709
+ swipeable={swipeable}
710
+ initialHeight={showSearch ? 'full' : 'default'}
711
+ {...bottomSheetProps}
712
+ sheetContainerRef={menuRef}
713
+ scrollableContainerRef={scrollableContainerRef}
714
+ onClose={() => {
715
+ closeMenu();
716
+ bottomSheetProps?.onClose?.();
717
+ }}
718
+ transitionProps={{
719
+ ...bottomSheetProps?.transitionProps,
720
+ onEntered: handleEntered,
721
+ }}
722
+ bottomAddons={
723
+ <React.Fragment>
724
+ {renderSearch()}
725
+ {typeof bottomAddons === 'function'
726
+ ? bottomAddons(flatOptions)
727
+ : bottomAddons}
728
+ </React.Fragment>
729
+ }
730
+ containerProps={{
731
+ ...bottomSheetProps?.containerProps,
732
+ onScroll,
733
+ }}
734
+ >
735
+ {renderOptionsList()}
736
+ </BottomSheet>
737
+ );
738
+ }
739
+
740
+ return null;
741
+ };
742
+
743
+ const renderInModalMobile = () => {
744
+ if (!nativeSelect && ModalMobile) {
745
+ const bottomAddons = modalHeaderProps?.bottomAddons;
746
+
747
+ return (
748
+ <ModalMobile
749
+ dataTestId={getDataTestId(dataTestId, 'modal')}
750
+ open={open}
751
+ hasCloser={true}
752
+ {...modalProps}
753
+ componentRef={menuRef}
754
+ onClose={(...args) => {
755
+ closeMenu();
756
+ modalProps?.onClose?.(...args);
757
+ }}
758
+ contentClassName={cn(
759
+ mobileStyles.sheetContent,
760
+ modalProps?.contentClassName,
761
+ )}
762
+ ref={mergeRefs([
763
+ scrollableContainerRef,
764
+ modalProps?.ref as React.Ref<HTMLDivElement>,
765
+ ])}
766
+ wrapperProps={{
767
+ ...modalProps?.wrapperProps,
768
+ onScroll,
769
+ }}
770
+ transitionProps={{
771
+ ...modalProps?.transitionProps,
772
+ onEntered: handleEntered,
773
+ }}
774
+ >
775
+ <ModalMobile.Header
776
+ hasCloser={true}
777
+ sticky={true}
778
+ {...modalHeaderProps}
779
+ title={undefined}
780
+ bottomAddons={
781
+ <React.Fragment>
782
+ {renderSearch()}
783
+ {typeof bottomAddons === 'function'
784
+ ? bottomAddons(flatOptions)
785
+ : bottomAddons}
786
+ </React.Fragment>
787
+ }
788
+ >
789
+ {modalHeaderProps?.title || label || placeholder}
790
+ </ModalMobile.Header>
791
+
792
+ <ModalMobile.Content flex={true} className={mobileStyles.modalContent}>
793
+ {renderOptionsList()}
794
+ </ModalMobile.Content>
795
+
796
+ {modalFooterProps?.children && <ModalMobile.Footer {...modalFooterProps} />}
797
+ </ModalMobile>
798
+ );
799
+ }
800
+
801
+ return null;
802
+ };
803
+
660
804
  return (
661
805
  <div
662
806
  {...(disabled && { 'aria-disabled': true })}
@@ -709,32 +853,9 @@ export const BaseSelect = forwardRef<unknown, ComponentProps>(
709
853
 
710
854
  {name && !nativeSelect && renderValue()}
711
855
 
712
- {view === 'desktop' && !nativeSelect && (
713
- <ListPopoverDesktop
714
- {...getListPopoverDesktopProps(props)}
715
- open={open}
716
- fieldRef={fieldRef}
717
- renderOptionsList={renderOptionsList}
718
- />
719
- )}
720
-
721
- {view === 'mobile' && (
722
- <ListMobile
723
- baseProps={
724
- isBottomSheet
725
- ? getListBottomSheetMobileProps(props)
726
- : getListModalMobileProps(props)
727
- }
728
- open={open}
729
- menuRef={menuRef}
730
- scrollableContainerRef={scrollableContainerRef}
731
- flatOptions={flatOptions}
732
- renderOptionsList={renderOptionsList}
733
- renderSearch={renderSearch}
734
- closeMenu={closeMenu}
735
- handleEntered={handleEntered}
736
- />
737
- )}
856
+ {view === 'desktop' && renderInPopover()}
857
+ {view === 'mobile' &&
858
+ (isBottomSheet ? renderInBottomSheet() : renderInModalMobile())}
738
859
  </div>
739
860
  );
740
861
  },
@@ -42,6 +42,7 @@ export const VirtualOptionsList = forwardRef<HTMLDivElement, OptionsListProps>(
42
42
  setSelectedItems,
43
43
  search,
44
44
  multiple,
45
+ scrollbarClassName,
45
46
  },
46
47
  ref,
47
48
  ) => {
@@ -205,7 +206,7 @@ export const VirtualOptionsList = forwardRef<HTMLDivElement, OptionsListProps>(
205
206
 
206
207
  const renderWithCustomScrollbar = () => (
207
208
  <Scrollbar
208
- className={styles.scrollable}
209
+ className={cn(styles.scrollable, scrollbarClassName)}
209
210
  ref={scrollbarRef}
210
211
  horizontalAutoStretch={optionsListWidth === 'content'}
211
212
  scrollableNodeProps={{ onScroll, ref: parentRef }}
@@ -219,7 +220,7 @@ export const VirtualOptionsList = forwardRef<HTMLDivElement, OptionsListProps>(
219
220
  if (visibleOptions) {
220
221
  return (
221
222
  <div
222
- className={styles.scrollable}
223
+ className={cn(styles.scrollable, scrollbarClassName)}
223
224
  ref={mergeRefs([parentRef, ref])}
224
225
  onScroll={onScroll}
225
226
  >
@@ -122,6 +122,7 @@ export const SelectMobile = forwardRef(
122
122
  : {
123
123
  bottomSheetProps: {
124
124
  bottomAddons,
125
+ showSwipeMarker: false,
125
126
  ...restProps.bottomSheetProps,
126
127
  },
127
128
  })}
@@ -1,12 +0,0 @@
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 };
@@ -1,19 +0,0 @@
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;
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- require('tslib');
6
- require('react');
7
- require('classnames');
8
- var components_baseSelect_components_listDesktop_listPopoverDesktop = require('../../../../list-popover-desktop-c264abbb.js');
9
-
10
-
11
-
12
- exports.ListPopoverDesktop = components_baseSelect_components_listDesktop_listPopoverDesktop.ListPopoverDesktop;
@@ -1,3 +0,0 @@
1
- import { getListPopoverDesktopProps } from "../helpers/get-list-popover-desktop-props";
2
- type ListPopoverDesktopRestProps = ReturnType<typeof getListPopoverDesktopProps>;
3
- export { ListPopoverDesktopRestProps };
@@ -1,18 +0,0 @@
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: (Omit<Partial<import("@alfalab/core-components-bottom-sheet").BottomSheetProps>, "bottomAddons"> & {
12
- bottomAddons?: import("react").ReactNode | ((flatOptions: import("../../../../../typings").OptionShape[]) => import("react").ReactNode);
13
- }) | undefined;
14
- isBottomSheet: boolean;
15
- nativeSelect: boolean;
16
- onScroll: ((event: import("react").MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
17
- };
18
- export { getListBottomSheetMobileProps };
@@ -1,23 +0,0 @@
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;
@@ -1,31 +0,0 @@
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
- client?: "desktop" | "mobile" | undefined;
19
- defaultMatchMediaValue?: boolean | (() => boolean) | undefined;
20
- } & import("react").RefAttributes<HTMLDivElement>> | undefined;
21
- modalHeaderProps: (Omit<Partial<import("@alfalab/core-components-modal/shared").ModalHeaderProps>, "bottomAddons"> & {
22
- bottomAddons?: import("react").ReactNode | ((flatOptions: import("../../../../../typings").OptionShape[]) => import("react").ReactNode);
23
- }) | undefined;
24
- modalFooterProps: Partial<import("@alfalab/core-components-modal/shared").ModalFooterProps> | undefined;
25
- label: import("react").ReactNode;
26
- placeholder: string | undefined;
27
- isBottomSheet: boolean;
28
- nativeSelect: boolean;
29
- onScroll: ((event: import("react").MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
30
- };
31
- export { getListModalMobileProps };
@@ -1,22 +0,0 @@
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;
@@ -1,2 +0,0 @@
1
- export { getListModalMobileProps } from "./get-list-modal-mobile-props";
2
- export { getListBottomSheetMobileProps } from "./get-list-bottom-sheet-mobile-props";
@@ -1,11 +0,0 @@
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;
@@ -1,15 +0,0 @@
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 };
@@ -1,31 +0,0 @@
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');
8
- var mobile_module = require('../../../../mobile.module-16f2c15a.js');
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
-
14
- var ListBottomSheetMobile = function (props) {
15
- 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;
16
- if (BottomSheet) {
17
- var bottomAddons = bottomSheetProps === null || bottomSheetProps === void 0 ? void 0 : bottomSheetProps.bottomAddons;
18
- return (React__default.default.createElement(BottomSheet, tslib.__assign({ dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'bottom-sheet'), open: open, className: mobile_module.mobileStyles.sheet, contentClassName: mobile_module.mobileStyles.sheetContent, containerClassName: mobile_module.mobileStyles.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
- typeof bottomAddons === 'function'
25
- ? bottomAddons(flatOptions)
26
- : bottomAddons), containerProps: tslib.__assign(tslib.__assign({}, bottomSheetProps === null || bottomSheetProps === void 0 ? void 0 : bottomSheetProps.containerProps), { onScroll: onScroll }) }), renderOptionsList()));
27
- }
28
- return null;
29
- };
30
-
31
- exports.ListBottomSheetMobile = ListBottomSheetMobile;
@@ -1,16 +0,0 @@
1
- import { FC, ReactNode, RefObject } from 'react';
2
- import { OptionShape } from "../../../../typings";
3
- import { ListBottomSheetMobileRestProps, ListModalMobileRestProps } from "./types/types";
4
- type ListMobileProps = {
5
- baseProps: ListBottomSheetMobileRestProps | ListModalMobileRestProps;
6
- open: boolean;
7
- menuRef: RefObject<HTMLDivElement>;
8
- scrollableContainerRef: RefObject<HTMLDivElement>;
9
- flatOptions: OptionShape[];
10
- closeMenu: () => void;
11
- handleEntered: (node: HTMLElement, isAppearing: boolean) => void;
12
- renderSearch: () => ReactNode;
13
- renderOptionsList: () => ReactNode;
14
- };
15
- declare const ListMobile: FC<ListMobileProps>;
16
- export { ListMobile };
@@ -1,26 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var React = require('react');
7
- var components_baseSelect_components_listMobile_listBottomSheetMobile = require('./list-bottom-sheet-mobile.js');
8
- var components_baseSelect_components_listMobile_listModalMobile = require('./list-modal-mobile.js');
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
-
14
- var ListMobile = function (props) {
15
- var baseProps = props.baseProps, restProps = tslib.__rest(props, ["baseProps"]);
16
- var isBottomSheet = baseProps.isBottomSheet, nativeSelect = baseProps.nativeSelect;
17
- if (isBottomSheet && !nativeSelect) {
18
- return (React__default.default.createElement(components_baseSelect_components_listMobile_listBottomSheetMobile.ListBottomSheetMobile, tslib.__assign({}, baseProps, restProps)));
19
- }
20
- if (!isBottomSheet && !nativeSelect) {
21
- return React__default.default.createElement(components_baseSelect_components_listMobile_listModalMobile.ListModalMobile, tslib.__assign({}, baseProps, restProps));
22
- }
23
- return null;
24
- };
25
-
26
- exports.ListMobile = ListMobile;
@@ -1,15 +0,0 @@
1
- import { FC, ReactNode, RefObject } from 'react';
2
- import { OptionShape } from "../../../../typings";
3
- import { ListModalMobileRestProps } from "./types/types";
4
- type ListModalMobileProps = {
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
- } & ListModalMobileRestProps;
14
- declare const ListModalMobile: FC<ListModalMobileProps>;
15
- export { ListModalMobile };
@@ -1,45 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var React = require('react');
7
- var mergeRefs = require('react-merge-refs');
8
- var cn = require('classnames');
9
- var coreComponentsShared = require('@alfalab/core-components-shared');
10
- var mobile_module = require('../../../../mobile.module-16f2c15a.js');
11
-
12
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
13
-
14
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
15
- var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
16
- var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
17
-
18
- var ListModalMobile = function (props) {
19
- var ModalMobile = props.ModalMobile, dataTestId = props.dataTestId, open = props.open, modalProps = props.modalProps, modalHeaderProps = props.modalHeaderProps, modalFooterProps = props.modalFooterProps, menuRef = props.menuRef, scrollableContainerRef = props.scrollableContainerRef, label = props.label, placeholder = props.placeholder, onScroll = props.onScroll, flatOptions = props.flatOptions, closeMenu = props.closeMenu, handleEntered = props.handleEntered, renderSearch = props.renderSearch, renderOptionsList = props.renderOptionsList;
20
- if (ModalMobile) {
21
- var bottomAddons = modalHeaderProps === null || modalHeaderProps === void 0 ? void 0 : modalHeaderProps.bottomAddons;
22
- return (React__default.default.createElement(ModalMobile, tslib.__assign({ dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'modal'), open: open, hasCloser: true }, modalProps, { componentRef: menuRef, onClose: function () {
23
- var _a;
24
- var args = [];
25
- for (var _i = 0; _i < arguments.length; _i++) {
26
- args[_i] = arguments[_i];
27
- }
28
- closeMenu();
29
- (_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));
30
- }, contentClassName: cn__default.default(mobile_module.mobileStyles.sheetContent, modalProps === null || modalProps === void 0 ? void 0 : modalProps.contentClassName), ref: mergeRefs__default.default([
31
- scrollableContainerRef,
32
- modalProps === null || modalProps === void 0 ? void 0 : modalProps.ref,
33
- ]), 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 }) }),
34
- 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,
35
- renderSearch(),
36
- typeof bottomAddons === 'function'
37
- ? bottomAddons(flatOptions)
38
- : bottomAddons) }), (modalHeaderProps === null || modalHeaderProps === void 0 ? void 0 : modalHeaderProps.title) || label || placeholder),
39
- React__default.default.createElement(ModalMobile.Content, { flex: true, className: mobile_module.mobileStyles.modalContent }, renderOptionsList()),
40
- (modalFooterProps === null || modalFooterProps === void 0 ? void 0 : modalFooterProps.children) && React__default.default.createElement(ModalMobile.Footer, tslib.__assign({}, modalFooterProps))));
41
- }
42
- return null;
43
- };
44
-
45
- exports.ListModalMobile = ListModalMobile;
@@ -1,4 +0,0 @@
1
- import { getListBottomSheetMobileProps, getListModalMobileProps } from "../helpers/index";
2
- type ListBottomSheetMobileRestProps = ReturnType<typeof getListBottomSheetMobileProps>;
3
- type ListModalMobileRestProps = ReturnType<typeof getListModalMobileProps>;
4
- export { ListBottomSheetMobileRestProps, ListModalMobileRestProps };
@@ -1,12 +0,0 @@
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 };