@alfalab/core-components-select 13.2.20 → 14.0.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 (340) hide show
  1. package/Component-3885b0d7.d.ts +1 -1
  2. package/Component-f1a1856f.d.ts +61 -0
  3. package/Component-f1a1856f.js +158 -0
  4. package/Component.js +4 -3
  5. package/Component.responsive.js +14 -13
  6. package/components/arrow/Component.js +1 -1
  7. package/components/arrow/index.css +3 -3
  8. package/components/base-checkmark/Component.js +1 -1
  9. package/components/base-checkmark/index.css +4 -4
  10. package/components/base-option/Component.js +1 -1
  11. package/components/base-option/index.css +13 -13
  12. package/components/base-select/Component.d.ts +5 -0
  13. package/components/base-select/Component.js +242 -12
  14. package/components/base-select/index.css +8 -8
  15. package/components/base-select/index.d.ts +1 -1
  16. package/components/base-select/index.js +2 -1
  17. package/components/base-select-mobile/Component.d.ts +46 -0
  18. package/components/base-select-mobile/Component.js +209 -33
  19. package/components/base-select-mobile/footer/Component.d.ts +8 -0
  20. package/components/base-select-mobile/footer/Component.js +34 -0
  21. package/components/base-select-mobile/footer/index.css +42 -0
  22. package/components/base-select-mobile/footer/index.js +13 -0
  23. package/components/base-select-mobile/index.css +10 -19
  24. package/components/base-select-mobile/index.d.ts +1 -1
  25. package/components/base-select-mobile/index.js +9 -22
  26. package/components/checkmark/Component.js +1 -1
  27. package/components/checkmark/index.css +10 -10
  28. package/{cssm/components/base-select-mobile/checkmark → components/checkmark-mobile}/Component.d.ts +1 -1
  29. package/components/{base-select-mobile/checkmark → checkmark-mobile}/Component.js +1 -1
  30. package/components/{base-select-mobile/checkmark → checkmark-mobile}/index.css +6 -6
  31. package/components/{base-select-mobile/checkmark → checkmark-mobile}/index.js +2 -2
  32. package/components/field/Component.js +1 -1
  33. package/components/field/index.css +9 -9
  34. package/components/index.js +15 -13
  35. package/components/optgroup/Component.js +1 -1
  36. package/components/optgroup/index.css +6 -6
  37. package/components/option/Component.js +4 -4
  38. package/components/option/index.css +20 -20
  39. package/components/option/index.js +2 -2
  40. package/components/options-list/Component.d.ts +1 -1
  41. package/components/options-list/Component.js +1 -1
  42. package/components/options-list/index.css +12 -10
  43. package/components/select-mobile/Component.js +19 -18
  44. package/components/select-mobile/index.d.ts +1 -1
  45. package/components/select-mobile/index.js +16 -15
  46. package/components/select-modal-mobile/Component.js +19 -18
  47. package/components/select-modal-mobile/index.d.ts +1 -1
  48. package/components/select-modal-mobile/index.js +16 -15
  49. package/components/virtual-options-list/Component.d.ts +2 -7
  50. package/components/virtual-options-list/Component.js +31 -19
  51. package/components/virtual-options-list/index.css +19 -16
  52. package/components/virtual-options-list/index.js +1 -0
  53. package/cssm/Component-3885b0d7.d.ts +1 -1
  54. package/cssm/Component-610b3743.d.ts +61 -0
  55. package/cssm/Component-610b3743.js +168 -0
  56. package/cssm/Component.js +5 -4
  57. package/cssm/Component.responsive.js +18 -18
  58. package/cssm/components/base-select/Component.d.ts +5 -0
  59. package/cssm/components/base-select/Component.js +241 -13
  60. package/cssm/components/base-select/index.d.ts +1 -1
  61. package/cssm/components/base-select/index.js +2 -1
  62. package/cssm/components/base-select-mobile/Component.d.ts +46 -0
  63. package/cssm/components/base-select-mobile/Component.js +209 -44
  64. package/cssm/components/base-select-mobile/footer/Component.d.ts +8 -0
  65. package/cssm/components/base-select-mobile/footer/Component.js +33 -0
  66. package/cssm/components/base-select-mobile/footer/index.js +14 -0
  67. package/cssm/components/base-select-mobile/footer/index.module.css +41 -0
  68. package/cssm/components/base-select-mobile/index.d.ts +1 -1
  69. package/cssm/components/base-select-mobile/index.js +11 -33
  70. package/cssm/components/base-select-mobile/index.module.css +0 -9
  71. package/{components/base-select-mobile/checkmark → cssm/components/checkmark-mobile}/Component.d.ts +1 -1
  72. package/cssm/components/{base-select-mobile/checkmark → checkmark-mobile}/index.js +2 -2
  73. package/cssm/components/index.js +22 -21
  74. package/cssm/components/option/Component.js +4 -4
  75. package/cssm/components/option/index.js +3 -3
  76. package/cssm/components/options-list/Component.d.ts +1 -1
  77. package/cssm/components/options-list/index.module.css +3 -1
  78. package/cssm/components/select-mobile/Component.js +26 -26
  79. package/cssm/components/select-mobile/index.d.ts +1 -1
  80. package/cssm/components/select-mobile/index.js +19 -19
  81. package/cssm/components/select-modal-mobile/Component.js +26 -26
  82. package/cssm/components/select-modal-mobile/index.d.ts +1 -1
  83. package/cssm/components/select-modal-mobile/index.js +19 -19
  84. package/cssm/components/virtual-options-list/Component.d.ts +2 -7
  85. package/cssm/components/virtual-options-list/Component.js +30 -18
  86. package/cssm/components/virtual-options-list/index.js +1 -0
  87. package/cssm/components/virtual-options-list/index.module.css +4 -1
  88. package/cssm/getDataTestId-5c876d98.d.ts +2 -0
  89. package/cssm/getDataTestId-5c876d98.js +8 -0
  90. package/{esm/hook-edac5428.d.ts → cssm/hook-4b555174.d.ts} +11 -6
  91. package/cssm/index-3885b0d7.d.ts +1 -1
  92. package/cssm/index.js +21 -20
  93. package/cssm/presets/index.d.ts +1 -1
  94. package/cssm/presets/index.js +19 -19
  95. package/cssm/presets/useLazyLoading/hook.js +3 -3
  96. package/cssm/presets/useSelectWithApply/hook.js +17 -17
  97. package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.js +35 -35
  98. package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +10 -0
  99. package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +23 -0
  100. package/cssm/presets/useSelectWithApply/options-list-with-apply/{index.module.css → footer/index.module.css} +1 -1
  101. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  102. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.js +19 -19
  103. package/cssm/presets/useSelectWithLoading/hook.js +3 -3
  104. package/cssm/responsive.js +15 -15
  105. package/cssm/types-ebda875c.d.ts +1 -1
  106. package/cssm/typings.d.ts +1 -1
  107. package/esm/Component-3885b0d7.d.ts +1 -1
  108. package/esm/Component-b5248298.d.ts +61 -0
  109. package/esm/Component-b5248298.js +148 -0
  110. package/esm/Component.js +4 -3
  111. package/esm/Component.responsive.js +14 -13
  112. package/esm/components/arrow/Component.js +1 -1
  113. package/esm/components/arrow/index.css +3 -3
  114. package/esm/components/base-checkmark/Component.js +1 -1
  115. package/esm/components/base-checkmark/index.css +4 -4
  116. package/esm/components/base-option/Component.js +1 -1
  117. package/esm/components/base-option/index.css +13 -13
  118. package/esm/components/base-select/Component.d.ts +5 -0
  119. package/esm/components/base-select/Component.js +239 -11
  120. package/esm/components/base-select/index.css +8 -8
  121. package/esm/components/base-select/index.d.ts +1 -1
  122. package/esm/components/base-select/index.js +2 -1
  123. package/esm/components/base-select-mobile/Component.d.ts +46 -0
  124. package/esm/components/base-select-mobile/Component.js +206 -32
  125. package/esm/components/base-select-mobile/footer/Component.d.ts +8 -0
  126. package/esm/components/base-select-mobile/footer/Component.js +25 -0
  127. package/esm/components/base-select-mobile/footer/index.css +42 -0
  128. package/esm/components/base-select-mobile/{options-list → footer}/index.js +1 -4
  129. package/esm/components/base-select-mobile/index.css +10 -19
  130. package/esm/components/base-select-mobile/index.d.ts +1 -1
  131. package/esm/components/base-select-mobile/index.js +8 -21
  132. package/esm/components/checkmark/Component.js +1 -1
  133. package/esm/components/checkmark/index.css +10 -10
  134. package/esm/components/{base-select-mobile/checkmark → checkmark-mobile}/Component.d.ts +1 -1
  135. package/esm/components/{base-select-mobile/checkmark → checkmark-mobile}/Component.js +1 -1
  136. package/esm/components/{base-select-mobile/checkmark → checkmark-mobile}/index.css +6 -6
  137. package/esm/components/field/Component.js +1 -1
  138. package/esm/components/field/index.css +9 -9
  139. package/esm/components/index.js +15 -13
  140. package/esm/components/optgroup/Component.js +1 -1
  141. package/esm/components/optgroup/index.css +6 -6
  142. package/esm/components/option/Component.js +3 -3
  143. package/esm/components/option/index.css +20 -20
  144. package/esm/components/option/index.js +2 -2
  145. package/esm/components/options-list/Component.d.ts +1 -1
  146. package/esm/components/options-list/Component.js +1 -1
  147. package/esm/components/options-list/index.css +12 -10
  148. package/esm/components/select-mobile/Component.js +19 -18
  149. package/esm/components/select-mobile/index.d.ts +1 -1
  150. package/esm/components/select-mobile/index.js +16 -15
  151. package/esm/components/select-modal-mobile/Component.js +19 -18
  152. package/esm/components/select-modal-mobile/index.d.ts +1 -1
  153. package/esm/components/select-modal-mobile/index.js +16 -15
  154. package/esm/components/virtual-options-list/Component.d.ts +2 -7
  155. package/esm/components/virtual-options-list/Component.js +31 -20
  156. package/esm/components/virtual-options-list/index.css +19 -16
  157. package/esm/components/virtual-options-list/index.js +1 -0
  158. package/esm/getDataTestId-015e89f1.d.ts +2 -0
  159. package/esm/getDataTestId-015e89f1.js +6 -0
  160. package/{hook-edac5428.d.ts → esm/hook-4b555174.d.ts} +11 -6
  161. package/esm/index-3885b0d7.d.ts +1 -1
  162. package/esm/index.js +14 -12
  163. package/esm/presets/index.d.ts +1 -1
  164. package/esm/presets/index.js +16 -15
  165. package/esm/presets/useLazyLoading/hook.js +4 -4
  166. package/esm/presets/useLazyLoading/index.css +2 -2
  167. package/esm/presets/useSelectWithApply/hook.js +13 -12
  168. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +27 -26
  169. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +10 -0
  170. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +16 -0
  171. package/esm/presets/useSelectWithApply/options-list-with-apply/{index.css → footer/index.css} +4 -4
  172. package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  173. package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +16 -15
  174. package/esm/presets/useSelectWithLoading/hook.js +3 -3
  175. package/esm/presets/useSelectWithLoading/index.css +2 -2
  176. package/esm/responsive.js +12 -11
  177. package/esm/types-ebda875c.d.ts +1 -1
  178. package/esm/typings.d.ts +1 -1
  179. package/getDataTestId-3deaae20.d.ts +2 -0
  180. package/getDataTestId-3deaae20.js +8 -0
  181. package/{cssm/hook-edac5428.d.ts → hook-4b555174.d.ts} +11 -6
  182. package/index-3885b0d7.d.ts +1 -1
  183. package/index.js +14 -12
  184. package/modern/Component-29d24a9b.d.ts +61 -0
  185. package/modern/Component-29d24a9b.js +162 -0
  186. package/modern/Component-3885b0d7.d.ts +1 -1
  187. package/modern/Component.js +4 -3
  188. package/modern/Component.responsive.js +14 -13
  189. package/modern/components/arrow/Component.js +1 -1
  190. package/modern/components/arrow/index.css +3 -3
  191. package/modern/components/base-checkmark/Component.js +1 -1
  192. package/modern/components/base-checkmark/index.css +4 -4
  193. package/modern/components/base-option/Component.js +1 -1
  194. package/modern/components/base-option/index.css +13 -13
  195. package/modern/components/base-select/Component.d.ts +5 -0
  196. package/modern/components/base-select/Component.js +251 -10
  197. package/modern/components/base-select/index.css +8 -8
  198. package/modern/components/base-select/index.d.ts +1 -1
  199. package/modern/components/base-select/index.js +2 -1
  200. package/modern/components/base-select-mobile/Component.d.ts +46 -0
  201. package/modern/components/base-select-mobile/Component.js +220 -31
  202. package/modern/components/base-select-mobile/footer/Component.d.ts +8 -0
  203. package/modern/components/base-select-mobile/footer/Component.js +23 -0
  204. package/modern/components/base-select-mobile/footer/index.css +42 -0
  205. package/modern/components/base-select-mobile/{options-list → footer}/index.js +1 -3
  206. package/modern/components/base-select-mobile/index.css +10 -19
  207. package/modern/components/base-select-mobile/index.d.ts +1 -1
  208. package/modern/components/base-select-mobile/index.js +8 -21
  209. package/modern/components/checkmark/Component.js +1 -1
  210. package/modern/components/checkmark/index.css +10 -10
  211. package/modern/components/{base-select-mobile/checkmark → checkmark-mobile}/Component.d.ts +1 -1
  212. package/modern/components/{base-select-mobile/checkmark → checkmark-mobile}/Component.js +1 -1
  213. package/modern/components/{base-select-mobile/checkmark → checkmark-mobile}/index.css +6 -6
  214. package/modern/components/field/Component.js +1 -1
  215. package/modern/components/field/index.css +9 -9
  216. package/modern/components/index.js +15 -13
  217. package/modern/components/optgroup/Component.js +1 -1
  218. package/modern/components/optgroup/index.css +6 -6
  219. package/modern/components/option/Component.js +3 -3
  220. package/modern/components/option/index.css +20 -20
  221. package/modern/components/option/index.js +2 -2
  222. package/modern/components/options-list/Component.d.ts +1 -1
  223. package/modern/components/options-list/Component.js +1 -1
  224. package/modern/components/options-list/index.css +12 -10
  225. package/modern/components/select-mobile/Component.js +19 -18
  226. package/modern/components/select-mobile/index.d.ts +1 -1
  227. package/modern/components/select-mobile/index.js +16 -15
  228. package/modern/components/select-modal-mobile/Component.js +19 -18
  229. package/modern/components/select-modal-mobile/index.d.ts +1 -1
  230. package/modern/components/select-modal-mobile/index.js +16 -15
  231. package/modern/components/virtual-options-list/Component.d.ts +2 -7
  232. package/modern/components/virtual-options-list/Component.js +29 -18
  233. package/modern/components/virtual-options-list/index.css +19 -16
  234. package/modern/components/virtual-options-list/index.js +1 -0
  235. package/modern/getDataTestId-b257b571.d.ts +2 -0
  236. package/modern/getDataTestId-b257b571.js +6 -0
  237. package/modern/{hook-edac5428.d.ts → hook-4b555174.d.ts} +11 -6
  238. package/modern/index-3885b0d7.d.ts +1 -1
  239. package/modern/index.js +14 -12
  240. package/modern/presets/index.d.ts +1 -1
  241. package/modern/presets/index.js +16 -15
  242. package/modern/presets/useLazyLoading/hook.js +4 -4
  243. package/modern/presets/useLazyLoading/index.css +2 -2
  244. package/modern/presets/useSelectWithApply/hook.js +13 -12
  245. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +27 -26
  246. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +10 -0
  247. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +13 -0
  248. package/modern/presets/useSelectWithApply/options-list-with-apply/{index.css → footer/index.css} +4 -4
  249. package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  250. package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +16 -15
  251. package/modern/presets/useSelectWithLoading/hook.js +3 -3
  252. package/modern/presets/useSelectWithLoading/index.css +2 -2
  253. package/modern/responsive.js +12 -11
  254. package/modern/types-ebda875c.d.ts +1 -1
  255. package/modern/typings.d.ts +1 -1
  256. package/package.json +4 -4
  257. package/presets/index.d.ts +1 -1
  258. package/presets/index.js +16 -15
  259. package/presets/useLazyLoading/hook.js +4 -4
  260. package/presets/useLazyLoading/index.css +2 -2
  261. package/presets/useSelectWithApply/hook.js +13 -12
  262. package/presets/useSelectWithApply/options-list-with-apply/Component.js +27 -26
  263. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +10 -0
  264. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +24 -0
  265. package/presets/useSelectWithApply/options-list-with-apply/{index.css → footer/index.css} +4 -4
  266. package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  267. package/presets/useSelectWithApply/options-list-with-apply/index.js +16 -15
  268. package/presets/useSelectWithLoading/hook.js +3 -3
  269. package/presets/useSelectWithLoading/index.css +2 -2
  270. package/responsive.js +12 -11
  271. package/types-ebda875c.d.ts +1 -1
  272. package/typings.d.ts +1 -1
  273. package/Component-44ef3579.d.ts +0 -6
  274. package/Component-44ef3579.js +0 -252
  275. package/Component-ab39b2d3.d.ts +0 -142
  276. package/Component-ab39b2d3.js +0 -373
  277. package/components/base-select-mobile/options-list/Component.d.ts +0 -4
  278. package/components/base-select-mobile/options-list/Component.js +0 -51
  279. package/components/base-select-mobile/options-list/index.css +0 -60
  280. package/components/base-select-mobile/options-list/index.js +0 -16
  281. package/components/base-select-mobile/virtual-options-list/Component.d.ts +0 -5
  282. package/components/base-select-mobile/virtual-options-list/Component.js +0 -114
  283. package/components/base-select-mobile/virtual-options-list/index.css +0 -89
  284. package/components/base-select-mobile/virtual-options-list/index.js +0 -18
  285. package/cssm/Component-e0df017c.d.ts +0 -6
  286. package/cssm/Component-e0df017c.js +0 -251
  287. package/cssm/Component-e4ef870b.d.ts +0 -142
  288. package/cssm/Component-e4ef870b.js +0 -382
  289. package/cssm/components/base-select-mobile/options-list/Component.d.ts +0 -4
  290. package/cssm/components/base-select-mobile/options-list/Component.js +0 -51
  291. package/cssm/components/base-select-mobile/options-list/index.js +0 -18
  292. package/cssm/components/base-select-mobile/options-list/index.module.css +0 -59
  293. package/cssm/components/base-select-mobile/virtual-options-list/Component.d.ts +0 -5
  294. package/cssm/components/base-select-mobile/virtual-options-list/Component.js +0 -114
  295. package/cssm/components/base-select-mobile/virtual-options-list/index.js +0 -20
  296. package/cssm/components/base-select-mobile/virtual-options-list/index.module.css +0 -88
  297. package/esm/Component-1830cf5e.d.ts +0 -142
  298. package/esm/Component-1830cf5e.js +0 -360
  299. package/esm/Component-578c3e05.d.ts +0 -6
  300. package/esm/Component-578c3e05.js +0 -243
  301. package/esm/components/base-select-mobile/options-list/Component.d.ts +0 -4
  302. package/esm/components/base-select-mobile/options-list/Component.js +0 -42
  303. package/esm/components/base-select-mobile/options-list/index.css +0 -60
  304. package/esm/components/base-select-mobile/virtual-options-list/Component.d.ts +0 -5
  305. package/esm/components/base-select-mobile/virtual-options-list/Component.js +0 -105
  306. package/esm/components/base-select-mobile/virtual-options-list/index.css +0 -89
  307. package/esm/components/base-select-mobile/virtual-options-list/index.d.ts +0 -1
  308. package/esm/components/base-select-mobile/virtual-options-list/index.js +0 -10
  309. package/modern/Component-a4a8e905.d.ts +0 -6
  310. package/modern/Component-a4a8e905.js +0 -255
  311. package/modern/Component-ae787d42.d.ts +0 -142
  312. package/modern/Component-ae787d42.js +0 -370
  313. package/modern/components/base-select-mobile/checkmark/index.d.ts +0 -1
  314. package/modern/components/base-select-mobile/options-list/Component.d.ts +0 -4
  315. package/modern/components/base-select-mobile/options-list/Component.js +0 -37
  316. package/modern/components/base-select-mobile/options-list/index.css +0 -60
  317. package/modern/components/base-select-mobile/options-list/index.d.ts +0 -1
  318. package/modern/components/base-select-mobile/virtual-options-list/Component.d.ts +0 -5
  319. package/modern/components/base-select-mobile/virtual-options-list/Component.js +0 -99
  320. package/modern/components/base-select-mobile/virtual-options-list/index.css +0 -89
  321. package/modern/components/base-select-mobile/virtual-options-list/index.d.ts +0 -1
  322. package/modern/components/base-select-mobile/virtual-options-list/index.js +0 -9
  323. /package/components/base-select-mobile/{checkmark → footer}/index.d.ts +0 -0
  324. /package/components/{base-select-mobile/options-list → checkmark-mobile}/index.d.ts +0 -0
  325. /package/{components/base-select-mobile/virtual-options-list → cssm/components/base-select-mobile/footer}/index.d.ts +0 -0
  326. /package/cssm/components/{base-select-mobile/checkmark → checkmark-mobile}/Component.js +0 -0
  327. /package/cssm/components/{base-select-mobile/checkmark → checkmark-mobile}/index.d.ts +0 -0
  328. /package/cssm/components/{base-select-mobile/checkmark → checkmark-mobile}/index.module.css +0 -0
  329. /package/{cssm/components/base-select-mobile/options-list → esm/components/base-select-mobile/footer}/index.d.ts +0 -0
  330. /package/{cssm/components/base-select-mobile/virtual-options-list → esm/components/checkmark-mobile}/index.d.ts +0 -0
  331. /package/esm/components/{base-select-mobile/checkmark → checkmark-mobile}/index.js +0 -0
  332. /package/esm/{intersection-observer-55833352.d.ts → intersection-observer-961b54c8.d.ts} +0 -0
  333. /package/esm/{intersection-observer-55833352.js → intersection-observer-961b54c8.js} +0 -0
  334. /package/{intersection-observer-959eb559.d.ts → intersection-observer-d5f3e178.d.ts} +0 -0
  335. /package/{intersection-observer-959eb559.js → intersection-observer-d5f3e178.js} +0 -0
  336. /package/{esm/components/base-select-mobile/checkmark → modern/components/base-select-mobile/footer}/index.d.ts +0 -0
  337. /package/{esm/components/base-select-mobile/options-list → modern/components/checkmark-mobile}/index.d.ts +0 -0
  338. /package/modern/components/{base-select-mobile/checkmark → checkmark-mobile}/index.js +0 -0
  339. /package/modern/{intersection-observer-55833352.d.ts → intersection-observer-961b54c8.d.ts} +0 -0
  340. /package/modern/{intersection-observer-55833352.js → intersection-observer-961b54c8.js} +0 -0
@@ -29,14 +29,16 @@
29
29
 
30
30
  /* optgroup */
31
31
  } .optionsList {
32
- overflow: auto;
33
32
  width: 100%;
34
33
  outline: none;
35
34
  box-sizing: border-box;
35
+ position: relative;
36
36
  } .optionsListHeader {
37
37
  box-sizing: border-box;
38
38
  border-bottom: 1px solid var(--color-light-border-secondary);
39
39
  } .optionsListFooter {
40
+ position: sticky;
41
+ bottom: 0;
40
42
  box-sizing: border-box;
41
43
  border-top: 1px solid transparent
42
44
  } .optionsListFooter.withBorder {
@@ -4,59 +4,59 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('tslib');
6
6
  require('react');
7
+ var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-610b3743.js');
7
8
  require('../arrow/Component.js');
8
- var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-e4ef870b.js');
9
+ require('../base-select-mobile/Component.js');
10
+ require('../base-select-mobile/footer/Component.js');
9
11
  require('../field/Component.js');
10
12
  require('../optgroup/Component.js');
11
13
  require('../option/Component.js');
12
- require('classnames');
13
- require('@alfalab/icons-glyph/ChevronDownMIcon');
14
- require('../arrow/index.module.css');
15
- require('react-merge-refs');
16
- require('downshift');
17
- require('@alfalab/core-components-bottom-sheet/cssm');
18
- require('@alfalab/core-components-modal/cssm/mobile');
14
+ require('../options-list/Component.js');
15
+ require('../virtual-options-list/Component.js');
19
16
  require('../../Component.js');
20
- require('../../Component-e0df017c.js');
17
+ require('../base-select/Component.js');
18
+ require('react-merge-refs');
21
19
  require('@juggle/resize-observer');
20
+ require('classnames');
21
+ require('downshift');
22
22
  require('@alfalab/core-components-popover/cssm');
23
23
  require('@alfalab/hooks');
24
+ require('../../getDataTestId-5c876d98.js');
24
25
  require('../../utils.js');
25
26
  require('../native-select/Component.js');
26
27
  require('../base-select/index.module.css');
27
- require('../options-list/Component.js');
28
- require('@alfalab/core-components-scrollbar/cssm');
29
- require('../options-list/index.module.css');
30
- require('../optgroup/index.module.css');
28
+ require('@alfalab/icons-glyph/ChevronDownMIcon');
29
+ require('../arrow/index.module.css');
31
30
  require('@alfalab/core-components-form-control/cssm');
32
31
  require('../field/index.module.css');
33
- require('../base-select-mobile/checkmark/Component.js');
34
- require('@alfalab/icons-glyph/CheckmarkMIcon');
35
- require('../base-select-mobile/checkmark/index.module.css');
32
+ require('../optgroup/index.module.css');
36
33
  require('../checkmark/Component.js');
37
34
  require('@alfalab/core-components-badge/cssm');
38
35
  require('@alfalab/core-components-checkbox/cssm');
39
36
  require('@alfalab/icons-glyph/CheckmarkCircleMIcon');
37
+ require('@alfalab/icons-glyph/CheckmarkMIcon');
40
38
  require('../checkmark/index.module.css');
39
+ require('../checkmark-mobile/Component.js');
40
+ require('../checkmark-mobile/index.module.css');
41
41
  require('../option/index.module.css');
42
- require('react-virtual');
43
- require('../virtual-options-list/index.module.css');
44
- require('../base-option/Component.js');
45
- require('../base-checkmark/Component.js');
42
+ require('@alfalab/core-components-scrollbar/cssm');
43
+ require('../options-list/index.module.css');
46
44
  require('../base-checkmark/index.module.css');
47
45
  require('../base-option/index.module.css');
48
46
  require('@alfalab/core-components-skeleton/cssm');
49
47
  require('../../presets/useSelectWithLoading/index.module.css');
50
48
  require('../../presets/useLazyLoading/index.module.css');
51
49
  require('../../intersection-observer-9ec5cf59.js');
50
+ require('../../presets/useSelectWithApply/options-list-with-apply/footer/Component.js');
52
51
  require('@alfalab/core-components-button/cssm');
53
- require('../../presets/useSelectWithApply/options-list-with-apply/index.module.css');
54
- require('../base-select-mobile/options-list/Component.js');
55
- require('@alfalab/core-components-base-modal/cssm');
56
- require('../base-select-mobile/options-list/index.module.css');
57
- require('../base-select-mobile/virtual-options-list/Component.js');
58
- require('../base-select-mobile/virtual-options-list/index.module.css');
52
+ require('../../presets/useSelectWithApply/options-list-with-apply/footer/index.module.css');
53
+ require('@alfalab/core-components-bottom-sheet/cssm');
54
+ require('@alfalab/core-components-modal/cssm/mobile');
59
55
  require('../base-select-mobile/index.module.css');
56
+ require('@alfalab/core-components-base-modal/cssm');
57
+ require('../base-select-mobile/footer/index.module.css');
58
+ require('react-virtual');
59
+ require('../virtual-options-list/index.module.css');
60
60
 
61
61
 
62
62
 
@@ -1 +1 @@
1
- export * from "../../Component-e4ef870b";
1
+ export * from "../../Component-610b3743";
@@ -2,22 +2,21 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-e4ef870b.js');
5
+ var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-610b3743.js');
6
6
  require('tslib');
7
7
  require('react');
8
+ require('../../Component.js');
8
9
  require('../arrow/Component.js');
9
10
  require('classnames');
10
11
  require('@alfalab/icons-glyph/ChevronDownMIcon');
11
12
  require('../arrow/index.module.css');
13
+ require('../base-select/Component.js');
12
14
  require('react-merge-refs');
13
- require('downshift');
14
- require('@alfalab/core-components-bottom-sheet/cssm');
15
- require('@alfalab/core-components-modal/cssm/mobile');
16
- require('../../Component.js');
17
- require('../../Component-e0df017c.js');
18
15
  require('@juggle/resize-observer');
16
+ require('downshift');
19
17
  require('@alfalab/core-components-popover/cssm');
20
18
  require('@alfalab/hooks');
19
+ require('../../getDataTestId-5c876d98.js');
21
20
  require('../../utils.js');
22
21
  require('../native-select/Component.js');
23
22
  require('../base-select/index.module.css');
@@ -27,36 +26,37 @@ require('../field/index.module.css');
27
26
  require('../optgroup/Component.js');
28
27
  require('../optgroup/index.module.css');
29
28
  require('../option/Component.js');
30
- require('../base-select-mobile/checkmark/Component.js');
31
- require('@alfalab/icons-glyph/CheckmarkMIcon');
32
- require('../base-select-mobile/checkmark/index.module.css');
33
29
  require('../checkmark/Component.js');
34
30
  require('@alfalab/core-components-badge/cssm');
35
31
  require('@alfalab/core-components-checkbox/cssm');
36
32
  require('@alfalab/icons-glyph/CheckmarkCircleMIcon');
33
+ require('@alfalab/icons-glyph/CheckmarkMIcon');
37
34
  require('../checkmark/index.module.css');
35
+ require('../checkmark-mobile/Component.js');
36
+ require('../checkmark-mobile/index.module.css');
38
37
  require('../option/index.module.css');
39
38
  require('../options-list/Component.js');
40
39
  require('@alfalab/core-components-scrollbar/cssm');
41
40
  require('../options-list/index.module.css');
41
+ require('../base-select-mobile/Component.js');
42
+ require('@alfalab/core-components-bottom-sheet/cssm');
43
+ require('@alfalab/core-components-modal/cssm/mobile');
44
+ require('../base-select-mobile/index.module.css');
45
+ require('../base-select-mobile/footer/Component.js');
46
+ require('@alfalab/core-components-base-modal/cssm');
47
+ require('@alfalab/core-components-button/cssm');
48
+ require('../base-select-mobile/footer/index.module.css');
49
+ require('../virtual-options-list/Component.js');
42
50
  require('react-virtual');
43
51
  require('../virtual-options-list/index.module.css');
44
- require('../base-option/Component.js');
45
- require('../base-checkmark/Component.js');
46
52
  require('../base-checkmark/index.module.css');
47
53
  require('../base-option/index.module.css');
48
54
  require('@alfalab/core-components-skeleton/cssm');
49
55
  require('../../presets/useSelectWithLoading/index.module.css');
50
56
  require('../../presets/useLazyLoading/index.module.css');
51
57
  require('../../intersection-observer-9ec5cf59.js');
52
- require('@alfalab/core-components-button/cssm');
53
- require('../../presets/useSelectWithApply/options-list-with-apply/index.module.css');
54
- require('../base-select-mobile/options-list/Component.js');
55
- require('@alfalab/core-components-base-modal/cssm');
56
- require('../base-select-mobile/options-list/index.module.css');
57
- require('../base-select-mobile/virtual-options-list/Component.js');
58
- require('../base-select-mobile/virtual-options-list/index.module.css');
59
- require('../base-select-mobile/index.module.css');
58
+ require('../../presets/useSelectWithApply/options-list-with-apply/footer/Component.js');
59
+ require('../../presets/useSelectWithApply/options-list-with-apply/footer/index.module.css');
60
60
 
61
61
 
62
62
 
@@ -4,59 +4,59 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('tslib');
6
6
  require('react');
7
+ var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-610b3743.js');
7
8
  require('../arrow/Component.js');
8
- var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-e4ef870b.js');
9
+ require('../base-select-mobile/Component.js');
10
+ require('../base-select-mobile/footer/Component.js');
9
11
  require('../field/Component.js');
10
12
  require('../optgroup/Component.js');
11
13
  require('../option/Component.js');
12
- require('classnames');
13
- require('@alfalab/icons-glyph/ChevronDownMIcon');
14
- require('../arrow/index.module.css');
15
- require('react-merge-refs');
16
- require('downshift');
17
- require('@alfalab/core-components-bottom-sheet/cssm');
18
- require('@alfalab/core-components-modal/cssm/mobile');
14
+ require('../options-list/Component.js');
15
+ require('../virtual-options-list/Component.js');
19
16
  require('../../Component.js');
20
- require('../../Component-e0df017c.js');
17
+ require('../base-select/Component.js');
18
+ require('react-merge-refs');
21
19
  require('@juggle/resize-observer');
20
+ require('classnames');
21
+ require('downshift');
22
22
  require('@alfalab/core-components-popover/cssm');
23
23
  require('@alfalab/hooks');
24
+ require('../../getDataTestId-5c876d98.js');
24
25
  require('../../utils.js');
25
26
  require('../native-select/Component.js');
26
27
  require('../base-select/index.module.css');
27
- require('../options-list/Component.js');
28
- require('@alfalab/core-components-scrollbar/cssm');
29
- require('../options-list/index.module.css');
30
- require('../optgroup/index.module.css');
28
+ require('@alfalab/icons-glyph/ChevronDownMIcon');
29
+ require('../arrow/index.module.css');
31
30
  require('@alfalab/core-components-form-control/cssm');
32
31
  require('../field/index.module.css');
33
- require('../base-select-mobile/checkmark/Component.js');
34
- require('@alfalab/icons-glyph/CheckmarkMIcon');
35
- require('../base-select-mobile/checkmark/index.module.css');
32
+ require('../optgroup/index.module.css');
36
33
  require('../checkmark/Component.js');
37
34
  require('@alfalab/core-components-badge/cssm');
38
35
  require('@alfalab/core-components-checkbox/cssm');
39
36
  require('@alfalab/icons-glyph/CheckmarkCircleMIcon');
37
+ require('@alfalab/icons-glyph/CheckmarkMIcon');
40
38
  require('../checkmark/index.module.css');
39
+ require('../checkmark-mobile/Component.js');
40
+ require('../checkmark-mobile/index.module.css');
41
41
  require('../option/index.module.css');
42
- require('react-virtual');
43
- require('../virtual-options-list/index.module.css');
44
- require('../base-option/Component.js');
45
- require('../base-checkmark/Component.js');
42
+ require('@alfalab/core-components-scrollbar/cssm');
43
+ require('../options-list/index.module.css');
46
44
  require('../base-checkmark/index.module.css');
47
45
  require('../base-option/index.module.css');
48
46
  require('@alfalab/core-components-skeleton/cssm');
49
47
  require('../../presets/useSelectWithLoading/index.module.css');
50
48
  require('../../presets/useLazyLoading/index.module.css');
51
49
  require('../../intersection-observer-9ec5cf59.js');
50
+ require('../../presets/useSelectWithApply/options-list-with-apply/footer/Component.js');
52
51
  require('@alfalab/core-components-button/cssm');
53
- require('../../presets/useSelectWithApply/options-list-with-apply/index.module.css');
54
- require('../base-select-mobile/options-list/Component.js');
55
- require('@alfalab/core-components-base-modal/cssm');
56
- require('../base-select-mobile/options-list/index.module.css');
57
- require('../base-select-mobile/virtual-options-list/Component.js');
58
- require('../base-select-mobile/virtual-options-list/index.module.css');
52
+ require('../../presets/useSelectWithApply/options-list-with-apply/footer/index.module.css');
53
+ require('@alfalab/core-components-bottom-sheet/cssm');
54
+ require('@alfalab/core-components-modal/cssm/mobile');
59
55
  require('../base-select-mobile/index.module.css');
56
+ require('@alfalab/core-components-base-modal/cssm');
57
+ require('../base-select-mobile/footer/index.module.css');
58
+ require('react-virtual');
59
+ require('../virtual-options-list/index.module.css');
60
60
 
61
61
 
62
62
 
@@ -1 +1 @@
1
- export * from "../../Component-e4ef870b";
1
+ export * from "../../Component-610b3743";
@@ -2,22 +2,21 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-e4ef870b.js');
5
+ var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-610b3743.js');
6
6
  require('tslib');
7
7
  require('react');
8
+ require('../../Component.js');
8
9
  require('../arrow/Component.js');
9
10
  require('classnames');
10
11
  require('@alfalab/icons-glyph/ChevronDownMIcon');
11
12
  require('../arrow/index.module.css');
13
+ require('../base-select/Component.js');
12
14
  require('react-merge-refs');
13
- require('downshift');
14
- require('@alfalab/core-components-bottom-sheet/cssm');
15
- require('@alfalab/core-components-modal/cssm/mobile');
16
- require('../../Component.js');
17
- require('../../Component-e0df017c.js');
18
15
  require('@juggle/resize-observer');
16
+ require('downshift');
19
17
  require('@alfalab/core-components-popover/cssm');
20
18
  require('@alfalab/hooks');
19
+ require('../../getDataTestId-5c876d98.js');
21
20
  require('../../utils.js');
22
21
  require('../native-select/Component.js');
23
22
  require('../base-select/index.module.css');
@@ -27,36 +26,37 @@ require('../field/index.module.css');
27
26
  require('../optgroup/Component.js');
28
27
  require('../optgroup/index.module.css');
29
28
  require('../option/Component.js');
30
- require('../base-select-mobile/checkmark/Component.js');
31
- require('@alfalab/icons-glyph/CheckmarkMIcon');
32
- require('../base-select-mobile/checkmark/index.module.css');
33
29
  require('../checkmark/Component.js');
34
30
  require('@alfalab/core-components-badge/cssm');
35
31
  require('@alfalab/core-components-checkbox/cssm');
36
32
  require('@alfalab/icons-glyph/CheckmarkCircleMIcon');
33
+ require('@alfalab/icons-glyph/CheckmarkMIcon');
37
34
  require('../checkmark/index.module.css');
35
+ require('../checkmark-mobile/Component.js');
36
+ require('../checkmark-mobile/index.module.css');
38
37
  require('../option/index.module.css');
39
38
  require('../options-list/Component.js');
40
39
  require('@alfalab/core-components-scrollbar/cssm');
41
40
  require('../options-list/index.module.css');
41
+ require('../base-select-mobile/Component.js');
42
+ require('@alfalab/core-components-bottom-sheet/cssm');
43
+ require('@alfalab/core-components-modal/cssm/mobile');
44
+ require('../base-select-mobile/index.module.css');
45
+ require('../base-select-mobile/footer/Component.js');
46
+ require('@alfalab/core-components-base-modal/cssm');
47
+ require('@alfalab/core-components-button/cssm');
48
+ require('../base-select-mobile/footer/index.module.css');
49
+ require('../virtual-options-list/Component.js');
42
50
  require('react-virtual');
43
51
  require('../virtual-options-list/index.module.css');
44
- require('../base-option/Component.js');
45
- require('../base-checkmark/Component.js');
46
52
  require('../base-checkmark/index.module.css');
47
53
  require('../base-option/index.module.css');
48
54
  require('@alfalab/core-components-skeleton/cssm');
49
55
  require('../../presets/useSelectWithLoading/index.module.css');
50
56
  require('../../presets/useLazyLoading/index.module.css');
51
57
  require('../../intersection-observer-9ec5cf59.js');
52
- require('@alfalab/core-components-button/cssm');
53
- require('../../presets/useSelectWithApply/options-list-with-apply/index.module.css');
54
- require('../base-select-mobile/options-list/Component.js');
55
- require('@alfalab/core-components-base-modal/cssm');
56
- require('../base-select-mobile/options-list/index.module.css');
57
- require('../base-select-mobile/virtual-options-list/Component.js');
58
- require('../base-select-mobile/virtual-options-list/index.module.css');
59
- require('../base-select-mobile/index.module.css');
58
+ require('../../presets/useSelectWithApply/options-list-with-apply/footer/Component.js');
59
+ require('../../presets/useSelectWithApply/options-list-with-apply/footer/index.module.css');
60
60
 
61
61
 
62
62
 
@@ -1,10 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import React from 'react';
2
3
  import { OptionsListProps } from "../../typings";
3
- type VirtualOptionsList = Omit<OptionsListProps, 'optionsListWidth'> & {
4
- /**
5
- * Число отрисованных пунктов до\после видимого окна
6
- */
7
- overscan?: number;
8
- };
9
- declare const VirtualOptionsList: ({ size, flatOptions, highlightedIndex, className, getOptionProps, Option, open, options, overscan, Optgroup, dataTestId, emptyPlaceholder, visibleOptions, onScroll, header, footer, nativeScrollbar: nativeScrollbarProp, }: VirtualOptionsList) => JSX.Element;
4
+ declare const VirtualOptionsList: React.ForwardRefExoticComponent<OptionsListProps & React.RefAttributes<HTMLDivElement>>;
10
5
  export { VirtualOptionsList };
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
6
  var React = require('react');
7
+ var mergeRefs = require('react-merge-refs');
7
8
  var reactVirtual = require('react-virtual');
8
9
  var cn = require('classnames');
9
10
  var coreComponentsScrollbar = require('@alfalab/core-components-scrollbar/cssm');
@@ -16,31 +17,32 @@ require('../optgroup/index.module.css');
16
17
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
17
18
 
18
19
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
20
+ var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
19
21
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
20
22
  var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
21
23
 
22
- /* eslint-disable react-hooks/exhaustive-deps */
23
- // eslint-disable-next-line @typescript-eslint/no-redeclare
24
- var VirtualOptionsList = function (_a) {
24
+ var VirtualOptionsList = React.forwardRef(function (_a, ref) {
25
25
  var _b;
26
- var _c = _a.size, size = _c === void 0 ? 's' : _c, _d = _a.flatOptions, flatOptions = _d === void 0 ? [] : _d, _e = _a.highlightedIndex, highlightedIndex = _e === void 0 ? -1 : _e, className = _a.className, getOptionProps = _a.getOptionProps, Option = _a.Option, open = _a.open, _f = _a.options, options = _f === void 0 ? [] : _f, _g = _a.overscan, overscan = _g === void 0 ? 10 : _g, _h = _a.Optgroup, Optgroup = _h === void 0 ? components_optgroup_Component.Optgroup : _h, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _j = _a.visibleOptions, visibleOptions = _j === void 0 ? 5 : _j, onScroll = _a.onScroll, header = _a.header, footer = _a.footer, nativeScrollbarProp = _a.nativeScrollbar;
26
+ var _c = _a.size, size = _c === void 0 ? 's' : _c, _d = _a.flatOptions, flatOptions = _d === void 0 ? [] : _d, _e = _a.highlightedIndex, highlightedIndex = _e === void 0 ? -1 : _e, className = _a.className, getOptionProps = _a.getOptionProps, Option = _a.Option, open = _a.open, _f = _a.options, options = _f === void 0 ? [] : _f, _g = _a.Optgroup, Optgroup = _g === void 0 ? components_optgroup_Component.Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _h = _a.visibleOptions, visibleOptions = _h === void 0 ? 5 : _h, header = _a.header, footer = _a.footer, optionsListWidth = _a.optionsListWidth, onScroll = _a.onScroll, nativeScrollbarProp = _a.nativeScrollbar;
27
27
  var listRef = React.useRef(null);
28
28
  var parentRef = React.useRef(null);
29
29
  var scrollbarRef = React.useRef(null);
30
- var _k = React.useState(0), visibleOptionsInvalidateKey = _k[0], setVisibleOptionsInvalidateKey = _k[1];
30
+ var _j = React.useState(0), visibleOptionsInvalidateKey = _j[0], setVisibleOptionsInvalidateKey = _j[1];
31
31
  var prevHighlightedIndex = utils.usePrevious(highlightedIndex) || -1;
32
+ var nativeScrollbar = hooks.useMedia([[true, '(max-width: 1023px)']], false)[0];
32
33
  var rowVirtualizer = reactVirtual.useVirtual({
33
34
  size: flatOptions.length,
34
- parentRef: parentRef,
35
- overscan: overscan,
35
+ parentRef: (ref || parentRef),
36
+ overscan: 15,
36
37
  });
37
- var nativeScrollbar = hooks.useMedia([[true, '(max-width: 1023px)']], false)[0];
38
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
38
39
  nativeScrollbar = Boolean(nativeScrollbarProp !== null && nativeScrollbarProp !== void 0 ? nativeScrollbarProp : nativeScrollbar);
39
40
  // Сколл к выбранному пункту при открытии меню
40
41
  React.useEffect(function () {
41
42
  if (open) {
42
43
  rowVirtualizer.scrollToIndex(highlightedIndex, { align: 'end' });
43
44
  }
45
+ // eslint-disable-next-line react-hooks/exhaustive-deps
44
46
  }, [open]);
45
47
  // Скролл к пункту, которого нет на экране
46
48
  React.useEffect(function () {
@@ -49,6 +51,7 @@ var VirtualOptionsList = function (_a) {
49
51
  if (!rowVirtualizer.virtualItems.some(function (option) { return option.index === highlightedIndex; })) {
50
52
  rowVirtualizer.scrollToIndex(highlightedIndex, { align: 'end' });
51
53
  }
54
+ // eslint-disable-next-line react-hooks/exhaustive-deps
52
55
  }, [highlightedIndex]);
53
56
  // Циклическая навигация
54
57
  React.useEffect(function () {
@@ -62,6 +65,7 @@ var VirtualOptionsList = function (_a) {
62
65
  if (prevHighlightedIndex >= lastNonDisabled && highlightedIndex === 0) {
63
66
  rowVirtualizer.scrollToIndex(0);
64
67
  }
68
+ // eslint-disable-next-line react-hooks/exhaustive-deps
65
69
  }, [prevHighlightedIndex, highlightedIndex]);
66
70
  React.useEffect(function () {
67
71
  setVisibleOptionsInvalidateKey(
@@ -93,11 +97,6 @@ var VirtualOptionsList = function (_a) {
93
97
  return acc;
94
98
  }, {});
95
99
  }, [options]);
96
- var contentNodeProps = {
97
- className: styles__default.default.inner,
98
- style: { height: "".concat(rowVirtualizer.totalSize, "px") },
99
- ref: listRef,
100
- };
101
100
  var renderList = function () {
102
101
  return rowVirtualizer.virtualItems.map(function (virtualRow) {
103
102
  var _a;
@@ -109,12 +108,25 @@ var VirtualOptionsList = function (_a) {
109
108
  transform: "translateY(".concat(virtualRow.start, "px)"),
110
109
  } },
111
110
  group && React__default.default.createElement(Optgroup, { label: group.label }),
112
- !utils.isGroup(option) && React__default.default.createElement(Option, tslib.__assign({}, getOptionProps(option, virtualRow.index)))));
111
+ !utils.isGroup(option) && (React__default.default.createElement(Option, tslib.__assign({}, getOptionProps(option, virtualRow.index))))));
113
112
  });
114
113
  };
115
- var renderWithCustomScrollbar = function () { return (React__default.default.createElement(coreComponentsScrollbar.Scrollbar, { className: styles__default.default.scrollable, ref: scrollbarRef, scrollableNodeProps: { onScroll: onScroll, ref: parentRef }, contentNodeProps: contentNodeProps }, renderList())); };
116
- var renderWithNativeScrollbar = function () { return (React__default.default.createElement("div", { className: styles__default.default.scrollable, ref: parentRef, onScroll: onScroll },
117
- React__default.default.createElement("div", tslib.__assign({}, contentNodeProps), renderList()))); };
114
+ var contentNodeProps = {
115
+ className: styles__default.default.inner,
116
+ style: { height: "".concat(rowVirtualizer.totalSize, "px") },
117
+ ref: listRef,
118
+ };
119
+ var renderWithCustomScrollbar = function () { return (React__default.default.createElement(coreComponentsScrollbar.Scrollbar, { className: styles__default.default.scrollable, ref: scrollbarRef, horizontalAutoStretch: optionsListWidth === 'content', scrollableNodeProps: { onScroll: onScroll, ref: parentRef }, contentNodeProps: contentNodeProps }, renderList())); };
120
+ var renderWithNativeScrollbar = function () {
121
+ if (visibleOptions) {
122
+ return (React__default.default.createElement("div", { className: styles__default.default.scrollable, ref: mergeRefs__default.default([parentRef, ref]), onScroll: onScroll },
123
+ React__default.default.createElement("div", tslib.__assign({}, contentNodeProps), renderList())));
124
+ }
125
+ return React__default.default.createElement("div", tslib.__assign({}, contentNodeProps), renderList());
126
+ };
127
+ if (options.length === 0 && !emptyPlaceholder) {
128
+ return null;
129
+ }
118
130
  return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.virtualOptionsList, styles__default.default[size], className), "data-test-id": dataTestId },
119
131
  header && React__default.default.createElement("div", { className: styles__default.default.virtualOptionsListHeader }, header),
120
132
  nativeScrollbar ? renderWithNativeScrollbar() : renderWithCustomScrollbar(),
@@ -122,6 +134,6 @@ var VirtualOptionsList = function (_a) {
122
134
  footer && (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.virtualOptionsListFooter, (_b = {},
123
135
  _b[styles__default.default.withBorder] = visibleOptions && flatOptions.length > visibleOptions,
124
136
  _b)) }, footer))));
125
- };
137
+ });
126
138
 
127
139
  exports.VirtualOptionsList = VirtualOptionsList;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var components_virtualOptionsList_Component = require('./Component.js');
6
6
  require('tslib');
7
7
  require('react');
8
+ require('react-merge-refs');
8
9
  require('react-virtual');
9
10
  require('classnames');
10
11
  require('@alfalab/core-components-scrollbar/cssm');
@@ -38,16 +38,19 @@
38
38
  width: 100%;
39
39
  outline: none;
40
40
  box-sizing: border-box;
41
- position: relative;
41
+ position: sticky;
42
42
  } .virtualOptionsListHeader {
43
43
  box-sizing: border-box;
44
44
  border-bottom: 1px solid var(--color-light-border-secondary);
45
45
  } .virtualOptionsListFooter {
46
+ position: sticky;
47
+ bottom: 0;
46
48
  box-sizing: border-box;
47
49
  border-top: 1px solid transparent
48
50
  } .virtualOptionsListFooter.withBorder {
49
51
  border-top: 1px solid var(--color-light-border-secondary);
50
52
  } .scrollable {
53
+ position: relative;
51
54
  overflow: auto;
52
55
  width: 100%;
53
56
  } .inner {
@@ -0,0 +1,2 @@
1
+ declare const getDataTestId: (dataTestId?: string, element?: string) => string | undefined;
2
+ export { getDataTestId };
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var getDataTestId = function (dataTestId, element) {
4
+ var elementPart = element ? "-".concat(element.toLowerCase()) : '';
5
+ return dataTestId ? "".concat(dataTestId).concat(elementPart) : undefined;
6
+ };
7
+
8
+ exports.getDataTestId = getDataTestId;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseSelectProps, OptionShape } from "./index";
3
- type useSelectWithApplyProps = {
3
+ type UseSelectWithApplyProps = {
4
4
  /**
5
5
  * Список выбранных пунктов
6
6
  */
@@ -17,6 +17,10 @@ type useSelectWithApplyProps = {
17
17
  * Компонент выпадающего меню
18
18
  */
19
19
  OptionsList?: BaseSelectProps['OptionsList'];
20
+ /**
21
+ * Пропсы, которые будут прокинуты в компонент списка
22
+ */
23
+ optionsListProps?: BaseSelectProps['optionsListProps'];
20
24
  /**
21
25
  * Показывать кнопку очистки
22
26
  */
@@ -27,15 +31,16 @@ type useSelectWithApplyProps = {
27
31
  showSelectAll?: boolean;
28
32
  };
29
33
  declare const SELECT_ALL_KEY = "select_all";
30
- declare function useSelectWithApply({ options, selected, onChange, OptionsList, showClear, showSelectAll, }: useSelectWithApplyProps): {
34
+ declare function useSelectWithApply({ options, selected, onChange, OptionsList, optionsListProps, showClear, showSelectAll, }: UseSelectWithApplyProps): {
31
35
  OptionsList: import("react").ForwardRefExoticComponent<import("./index").OptionsListProps & {
32
36
  showClear?: boolean | undefined;
33
37
  onClose?: (() => void) | undefined;
34
38
  selectedDraft?: OptionShape[] | undefined;
35
- OptionsList?: import("react").FC<import("./index").OptionsListProps & import("react").RefAttributes<unknown>> | undefined;
36
- } & import("react").RefAttributes<unknown>>;
39
+ OptionsList?: import("react").FC<import("./index").OptionsListProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
40
+ Footer?: import("react").FC<import("./presets/useSelectWithApply/options-list-with-apply/footer/Component").FooterProps> | undefined;
41
+ } & import("react").RefAttributes<HTMLDivElement>>;
37
42
  optionsListProps: {
38
- OptionsList: import("react").FC<import("./index").OptionsListProps> | undefined;
43
+ OptionsList: import("react").FC<import("./index").OptionsListProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
39
44
  showClear: boolean;
40
45
  onClear: () => void;
41
46
  onApply: () => void;
@@ -51,4 +56,4 @@ declare function useSelectWithApply({ options, selected, onChange, OptionsList,
51
56
  onChange: (payload: import("./index").BaseSelectChangePayload) => void;
52
57
  selected: string | OptionShape | (string | OptionShape)[] | null | undefined;
53
58
  };
54
- export { SELECT_ALL_KEY, useSelectWithApply };
59
+ export { UseSelectWithApplyProps, SELECT_ALL_KEY, useSelectWithApply };
@@ -1,3 +1,3 @@
1
1
  declare const isClient: () => boolean;
2
2
  export { isClient };
3
- export * from "./Component-e0df017c";
3
+ export * from "./getDataTestId-5c876d98";