@alfalab/core-components-select 17.10.1 → 17.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/components/arrow/Component.js +1 -1
  2. package/components/arrow/index.css +3 -3
  3. package/components/base-checkmark/Component.js +1 -1
  4. package/components/base-checkmark/index.css +6 -6
  5. package/components/base-option/Component.js +1 -1
  6. package/components/base-option/index.css +18 -17
  7. package/components/base-select/Component.js +2 -2
  8. package/components/base-select/components/list-desktop/list-popover-desktop.js +1 -1
  9. package/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +1 -1
  10. package/components/base-select/components/list-mobile/list-modal-mobile.js +1 -1
  11. package/components/base-select/index.css +24 -22
  12. package/components/base-select/mobile.css +16 -15
  13. package/components/checkmark/Component.js +1 -1
  14. package/components/checkmark/index.css +12 -11
  15. package/components/checkmark-mobile/Component.js +1 -1
  16. package/components/checkmark-mobile/index.css +6 -6
  17. package/components/clear-button/Component.js +1 -1
  18. package/components/clear-button/index.css +6 -6
  19. package/components/field/Component.js +1 -1
  20. package/components/field/index.css +12 -12
  21. package/components/footer/Component.js +1 -1
  22. package/components/footer/index.css +5 -5
  23. package/components/optgroup/Component.js +1 -1
  24. package/components/optgroup/index.css +6 -6
  25. package/components/option/Component.js +1 -1
  26. package/components/option/index.css +21 -21
  27. package/components/options-list/Component.js +3 -3
  28. package/components/options-list/index.css +14 -11
  29. package/components/search/Component.js +1 -1
  30. package/components/search/index.css +2 -2
  31. package/components/virtual-options-list/Component.js +1 -1
  32. package/components/virtual-options-list/index.css +20 -19
  33. package/cssm/components/base-option/index.module.css +3 -2
  34. package/cssm/components/base-select/index.module.css +13 -11
  35. package/cssm/components/base-select/mobile.module.css +4 -3
  36. package/cssm/components/checkmark/index.module.css +2 -1
  37. package/cssm/components/option/index.module.css +2 -2
  38. package/cssm/components/options-list/Component.js +2 -2
  39. package/cssm/components/options-list/index.module.css +4 -1
  40. package/cssm/components/virtual-options-list/index.module.css +5 -4
  41. package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +3 -1
  42. package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/vars.css +0 -0
  43. package/cssm/utils.d.ts +1 -1
  44. package/cssm/utils.js +11 -0
  45. package/esm/components/arrow/Component.js +1 -1
  46. package/esm/components/arrow/index.css +3 -3
  47. package/esm/components/base-checkmark/Component.js +1 -1
  48. package/esm/components/base-checkmark/index.css +6 -6
  49. package/esm/components/base-option/Component.js +1 -1
  50. package/esm/components/base-option/index.css +18 -17
  51. package/esm/components/base-select/Component.js +2 -2
  52. package/esm/components/base-select/components/list-desktop/list-popover-desktop.js +1 -1
  53. package/esm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +1 -1
  54. package/esm/components/base-select/components/list-mobile/list-modal-mobile.js +1 -1
  55. package/esm/components/base-select/index.css +24 -22
  56. package/esm/components/base-select/mobile.css +16 -15
  57. package/esm/components/checkmark/Component.js +1 -1
  58. package/esm/components/checkmark/index.css +12 -11
  59. package/esm/components/checkmark-mobile/Component.js +1 -1
  60. package/esm/components/checkmark-mobile/index.css +6 -6
  61. package/esm/components/clear-button/Component.js +1 -1
  62. package/esm/components/clear-button/index.css +6 -6
  63. package/esm/components/field/Component.js +1 -1
  64. package/esm/components/field/index.css +12 -12
  65. package/esm/components/footer/Component.js +1 -1
  66. package/esm/components/footer/index.css +5 -5
  67. package/esm/components/optgroup/Component.js +1 -1
  68. package/esm/components/optgroup/index.css +6 -6
  69. package/esm/components/option/Component.js +1 -1
  70. package/esm/components/option/index.css +21 -21
  71. package/esm/components/options-list/Component.js +3 -3
  72. package/esm/components/options-list/index.css +14 -11
  73. package/esm/components/search/Component.js +1 -1
  74. package/esm/components/search/index.css +2 -2
  75. package/esm/components/virtual-options-list/Component.js +1 -1
  76. package/esm/components/virtual-options-list/index.css +20 -19
  77. package/esm/{list-popover-desktop-446b6d5f.js → list-popover-desktop-e4b69ce0.js} +1 -1
  78. package/esm/mobile/Component.mobile.js +1 -1
  79. package/esm/mobile.module-a3e68caf.js +4 -0
  80. package/esm/presets/index.js +1 -1
  81. package/esm/presets/useSelectWithApply/hook.js +1 -1
  82. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  83. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  84. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +6 -4
  85. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  86. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  87. package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  88. package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  89. package/esm/presets/useSelectWithLoading/hook.js +1 -1
  90. package/esm/presets/useSelectWithLoading/index.css +2 -2
  91. package/esm/shared/index.js +1 -1
  92. package/esm/utils.d.ts +1 -1
  93. package/esm/utils.js +13 -2
  94. package/{list-popover-desktop-6bae9b47.js → list-popover-desktop-8ffefe6e.js} +1 -1
  95. package/mobile/Component.mobile.js +1 -1
  96. package/mobile.module-97d68ba9.js +6 -0
  97. package/modern/components/arrow/Component.js +1 -1
  98. package/modern/components/arrow/index.css +3 -3
  99. package/modern/components/base-checkmark/Component.js +1 -1
  100. package/modern/components/base-checkmark/index.css +6 -6
  101. package/modern/components/base-option/Component.js +1 -1
  102. package/modern/components/base-option/index.css +18 -17
  103. package/modern/components/base-select/Component.js +2 -2
  104. package/modern/components/base-select/components/list-desktop/list-popover-desktop.js +1 -1
  105. package/modern/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +1 -1
  106. package/modern/components/base-select/components/list-mobile/list-modal-mobile.js +1 -1
  107. package/modern/components/base-select/index.css +24 -22
  108. package/modern/components/base-select/mobile.css +16 -15
  109. package/modern/components/checkmark/Component.js +1 -1
  110. package/modern/components/checkmark/index.css +12 -11
  111. package/modern/components/checkmark-mobile/Component.js +1 -1
  112. package/modern/components/checkmark-mobile/index.css +6 -6
  113. package/modern/components/clear-button/Component.js +1 -1
  114. package/modern/components/clear-button/index.css +6 -6
  115. package/modern/components/field/Component.js +1 -1
  116. package/modern/components/field/index.css +12 -12
  117. package/modern/components/footer/Component.js +1 -1
  118. package/modern/components/footer/index.css +5 -5
  119. package/modern/components/optgroup/Component.js +1 -1
  120. package/modern/components/optgroup/index.css +6 -6
  121. package/modern/components/option/Component.js +1 -1
  122. package/modern/components/option/index.css +21 -21
  123. package/modern/components/options-list/Component.js +3 -3
  124. package/modern/components/options-list/index.css +14 -11
  125. package/modern/components/search/Component.js +1 -1
  126. package/modern/components/search/index.css +2 -2
  127. package/modern/components/virtual-options-list/Component.js +1 -1
  128. package/modern/components/virtual-options-list/index.css +20 -19
  129. package/modern/{list-popover-desktop-46e08681.js → list-popover-desktop-85370c2c.js} +1 -1
  130. package/modern/mobile/Component.mobile.js +1 -1
  131. package/modern/mobile.module-eb08a4de.js +4 -0
  132. package/modern/presets/index.js +1 -1
  133. package/modern/presets/useSelectWithApply/hook.js +1 -1
  134. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  135. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  136. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +6 -4
  137. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  138. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  139. package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  140. package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  141. package/modern/presets/useSelectWithLoading/hook.js +1 -1
  142. package/modern/presets/useSelectWithLoading/index.css +2 -2
  143. package/modern/shared/index.js +1 -1
  144. package/modern/utils.d.ts +1 -1
  145. package/modern/utils.js +13 -2
  146. package/moderncssm/Component.responsive.d.ts +7 -0
  147. package/moderncssm/Component.responsive.js +21 -0
  148. package/moderncssm/components/arrow/Component.d.ts +5 -0
  149. package/moderncssm/components/arrow/Component.js +8 -0
  150. package/moderncssm/components/arrow/index.d.ts +1 -0
  151. package/moderncssm/components/arrow/index.js +1 -0
  152. package/moderncssm/components/arrow/index.module.css +23 -0
  153. package/moderncssm/components/base-checkmark/Component.d.ts +5 -0
  154. package/moderncssm/components/base-checkmark/Component.js +15 -0
  155. package/moderncssm/components/base-checkmark/index.d.ts +1 -0
  156. package/moderncssm/components/base-checkmark/index.js +1 -0
  157. package/moderncssm/components/base-checkmark/index.module.css +30 -0
  158. package/moderncssm/components/base-option/Component.d.ts +4 -0
  159. package/moderncssm/components/base-option/Component.js +33 -0
  160. package/moderncssm/components/base-option/index.d.ts +1 -0
  161. package/moderncssm/components/base-option/index.js +1 -0
  162. package/moderncssm/components/base-option/index.module.css +81 -0
  163. package/moderncssm/components/base-select/Component.d.ts +14 -0
  164. package/moderncssm/components/base-select/Component.js +408 -0
  165. package/moderncssm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.d.ts +12 -0
  166. package/moderncssm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.js +15 -0
  167. package/moderncssm/components/base-select/components/list-desktop/list-popover-desktop.d.ts +9 -0
  168. package/moderncssm/components/base-select/components/list-desktop/list-popover-desktop.js +13 -0
  169. package/moderncssm/components/base-select/components/list-desktop/types/types.d.ts +3 -0
  170. package/moderncssm/components/base-select/components/list-desktop/types/types.js +1 -0
  171. package/moderncssm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.d.ts +16 -0
  172. package/moderncssm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.js +19 -0
  173. package/moderncssm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.d.ts +28 -0
  174. package/moderncssm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.js +18 -0
  175. package/moderncssm/components/base-select/components/list-mobile/helpers/index.d.ts +2 -0
  176. package/moderncssm/components/base-select/components/list-mobile/helpers/index.js +2 -0
  177. package/moderncssm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.d.ts +15 -0
  178. package/moderncssm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +24 -0
  179. package/moderncssm/components/base-select/components/list-mobile/list-mobile.d.ts +16 -0
  180. package/moderncssm/components/base-select/components/list-mobile/list-mobile.js +17 -0
  181. package/moderncssm/components/base-select/components/list-mobile/list-modal-mobile.d.ts +15 -0
  182. package/moderncssm/components/base-select/components/list-mobile/list-modal-mobile.js +32 -0
  183. package/moderncssm/components/base-select/components/list-mobile/types/types.d.ts +4 -0
  184. package/moderncssm/components/base-select/components/list-mobile/types/types.js +1 -0
  185. package/moderncssm/components/base-select/index.d.ts +1 -0
  186. package/moderncssm/components/base-select/index.js +1 -0
  187. package/moderncssm/components/base-select/index.module.css +81 -0
  188. package/moderncssm/components/base-select/mobile.module.css +48 -0
  189. package/moderncssm/components/base-select/types/component-types.d.ts +50 -0
  190. package/moderncssm/components/base-select/types/component-types.js +1 -0
  191. package/moderncssm/components/checkmark/Component.d.ts +5 -0
  192. package/moderncssm/components/checkmark/Component.js +20 -0
  193. package/moderncssm/components/checkmark/index.d.ts +1 -0
  194. package/moderncssm/components/checkmark/index.js +1 -0
  195. package/moderncssm/components/checkmark/index.module.css +59 -0
  196. package/moderncssm/components/checkmark-mobile/Component.d.ts +5 -0
  197. package/moderncssm/components/checkmark-mobile/Component.js +11 -0
  198. package/moderncssm/components/checkmark-mobile/index.d.ts +1 -0
  199. package/moderncssm/components/checkmark-mobile/index.js +1 -0
  200. package/moderncssm/components/checkmark-mobile/index.module.css +34 -0
  201. package/moderncssm/components/clear-button/Component.d.ts +5 -0
  202. package/moderncssm/components/clear-button/Component.js +9 -0
  203. package/moderncssm/components/clear-button/index.d.ts +1 -0
  204. package/moderncssm/components/clear-button/index.js +1 -0
  205. package/moderncssm/components/clear-button/index.module.css +47 -0
  206. package/moderncssm/components/field/Component.d.ts +13 -0
  207. package/moderncssm/components/field/Component.js +35 -0
  208. package/moderncssm/components/field/index.d.ts +1 -0
  209. package/moderncssm/components/field/index.js +1 -0
  210. package/moderncssm/components/field/index.module.css +74 -0
  211. package/moderncssm/components/footer/Component.d.ts +12 -0
  212. package/moderncssm/components/footer/Component.js +22 -0
  213. package/moderncssm/components/footer/index.d.ts +1 -0
  214. package/moderncssm/components/footer/index.js +1 -0
  215. package/moderncssm/components/footer/index.module.css +28 -0
  216. package/moderncssm/components/index.d.ts +9 -0
  217. package/moderncssm/components/index.js +9 -0
  218. package/moderncssm/components/native-select/Component.d.ts +25 -0
  219. package/moderncssm/components/native-select/Component.js +13 -0
  220. package/moderncssm/components/native-select/index.d.ts +1 -0
  221. package/moderncssm/components/native-select/index.js +1 -0
  222. package/moderncssm/components/optgroup/Component.d.ts +5 -0
  223. package/moderncssm/components/optgroup/Component.js +11 -0
  224. package/moderncssm/components/optgroup/index.d.ts +1 -0
  225. package/moderncssm/components/optgroup/index.js +1 -0
  226. package/moderncssm/components/optgroup/index.module.css +46 -0
  227. package/moderncssm/components/option/Component.d.ts +4 -0
  228. package/moderncssm/components/option/Component.js +23 -0
  229. package/moderncssm/components/option/index.d.ts +1 -0
  230. package/moderncssm/components/option/index.js +1 -0
  231. package/moderncssm/components/option/index.module.css +110 -0
  232. package/moderncssm/components/options-list/Component.d.ts +5 -0
  233. package/moderncssm/components/options-list/Component.js +88 -0
  234. package/moderncssm/components/options-list/index.d.ts +1 -0
  235. package/moderncssm/components/options-list/index.js +1 -0
  236. package/moderncssm/components/options-list/index.module.css +51 -0
  237. package/moderncssm/components/search/Component.d.ts +5 -0
  238. package/moderncssm/components/search/Component.js +9 -0
  239. package/moderncssm/components/search/index.d.ts +1 -0
  240. package/moderncssm/components/search/index.js +1 -0
  241. package/moderncssm/components/search/index.module.css +14 -0
  242. package/moderncssm/components/virtual-options-list/Component.d.ts +5 -0
  243. package/moderncssm/components/virtual-options-list/Component.js +138 -0
  244. package/moderncssm/components/virtual-options-list/index.d.ts +1 -0
  245. package/moderncssm/components/virtual-options-list/index.js +1 -0
  246. package/moderncssm/components/virtual-options-list/index.module.css +79 -0
  247. package/moderncssm/consts.d.ts +12 -0
  248. package/moderncssm/consts.js +13 -0
  249. package/moderncssm/desktop/Component.desktop.d.ts +6 -0
  250. package/moderncssm/desktop/Component.desktop.js +17 -0
  251. package/moderncssm/desktop/index.d.ts +2 -0
  252. package/moderncssm/desktop/index.js +1 -0
  253. package/moderncssm/hook-8c561f14.d.ts +115 -0
  254. package/moderncssm/hook-a8bc7fe8.d.ts +17 -0
  255. package/moderncssm/hook-a8bc7fe8.js +169 -0
  256. package/moderncssm/index.d.ts +2 -0
  257. package/moderncssm/index.js +1 -0
  258. package/moderncssm/mobile/Component.mobile.d.ts +5 -0
  259. package/moderncssm/mobile/Component.mobile.js +54 -0
  260. package/moderncssm/mobile/Component.modal.mobile.d.ts +4 -0
  261. package/moderncssm/mobile/Component.modal.mobile.js +6 -0
  262. package/moderncssm/mobile/index.d.ts +3 -0
  263. package/moderncssm/mobile/index.js +2 -0
  264. package/moderncssm/presets/index.d.ts +3 -0
  265. package/moderncssm/presets/index.js +3 -0
  266. package/moderncssm/presets/useLazyLoading/hook.d.ts +48 -0
  267. package/moderncssm/presets/useLazyLoading/hook.js +215 -0
  268. package/moderncssm/presets/useSelectWithApply/hook.d.ts +0 -0
  269. package/moderncssm/presets/useSelectWithApply/hook.js +4 -0
  270. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +0 -0
  271. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/Component.js +6 -0
  272. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +12 -0
  273. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +12 -0
  274. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +12 -0
  275. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/footer/vars.css +0 -0
  276. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +11 -0
  277. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +9 -0
  278. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +9 -0
  279. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -0
  280. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -0
  281. package/moderncssm/presets/useSelectWithLoading/hook.d.ts +13 -0
  282. package/moderncssm/presets/useSelectWithLoading/hook.js +23 -0
  283. package/moderncssm/presets/useSelectWithLoading/index.module.css +7 -0
  284. package/moderncssm/shared/index.d.ts +13 -0
  285. package/moderncssm/shared/index.js +14 -0
  286. package/moderncssm/typings.d.ts +744 -0
  287. package/moderncssm/typings.js +1 -0
  288. package/moderncssm/utils.d.ts +81 -0
  289. package/moderncssm/utils.js +184 -0
  290. package/moderncssm/vars.css +10 -0
  291. package/package.json +15 -15
  292. package/presets/index.js +1 -1
  293. package/presets/useSelectWithApply/hook.js +1 -1
  294. package/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  295. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  296. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +6 -4
  297. package/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  298. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  299. package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  300. package/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  301. package/presets/useSelectWithLoading/hook.js +1 -1
  302. package/presets/useSelectWithLoading/index.css +2 -2
  303. package/shared/index.js +1 -1
  304. package/src/components/arrow/index.module.css +1 -1
  305. package/src/components/base-checkmark/index.module.css +1 -1
  306. package/src/components/base-option/index.module.css +3 -3
  307. package/src/components/base-select/index.module.css +9 -9
  308. package/src/components/base-select/mobile.module.css +4 -4
  309. package/src/components/checkmark/index.module.css +1 -1
  310. package/src/components/checkmark-mobile/index.module.css +1 -1
  311. package/src/components/field/index.module.css +1 -1
  312. package/src/components/footer/index.module.css +1 -1
  313. package/src/components/optgroup/index.module.css +1 -1
  314. package/src/components/option/index.module.css +2 -3
  315. package/src/components/options-list/Component.tsx +2 -1
  316. package/src/components/options-list/index.module.css +6 -2
  317. package/src/components/search/index.module.css +1 -1
  318. package/src/components/virtual-options-list/index.module.css +5 -5
  319. package/src/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +3 -2
  320. package/src/presets/useSelectWithApply/options-list-with-apply/footer/vars.css +3 -0
  321. package/src/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +1 -1
  322. package/src/utils.ts +28 -3
  323. package/src/vars.css +4 -4
  324. package/utils.d.ts +1 -1
  325. package/utils.js +11 -0
  326. package/esm/mobile.module-eaf56278.js +0 -4
  327. package/mobile.module-8d14caac.js +0 -6
  328. package/modern/mobile.module-2f7796c1.js +0 -4
  329. /package/esm/{hook-570b8ac7.d.ts → hook-276c96dc.d.ts} +0 -0
  330. /package/esm/{hook-570b8ac7.js → hook-276c96dc.js} +0 -0
  331. /package/esm/{list-popover-desktop-446b6d5f.d.ts → list-popover-desktop-e4b69ce0.d.ts} +0 -0
  332. /package/{hook-a71861cb.d.ts → hook-c8ba558c.d.ts} +0 -0
  333. /package/{hook-a71861cb.js → hook-c8ba558c.js} +0 -0
  334. /package/{list-popover-desktop-6bae9b47.d.ts → list-popover-desktop-8ffefe6e.d.ts} +0 -0
  335. /package/modern/{hook-0b565ee2.d.ts → hook-a054f3bb.d.ts} +0 -0
  336. /package/modern/{hook-0b565ee2.js → hook-a054f3bb.js} +0 -0
  337. /package/modern/{list-popover-desktop-46e08681.d.ts → list-popover-desktop-85370c2c.d.ts} +0 -0
@@ -0,0 +1,744 @@
1
+ /// <reference types="react" />
2
+ import { AriaAttributes, ComponentType, FC, FocusEvent, MouseEvent, ReactElement, ReactNode, RefAttributes, SVGProps } from 'react';
3
+ import { BottomSheetProps } from "@alfalab/core-components-bottom-sheet";
4
+ import { FormControlProps } from "@alfalab/core-components-form-control";
5
+ import { InputProps } from "@alfalab/core-components-input";
6
+ import { ModalProps } from "@alfalab/core-components-modal";
7
+ import { ModalFooterProps, ModalHeaderProps } from "@alfalab/core-components-modal/shared";
8
+ import { PopoverProps } from "@alfalab/core-components-popover";
9
+ import { UseSelectWithApplyProps } from "./hook-8c561f14";
10
+ type AnyObject = Record<string, any>;
11
+ type OptionShape = {
12
+ /**
13
+ * Текстовое представление пункта
14
+ */
15
+ key: string;
16
+ /**
17
+ * Контент, который будет отрисован в выпадающем списке и в поле при выборе
18
+ */
19
+ content?: ReactNode;
20
+ /**
21
+ * Блокирует данный пункт для выбора
22
+ */
23
+ disabled?: boolean;
24
+ /**
25
+ * Разрешает показ компонента Checkmark, иногда нужно его убирать для показа контента ошибки или пустого состояния
26
+ */
27
+ showCheckMark?: boolean;
28
+ /**
29
+ * Дополнительные данные
30
+ */
31
+ value?: any;
32
+ };
33
+ type GroupShape = {
34
+ /**
35
+ * Заголовок группы
36
+ */
37
+ label?: string;
38
+ /**
39
+ * Дочерние элементы
40
+ */
41
+ options: OptionShape[];
42
+ };
43
+ type BaseSelectChangePayload = {
44
+ selected: OptionShape | null;
45
+ selectedMultiple: OptionShape[];
46
+ initiator: OptionShape | null;
47
+ name?: string;
48
+ };
49
+ type BaseSelectProps = {
50
+ /**
51
+ * Идентификатор для систем автоматизированного тестирования.
52
+ * Для пункта меню используется модификатор -option, компонента поиска -search,
53
+ * компонента выпадающего меню -options-list, компонента BottomSheet -bottom-sheet,
54
+ * компонента поля -field, компонета FormControl -field-form-control
55
+ */
56
+ dataTestId?: string;
57
+ /**
58
+ * Дополнительный класс
59
+ */
60
+ className?: string;
61
+ /**
62
+ * Дополнительный класс для поля
63
+ */
64
+ fieldClassName?: string;
65
+ /**
66
+ * Дополнительный класс выпадающего меню
67
+ */
68
+ optionsListClassName?: string;
69
+ /**
70
+ * Дополнительный класс для пункта меню
71
+ */
72
+ optionClassName?: string;
73
+ /**
74
+ * Дополнительный класс для компонента группы пунктов
75
+ */
76
+ optionGroupClassName?: string;
77
+ /**
78
+ * Дополнительный класс для поповера
79
+ */
80
+ popperClassName?: PopoverProps['className'];
81
+ /**
82
+ * Список вариантов выбора
83
+ */
84
+ options: Array<OptionShape | GroupShape>;
85
+ /**
86
+ * Атрибут id
87
+ */
88
+ id?: string;
89
+ /**
90
+ * Атрибут name
91
+ */
92
+ name?: string;
93
+ /**
94
+ * Управление возможностью выбора значения
95
+ */
96
+ disabled?: boolean;
97
+ /**
98
+ * Начальное состояние селекта
99
+ */
100
+ defaultOpen?: boolean;
101
+ /**
102
+ * Управление открытием
103
+ */
104
+ open?: boolean;
105
+ /**
106
+ * Возможность выбрать несколько значений
107
+ */
108
+ multiple?: boolean;
109
+ /**
110
+ * Размер компонента
111
+ * @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
112
+ */
113
+ size?: 's' | 'm' | 'l' | 'xl' | 48 | 56 | 64 | 72;
114
+ /**
115
+ * Размер пунктов меню
116
+ * @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
117
+ */
118
+ optionsSize?: 's' | 'm' | 'l' | 'xl' | 48 | 56 | 64 | 72;
119
+ /**
120
+ * Растягивает компонент на ширину контейнера
121
+ */
122
+ block?: boolean;
123
+ /**
124
+ * Управляет шириной выпадающего меню.
125
+ * Ширину определяет контент, либо ширина равна ширине поля
126
+ */
127
+ optionsListWidth?: 'content' | 'field';
128
+ /**
129
+ * Лейбл поля
130
+ */
131
+ label?: ReactNode;
132
+ /**
133
+ * Вид лейбла внутри / снаружи
134
+ */
135
+ labelView?: 'inner' | 'outer';
136
+ /**
137
+ * Плейсхолдер поля
138
+ */
139
+ placeholder?: string;
140
+ /**
141
+ * Отображение ошибки
142
+ */
143
+ error?: ReactNode | boolean;
144
+ /**
145
+ * Подсказка под полем
146
+ */
147
+ hint?: ReactNode;
148
+ /**
149
+ * Возможность использовать селект как input-autocomplete
150
+ */
151
+ autocomplete?: boolean;
152
+ /**
153
+ * Позволяет снять выбранное значение
154
+ */
155
+ allowUnselect?: boolean;
156
+ /**
157
+ * Закрывать меню после выбора?
158
+ */
159
+ closeOnSelect?: boolean;
160
+ /**
161
+ * При навигации с клавиатуры переходить от последнего пункта меню к первому и наоборот.
162
+ */
163
+ circularNavigation?: boolean;
164
+ /**
165
+ * Запрещает поповеру менять свою позицию.
166
+ * Например, если места снизу недостаточно,то он все равно будет показан снизу
167
+ */
168
+ preventFlip?: boolean;
169
+ /**
170
+ * Список value выбранных пунктов (controlled-селект)
171
+ */
172
+ selected?: Array<string | OptionShape> | string | OptionShape | null;
173
+ /**
174
+ * Рендерит нативный селект вместо выпадающего меню. (на десктопе использовать только с multiple=false)
175
+ */
176
+ nativeSelect?: boolean;
177
+ /**
178
+ * Позиционирование выпадающего списка
179
+ */
180
+ popoverPosition?: PopoverProps['position'];
181
+ /**
182
+ * Количество видимых пунктов меню (5 = 5.5)
183
+ */
184
+ visibleOptions?: number;
185
+ /**
186
+ * Кастомный рендер выбранного пункта
187
+ */
188
+ valueRenderer?: ({ selected, selectedMultiple, }: {
189
+ selected?: OptionShape;
190
+ selectedMultiple: OptionShape[];
191
+ }) => ReactNode;
192
+ /**
193
+ * Компонент стрелки
194
+ */
195
+ Arrow?: ComponentType<ArrowProps> | null | false;
196
+ /**
197
+ * Компонент поля
198
+ */
199
+ Field?: ComponentType<FieldProps>;
200
+ /**
201
+ * Пропсы, которые будут прокинуты в компонент поля
202
+ */
203
+ fieldProps?: unknown;
204
+ /**
205
+ * Пропсы, которые будут прокинуты в компонент списка
206
+ */
207
+ optionsListProps?: unknown;
208
+ /**
209
+ * Пропсы, которые будут прокинуты в компонент пункта меню
210
+ */
211
+ optionProps?: unknown;
212
+ /**
213
+ * Пропсы, которые будут прокинуты в компонент группового пункта меню
214
+ */
215
+ groupOptionProps?: AnyObject;
216
+ /**
217
+ * Компонент выпадающего меню
218
+ */
219
+ OptionsList?: ComponentType<OptionsListProps & RefAttributes<HTMLDivElement>>;
220
+ /**
221
+ * Компонент группы
222
+ */
223
+ Optgroup?: ComponentType<OptgroupProps>;
224
+ /**
225
+ * Компонент пункта меню
226
+ */
227
+ Option?: ComponentType<OptionProps>;
228
+ /**
229
+ * Включает отображение поиска
230
+ */
231
+ showSearch?: boolean;
232
+ /**
233
+ * Компонент поиска
234
+ */
235
+ Search?: ComponentType<SearchProps>;
236
+ /**
237
+ * Настройки поиска
238
+ */
239
+ searchProps?: {
240
+ componentProps?: SearchProps;
241
+ accessor?: (option: OptionShape) => string;
242
+ filterFn?: (optionText: string, search: string) => boolean;
243
+ value?: string;
244
+ onChange?: (value: string) => void;
245
+ filterGroup?: boolean;
246
+ groupAccessor?: (group: GroupShape) => string | undefined;
247
+ };
248
+ /**
249
+ * Обработчик выбора
250
+ */
251
+ onChange?: (payload: BaseSelectChangePayload) => void;
252
+ /**
253
+ * Обработчик открытия\закрытия селекта
254
+ */
255
+ onOpen?: (payload: {
256
+ open?: boolean;
257
+ name?: string;
258
+ }) => void;
259
+ /**
260
+ * Обработчик блюра поля
261
+ */
262
+ onBlur?: (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => void;
263
+ /**
264
+ * Обработчик фокуса поля
265
+ */
266
+ onFocus?: (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => void;
267
+ /**
268
+ * Обработчик скрола
269
+ */
270
+ onScroll?: (event: MouseEvent<HTMLDivElement>) => void;
271
+ /**
272
+ * Обработчик нажатия на крестик для очистки поля
273
+ */
274
+ onClear?: (event: MouseEvent<HTMLButtonElement>) => void;
275
+ /**
276
+ * Флаг, показать крестик для очистки поля
277
+ */
278
+ clear?: boolean;
279
+ /**
280
+ * Хранит функцию, с помощью которой можно обновить положение поповера
281
+ */
282
+ updatePopover?: PopoverProps['update'];
283
+ /**
284
+ * z-index поповера
285
+ */
286
+ zIndexPopover?: PopoverProps['zIndex'];
287
+ /**
288
+ * Показывать OptionsList, если он пустой
289
+ */
290
+ showEmptyOptionsList?: boolean;
291
+ /**
292
+ * Дополнительные пропсы для Popover
293
+ */
294
+ popoverProps?: Omit<PopoverProps, 'update' | 'zIndex' | 'position' | 'className' | 'open' | 'anchorElement' | 'preventFlip' | 'dataTestId'>;
295
+ /**
296
+ * Ограничение динамического размера группы вариантов выбора
297
+ */
298
+ limitDynamicOptionGroupSize?: boolean;
299
+ };
300
+ type FieldProps = {
301
+ /**
302
+ * Дополнительный класс
303
+ */
304
+ className?: string;
305
+ /**
306
+ * Выбранный пункт
307
+ */
308
+ selected?: OptionShape;
309
+ /**
310
+ * Список выбранных пунктов
311
+ */
312
+ selectedMultiple?: OptionShape[];
313
+ /**
314
+ * Метод для ручной установки выбранных пунктов
315
+ */
316
+ setSelectedItems: (selected: OptionShape[]) => void;
317
+ /**
318
+ * Метод переключающий видимость выпадающего списка
319
+ */
320
+ toggleMenu: () => void;
321
+ /**
322
+ * Флаг, можно ли выбрать несколько значений
323
+ */
324
+ multiple?: boolean;
325
+ /**
326
+ * Флаг, открыто ли меню
327
+ */
328
+ open?: boolean;
329
+ /**
330
+ * Флаг, поле заблокировано
331
+ */
332
+ disabled?: boolean;
333
+ /**
334
+ * Лейбл поля
335
+ */
336
+ label?: ReactNode;
337
+ /**
338
+ * Вид лейбла внутри / снаружи
339
+ */
340
+ labelView?: 'inner' | 'outer';
341
+ /**
342
+ * Плейсхолдер поля
343
+ */
344
+ placeholder?: string;
345
+ /**
346
+ * Отображение ошибки
347
+ */
348
+ error?: ReactNode | boolean;
349
+ /**
350
+ * Отображение иконки успеха
351
+ */
352
+ success?: boolean;
353
+ /**
354
+ * Подсказка под полем
355
+ */
356
+ hint?: ReactNode;
357
+ /**
358
+ * Компонент стрелки
359
+ */
360
+ Arrow?: ReactElement | false | null;
361
+ /**
362
+ * Кастомный рендер выбранного пункта
363
+ */
364
+ valueRenderer?: BaseSelectProps['valueRenderer'];
365
+ /**
366
+ * Внутренние свойства, которые должны быть установлены компоненту.
367
+ */
368
+ innerProps: {
369
+ onBlur?: (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => void;
370
+ onFocus?: (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => void;
371
+ onClick?: (event: MouseEvent<HTMLDivElement | HTMLInputElement>) => void;
372
+ tabIndex?: number;
373
+ id: string;
374
+ } & RefAttributes<HTMLDivElement | HTMLInputElement> & AriaAttributes;
375
+ /**
376
+ * Идентификатор для систем автоматизированного тестирования
377
+ */
378
+ dataTestId?: string;
379
+ } & AnyObject;
380
+ type ArrowProps = {
381
+ /**
382
+ * Дополнительный класс
383
+ */
384
+ className?: string;
385
+ /**
386
+ * Флаг, открыто ли меню
387
+ */
388
+ open?: boolean;
389
+ };
390
+ type OptionsListProps = {
391
+ /**
392
+ * Дополнительный класс
393
+ */
394
+ className?: string;
395
+ /**
396
+ * Дополнительный класс для компонента группы пунктов
397
+ */
398
+ optionGroupClassName?: string;
399
+ /**
400
+ * Дополнительный класс для скроллбара
401
+ */
402
+ scrollbarClassName?: string;
403
+ /**
404
+ * Размер компонента
405
+ * @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
406
+ */
407
+ size?: 's' | 'm' | 'l' | 'xl' | 48 | 56 | 64 | 72;
408
+ /**
409
+ * Компонент пункта меню
410
+ */
411
+ Option: ComponentType<OptionProps>;
412
+ /**
413
+ * Функция для получения пропсов для ячейки
414
+ */
415
+ getOptionProps: (option: OptionShape, index: number) => OptionProps;
416
+ /**
417
+ * Пропсы, которые будут прокинуты в компонент группового пункта меню
418
+ */
419
+ groupOptionProps?: AnyObject;
420
+ /**
421
+ * Список выбранных пунктов
422
+ */
423
+ selectedItems?: OptionShape[];
424
+ /**
425
+ * Метод для ручной установки выбранных пунктов
426
+ */
427
+ setSelectedItems: (selected: OptionShape[]) => void;
428
+ /**
429
+ * Метод переключающий видимость выпадающего списка
430
+ */
431
+ toggleMenu: () => void;
432
+ /**
433
+ * Контент шапки
434
+ */
435
+ header?: ReactNode;
436
+ /**
437
+ * Контент футера
438
+ */
439
+ footer?: ReactNode;
440
+ /**
441
+ * Список вариантов выбора
442
+ */
443
+ options?: Array<OptionShape | GroupShape>;
444
+ /**
445
+ * Плоский список пунктов меню (например, нужно для виртуализации)
446
+ */
447
+ flatOptions?: OptionShape[];
448
+ /**
449
+ * Индекс выделенного пункта
450
+ */
451
+ highlightedIndex?: number;
452
+ /**
453
+ * Флаг, открыто ли меню
454
+ */
455
+ open?: boolean;
456
+ /**
457
+ * Компонент группы
458
+ */
459
+ Optgroup?: BaseSelectProps['Optgroup'];
460
+ /**
461
+ * Будет отображаться, если компонент пустой
462
+ */
463
+ emptyPlaceholder?: ReactNode;
464
+ /**
465
+ * Количество видимых пунктов меню (5 = 5.5)
466
+ */
467
+ visibleOptions?: number;
468
+ /**
469
+ * Обработчик скрола
470
+ */
471
+ onScroll?: (event: MouseEvent<HTMLDivElement>) => void;
472
+ /**
473
+ * Идентификатор для систем автоматизированного тестирования
474
+ */
475
+ dataTestId?: string;
476
+ /**
477
+ * Дополнительные пропсы для Input'a, находящегося внутри кастомного OptionsList
478
+ */
479
+ inputProps?: InputProps;
480
+ /**
481
+ * Нужно ли показывать футер
482
+ */
483
+ showFooter?: boolean;
484
+ /**
485
+ * Нужно ли использовать нативный скроллбар
486
+ */
487
+ nativeScrollbar?: boolean;
488
+ /**
489
+ * Управляет шириной выпадающего меню.
490
+ * Ширину определяет контент, либо ширина равна ширине поля
491
+ */
492
+ optionsListWidth?: BaseSelectProps['optionsListWidth'];
493
+ /**
494
+ * Обработчик подтверждения изменений
495
+ */
496
+ onApply?: () => void;
497
+ /**
498
+ * Обработчик отмены изменений
499
+ */
500
+ onClear?: () => void;
501
+ /**
502
+ * Указать индекс пункта для hover состояния
503
+ */
504
+ setHighlightedIndex?: (index: number) => void;
505
+ /**
506
+ * Значение поиска
507
+ */
508
+ search?: string;
509
+ /**
510
+ * Возможность выбрать несколько значений
511
+ */
512
+ multiple?: boolean;
513
+ /**
514
+ * Ограничение динамического размера группы вариантов выбора
515
+ */
516
+ limitDynamicOptionGroupSize?: BaseSelectProps['limitDynamicOptionGroupSize'];
517
+ };
518
+ type OptgroupProps = {
519
+ /**
520
+ * Дополнительный класс для компонента группы пунктов
521
+ */
522
+ className?: string;
523
+ /**
524
+ * Размер компонента
525
+ * @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
526
+ */
527
+ size?: 's' | 'm' | 'l' | 'xl' | 48 | 56 | 64 | 72;
528
+ /**
529
+ * Заголовок группы
530
+ */
531
+ label?: string;
532
+ /**
533
+ * Дочерние элементы
534
+ */
535
+ children?: ReactNode;
536
+ /**
537
+ * Список вариантов выбора в группе
538
+ */
539
+ options?: OptionShape[];
540
+ /**
541
+ * Список выбранных вариантов в группе
542
+ */
543
+ selectedItems?: OptionShape[];
544
+ /**
545
+ * Обработчик выбранных вариантов
546
+ */
547
+ setSelectedItems?: (items: OptionShape[]) => void;
548
+ /**
549
+ * Значение поиска
550
+ */
551
+ search?: string;
552
+ /**
553
+ * Возможность выбрать несколько значений
554
+ */
555
+ multiple?: boolean;
556
+ };
557
+ type OptionProps = {
558
+ /**
559
+ * Дополнительный класс
560
+ */
561
+ className?: string;
562
+ /**
563
+ * Размер компонента
564
+ * @description s, m, l, xl deprecated, используйте вместо них 48, 56, 64, 72 соответственно
565
+ */
566
+ size?: 's' | 'm' | 'l' | 'xl' | 48 | 56 | 64 | 72;
567
+ /**
568
+ * Контент пункта меню
569
+ */
570
+ children?: ReactNode;
571
+ /**
572
+ * Данные пункта меню
573
+ */
574
+ option: OptionShape;
575
+ /**
576
+ * Индекс пункта
577
+ */
578
+ index: number;
579
+ /**
580
+ * Флаг, выбран ли данный пункт
581
+ */
582
+ selected?: boolean;
583
+ /**
584
+ * Флаг, подсвечен ли данный пункт
585
+ */
586
+ highlighted?: boolean;
587
+ /**
588
+ * Флаг, заблокирован ли данный пункт
589
+ */
590
+ disabled?: boolean;
591
+ /**
592
+ * Флаг множественного выбора
593
+ */
594
+ multiple?: boolean;
595
+ /**
596
+ * Компонент пункта меню
597
+ */
598
+ Checkmark?: FC<CheckmarkProps> | null;
599
+ /**
600
+ * Внутренние свойства, которые должны быть установлены компоненту.
601
+ */
602
+ innerProps: {
603
+ id: string;
604
+ onClick?: (event: MouseEvent<HTMLDivElement>) => void;
605
+ onMouseDown?: (event: MouseEvent<HTMLDivElement>) => void;
606
+ onMouseMove?: (event: MouseEvent<HTMLDivElement>) => void;
607
+ role?: string;
608
+ } & RefAttributes<HTMLDivElement> & AriaAttributes;
609
+ /**
610
+ * Идентификатор для систем автоматизированного тестирования
611
+ */
612
+ dataTestId?: string;
613
+ /**
614
+ * Позиция иконки "галочки"
615
+ */
616
+ checkmarkPosition?: 'before' | 'after';
617
+ /**
618
+ * Выравнивание чекбокса или иконки "галочки"
619
+ */
620
+ align?: 'start' | 'center';
621
+ /**
622
+ * Мобильная верcия option.
623
+ */
624
+ mobile?: boolean;
625
+ };
626
+ type CheckmarkProps = {
627
+ /**
628
+ * Флаг, данный пункт выбран
629
+ */
630
+ selected?: boolean;
631
+ /**
632
+ * Флаг, данный пункт задизейблен
633
+ */
634
+ disabled?: boolean;
635
+ /**
636
+ * Дополнительный класс
637
+ */
638
+ className?: string;
639
+ /**
640
+ * Флаг множественного выбора
641
+ */
642
+ multiple?: boolean;
643
+ /**
644
+ * Расположение отметки
645
+ */
646
+ position?: 'before' | 'after';
647
+ /**
648
+ * Иконка выбранного пункта
649
+ */
650
+ icon?: FC<SVGProps<SVGSVGElement>>;
651
+ /**
652
+ * Выравнивание чекбокса или иконки "галочки"
653
+ */
654
+ align?: 'start' | 'center';
655
+ };
656
+ type SearchProps = InputProps & RefAttributes<HTMLInputElement>;
657
+ type SelectFieldProps = Omit<FormControlProps, 'size'> & Record<string, unknown>;
658
+ type AdditionalMobileProps = {
659
+ /**
660
+ * Показывать кнопку 'Сбросить' в футере мобильного компонента
661
+ */
662
+ showClear?: UseSelectWithApplyProps['showClear'];
663
+ /**
664
+ * Показывать пункт "Выбрать все"
665
+ */
666
+ showSelectAll?: UseSelectWithApplyProps['showSelectAll'];
667
+ /**
668
+ * Показывать пункт "Выбрать все" в заголовке списка у мобильного компонента
669
+ */
670
+ showHeaderWithSelectAll?: UseSelectWithApplyProps['showHeaderWithSelectAll'];
671
+ /**
672
+ * Использовать ли хук useSelectWithApply в мобильном компоненте
673
+ */
674
+ useWithApplyHook?: boolean;
675
+ };
676
+ type BottomSheetSelectMobileProps = {
677
+ /**
678
+ * Футер
679
+ * @deprecated Используйте bottomSheetProps.actionButton
680
+ */
681
+ footer?: ReactNode;
682
+ /**
683
+ * Будет ли свайпаться шторка
684
+ * @deprecated Используйте bottomSheetProps.swipeable
685
+ */
686
+ swipeable?: boolean;
687
+ /**
688
+ * Дополнительные пропсы шторки
689
+ */
690
+ bottomSheetProps?: Partial<BottomSheetProps>;
691
+ };
692
+ type ModalSelectMobileProps = {
693
+ /**
694
+ * Дополнительные пропсы шапки модалки
695
+ */
696
+ modalHeaderProps?: Partial<ModalHeaderProps>;
697
+ /**
698
+ * Дополнительные пропсы модалки
699
+ */
700
+ modalProps?: Partial<ModalProps & RefAttributes<HTMLDivElement>>;
701
+ /**
702
+ * Дополнительные пропсы футера модалки
703
+ */
704
+ modalFooterProps?: Partial<ModalFooterProps>;
705
+ };
706
+ type ConditionalMobileProps = ({
707
+ isBottomSheet?: true;
708
+ } & BottomSheetSelectMobileProps) | ({
709
+ isBottomSheet: false;
710
+ } & ModalSelectMobileProps);
711
+ type SelectModalMobileProps = Omit<BaseSelectProps, 'Checkmark'> & AdditionalMobileProps & ModalSelectMobileProps;
712
+ type SelectMobileProps = Omit<BaseSelectProps, 'Checkmark'> & AdditionalMobileProps & ConditionalMobileProps;
713
+ type SelectDesktopProps = Omit<BaseSelectProps, 'fieldProps'> & {
714
+ /**
715
+ * Пропсы, которые будут прокинуты в компонент поля
716
+ */
717
+ fieldProps?: SelectFieldProps;
718
+ };
719
+ type SelectProps = BaseSelectProps & AdditionalMobileProps & ConditionalMobileProps & {
720
+ /**
721
+ * Контрольная точка, с нее начинается desktop версия
722
+ * @default 1024
723
+ */
724
+ breakpoint?: number;
725
+ /**
726
+ * Значение по-умолчанию для хука useMatchMedia
727
+ */
728
+ defaultMatchMediaValue?: boolean | (() => boolean);
729
+ };
730
+ type ClearButtonProps = {
731
+ /**
732
+ * Обработчик нажатия на крестик для очистки поля
733
+ */
734
+ onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
735
+ /**
736
+ * Флаг, поле заблокировано
737
+ */
738
+ disabled?: boolean;
739
+ /**
740
+ * Идентификатор для систем автоматизированного тестирования
741
+ */
742
+ dataTestId?: string;
743
+ };
744
+ export { AnyObject, OptionShape, GroupShape, BaseSelectChangePayload, BaseSelectProps, FieldProps, ArrowProps, OptionsListProps, OptgroupProps, OptionProps, CheckmarkProps, SearchProps, SelectFieldProps, AdditionalMobileProps, BottomSheetSelectMobileProps, ModalSelectMobileProps, SelectModalMobileProps, SelectMobileProps, SelectDesktopProps, SelectProps, ClearButtonProps };