@alfalab/core-components-select 19.0.6 → 19.1.0-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 (314) hide show
  1. package/components/arrow/index.css +4 -4
  2. package/components/arrow/index.module.css.js +1 -1
  3. package/components/base-checkmark/Component.d.ts +2 -2
  4. package/components/base-checkmark/Component.js +14 -7
  5. package/components/base-checkmark/Component.js.map +1 -1
  6. package/components/base-checkmark/index.css +32 -5
  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/Component.js +4 -16
  10. package/components/base-option/Component.js.map +1 -1
  11. package/components/base-option/index.css +19 -23
  12. package/components/base-option/index.module.css.js +1 -1
  13. package/components/base-option/index.module.css.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/mobile.css +11 -11
  17. package/components/base-select/mobile.module.css.js +1 -1
  18. package/components/checkmark/Component.d.ts +1 -1
  19. package/components/checkmark/Component.js +3 -4
  20. package/components/checkmark/Component.js.map +1 -1
  21. package/components/checkmark/index.css +23 -31
  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/Component.d.ts +1 -1
  25. package/components/checkmark-mobile/Component.js +2 -2
  26. package/components/checkmark-mobile/Component.js.map +1 -1
  27. package/components/checkmark-mobile/index.css +14 -7
  28. package/components/checkmark-mobile/index.module.css.js +1 -1
  29. package/components/checkmark-mobile/index.module.css.js.map +1 -1
  30. package/components/clear-button/index.css +4 -4
  31. package/components/clear-button/index.module.css.js +1 -1
  32. package/components/field/Component.js +6 -23
  33. package/components/field/Component.js.map +1 -1
  34. package/components/field/index.css +22 -18
  35. package/components/field/index.module.css.js +1 -1
  36. package/components/footer/index.css +4 -4
  37. package/components/footer/index.module.css.js +1 -1
  38. package/components/optgroup/index.css +8 -7
  39. package/components/optgroup/index.module.css.js +1 -1
  40. package/components/option/Component.js +8 -4
  41. package/components/option/Component.js.map +1 -1
  42. package/components/option/desktop/index.css +24 -22
  43. package/components/option/desktop/index.module.css.js +1 -1
  44. package/components/option/mobile/index.css +21 -19
  45. package/components/option/mobile/index.module.css.js +1 -1
  46. package/components/options-list/index.css +13 -13
  47. package/components/options-list/index.module.css.js +1 -1
  48. package/components/search/index.css +1 -1
  49. package/components/search/index.module.css.js +1 -1
  50. package/components/virtual-options-list/index.css +13 -13
  51. package/components/virtual-options-list/index.module.css.js +1 -1
  52. package/cssm/components/base-checkmark/Component.d.ts +2 -2
  53. package/cssm/components/base-checkmark/Component.js +14 -7
  54. package/cssm/components/base-checkmark/Component.js.map +1 -1
  55. package/cssm/components/base-checkmark/index.module.css +29 -2
  56. package/cssm/components/base-option/Component.js +4 -16
  57. package/cssm/components/base-option/Component.js.map +1 -1
  58. package/cssm/components/base-option/index.module.css +5 -9
  59. package/cssm/components/checkmark/Component.d.ts +1 -1
  60. package/cssm/components/checkmark/Component.js +4 -5
  61. package/cssm/components/checkmark/Component.js.map +1 -1
  62. package/cssm/components/checkmark/index.module.css +16 -24
  63. package/cssm/components/checkmark-mobile/Component.d.ts +1 -1
  64. package/cssm/components/checkmark-mobile/Component.js +2 -2
  65. package/cssm/components/checkmark-mobile/Component.js.map +1 -1
  66. package/cssm/components/checkmark-mobile/index.module.css +10 -3
  67. package/cssm/components/field/Component.js +6 -23
  68. package/cssm/components/field/Component.js.map +1 -1
  69. package/cssm/components/field/index.module.css +9 -5
  70. package/cssm/components/optgroup/index.module.css +4 -3
  71. package/cssm/components/option/Component.js +8 -4
  72. package/cssm/components/option/Component.js.map +1 -1
  73. package/cssm/components/option/desktop/index.module.css +5 -3
  74. package/cssm/components/option/mobile/index.module.css +5 -3
  75. package/cssm/desktop/Component.desktop.js +0 -2
  76. package/cssm/desktop/Component.desktop.js.map +1 -1
  77. package/cssm/mobile/Component.mobile.js +2 -3
  78. package/cssm/mobile/Component.mobile.js.map +1 -1
  79. package/cssm/presets/useLazyLoading/hook.js +0 -2
  80. package/cssm/presets/useLazyLoading/hook.js.map +1 -1
  81. package/cssm/presets/useSelectWithApply/hook.d.ts +7 -1
  82. package/cssm/presets/useSelectWithApply/hook.js +9 -8
  83. package/cssm/presets/useSelectWithApply/hook.js.map +1 -1
  84. package/cssm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -0
  85. package/cssm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +3 -3
  86. package/cssm/presets/useSelectWithApply/options-list-with-apply/header/Component.js.map +1 -1
  87. package/cssm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +5 -1
  88. package/cssm/presets/useSelectWithLoading/hook.js +0 -2
  89. package/cssm/presets/useSelectWithLoading/hook.js.map +1 -1
  90. package/cssm/typings.d.ts +9 -0
  91. package/desktop/Component.desktop.js +0 -2
  92. package/desktop/Component.desktop.js.map +1 -1
  93. package/esm/components/arrow/index.css +4 -4
  94. package/esm/components/arrow/index.module.css.js +1 -1
  95. package/esm/components/base-checkmark/Component.d.ts +2 -2
  96. package/esm/components/base-checkmark/Component.js +14 -7
  97. package/esm/components/base-checkmark/Component.js.map +1 -1
  98. package/esm/components/base-checkmark/index.css +32 -5
  99. package/esm/components/base-checkmark/index.module.css.js +1 -1
  100. package/esm/components/base-checkmark/index.module.css.js.map +1 -1
  101. package/esm/components/base-option/Component.js +4 -16
  102. package/esm/components/base-option/Component.js.map +1 -1
  103. package/esm/components/base-option/index.css +19 -23
  104. package/esm/components/base-option/index.module.css.js +1 -1
  105. package/esm/components/base-option/index.module.css.js.map +1 -1
  106. package/esm/components/base-select/index.css +11 -11
  107. package/esm/components/base-select/index.module.css.js +1 -1
  108. package/esm/components/base-select/mobile.css +11 -11
  109. package/esm/components/base-select/mobile.module.css.js +1 -1
  110. package/esm/components/checkmark/Component.d.ts +1 -1
  111. package/esm/components/checkmark/Component.js +3 -4
  112. package/esm/components/checkmark/Component.js.map +1 -1
  113. package/esm/components/checkmark/index.css +23 -31
  114. package/esm/components/checkmark/index.module.css.js +1 -1
  115. package/esm/components/checkmark/index.module.css.js.map +1 -1
  116. package/esm/components/checkmark-mobile/Component.d.ts +1 -1
  117. package/esm/components/checkmark-mobile/Component.js +2 -2
  118. package/esm/components/checkmark-mobile/Component.js.map +1 -1
  119. package/esm/components/checkmark-mobile/index.css +14 -7
  120. package/esm/components/checkmark-mobile/index.module.css.js +1 -1
  121. package/esm/components/checkmark-mobile/index.module.css.js.map +1 -1
  122. package/esm/components/clear-button/index.css +4 -4
  123. package/esm/components/clear-button/index.module.css.js +1 -1
  124. package/esm/components/field/Component.js +8 -25
  125. package/esm/components/field/Component.js.map +1 -1
  126. package/esm/components/field/index.css +22 -18
  127. package/esm/components/field/index.module.css.js +1 -1
  128. package/esm/components/footer/index.css +4 -4
  129. package/esm/components/footer/index.module.css.js +1 -1
  130. package/esm/components/optgroup/index.css +8 -7
  131. package/esm/components/optgroup/index.module.css.js +1 -1
  132. package/esm/components/option/Component.js +8 -4
  133. package/esm/components/option/Component.js.map +1 -1
  134. package/esm/components/option/desktop/index.css +24 -22
  135. package/esm/components/option/desktop/index.module.css.js +1 -1
  136. package/esm/components/option/mobile/index.css +21 -19
  137. package/esm/components/option/mobile/index.module.css.js +1 -1
  138. package/esm/components/options-list/index.css +13 -13
  139. package/esm/components/options-list/index.module.css.js +1 -1
  140. package/esm/components/search/index.css +1 -1
  141. package/esm/components/search/index.module.css.js +1 -1
  142. package/esm/components/virtual-options-list/index.css +13 -13
  143. package/esm/components/virtual-options-list/index.module.css.js +1 -1
  144. package/esm/desktop/Component.desktop.js +0 -2
  145. package/esm/desktop/Component.desktop.js.map +1 -1
  146. package/esm/mobile/Component.mobile.js +2 -3
  147. package/esm/mobile/Component.mobile.js.map +1 -1
  148. package/esm/presets/useLazyLoading/hook.js +0 -2
  149. package/esm/presets/useLazyLoading/hook.js.map +1 -1
  150. package/esm/presets/useSelectWithApply/hook.d.ts +7 -1
  151. package/esm/presets/useSelectWithApply/hook.js +9 -8
  152. package/esm/presets/useSelectWithApply/hook.js.map +1 -1
  153. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  154. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  155. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -0
  156. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +3 -3
  157. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.js.map +1 -1
  158. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +8 -4
  159. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  160. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js.map +1 -1
  161. package/esm/presets/useSelectWithLoading/hook.js +0 -2
  162. package/esm/presets/useSelectWithLoading/hook.js.map +1 -1
  163. package/esm/presets/useSelectWithLoading/index.css +1 -1
  164. package/esm/presets/useSelectWithLoading/index.module.css.js +1 -1
  165. package/esm/typings.d.ts +9 -0
  166. package/mobile/Component.mobile.js +2 -3
  167. package/mobile/Component.mobile.js.map +1 -1
  168. package/modern/components/arrow/index.css +4 -4
  169. package/modern/components/arrow/index.module.css.js +1 -1
  170. package/modern/components/base-checkmark/Component.d.ts +2 -2
  171. package/modern/components/base-checkmark/Component.js +10 -6
  172. package/modern/components/base-checkmark/Component.js.map +1 -1
  173. package/modern/components/base-checkmark/index.css +32 -5
  174. package/modern/components/base-checkmark/index.module.css.js +1 -1
  175. package/modern/components/base-checkmark/index.module.css.js.map +1 -1
  176. package/modern/components/base-option/Component.js +4 -15
  177. package/modern/components/base-option/Component.js.map +1 -1
  178. package/modern/components/base-option/index.css +19 -23
  179. package/modern/components/base-option/index.module.css.js +1 -1
  180. package/modern/components/base-option/index.module.css.js.map +1 -1
  181. package/modern/components/base-select/index.css +11 -11
  182. package/modern/components/base-select/index.module.css.js +1 -1
  183. package/modern/components/base-select/mobile.css +11 -11
  184. package/modern/components/base-select/mobile.module.css.js +1 -1
  185. package/modern/components/checkmark/Component.d.ts +1 -1
  186. package/modern/components/checkmark/Component.js +3 -4
  187. package/modern/components/checkmark/Component.js.map +1 -1
  188. package/modern/components/checkmark/index.css +23 -31
  189. package/modern/components/checkmark/index.module.css.js +1 -1
  190. package/modern/components/checkmark/index.module.css.js.map +1 -1
  191. package/modern/components/checkmark-mobile/Component.d.ts +1 -1
  192. package/modern/components/checkmark-mobile/Component.js +1 -1
  193. package/modern/components/checkmark-mobile/Component.js.map +1 -1
  194. package/modern/components/checkmark-mobile/index.css +14 -7
  195. package/modern/components/checkmark-mobile/index.module.css.js +1 -1
  196. package/modern/components/checkmark-mobile/index.module.css.js.map +1 -1
  197. package/modern/components/clear-button/index.css +4 -4
  198. package/modern/components/clear-button/index.module.css.js +1 -1
  199. package/modern/components/field/Component.js +8 -25
  200. package/modern/components/field/Component.js.map +1 -1
  201. package/modern/components/field/index.css +22 -18
  202. package/modern/components/field/index.module.css.js +1 -1
  203. package/modern/components/footer/index.css +4 -4
  204. package/modern/components/footer/index.module.css.js +1 -1
  205. package/modern/components/optgroup/index.css +8 -7
  206. package/modern/components/optgroup/index.module.css.js +1 -1
  207. package/modern/components/option/Component.js +5 -3
  208. package/modern/components/option/Component.js.map +1 -1
  209. package/modern/components/option/desktop/index.css +24 -22
  210. package/modern/components/option/desktop/index.module.css.js +1 -1
  211. package/modern/components/option/mobile/index.css +21 -19
  212. package/modern/components/option/mobile/index.module.css.js +1 -1
  213. package/modern/components/options-list/index.css +13 -13
  214. package/modern/components/options-list/index.module.css.js +1 -1
  215. package/modern/components/search/index.css +1 -1
  216. package/modern/components/search/index.module.css.js +1 -1
  217. package/modern/components/virtual-options-list/index.css +13 -13
  218. package/modern/components/virtual-options-list/index.module.css.js +1 -1
  219. package/modern/desktop/Component.desktop.js +0 -2
  220. package/modern/desktop/Component.desktop.js.map +1 -1
  221. package/modern/mobile/Component.mobile.js +2 -3
  222. package/modern/mobile/Component.mobile.js.map +1 -1
  223. package/modern/presets/useLazyLoading/hook.js +0 -2
  224. package/modern/presets/useLazyLoading/hook.js.map +1 -1
  225. package/modern/presets/useSelectWithApply/hook.d.ts +7 -1
  226. package/modern/presets/useSelectWithApply/hook.js +3 -1
  227. package/modern/presets/useSelectWithApply/hook.js.map +1 -1
  228. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  229. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  230. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -0
  231. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.js +2 -2
  232. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.js.map +1 -1
  233. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +8 -4
  234. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  235. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js.map +1 -1
  236. package/modern/presets/useSelectWithLoading/hook.js +0 -2
  237. package/modern/presets/useSelectWithLoading/hook.js.map +1 -1
  238. package/modern/presets/useSelectWithLoading/index.css +1 -1
  239. package/modern/presets/useSelectWithLoading/index.module.css.js +1 -1
  240. package/modern/typings.d.ts +9 -0
  241. package/moderncssm/components/base-checkmark/Component.d.ts +2 -2
  242. package/moderncssm/components/base-checkmark/Component.js +10 -6
  243. package/moderncssm/components/base-checkmark/Component.js.map +1 -1
  244. package/moderncssm/components/base-checkmark/index.module.css +32 -2
  245. package/moderncssm/components/base-option/Component.js +4 -15
  246. package/moderncssm/components/base-option/Component.js.map +1 -1
  247. package/moderncssm/components/base-option/index.module.css +2 -9
  248. package/moderncssm/components/checkmark/Component.d.ts +1 -1
  249. package/moderncssm/components/checkmark/Component.js +3 -4
  250. package/moderncssm/components/checkmark/Component.js.map +1 -1
  251. package/moderncssm/components/checkmark/index.module.css +19 -18
  252. package/moderncssm/components/checkmark-mobile/Component.d.ts +1 -1
  253. package/moderncssm/components/checkmark-mobile/Component.js +1 -1
  254. package/moderncssm/components/checkmark-mobile/Component.js.map +1 -1
  255. package/moderncssm/components/checkmark-mobile/index.module.css +8 -4
  256. package/moderncssm/components/field/Component.js +8 -25
  257. package/moderncssm/components/field/Component.js.map +1 -1
  258. package/moderncssm/components/field/index.module.css +6 -3
  259. package/moderncssm/components/optgroup/index.module.css +1 -1
  260. package/moderncssm/components/option/Component.js +5 -3
  261. package/moderncssm/components/option/Component.js.map +1 -1
  262. package/moderncssm/components/option/desktop/index.module.css +2 -1
  263. package/moderncssm/components/option/mobile/index.module.css +2 -1
  264. package/moderncssm/desktop/Component.desktop.js +0 -2
  265. package/moderncssm/desktop/Component.desktop.js.map +1 -1
  266. package/moderncssm/mobile/Component.mobile.js +2 -3
  267. package/moderncssm/mobile/Component.mobile.js.map +1 -1
  268. package/moderncssm/presets/useLazyLoading/hook.js +0 -2
  269. package/moderncssm/presets/useLazyLoading/hook.js.map +1 -1
  270. package/moderncssm/presets/useSelectWithApply/hook.d.ts +7 -1
  271. package/moderncssm/presets/useSelectWithApply/hook.js +3 -1
  272. package/moderncssm/presets/useSelectWithApply/hook.js.map +1 -1
  273. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -0
  274. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +2 -2
  275. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/Component.js.map +1 -1
  276. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +6 -1
  277. package/moderncssm/presets/useSelectWithLoading/hook.js +0 -2
  278. package/moderncssm/presets/useSelectWithLoading/hook.js.map +1 -1
  279. package/moderncssm/typings.d.ts +9 -0
  280. package/package.json +15 -16
  281. package/presets/useLazyLoading/hook.js +0 -2
  282. package/presets/useLazyLoading/hook.js.map +1 -1
  283. package/presets/useSelectWithApply/hook.d.ts +7 -1
  284. package/presets/useSelectWithApply/hook.js +9 -8
  285. package/presets/useSelectWithApply/hook.js.map +1 -1
  286. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  287. package/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  288. package/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -0
  289. package/presets/useSelectWithApply/options-list-with-apply/header/Component.js +3 -3
  290. package/presets/useSelectWithApply/options-list-with-apply/header/Component.js.map +1 -1
  291. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +8 -4
  292. package/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  293. package/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js.map +1 -1
  294. package/presets/useSelectWithLoading/hook.js +0 -2
  295. package/presets/useSelectWithLoading/hook.js.map +1 -1
  296. package/presets/useSelectWithLoading/index.css +1 -1
  297. package/presets/useSelectWithLoading/index.module.css.js +1 -1
  298. package/src/components/base-checkmark/Component.tsx +26 -9
  299. package/src/components/base-checkmark/index.module.css +30 -1
  300. package/src/components/base-option/Component.tsx +17 -27
  301. package/src/components/base-option/index.module.css +0 -8
  302. package/src/components/checkmark/Component.tsx +3 -13
  303. package/src/components/checkmark/index.module.css +17 -9
  304. package/src/components/checkmark-mobile/Component.tsx +2 -2
  305. package/src/components/checkmark-mobile/index.module.css +8 -4
  306. package/src/components/field/Component.tsx +12 -26
  307. package/src/components/option/Component.tsx +14 -17
  308. package/src/mobile/Component.mobile.tsx +2 -0
  309. package/src/presets/useSelectWithApply/hook.ts +9 -1
  310. package/src/presets/useSelectWithApply/options-list-with-apply/header/Component.tsx +4 -0
  311. package/src/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +5 -1
  312. package/src/typings.ts +11 -0
  313. package/src/vars.css +3 -3
  314. package/typings.d.ts +9 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/checkmark/Component.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport cn from 'classnames';\n\nimport { Badge } from '@alfalab/core-components-badge';\nimport { Checkbox, type CheckboxProps } from '@alfalab/core-components-checkbox';\nimport { CheckmarkCircleMIcon } from '@alfalab/icons-glyph/CheckmarkCircleMIcon';\nimport CheckmarkMIcon from '@alfalab/icons-glyph/CheckmarkMIcon';\n\nimport { type CheckmarkProps } from '../../typings';\n\nimport styles from './index.module.css';\n\nexport const Checkmark = ({\n selected,\n disabled = false,\n className,\n multiple,\n position = 'before',\n}: CheckmarkProps) => {\n const single = !multiple;\n\n const checkmarkClassNames = cn(styles.checkmark, className, styles[position], {\n [styles.multiple]: !single,\n [styles.single]: single,\n [styles.selected]: selected,\n });\n\n const handleCheckboxClick = useCallback<Required<CheckboxProps>['onClick']>(\n (event) => event.stopPropagation(),\n [],\n );\n\n return single ? (\n <div className={checkmarkClassNames}>\n {position === 'before' ? (\n <Badge\n className={styles.after}\n view='icon'\n size='m'\n iconColor='positive'\n content={<CheckmarkCircleMIcon className={styles.colorIcon} />}\n />\n ) : (\n <CheckmarkMIcon className={cn(styles.displayIcon)} />\n )}\n </div>\n ) : (\n <Checkbox\n checked={selected}\n disabled={disabled}\n className={checkmarkClassNames}\n size={24}\n onClick={handleCheckboxClick}\n />\n );\n};\n"],"names":[],"mappings":";;;;;;;;MAYa,SAAS,GAAG,CAAC,EACtB,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,QAAQ,EACR,QAAQ,GAAG,QAAQ,GACN,KAAI;AACjB,IAAA,MAAM,MAAM,GAAG,CAAC,QAAQ;AAExB,IAAA,MAAM,mBAAmB,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;AAC1E,QAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM;AAC1B,QAAA,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;AACvB,QAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC9B,KAAA,CAAC;AAEF,IAAA,MAAM,mBAAmB,GAAG,WAAW,CACnC,CAAC,KAAK,KAAK,KAAK,CAAC,eAAe,EAAE,EAClC,EAAE,CACL;IAED,OAAO,MAAM,IACT,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,mBAAmB,EAAA,EAC9B,QAAQ,KAAK,QAAQ,IAClB,KAAC,CAAA,aAAA,CAAA,KAAK,EACF,EAAA,SAAS,EAAE,MAAM,CAAC,KAAK,EACvB,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,GAAG,EACR,SAAS,EAAC,UAAU,EACpB,OAAO,EAAE,KAAC,CAAA,aAAA,CAAA,oBAAoB,IAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAA,CAAI,GAChE,KAEF,oBAAC,cAAc,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAA,CAAI,CACxD,CACC,KAEN,oBAAC,QAAQ,EAAA,EACL,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,mBAAmB,EAC9B,IAAI,EAAE,EAAE,EACR,OAAO,EAAE,mBAAmB,EAC9B,CAAA,CACL;AACL;;;;"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/checkmark/Component.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport cn from 'classnames';\n\nimport { Checkbox, type CheckboxProps } from '@alfalab/core-components-checkbox';\nimport CheckmarkMIcon from '@alfalab/icons-glyph/CheckmarkMIcon';\n\nimport { type CheckmarkProps } from '../../typings';\n\nimport styles from './index.module.css';\n\nexport const Checkmark = ({\n selected,\n disabled = false,\n className,\n multiple,\n position = 'before',\n content,\n}: CheckmarkProps) => {\n const single = !multiple;\n\n const checkmarkClassNames = cn(styles.checkmark, className, styles[position], {\n [styles.multiple]: !single,\n [styles.single]: single,\n [styles.selected]: selected,\n });\n\n const handleCheckboxClick = useCallback<Required<CheckboxProps>['onClick']>(\n (event) => event.stopPropagation(),\n [],\n );\n\n return single ? (\n <div className={checkmarkClassNames}>\n <CheckmarkMIcon className={cn(styles.displayIcon)} />\n </div>\n ) : (\n <Checkbox\n checked={selected}\n disabled={disabled}\n className={checkmarkClassNames}\n size={24}\n label={content}\n onClick={handleCheckboxClick}\n />\n );\n};\n"],"names":[],"mappings":";;;;;;MAUa,SAAS,GAAG,CAAC,EACtB,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,QAAQ,EACR,QAAQ,GAAG,QAAQ,EACnB,OAAO,GACM,KAAI;AACjB,IAAA,MAAM,MAAM,GAAG,CAAC,QAAQ;AAExB,IAAA,MAAM,mBAAmB,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;AAC1E,QAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM;AAC1B,QAAA,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;AACvB,QAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC9B,KAAA,CAAC;AAEF,IAAA,MAAM,mBAAmB,GAAG,WAAW,CACnC,CAAC,KAAK,KAAK,KAAK,CAAC,eAAe,EAAE,EAClC,EAAE,CACL;IAED,OAAO,MAAM,IACT,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,mBAAmB,EAAA;QAC/B,KAAC,CAAA,aAAA,CAAA,cAAc,IAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAI,CACnD,KAEN,KAAC,CAAA,aAAA,CAAA,QAAQ,IACL,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,mBAAmB,EAC9B,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,mBAAmB,EAC9B,CAAA,CACL;AACL;;;;"}
@@ -1,64 +1,56 @@
1
1
  :root {
2
- --color-light-neutral-translucent-1300: rgba(3, 3, 6, 0.88);
3
2
  --color-light-status-positive: #0cc44d;
4
3
  }
5
4
  :root {
6
- --border-radius-circle: 50%;
7
- }
8
- :root {
9
- --gap-xs: 8px;
10
5
  --gap-s: 12px;
11
- --gap-0: 0px;
12
- --gap-8: var(--gap-xs);
13
6
  --gap-12: var(--gap-s);
14
7
  }
15
8
  :root {
16
-
17
- --select-checkmark-margin: var(--gap-0) var(--gap-8) var(--gap-0) var(--gap-0);
18
- --select-checkmark-margin-after: var(--select-checkmark-margin);
19
- --select-checkmark-size: 4px;
20
- --select-checkmark-before-display: 'flex';
9
+ --select-checkmark-size: 24px;
10
+ --select-checkmark-before-display: flex;
21
11
  --select-checkmark-after-display: none;
22
12
  --select-checkmark-before-display-multiple: block;
23
- --select-checkmark-after-display-single: none;
13
+ --select-checkmark-after-display-single: flex;
24
14
  --select-checkmark-unselected-opacity: 0;
25
- --select-checkmark-background: var(--color-light-neutral-translucent-1300);
26
- --select-checkmark-border-radius: var(--border-radius-circle);
27
15
  }
28
- .select__checkmark_9wypm {
16
+ .select__checkmark_1195e {
29
17
  flex-shrink: 0;
30
- margin: var(--select-checkmark-margin);
31
18
  }
32
- .select__checkmark_9wypm.select__after_9wypm {
33
- margin: var(--select-checkmark-margin-after);
19
+ .select__checkmark_1195e.select__before_1195e {
20
+ display: var(--select-checkmark-before-display);
21
+ }
22
+ .select__checkmark_1195e.select__after_1195e {
23
+ display: var(--select-checkmark-after-display);
34
24
  }
35
- .select__single_9wypm {
25
+ .select__single_1195e {
36
26
  display: flex;
37
27
  align-items: center;
38
28
  justify-content: center;
39
29
  opacity: var(--select-checkmark-unselected-opacity);
40
- background: var(--select-checkmark-background);
41
- background-size: cover;
42
- border-radius: var(--select-checkmark-border-radius);
43
30
  width: var(--select-checkmark-size);
44
31
  height: var(--select-checkmark-size);
45
32
  }
46
- .select__single_9wypm.select__selected_9wypm {
33
+ .select__single_1195e.select__selected_1195e {
47
34
  opacity: 1;
48
35
  }
49
- .select__before_9wypm {
50
- display: var(--select-checkmark-before-display);
51
- }
52
- .select__before_9wypm.select__multiple_9wypm {
36
+ .select__multiple_1195e.select__before_1195e {
53
37
  margin-right: var(--gap-12);
54
38
  display: var(--select-checkmark-before-display-multiple);
55
39
  }
56
- .select__after_9wypm.select__after_9wypm {
40
+ .select__multiple_1195e.select__after_1195e {
41
+ margin-left: var(--gap-12);
42
+ }
43
+ .select__after_1195e.select__after_1195e {
57
44
  display: var(--select-checkmark-after-display);
58
45
  }
59
- .select__after_9wypm.select__after_9wypm.select__single_9wypm {
46
+ .select__after_1195e.select__after_1195e.select__single_1195e {
60
47
  display: var(--select-checkmark-after-display-single);
61
48
  }
62
- .select__colorIcon_9wypm {
49
+ .select__colorIcon_1195e {
63
50
  color: var(--color-light-status-positive);
64
51
  }
52
+ .select__displayIcon_1195e {
53
+ display: block;
54
+ width: 100%;
55
+ height: 100%;
56
+ }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"checkmark":"select__checkmark_9wypm","after":"select__after_9wypm","single":"select__single_9wypm","selected":"select__selected_9wypm","before":"select__before_9wypm","multiple":"select__multiple_9wypm","colorIcon":"select__colorIcon_9wypm"};
3
+ const styles = {"checkmark":"select__checkmark_1195e","before":"select__before_1195e","after":"select__after_1195e","single":"select__single_1195e","selected":"select__selected_1195e","multiple":"select__multiple_1195e","colorIcon":"select__colorIcon_1195e","displayIcon":"select__displayIcon_1195e"};
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 margin: var(--select-checkmark-margin);\n\n &.after {\n margin: var(--select-checkmark-margin-after);\n }\n}\n\n.single {\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: var(--select-checkmark-unselected-opacity);\n background: var(--select-checkmark-background);\n background-size: cover;\n border-radius: var(--select-checkmark-border-radius);\n width: var(--select-checkmark-size);\n height: var(--select-checkmark-size);\n\n &.selected {\n opacity: 1;\n }\n}\n\n.before {\n display: var(--select-checkmark-before-display);\n\n &.multiple {\n margin-right: var(--gap-12);\n display: var(--select-checkmark-before-display-multiple);\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"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,WAAW,CAAC,yBAAyB,CAAC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,wBAAwB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,wBAAwB,CAAC,WAAW,CAAC,yBAAyB,CAAC;;;;"}
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,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { type CheckmarkProps } from '../../typings';
3
- export declare const Checkmark: ({ selected, className }: CheckmarkProps) => React.JSX.Element;
3
+ export declare const Checkmark: ({ selected, className, position }: CheckmarkProps) => React.JSX.Element;
@@ -3,7 +3,7 @@ import cn from 'classnames';
3
3
  import { CheckmarkMIcon } from '@alfalab/icons-glyph/CheckmarkMIcon';
4
4
  import styles from './index.module.css.js';
5
5
 
6
- const Checkmark = ({ selected, className }) => (React.createElement("div", { className: cn(styles.checkmark, className, {
6
+ const Checkmark = ({ selected, className, position = 'after' }) => (React.createElement("div", { className: cn(styles.checkmark, className, styles[position], {
7
7
  [styles.selected]: selected,
8
8
  }) },
9
9
  React.createElement(CheckmarkMIcon, { className: styles.displayIcon })));
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/checkmark-mobile/Component.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport { CheckmarkMIcon } from '@alfalab/icons-glyph/CheckmarkMIcon';\n\nimport { type CheckmarkProps } from '../../typings';\n\nimport styles from './index.module.css';\n\nexport const Checkmark = ({ selected, className }: CheckmarkProps) => (\n <div\n className={cn(styles.checkmark, className, {\n [styles.selected]: selected,\n })}\n >\n <CheckmarkMIcon className={styles.displayIcon} />\n </div>\n);\n"],"names":[],"mappings":";;;;;AASa,MAAA,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAkB,MAC7D,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE;AACvC,QAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;KAC9B,CAAC,EAAA;IAEF,KAAC,CAAA,aAAA,CAAA,cAAc,EAAC,EAAA,SAAS,EAAE,MAAM,CAAC,WAAW,EAAA,CAAI,CAC/C;;;;"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/checkmark-mobile/Component.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport { CheckmarkMIcon } from '@alfalab/icons-glyph/CheckmarkMIcon';\n\nimport { type CheckmarkProps } from '../../typings';\n\nimport styles from './index.module.css';\n\nexport const Checkmark = ({ selected, className, position = 'after' }: CheckmarkProps) => (\n <div\n className={cn(styles.checkmark, className, styles[position], {\n [styles.selected]: selected,\n })}\n >\n <CheckmarkMIcon className={styles.displayIcon} />\n </div>\n);\n"],"names":[],"mappings":";;;;;AASO,MAAM,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAAG,OAAO,EAAkB,MACjF,KACI,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;AACzD,QAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;KAC9B,CAAC,EAAA;IAEF,KAAC,CAAA,aAAA,CAAA,cAAc,EAAC,EAAA,SAAS,EAAE,MAAM,CAAC,WAAW,EAAA,CAAI,CAC/C;;;;"}
@@ -1,8 +1,12 @@
1
+ :root {
2
+ --gap-xs: 8px;
3
+ --gap-8: var(--gap-xs);
4
+ }
1
5
  :root {
2
6
  --select-mobile-checkmark-display-icon: block;
3
7
  --select-mobile-checkmark-display-badge: none;
4
8
  }
5
- .select__checkmark_2nxmj {
9
+ .select__checkmark_zsmr7 {
6
10
  flex-shrink: 0;
7
11
  display: flex;
8
12
  align-items: center;
@@ -11,15 +15,18 @@
11
15
  height: 24px;
12
16
  opacity: 0;
13
17
  }
14
- .select__checkmark_2nxmj:first-child {
15
- display: none;
16
- }
17
- .select__checkmark_2nxmj.select__selected_2nxmj {
18
+ .select__checkmark_zsmr7.select__selected_zsmr7 {
18
19
  opacity: 1;
19
20
  }
20
- .select__displayIcon_2nxmj {
21
+ .select__checkmark_zsmr7.select__before_zsmr7 {
22
+ margin-right: var(--gap-8);
23
+ }
24
+ .select__checkmark_zsmr7.select__after_zsmr7 {
25
+ margin-left: var(--gap-8);
26
+ }
27
+ .select__displayIcon_zsmr7 {
21
28
  display: var(--select-mobile-checkmark-display-icon);
22
29
  }
23
- .select__displayBadge_2nxmj {
30
+ .select__displayBadge_zsmr7 {
24
31
  display: var(--select-mobile-checkmark-display-badge);
25
32
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"checkmark":"select__checkmark_2nxmj","selected":"select__selected_2nxmj","displayIcon":"select__displayIcon_2nxmj"};
3
+ const styles = {"checkmark":"select__checkmark_zsmr7","selected":"select__selected_zsmr7","before":"select__before_zsmr7","after":"select__after_zsmr7","displayIcon":"select__displayIcon_zsmr7","displayBadge":"select__displayBadge_zsmr7"};
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 &:first-child {\n display: none;\n }\n\n &.selected {\n opacity: 1;\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,aAAa,CAAC,2BAAuE,CAAC;;;;"}
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;;;;"}
@@ -6,16 +6,16 @@
6
6
  :root {
7
7
  --input-error-icon-display: none;
8
8
  }
9
- .select__clearIcon_im64r {
9
+ .select__clearIcon_1m06p {
10
10
  display: block;
11
11
  color: var(--color-light-neutral-translucent-500);
12
12
  }
13
- .select__clearIcon_im64r:hover {
13
+ .select__clearIcon_1m06p:hover {
14
14
  color: var(--color-light-neutral-translucent-500-hover);
15
15
  }
16
- .select__clearIcon_im64r:active {
16
+ .select__clearIcon_1m06p:active {
17
17
  color: var(--color-light-neutral-translucent-500-press);
18
18
  }
19
- .select__clearButton_im64r + [data-addon='error-icon'] {
19
+ .select__clearButton_1m06p + [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_im64r","clearButton":"select__clearButton_im64r"};
3
+ const styles = {"clearIcon":"select__clearIcon_1m06p","clearButton":"select__clearButton_1m06p"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1,6 +1,6 @@
1
- import React, { useState, useRef, useCallback } from 'react';
1
+ import React, { useState, useRef, useCallback, Fragment } from 'react';
2
2
  import cn from 'classnames';
3
- import { getAddonsByPriority, LockIcon } from '@alfalab/core-components-input/modern/shared';
3
+ import { LockIcon } from '@alfalab/core-components-input/modern/shared';
4
4
  import { getDataTestId } from '@alfalab/core-components-shared/modern';
5
5
  import { useFocus } from '@alfalab/hooks';
6
6
  import { joinOptions } from '../../utils.js';
@@ -27,32 +27,15 @@ const Field = ({ size = 56, open, multiple, error, hint, disabled, label, labelV
27
27
  * [1] - Indicators (eye, calendar, chevron, stepper e.g.)
28
28
  * [0] - Lock
29
29
  */
30
- const rightAddonsMap = getAddonsByPriority([
31
- {
32
- priority: 4,
33
- predicate: clear && filled && !disabled,
34
- render: () => (React.createElement(ClearButton, { onClick: onClear, disabled: disabled, dataTestId: getDataTestId(dataTestId, 'clear-icon'), size: size })),
35
- },
36
- {
37
- priority: 2,
38
- predicate: Boolean(rightAddons),
39
- render: () => rightAddons,
40
- },
41
- {
42
- priority: 1,
43
- predicate: Boolean(Arrow) && !disabled,
44
- render: () => Arrow && React.cloneElement(Arrow, { className: styles.arrow }),
45
- },
46
- {
47
- priority: 0,
48
- predicate: disabled,
49
- render: () => React.createElement(LockIcon, { colors: colors, size: size }),
50
- },
51
- ]);
30
+ const renderRightAddons = () => (React.createElement(Fragment, null,
31
+ clear && filled && !disabled && (React.createElement(ClearButton, { onClick: onClear, disabled: disabled, dataTestId: getDataTestId(dataTestId, 'clear-icon'), size: size })),
32
+ rightAddons,
33
+ !disabled && Arrow && React.cloneElement(Arrow, { className: styles.arrow }),
34
+ disabled && React.createElement(LockIcon, { colors: colors, size: size })));
52
35
  return (React.createElement("div", { className: styles.component, ref: wrapperRef, onFocus: handleFocus, onBlur: handleBlur }, FormControlComponent ? (React.createElement(FormControlComponent, { dataTestId: getDataTestId(dataTestId, 'form-control'), fieldClassName: cn(styles.field, fieldClassName, {
53
36
  [styles.disabled]: disabled,
54
37
  [styles.focusVisible]: focusVisible,
55
- }), block: true, size: size, focused: focused || open, disabled: disabled, filled: filled || (!!placeholder && open), label: showLabel && label, labelView: labelView, error: error, hint: hint, rightAddons: rightAddonsMap, "data-test-id": dataTestId, ...restProps, ...innerProps },
38
+ }), block: true, size: size, focused: focused || open, disabled: disabled, filled: filled || (!!placeholder && open), label: showLabel && label, labelView: labelView, error: error, hint: hint, rightAddons: renderRightAddons(), "data-test-id": dataTestId, ...restProps, ...innerProps },
56
39
  React.createElement("div", { className: cn(styles.contentWrapper, styles[`size-${size}`]) },
57
40
  showPlaceholder && (React.createElement("span", { className: cn(styles.placeholder, {
58
41
  [styles.focused]: focused || open,
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/field/Component.tsx"],"sourcesContent":["import React, { type ElementType, useCallback, useRef, useState } from 'react';\nimport cn from 'classnames';\n\nimport { type FormControlProps } from '@alfalab/core-components-form-control';\nimport { getAddonsByPriority, LockIcon } from '@alfalab/core-components-input/shared';\nimport { getDataTestId } from '@alfalab/core-components-shared';\nimport { useFocus } from '@alfalab/hooks';\n\nimport { type FieldProps as BaseFieldProps } from '../../typings';\nimport { joinOptions } from '../../utils';\nimport { ClearButton } from '../clear-button';\n\nimport styles from './index.module.css';\n\ntype FieldProps = {\n /**\n * Компонент FormControl\n */\n FormControlComponent?: ElementType;\n};\n\n// eslint-disable-next-line complexity\nexport const Field = ({\n size = 56,\n open,\n multiple,\n error,\n hint,\n disabled,\n label,\n labelView = 'inner',\n placeholder,\n selectedMultiple = [],\n selected,\n rightAddons,\n valueRenderer = joinOptions,\n setSelectedItems,\n toggleMenu,\n Arrow,\n innerProps,\n dataTestId,\n fieldClassName,\n FormControlComponent,\n clear,\n onClear,\n valueSeparator,\n ...restProps\n}: BaseFieldProps & FormControlProps & FieldProps) => {\n const { colors = 'default' } = restProps;\n const [focused, setFocused] = useState(false);\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const [focusVisible] = useFocus(wrapperRef, 'keyboard');\n\n const handleFocus = useCallback(() => setFocused(true), []);\n const handleBlur = useCallback(() => setFocused(false), []);\n\n const value = valueRenderer({ selected, selectedMultiple, valueSeparator });\n\n const filled = Boolean(value);\n const showLabel = !!label || labelView === 'outer';\n const showPlaceholder = !!placeholder && !filled && (open || !label || labelView === 'outer');\n\n /**\n * Right addons priority [4] <= [3] <= [2] <= [1] or [0]\n * [4] - Clear\n * [3] - Status (error, success)\n * [2] - Common (info, e.g.)\n * [1] - Indicators (eye, calendar, chevron, stepper e.g.)\n * [0] - Lock\n */\n const rightAddonsMap = getAddonsByPriority([\n {\n priority: 4,\n predicate: clear && filled && !disabled,\n render: () => (\n <ClearButton\n onClick={onClear}\n disabled={disabled}\n dataTestId={getDataTestId(dataTestId, 'clear-icon')}\n size={size}\n />\n ),\n },\n {\n priority: 2,\n predicate: Boolean(rightAddons),\n render: () => rightAddons,\n },\n {\n priority: 1,\n predicate: Boolean(Arrow) && !disabled,\n render: () => Arrow && React.cloneElement(Arrow, { className: styles.arrow }),\n },\n {\n priority: 0,\n predicate: disabled,\n render: () => <LockIcon colors={colors} size={size} />,\n },\n ]);\n\n return (\n <div\n className={styles.component}\n ref={wrapperRef}\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n {FormControlComponent ? (\n <FormControlComponent\n dataTestId={getDataTestId(dataTestId, 'form-control')}\n fieldClassName={cn(styles.field, fieldClassName, {\n [styles.disabled]: disabled,\n [styles.focusVisible]: focusVisible,\n })}\n block={true}\n size={size}\n focused={focused || open}\n disabled={disabled}\n filled={filled || (!!placeholder && open)}\n label={showLabel && label}\n labelView={labelView}\n error={error}\n hint={hint}\n rightAddons={rightAddonsMap}\n data-test-id={dataTestId}\n {...restProps}\n {...innerProps}\n >\n <div className={cn(styles.contentWrapper, styles[`size-${size}`])}>\n {showPlaceholder && (\n <span\n className={cn(styles.placeholder, {\n [styles.focused]: focused || open,\n })}\n >\n {placeholder}\n </span>\n )}\n {filled && (\n <div className={cn(styles.value, styles[`size-${size}`])}>{value}</div>\n )}\n </div>\n </FormControlComponent>\n ) : null}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/field/Component.tsx"],"sourcesContent":["import React, { type ElementType, Fragment, useCallback, useRef, useState } from 'react';\nimport cn from 'classnames';\n\nimport { type FormControlProps } from '@alfalab/core-components-form-control';\nimport { LockIcon } from '@alfalab/core-components-input/shared';\nimport { getDataTestId } from '@alfalab/core-components-shared';\nimport { useFocus } from '@alfalab/hooks';\n\nimport { type FieldProps as BaseFieldProps } from '../../typings';\nimport { joinOptions } from '../../utils';\nimport { ClearButton } from '../clear-button';\n\nimport styles from './index.module.css';\n\ntype FieldProps = {\n /**\n * Компонент FormControl\n */\n FormControlComponent?: ElementType;\n};\n\n// eslint-disable-next-line complexity\nexport const Field = ({\n size = 56,\n open,\n multiple,\n error,\n hint,\n disabled,\n label,\n labelView = 'inner',\n placeholder,\n selectedMultiple = [],\n selected,\n rightAddons,\n valueRenderer = joinOptions,\n setSelectedItems,\n toggleMenu,\n Arrow,\n innerProps,\n dataTestId,\n fieldClassName,\n FormControlComponent,\n clear,\n onClear,\n valueSeparator,\n ...restProps\n}: BaseFieldProps & FormControlProps & FieldProps) => {\n const { colors = 'default' } = restProps;\n const [focused, setFocused] = useState(false);\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const [focusVisible] = useFocus(wrapperRef, 'keyboard');\n\n const handleFocus = useCallback(() => setFocused(true), []);\n const handleBlur = useCallback(() => setFocused(false), []);\n\n const value = valueRenderer({ selected, selectedMultiple, valueSeparator });\n\n const filled = Boolean(value);\n const showLabel = !!label || labelView === 'outer';\n const showPlaceholder = !!placeholder && !filled && (open || !label || labelView === 'outer');\n\n /**\n * Right addons priority [4] <= [3] <= [2] <= [1] or [0]\n * [4] - Clear\n * [3] - Status (error, success)\n * [2] - Common (info, e.g.)\n * [1] - Indicators (eye, calendar, chevron, stepper e.g.)\n * [0] - Lock\n */\n const renderRightAddons = () => (\n <Fragment>\n {clear && filled && !disabled && (\n <ClearButton\n onClick={onClear}\n disabled={disabled}\n dataTestId={getDataTestId(dataTestId, 'clear-icon')}\n size={size}\n />\n )}\n {rightAddons}\n {!disabled && Arrow && React.cloneElement(Arrow, { className: styles.arrow })}\n {disabled && <LockIcon colors={colors} size={size} />}\n </Fragment>\n );\n\n return (\n <div\n className={styles.component}\n ref={wrapperRef}\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n {FormControlComponent ? (\n <FormControlComponent\n dataTestId={getDataTestId(dataTestId, 'form-control')}\n fieldClassName={cn(styles.field, fieldClassName, {\n [styles.disabled]: disabled,\n [styles.focusVisible]: focusVisible,\n })}\n block={true}\n size={size}\n focused={focused || open}\n disabled={disabled}\n filled={filled || (!!placeholder && open)}\n label={showLabel && label}\n labelView={labelView}\n error={error}\n hint={hint}\n rightAddons={renderRightAddons()}\n data-test-id={dataTestId}\n {...restProps}\n {...innerProps}\n >\n <div className={cn(styles.contentWrapper, styles[`size-${size}`])}>\n {showPlaceholder && (\n <span\n className={cn(styles.placeholder, {\n [styles.focused]: focused || open,\n })}\n >\n {placeholder}\n </span>\n )}\n {filled && (\n <div className={cn(styles.value, styles[`size-${size}`])}>{value}</div>\n )}\n </div>\n </FormControlComponent>\n ) : null}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -4,8 +4,9 @@
4
4
  --color-light-text-tertiary: rgba(5, 8, 29, 0.38);
5
5
  }
6
6
  :root {
7
- --font-family-system:
8
- system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
7
+ --font-family-alfasans:
8
+ 'Alfa Interface Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
9
+ Helvetica, sans-serif;
9
10
  }
10
11
  :root {
11
12
  --focus-color: var(--color-light-status-info);
@@ -18,60 +19,63 @@
18
19
  :root {
19
20
  --select-arrow-hover-opacity: 0.7;
20
21
  }
21
- .select__component_1nqtr {
22
+ .select__component_199ao {
22
23
  width: 100%;
23
24
  outline: none;
24
25
  }
25
- .select__field_1nqtr:not(.select__disabled_1nqtr) {
26
+ .select__field_199ao:not(.select__disabled_199ao) {
26
27
  cursor: pointer;
27
28
  }
28
- .select__field_1nqtr:not(.select__disabled_1nqtr):hover .select__arrow_1nqtr {
29
+ .select__field_199ao:not(.select__disabled_199ao):hover .select__arrow_199ao {
29
30
  opacity: var(--select-arrow-hover-opacity);
30
31
  }
31
- .select__disabled_1nqtr {
32
+ .select__disabled_199ao {
32
33
  cursor: var(--disabled-cursor);
33
34
  }
34
- .select__placeholder_1nqtr {
35
+ .select__placeholder_199ao {
35
36
  color: var(--input-placeholder-color);
36
37
  transition: color 0.2s ease;
37
- animation: select__show-placeholder_1nqtr 0.2s ease;
38
+ animation: select__show-placeholder_199ao 0.2s ease;
38
39
  }
39
- .select__placeholder_1nqtr.select__focused_1nqtr {
40
+ .select__placeholder_199ao.select__focused_199ao {
40
41
  color: var(--input-focus-placeholder-color);
41
42
  }
42
- .select__contentWrapper_1nqtr {
43
+ .select__contentWrapper_199ao {
43
44
  font-size: 16px;
44
45
  line-height: 20px;
45
46
  font-weight: 400;
46
- font-family: var(--font-family-system);
47
+ letter-spacing: -0.24px;
48
+ font-family: var(--font-family-alfasans);
47
49
 
48
50
  white-space: nowrap;
49
51
  text-overflow: ellipsis;
50
52
  overflow: hidden;
51
53
  width: 100%;
52
54
  }
53
- .select__contentWrapper_1nqtr.select__size-40_1nqtr {
55
+ .select__contentWrapper_199ao.select__size-40_199ao {
54
56
  font-size: 14px;
55
57
  line-height: 18px;
56
58
  font-weight: 400;
57
- font-family: var(--font-family-system);
59
+ letter-spacing: -0.08px;
60
+ font-family: var(--font-family-alfasans);
58
61
  }
59
- .select__value_1nqtr {
62
+ .select__value_199ao {
60
63
  overflow: hidden;
61
64
  text-overflow: ellipsis;
62
65
  text-align: left;
63
66
  }
64
- .select__value_1nqtr.select__size-40_1nqtr {
67
+ .select__value_199ao.select__size-40_199ao {
65
68
  font-size: 14px;
66
69
  line-height: 18px;
67
70
  font-weight: 400;
68
- font-family: var(--font-family-system);
71
+ letter-spacing: -0.08px;
72
+ font-family: var(--font-family-alfasans);
69
73
  }
70
- .select__focusVisible_1nqtr {
74
+ .select__focusVisible_199ao {
71
75
  outline: 2px solid var(--focus-color);
72
76
  outline-offset: 2px;
73
77
  }
74
- @keyframes select__show-placeholder_1nqtr {
78
+ @keyframes select__show-placeholder_199ao {
75
79
  from {
76
80
  opacity: 0;
77
81
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"component":"select__component_1nqtr","field":"select__field_1nqtr","disabled":"select__disabled_1nqtr","arrow":"select__arrow_1nqtr","placeholder":"select__placeholder_1nqtr","show-placeholder":"select__show-placeholder_1nqtr","focused":"select__focused_1nqtr","contentWrapper":"select__contentWrapper_1nqtr","size-40":"select__size-40_1nqtr","value":"select__value_1nqtr","focusVisible":"select__focusVisible_1nqtr"};
3
+ const styles = {"component":"select__component_199ao","field":"select__field_199ao","disabled":"select__disabled_199ao","arrow":"select__arrow_199ao","placeholder":"select__placeholder_199ao","show-placeholder":"select__show-placeholder_199ao","focused":"select__focused_199ao","contentWrapper":"select__contentWrapper_199ao","size-40":"select__size-40_199ao","value":"select__value_199ao","focusVisible":"select__focusVisible_199ao"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -6,20 +6,20 @@
6
6
  --gap-m: 16px;
7
7
  --gap-16: var(--gap-m);
8
8
  }
9
- .select__footer_17e98 {
9
+ .select__footer_bmrs0 {
10
10
  display: flex;
11
11
  box-sizing: border-box;
12
12
  width: 100%;
13
13
  padding: var(--gap-16) var(--gap-16);
14
14
  background-color: var(--color-light-modal-bg-primary);
15
15
  }
16
- .select__footer_17e98 .select__button_17e98:first-of-type {
16
+ .select__footer_bmrs0 .select__button_bmrs0:first-of-type {
17
17
  margin-right: var(--gap-16);
18
18
  }
19
- .select__button_17e98 {
19
+ .select__button_bmrs0 {
20
20
  width: 50%;
21
21
  }
22
- .select__highlighted_17e98 {
22
+ .select__highlighted_bmrs0 {
23
23
  border-top: 1px solid var(--color-light-neutral-300);
24
24
  background-color: var(--color-light-modal-bg-primary);
25
25
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"footer":"select__footer_17e98","button":"select__button_17e98","highlighted":"select__highlighted_17e98"};
3
+ const styles = {"footer":"select__footer_bmrs0","button":"select__button_bmrs0","highlighted":"select__highlighted_bmrs0"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -11,8 +11,9 @@
11
11
  --gap-16: var(--gap-m);
12
12
  }
13
13
  :root {
14
- --font-family-system:
15
- system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
14
+ --font-family-alfasans:
15
+ 'Alfa Interface Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
16
+ Helvetica, sans-serif;
16
17
  }
17
18
  :root {
18
19
 
@@ -23,7 +24,7 @@
23
24
  --select-optgroup-l-left-padding: var(--gap-16);
24
25
  --select-optgroup-l-right-padding: var(--gap-16);
25
26
  }
26
- .select__optgroup_qgnlg {
27
+ .select__optgroup_11j5l {
27
28
  position: relative;
28
29
  display: flex;
29
30
  align-items: center;
@@ -33,21 +34,21 @@
33
34
  background: var(--select-optgroup-background);
34
35
  min-height: 40px;
35
36
  }
36
- .select__optgroup_qgnlg + *[role='option']:before {
37
+ .select__optgroup_11j5l + *[role='option']:before {
37
38
  display: none;
38
39
  }
39
- .select__label_qgnlg {
40
+ .select__label_11j5l {
40
41
  font-size: 12px;
41
42
  line-height: 16px;
42
43
  font-weight: 400;
43
44
  letter-spacing: 1.25px;
44
45
  text-transform: uppercase;
45
- font-family: var(--font-family-system);
46
+ font-family: var(--font-family-alfasans);
46
47
 
47
48
  display: block;
48
49
  color: var(--select-optgroup-color);
49
50
  }
50
- .select__size-72_qgnlg {
51
+ .select__size-72_11j5l {
51
52
  padding-left: var(--select-optgroup-l-left-padding);
52
53
  padding-right: var(--select-optgroup-l-right-padding);
53
54
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"optgroup":"select__optgroup_qgnlg","label":"select__label_qgnlg","size-72":"select__size-72_qgnlg"};
3
+ const styles = {"optgroup":"select__optgroup_11j5l","label":"select__label_11j5l","size-72":"select__size-72_11j5l"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1,19 +1,21 @@
1
1
  import React, { isValidElement } from 'react';
2
2
  import cn from 'classnames';
3
3
 
4
- const OptionBase = ({ size = 48, className, option, children, selected, highlighted, disabled, multiple, mobile, Checkmark, innerProps, dataTestId, styles, }) => {
4
+ const OptionBase = ({ size = 48, className, option, children, selected, highlighted, disabled, multiple, mobile, Checkmark, checkmarkPosition = multiple ? 'before' : 'after', innerProps, dataTestId, styles, }) => {
5
5
  const content = children || option.content || option.key;
6
6
  const { showCheckMark = true } = option;
7
+ const renderCheckmark = (position) => Checkmark &&
8
+ showCheckMark && (React.createElement(Checkmark, { disabled: disabled, selected: selected, multiple: multiple, position: position }));
7
9
  return (React.createElement("div", { ...innerProps, className: cn(styles.option, styles[`size-${size}`], className, {
8
10
  [styles.highlighted]: !mobile && highlighted,
9
11
  [styles.selected]: selected,
10
12
  [styles.disabled]: disabled,
11
13
  }), "data-test-id": dataTestId },
12
- Checkmark && showCheckMark && (React.createElement(Checkmark, { disabled: disabled, selected: selected, multiple: multiple, position: 'before' })),
14
+ checkmarkPosition === 'before' && renderCheckmark('before'),
13
15
  React.createElement("div", { className: cn(styles.content, {
14
16
  [styles.textContent]: !isValidElement(content),
15
17
  }) }, content),
16
- Checkmark && showCheckMark && (React.createElement(Checkmark, { disabled: disabled, selected: selected, multiple: multiple, position: 'after' }))));
18
+ checkmarkPosition === 'after' && renderCheckmark('after')));
17
19
  };
18
20
 
19
21
  export { OptionBase };
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/option/Component.tsx"],"sourcesContent":["import React, { type FC, isValidElement } from 'react';\nimport cn from 'classnames';\n\nimport { type OptionCommonProps } from '../../typings';\n\nimport type stylesDesktop from './desktop/index.module.css';\nimport type stylesMobile from './mobile/index.module.css';\n\ntype OptionPrivateProps = {\n /**\n * Мобильная версия option.\n */\n mobile: boolean;\n /**\n * Стили\n */\n styles: typeof stylesDesktop | typeof stylesMobile;\n};\n\nexport const OptionBase: FC<OptionCommonProps & OptionPrivateProps> = ({\n size = 48,\n className,\n option,\n children,\n selected,\n highlighted,\n disabled,\n multiple,\n mobile,\n Checkmark,\n innerProps,\n dataTestId,\n styles,\n}) => {\n const content = children || option.content || option.key;\n const { showCheckMark = true } = option;\n\n return (\n <div\n {...innerProps}\n className={cn(styles.option, styles[`size-${size}`], className, {\n [styles.highlighted]: !mobile && highlighted,\n [styles.selected]: selected,\n [styles.disabled]: disabled,\n })}\n data-test-id={dataTestId}\n >\n {Checkmark && showCheckMark && (\n <Checkmark\n disabled={disabled}\n selected={selected}\n multiple={multiple}\n position='before'\n />\n )}\n\n <div\n className={cn(styles.content, {\n [styles.textContent]: !isValidElement(content),\n })}\n >\n {content}\n </div>\n\n {/** Workaround чтобы для клика показывать отметку справа и всегда в виде иконки */}\n {Checkmark && showCheckMark && (\n <Checkmark\n disabled={disabled}\n selected={selected}\n multiple={multiple}\n position='after'\n />\n )}\n </div>\n );\n};\n"],"names":[],"mappings":";;;AAmBO,MAAM,UAAU,GAA+C,CAAC,EACnE,IAAI,GAAG,EAAE,EACT,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,SAAS,EACT,UAAU,EACV,UAAU,EACV,MAAM,GACT,KAAI;IACD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG;AACxD,IAAA,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,MAAM;IAEvC,QACI,gCACQ,UAAU,EACd,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAQ,KAAA,EAAA,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE;YAC5D,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,MAAM,IAAI,WAAW;AAC5C,YAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC3B,YAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC9B,SAAA,CAAC,kBACY,UAAU,EAAA;QAEvB,SAAS,IAAI,aAAa,KACvB,oBAAC,SAAS,EAAA,EACN,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAC,QAAQ,EAAA,CACnB,CACL;AAED,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC1B,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC;aACjD,CAAC,EAAA,EAED,OAAO,CACN;QAGL,SAAS,IAAI,aAAa,KACvB,KAAA,CAAA,aAAA,CAAC,SAAS,EAAA,EACN,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAC,OAAO,EAClB,CAAA,CACL,CACC;AAEd;;;;"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/option/Component.tsx"],"sourcesContent":["import React, { type FC, isValidElement } from 'react';\nimport cn from 'classnames';\n\nimport { type OptionCommonProps } from '../../typings';\n\nimport type stylesDesktop from './desktop/index.module.css';\nimport type stylesMobile from './mobile/index.module.css';\n\ntype OptionPrivateProps = {\n /**\n * Мобильная версия option.\n */\n mobile: boolean;\n /**\n * Стили\n */\n styles: typeof stylesDesktop | typeof stylesMobile;\n};\n\nexport const OptionBase: FC<OptionCommonProps & OptionPrivateProps> = ({\n size = 48,\n className,\n option,\n children,\n selected,\n highlighted,\n disabled,\n multiple,\n mobile,\n Checkmark,\n checkmarkPosition = multiple ? 'before' : 'after',\n innerProps,\n dataTestId,\n styles,\n}) => {\n const content = children || option.content || option.key;\n const { showCheckMark = true } = option;\n\n const renderCheckmark = (position: 'before' | 'after') =>\n Checkmark &&\n showCheckMark && (\n <Checkmark\n disabled={disabled}\n selected={selected}\n multiple={multiple}\n position={position}\n />\n );\n\n return (\n <div\n {...innerProps}\n className={cn(styles.option, styles[`size-${size}`], className, {\n [styles.highlighted]: !mobile && highlighted,\n [styles.selected]: selected,\n [styles.disabled]: disabled,\n })}\n data-test-id={dataTestId}\n >\n {checkmarkPosition === 'before' && renderCheckmark('before')}\n\n <div\n className={cn(styles.content, {\n [styles.textContent]: !isValidElement(content),\n })}\n >\n {content}\n </div>\n\n {checkmarkPosition === 'after' && renderCheckmark('after')}\n </div>\n );\n};\n"],"names":[],"mappings":";;;MAmBa,UAAU,GAA+C,CAAC,EACnE,IAAI,GAAG,EAAE,EACT,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,SAAS,EACT,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,EACjD,UAAU,EACV,UAAU,EACV,MAAM,GACT,KAAI;IACD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG;AACxD,IAAA,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,MAAM;AAEvC,IAAA,MAAM,eAAe,GAAG,CAAC,QAA4B,KACjD,SAAS;QACT,aAAa,KACT,KAAC,CAAA,aAAA,CAAA,SAAS,IACN,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EACpB,CAAA,CACL;IAEL,QACI,gCACQ,UAAU,EACd,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAQ,KAAA,EAAA,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE;YAC5D,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,MAAM,IAAI,WAAW;AAC5C,YAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC3B,YAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC9B,SAAA,CAAC,kBACY,UAAU,EAAA;AAEvB,QAAA,iBAAiB,KAAK,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC;AAE5D,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC1B,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC;aACjD,CAAC,EAAA,EAED,OAAO,CACN;QAEL,iBAAiB,KAAK,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CACxD;AAEd;;;;"}