@alfalab/core-components-select 19.1.0 → 19.1.1-alfasans

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 (345) 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 +19 -17
  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 +22 -18
  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 +8 -7
  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 +24 -22
  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 +21 -19
  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-option/index.module.css +5 -3
  66. package/cssm/components/base-select/Component.d.ts +5 -5
  67. package/cssm/components/base-select/Component.js.map +1 -1
  68. package/cssm/components/base-select/types/component-types.d.ts +4 -4
  69. package/cssm/components/field/Component.d.ts +1 -1
  70. package/cssm/components/field/index.module.css +9 -5
  71. package/cssm/components/footer/Component.d.ts +1 -1
  72. package/cssm/components/native-select/Component.d.ts +1 -1
  73. package/cssm/components/optgroup/index.module.css +4 -3
  74. package/cssm/components/option/Component.d.ts +1 -2
  75. package/cssm/components/option/desktop/index.module.css +5 -3
  76. package/cssm/components/option/mobile/index.module.css +5 -3
  77. package/cssm/components/options-list/Component.d.ts +25 -25
  78. package/cssm/components/options-list/Component.js +3 -3
  79. package/cssm/components/options-list/Component.js.map +1 -1
  80. package/cssm/components/search/Component.js.map +1 -1
  81. package/cssm/components/virtual-options-list/Component.d.ts +25 -25
  82. package/cssm/components/virtual-options-list/Component.js.map +1 -1
  83. package/cssm/desktop/Component.desktop.d.ts +1 -1
  84. package/cssm/hooks/use-native-scrollbar.d.ts +1 -1
  85. package/cssm/hooks/use-native-scrollbar.js.map +1 -1
  86. package/cssm/presets/useLazyLoading/hook.d.ts +2 -2
  87. package/cssm/presets/useLazyLoading/hook.js.map +1 -1
  88. package/cssm/presets/useSelectWithApply/hook.d.ts +97 -131
  89. package/cssm/presets/useSelectWithApply/hook.js.map +1 -1
  90. package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +36 -69
  91. package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.js.map +1 -1
  92. package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +1 -1
  93. package/cssm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -1
  94. package/cssm/presets/useSelectWithLoading/hook.d.ts +1 -1
  95. package/cssm/typings.d.ts +21 -21
  96. package/cssm/utils.d.ts +4 -4
  97. package/cssm/utils.js.map +1 -1
  98. package/desktop/Component.desktop.d.ts +1 -1
  99. package/esm/Component.responsive.d.ts +1 -1
  100. package/esm/Component.responsive.js.map +1 -1
  101. package/esm/components/arrow/index.css +4 -4
  102. package/esm/components/arrow/index.module.css.js +1 -1
  103. package/esm/components/arrow/index.module.css.js.map +1 -1
  104. package/esm/components/base-checkmark/index.css +12 -12
  105. package/esm/components/base-checkmark/index.module.css.js +1 -1
  106. package/esm/components/base-checkmark/index.module.css.js.map +1 -1
  107. package/esm/components/base-option/index.css +19 -17
  108. package/esm/components/base-option/index.module.css.js +1 -1
  109. package/esm/components/base-option/index.module.css.js.map +1 -1
  110. package/esm/components/base-select/Component.d.ts +5 -5
  111. package/esm/components/base-select/Component.js.map +1 -1
  112. package/esm/components/base-select/index.css +11 -11
  113. package/esm/components/base-select/index.module.css.js +1 -1
  114. package/esm/components/base-select/index.module.css.js.map +1 -1
  115. package/esm/components/base-select/mobile.css +11 -11
  116. package/esm/components/base-select/mobile.module.css.js +1 -1
  117. package/esm/components/base-select/mobile.module.css.js.map +1 -1
  118. package/esm/components/base-select/types/component-types.d.ts +4 -4
  119. package/esm/components/checkmark/index.css +11 -11
  120. package/esm/components/checkmark/index.module.css.js +1 -1
  121. package/esm/components/checkmark/index.module.css.js.map +1 -1
  122. package/esm/components/checkmark-mobile/index.css +6 -6
  123. package/esm/components/checkmark-mobile/index.module.css.js +1 -1
  124. package/esm/components/checkmark-mobile/index.module.css.js.map +1 -1
  125. package/esm/components/clear-button/index.css +4 -4
  126. package/esm/components/clear-button/index.module.css.js +1 -1
  127. package/esm/components/field/Component.d.ts +1 -1
  128. package/esm/components/field/index.css +22 -18
  129. package/esm/components/field/index.module.css.js +1 -1
  130. package/esm/components/field/index.module.css.js.map +1 -1
  131. package/esm/components/footer/Component.d.ts +1 -1
  132. package/esm/components/footer/index.css +4 -4
  133. package/esm/components/footer/index.module.css.js +1 -1
  134. package/esm/components/footer/index.module.css.js.map +1 -1
  135. package/esm/components/native-select/Component.d.ts +1 -1
  136. package/esm/components/optgroup/index.css +8 -7
  137. package/esm/components/optgroup/index.module.css.js +1 -1
  138. package/esm/components/optgroup/index.module.css.js.map +1 -1
  139. package/esm/components/option/Component.d.ts +1 -2
  140. package/esm/components/option/desktop/index.css +24 -22
  141. package/esm/components/option/desktop/index.module.css.js +1 -1
  142. package/esm/components/option/desktop/index.module.css.js.map +1 -1
  143. package/esm/components/option/mobile/index.css +21 -19
  144. package/esm/components/option/mobile/index.module.css.js +1 -1
  145. package/esm/components/option/mobile/index.module.css.js.map +1 -1
  146. package/esm/components/options-list/Component.d.ts +25 -25
  147. package/esm/components/options-list/Component.js +3 -3
  148. package/esm/components/options-list/Component.js.map +1 -1
  149. package/esm/components/options-list/index.css +13 -13
  150. package/esm/components/options-list/index.module.css.js +1 -1
  151. package/esm/components/options-list/index.module.css.js.map +1 -1
  152. package/esm/components/search/Component.js.map +1 -1
  153. package/esm/components/search/index.css +1 -1
  154. package/esm/components/search/index.module.css.js +1 -1
  155. package/esm/components/search/index.module.css.js.map +1 -1
  156. package/esm/components/virtual-options-list/Component.d.ts +25 -25
  157. package/esm/components/virtual-options-list/Component.js.map +1 -1
  158. package/esm/components/virtual-options-list/index.css +13 -13
  159. package/esm/components/virtual-options-list/index.module.css.js +1 -1
  160. package/esm/components/virtual-options-list/index.module.css.js.map +1 -1
  161. package/esm/desktop/Component.desktop.d.ts +1 -1
  162. package/esm/hooks/use-native-scrollbar.d.ts +1 -1
  163. package/esm/hooks/use-native-scrollbar.js.map +1 -1
  164. package/esm/presets/useLazyLoading/hook.d.ts +2 -2
  165. package/esm/presets/useLazyLoading/hook.js.map +1 -1
  166. package/esm/presets/useSelectWithApply/hook.d.ts +97 -131
  167. package/esm/presets/useSelectWithApply/hook.js.map +1 -1
  168. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +36 -69
  169. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js.map +1 -1
  170. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +1 -1
  171. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  172. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  173. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js.map +1 -1
  174. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -1
  175. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  176. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  177. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js.map +1 -1
  178. package/esm/presets/useSelectWithLoading/hook.d.ts +1 -1
  179. package/esm/presets/useSelectWithLoading/index.css +1 -1
  180. package/esm/presets/useSelectWithLoading/index.module.css.js +1 -1
  181. package/esm/typings.d.ts +21 -21
  182. package/esm/utils.d.ts +4 -4
  183. package/esm/utils.js.map +1 -1
  184. package/hooks/use-native-scrollbar.d.ts +1 -1
  185. package/hooks/use-native-scrollbar.js.map +1 -1
  186. package/modern/Component.responsive.d.ts +1 -1
  187. package/modern/Component.responsive.js.map +1 -1
  188. package/modern/components/arrow/index.css +4 -4
  189. package/modern/components/arrow/index.module.css.js +1 -1
  190. package/modern/components/arrow/index.module.css.js.map +1 -1
  191. package/modern/components/base-checkmark/index.css +12 -12
  192. package/modern/components/base-checkmark/index.module.css.js +1 -1
  193. package/modern/components/base-checkmark/index.module.css.js.map +1 -1
  194. package/modern/components/base-option/index.css +19 -17
  195. package/modern/components/base-option/index.module.css.js +1 -1
  196. package/modern/components/base-option/index.module.css.js.map +1 -1
  197. package/modern/components/base-select/Component.d.ts +5 -5
  198. package/modern/components/base-select/Component.js.map +1 -1
  199. package/modern/components/base-select/index.css +11 -11
  200. package/modern/components/base-select/index.module.css.js +1 -1
  201. package/modern/components/base-select/index.module.css.js.map +1 -1
  202. package/modern/components/base-select/mobile.css +11 -11
  203. package/modern/components/base-select/mobile.module.css.js +1 -1
  204. package/modern/components/base-select/mobile.module.css.js.map +1 -1
  205. package/modern/components/base-select/types/component-types.d.ts +4 -4
  206. package/modern/components/checkmark/index.css +11 -11
  207. package/modern/components/checkmark/index.module.css.js +1 -1
  208. package/modern/components/checkmark/index.module.css.js.map +1 -1
  209. package/modern/components/checkmark-mobile/index.css +6 -6
  210. package/modern/components/checkmark-mobile/index.module.css.js +1 -1
  211. package/modern/components/checkmark-mobile/index.module.css.js.map +1 -1
  212. package/modern/components/clear-button/index.css +4 -4
  213. package/modern/components/clear-button/index.module.css.js +1 -1
  214. package/modern/components/field/Component.d.ts +1 -1
  215. package/modern/components/field/index.css +22 -18
  216. package/modern/components/field/index.module.css.js +1 -1
  217. package/modern/components/field/index.module.css.js.map +1 -1
  218. package/modern/components/footer/Component.d.ts +1 -1
  219. package/modern/components/footer/index.css +4 -4
  220. package/modern/components/footer/index.module.css.js +1 -1
  221. package/modern/components/footer/index.module.css.js.map +1 -1
  222. package/modern/components/native-select/Component.d.ts +1 -1
  223. package/modern/components/optgroup/index.css +8 -7
  224. package/modern/components/optgroup/index.module.css.js +1 -1
  225. package/modern/components/optgroup/index.module.css.js.map +1 -1
  226. package/modern/components/option/Component.d.ts +1 -2
  227. package/modern/components/option/desktop/index.css +24 -22
  228. package/modern/components/option/desktop/index.module.css.js +1 -1
  229. package/modern/components/option/desktop/index.module.css.js.map +1 -1
  230. package/modern/components/option/mobile/index.css +21 -19
  231. package/modern/components/option/mobile/index.module.css.js +1 -1
  232. package/modern/components/option/mobile/index.module.css.js.map +1 -1
  233. package/modern/components/options-list/Component.d.ts +25 -25
  234. package/modern/components/options-list/Component.js +3 -3
  235. package/modern/components/options-list/Component.js.map +1 -1
  236. package/modern/components/options-list/index.css +13 -13
  237. package/modern/components/options-list/index.module.css.js +1 -1
  238. package/modern/components/options-list/index.module.css.js.map +1 -1
  239. package/modern/components/search/Component.js.map +1 -1
  240. package/modern/components/search/index.css +1 -1
  241. package/modern/components/search/index.module.css.js +1 -1
  242. package/modern/components/search/index.module.css.js.map +1 -1
  243. package/modern/components/virtual-options-list/Component.d.ts +25 -25
  244. package/modern/components/virtual-options-list/Component.js.map +1 -1
  245. package/modern/components/virtual-options-list/index.css +13 -13
  246. package/modern/components/virtual-options-list/index.module.css.js +1 -1
  247. package/modern/components/virtual-options-list/index.module.css.js.map +1 -1
  248. package/modern/desktop/Component.desktop.d.ts +1 -1
  249. package/modern/hooks/use-native-scrollbar.d.ts +1 -1
  250. package/modern/hooks/use-native-scrollbar.js.map +1 -1
  251. package/modern/presets/useLazyLoading/hook.d.ts +2 -2
  252. package/modern/presets/useLazyLoading/hook.js.map +1 -1
  253. package/modern/presets/useSelectWithApply/hook.d.ts +97 -131
  254. package/modern/presets/useSelectWithApply/hook.js.map +1 -1
  255. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +36 -69
  256. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js.map +1 -1
  257. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +1 -1
  258. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  259. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  260. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js.map +1 -1
  261. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -1
  262. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  263. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  264. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js.map +1 -1
  265. package/modern/presets/useSelectWithLoading/hook.d.ts +1 -1
  266. package/modern/presets/useSelectWithLoading/index.css +1 -1
  267. package/modern/presets/useSelectWithLoading/index.module.css.js +1 -1
  268. package/modern/typings.d.ts +21 -21
  269. package/modern/utils.d.ts +4 -4
  270. package/modern/utils.js.map +1 -1
  271. package/moderncssm/Component.responsive.d.ts +1 -1
  272. package/moderncssm/Component.responsive.js.map +1 -1
  273. package/moderncssm/components/base-option/index.module.css +2 -1
  274. package/moderncssm/components/base-select/Component.d.ts +5 -5
  275. package/moderncssm/components/base-select/Component.js.map +1 -1
  276. package/moderncssm/components/base-select/types/component-types.d.ts +4 -4
  277. package/moderncssm/components/field/Component.d.ts +1 -1
  278. package/moderncssm/components/field/index.module.css +6 -3
  279. package/moderncssm/components/footer/Component.d.ts +1 -1
  280. package/moderncssm/components/native-select/Component.d.ts +1 -1
  281. package/moderncssm/components/optgroup/index.module.css +1 -1
  282. package/moderncssm/components/option/Component.d.ts +1 -2
  283. package/moderncssm/components/option/desktop/index.module.css +2 -1
  284. package/moderncssm/components/option/mobile/index.module.css +2 -1
  285. package/moderncssm/components/options-list/Component.d.ts +25 -25
  286. package/moderncssm/components/options-list/Component.js +3 -3
  287. package/moderncssm/components/options-list/Component.js.map +1 -1
  288. package/moderncssm/components/search/Component.js.map +1 -1
  289. package/moderncssm/components/virtual-options-list/Component.d.ts +25 -25
  290. package/moderncssm/components/virtual-options-list/Component.js.map +1 -1
  291. package/moderncssm/desktop/Component.desktop.d.ts +1 -1
  292. package/moderncssm/hooks/use-native-scrollbar.d.ts +1 -1
  293. package/moderncssm/hooks/use-native-scrollbar.js.map +1 -1
  294. package/moderncssm/presets/useLazyLoading/hook.d.ts +2 -2
  295. package/moderncssm/presets/useLazyLoading/hook.js.map +1 -1
  296. package/moderncssm/presets/useSelectWithApply/hook.d.ts +97 -131
  297. package/moderncssm/presets/useSelectWithApply/hook.js.map +1 -1
  298. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +36 -69
  299. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/Component.js.map +1 -1
  300. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +1 -1
  301. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -1
  302. package/moderncssm/presets/useSelectWithLoading/hook.d.ts +1 -1
  303. package/moderncssm/typings.d.ts +21 -21
  304. package/moderncssm/utils.d.ts +4 -4
  305. package/moderncssm/utils.js.map +1 -1
  306. package/package.json +15 -15
  307. package/presets/useLazyLoading/hook.d.ts +2 -2
  308. package/presets/useLazyLoading/hook.js.map +1 -1
  309. package/presets/useSelectWithApply/hook.d.ts +97 -130
  310. package/presets/useSelectWithApply/hook.js.map +1 -1
  311. package/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +36 -69
  312. package/presets/useSelectWithApply/options-list-with-apply/Component.js.map +1 -1
  313. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +1 -1
  314. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  315. package/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  316. package/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js.map +1 -1
  317. package/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -1
  318. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  319. package/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  320. package/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js.map +1 -1
  321. package/presets/useSelectWithLoading/hook.d.ts +1 -1
  322. package/presets/useSelectWithLoading/index.css +1 -1
  323. package/presets/useSelectWithLoading/index.module.css.js +1 -1
  324. package/src/components/arrow/index.module.css +1 -1
  325. package/src/components/base-checkmark/index.module.css +1 -1
  326. package/src/components/base-option/index.module.css +1 -1
  327. package/src/components/base-select/index.module.css +1 -1
  328. package/src/components/base-select/mobile.module.css +1 -1
  329. package/src/components/checkmark/index.module.css +1 -1
  330. package/src/components/checkmark-mobile/index.module.css +1 -1
  331. package/src/components/field/index.module.css +1 -1
  332. package/src/components/footer/index.module.css +1 -1
  333. package/src/components/optgroup/index.module.css +1 -1
  334. package/src/components/option/desktop/index.module.css +1 -1
  335. package/src/components/option/index.module.css +1 -1
  336. package/src/components/option/mobile/index.module.css +1 -1
  337. package/src/components/options-list/Component.tsx +3 -3
  338. package/src/components/options-list/index.module.css +1 -1
  339. package/src/components/search/index.module.css +1 -1
  340. package/src/components/virtual-options-list/index.module.css +1 -1
  341. package/src/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +1 -1
  342. package/src/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +1 -1
  343. package/typings.d.ts +21 -21
  344. package/utils.d.ts +4 -4
  345. package/utils.js.map +1 -1
@@ -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":["ResizeObserver","ResizeObserverPolyfill"],"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":["ResizeObserver","ResizeObserverPolyfill"],"mappings":"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"}
@@ -30,25 +30,25 @@
30
30
  --select-options-list-bottom-padding: var(--gap-0);
31
31
  --select-option-background: var(--color-light-modal-bg-primary);
32
32
  }
33
- .select__component_9xjn6 {
33
+ .select__component_o531u {
34
34
  width: -moz-max-content;
35
35
  width: max-content;
36
36
  position: relative;
37
37
  outline: 0;
38
38
  max-width: 100%;
39
39
  }
40
- .select__popoverInner_9xjn6 {
40
+ .select__popoverInner_o531u {
41
41
  padding-top: var(--select-options-list-offset);
42
42
  padding-bottom: var(--select-options-list-offset);
43
43
  background: transparent;
44
44
  border-radius: var(--border-radius-0);
45
45
  position: relative;
46
46
  }
47
- .select__popoverInner_9xjn6.select__popoverInner_9xjn6 {
47
+ .select__popoverInner_o531u.select__popoverInner_o531u {
48
48
  box-shadow: none;
49
49
  border: none;
50
50
  }
51
- .select__optionsListWrapper_9xjn6 {
51
+ .select__optionsListWrapper_o531u {
52
52
  position: relative;
53
53
  padding-top: var(--select-options-list-top-padding);
54
54
  padding-bottom: var(--select-options-list-bottom-padding);
@@ -58,7 +58,7 @@
58
58
  overflow: hidden;
59
59
  will-change: transform;
60
60
  }
61
- .select__optionsListBorder_9xjn6 {
61
+ .select__optionsListBorder_o531u {
62
62
  position: absolute;
63
63
  top: var(--gap-0);
64
64
  right: var(--gap-0);
@@ -68,7 +68,7 @@
68
68
  border-radius: inherit;
69
69
  pointer-events: none;
70
70
  }
71
- .select__nativeSelect_9xjn6 {
71
+ .select__nativeSelect_o531u {
72
72
  opacity: 0;
73
73
  overflow: hidden;
74
74
  position: absolute;
@@ -82,19 +82,19 @@
82
82
  cursor: pointer;
83
83
  z-index: 1;
84
84
  }
85
- .select__block_9xjn6 {
85
+ .select__block_o531u {
86
86
  width: 100%;
87
87
  }
88
- .select__emptySearchPlaceholder_9xjn6 {
88
+ .select__emptySearchPlaceholder_o531u {
89
89
  text-align: center;
90
90
  }
91
- .select__search_9xjn6 {
91
+ .select__search_o531u {
92
92
  margin: var(--gap-12) var(--gap-12) var(--gap-0);
93
93
  }
94
- .select__search_9xjn6.select__size-72_9xjn6 {
94
+ .select__search_o531u.select__size-72_o531u {
95
95
  margin-left: var(--gap-16);
96
96
  margin-right: var(--gap-16);
97
97
  }
98
- .select__search_9xjn6:last-child {
98
+ .select__search_o531u:last-child {
99
99
  margin-bottom: var(--gap-12);
100
100
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"component":"select__component_9xjn6","popoverInner":"select__popoverInner_9xjn6","optionsListWrapper":"select__optionsListWrapper_9xjn6","optionsListBorder":"select__optionsListBorder_9xjn6","nativeSelect":"select__nativeSelect_9xjn6","block":"select__block_9xjn6","emptySearchPlaceholder":"select__emptySearchPlaceholder_9xjn6","search":"select__search_9xjn6","size-72":"select__size-72_9xjn6"};
3
+ const styles = {"component":"select__component_o531u","popoverInner":"select__popoverInner_o531u","optionsListWrapper":"select__optionsListWrapper_o531u","optionsListBorder":"select__optionsListBorder_o531u","nativeSelect":"select__nativeSelect_o531u","block":"select__block_o531u","emptySearchPlaceholder":"select__emptySearchPlaceholder_o531u","search":"select__search_o531u","size-72":"select__size-72_o531u"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/base-select/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n@import '../../vars.css';\n\n.component {\n width: max-content;\n position: relative;\n outline: 0;\n max-width: 100%;\n}\n\n.popoverInner {\n padding-top: var(--select-options-list-offset);\n padding-bottom: var(--select-options-list-offset);\n background: transparent;\n border-radius: var(--border-radius-0);\n position: relative;\n}\n\n.popoverInner.popoverInner {\n box-shadow: none;\n border: none;\n}\n\n.optionsListWrapper {\n position: relative;\n padding-top: var(--select-options-list-top-padding);\n padding-bottom: var(--select-options-list-bottom-padding);\n box-shadow: var(--select-options-list-box-shadow);\n border-radius: var(--select-options-list-border-radius);\n background: var(--select-option-background);\n overflow: hidden;\n will-change: transform;\n}\n\n.optionsListBorder {\n position: absolute;\n top: var(--gap-0);\n right: var(--gap-0);\n bottom: var(--gap-0);\n left: var(--gap-0);\n box-shadow: inset 0 0 0 1px var(--color-light-neutral-300);\n border-radius: inherit;\n pointer-events: none;\n}\n\n.nativeSelect {\n opacity: 0;\n overflow: hidden;\n position: absolute;\n top: var(--gap-0);\n bottom: var(--gap-0);\n left: var(--gap-0);\n width: 100%;\n max-width: 100%;\n min-width: 0;\n height: 100%;\n cursor: pointer;\n z-index: 1;\n}\n\n.block {\n width: 100%;\n}\n\n.emptySearchPlaceholder {\n text-align: center;\n}\n\n.search {\n margin: var(--gap-12) var(--gap-12) var(--gap-0);\n\n &.size-72 {\n margin-left: var(--gap-16);\n margin-right: var(--gap-16);\n }\n\n &:last-child {\n margin-bottom: var(--gap-12);\n }\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,WAAW,CAAC,yBAAyB,CAAC,cAAc,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,kCAAkC,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,cAAc,CAAC,4BAA4B,CAAC,OAAO,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,sCAAsC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,uBAAuB,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/base-select/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../vars.css';\n\n.component {\n width: max-content;\n position: relative;\n outline: 0;\n max-width: 100%;\n}\n\n.popoverInner {\n padding-top: var(--select-options-list-offset);\n padding-bottom: var(--select-options-list-offset);\n background: transparent;\n border-radius: var(--border-radius-0);\n position: relative;\n}\n\n.popoverInner.popoverInner {\n box-shadow: none;\n border: none;\n}\n\n.optionsListWrapper {\n position: relative;\n padding-top: var(--select-options-list-top-padding);\n padding-bottom: var(--select-options-list-bottom-padding);\n box-shadow: var(--select-options-list-box-shadow);\n border-radius: var(--select-options-list-border-radius);\n background: var(--select-option-background);\n overflow: hidden;\n will-change: transform;\n}\n\n.optionsListBorder {\n position: absolute;\n top: var(--gap-0);\n right: var(--gap-0);\n bottom: var(--gap-0);\n left: var(--gap-0);\n box-shadow: inset 0 0 0 1px var(--color-light-neutral-300);\n border-radius: inherit;\n pointer-events: none;\n}\n\n.nativeSelect {\n opacity: 0;\n overflow: hidden;\n position: absolute;\n top: var(--gap-0);\n bottom: var(--gap-0);\n left: var(--gap-0);\n width: 100%;\n max-width: 100%;\n min-width: 0;\n height: 100%;\n cursor: pointer;\n z-index: 1;\n}\n\n.block {\n width: 100%;\n}\n\n.emptySearchPlaceholder {\n text-align: center;\n}\n\n.search {\n margin: var(--gap-12) var(--gap-12) var(--gap-0);\n\n &.size-72 {\n margin-left: var(--gap-16);\n margin-right: var(--gap-16);\n }\n\n &:last-child {\n margin-bottom: var(--gap-12);\n }\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,WAAW,CAAC,yBAAyB,CAAC,cAAc,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,kCAAkC,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,cAAc,CAAC,4BAA4B,CAAC,OAAO,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,sCAAsC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,uBAAuB,CAAC;;;;"}
@@ -9,40 +9,40 @@
9
9
  --gap-16: var(--gap-m);
10
10
  --gap-20: var(--gap-l);
11
11
  }
12
- .select__sheet_1bvfg {
12
+ .select__sheet_1egec {
13
13
  overflow: hidden;
14
14
  }
15
- .select__sheetContent_1bvfg.select__sheetContent_1bvfg {
15
+ .select__sheetContent_1egec.select__sheetContent_1egec {
16
16
  padding: var(--gap-0);
17
17
  }
18
- .select__sheetContent_1bvfg.select__sheetContent_1bvfg .select__modalContent_1bvfg {
18
+ .select__sheetContent_1egec.select__sheetContent_1egec .select__modalContent_1egec {
19
19
  padding: var(--gap-0);
20
20
  display: flex;
21
21
  flex-direction: column;
22
22
  }
23
- .select__sheetContainer_1bvfg {
23
+ .select__sheetContainer_1egec {
24
24
  padding: var(--gap-0);
25
25
  }
26
- .select__optionsListWrapper_1bvfg {
26
+ .select__optionsListWrapper_1egec {
27
27
  flex: 1;
28
28
  }
29
- .select__optionsList_1bvfg.select__optionsList_1bvfg {
29
+ .select__optionsList_1egec.select__optionsList_1egec {
30
30
  height: 100%;
31
31
  display: flex;
32
32
  flex-direction: column;
33
33
  }
34
- .select__scrollbar_1bvfg {
34
+ .select__scrollbar_1egec {
35
35
  flex: 1;
36
36
  }
37
- .select__search_1bvfg {
37
+ .select__search_1egec {
38
38
  padding: var(--gap-8);
39
39
  }
40
- .select__option_1bvfg.select__option_1bvfg {
40
+ .select__option_1egec.select__option_1egec {
41
41
  padding: var(--gap-4) var(--gap-20) var(--gap-4) var(--gap-16);
42
42
  }
43
- .select__option_1bvfg.select__option_1bvfg:before {
43
+ .select__option_1egec.select__option_1egec:before {
44
44
  display: none;
45
45
  }
46
- .select__optionGroup_1bvfg.select__optionGroup_1bvfg {
46
+ .select__optionGroup_1egec.select__optionGroup_1egec {
47
47
  padding: var(--gap-16) var(--gap-16) var(--gap-8);
48
48
  }
@@ -1,6 +1,6 @@
1
1
  import './mobile.css';
2
2
 
3
- const mobileStyles = {"sheet":"select__sheet_1bvfg","sheetContent":"select__sheetContent_1bvfg","modalContent":"select__modalContent_1bvfg","sheetContainer":"select__sheetContainer_1bvfg","optionsListWrapper":"select__optionsListWrapper_1bvfg","optionsList":"select__optionsList_1bvfg","scrollbar":"select__scrollbar_1bvfg","search":"select__search_1bvfg","option":"select__option_1bvfg","optionGroup":"select__optionGroup_1bvfg"};
3
+ const mobileStyles = {"sheet":"select__sheet_1egec","sheetContent":"select__sheetContent_1egec","modalContent":"select__modalContent_1egec","sheetContainer":"select__sheetContainer_1egec","optionsListWrapper":"select__optionsListWrapper_1egec","optionsList":"select__optionsList_1egec","scrollbar":"select__scrollbar_1egec","search":"select__search_1egec","option":"select__option_1egec","optionGroup":"select__optionGroup_1egec"};
4
4
 
5
5
  export { mobileStyles as default };
6
6
  //# sourceMappingURL=mobile.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mobile.module.css.js","sources":["../../src/components/base-select/mobile.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n@import '../../vars.css';\n\n.sheet {\n overflow: hidden;\n}\n\n.sheetContent.sheetContent {\n padding: var(--gap-0);\n\n & .modalContent {\n padding: var(--gap-0);\n display: flex;\n flex-direction: column;\n }\n}\n\n.sheetContainer {\n padding: var(--gap-0);\n}\n\n.optionsListWrapper {\n flex: 1;\n}\n\n.optionsList.optionsList {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.scrollbar {\n flex: 1;\n}\n\n.search {\n padding: var(--gap-8);\n}\n\n.option.option {\n padding: var(--gap-4) var(--gap-20) var(--gap-4) var(--gap-16);\n\n &:before {\n display: none;\n }\n}\n\n.optionGroup.optionGroup {\n padding: var(--gap-16) var(--gap-16) var(--gap-8);\n}\n"],"names":[],"mappings":";;AAEgB,qBAAe,CAAC,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,4BAA4B,CAAC,cAAc,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,oBAAoB,CAAC,kCAAkC,CAAC,aAAa,CAAC,2BAA2B,CAAC,WAAW,CAAC,yBAAyB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,2BAA2B,CAAC;;;;"}
1
+ {"version":3,"file":"mobile.module.css.js","sources":["../../src/components/base-select/mobile.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../vars.css';\n\n.sheet {\n overflow: hidden;\n}\n\n.sheetContent.sheetContent {\n padding: var(--gap-0);\n\n & .modalContent {\n padding: var(--gap-0);\n display: flex;\n flex-direction: column;\n }\n}\n\n.sheetContainer {\n padding: var(--gap-0);\n}\n\n.optionsListWrapper {\n flex: 1;\n}\n\n.optionsList.optionsList {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.scrollbar {\n flex: 1;\n}\n\n.search {\n padding: var(--gap-8);\n}\n\n.option.option {\n padding: var(--gap-4) var(--gap-20) var(--gap-4) var(--gap-16);\n\n &:before {\n display: none;\n }\n}\n\n.optionGroup.optionGroup {\n padding: var(--gap-16) var(--gap-16) var(--gap-8);\n}\n"],"names":[],"mappings":";;AAEgB,qBAAe,CAAC,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,4BAA4B,CAAC,cAAc,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,oBAAoB,CAAC,kCAAkC,CAAC,aAAa,CAAC,2BAA2B,CAAC,WAAW,CAAC,yBAAyB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,2BAA2B,CAAC;;;;"}
@@ -4,14 +4,14 @@ import { type ModalContentProps, type ModalFooterProps, type ModalHeaderProps }
4
4
  import { type ModalMobileProps } from '@alfalab/core-components-modal/modern/typings';
5
5
  import { type PopoverProps } from '@alfalab/core-components-popover/modern';
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;
@@ -13,16 +13,16 @@
13
13
  --select-checkmark-after-display-single: flex;
14
14
  --select-checkmark-unselected-opacity: 0;
15
15
  }
16
- .select__checkmark_1r6w4 {
16
+ .select__checkmark_129c4 {
17
17
  flex-shrink: 0;
18
18
  }
19
- .select__checkmark_1r6w4.select__before_1r6w4 {
19
+ .select__checkmark_129c4.select__before_129c4 {
20
20
  display: var(--select-checkmark-before-display);
21
21
  }
22
- .select__checkmark_1r6w4.select__after_1r6w4 {
22
+ .select__checkmark_129c4.select__after_129c4 {
23
23
  display: var(--select-checkmark-after-display);
24
24
  }
25
- .select__single_1r6w4 {
25
+ .select__single_129c4 {
26
26
  display: flex;
27
27
  align-items: center;
28
28
  justify-content: center;
@@ -30,26 +30,26 @@
30
30
  width: var(--select-checkmark-size);
31
31
  height: var(--select-checkmark-size);
32
32
  }
33
- .select__single_1r6w4.select__selected_1r6w4 {
33
+ .select__single_129c4.select__selected_129c4 {
34
34
  opacity: 1;
35
35
  }
36
- .select__multiple_1r6w4.select__before_1r6w4 {
36
+ .select__multiple_129c4.select__before_129c4 {
37
37
  margin-right: var(--gap-12);
38
38
  display: var(--select-checkmark-before-display-multiple);
39
39
  }
40
- .select__multiple_1r6w4.select__after_1r6w4 {
40
+ .select__multiple_129c4.select__after_129c4 {
41
41
  margin-left: var(--gap-12);
42
42
  }
43
- .select__after_1r6w4.select__after_1r6w4 {
43
+ .select__after_129c4.select__after_129c4 {
44
44
  display: var(--select-checkmark-after-display);
45
45
  }
46
- .select__after_1r6w4.select__after_1r6w4.select__single_1r6w4 {
46
+ .select__after_129c4.select__after_129c4.select__single_129c4 {
47
47
  display: var(--select-checkmark-after-display-single);
48
48
  }
49
- .select__colorIcon_1r6w4 {
49
+ .select__colorIcon_129c4 {
50
50
  color: var(--color-light-status-positive);
51
51
  }
52
- .select__displayIcon_1r6w4 {
52
+ .select__displayIcon_129c4 {
53
53
  display: block;
54
54
  width: 100%;
55
55
  height: 100%;
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"checkmark":"select__checkmark_1r6w4","before":"select__before_1r6w4","after":"select__after_1r6w4","single":"select__single_1r6w4","selected":"select__selected_1r6w4","multiple":"select__multiple_1r6w4","colorIcon":"select__colorIcon_1r6w4","displayIcon":"select__displayIcon_1r6w4"};
3
+ const styles = {"checkmark":"select__checkmark_129c4","before":"select__before_129c4","after":"select__after_129c4","single":"select__single_129c4","selected":"select__selected_129c4","multiple":"select__multiple_129c4","colorIcon":"select__colorIcon_129c4","displayIcon":"select__displayIcon_129c4"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/checkmark/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n@import '../../vars.css';\n\n.checkmark {\n flex-shrink: 0;\n\n &.before {\n display: var(--select-checkmark-before-display);\n }\n\n &.after {\n display: var(--select-checkmark-after-display);\n }\n}\n\n.single {\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: var(--select-checkmark-unselected-opacity);\n width: var(--select-checkmark-size);\n height: var(--select-checkmark-size);\n\n &.selected {\n opacity: 1;\n }\n}\n\n.multiple {\n &.before {\n margin-right: var(--gap-12);\n display: var(--select-checkmark-before-display-multiple);\n }\n\n &.after {\n margin-left: var(--gap-12);\n }\n}\n\n.after.after {\n display: var(--select-checkmark-after-display);\n\n &.single {\n display: var(--select-checkmark-after-display-single);\n }\n}\n\n.colorIcon {\n color: var(--color-light-status-positive);\n}\n\n.displayIcon {\n display: block;\n width: 100%;\n height: 100%;\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,WAAW,CAAC,yBAAyB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,wBAAwB,CAAC,UAAU,CAAC,wBAAwB,CAAC,WAAW,CAAC,yBAAyB,CAAC,aAAa,CAAC,2BAA2B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/checkmark/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../vars.css';\n\n.checkmark {\n flex-shrink: 0;\n\n &.before {\n display: var(--select-checkmark-before-display);\n }\n\n &.after {\n display: var(--select-checkmark-after-display);\n }\n}\n\n.single {\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: var(--select-checkmark-unselected-opacity);\n width: var(--select-checkmark-size);\n height: var(--select-checkmark-size);\n\n &.selected {\n opacity: 1;\n }\n}\n\n.multiple {\n &.before {\n margin-right: var(--gap-12);\n display: var(--select-checkmark-before-display-multiple);\n }\n\n &.after {\n margin-left: var(--gap-12);\n }\n}\n\n.after.after {\n display: var(--select-checkmark-after-display);\n\n &.single {\n display: var(--select-checkmark-after-display-single);\n }\n}\n\n.colorIcon {\n color: var(--color-light-status-positive);\n}\n\n.displayIcon {\n display: block;\n width: 100%;\n height: 100%;\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,WAAW,CAAC,yBAAyB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,wBAAwB,CAAC,UAAU,CAAC,wBAAwB,CAAC,WAAW,CAAC,yBAAyB,CAAC,aAAa,CAAC,2BAA2B,CAAC;;;;"}
@@ -6,7 +6,7 @@
6
6
  --select-mobile-checkmark-display-icon: block;
7
7
  --select-mobile-checkmark-display-badge: none;
8
8
  }
9
- .select__checkmark_1s4hl {
9
+ .select__checkmark_ysg1k {
10
10
  flex-shrink: 0;
11
11
  display: flex;
12
12
  align-items: center;
@@ -15,18 +15,18 @@
15
15
  height: 24px;
16
16
  opacity: 0;
17
17
  }
18
- .select__checkmark_1s4hl.select__selected_1s4hl {
18
+ .select__checkmark_ysg1k.select__selected_ysg1k {
19
19
  opacity: 1;
20
20
  }
21
- .select__checkmark_1s4hl.select__before_1s4hl {
21
+ .select__checkmark_ysg1k.select__before_ysg1k {
22
22
  margin-right: var(--gap-8);
23
23
  }
24
- .select__checkmark_1s4hl.select__after_1s4hl {
24
+ .select__checkmark_ysg1k.select__after_ysg1k {
25
25
  margin-left: var(--gap-8);
26
26
  }
27
- .select__displayIcon_1s4hl {
27
+ .select__displayIcon_ysg1k {
28
28
  display: var(--select-mobile-checkmark-display-icon);
29
29
  }
30
- .select__displayBadge_1s4hl {
30
+ .select__displayBadge_ysg1k {
31
31
  display: var(--select-mobile-checkmark-display-badge);
32
32
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"checkmark":"select__checkmark_1s4hl","selected":"select__selected_1s4hl","before":"select__before_1s4hl","after":"select__after_1s4hl","displayIcon":"select__displayIcon_1s4hl","displayBadge":"select__displayBadge_1s4hl"};
3
+ const styles = {"checkmark":"select__checkmark_ysg1k","selected":"select__selected_ysg1k","before":"select__before_ysg1k","after":"select__after_ysg1k","displayIcon":"select__displayIcon_ysg1k","displayBadge":"select__displayBadge_ysg1k"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/checkmark-mobile/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n@import '../../vars.css';\n\n.checkmark {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n opacity: 0;\n\n &.selected {\n opacity: 1;\n }\n\n &.before {\n margin-right: var(--gap-8);\n }\n\n &.after {\n margin-left: var(--gap-8);\n }\n}\n\n.displayIcon {\n display: var(--select-mobile-checkmark-display-icon);\n}\n\n.displayBadge {\n display: var(--select-mobile-checkmark-display-badge);\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,WAAW,CAAC,yBAAyB,CAAC,UAAU,CAAC,wBAAwB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,qBAAqB,CAAC,aAAa,CAAC,2BAA2B,CAAC,cAAc,CAAC,4BAA4B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/checkmark-mobile/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../vars.css';\n\n.checkmark {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n opacity: 0;\n\n &.selected {\n opacity: 1;\n }\n\n &.before {\n margin-right: var(--gap-8);\n }\n\n &.after {\n margin-left: var(--gap-8);\n }\n}\n\n.displayIcon {\n display: var(--select-mobile-checkmark-display-icon);\n}\n\n.displayBadge {\n display: var(--select-mobile-checkmark-display-badge);\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,WAAW,CAAC,yBAAyB,CAAC,UAAU,CAAC,wBAAwB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,qBAAqB,CAAC,aAAa,CAAC,2BAA2B,CAAC,cAAc,CAAC,4BAA4B,CAAC;;;;"}
@@ -6,16 +6,16 @@
6
6
  :root {
7
7
  --input-error-icon-display: none;
8
8
  }
9
- .select__clearIcon_dmm0q {
9
+ .select__clearIcon_b532o {
10
10
  display: block;
11
11
  color: var(--color-light-neutral-translucent-500);
12
12
  }
13
- .select__clearIcon_dmm0q:hover {
13
+ .select__clearIcon_b532o:hover {
14
14
  color: var(--color-light-neutral-translucent-500-hover);
15
15
  }
16
- .select__clearIcon_dmm0q:active {
16
+ .select__clearIcon_b532o:active {
17
17
  color: var(--color-light-neutral-translucent-500-press);
18
18
  }
19
- .select__clearButton_dmm0q + [data-addon='error-icon'] {
19
+ .select__clearButton_b532o + [data-addon='error-icon'] {
20
20
  display: var(--input-error-icon-display);
21
21
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"clearIcon":"select__clearIcon_dmm0q","clearButton":"select__clearButton_dmm0q"};
3
+ const styles = {"clearIcon":"select__clearIcon_b532o","clearButton":"select__clearButton_b532o"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1,7 +1,7 @@
1
1
  import React, { type ElementType } from 'react';
2
2
  import { type FormControlProps } from '@alfalab/core-components-form-control/modern';
3
3
  import { type FieldProps as BaseFieldProps } from '../../typings';
4
- declare type FieldProps = {
4
+ type FieldProps = {
5
5
  /**
6
6
  * Компонент FormControl
7
7
  */