@alfalab/core-components-select 19.1.0 → 19.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/Component.responsive.d.ts +1 -1
  2. package/Component.responsive.js.map +1 -1
  3. package/components/arrow/index.css +4 -4
  4. package/components/arrow/index.module.css.js +1 -1
  5. package/components/arrow/index.module.css.js.map +1 -1
  6. package/components/base-checkmark/index.css +12 -12
  7. package/components/base-checkmark/index.module.css.js +1 -1
  8. package/components/base-checkmark/index.module.css.js.map +1 -1
  9. package/components/base-option/index.css +14 -14
  10. package/components/base-option/index.module.css.js +1 -1
  11. package/components/base-option/index.module.css.js.map +1 -1
  12. package/components/base-select/Component.d.ts +5 -5
  13. package/components/base-select/Component.js.map +1 -1
  14. package/components/base-select/index.css +11 -11
  15. package/components/base-select/index.module.css.js +1 -1
  16. package/components/base-select/index.module.css.js.map +1 -1
  17. package/components/base-select/mobile.css +11 -11
  18. package/components/base-select/mobile.module.css.js +1 -1
  19. package/components/base-select/mobile.module.css.js.map +1 -1
  20. package/components/base-select/types/component-types.d.ts +4 -4
  21. package/components/checkmark/index.css +11 -11
  22. package/components/checkmark/index.module.css.js +1 -1
  23. package/components/checkmark/index.module.css.js.map +1 -1
  24. package/components/checkmark-mobile/index.css +6 -6
  25. package/components/checkmark-mobile/index.module.css.js +1 -1
  26. package/components/checkmark-mobile/index.module.css.js.map +1 -1
  27. package/components/clear-button/index.css +4 -4
  28. package/components/clear-button/index.module.css.js +1 -1
  29. package/components/field/Component.d.ts +1 -1
  30. package/components/field/index.css +13 -13
  31. package/components/field/index.module.css.js +1 -1
  32. package/components/field/index.module.css.js.map +1 -1
  33. package/components/footer/Component.d.ts +1 -1
  34. package/components/footer/index.css +4 -4
  35. package/components/footer/index.module.css.js +1 -1
  36. package/components/footer/index.module.css.js.map +1 -1
  37. package/components/native-select/Component.d.ts +1 -1
  38. package/components/optgroup/index.css +4 -4
  39. package/components/optgroup/index.module.css.js +1 -1
  40. package/components/optgroup/index.module.css.js.map +1 -1
  41. package/components/option/Component.d.ts +1 -2
  42. package/components/option/desktop/index.css +19 -19
  43. package/components/option/desktop/index.module.css.js +1 -1
  44. package/components/option/desktop/index.module.css.js.map +1 -1
  45. package/components/option/mobile/index.css +16 -16
  46. package/components/option/mobile/index.module.css.js +1 -1
  47. package/components/option/mobile/index.module.css.js.map +1 -1
  48. package/components/options-list/Component.d.ts +25 -25
  49. package/components/options-list/Component.js +3 -3
  50. package/components/options-list/Component.js.map +1 -1
  51. package/components/options-list/index.css +13 -13
  52. package/components/options-list/index.module.css.js +1 -1
  53. package/components/options-list/index.module.css.js.map +1 -1
  54. package/components/search/Component.js.map +1 -1
  55. package/components/search/index.css +1 -1
  56. package/components/search/index.module.css.js +1 -1
  57. package/components/search/index.module.css.js.map +1 -1
  58. package/components/virtual-options-list/Component.d.ts +25 -25
  59. package/components/virtual-options-list/Component.js.map +1 -1
  60. package/components/virtual-options-list/index.css +13 -13
  61. package/components/virtual-options-list/index.module.css.js +1 -1
  62. package/components/virtual-options-list/index.module.css.js.map +1 -1
  63. package/cssm/Component.responsive.d.ts +1 -1
  64. package/cssm/Component.responsive.js.map +1 -1
  65. package/cssm/components/base-select/Component.d.ts +5 -5
  66. package/cssm/components/base-select/Component.js.map +1 -1
  67. package/cssm/components/base-select/types/component-types.d.ts +4 -4
  68. package/cssm/components/field/Component.d.ts +1 -1
  69. package/cssm/components/footer/Component.d.ts +1 -1
  70. package/cssm/components/native-select/Component.d.ts +1 -1
  71. package/cssm/components/option/Component.d.ts +1 -2
  72. package/cssm/components/options-list/Component.d.ts +25 -25
  73. package/cssm/components/options-list/Component.js +3 -3
  74. package/cssm/components/options-list/Component.js.map +1 -1
  75. package/cssm/components/search/Component.js.map +1 -1
  76. package/cssm/components/virtual-options-list/Component.d.ts +25 -25
  77. package/cssm/components/virtual-options-list/Component.js.map +1 -1
  78. package/cssm/desktop/Component.desktop.d.ts +1 -1
  79. package/cssm/hooks/use-native-scrollbar.d.ts +1 -1
  80. package/cssm/hooks/use-native-scrollbar.js.map +1 -1
  81. package/cssm/presets/useLazyLoading/hook.d.ts +2 -2
  82. package/cssm/presets/useLazyLoading/hook.js.map +1 -1
  83. package/cssm/presets/useSelectWithApply/hook.d.ts +97 -131
  84. package/cssm/presets/useSelectWithApply/hook.js.map +1 -1
  85. package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +36 -69
  86. package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.js.map +1 -1
  87. package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +1 -1
  88. package/cssm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -1
  89. package/cssm/presets/useSelectWithLoading/hook.d.ts +1 -1
  90. package/cssm/typings.d.ts +21 -21
  91. package/cssm/utils.d.ts +4 -4
  92. package/cssm/utils.js.map +1 -1
  93. package/desktop/Component.desktop.d.ts +1 -1
  94. package/esm/Component.responsive.d.ts +1 -1
  95. package/esm/Component.responsive.js.map +1 -1
  96. package/esm/components/arrow/index.css +4 -4
  97. package/esm/components/arrow/index.module.css.js +1 -1
  98. package/esm/components/arrow/index.module.css.js.map +1 -1
  99. package/esm/components/base-checkmark/index.css +12 -12
  100. package/esm/components/base-checkmark/index.module.css.js +1 -1
  101. package/esm/components/base-checkmark/index.module.css.js.map +1 -1
  102. package/esm/components/base-option/index.css +14 -14
  103. package/esm/components/base-option/index.module.css.js +1 -1
  104. package/esm/components/base-option/index.module.css.js.map +1 -1
  105. package/esm/components/base-select/Component.d.ts +5 -5
  106. package/esm/components/base-select/Component.js.map +1 -1
  107. package/esm/components/base-select/index.css +11 -11
  108. package/esm/components/base-select/index.module.css.js +1 -1
  109. package/esm/components/base-select/index.module.css.js.map +1 -1
  110. package/esm/components/base-select/mobile.css +11 -11
  111. package/esm/components/base-select/mobile.module.css.js +1 -1
  112. package/esm/components/base-select/mobile.module.css.js.map +1 -1
  113. package/esm/components/base-select/types/component-types.d.ts +4 -4
  114. package/esm/components/checkmark/index.css +11 -11
  115. package/esm/components/checkmark/index.module.css.js +1 -1
  116. package/esm/components/checkmark/index.module.css.js.map +1 -1
  117. package/esm/components/checkmark-mobile/index.css +6 -6
  118. package/esm/components/checkmark-mobile/index.module.css.js +1 -1
  119. package/esm/components/checkmark-mobile/index.module.css.js.map +1 -1
  120. package/esm/components/clear-button/index.css +4 -4
  121. package/esm/components/clear-button/index.module.css.js +1 -1
  122. package/esm/components/field/Component.d.ts +1 -1
  123. package/esm/components/field/index.css +13 -13
  124. package/esm/components/field/index.module.css.js +1 -1
  125. package/esm/components/field/index.module.css.js.map +1 -1
  126. package/esm/components/footer/Component.d.ts +1 -1
  127. package/esm/components/footer/index.css +4 -4
  128. package/esm/components/footer/index.module.css.js +1 -1
  129. package/esm/components/footer/index.module.css.js.map +1 -1
  130. package/esm/components/native-select/Component.d.ts +1 -1
  131. package/esm/components/optgroup/index.css +4 -4
  132. package/esm/components/optgroup/index.module.css.js +1 -1
  133. package/esm/components/optgroup/index.module.css.js.map +1 -1
  134. package/esm/components/option/Component.d.ts +1 -2
  135. package/esm/components/option/desktop/index.css +19 -19
  136. package/esm/components/option/desktop/index.module.css.js +1 -1
  137. package/esm/components/option/desktop/index.module.css.js.map +1 -1
  138. package/esm/components/option/mobile/index.css +16 -16
  139. package/esm/components/option/mobile/index.module.css.js +1 -1
  140. package/esm/components/option/mobile/index.module.css.js.map +1 -1
  141. package/esm/components/options-list/Component.d.ts +25 -25
  142. package/esm/components/options-list/Component.js +3 -3
  143. package/esm/components/options-list/Component.js.map +1 -1
  144. package/esm/components/options-list/index.css +13 -13
  145. package/esm/components/options-list/index.module.css.js +1 -1
  146. package/esm/components/options-list/index.module.css.js.map +1 -1
  147. package/esm/components/search/Component.js.map +1 -1
  148. package/esm/components/search/index.css +1 -1
  149. package/esm/components/search/index.module.css.js +1 -1
  150. package/esm/components/search/index.module.css.js.map +1 -1
  151. package/esm/components/virtual-options-list/Component.d.ts +25 -25
  152. package/esm/components/virtual-options-list/Component.js.map +1 -1
  153. package/esm/components/virtual-options-list/index.css +13 -13
  154. package/esm/components/virtual-options-list/index.module.css.js +1 -1
  155. package/esm/components/virtual-options-list/index.module.css.js.map +1 -1
  156. package/esm/desktop/Component.desktop.d.ts +1 -1
  157. package/esm/hooks/use-native-scrollbar.d.ts +1 -1
  158. package/esm/hooks/use-native-scrollbar.js.map +1 -1
  159. package/esm/presets/useLazyLoading/hook.d.ts +2 -2
  160. package/esm/presets/useLazyLoading/hook.js.map +1 -1
  161. package/esm/presets/useSelectWithApply/hook.d.ts +97 -131
  162. package/esm/presets/useSelectWithApply/hook.js.map +1 -1
  163. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +36 -69
  164. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js.map +1 -1
  165. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +1 -1
  166. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  167. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  168. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js.map +1 -1
  169. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -1
  170. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  171. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  172. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js.map +1 -1
  173. package/esm/presets/useSelectWithLoading/hook.d.ts +1 -1
  174. package/esm/presets/useSelectWithLoading/index.css +1 -1
  175. package/esm/presets/useSelectWithLoading/index.module.css.js +1 -1
  176. package/esm/typings.d.ts +21 -21
  177. package/esm/utils.d.ts +4 -4
  178. package/esm/utils.js.map +1 -1
  179. package/hooks/use-native-scrollbar.d.ts +1 -1
  180. package/hooks/use-native-scrollbar.js.map +1 -1
  181. package/modern/Component.responsive.d.ts +1 -1
  182. package/modern/Component.responsive.js.map +1 -1
  183. package/modern/components/arrow/index.css +4 -4
  184. package/modern/components/arrow/index.module.css.js +1 -1
  185. package/modern/components/arrow/index.module.css.js.map +1 -1
  186. package/modern/components/base-checkmark/index.css +12 -12
  187. package/modern/components/base-checkmark/index.module.css.js +1 -1
  188. package/modern/components/base-checkmark/index.module.css.js.map +1 -1
  189. package/modern/components/base-option/index.css +14 -14
  190. package/modern/components/base-option/index.module.css.js +1 -1
  191. package/modern/components/base-option/index.module.css.js.map +1 -1
  192. package/modern/components/base-select/Component.d.ts +5 -5
  193. package/modern/components/base-select/Component.js.map +1 -1
  194. package/modern/components/base-select/index.css +11 -11
  195. package/modern/components/base-select/index.module.css.js +1 -1
  196. package/modern/components/base-select/index.module.css.js.map +1 -1
  197. package/modern/components/base-select/mobile.css +11 -11
  198. package/modern/components/base-select/mobile.module.css.js +1 -1
  199. package/modern/components/base-select/mobile.module.css.js.map +1 -1
  200. package/modern/components/base-select/types/component-types.d.ts +4 -4
  201. package/modern/components/checkmark/index.css +11 -11
  202. package/modern/components/checkmark/index.module.css.js +1 -1
  203. package/modern/components/checkmark/index.module.css.js.map +1 -1
  204. package/modern/components/checkmark-mobile/index.css +6 -6
  205. package/modern/components/checkmark-mobile/index.module.css.js +1 -1
  206. package/modern/components/checkmark-mobile/index.module.css.js.map +1 -1
  207. package/modern/components/clear-button/index.css +4 -4
  208. package/modern/components/clear-button/index.module.css.js +1 -1
  209. package/modern/components/field/Component.d.ts +1 -1
  210. package/modern/components/field/index.css +13 -13
  211. package/modern/components/field/index.module.css.js +1 -1
  212. package/modern/components/field/index.module.css.js.map +1 -1
  213. package/modern/components/footer/Component.d.ts +1 -1
  214. package/modern/components/footer/index.css +4 -4
  215. package/modern/components/footer/index.module.css.js +1 -1
  216. package/modern/components/footer/index.module.css.js.map +1 -1
  217. package/modern/components/native-select/Component.d.ts +1 -1
  218. package/modern/components/optgroup/index.css +4 -4
  219. package/modern/components/optgroup/index.module.css.js +1 -1
  220. package/modern/components/optgroup/index.module.css.js.map +1 -1
  221. package/modern/components/option/Component.d.ts +1 -2
  222. package/modern/components/option/desktop/index.css +19 -19
  223. package/modern/components/option/desktop/index.module.css.js +1 -1
  224. package/modern/components/option/desktop/index.module.css.js.map +1 -1
  225. package/modern/components/option/mobile/index.css +16 -16
  226. package/modern/components/option/mobile/index.module.css.js +1 -1
  227. package/modern/components/option/mobile/index.module.css.js.map +1 -1
  228. package/modern/components/options-list/Component.d.ts +25 -25
  229. package/modern/components/options-list/Component.js +3 -3
  230. package/modern/components/options-list/Component.js.map +1 -1
  231. package/modern/components/options-list/index.css +13 -13
  232. package/modern/components/options-list/index.module.css.js +1 -1
  233. package/modern/components/options-list/index.module.css.js.map +1 -1
  234. package/modern/components/search/Component.js.map +1 -1
  235. package/modern/components/search/index.css +1 -1
  236. package/modern/components/search/index.module.css.js +1 -1
  237. package/modern/components/search/index.module.css.js.map +1 -1
  238. package/modern/components/virtual-options-list/Component.d.ts +25 -25
  239. package/modern/components/virtual-options-list/Component.js.map +1 -1
  240. package/modern/components/virtual-options-list/index.css +13 -13
  241. package/modern/components/virtual-options-list/index.module.css.js +1 -1
  242. package/modern/components/virtual-options-list/index.module.css.js.map +1 -1
  243. package/modern/desktop/Component.desktop.d.ts +1 -1
  244. package/modern/hooks/use-native-scrollbar.d.ts +1 -1
  245. package/modern/hooks/use-native-scrollbar.js.map +1 -1
  246. package/modern/presets/useLazyLoading/hook.d.ts +2 -2
  247. package/modern/presets/useLazyLoading/hook.js.map +1 -1
  248. package/modern/presets/useSelectWithApply/hook.d.ts +97 -131
  249. package/modern/presets/useSelectWithApply/hook.js.map +1 -1
  250. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +36 -69
  251. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js.map +1 -1
  252. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +1 -1
  253. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  254. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  255. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js.map +1 -1
  256. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -1
  257. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  258. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  259. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js.map +1 -1
  260. package/modern/presets/useSelectWithLoading/hook.d.ts +1 -1
  261. package/modern/presets/useSelectWithLoading/index.css +1 -1
  262. package/modern/presets/useSelectWithLoading/index.module.css.js +1 -1
  263. package/modern/typings.d.ts +21 -21
  264. package/modern/utils.d.ts +4 -4
  265. package/modern/utils.js.map +1 -1
  266. package/moderncssm/Component.responsive.d.ts +1 -1
  267. package/moderncssm/Component.responsive.js.map +1 -1
  268. package/moderncssm/components/base-select/Component.d.ts +5 -5
  269. package/moderncssm/components/base-select/Component.js.map +1 -1
  270. package/moderncssm/components/base-select/types/component-types.d.ts +4 -4
  271. package/moderncssm/components/field/Component.d.ts +1 -1
  272. package/moderncssm/components/footer/Component.d.ts +1 -1
  273. package/moderncssm/components/native-select/Component.d.ts +1 -1
  274. package/moderncssm/components/option/Component.d.ts +1 -2
  275. package/moderncssm/components/options-list/Component.d.ts +25 -25
  276. package/moderncssm/components/options-list/Component.js +3 -3
  277. package/moderncssm/components/options-list/Component.js.map +1 -1
  278. package/moderncssm/components/search/Component.js.map +1 -1
  279. package/moderncssm/components/virtual-options-list/Component.d.ts +25 -25
  280. package/moderncssm/components/virtual-options-list/Component.js.map +1 -1
  281. package/moderncssm/desktop/Component.desktop.d.ts +1 -1
  282. package/moderncssm/hooks/use-native-scrollbar.d.ts +1 -1
  283. package/moderncssm/hooks/use-native-scrollbar.js.map +1 -1
  284. package/moderncssm/presets/useLazyLoading/hook.d.ts +2 -2
  285. package/moderncssm/presets/useLazyLoading/hook.js.map +1 -1
  286. package/moderncssm/presets/useSelectWithApply/hook.d.ts +97 -131
  287. package/moderncssm/presets/useSelectWithApply/hook.js.map +1 -1
  288. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +36 -69
  289. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/Component.js.map +1 -1
  290. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +1 -1
  291. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -1
  292. package/moderncssm/presets/useSelectWithLoading/hook.d.ts +1 -1
  293. package/moderncssm/typings.d.ts +21 -21
  294. package/moderncssm/utils.d.ts +4 -4
  295. package/moderncssm/utils.js.map +1 -1
  296. package/package.json +14 -14
  297. package/presets/useLazyLoading/hook.d.ts +2 -2
  298. package/presets/useLazyLoading/hook.js.map +1 -1
  299. package/presets/useSelectWithApply/hook.d.ts +97 -130
  300. package/presets/useSelectWithApply/hook.js.map +1 -1
  301. package/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +36 -69
  302. package/presets/useSelectWithApply/options-list-with-apply/Component.js.map +1 -1
  303. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +1 -1
  304. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  305. package/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  306. package/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js.map +1 -1
  307. package/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -1
  308. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  309. package/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  310. package/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js.map +1 -1
  311. package/presets/useSelectWithLoading/hook.d.ts +1 -1
  312. package/presets/useSelectWithLoading/index.css +1 -1
  313. package/presets/useSelectWithLoading/index.module.css.js +1 -1
  314. package/src/components/arrow/index.module.css +1 -1
  315. package/src/components/base-checkmark/index.module.css +1 -1
  316. package/src/components/base-option/index.module.css +1 -1
  317. package/src/components/base-select/index.module.css +1 -1
  318. package/src/components/base-select/mobile.module.css +1 -1
  319. package/src/components/checkmark/index.module.css +1 -1
  320. package/src/components/checkmark-mobile/index.module.css +1 -1
  321. package/src/components/field/index.module.css +1 -1
  322. package/src/components/footer/index.module.css +1 -1
  323. package/src/components/optgroup/index.module.css +1 -1
  324. package/src/components/option/desktop/index.module.css +1 -1
  325. package/src/components/option/index.module.css +1 -1
  326. package/src/components/option/mobile/index.module.css +1 -1
  327. package/src/components/options-list/Component.tsx +3 -3
  328. package/src/components/options-list/index.module.css +1 -1
  329. package/src/components/search/index.module.css +1 -1
  330. package/src/components/virtual-options-list/index.module.css +1 -1
  331. package/src/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +1 -1
  332. package/src/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +1 -1
  333. package/typings.d.ts +21 -21
  334. package/utils.d.ts +4 -4
  335. package/utils.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../src/components/virtual-options-list/Component.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useMemo, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { useVirtual } from 'react-virtual';\nimport cn from 'classnames';\n\nimport { Scrollbar } from '@alfalab/core-components-scrollbar';\n\nimport { DEFAULT_VISIBLE_OPTIONS } from '../../consts';\nimport { useNativeScrollbar } from '../../hooks/use-native-scrollbar';\nimport { type GroupShape, type OptionShape, type OptionsListProps } from '../../typings';\nimport { isGroup, lastIndexOf, usePrevious, useVirtualVisibleOptions } from '../../utils';\nimport { Optgroup as DefaultOptgroup } from '../optgroup';\n\nimport styles from './index.module.css';\n\nexport const VirtualOptionsList = forwardRef<HTMLDivElement, OptionsListProps>(\n (\n {\n size = 48,\n flatOptions = [],\n highlightedIndex = -1,\n optionGroupClassName,\n className,\n getOptionProps,\n groupOptionProps = {},\n Option,\n open,\n options = [],\n Optgroup = DefaultOptgroup,\n dataTestId,\n emptyPlaceholder,\n visibleOptions = DEFAULT_VISIBLE_OPTIONS,\n header,\n footer,\n showFooter = true,\n optionsListWidth,\n onScroll,\n nativeScrollbar: nativeScrollbarProp,\n setHighlightedIndex,\n selectedItems,\n setSelectedItems,\n search,\n multiple,\n scrollbarClassName,\n client,\n },\n ref,\n ) => {\n const listRef = useRef<HTMLDivElement>(null);\n const parentRef = useRef<HTMLDivElement>(null);\n const scrollbarRef = useRef<HTMLDivElement>(null);\n const [visibleOptionsInvalidateKey, setVisibleOptionsInvalidateKey] = useState('');\n const prevHighlightedIndex = usePrevious(highlightedIndex) || -1;\n\n const rowVirtualizer = useVirtual({\n size: flatOptions.length,\n parentRef: (ref || parentRef) as React.RefObject<HTMLDivElement>,\n overscan: 15,\n });\n\n const nativeScrollbar = useNativeScrollbar({\n nativeScrollbar: nativeScrollbarProp,\n client,\n });\n\n // Сколл к выбранному пункту при открытии меню\n useEffect(() => {\n if (open) {\n rowVirtualizer.scrollToIndex(highlightedIndex, { align: 'end' });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n // Скролл к пункту, которого нет на экране\n useEffect(() => {\n if (highlightedIndex === -1) return;\n\n if (!rowVirtualizer.virtualItems.some((option) => option.index === highlightedIndex)) {\n rowVirtualizer.scrollToIndex(highlightedIndex, { align: 'end' });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [highlightedIndex]);\n\n // Циклическая навигация\n useEffect(() => {\n const notDisabled = (option: OptionShape) => !option.disabled;\n const firstNonDisabled = flatOptions.findIndex(notDisabled);\n const lastNonDisabled = lastIndexOf(flatOptions, notDisabled);\n\n if (\n prevHighlightedIndex <= firstNonDisabled &&\n highlightedIndex === flatOptions.length - 1\n ) {\n rowVirtualizer.scrollToIndex(lastNonDisabled);\n }\n\n if (prevHighlightedIndex >= lastNonDisabled && highlightedIndex === 0) {\n rowVirtualizer.scrollToIndex(0);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [prevHighlightedIndex, highlightedIndex]);\n\n useEffect(() => {\n setVisibleOptionsInvalidateKey(\n /**\n * react-virtual может несколько раз отрендерить список с одним элементом,\n * поэтому нужно еще раз пересчитать высоту, когда список ВИДИМЫХ пунктов будет отрендерен полностью\n * Также, высоту нужно пересчитывать при изменении пунктов меню\n */\n rowVirtualizer.virtualItems\n .slice(0, Math.min(rowVirtualizer.virtualItems.length, visibleOptions + 1))\n .map((item) => flatOptions[item.index].key)\n .join('_'),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [rowVirtualizer.virtualItems.length, flatOptions]);\n\n useVirtualVisibleOptions({\n visibleOptions,\n invalidate: visibleOptionsInvalidateKey,\n listRef,\n styleTargetRef: nativeScrollbar ? parentRef : scrollbarRef,\n open,\n });\n\n // Т.к. рендерится плоский список, необходимо знать индекс, когда начинается новая группа\n const groupStartIndexes = useMemo(() => {\n let currentIndex = 0;\n\n return options.reduce((acc: { [key: number]: number }, option, index) => {\n if (isGroup(option)) {\n acc[currentIndex] = index;\n currentIndex += option.options.length;\n } else {\n currentIndex += 1;\n }\n\n return acc;\n }, {});\n }, [options]);\n\n const renderList = () =>\n rowVirtualizer.virtualItems.map((virtualRow) => {\n const option = flatOptions[virtualRow.index];\n const renderGroup = () => {\n const group = options[groupStartIndexes[virtualRow.index]] as GroupShape;\n\n if (!group) return null;\n\n const groupSelectedItems = selectedItems?.filter(({ key: selectedItemKey }) =>\n group.options.some((opt) => opt.key === selectedItemKey),\n );\n const handleSelectedItems = (items: OptionShape[]) => {\n setSelectedItems(\n (\n selectedItems?.filter(\n ({ key: selectedItemKey }) =>\n !group.options.some((opt) => opt.key === selectedItemKey),\n ) ?? []\n ).concat(items),\n );\n };\n\n return (\n <Optgroup\n label={group.label}\n size={size}\n className={optionGroupClassName}\n options={group.options}\n selectedItems={groupSelectedItems}\n setSelectedItems={handleSelectedItems}\n search={search}\n multiple={multiple}\n {...groupOptionProps}\n />\n );\n };\n\n return (\n <div\n key={virtualRow.index}\n ref={virtualRow.measureRef}\n className={cn(styles.virtualRow, {\n [styles.highlighted]: highlightedIndex === virtualRow.index,\n })}\n style={{\n transform: `translateY(${virtualRow.start}px)`,\n }}\n >\n {renderGroup()}\n {!isGroup(option) && (\n <Option {...getOptionProps(option, virtualRow.index)} />\n )}\n </div>\n );\n });\n\n const contentNodeProps = {\n className: styles.inner,\n style: { height: `${rowVirtualizer.totalSize}px` },\n ref: listRef,\n };\n\n const renderWithCustomScrollbar = () => (\n <Scrollbar\n className={cn(styles.scrollable, scrollbarClassName)}\n ref={scrollbarRef}\n horizontalAutoStretch={optionsListWidth === 'content'}\n scrollableNodeProps={{ onScroll, ref: parentRef }}\n contentNodeProps={contentNodeProps}\n >\n {renderList()}\n </Scrollbar>\n );\n\n const renderWithNativeScrollbar = () => {\n if (visibleOptions) {\n return (\n <div\n className={cn(styles.scrollable, scrollbarClassName)}\n ref={mergeRefs([parentRef, ref])}\n onScroll={onScroll}\n >\n <div {...contentNodeProps}>{renderList()}</div>\n </div>\n );\n }\n\n return <div {...contentNodeProps}>{renderList()}</div>;\n };\n\n const resetHighlightedIndex = () => setHighlightedIndex?.(-1);\n\n if (options.length === 0 && !emptyPlaceholder) {\n return null;\n }\n\n return (\n <div\n className={cn(styles.virtualOptionsList, styles[`size-${size}`], className)}\n data-test-id={dataTestId}\n >\n {header && (\n <div\n className={styles.virtualOptionsListHeader}\n onMouseEnter={resetHighlightedIndex}\n >\n {header}\n </div>\n )}\n\n {nativeScrollbar ? renderWithNativeScrollbar() : renderWithCustomScrollbar()}\n\n {emptyPlaceholder && options.length === 0 && (\n <div className={styles.emptyPlaceholder}>{emptyPlaceholder}</div>\n )}\n\n {showFooter && footer && (\n <div\n onMouseEnter={resetHighlightedIndex}\n className={cn(styles.virtualOptionsListFooter, {\n [styles.withBorder]:\n visibleOptions && flatOptions.length > visibleOptions,\n })}\n >\n {footer}\n </div>\n )}\n </div>\n );\n },\n);\n"],"names":["forwardRef","DefaultOptgroup","DEFAULT_VISIBLE_OPTIONS","useRef","useState","usePrevious","useVirtual","useNativeScrollbar","useEffect","lastIndexOf","useVirtualVisibleOptions","useMemo","isGroup","React","cn","styles","__assign","Scrollbar","mergeRefs"],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["../../src/components/virtual-options-list/Component.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useMemo, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { useVirtual } from 'react-virtual';\nimport cn from 'classnames';\n\nimport { Scrollbar } from '@alfalab/core-components-scrollbar';\n\nimport { DEFAULT_VISIBLE_OPTIONS } from '../../consts';\nimport { useNativeScrollbar } from '../../hooks/use-native-scrollbar';\nimport { type GroupShape, type OptionShape, type OptionsListProps } from '../../typings';\nimport { isGroup, lastIndexOf, usePrevious, useVirtualVisibleOptions } from '../../utils';\nimport { Optgroup as DefaultOptgroup } from '../optgroup';\n\nimport styles from './index.module.css';\n\nexport const VirtualOptionsList = forwardRef<HTMLDivElement, OptionsListProps>(\n (\n {\n size = 48,\n flatOptions = [],\n highlightedIndex = -1,\n optionGroupClassName,\n className,\n getOptionProps,\n groupOptionProps = {},\n Option,\n open,\n options = [],\n Optgroup = DefaultOptgroup,\n dataTestId,\n emptyPlaceholder,\n visibleOptions = DEFAULT_VISIBLE_OPTIONS,\n header,\n footer,\n showFooter = true,\n optionsListWidth,\n onScroll,\n nativeScrollbar: nativeScrollbarProp,\n setHighlightedIndex,\n selectedItems,\n setSelectedItems,\n search,\n multiple,\n scrollbarClassName,\n client,\n },\n ref,\n ) => {\n const listRef = useRef<HTMLDivElement>(null);\n const parentRef = useRef<HTMLDivElement>(null);\n const scrollbarRef = useRef<HTMLDivElement>(null);\n const [visibleOptionsInvalidateKey, setVisibleOptionsInvalidateKey] = useState('');\n const prevHighlightedIndex = usePrevious(highlightedIndex) || -1;\n\n const rowVirtualizer = useVirtual({\n size: flatOptions.length,\n parentRef: (ref || parentRef) as React.RefObject<HTMLDivElement>,\n overscan: 15,\n });\n\n const nativeScrollbar = useNativeScrollbar({\n nativeScrollbar: nativeScrollbarProp,\n client,\n });\n\n // Сколл к выбранному пункту при открытии меню\n useEffect(() => {\n if (open) {\n rowVirtualizer.scrollToIndex(highlightedIndex, { align: 'end' });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n // Скролл к пункту, которого нет на экране\n useEffect(() => {\n if (highlightedIndex === -1) return;\n\n if (!rowVirtualizer.virtualItems.some((option) => option.index === highlightedIndex)) {\n rowVirtualizer.scrollToIndex(highlightedIndex, { align: 'end' });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [highlightedIndex]);\n\n // Циклическая навигация\n useEffect(() => {\n const notDisabled = (option: OptionShape) => !option.disabled;\n const firstNonDisabled = flatOptions.findIndex(notDisabled);\n const lastNonDisabled = lastIndexOf(flatOptions, notDisabled);\n\n if (\n prevHighlightedIndex <= firstNonDisabled &&\n highlightedIndex === flatOptions.length - 1\n ) {\n rowVirtualizer.scrollToIndex(lastNonDisabled);\n }\n\n if (prevHighlightedIndex >= lastNonDisabled && highlightedIndex === 0) {\n rowVirtualizer.scrollToIndex(0);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [prevHighlightedIndex, highlightedIndex]);\n\n useEffect(() => {\n setVisibleOptionsInvalidateKey(\n /**\n * react-virtual может несколько раз отрендерить список с одним элементом,\n * поэтому нужно еще раз пересчитать высоту, когда список ВИДИМЫХ пунктов будет отрендерен полностью\n * Также, высоту нужно пересчитывать при изменении пунктов меню\n */\n rowVirtualizer.virtualItems\n .slice(0, Math.min(rowVirtualizer.virtualItems.length, visibleOptions + 1))\n .map((item) => flatOptions[item.index].key)\n .join('_'),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [rowVirtualizer.virtualItems.length, flatOptions]);\n\n useVirtualVisibleOptions({\n visibleOptions,\n invalidate: visibleOptionsInvalidateKey,\n listRef,\n styleTargetRef: nativeScrollbar ? parentRef : scrollbarRef,\n open,\n });\n\n // Т.к. рендерится плоский список, необходимо знать индекс, когда начинается новая группа\n const groupStartIndexes = useMemo(() => {\n let currentIndex = 0;\n\n return options.reduce((acc: { [key: number]: number }, option, index) => {\n if (isGroup(option)) {\n acc[currentIndex] = index;\n currentIndex += option.options.length;\n } else {\n currentIndex += 1;\n }\n\n return acc;\n }, {});\n }, [options]);\n\n const renderList = () =>\n rowVirtualizer.virtualItems.map((virtualRow) => {\n const option = flatOptions[virtualRow.index];\n const renderGroup = () => {\n const group = options[groupStartIndexes[virtualRow.index]] as GroupShape;\n\n if (!group) return null;\n\n const groupSelectedItems = selectedItems?.filter(({ key: selectedItemKey }) =>\n group.options.some((opt) => opt.key === selectedItemKey),\n );\n const handleSelectedItems = (items: OptionShape[]) => {\n setSelectedItems(\n (\n selectedItems?.filter(\n ({ key: selectedItemKey }) =>\n !group.options.some((opt) => opt.key === selectedItemKey),\n ) ?? []\n ).concat(items),\n );\n };\n\n return (\n <Optgroup\n label={group.label}\n size={size}\n className={optionGroupClassName}\n options={group.options}\n selectedItems={groupSelectedItems}\n setSelectedItems={handleSelectedItems}\n search={search}\n multiple={multiple}\n {...groupOptionProps}\n />\n );\n };\n\n return (\n <div\n key={virtualRow.index}\n ref={virtualRow.measureRef}\n className={cn(styles.virtualRow, {\n [styles.highlighted]: highlightedIndex === virtualRow.index,\n })}\n style={{\n transform: `translateY(${virtualRow.start}px)`,\n }}\n >\n {renderGroup()}\n {!isGroup(option) && (\n <Option {...getOptionProps(option, virtualRow.index)} />\n )}\n </div>\n );\n });\n\n const contentNodeProps = {\n className: styles.inner,\n style: { height: `${rowVirtualizer.totalSize}px` },\n ref: listRef,\n };\n\n const renderWithCustomScrollbar = () => (\n <Scrollbar\n className={cn(styles.scrollable, scrollbarClassName)}\n ref={scrollbarRef}\n horizontalAutoStretch={optionsListWidth === 'content'}\n scrollableNodeProps={{ onScroll, ref: parentRef }}\n contentNodeProps={contentNodeProps}\n >\n {renderList()}\n </Scrollbar>\n );\n\n const renderWithNativeScrollbar = () => {\n if (visibleOptions) {\n return (\n <div\n className={cn(styles.scrollable, scrollbarClassName)}\n ref={mergeRefs([parentRef, ref])}\n onScroll={onScroll}\n >\n <div {...contentNodeProps}>{renderList()}</div>\n </div>\n );\n }\n\n return <div {...contentNodeProps}>{renderList()}</div>;\n };\n\n const resetHighlightedIndex = () => setHighlightedIndex?.(-1);\n\n if (options.length === 0 && !emptyPlaceholder) {\n return null;\n }\n\n return (\n <div\n className={cn(styles.virtualOptionsList, styles[`size-${size}`], className)}\n data-test-id={dataTestId}\n >\n {header && (\n <div\n className={styles.virtualOptionsListHeader}\n onMouseEnter={resetHighlightedIndex}\n >\n {header}\n </div>\n )}\n\n {nativeScrollbar ? renderWithNativeScrollbar() : renderWithCustomScrollbar()}\n\n {emptyPlaceholder && options.length === 0 && (\n <div className={styles.emptyPlaceholder}>{emptyPlaceholder}</div>\n )}\n\n {showFooter && footer && (\n <div\n onMouseEnter={resetHighlightedIndex}\n className={cn(styles.virtualOptionsListFooter, {\n [styles.withBorder]:\n visibleOptions && flatOptions.length > visibleOptions,\n })}\n >\n {footer}\n </div>\n )}\n </div>\n );\n },\n);\n"],"names":["forwardRef","DefaultOptgroup","DEFAULT_VISIBLE_OPTIONS","useRef","useState","usePrevious","useVirtual","useNativeScrollbar","useEffect","lastIndexOf","useVirtualVisibleOptions","useMemo","isGroup","React","cn","styles","__assign","Scrollbar","mergeRefs"],"mappings":"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"}
@@ -20,42 +20,42 @@
20
20
  --select-option-left-padding: var(--gap-12);
21
21
  --select-option-right-padding: var(--gap-12);
22
22
  }
23
- .select__virtualOptionsList_9qgrn {
23
+ .select__virtualOptionsList_74lc3 {
24
24
  width: 100%;
25
25
  outline: none;
26
26
  box-sizing: border-box;
27
27
  position: sticky;
28
28
  justify-content: space-between;
29
29
  }
30
- .select__virtualOptionsListHeader_9qgrn {
30
+ .select__virtualOptionsListHeader_74lc3 {
31
31
  box-sizing: border-box;
32
32
  border-bottom: 1px solid var(--color-light-neutral-300);
33
33
  }
34
- .select__virtualOptionsListFooter_9qgrn {
34
+ .select__virtualOptionsListFooter_74lc3 {
35
35
  position: sticky;
36
36
  bottom: var(--gap-0);
37
37
  box-sizing: border-box;
38
38
  border-top: 1px solid transparent;
39
39
  }
40
- .select__virtualOptionsListFooter_9qgrn.select__withBorder_9qgrn {
40
+ .select__virtualOptionsListFooter_74lc3.select__withBorder_74lc3 {
41
41
  border-top: 1px solid var(--color-light-neutral-300);
42
42
  }
43
- .select__scrollable_9qgrn {
43
+ .select__scrollable_74lc3 {
44
44
  position: relative;
45
45
  overflow: auto;
46
46
  width: 100%;
47
47
  }
48
- .select__inner_9qgrn {
48
+ .select__inner_74lc3 {
49
49
  position: relative;
50
50
  width: 100%;
51
51
  }
52
- .select__virtualRow_9qgrn {
52
+ .select__virtualRow_74lc3 {
53
53
  position: absolute;
54
54
  top: var(--gap-0);
55
55
  left: var(--gap-0);
56
56
  width: 100%;
57
57
  }
58
- .select__virtualRow_9qgrn:before {
58
+ .select__virtualRow_74lc3:before {
59
59
  content: '';
60
60
  position: absolute;
61
61
  z-index: 1;
@@ -66,18 +66,18 @@
66
66
  background: var(--select-option-divider-background);
67
67
  display: var(--select-option-divider-display);
68
68
  }
69
- .select__virtualRow_9qgrn:first-child:before {
69
+ .select__virtualRow_74lc3:first-child:before {
70
70
  display: none;
71
71
  }
72
- .select__highlighted_9qgrn:before,
73
- .select__highlighted_9qgrn + .select__virtualRow_9qgrn:before {
72
+ .select__highlighted_74lc3:before,
73
+ .select__highlighted_74lc3 + .select__virtualRow_74lc3:before {
74
74
  display: none;
75
75
  }
76
- .select__emptyPlaceholder_9qgrn {
76
+ .select__emptyPlaceholder_74lc3 {
77
77
  padding: var(--gap-16) var(--gap-12);
78
78
  color: var(--select-options-list-empty-placeholder-color);
79
79
  flex: 1;
80
80
  }
81
- .select__size-72_9qgrn .select__emptyPlaceholder_9qgrn {
81
+ .select__size-72_74lc3 .select__emptyPlaceholder_74lc3 {
82
82
  padding: var(--gap-24) var(--gap-16);
83
83
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"virtualOptionsList":"select__virtualOptionsList_9qgrn","virtualOptionsListHeader":"select__virtualOptionsListHeader_9qgrn","virtualOptionsListFooter":"select__virtualOptionsListFooter_9qgrn","withBorder":"select__withBorder_9qgrn","scrollable":"select__scrollable_9qgrn","inner":"select__inner_9qgrn","virtualRow":"select__virtualRow_9qgrn","highlighted":"select__highlighted_9qgrn","emptyPlaceholder":"select__emptyPlaceholder_9qgrn","size-72":"select__size-72_9qgrn"};
5
+ var styles = {"virtualOptionsList":"select__virtualOptionsList_74lc3","virtualOptionsListHeader":"select__virtualOptionsListHeader_74lc3","virtualOptionsListFooter":"select__virtualOptionsListFooter_74lc3","withBorder":"select__withBorder_74lc3","scrollable":"select__scrollable_74lc3","inner":"select__inner_74lc3","virtualRow":"select__virtualRow_74lc3","highlighted":"select__highlighted_74lc3","emptyPlaceholder":"select__emptyPlaceholder_74lc3","size-72":"select__size-72_74lc3"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/virtual-options-list/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n@import '../../vars.css';\n\n.virtualOptionsList {\n width: 100%;\n outline: none;\n box-sizing: border-box;\n position: sticky;\n justify-content: space-between;\n}\n\n.virtualOptionsListHeader {\n box-sizing: border-box;\n border-bottom: 1px solid var(--color-light-neutral-300);\n}\n\n.virtualOptionsListFooter {\n position: sticky;\n bottom: var(--gap-0);\n box-sizing: border-box;\n border-top: 1px solid transparent;\n\n &.withBorder {\n border-top: 1px solid var(--color-light-neutral-300);\n }\n}\n\n.scrollable {\n position: relative;\n overflow: auto;\n width: 100%;\n}\n\n.inner {\n position: relative;\n width: 100%;\n}\n\n.virtualRow {\n position: absolute;\n top: var(--gap-0);\n left: var(--gap-0);\n width: 100%;\n\n &:before {\n content: '';\n position: absolute;\n z-index: 1;\n left: var(--select-option-left-padding);\n right: var(--select-option-right-padding);\n top: var(--gap-0);\n height: 1px;\n background: var(--select-option-divider-background);\n display: var(--select-option-divider-display);\n }\n\n &:first-child:before {\n display: none;\n }\n}\n\n.highlighted {\n &:before,\n & + .virtualRow:before {\n display: none;\n }\n}\n\n.emptyPlaceholder {\n padding: var(--gap-16) var(--gap-12);\n color: var(--select-options-list-empty-placeholder-color);\n flex: 1;\n}\n\n.size-72 .emptyPlaceholder {\n padding: var(--gap-24) var(--gap-16);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,oBAAoB,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,wCAAwC,CAAC,0BAA0B,CAAC,wCAAwC,CAAC,YAAY,CAAC,0BAA0B,CAAC,YAAY,CAAC,0BAA0B,CAAC,OAAO,CAAC,qBAAqB,CAAC,YAAY,CAAC,0BAA0B,CAAC,aAAa,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,SAAS,CAAC,uBAAuB,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/virtual-options-list/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../vars.css';\n\n.virtualOptionsList {\n width: 100%;\n outline: none;\n box-sizing: border-box;\n position: sticky;\n justify-content: space-between;\n}\n\n.virtualOptionsListHeader {\n box-sizing: border-box;\n border-bottom: 1px solid var(--color-light-neutral-300);\n}\n\n.virtualOptionsListFooter {\n position: sticky;\n bottom: var(--gap-0);\n box-sizing: border-box;\n border-top: 1px solid transparent;\n\n &.withBorder {\n border-top: 1px solid var(--color-light-neutral-300);\n }\n}\n\n.scrollable {\n position: relative;\n overflow: auto;\n width: 100%;\n}\n\n.inner {\n position: relative;\n width: 100%;\n}\n\n.virtualRow {\n position: absolute;\n top: var(--gap-0);\n left: var(--gap-0);\n width: 100%;\n\n &:before {\n content: '';\n position: absolute;\n z-index: 1;\n left: var(--select-option-left-padding);\n right: var(--select-option-right-padding);\n top: var(--gap-0);\n height: 1px;\n background: var(--select-option-divider-background);\n display: var(--select-option-divider-display);\n }\n\n &:first-child:before {\n display: none;\n }\n}\n\n.highlighted {\n &:before,\n & + .virtualRow:before {\n display: none;\n }\n}\n\n.emptyPlaceholder {\n padding: var(--gap-16) var(--gap-12);\n color: var(--select-options-list-empty-placeholder-color);\n flex: 1;\n}\n\n.size-72 .emptyPlaceholder {\n padding: var(--gap-24) var(--gap-16);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,oBAAoB,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,wCAAwC,CAAC,0BAA0B,CAAC,wCAAwC,CAAC,YAAY,CAAC,0BAA0B,CAAC,YAAY,CAAC,0BAA0B,CAAC,OAAO,CAAC,qBAAqB,CAAC,YAAY,CAAC,0BAA0B,CAAC,aAAa,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,SAAS,CAAC,uBAAuB,CAAC;;;;"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { type SelectProps } from './typings';
3
3
  export declare const SelectResponsive: React.ForwardRefExoticComponent<(SelectProps & {
4
- originalProps?: SelectProps | undefined;
4
+ originalProps?: SelectProps;
5
5
  }) & React.RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { SelectDesktop } from './desktop';\nimport { SelectMobile } from './mobile';\nimport { type SelectFieldProps, type SelectProps } from './typings';\n\nexport const SelectResponsive = forwardRef<\n HTMLDivElement,\n SelectProps & { originalProps?: SelectProps }\n>(\n (\n {\n onScroll,\n fieldProps,\n breakpoint,\n client,\n defaultMatchMediaValue = client === undefined ? undefined : client === 'desktop',\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);\n\n if (isDesktop) {\n return (\n <SelectDesktop\n onScroll={onScroll}\n {...restProps}\n ref={ref}\n fieldProps={fieldProps as SelectFieldProps}\n />\n );\n }\n\n const mobileProps = {\n ...restProps,\n /* В мобильную версию хук уже зашит, и это единственный передать в мобилку оригинальные пропсы */\n ...restProps.originalProps,\n };\n\n return <SelectMobile fieldProps={fieldProps} {...mobileProps} ref={ref} />;\n },\n);\n\nSelectResponsive.displayName = 'SelectResponsive';\n"],"names":["forwardRef","__rest","useIsDesktop","React","SelectDesktop","SelectMobile","__assign"],"mappings":";;;;;;;;;;;;;;;IAQa,gBAAgB,GAAGA,gBAAU,CAItC,UACI,EAOC,EACD,GAAG,EAAA;AAPC,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,UAAU,gBAAA,EACV,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgF,GAAA,EAAA,CAAA,sBAAA,EAAhF,sBAAsB,GAAG,EAAA,KAAA,MAAA,GAAA,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,KAAK,SAAS,GAAA,EAAA,EAC7E,SAAS,GAAAC,YAAA,CAAA,EAAA,EANhB,4EAOC,CADe;IAIhB,IAAM,SAAS,GAAGC,iBAAY,CAAC,UAAU,EAAE,sBAAsB,CAAC;AAElE,IAAA,IAAI,SAAS,EAAE;AACX,QAAA,QACIC,sBAAC,CAAA,aAAA,CAAAC,+BAAa,mBACV,QAAQ,EAAE,QAAQ,EACd,EAAA,SAAS,IACb,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAA8B,EAAA,CAAA,CAC5C;AAET;IAED,IAAM,WAAW,qCACV,SAAS,CAAA,EAET,SAAS,CAAC,aAAa,CAC7B;AAED,IAAA,OAAOD,sBAAC,CAAA,aAAA,CAAAE,6BAAY,EAACC,cAAA,CAAA,EAAA,UAAU,EAAE,UAAU,EAAM,EAAA,WAAW,EAAE,EAAA,GAAG,EAAE,GAAG,IAAI;AAC9E,CAAC;AAGL,gBAAgB,CAAC,WAAW,GAAG,kBAAkB;;;;"}
1
+ {"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { SelectDesktop } from './desktop';\nimport { SelectMobile } from './mobile';\nimport { type SelectFieldProps, type SelectProps } from './typings';\n\nexport const SelectResponsive = forwardRef<\n HTMLDivElement,\n SelectProps & { originalProps?: SelectProps }\n>(\n (\n {\n onScroll,\n fieldProps,\n breakpoint,\n client,\n defaultMatchMediaValue = client === undefined ? undefined : client === 'desktop',\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);\n\n if (isDesktop) {\n return (\n <SelectDesktop\n onScroll={onScroll}\n {...restProps}\n ref={ref}\n fieldProps={fieldProps as SelectFieldProps}\n />\n );\n }\n\n const mobileProps = {\n ...restProps,\n /* В мобильную версию хук уже зашит, и это единственный передать в мобилку оригинальные пропсы */\n ...restProps.originalProps,\n };\n\n return <SelectMobile fieldProps={fieldProps} {...mobileProps} ref={ref} />;\n },\n);\n\nSelectResponsive.displayName = 'SelectResponsive';\n"],"names":["forwardRef","__rest","useIsDesktop","React","SelectDesktop","SelectMobile","__assign"],"mappings":";;;;;;;;;;;;;;;IAQa,gBAAgB,GAAGA,gBAAU,CAItC,UACI,EAOC,EACD,GAAG,EAAA;AAPC,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,UAAU,gBAAA,EACV,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgF,GAAA,EAAA,CAAA,sBAAA,EAAhF,sBAAsB,GAAG,EAAA,KAAA,MAAA,GAAA,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,KAAK,SAAS,GAAA,EAAA,EAC7E,SAAS,GAAAC,YAAA,CAAA,EAAA,EANhB,4EAOC,CADe;IAIhB,IAAM,SAAS,GAAGC,iBAAY,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAElE,IAAI,SAAS,EAAE;AACX,QAAA,QACIC,sBAAC,CAAA,aAAA,CAAAC,+BAAa,mBACV,QAAQ,EAAE,QAAQ,EACd,EAAA,SAAS,IACb,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAA8B,EAAA,CAAA,CAC5C;;IAIV,IAAM,WAAW,qCACV,SAAS,CAAA,EAET,SAAS,CAAC,aAAa,CAC7B;AAED,IAAA,OAAOD,sBAAC,CAAA,aAAA,CAAAE,6BAAY,EAACC,cAAA,CAAA,EAAA,UAAU,EAAE,UAAU,EAAM,EAAA,WAAW,EAAE,EAAA,GAAG,EAAE,GAAG,IAAI;AAC9E,CAAC;AAGL,gBAAgB,CAAC,WAAW,GAAG,kBAAkB;;;;"}
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  export declare const BaseSelect: React.ForwardRefExoticComponent<import("../../typings").BaseSelectProps & import("../../typings").AdditionalMobileProps & import("../../typings").BottomSheetSelectMobileProps & import("../../typings").ModalSelectMobileProps & {
3
- isBottomSheet?: boolean | undefined;
3
+ isBottomSheet?: boolean;
4
4
  view: "desktop" | "mobile";
5
- Popover?: React.ForwardRefExoticComponent<import("@alfalab/core-components-popover").PopoverProps & React.RefAttributes<HTMLDivElement>> | undefined;
6
- BottomSheet?: React.ForwardRefExoticComponent<import("@alfalab/core-components-bottom-sheet").BottomSheetProps & React.RefAttributes<HTMLDivElement>> | undefined;
7
- ModalMobile?: (React.ForwardRefExoticComponent<import("@alfalab/core-components-modal/typings").ModalMobileProps & React.RefAttributes<HTMLDivElement>> & {
5
+ Popover?: React.ForwardRefExoticComponent<import("@alfalab/core-components-popover").PopoverProps & React.RefAttributes<HTMLDivElement>>;
6
+ BottomSheet?: React.ForwardRefExoticComponent<import("@alfalab/core-components-bottom-sheet").BottomSheetProps & React.RefAttributes<HTMLDivElement>>;
7
+ ModalMobile?: React.ForwardRefExoticComponent<import("@alfalab/core-components-modal/typings").ModalMobileProps & React.RefAttributes<HTMLDivElement>> & {
8
8
  Header: React.FC<import("@alfalab/core-components-modal/shared").ModalHeaderProps>;
9
9
  Footer: React.FC<import("@alfalab/core-components-modal/shared").ModalFooterProps>;
10
10
  Content: React.FC<import("@alfalab/core-components-modal/typings").ContentProps>;
11
- }) | undefined;
11
+ };
12
12
  } & React.RefAttributes<unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/base-select/Component.tsx"],"sourcesContent":["/* eslint-disable no-nested-ternary */\nimport React, {\n type AriaAttributes,\n type FocusEvent,\n forwardRef,\n type KeyboardEvent,\n type MouseEvent,\n type RefAttributes,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { ResizeObserver as ResizeObserverPolyfill } from '@juggle/resize-observer';\nimport cn from 'classnames';\nimport { compute } from 'compute-scroll-into-view';\nimport {\n useCombobox,\n useMultipleSelection,\n type UseMultipleSelectionProps,\n type UseMultipleSelectionState,\n} from 'downshift';\n\nimport { fnUtils, getDataTestId, isClient } from '@alfalab/core-components-shared';\nimport { useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';\n\nimport {\n type AnyObject,\n type OptionShape,\n type OptionsListProps,\n type SearchProps,\n} from '../../typings';\nimport {\n defaultAccessor,\n defaultFilterFn,\n defaultGroupAccessor,\n isGroup,\n processOptions,\n} from '../../utils';\nimport { NativeSelect } from '../native-select';\n\nimport { type ComponentProps } from './types/component-types';\n\nimport styles from './index.module.css';\nimport mobileStyles from './mobile.module.css';\n\nconst itemToString = (option: OptionShape | null) => (option ? option.key : '');\n\nconst isItemDisabled = (option: OptionShape | null) => Boolean(option?.disabled);\n\nexport const BaseSelect = forwardRef<unknown, ComponentProps>(\n // TODO: 😭\n // eslint-disable-next-line complexity\n (props, ref) => {\n const {\n dataTestId,\n className,\n fieldClassName,\n optionGroupClassName,\n optionsListClassName,\n optionClassName,\n popperClassName,\n options,\n autocomplete = false,\n multiple = false,\n allowUnselect = false,\n disabled = false,\n closeOnSelect = !multiple,\n circularNavigation = false,\n nativeSelect = false,\n defaultOpen = false,\n open: openProp,\n popoverPosition = 'bottom-start',\n preventFlip = true,\n optionsListWidth = 'content',\n name,\n id,\n selected,\n size = 48,\n optionsSize = size,\n error,\n hint,\n block,\n label,\n labelView,\n placeholder,\n fieldProps = {},\n optionsListProps = {},\n optionProps = {},\n groupOptionProps = {},\n searchProps = {},\n showSearch = false,\n valueRenderer,\n onChange,\n onOpen,\n onFocus,\n onBlur,\n onScroll,\n onClear,\n clear,\n Arrow,\n Field = () => null,\n OptionsList = () => null,\n Optgroup = () => null,\n Option = () => null,\n Search = () => null,\n updatePopover,\n zIndexPopover,\n showEmptyOptionsList = false,\n visibleOptions,\n view,\n isBottomSheet = true,\n footer,\n swipeable,\n modalProps,\n popoverProps,\n modalFooterProps,\n modalHeaderProps,\n bottomSheetProps,\n Popover,\n ModalMobile,\n BottomSheet,\n limitDynamicOptionGroupSize,\n environment = isClient() ? window : undefined,\n } = props;\n const shouldSearchBlurRef = useRef(true);\n const rootRef = useRef<HTMLDivElement>(null);\n const fieldRef = useRef<HTMLInputElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const initiatorRef = useRef<OptionShape | null>(null);\n const searchRef = useRef<HTMLInputElement>(null);\n const scrollableContainerRef = useRef<HTMLDivElement>(null);\n const onOpenRef = useRef(onOpen);\n\n const [searchState, setSearchState] = React.useState('');\n\n const [search, setSearch] =\n typeof searchProps?.value === 'string'\n ? [searchProps.value, searchProps.onChange]\n : [searchState, setSearchState];\n\n const accessor = searchProps.accessor || defaultAccessor;\n const filterFn = searchProps.filterFn || defaultFilterFn;\n const filterGroup = searchProps.filterGroup ?? false;\n const groupAccessor = searchProps.groupAccessor ?? defaultGroupAccessor;\n\n const { filteredOptions, flatOptions, selectedOptions } = useMemo(\n () =>\n processOptions(\n options,\n selected,\n (option) => {\n if (isGroup(option)) {\n const groupAccessorValue = groupAccessor(option);\n\n return (\n typeof groupAccessorValue === 'string' &&\n filterFn(groupAccessorValue, search)\n );\n }\n\n return filterFn(accessor(option), search);\n },\n filterGroup,\n ),\n [options, selected, filterFn, accessor, search, filterGroup, groupAccessor],\n );\n\n const scrollIntoView = (node: HTMLElement) => {\n if (!node || view === 'mobile') return;\n\n requestAnimationFrame(() => {\n const actions = compute(node, {\n boundary: listRef.current,\n block: 'nearest',\n scrollMode: 'if-needed',\n });\n\n actions.forEach((action) => {\n const { el, top } = action;\n\n el.scrollTop = top;\n });\n });\n };\n\n const useMultipleSelectionProps: UseMultipleSelectionProps<OptionShape> = {\n itemToString,\n onSelectedItemsChange: (changes) => {\n if (onChange) {\n const { selectedItems = [] } = changes;\n\n onChange({\n selectedMultiple: selectedItems,\n selected: selectedItems.length ? selectedItems[0] : null,\n initiator: initiatorRef.current,\n name,\n });\n\n initiatorRef.current = null;\n }\n },\n stateReducer: (state, actionAndChanges) => {\n const { type, changes } = actionAndChanges;\n\n if (\n type === useMultipleSelection.stateChangeTypes.DropdownKeyDownBackspace &&\n (!allowUnselect ||\n environment?.document.activeElement?.isSameNode(searchRef.current))\n ) {\n return state;\n }\n\n return changes as UseMultipleSelectionState<OptionShape>;\n },\n };\n\n if (selected !== undefined) {\n useMultipleSelectionProps.selectedItems = selectedOptions;\n }\n\n onOpenRef.current = onOpen;\n\n const {\n selectedItems,\n addSelectedItem,\n setSelectedItems,\n removeSelectedItem,\n getDropdownProps,\n } = useMultipleSelection(useMultipleSelectionProps);\n\n const {\n isOpen: open,\n getMenuProps,\n getInputProps,\n getItemProps,\n getLabelProps,\n highlightedIndex,\n toggleMenu,\n openMenu,\n closeMenu,\n setHighlightedIndex,\n } = useCombobox<OptionShape>({\n id,\n isOpen: openProp,\n items: flatOptions,\n itemToString,\n isItemDisabled,\n defaultHighlightedIndex: selectedItems.length === 0 ? -1 : undefined,\n scrollIntoView,\n environment,\n onSelectedItemChange: (changes) => {\n const selectedItem = changes.selectedItem || initiatorRef.current;\n\n if (selectedItem && !selectedItem.disabled) {\n const alreadySelected = selectedItems.includes(selectedItem);\n const allowRemove = allowUnselect || (multiple && selectedItems.length > 1);\n\n if (alreadySelected && allowRemove) {\n removeSelectedItem(selectedItem);\n }\n\n if (!alreadySelected) {\n if (multiple) {\n addSelectedItem(selectedItem);\n } else {\n setSelectedItems([selectedItem]);\n }\n }\n }\n },\n onIsOpenChange: (changes) => {\n if (onOpenRef.current) {\n /**\n * Вызываем обработчик асинхронно.\n *\n * Иначе при клике вне открытого селекта сначала сработает onOpen, который закроет селект,\n * А затем сработает onClick кнопки открытия\\закрытия с open=false и в итоге селект откроется снова.\n */\n setTimeout(() => {\n onOpenRef.current?.({\n open: changes.isOpen,\n name,\n });\n }, 0);\n }\n\n if (showSearch) {\n if (changes.isOpen && view === 'desktop') {\n setTimeout(() => {\n searchRef.current?.focus();\n }, 0);\n } else {\n setSearch?.('');\n }\n }\n },\n stateReducer: (state, actionAndChanges) => {\n const { type, changes } = actionAndChanges;\n\n switch (type) {\n case useCombobox.stateChangeTypes.InputKeyDownArrowDown:\n if (\n !circularNavigation &&\n state.highlightedIndex === flatOptions.length - 1\n ) {\n return { ...changes, highlightedIndex: state.highlightedIndex };\n }\n\n return changes;\n case useCombobox.stateChangeTypes.InputKeyDownArrowUp:\n if (!circularNavigation && state.highlightedIndex === 0) {\n return { ...changes, highlightedIndex: state.highlightedIndex };\n }\n\n return changes;\n\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick: {\n const { selectedItem } = changes;\n\n initiatorRef.current = selectedItem || null;\n\n return {\n ...changes,\n selectedItem: state.selectedItem === selectedItem ? null : selectedItem,\n isOpen: !closeOnSelect || (view === 'mobile' && multiple),\n // при closeOnSelect === false - сохраняем подсвеченный индекс\n highlightedIndex:\n state.isOpen && !closeOnSelect\n ? state.highlightedIndex\n : changes.highlightedIndex,\n };\n }\n default:\n return changes;\n }\n },\n });\n\n useEffect(() => {\n /*\n * При изменении openProp, состояние внутри downshift в useEnhancedReducer не меняется, поэтому меняем его таким способом\n * Скорее всего это исправят в будущих версиях downshift\n */\n if (openProp !== undefined) {\n if (openProp) {\n openMenu();\n } else {\n closeMenu();\n }\n }\n }, [openProp, openMenu, closeMenu]);\n\n const inputProps = getInputProps(getDropdownProps({ ref: mergeRefs([ref, fieldRef]) }));\n const { ref: menuRef, ...menuProps } = getMenuProps(\n { ref: listRef },\n { suppressRefError: true },\n );\n\n const handleEntered = (node: HTMLElement, isAppearing: boolean) => {\n if (showSearch) searchRef.current?.focus();\n\n if (isBottomSheet) {\n bottomSheetProps?.transitionProps?.onEntered?.(node, isAppearing);\n } else {\n modalProps?.transitionProps?.onEntered?.(node, isAppearing);\n }\n };\n\n const handleFieldFocus = (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => {\n if (onFocus) onFocus(event);\n\n if (autocomplete && !open) {\n openMenu();\n }\n };\n\n const handleFieldBlur = (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => {\n if (view === 'desktop') {\n const isNextFocusInsideField = fieldRef.current?.contains(\n (event.relatedTarget || document.activeElement) as HTMLElement,\n );\n\n const isNextFocusInsideList = listRef.current?.contains(\n (event.relatedTarget || document.activeElement) as HTMLElement,\n );\n\n if (!isNextFocusInsideField && !isNextFocusInsideList) {\n if (onBlur) onBlur(event);\n\n inputProps.onBlur?.(event);\n }\n }\n\n if (view === 'mobile' && !open && onBlur) onBlur(event);\n };\n\n const handleFieldKeyDown = (event: KeyboardEvent<HTMLDivElement | HTMLInputElement>) => {\n inputProps.onKeyDown?.(event);\n\n // https://caniuse.com/?search=KeyboardEvent.key\n const isKeyUnsupported = event.key === 'Unidentified';\n\n if (\n autocomplete &&\n !open &&\n (isKeyUnsupported || event.key.length === 1 || event.key === 'Backspace')\n ) {\n // Для автокомплита - открываем меню при начале ввода\n openMenu();\n }\n\n if (\n [' ', 'Enter'].includes(event.key) &&\n !autocomplete &&\n !nativeSelect &&\n (event.target as HTMLElement).tagName !== 'INPUT' &&\n (event.target as HTMLElement).tagName !== 'BUTTON' &&\n (event.target as HTMLElement).tagName !== 'TEXTAREA'\n ) {\n // Открываем\\закрываем меню по нажатию enter или пробела\n event.preventDefault();\n if (!open || highlightedIndex === -1) toggleMenu();\n }\n };\n\n const handleFieldClick = (event: MouseEvent) => {\n if (!autocomplete || (event.target as HTMLElement).tagName !== 'INPUT') {\n toggleMenu();\n } else {\n openMenu();\n }\n };\n\n const handleNativeSelectChange = useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) => {\n setSelectedItems(\n // eslint-disable-next-line\n [...(event.target.options as any)].reduce(\n (acc, option, index) =>\n option.selected ? acc.concat(flatOptions[index]) : acc,\n [],\n ),\n );\n },\n [flatOptions, setSelectedItems],\n );\n\n const getOptionProps = (option: OptionShape, index: number) => ({\n ...(optionProps as object),\n mobile: view === 'mobile',\n className: cn(optionClassName, {\n [mobileStyles.option]: view === 'mobile',\n }),\n innerProps: getItemProps({\n index,\n item: option,\n onMouseDown: (event: MouseEvent) => event.preventDefault(),\n onClick: () => {\n if (view === 'mobile' || !showSearch || multiple) return;\n shouldSearchBlurRef.current = false;\n searchRef.current?.blur();\n shouldSearchBlurRef.current = true;\n fieldRef.current?.focus();\n },\n }),\n multiple,\n index,\n option,\n size: optionsSize,\n disabled: option.disabled,\n highlighted: index === highlightedIndex,\n selected: selectedItems.some(({ key }) => key === option.key),\n dataTestId: getDataTestId(dataTestId, 'option'),\n });\n\n useEffect(() => {\n if (defaultOpen) openMenu();\n }, [defaultOpen, openMenu]);\n\n useEffect(() => {\n if (openProp) {\n openMenu();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const calcOptionsListWidth = useCallback(() => {\n if (view === 'desktop' && listRef.current) {\n const widthAttr = optionsListWidth === 'field' ? 'width' : 'minWidth';\n\n const optionsListMinWidth = rootRef.current\n ? rootRef.current.getBoundingClientRect().width\n : 0;\n\n listRef.current.removeAttribute('style');\n listRef.current.style[widthAttr] = `${optionsListMinWidth}px`;\n }\n }, [view, optionsListWidth]);\n\n useEffect(() => {\n if (view === 'desktop') {\n const ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill;\n const observer = new ResizeObserver(calcOptionsListWidth);\n\n if (rootRef.current) {\n observer.observe(rootRef.current);\n }\n\n return () => {\n observer.disconnect();\n };\n }\n\n return fnUtils.noop;\n }, [view, calcOptionsListWidth, open, optionsListWidth]);\n\n useLayoutEffect_SAFE_FOR_SSR(calcOptionsListWidth, [\n open,\n optionsListWidth,\n filteredOptions,\n selectedItems,\n ]);\n\n const renderValue = () =>\n selectedItems.map((option) => (\n <input type='hidden' name={name} value={option.key} key={option.key} />\n ));\n\n const renderNativeSelect = () => {\n const value = multiple\n ? selectedItems.map((option) => option.key)\n : selectedItems[0]?.key;\n\n return (\n <NativeSelect\n {...(menuProps as AnyObject)}\n className={styles.nativeSelect}\n disabled={disabled}\n multiple={multiple}\n name={name}\n value={value}\n onChange={handleNativeSelectChange}\n options={filteredOptions}\n />\n );\n };\n\n const handleFieldClear = (event: MouseEvent<HTMLButtonElement>) => {\n setSelectedItems([]);\n onClear?.(event);\n };\n\n const renderSearch = () => {\n if (!showSearch) return null;\n\n const handleClear: SearchProps['onClear'] = (event) => {\n setSearch?.('');\n searchProps?.componentProps?.onClear?.(event);\n };\n\n const handleChange: SearchProps['onChange'] = (event, payload) => {\n setSearch?.(payload.value);\n searchProps?.componentProps?.onChange?.(event, payload);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!shouldSearchBlurRef.current) return;\n searchProps.componentProps?.onBlur?.(event);\n handleFieldBlur(event);\n };\n\n return (\n <Search\n {...searchProps?.componentProps}\n onBlur={handleBlur}\n value={search}\n onChange={handleChange}\n dataTestId={getDataTestId(dataTestId, 'search')}\n onClear={handleClear}\n className={cn(\n searchProps?.componentProps?.className,\n {\n [styles.search]: view === 'desktop',\n [mobileStyles.search]: view === 'mobile',\n },\n styles[`size-${size}`],\n )}\n ref={mergeRefs([searchRef, searchProps?.componentProps?.ref || null])}\n client={view}\n />\n );\n };\n\n const { header, emptyPlaceholder } = optionsListProps as OptionsListProps;\n\n const renderOptionsListHeader = () => {\n if (header || (view === 'desktop' && showSearch)) {\n return (\n <React.Fragment>\n {header}\n {view === 'desktop' && renderSearch()}\n </React.Fragment>\n );\n }\n\n return null;\n };\n\n const renderEmptyPlaceholder = () => {\n if (emptyPlaceholder) {\n return emptyPlaceholder;\n }\n\n if (showSearch) {\n return <div className={styles.emptySearchPlaceholder}>Ничего не нашлось</div>;\n }\n\n return undefined;\n };\n\n const renderOptionsList = () => {\n if (flatOptions.length === 0 && !showEmptyOptionsList && !showSearch) return null;\n\n const listProps = optionsListProps as OptionsListProps & RefAttributes<HTMLDivElement>;\n\n return (\n <div\n {...menuProps}\n ref={view === 'desktop' ? menuRef : undefined}\n className={cn(\n optionsListClassName,\n view === 'mobile' && mobileStyles.optionsListWrapper,\n view === 'desktop' && styles.optionsListWrapper,\n )}\n >\n <OptionsList\n {...listProps}\n ref={view === 'desktop' ? listProps.ref : scrollableContainerRef}\n setHighlightedIndex={view === 'desktop' ? setHighlightedIndex : undefined}\n className={cn(\n { [mobileStyles.optionsList]: view === 'mobile' },\n listProps.className,\n )}\n scrollbarClassName={cn(\n { [mobileStyles.scrollbar]: view === 'mobile' },\n listProps.scrollbarClassName,\n )}\n optionsListWidth={optionsListWidth}\n flatOptions={flatOptions}\n highlightedIndex={highlightedIndex}\n open={open}\n size={size}\n options={filteredOptions}\n Optgroup={Optgroup}\n Option={Option}\n selectedItems={selectedItems}\n setSelectedItems={setSelectedItems}\n toggleMenu={toggleMenu}\n groupOptionProps={groupOptionProps}\n getOptionProps={getOptionProps}\n visibleOptions={view === 'desktop' ? visibleOptions : 0}\n dataTestId={getDataTestId(dataTestId, 'options-list')}\n header={renderOptionsListHeader()}\n optionGroupClassName={cn(optionGroupClassName, {\n [mobileStyles.optionGroup]: view === 'mobile',\n })}\n emptyPlaceholder={renderEmptyPlaceholder()}\n onScroll={onScroll}\n search={search}\n multiple={multiple}\n limitDynamicOptionGroupSize={limitDynamicOptionGroupSize}\n client={view}\n />\n {view === 'desktop' && <div className={styles.optionsListBorder} />}\n </div>\n );\n };\n\n const renderInPopover = () => {\n if (!nativeSelect && Popover) {\n return (\n <Popover\n {...popoverProps}\n open={open}\n withTransition={false}\n anchorElement={fieldRef.current as HTMLElement}\n position={popoverPosition}\n preventFlip={preventFlip}\n popperClassName={cn(styles.popoverInner, popperClassName)}\n update={updatePopover}\n zIndex={zIndexPopover}\n >\n {renderOptionsList()}\n </Popover>\n );\n }\n\n return null;\n };\n\n const renderInBottomSheet = () => {\n if (!nativeSelect && BottomSheet) {\n const bottomAddons = bottomSheetProps?.bottomAddons;\n\n return (\n <BottomSheet\n dataTestId={getDataTestId(dataTestId, 'bottom-sheet')}\n open={open}\n className={mobileStyles.sheet}\n contentClassName={mobileStyles.sheetContent}\n containerClassName={mobileStyles.sheetContainer}\n title={label || placeholder}\n actionButton={footer ?? (multiple ? null : undefined)}\n stickyHeader={true}\n hasCloser={true}\n swipeable={swipeable}\n initialHeight={showSearch ? 'full' : 'default'}\n {...bottomSheetProps}\n sheetContainerRef={menuRef}\n scrollableContainerRef={scrollableContainerRef}\n onClose={() => {\n closeMenu();\n bottomSheetProps?.onClose?.();\n }}\n transitionProps={{\n ...bottomSheetProps?.transitionProps,\n onEntered: handleEntered,\n }}\n bottomAddons={\n <React.Fragment>\n {renderSearch()}\n {typeof bottomAddons === 'function'\n ? bottomAddons(flatOptions)\n : bottomAddons}\n </React.Fragment>\n }\n containerProps={{\n ...bottomSheetProps?.containerProps,\n onScroll,\n }}\n >\n {renderOptionsList()}\n </BottomSheet>\n );\n }\n\n return null;\n };\n\n const renderInModalMobile = () => {\n if (!nativeSelect && ModalMobile) {\n const bottomAddons = modalHeaderProps?.bottomAddons;\n\n return (\n <ModalMobile\n dataTestId={getDataTestId(dataTestId, 'modal')}\n open={open}\n hasCloser={true}\n {...modalProps}\n componentRef={menuRef}\n onClose={(...args) => {\n closeMenu();\n modalProps?.onClose?.(...args);\n }}\n contentClassName={cn(\n mobileStyles.sheetContent,\n modalProps?.contentClassName,\n )}\n ref={mergeRefs([\n scrollableContainerRef,\n modalProps?.ref as React.Ref<HTMLDivElement>,\n ])}\n wrapperProps={{\n ...modalProps?.wrapperProps,\n onScroll,\n }}\n transitionProps={{\n ...modalProps?.transitionProps,\n onEntered: handleEntered,\n }}\n >\n <ModalMobile.Header\n hasCloser={true}\n sticky={true}\n {...modalHeaderProps}\n title={undefined}\n bottomAddons={\n <React.Fragment>\n {renderSearch()}\n {typeof bottomAddons === 'function'\n ? bottomAddons(flatOptions)\n : bottomAddons}\n </React.Fragment>\n }\n >\n {modalHeaderProps?.title || label || placeholder}\n </ModalMobile.Header>\n\n <ModalMobile.Content flex={true} className={mobileStyles.modalContent}>\n {renderOptionsList()}\n </ModalMobile.Content>\n\n {modalFooterProps?.children && <ModalMobile.Footer {...modalFooterProps} />}\n </ModalMobile>\n );\n }\n\n return null;\n };\n\n return (\n <div\n {...(disabled && { 'aria-disabled': true })}\n aria-expanded={inputProps['aria-expanded']}\n aria-haspopup='listbox'\n role={inputProps.role}\n className={cn(styles.component, { [styles.block]: block }, className)}\n ref={rootRef}\n onKeyDown={disabled ? undefined : handleFieldKeyDown}\n tabIndex={-1}\n data-test-id={getDataTestId(dataTestId)}\n >\n {nativeSelect && renderNativeSelect()}\n\n <Field\n selectedMultiple={selectedItems}\n selected={selectedItems[0]}\n setSelectedItems={setSelectedItems}\n toggleMenu={toggleMenu}\n multiple={multiple}\n open={open}\n disabled={disabled}\n size={size}\n placeholder={placeholder}\n label={label && <span {...getLabelProps()}>{label}</span>}\n labelView={labelView}\n Arrow={Arrow && <Arrow open={open} size={size} disabled={disabled} />}\n error={error}\n hint={hint}\n valueRenderer={valueRenderer}\n className={fieldClassName}\n clear={clear}\n onClear={handleFieldClear}\n innerProps={{\n onBlur: handleFieldBlur,\n onFocus: disabled ? undefined : handleFieldFocus,\n onClick: disabled ? undefined : handleFieldClick,\n tabIndex: disabled ? undefined : nativeSelect ? -1 : 0,\n ref: inputProps.ref,\n id: inputProps.id,\n 'aria-label': (optionProps as AriaAttributes)['aria-label'],\n 'aria-labelledby': inputProps['aria-labelledby'],\n 'aria-controls': inputProps['aria-controls'],\n 'aria-autocomplete': autocomplete\n ? inputProps['aria-autocomplete']\n : undefined,\n }}\n dataTestId={getDataTestId(dataTestId, 'field')}\n {...(fieldProps as AnyObject)}\n />\n\n {name && !nativeSelect && renderValue()}\n\n {view === 'desktop' && renderInPopover()}\n {view === 'mobile' &&\n (isBottomSheet ? renderInBottomSheet() : renderInModalMobile())}\n </div>\n );\n },\n);\n"],"names":["forwardRef","isClient","useRef","React","defaultAccessor","defaultFilterFn","defaultGroupAccessor","useMemo","processOptions","isGroup","compute","useMultipleSelection","useCombobox","__assign","useEffect","mergeRefs","__rest","useCallback","__spreadArray","cn","mobileStyles","getDataTestId","ResizeObserverPolyfill","fnUtils","useLayoutEffect_SAFE_FOR_SSR","NativeSelect","styles"],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/base-select/Component.tsx"],"sourcesContent":["/* eslint-disable no-nested-ternary */\nimport React, {\n type AriaAttributes,\n type FocusEvent,\n forwardRef,\n type KeyboardEvent,\n type MouseEvent,\n type RefAttributes,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { ResizeObserver as ResizeObserverPolyfill } from '@juggle/resize-observer';\nimport cn from 'classnames';\nimport { compute } from 'compute-scroll-into-view';\nimport {\n useCombobox,\n useMultipleSelection,\n type UseMultipleSelectionProps,\n type UseMultipleSelectionState,\n} from 'downshift';\n\nimport { fnUtils, getDataTestId, isClient } from '@alfalab/core-components-shared';\nimport { useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';\n\nimport {\n type AnyObject,\n type OptionShape,\n type OptionsListProps,\n type SearchProps,\n} from '../../typings';\nimport {\n defaultAccessor,\n defaultFilterFn,\n defaultGroupAccessor,\n isGroup,\n processOptions,\n} from '../../utils';\nimport { NativeSelect } from '../native-select';\n\nimport { type ComponentProps } from './types/component-types';\n\nimport styles from './index.module.css';\nimport mobileStyles from './mobile.module.css';\n\nconst itemToString = (option: OptionShape | null) => (option ? option.key : '');\n\nconst isItemDisabled = (option: OptionShape | null) => Boolean(option?.disabled);\n\nexport const BaseSelect = forwardRef<unknown, ComponentProps>(\n // TODO: 😭\n // eslint-disable-next-line complexity\n (props, ref) => {\n const {\n dataTestId,\n className,\n fieldClassName,\n optionGroupClassName,\n optionsListClassName,\n optionClassName,\n popperClassName,\n options,\n autocomplete = false,\n multiple = false,\n allowUnselect = false,\n disabled = false,\n closeOnSelect = !multiple,\n circularNavigation = false,\n nativeSelect = false,\n defaultOpen = false,\n open: openProp,\n popoverPosition = 'bottom-start',\n preventFlip = true,\n optionsListWidth = 'content',\n name,\n id,\n selected,\n size = 48,\n optionsSize = size,\n error,\n hint,\n block,\n label,\n labelView,\n placeholder,\n fieldProps = {},\n optionsListProps = {},\n optionProps = {},\n groupOptionProps = {},\n searchProps = {},\n showSearch = false,\n valueRenderer,\n onChange,\n onOpen,\n onFocus,\n onBlur,\n onScroll,\n onClear,\n clear,\n Arrow,\n Field = () => null,\n OptionsList = () => null,\n Optgroup = () => null,\n Option = () => null,\n Search = () => null,\n updatePopover,\n zIndexPopover,\n showEmptyOptionsList = false,\n visibleOptions,\n view,\n isBottomSheet = true,\n footer,\n swipeable,\n modalProps,\n popoverProps,\n modalFooterProps,\n modalHeaderProps,\n bottomSheetProps,\n Popover,\n ModalMobile,\n BottomSheet,\n limitDynamicOptionGroupSize,\n environment = isClient() ? window : undefined,\n } = props;\n const shouldSearchBlurRef = useRef(true);\n const rootRef = useRef<HTMLDivElement>(null);\n const fieldRef = useRef<HTMLInputElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const initiatorRef = useRef<OptionShape | null>(null);\n const searchRef = useRef<HTMLInputElement>(null);\n const scrollableContainerRef = useRef<HTMLDivElement>(null);\n const onOpenRef = useRef(onOpen);\n\n const [searchState, setSearchState] = React.useState('');\n\n const [search, setSearch] =\n typeof searchProps?.value === 'string'\n ? [searchProps.value, searchProps.onChange]\n : [searchState, setSearchState];\n\n const accessor = searchProps.accessor || defaultAccessor;\n const filterFn = searchProps.filterFn || defaultFilterFn;\n const filterGroup = searchProps.filterGroup ?? false;\n const groupAccessor = searchProps.groupAccessor ?? defaultGroupAccessor;\n\n const { filteredOptions, flatOptions, selectedOptions } = useMemo(\n () =>\n processOptions(\n options,\n selected,\n (option) => {\n if (isGroup(option)) {\n const groupAccessorValue = groupAccessor(option);\n\n return (\n typeof groupAccessorValue === 'string' &&\n filterFn(groupAccessorValue, search)\n );\n }\n\n return filterFn(accessor(option), search);\n },\n filterGroup,\n ),\n [options, selected, filterFn, accessor, search, filterGroup, groupAccessor],\n );\n\n const scrollIntoView = (node: HTMLElement) => {\n if (!node || view === 'mobile') return;\n\n requestAnimationFrame(() => {\n const actions = compute(node, {\n boundary: listRef.current,\n block: 'nearest',\n scrollMode: 'if-needed',\n });\n\n actions.forEach((action) => {\n const { el, top } = action;\n\n el.scrollTop = top;\n });\n });\n };\n\n const useMultipleSelectionProps: UseMultipleSelectionProps<OptionShape> = {\n itemToString,\n onSelectedItemsChange: (changes) => {\n if (onChange) {\n const { selectedItems = [] } = changes;\n\n onChange({\n selectedMultiple: selectedItems,\n selected: selectedItems.length ? selectedItems[0] : null,\n initiator: initiatorRef.current,\n name,\n });\n\n initiatorRef.current = null;\n }\n },\n stateReducer: (state, actionAndChanges) => {\n const { type, changes } = actionAndChanges;\n\n if (\n type === useMultipleSelection.stateChangeTypes.DropdownKeyDownBackspace &&\n (!allowUnselect ||\n environment?.document.activeElement?.isSameNode(searchRef.current))\n ) {\n return state;\n }\n\n return changes as UseMultipleSelectionState<OptionShape>;\n },\n };\n\n if (selected !== undefined) {\n useMultipleSelectionProps.selectedItems = selectedOptions;\n }\n\n onOpenRef.current = onOpen;\n\n const {\n selectedItems,\n addSelectedItem,\n setSelectedItems,\n removeSelectedItem,\n getDropdownProps,\n } = useMultipleSelection(useMultipleSelectionProps);\n\n const {\n isOpen: open,\n getMenuProps,\n getInputProps,\n getItemProps,\n getLabelProps,\n highlightedIndex,\n toggleMenu,\n openMenu,\n closeMenu,\n setHighlightedIndex,\n } = useCombobox<OptionShape>({\n id,\n isOpen: openProp,\n items: flatOptions,\n itemToString,\n isItemDisabled,\n defaultHighlightedIndex: selectedItems.length === 0 ? -1 : undefined,\n scrollIntoView,\n environment,\n onSelectedItemChange: (changes) => {\n const selectedItem = changes.selectedItem || initiatorRef.current;\n\n if (selectedItem && !selectedItem.disabled) {\n const alreadySelected = selectedItems.includes(selectedItem);\n const allowRemove = allowUnselect || (multiple && selectedItems.length > 1);\n\n if (alreadySelected && allowRemove) {\n removeSelectedItem(selectedItem);\n }\n\n if (!alreadySelected) {\n if (multiple) {\n addSelectedItem(selectedItem);\n } else {\n setSelectedItems([selectedItem]);\n }\n }\n }\n },\n onIsOpenChange: (changes) => {\n if (onOpenRef.current) {\n /**\n * Вызываем обработчик асинхронно.\n *\n * Иначе при клике вне открытого селекта сначала сработает onOpen, который закроет селект,\n * А затем сработает onClick кнопки открытия\\закрытия с open=false и в итоге селект откроется снова.\n */\n setTimeout(() => {\n onOpenRef.current?.({\n open: changes.isOpen,\n name,\n });\n }, 0);\n }\n\n if (showSearch) {\n if (changes.isOpen && view === 'desktop') {\n setTimeout(() => {\n searchRef.current?.focus();\n }, 0);\n } else {\n setSearch?.('');\n }\n }\n },\n stateReducer: (state, actionAndChanges) => {\n const { type, changes } = actionAndChanges;\n\n switch (type) {\n case useCombobox.stateChangeTypes.InputKeyDownArrowDown:\n if (\n !circularNavigation &&\n state.highlightedIndex === flatOptions.length - 1\n ) {\n return { ...changes, highlightedIndex: state.highlightedIndex };\n }\n\n return changes;\n case useCombobox.stateChangeTypes.InputKeyDownArrowUp:\n if (!circularNavigation && state.highlightedIndex === 0) {\n return { ...changes, highlightedIndex: state.highlightedIndex };\n }\n\n return changes;\n\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick: {\n const { selectedItem } = changes;\n\n initiatorRef.current = selectedItem || null;\n\n return {\n ...changes,\n selectedItem: state.selectedItem === selectedItem ? null : selectedItem,\n isOpen: !closeOnSelect || (view === 'mobile' && multiple),\n // при closeOnSelect === false - сохраняем подсвеченный индекс\n highlightedIndex:\n state.isOpen && !closeOnSelect\n ? state.highlightedIndex\n : changes.highlightedIndex,\n };\n }\n default:\n return changes;\n }\n },\n });\n\n useEffect(() => {\n /*\n * При изменении openProp, состояние внутри downshift в useEnhancedReducer не меняется, поэтому меняем его таким способом\n * Скорее всего это исправят в будущих версиях downshift\n */\n if (openProp !== undefined) {\n if (openProp) {\n openMenu();\n } else {\n closeMenu();\n }\n }\n }, [openProp, openMenu, closeMenu]);\n\n const inputProps = getInputProps(getDropdownProps({ ref: mergeRefs([ref, fieldRef]) }));\n const { ref: menuRef, ...menuProps } = getMenuProps(\n { ref: listRef },\n { suppressRefError: true },\n );\n\n const handleEntered = (node: HTMLElement, isAppearing: boolean) => {\n if (showSearch) searchRef.current?.focus();\n\n if (isBottomSheet) {\n bottomSheetProps?.transitionProps?.onEntered?.(node, isAppearing);\n } else {\n modalProps?.transitionProps?.onEntered?.(node, isAppearing);\n }\n };\n\n const handleFieldFocus = (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => {\n if (onFocus) onFocus(event);\n\n if (autocomplete && !open) {\n openMenu();\n }\n };\n\n const handleFieldBlur = (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => {\n if (view === 'desktop') {\n const isNextFocusInsideField = fieldRef.current?.contains(\n (event.relatedTarget || document.activeElement) as HTMLElement,\n );\n\n const isNextFocusInsideList = listRef.current?.contains(\n (event.relatedTarget || document.activeElement) as HTMLElement,\n );\n\n if (!isNextFocusInsideField && !isNextFocusInsideList) {\n if (onBlur) onBlur(event);\n\n inputProps.onBlur?.(event);\n }\n }\n\n if (view === 'mobile' && !open && onBlur) onBlur(event);\n };\n\n const handleFieldKeyDown = (event: KeyboardEvent<HTMLDivElement | HTMLInputElement>) => {\n inputProps.onKeyDown?.(event);\n\n // https://caniuse.com/?search=KeyboardEvent.key\n const isKeyUnsupported = event.key === 'Unidentified';\n\n if (\n autocomplete &&\n !open &&\n (isKeyUnsupported || event.key.length === 1 || event.key === 'Backspace')\n ) {\n // Для автокомплита - открываем меню при начале ввода\n openMenu();\n }\n\n if (\n [' ', 'Enter'].includes(event.key) &&\n !autocomplete &&\n !nativeSelect &&\n (event.target as HTMLElement).tagName !== 'INPUT' &&\n (event.target as HTMLElement).tagName !== 'BUTTON' &&\n (event.target as HTMLElement).tagName !== 'TEXTAREA'\n ) {\n // Открываем\\закрываем меню по нажатию enter или пробела\n event.preventDefault();\n if (!open || highlightedIndex === -1) toggleMenu();\n }\n };\n\n const handleFieldClick = (event: MouseEvent) => {\n if (!autocomplete || (event.target as HTMLElement).tagName !== 'INPUT') {\n toggleMenu();\n } else {\n openMenu();\n }\n };\n\n const handleNativeSelectChange = useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) => {\n setSelectedItems(\n // eslint-disable-next-line\n [...(event.target.options as any)].reduce(\n (acc, option, index) =>\n option.selected ? acc.concat(flatOptions[index]) : acc,\n [],\n ),\n );\n },\n [flatOptions, setSelectedItems],\n );\n\n const getOptionProps = (option: OptionShape, index: number) => ({\n ...(optionProps as object),\n mobile: view === 'mobile',\n className: cn(optionClassName, {\n [mobileStyles.option]: view === 'mobile',\n }),\n innerProps: getItemProps({\n index,\n item: option,\n onMouseDown: (event: MouseEvent) => event.preventDefault(),\n onClick: () => {\n if (view === 'mobile' || !showSearch || multiple) return;\n shouldSearchBlurRef.current = false;\n searchRef.current?.blur();\n shouldSearchBlurRef.current = true;\n fieldRef.current?.focus();\n },\n }),\n multiple,\n index,\n option,\n size: optionsSize,\n disabled: option.disabled,\n highlighted: index === highlightedIndex,\n selected: selectedItems.some(({ key }) => key === option.key),\n dataTestId: getDataTestId(dataTestId, 'option'),\n });\n\n useEffect(() => {\n if (defaultOpen) openMenu();\n }, [defaultOpen, openMenu]);\n\n useEffect(() => {\n if (openProp) {\n openMenu();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const calcOptionsListWidth = useCallback(() => {\n if (view === 'desktop' && listRef.current) {\n const widthAttr = optionsListWidth === 'field' ? 'width' : 'minWidth';\n\n const optionsListMinWidth = rootRef.current\n ? rootRef.current.getBoundingClientRect().width\n : 0;\n\n listRef.current.removeAttribute('style');\n listRef.current.style[widthAttr] = `${optionsListMinWidth}px`;\n }\n }, [view, optionsListWidth]);\n\n useEffect(() => {\n if (view === 'desktop') {\n const ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill;\n const observer = new ResizeObserver(calcOptionsListWidth);\n\n if (rootRef.current) {\n observer.observe(rootRef.current);\n }\n\n return () => {\n observer.disconnect();\n };\n }\n\n return fnUtils.noop;\n }, [view, calcOptionsListWidth, open, optionsListWidth]);\n\n useLayoutEffect_SAFE_FOR_SSR(calcOptionsListWidth, [\n open,\n optionsListWidth,\n filteredOptions,\n selectedItems,\n ]);\n\n const renderValue = () =>\n selectedItems.map((option) => (\n <input type='hidden' name={name} value={option.key} key={option.key} />\n ));\n\n const renderNativeSelect = () => {\n const value = multiple\n ? selectedItems.map((option) => option.key)\n : selectedItems[0]?.key;\n\n return (\n <NativeSelect\n {...(menuProps as AnyObject)}\n className={styles.nativeSelect}\n disabled={disabled}\n multiple={multiple}\n name={name}\n value={value}\n onChange={handleNativeSelectChange}\n options={filteredOptions}\n />\n );\n };\n\n const handleFieldClear = (event: MouseEvent<HTMLButtonElement>) => {\n setSelectedItems([]);\n onClear?.(event);\n };\n\n const renderSearch = () => {\n if (!showSearch) return null;\n\n const handleClear: SearchProps['onClear'] = (event) => {\n setSearch?.('');\n searchProps?.componentProps?.onClear?.(event);\n };\n\n const handleChange: SearchProps['onChange'] = (event, payload) => {\n setSearch?.(payload.value);\n searchProps?.componentProps?.onChange?.(event, payload);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!shouldSearchBlurRef.current) return;\n searchProps.componentProps?.onBlur?.(event);\n handleFieldBlur(event);\n };\n\n return (\n <Search\n {...searchProps?.componentProps}\n onBlur={handleBlur}\n value={search}\n onChange={handleChange}\n dataTestId={getDataTestId(dataTestId, 'search')}\n onClear={handleClear}\n className={cn(\n searchProps?.componentProps?.className,\n {\n [styles.search]: view === 'desktop',\n [mobileStyles.search]: view === 'mobile',\n },\n styles[`size-${size}`],\n )}\n ref={mergeRefs([searchRef, searchProps?.componentProps?.ref || null])}\n client={view}\n />\n );\n };\n\n const { header, emptyPlaceholder } = optionsListProps as OptionsListProps;\n\n const renderOptionsListHeader = () => {\n if (header || (view === 'desktop' && showSearch)) {\n return (\n <React.Fragment>\n {header}\n {view === 'desktop' && renderSearch()}\n </React.Fragment>\n );\n }\n\n return null;\n };\n\n const renderEmptyPlaceholder = () => {\n if (emptyPlaceholder) {\n return emptyPlaceholder;\n }\n\n if (showSearch) {\n return <div className={styles.emptySearchPlaceholder}>Ничего не нашлось</div>;\n }\n\n return undefined;\n };\n\n const renderOptionsList = () => {\n if (flatOptions.length === 0 && !showEmptyOptionsList && !showSearch) return null;\n\n const listProps = optionsListProps as OptionsListProps & RefAttributes<HTMLDivElement>;\n\n return (\n <div\n {...menuProps}\n ref={view === 'desktop' ? menuRef : undefined}\n className={cn(\n optionsListClassName,\n view === 'mobile' && mobileStyles.optionsListWrapper,\n view === 'desktop' && styles.optionsListWrapper,\n )}\n >\n <OptionsList\n {...listProps}\n ref={view === 'desktop' ? listProps.ref : scrollableContainerRef}\n setHighlightedIndex={view === 'desktop' ? setHighlightedIndex : undefined}\n className={cn(\n { [mobileStyles.optionsList]: view === 'mobile' },\n listProps.className,\n )}\n scrollbarClassName={cn(\n { [mobileStyles.scrollbar]: view === 'mobile' },\n listProps.scrollbarClassName,\n )}\n optionsListWidth={optionsListWidth}\n flatOptions={flatOptions}\n highlightedIndex={highlightedIndex}\n open={open}\n size={size}\n options={filteredOptions}\n Optgroup={Optgroup}\n Option={Option}\n selectedItems={selectedItems}\n setSelectedItems={setSelectedItems}\n toggleMenu={toggleMenu}\n groupOptionProps={groupOptionProps}\n getOptionProps={getOptionProps}\n visibleOptions={view === 'desktop' ? visibleOptions : 0}\n dataTestId={getDataTestId(dataTestId, 'options-list')}\n header={renderOptionsListHeader()}\n optionGroupClassName={cn(optionGroupClassName, {\n [mobileStyles.optionGroup]: view === 'mobile',\n })}\n emptyPlaceholder={renderEmptyPlaceholder()}\n onScroll={onScroll}\n search={search}\n multiple={multiple}\n limitDynamicOptionGroupSize={limitDynamicOptionGroupSize}\n client={view}\n />\n {view === 'desktop' && <div className={styles.optionsListBorder} />}\n </div>\n );\n };\n\n const renderInPopover = () => {\n if (!nativeSelect && Popover) {\n return (\n <Popover\n {...popoverProps}\n open={open}\n withTransition={false}\n anchorElement={fieldRef.current as HTMLElement}\n position={popoverPosition}\n preventFlip={preventFlip}\n popperClassName={cn(styles.popoverInner, popperClassName)}\n update={updatePopover}\n zIndex={zIndexPopover}\n >\n {renderOptionsList()}\n </Popover>\n );\n }\n\n return null;\n };\n\n const renderInBottomSheet = () => {\n if (!nativeSelect && BottomSheet) {\n const bottomAddons = bottomSheetProps?.bottomAddons;\n\n return (\n <BottomSheet\n dataTestId={getDataTestId(dataTestId, 'bottom-sheet')}\n open={open}\n className={mobileStyles.sheet}\n contentClassName={mobileStyles.sheetContent}\n containerClassName={mobileStyles.sheetContainer}\n title={label || placeholder}\n actionButton={footer ?? (multiple ? null : undefined)}\n stickyHeader={true}\n hasCloser={true}\n swipeable={swipeable}\n initialHeight={showSearch ? 'full' : 'default'}\n {...bottomSheetProps}\n sheetContainerRef={menuRef}\n scrollableContainerRef={scrollableContainerRef}\n onClose={() => {\n closeMenu();\n bottomSheetProps?.onClose?.();\n }}\n transitionProps={{\n ...bottomSheetProps?.transitionProps,\n onEntered: handleEntered,\n }}\n bottomAddons={\n <React.Fragment>\n {renderSearch()}\n {typeof bottomAddons === 'function'\n ? bottomAddons(flatOptions)\n : bottomAddons}\n </React.Fragment>\n }\n containerProps={{\n ...bottomSheetProps?.containerProps,\n onScroll,\n }}\n >\n {renderOptionsList()}\n </BottomSheet>\n );\n }\n\n return null;\n };\n\n const renderInModalMobile = () => {\n if (!nativeSelect && ModalMobile) {\n const bottomAddons = modalHeaderProps?.bottomAddons;\n\n return (\n <ModalMobile\n dataTestId={getDataTestId(dataTestId, 'modal')}\n open={open}\n hasCloser={true}\n {...modalProps}\n componentRef={menuRef}\n onClose={(...args) => {\n closeMenu();\n modalProps?.onClose?.(...args);\n }}\n contentClassName={cn(\n mobileStyles.sheetContent,\n modalProps?.contentClassName,\n )}\n ref={mergeRefs([\n scrollableContainerRef,\n modalProps?.ref as React.Ref<HTMLDivElement>,\n ])}\n wrapperProps={{\n ...modalProps?.wrapperProps,\n onScroll,\n }}\n transitionProps={{\n ...modalProps?.transitionProps,\n onEntered: handleEntered,\n }}\n >\n <ModalMobile.Header\n hasCloser={true}\n sticky={true}\n {...modalHeaderProps}\n title={undefined}\n bottomAddons={\n <React.Fragment>\n {renderSearch()}\n {typeof bottomAddons === 'function'\n ? bottomAddons(flatOptions)\n : bottomAddons}\n </React.Fragment>\n }\n >\n {modalHeaderProps?.title || label || placeholder}\n </ModalMobile.Header>\n\n <ModalMobile.Content flex={true} className={mobileStyles.modalContent}>\n {renderOptionsList()}\n </ModalMobile.Content>\n\n {modalFooterProps?.children && <ModalMobile.Footer {...modalFooterProps} />}\n </ModalMobile>\n );\n }\n\n return null;\n };\n\n return (\n <div\n {...(disabled && { 'aria-disabled': true })}\n aria-expanded={inputProps['aria-expanded']}\n aria-haspopup='listbox'\n role={inputProps.role}\n className={cn(styles.component, { [styles.block]: block }, className)}\n ref={rootRef}\n onKeyDown={disabled ? undefined : handleFieldKeyDown}\n tabIndex={-1}\n data-test-id={getDataTestId(dataTestId)}\n >\n {nativeSelect && renderNativeSelect()}\n\n <Field\n selectedMultiple={selectedItems}\n selected={selectedItems[0]}\n setSelectedItems={setSelectedItems}\n toggleMenu={toggleMenu}\n multiple={multiple}\n open={open}\n disabled={disabled}\n size={size}\n placeholder={placeholder}\n label={label && <span {...getLabelProps()}>{label}</span>}\n labelView={labelView}\n Arrow={Arrow && <Arrow open={open} size={size} disabled={disabled} />}\n error={error}\n hint={hint}\n valueRenderer={valueRenderer}\n className={fieldClassName}\n clear={clear}\n onClear={handleFieldClear}\n innerProps={{\n onBlur: handleFieldBlur,\n onFocus: disabled ? undefined : handleFieldFocus,\n onClick: disabled ? undefined : handleFieldClick,\n tabIndex: disabled ? undefined : nativeSelect ? -1 : 0,\n ref: inputProps.ref,\n id: inputProps.id,\n 'aria-label': (optionProps as AriaAttributes)['aria-label'],\n 'aria-labelledby': inputProps['aria-labelledby'],\n 'aria-controls': inputProps['aria-controls'],\n 'aria-autocomplete': autocomplete\n ? inputProps['aria-autocomplete']\n : undefined,\n }}\n dataTestId={getDataTestId(dataTestId, 'field')}\n {...(fieldProps as AnyObject)}\n />\n\n {name && !nativeSelect && renderValue()}\n\n {view === 'desktop' && renderInPopover()}\n {view === 'mobile' &&\n (isBottomSheet ? renderInBottomSheet() : renderInModalMobile())}\n </div>\n );\n },\n);\n"],"names":["forwardRef","isClient","useRef","React","defaultAccessor","defaultFilterFn","defaultGroupAccessor","useMemo","processOptions","isGroup","compute","useMultipleSelection","useCombobox","__assign","useEffect","mergeRefs","__rest","useCallback","__spreadArray","cn","mobileStyles","getDataTestId","ResizeObserverPolyfill","fnUtils","useLayoutEffect_SAFE_FOR_SSR","NativeSelect","styles"],"mappings":"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"}
@@ -4,14 +4,14 @@ import { type ModalContentProps, type ModalFooterProps, type ModalHeaderProps }
4
4
  import { type ModalMobileProps } from '@alfalab/core-components-modal/cssm/typings';
5
5
  import { type PopoverProps } from '@alfalab/core-components-popover/cssm';
6
6
  import { type AdditionalMobileProps, type BaseSelectProps, type BottomSheetSelectMobileProps, type ModalSelectMobileProps } from '../../../typings';
7
- declare type PopoverType = ForwardRefExoticComponent<PopoverProps & RefAttributes<HTMLDivElement>>;
8
- declare type BottomSheetType = ForwardRefExoticComponent<BottomSheetProps & RefAttributes<HTMLDivElement>>;
9
- declare type ModalMobileType = ForwardRefExoticComponent<ModalMobileProps & RefAttributes<HTMLDivElement>> & {
7
+ type PopoverType = ForwardRefExoticComponent<PopoverProps & RefAttributes<HTMLDivElement>>;
8
+ type BottomSheetType = ForwardRefExoticComponent<BottomSheetProps & RefAttributes<HTMLDivElement>>;
9
+ type ModalMobileType = ForwardRefExoticComponent<ModalMobileProps & RefAttributes<HTMLDivElement>> & {
10
10
  Header: FC<ModalHeaderProps>;
11
11
  Footer: FC<ModalFooterProps>;
12
12
  Content: FC<ModalContentProps>;
13
13
  };
14
- export declare type ComponentProps = BaseSelectProps & AdditionalMobileProps & BottomSheetSelectMobileProps & ModalSelectMobileProps & {
14
+ export type ComponentProps = BaseSelectProps & AdditionalMobileProps & BottomSheetSelectMobileProps & ModalSelectMobileProps & {
15
15
  isBottomSheet?: boolean;
16
16
  view: 'desktop' | 'mobile';
17
17
  Popover?: PopoverType;
@@ -1,7 +1,7 @@
1
1
  import React, { type ElementType } from 'react';
2
2
  import { type FormControlProps } from '@alfalab/core-components-form-control/cssm';
3
3
  import { type FieldProps as BaseFieldProps } from '../../typings';
4
- declare type FieldProps = {
4
+ type FieldProps = {
5
5
  /**
6
6
  * Компонент FormControl
7
7
  */
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export declare type FooterProps = {
2
+ export type FooterProps = {
3
3
  handleClear?: () => void;
4
4
  handleApply?: () => void;
5
5
  showClear?: boolean;
@@ -1,6 +1,6 @@
1
1
  import React, { type SelectHTMLAttributes } from 'react';
2
2
  import { type GroupShape, type OptionShape } from '../../typings';
3
- export declare type NativeSelectProps = SelectHTMLAttributes<HTMLSelectElement> & {
3
+ export type NativeSelectProps = SelectHTMLAttributes<HTMLSelectElement> & {
4
4
  /**
5
5
  * Список вариантов выбора
6
6
  */
@@ -1,9 +1,8 @@
1
- /// <reference types="@alfalab/core-components-env" />
2
1
  import { type FC } from 'react';
3
2
  import { type OptionCommonProps } from '../../typings';
4
3
  import type stylesDesktop from './desktop/index.module.css';
5
4
  import type stylesMobile from './mobile/index.module.css';
6
- declare type OptionPrivateProps = {
5
+ type OptionPrivateProps = {
7
6
  /**
8
7
  * Мобильная версия option.
9
8
  */