@alfalab/core-components-select 14.3.4 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. package/Component.desktop.d.ts +19 -0
  2. package/{Component.js → Component.desktop.js} +6 -6
  3. package/Component.mobile-ebda875c.d.ts +6 -0
  4. package/Component.mobile-f1f15074.d.ts +387 -0
  5. package/Component.mobile.d.ts +41 -0
  6. package/Component.mobile.js +62 -0
  7. package/Component.modal.mobile.d.ts +60 -0
  8. package/Component.modal.mobile.js +62 -0
  9. package/Component.responsive.d.ts +1 -1
  10. package/Component.responsive.js +26 -25
  11. package/components/arrow/Component.d.ts +2 -1
  12. package/components/arrow/Component.js +1 -1
  13. package/components/arrow/index.css +3 -3
  14. package/components/base-checkmark/Component.d.ts +2 -1
  15. package/components/base-checkmark/Component.js +1 -1
  16. package/components/base-checkmark/index.css +4 -4
  17. package/components/base-option/Component.js +1 -1
  18. package/components/base-option/index.css +13 -13
  19. package/components/base-select/Component.js +6 -6
  20. package/components/base-select/index.css +8 -8
  21. package/components/base-select/index.js +1 -1
  22. package/components/base-select-mobile/Component.d.ts +3 -3
  23. package/components/base-select-mobile/Component.js +13 -9
  24. package/components/base-select-mobile/footer/Component.d.ts +2 -1
  25. package/components/base-select-mobile/footer/Component.js +4 -4
  26. package/components/base-select-mobile/footer/index.css +5 -5
  27. package/components/base-select-mobile/footer/index.js +1 -1
  28. package/components/base-select-mobile/index.css +13 -11
  29. package/components/base-select-mobile/index.js +1 -2
  30. package/components/checkmark/Component.d.ts +2 -1
  31. package/components/checkmark/Component.js +1 -1
  32. package/components/checkmark/index.css +10 -10
  33. package/components/checkmark-mobile/Component.d.ts +2 -1
  34. package/components/checkmark-mobile/Component.js +1 -1
  35. package/components/checkmark-mobile/index.css +6 -6
  36. package/components/field/Component.d.ts +9 -1
  37. package/components/field/Component.js +19 -16
  38. package/components/field/index.css +38 -11
  39. package/components/field/index.js +0 -1
  40. package/components/index.d.ts +0 -2
  41. package/components/index.js +4 -19
  42. package/components/optgroup/Component.d.ts +2 -1
  43. package/components/optgroup/Component.js +1 -1
  44. package/components/optgroup/index.css +6 -6
  45. package/components/option/Component.js +1 -1
  46. package/components/option/index.css +20 -20
  47. package/components/options-list/Component.js +1 -1
  48. package/components/options-list/index.css +9 -9
  49. package/components/virtual-options-list/Component.js +1 -1
  50. package/components/virtual-options-list/index.css +15 -15
  51. package/cssm/Component.desktop.d.ts +19 -0
  52. package/cssm/{Component.js → Component.desktop.js} +6 -6
  53. package/cssm/Component.mobile-ebda875c.d.ts +6 -0
  54. package/cssm/Component.mobile-f1f15074.d.ts +387 -0
  55. package/cssm/Component.mobile.d.ts +41 -0
  56. package/cssm/Component.mobile.js +74 -0
  57. package/cssm/Component.modal.mobile.d.ts +60 -0
  58. package/cssm/Component.modal.mobile.js +74 -0
  59. package/cssm/Component.responsive.d.ts +1 -1
  60. package/cssm/Component.responsive.js +30 -33
  61. package/cssm/components/arrow/Component.d.ts +2 -1
  62. package/cssm/components/base-checkmark/Component.d.ts +2 -1
  63. package/cssm/components/base-select/Component.js +5 -5
  64. package/cssm/components/base-select/index.js +1 -1
  65. package/cssm/components/base-select-mobile/Component.d.ts +3 -3
  66. package/cssm/components/base-select-mobile/Component.js +12 -8
  67. package/cssm/components/base-select-mobile/footer/Component.d.ts +2 -1
  68. package/cssm/components/base-select-mobile/footer/Component.js +3 -3
  69. package/cssm/components/base-select-mobile/footer/index.js +1 -1
  70. package/cssm/components/base-select-mobile/index.js +1 -2
  71. package/cssm/components/base-select-mobile/index.module.css +4 -2
  72. package/cssm/components/checkmark/Component.d.ts +2 -1
  73. package/cssm/components/checkmark-mobile/Component.d.ts +2 -1
  74. package/cssm/components/field/Component.d.ts +9 -1
  75. package/cssm/components/field/Component.js +18 -15
  76. package/cssm/components/field/index.js +0 -1
  77. package/cssm/components/field/index.module.css +31 -4
  78. package/cssm/components/index.d.ts +0 -2
  79. package/cssm/components/index.js +7 -28
  80. package/cssm/components/optgroup/Component.d.ts +2 -1
  81. package/cssm/desktop-63dec22f.d.ts +6 -0
  82. package/cssm/desktop.d.ts +2 -0
  83. package/cssm/desktop.js +44 -0
  84. package/cssm/hook-97e6e688.d.ts +16 -0
  85. package/cssm/hook-97e6e688.js +110 -0
  86. package/{esm/hook-b4e70cb0.d.ts → cssm/hook-9ea9e32c.d.ts} +9 -7
  87. package/cssm/index-ebda875c.d.ts +20 -60
  88. package/cssm/index.d.ts +2 -5
  89. package/cssm/index.js +34 -61
  90. package/cssm/mobile-96988a65.d.ts +2 -0
  91. package/cssm/mobile.d.ts +5 -4
  92. package/cssm/mobile.js +15 -24
  93. package/cssm/presets/index.d.ts +1 -1
  94. package/cssm/presets/index.js +8 -36
  95. package/cssm/presets/useLazyLoading/hook.d.ts +1 -1
  96. package/cssm/presets/useLazyLoading/hook.js +900 -4
  97. package/cssm/presets/useSelectWithApply/hook.js +9 -48
  98. package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.js +3 -42
  99. package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +2 -1
  100. package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +3 -3
  101. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  102. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.js +10 -49
  103. package/cssm/presets/useSelectWithLoading/hook.d.ts +1 -1
  104. package/cssm/shared.d.ts +5 -0
  105. package/cssm/shared.js +77 -0
  106. package/cssm/typings-9211a437.d.ts +95 -0
  107. package/cssm/typings-baf4875b.d.ts +52 -0
  108. package/desktop-63dec22f.d.ts +6 -0
  109. package/desktop.d.ts +2 -0
  110. package/{responsive.js → desktop.js} +5 -19
  111. package/esm/Component.desktop.d.ts +19 -0
  112. package/esm/{Component.js → Component.desktop.js} +6 -6
  113. package/esm/Component.mobile-ebda875c.d.ts +6 -0
  114. package/esm/Component.mobile-f1f15074.d.ts +387 -0
  115. package/esm/Component.mobile.d.ts +41 -0
  116. package/esm/Component.mobile.js +54 -0
  117. package/esm/Component.modal.mobile.d.ts +60 -0
  118. package/esm/Component.modal.mobile.js +54 -0
  119. package/esm/Component.responsive.d.ts +1 -1
  120. package/esm/Component.responsive.js +26 -25
  121. package/esm/components/arrow/Component.d.ts +2 -1
  122. package/esm/components/arrow/Component.js +1 -1
  123. package/esm/components/arrow/index.css +3 -3
  124. package/esm/components/base-checkmark/Component.d.ts +2 -1
  125. package/esm/components/base-checkmark/Component.js +1 -1
  126. package/esm/components/base-checkmark/index.css +4 -4
  127. package/esm/components/base-option/Component.js +1 -1
  128. package/esm/components/base-option/index.css +13 -13
  129. package/esm/components/base-select/Component.js +2 -2
  130. package/esm/components/base-select/index.css +8 -8
  131. package/esm/components/base-select/index.js +1 -1
  132. package/esm/components/base-select-mobile/Component.d.ts +3 -3
  133. package/esm/components/base-select-mobile/Component.js +9 -5
  134. package/esm/components/base-select-mobile/footer/Component.d.ts +2 -1
  135. package/esm/components/base-select-mobile/footer/Component.js +4 -4
  136. package/esm/components/base-select-mobile/footer/index.css +5 -5
  137. package/esm/components/base-select-mobile/footer/index.js +1 -1
  138. package/esm/components/base-select-mobile/index.css +13 -11
  139. package/esm/components/base-select-mobile/index.js +1 -2
  140. package/esm/components/checkmark/Component.d.ts +2 -1
  141. package/esm/components/checkmark/Component.js +1 -1
  142. package/esm/components/checkmark/index.css +10 -10
  143. package/esm/components/checkmark-mobile/Component.d.ts +2 -1
  144. package/esm/components/checkmark-mobile/Component.js +1 -1
  145. package/esm/components/checkmark-mobile/index.css +6 -6
  146. package/esm/components/field/Component.d.ts +9 -1
  147. package/esm/components/field/Component.js +19 -16
  148. package/esm/components/field/index.css +38 -11
  149. package/esm/components/field/index.js +0 -1
  150. package/esm/components/index.d.ts +0 -2
  151. package/esm/components/index.js +4 -17
  152. package/esm/components/optgroup/Component.d.ts +2 -1
  153. package/esm/components/optgroup/Component.js +1 -1
  154. package/esm/components/optgroup/index.css +6 -6
  155. package/esm/components/option/Component.js +1 -1
  156. package/esm/components/option/index.css +20 -20
  157. package/esm/components/options-list/Component.js +1 -1
  158. package/esm/components/options-list/index.css +9 -9
  159. package/esm/components/virtual-options-list/Component.js +1 -1
  160. package/esm/components/virtual-options-list/index.css +15 -15
  161. package/esm/desktop-63dec22f.d.ts +6 -0
  162. package/esm/desktop.d.ts +2 -0
  163. package/esm/{responsive.js → desktop.js} +4 -18
  164. package/esm/hook-326a5cea.d.ts +16 -0
  165. package/esm/hook-326a5cea.js +102 -0
  166. package/{cssm/hook-b4e70cb0.d.ts → esm/hook-9ea9e32c.d.ts} +9 -7
  167. package/esm/index-ebda875c.d.ts +20 -60
  168. package/esm/index.d.ts +2 -5
  169. package/esm/index.js +27 -29
  170. package/esm/mobile-96988a65.d.ts +2 -0
  171. package/esm/mobile.d.ts +5 -4
  172. package/esm/mobile.js +12 -16
  173. package/esm/presets/index.d.ts +1 -1
  174. package/esm/presets/index.js +6 -25
  175. package/esm/presets/useLazyLoading/hook.d.ts +1 -1
  176. package/esm/presets/useLazyLoading/hook.js +899 -4
  177. package/esm/presets/useSelectWithApply/hook.js +7 -33
  178. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +2 -28
  179. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +2 -1
  180. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +4 -4
  181. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  182. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  183. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  184. package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  185. package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +8 -34
  186. package/esm/presets/useSelectWithLoading/hook.d.ts +1 -1
  187. package/esm/presets/useSelectWithLoading/hook.js +1 -1
  188. package/esm/presets/useSelectWithLoading/index.css +2 -2
  189. package/esm/shared.d.ts +5 -0
  190. package/esm/shared.js +37 -0
  191. package/esm/typings-9211a437.d.ts +95 -0
  192. package/esm/typings-baf4875b.d.ts +52 -0
  193. package/hook-6e94be9c.d.ts +16 -0
  194. package/hook-6e94be9c.js +110 -0
  195. package/{hook-b4e70cb0.d.ts → hook-9ea9e32c.d.ts} +9 -7
  196. package/index-ebda875c.d.ts +20 -60
  197. package/index.d.ts +2 -5
  198. package/index.js +28 -51
  199. package/mobile-96988a65.d.ts +2 -0
  200. package/mobile.d.ts +5 -4
  201. package/mobile.js +14 -18
  202. package/modern/Component.desktop.d.ts +19 -0
  203. package/modern/{Component.js → Component.desktop.js} +7 -4
  204. package/modern/Component.mobile-ebda875c.d.ts +6 -0
  205. package/modern/Component.mobile-f1f15074.d.ts +387 -0
  206. package/modern/Component.mobile.d.ts +41 -0
  207. package/modern/Component.mobile.js +61 -0
  208. package/modern/Component.modal.mobile.d.ts +60 -0
  209. package/modern/Component.modal.mobile.js +61 -0
  210. package/modern/Component.responsive.d.ts +1 -1
  211. package/modern/Component.responsive.js +26 -25
  212. package/modern/components/arrow/Component.d.ts +2 -1
  213. package/modern/components/arrow/Component.js +1 -1
  214. package/modern/components/arrow/index.css +3 -3
  215. package/modern/components/base-checkmark/Component.d.ts +2 -1
  216. package/modern/components/base-checkmark/Component.js +1 -1
  217. package/modern/components/base-checkmark/index.css +4 -4
  218. package/modern/components/base-option/Component.js +1 -1
  219. package/modern/components/base-option/index.css +13 -13
  220. package/modern/components/base-select/Component.js +2 -2
  221. package/modern/components/base-select/index.css +8 -8
  222. package/modern/components/base-select/index.js +1 -1
  223. package/modern/components/base-select-mobile/Component.d.ts +3 -3
  224. package/modern/components/base-select-mobile/Component.js +9 -5
  225. package/modern/components/base-select-mobile/footer/Component.d.ts +2 -1
  226. package/modern/components/base-select-mobile/footer/Component.js +4 -4
  227. package/modern/components/base-select-mobile/footer/index.css +5 -5
  228. package/modern/components/base-select-mobile/footer/index.js +1 -1
  229. package/modern/components/base-select-mobile/index.css +13 -11
  230. package/modern/components/base-select-mobile/index.js +1 -2
  231. package/modern/components/checkmark/Component.d.ts +2 -1
  232. package/modern/components/checkmark/Component.js +1 -1
  233. package/modern/components/checkmark/index.css +10 -10
  234. package/modern/components/checkmark-mobile/Component.d.ts +2 -1
  235. package/modern/components/checkmark-mobile/Component.js +1 -1
  236. package/modern/components/checkmark-mobile/index.css +6 -6
  237. package/modern/components/field/Component.d.ts +9 -1
  238. package/modern/components/field/Component.js +17 -14
  239. package/modern/components/field/index.css +38 -11
  240. package/modern/components/field/index.js +0 -1
  241. package/modern/components/index.d.ts +0 -2
  242. package/modern/components/index.js +4 -17
  243. package/modern/components/optgroup/Component.d.ts +2 -1
  244. package/modern/components/optgroup/Component.js +1 -1
  245. package/modern/components/optgroup/index.css +6 -6
  246. package/modern/components/option/Component.js +1 -1
  247. package/modern/components/option/index.css +20 -20
  248. package/modern/components/options-list/Component.js +1 -1
  249. package/modern/components/options-list/index.css +9 -9
  250. package/modern/components/virtual-options-list/Component.js +1 -1
  251. package/modern/components/virtual-options-list/index.css +15 -15
  252. package/modern/desktop-63dec22f.d.ts +6 -0
  253. package/modern/desktop.d.ts +2 -0
  254. package/modern/{responsive.js → desktop.js} +4 -18
  255. package/modern/{hook-b4e70cb0.d.ts → hook-9ea9e32c.d.ts} +9 -7
  256. package/modern/hook-e0fd0350.d.ts +16 -0
  257. package/modern/{Component-ecb2a41a.js → hook-e0fd0350.js} +3 -66
  258. package/modern/index-ebda875c.d.ts +20 -60
  259. package/modern/index.d.ts +2 -5
  260. package/modern/index.js +27 -29
  261. package/modern/mobile-96988a65.d.ts +2 -0
  262. package/modern/mobile.d.ts +5 -4
  263. package/modern/mobile.js +12 -16
  264. package/modern/presets/index.d.ts +1 -1
  265. package/modern/presets/index.js +6 -25
  266. package/modern/presets/useLazyLoading/hook.d.ts +1 -1
  267. package/modern/presets/useLazyLoading/hook.js +899 -4
  268. package/modern/presets/useSelectWithApply/hook.js +7 -33
  269. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +2 -28
  270. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +2 -1
  271. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +4 -4
  272. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  273. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  274. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  275. package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  276. package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +8 -34
  277. package/modern/presets/useSelectWithLoading/hook.d.ts +1 -1
  278. package/modern/presets/useSelectWithLoading/hook.js +1 -1
  279. package/modern/presets/useSelectWithLoading/index.css +2 -2
  280. package/modern/shared.d.ts +5 -0
  281. package/modern/shared.js +36 -0
  282. package/modern/typings-9211a437.d.ts +95 -0
  283. package/modern/typings-baf4875b.d.ts +52 -0
  284. package/package.json +37 -12
  285. package/presets/index.d.ts +1 -1
  286. package/presets/index.js +6 -25
  287. package/presets/useLazyLoading/hook.d.ts +1 -1
  288. package/presets/useLazyLoading/hook.js +899 -4
  289. package/presets/useSelectWithApply/hook.js +7 -33
  290. package/presets/useSelectWithApply/options-list-with-apply/Component.js +2 -28
  291. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +2 -1
  292. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +4 -4
  293. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  294. package/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  295. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  296. package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  297. package/presets/useSelectWithApply/options-list-with-apply/index.js +8 -34
  298. package/presets/useSelectWithLoading/hook.d.ts +1 -1
  299. package/presets/useSelectWithLoading/hook.js +1 -1
  300. package/presets/useSelectWithLoading/index.css +2 -2
  301. package/shared.d.ts +5 -0
  302. package/shared.js +63 -0
  303. package/src/Component.desktop.tsx +52 -0
  304. package/src/Component.mobile.tsx +149 -0
  305. package/src/Component.modal.mobile.tsx +144 -0
  306. package/src/Component.responsive.tsx +59 -0
  307. package/src/components/arrow/Component.tsx +12 -0
  308. package/src/components/arrow/index.module.css +15 -0
  309. package/src/components/arrow/index.ts +1 -0
  310. package/src/components/base-checkmark/Component.tsx +33 -0
  311. package/src/components/base-checkmark/index.module.css +18 -0
  312. package/src/components/base-checkmark/index.ts +1 -0
  313. package/src/components/base-option/Component.tsx +57 -0
  314. package/src/components/base-option/index.module.css +67 -0
  315. package/src/components/base-option/index.ts +1 -0
  316. package/src/components/base-select/Component.tsx +478 -0
  317. package/src/components/base-select/index.module.css +68 -0
  318. package/src/components/base-select/index.ts +1 -0
  319. package/src/components/base-select-mobile/Component.tsx +486 -0
  320. package/src/components/base-select-mobile/footer/Component.tsx +46 -0
  321. package/src/components/base-select-mobile/footer/index.module.css +23 -0
  322. package/src/components/base-select-mobile/footer/index.ts +1 -0
  323. package/src/components/base-select-mobile/index.module.css +48 -0
  324. package/src/components/base-select-mobile/index.ts +1 -0
  325. package/src/components/checkmark/Component.tsx +56 -0
  326. package/src/components/checkmark/index.module.css +48 -0
  327. package/src/components/checkmark/index.ts +1 -0
  328. package/src/components/checkmark-mobile/Component.tsx +18 -0
  329. package/src/components/checkmark-mobile/index.module.css +28 -0
  330. package/src/components/checkmark-mobile/index.ts +1 -0
  331. package/src/components/field/Component.tsx +110 -0
  332. package/src/components/field/index.module.css +60 -0
  333. package/src/components/field/index.ts +1 -0
  334. package/src/components/index.ts +8 -0
  335. package/src/components/native-select/Component.tsx +60 -0
  336. package/src/components/native-select/index.ts +1 -0
  337. package/src/components/optgroup/Component.tsx +15 -0
  338. package/src/components/optgroup/index.module.css +30 -0
  339. package/src/components/optgroup/index.ts +1 -0
  340. package/src/components/option/Component.tsx +65 -0
  341. package/src/components/option/index.module.css +108 -0
  342. package/src/components/option/index.ts +1 -0
  343. package/src/components/options-list/Component.tsx +140 -0
  344. package/src/components/options-list/index.module.css +40 -0
  345. package/src/components/options-list/index.ts +1 -0
  346. package/src/components/virtual-options-list/Component.tsx +217 -0
  347. package/src/components/virtual-options-list/index.module.css +76 -0
  348. package/src/components/virtual-options-list/index.ts +1 -0
  349. package/src/consts.ts +1 -0
  350. package/src/desktop.ts +1 -0
  351. package/src/index.ts +4 -0
  352. package/src/mobile.ts +5 -0
  353. package/src/presets/index.ts +3 -0
  354. package/src/presets/useLazyLoading/hook.tsx +309 -0
  355. package/src/presets/useSelectWithApply/hook.tsx +154 -0
  356. package/src/presets/useSelectWithApply/options-list-with-apply/Component.tsx +106 -0
  357. package/src/presets/useSelectWithApply/options-list-with-apply/footer/Component.tsx +37 -0
  358. package/src/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +11 -0
  359. package/src/presets/useSelectWithApply/options-list-with-apply/header/Component.tsx +26 -0
  360. package/src/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +9 -0
  361. package/src/presets/useSelectWithApply/options-list-with-apply/index.ts +1 -0
  362. package/src/presets/useSelectWithLoading/hook.tsx +40 -0
  363. package/src/shared.ts +5 -0
  364. package/src/typings.ts +691 -0
  365. package/src/utils.ts +154 -0
  366. package/src/vars.css +57 -0
  367. package/typings-9211a437.d.ts +95 -0
  368. package/typings-baf4875b.d.ts +52 -0
  369. package/Component-01f08370.d.ts +0 -108
  370. package/Component-01f08370.js +0 -165
  371. package/Component-3885b0d7.d.ts +0 -169
  372. package/Component.d.ts +0 -104
  373. package/Component.mobile-b2c0420d.d.ts +0 -93
  374. package/components/select-mobile/Component.d.ts +0 -0
  375. package/components/select-mobile/Component.js +0 -49
  376. package/components/select-mobile/index.d.ts +0 -1
  377. package/components/select-mobile/index.js +0 -49
  378. package/components/select-modal-mobile/Component.d.ts +0 -0
  379. package/components/select-modal-mobile/Component.js +0 -49
  380. package/components/select-modal-mobile/index.d.ts +0 -1
  381. package/components/select-modal-mobile/index.js +0 -49
  382. package/cssm/Component-3885b0d7.d.ts +0 -169
  383. package/cssm/Component-4727d474.d.ts +0 -108
  384. package/cssm/Component-4727d474.js +0 -175
  385. package/cssm/Component.d.ts +0 -104
  386. package/cssm/Component.mobile-b2c0420d.d.ts +0 -93
  387. package/cssm/components/select-mobile/Component.d.ts +0 -0
  388. package/cssm/components/select-mobile/Component.js +0 -66
  389. package/cssm/components/select-mobile/index.d.ts +0 -1
  390. package/cssm/components/select-mobile/index.js +0 -66
  391. package/cssm/components/select-modal-mobile/Component.d.ts +0 -0
  392. package/cssm/components/select-modal-mobile/Component.js +0 -66
  393. package/cssm/components/select-modal-mobile/index.d.ts +0 -1
  394. package/cssm/components/select-modal-mobile/index.js +0 -66
  395. package/cssm/getDataTestId-5c876d98.d.ts +0 -2
  396. package/cssm/getDataTestId-5c876d98.js +0 -8
  397. package/cssm/index-3885b0d7.d.ts +0 -3
  398. package/cssm/intersection-observer-9ec5cf59.d.ts +0 -1
  399. package/cssm/intersection-observer-9ec5cf59.js +0 -893
  400. package/cssm/responsive.d.ts +0 -2
  401. package/cssm/responsive.js +0 -67
  402. package/cssm/types-ebda875c.d.ts +0 -113
  403. package/esm/Component-3885b0d7.d.ts +0 -169
  404. package/esm/Component-5e2bc757.d.ts +0 -108
  405. package/esm/Component-5e2bc757.js +0 -155
  406. package/esm/Component.d.ts +0 -104
  407. package/esm/Component.mobile-b2c0420d.d.ts +0 -93
  408. package/esm/components/select-mobile/Component.d.ts +0 -0
  409. package/esm/components/select-mobile/Component.js +0 -41
  410. package/esm/components/select-mobile/index.d.ts +0 -1
  411. package/esm/components/select-mobile/index.js +0 -41
  412. package/esm/components/select-modal-mobile/Component.d.ts +0 -0
  413. package/esm/components/select-modal-mobile/Component.js +0 -41
  414. package/esm/components/select-modal-mobile/index.d.ts +0 -1
  415. package/esm/components/select-modal-mobile/index.js +0 -41
  416. package/esm/getDataTestId-fc7d4653.d.ts +0 -2
  417. package/esm/getDataTestId-fc7d4653.js +0 -6
  418. package/esm/index-3885b0d7.d.ts +0 -3
  419. package/esm/intersection-observer-6768cbd0.d.ts +0 -1
  420. package/esm/intersection-observer-6768cbd0.js +0 -891
  421. package/esm/presets/useLazyLoading/index.css +0 -8
  422. package/esm/responsive.d.ts +0 -2
  423. package/esm/types-ebda875c.d.ts +0 -113
  424. package/getDataTestId-18fbdb35.d.ts +0 -2
  425. package/getDataTestId-18fbdb35.js +0 -8
  426. package/index-3885b0d7.d.ts +0 -3
  427. package/intersection-observer-0413a170.d.ts +0 -1
  428. package/intersection-observer-0413a170.js +0 -893
  429. package/modern/Component-3885b0d7.d.ts +0 -169
  430. package/modern/Component-ecb2a41a.d.ts +0 -108
  431. package/modern/Component.d.ts +0 -104
  432. package/modern/Component.mobile-b2c0420d.d.ts +0 -93
  433. package/modern/components/select-mobile/Component.d.ts +0 -0
  434. package/modern/components/select-mobile/Component.js +0 -40
  435. package/modern/components/select-mobile/index.d.ts +0 -1
  436. package/modern/components/select-mobile/index.js +0 -40
  437. package/modern/components/select-modal-mobile/Component.d.ts +0 -0
  438. package/modern/components/select-modal-mobile/Component.js +0 -40
  439. package/modern/components/select-modal-mobile/index.d.ts +0 -1
  440. package/modern/components/select-modal-mobile/index.js +0 -40
  441. package/modern/getDataTestId-6120c308.d.ts +0 -2
  442. package/modern/getDataTestId-6120c308.js +0 -6
  443. package/modern/index-3885b0d7.d.ts +0 -3
  444. package/modern/intersection-observer-6768cbd0.d.ts +0 -1
  445. package/modern/intersection-observer-6768cbd0.js +0 -891
  446. package/modern/presets/useLazyLoading/index.css +0 -8
  447. package/modern/responsive.d.ts +0 -2
  448. package/modern/types-ebda875c.d.ts +0 -113
  449. package/presets/useLazyLoading/index.css +0 -8
  450. package/responsive.d.ts +0 -2
  451. package/types-ebda875c.d.ts +0 -113
  452. /package/{cssm/presets/useLazyLoading → src/presets/useSelectWithLoading}/index.module.css +0 -0
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var tslib = require('tslib');
6
6
  var React = require('react');
7
7
  var cn = require('classnames');
8
- var coreComponentsFormControl = require('@alfalab/core-components-form-control/cssm');
9
8
  var hooks = require('@alfalab/hooks');
10
9
  var utils = require('../../utils.js');
11
10
  var styles = require('./index.module.css');
@@ -17,26 +16,30 @@ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
17
16
  var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
18
17
 
19
18
  var Field = function (_a) {
20
- var _b;
21
- var _c = _a.size, size = _c === void 0 ? 'm' : _c, open = _a.open; _a.multiple; var error = _a.error, hint = _a.hint, disabled = _a.disabled, label = _a.label, _d = _a.labelView, labelView = _d === void 0 ? 'inner' : _d, placeholder = _a.placeholder, _e = _a.selectedMultiple, selectedMultiple = _e === void 0 ? [] : _e, selected = _a.selected, rightAddons = _a.rightAddons, _f = _a.valueRenderer, valueRenderer = _f === void 0 ? utils.joinOptions : _f; _a.setSelectedItems; _a.toggleMenu; var Arrow = _a.Arrow, innerProps = _a.innerProps, dataTestId = _a.dataTestId, fieldClassName = _a.fieldClassName, restProps = tslib.__rest(_a, ["size", "open", "multiple", "error", "hint", "disabled", "label", "labelView", "placeholder", "selectedMultiple", "selected", "rightAddons", "valueRenderer", "setSelectedItems", "toggleMenu", "Arrow", "innerProps", "dataTestId", "fieldClassName"]);
22
- var _g = React.useState(false), focused = _g[0], setFocused = _g[1];
19
+ var _b, _c;
20
+ var _d = _a.size, size = _d === void 0 ? 'm' : _d, open = _a.open; _a.multiple; var error = _a.error, hint = _a.hint, disabled = _a.disabled, label = _a.label, _e = _a.labelView, labelView = _e === void 0 ? 'inner' : _e, placeholder = _a.placeholder, _f = _a.selectedMultiple, selectedMultiple = _f === void 0 ? [] : _f, selected = _a.selected, rightAddons = _a.rightAddons, _g = _a.valueRenderer, valueRenderer = _g === void 0 ? utils.joinOptions : _g; _a.setSelectedItems; _a.toggleMenu; var Arrow = _a.Arrow, innerProps = _a.innerProps, dataTestId = _a.dataTestId, fieldClassName = _a.fieldClassName, FormControlComponent = _a.FormControlComponent, restProps = tslib.__rest(_a, ["size", "open", "multiple", "error", "hint", "disabled", "label", "labelView", "placeholder", "selectedMultiple", "selected", "rightAddons", "valueRenderer", "setSelectedItems", "toggleMenu", "Arrow", "innerProps", "dataTestId", "fieldClassName", "FormControlComponent"]);
21
+ var _h = React.useState(false), focused = _h[0], setFocused = _h[1];
23
22
  var wrapperRef = React.useRef(null);
24
23
  var focusVisible = hooks.useFocus(wrapperRef, 'keyboard')[0];
25
24
  var handleFocus = React.useCallback(function () { return setFocused(true); }, []);
26
25
  var handleBlur = React.useCallback(function () { return setFocused(false); }, []);
27
26
  var value = valueRenderer({ selected: selected, selectedMultiple: selectedMultiple });
28
27
  var filled = Boolean(value);
29
- var showLabel = !!label && (filled || !placeholder || labelView === 'outer');
30
- return (React__default.default.createElement("div", { className: styles__default.default.component, ref: wrapperRef, onFocus: handleFocus, onBlur: handleBlur },
31
- React__default.default.createElement(coreComponentsFormControl.FormControl, tslib.__assign({ fieldClassName: cn__default.default(styles__default.default.field, fieldClassName, (_b = {},
32
- _b[styles__default.default.disabled] = disabled,
33
- _b[styles__default.default.focusVisible] = focusVisible,
34
- _b)), block: true, size: size, focused: open || focused, disabled: disabled, filled: filled, label: showLabel && label, labelView: labelView, error: error, hint: hint, rightAddons: (Arrow || rightAddons) && (React__default.default.createElement(React__default.default.Fragment, null,
35
- rightAddons,
36
- Arrow ? React__default.default.cloneElement(Arrow, { className: styles__default.default.arrow }) : null)), "data-test-id": dataTestId }, restProps, innerProps),
37
- React__default.default.createElement("div", { className: styles__default.default.contentWrapper },
38
- placeholder && !filled && (React__default.default.createElement("span", { className: styles__default.default.placeholder }, placeholder)),
39
- filled && React__default.default.createElement("div", { className: styles__default.default.value }, value)))));
28
+ var showLabel = !!label || labelView === 'outer';
29
+ var showPlaceholder = !!placeholder && !filled && (open || !label || labelView === 'outer');
30
+ return (React__default.default.createElement("div", { className: styles__default.default.component, ref: wrapperRef, onFocus: handleFocus, onBlur: handleBlur }, FormControlComponent ? (React__default.default.createElement(FormControlComponent, tslib.__assign({ fieldClassName: cn__default.default(styles__default.default.field, fieldClassName, (_b = {},
31
+ _b[styles__default.default.disabled] = disabled,
32
+ _b[styles__default.default.focusVisible] = focusVisible,
33
+ _b)), block: true, size: size, focused: focused || open, disabled: disabled, filled: filled || (!!placeholder && open), label: showLabel && label, labelView: labelView, error: error, hint: hint, rightAddons: (Arrow || rightAddons) && (React__default.default.createElement(React__default.default.Fragment, null,
34
+ rightAddons,
35
+ Arrow
36
+ ? React__default.default.cloneElement(Arrow, { className: styles__default.default.arrow })
37
+ : null)), "data-test-id": dataTestId }, restProps, innerProps),
38
+ React__default.default.createElement("div", { className: styles__default.default.contentWrapper },
39
+ showPlaceholder && (React__default.default.createElement("span", { className: cn__default.default(styles__default.default.placeholder, (_c = {},
40
+ _c[styles__default.default.focused] = focused || open,
41
+ _c)) }, placeholder)),
42
+ filled && React__default.default.createElement("div", { className: styles__default.default.value }, value)))) : null));
40
43
  };
41
44
 
42
45
  exports.Field = Field;
@@ -6,7 +6,6 @@ var components_field_Component = require('./Component.js');
6
6
  require('tslib');
7
7
  require('react');
8
8
  require('classnames');
9
- require('@alfalab/core-components-form-control/cssm');
10
9
  require('@alfalab/hooks');
11
10
  require('../../utils.js');
12
11
  require('./index.module.css');
@@ -1,7 +1,8 @@
1
1
  :root {
2
2
  } /* deprecated */ :root {
3
3
  --color-light-border-link: #0072ef;
4
- --color-light-text-secondary: rgba(60, 60, 67, 0.66); /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
+ --color-light-text-secondary: rgba(60, 60, 67, 0.66);
5
+ --color-light-text-tertiary: rgba(60, 60, 67, 0.4); /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
5
6
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
6
7
  } :root {
7
8
  } :root {
@@ -17,6 +18,21 @@
17
18
  } :root {
18
19
  --focus-color: var(--color-light-border-link);
19
20
  --disabled-cursor: not-allowed;
21
+ } :root {
22
+ --input-placeholder-color: var(--color-light-text-secondary);
23
+ --input-focus-placeholder-color: var(--color-light-text-tertiary);
24
+
25
+ /* disabled */
26
+
27
+ /* read-only */
28
+
29
+ /* error */
30
+
31
+ /* display */
32
+
33
+ /* управляет видимостью иконки ошибки, если она стоит рядом с другой иконкой */
34
+
35
+ /* mobile */
20
36
  } :root {
21
37
  --select-arrow-hover-opacity: 0.7;
22
38
 
@@ -36,9 +52,13 @@
36
52
  opacity: var(--select-arrow-hover-opacity);
37
53
  } .disabled {
38
54
  cursor: var(--disabled-cursor);
39
- } /* TODO: Заюзать переменные из инпута */ .placeholder {
40
- color: var(--color-light-text-secondary);
41
- } .contentWrapper {
55
+ } .placeholder {
56
+ color: var(--input-placeholder-color);
57
+ transition: color 0.2s ease;
58
+ animation: show-placeholder 0.2s ease
59
+ } .placeholder.focused {
60
+ color: var(--input-focus-placeholder-color);
61
+ } .contentWrapper {
42
62
  font-size: 16px;
43
63
  line-height: 20px;
44
64
  font-weight: 400;
@@ -54,4 +74,11 @@
54
74
  } .focusVisible {
55
75
  outline: 2px solid var(--focus-color);
56
76
  outline-offset: 2px;
77
+ } @keyframes show-placeholder {
78
+ from {
79
+ opacity: 0;
80
+ }
81
+ to {
82
+ opacity: 1;
83
+ }
57
84
  }
@@ -1,7 +1,5 @@
1
1
  export * from "./arrow/index";
2
2
  export * from "./base-select/index";
3
- export * from "./select-mobile/index";
4
- export * from "./select-modal-mobile/index";
5
3
  export * from "./field/index";
6
4
  export * from "./optgroup/index";
7
5
  export * from "./option/index";
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var components_arrow_Component = require('./arrow/Component.js');
6
6
  var components_baseSelect_Component = require('./base-select/Component.js');
7
- var presets_useSelectWithApply_optionsListWithApply_Component = require('../Component-4727d474.js');
8
7
  var components_field_Component = require('./field/Component.js');
9
8
  var components_optgroup_Component = require('./optgroup/Component.js');
10
9
  var components_option_Component = require('./option/Component.js');
@@ -20,55 +19,35 @@ require('react-merge-refs');
20
19
  require('@juggle/resize-observer');
21
20
  require('downshift');
22
21
  require('@alfalab/core-components-popover/cssm');
22
+ require('@alfalab/core-components-shared/cssm');
23
23
  require('@alfalab/hooks');
24
- require('../getDataTestId-5c876d98.js');
25
24
  require('../utils.js');
26
25
  require('./native-select/Component.js');
27
26
  require('./base-select/index.module.css');
28
- require('../Component.js');
29
- require('../presets/useSelectWithApply/options-list-with-apply/header/Component.js');
30
- require('@alfalab/core-components-checkbox/cssm');
31
- require('../presets/useSelectWithApply/options-list-with-apply/header/index.module.css');
32
- require('./base-select-mobile/Component.js');
33
- require('@alfalab/core-components-bottom-sheet/cssm');
34
- require('@alfalab/core-components-modal/cssm/mobile');
35
- require('./base-select-mobile/index.module.css');
36
- require('./base-select-mobile/footer/Component.js');
37
- require('@alfalab/core-components-base-modal/cssm');
38
- require('@alfalab/core-components-button/cssm');
39
- require('./base-select-mobile/footer/index.module.css');
40
- require('@alfalab/core-components-form-control/cssm');
41
27
  require('./field/index.module.css');
42
28
  require('./optgroup/index.module.css');
29
+ require('./checkmark/Component.js');
43
30
  require('@alfalab/core-components-badge/cssm');
31
+ require('@alfalab/core-components-checkbox/cssm');
44
32
  require('@alfalab/icons-glyph/CheckmarkCircleMIcon');
45
33
  require('@alfalab/icons-glyph/CheckmarkMIcon');
46
34
  require('./checkmark/index.module.css');
35
+ require('./checkmark-mobile/Component.js');
47
36
  require('./checkmark-mobile/index.module.css');
48
37
  require('./option/index.module.css');
49
- require('./base-checkmark/index.module.css');
50
- require('./base-option/index.module.css');
51
- require('@alfalab/core-components-skeleton/cssm');
52
- require('../presets/useSelectWithLoading/index.module.css');
53
- require('../presets/useLazyLoading/index.module.css');
54
- require('../intersection-observer-9ec5cf59.js');
55
- require('../consts.js');
56
- require('../presets/useSelectWithApply/options-list-with-apply/footer/Component.js');
57
- require('../presets/useSelectWithApply/options-list-with-apply/footer/index.module.css');
58
- require('./checkmark/Component.js');
59
- require('./checkmark-mobile/Component.js');
60
38
  require('@alfalab/core-components-scrollbar/cssm');
39
+ require('../consts.js');
61
40
  require('./options-list/index.module.css');
62
41
  require('react-virtual');
63
42
  require('./virtual-options-list/index.module.css');
64
43
  require('./base-checkmark/Component.js');
44
+ require('./base-checkmark/index.module.css');
45
+ require('./base-option/index.module.css');
65
46
 
66
47
 
67
48
 
68
49
  exports.Arrow = components_arrow_Component.Arrow;
69
50
  exports.BaseSelect = components_baseSelect_Component.BaseSelect;
70
- exports.SelectMobile = presets_useSelectWithApply_optionsListWithApply_Component.SelectMobile;
71
- exports.SelectModalMobile = presets_useSelectWithApply_optionsListWithApply_Component.SelectModalMobile;
72
51
  exports.Field = components_field_Component.Field;
73
52
  exports.Optgroup = components_optgroup_Component.Optgroup;
74
53
  exports.Option = components_option_Component.Option;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import React from 'react';
2
3
  import { OptgroupProps } from "../../typings";
3
- declare const Optgroup: ({ children, className, label, size }: OptgroupProps) => JSX.Element;
4
+ declare const Optgroup: ({ children, className, label, size }: OptgroupProps) => React.JSX.Element;
4
5
  export { Optgroup };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ import { AnchorButtonProps, NativeButtonProps } from "./typings-9211a437";
4
+ type ButtonDesktopProps = Partial<AnchorButtonProps | NativeButtonProps>;
5
+ declare const ButtonDesktop: React.ForwardRefExoticComponent<ButtonDesktopProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
6
+ export { ButtonDesktopProps, ButtonDesktop };
@@ -0,0 +1,2 @@
1
+ export { SelectDesktop, SelectDesktopProps } from "./Component.desktop";
2
+ export {};
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Component_desktop = require('./Component.desktop.js');
6
+ require('tslib');
7
+ require('react');
8
+ require('@alfalab/core-components-form-control/cssm/desktop');
9
+ require('./components/arrow/Component.js');
10
+ require('classnames');
11
+ require('@alfalab/icons-glyph/ChevronDownMIcon');
12
+ require('./components/arrow/index.module.css');
13
+ require('./components/base-select/Component.js');
14
+ require('react-merge-refs');
15
+ require('@juggle/resize-observer');
16
+ require('downshift');
17
+ require('@alfalab/core-components-popover/cssm');
18
+ require('@alfalab/core-components-shared/cssm');
19
+ require('@alfalab/hooks');
20
+ require('./utils.js');
21
+ require('./components/native-select/Component.js');
22
+ require('./components/base-select/index.module.css');
23
+ require('./components/field/Component.js');
24
+ require('./components/field/index.module.css');
25
+ require('./components/optgroup/Component.js');
26
+ require('./components/optgroup/index.module.css');
27
+ require('./components/option/Component.js');
28
+ require('./components/checkmark/Component.js');
29
+ require('@alfalab/core-components-badge/cssm');
30
+ require('@alfalab/core-components-checkbox/cssm');
31
+ require('@alfalab/icons-glyph/CheckmarkCircleMIcon');
32
+ require('@alfalab/icons-glyph/CheckmarkMIcon');
33
+ require('./components/checkmark/index.module.css');
34
+ require('./components/checkmark-mobile/Component.js');
35
+ require('./components/checkmark-mobile/index.module.css');
36
+ require('./components/option/index.module.css');
37
+ require('./components/options-list/Component.js');
38
+ require('@alfalab/core-components-scrollbar/cssm');
39
+ require('./consts.js');
40
+ require('./components/options-list/index.module.css');
41
+
42
+
43
+
44
+ exports.SelectDesktop = Component_desktop.SelectDesktop;
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { OptionShape, OptionsListProps } from "./typings";
4
+ import { FooterProps } from "./presets/useSelectWithApply/options-list-with-apply/footer/Component";
5
+ import { HeaderProps } from "./presets/useSelectWithApply/options-list-with-apply/header/Component";
6
+ declare const OptionsListWithApply: React.ForwardRefExoticComponent<OptionsListProps & {
7
+ showClear?: boolean | undefined;
8
+ onClose?: (() => void) | undefined;
9
+ selectedDraft?: OptionShape[] | undefined;
10
+ OptionsList?: React.FC<OptionsListProps & React.RefAttributes<HTMLDivElement>> | undefined;
11
+ Footer?: React.FC<FooterProps> | undefined;
12
+ Header?: React.FC<HeaderProps> | undefined;
13
+ headerProps?: HeaderProps | undefined;
14
+ showHeaderWithSelectAll?: boolean | undefined;
15
+ } & React.RefAttributes<HTMLDivElement>>;
16
+ export { OptionsListWithApply };
@@ -0,0 +1,110 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var React = require('react');
5
+ var utils = require('./utils.js');
6
+ var components_optionsList_Component = require('./components/options-list/Component.js');
7
+ var consts = require('./consts.js');
8
+ var presets_useSelectWithApply_optionsListWithApply_footer_Component = require('./presets/useSelectWithApply/options-list-with-apply/footer/Component.js');
9
+ var presets_useSelectWithApply_optionsListWithApply_header_Component = require('./presets/useSelectWithApply/options-list-with-apply/header/Component.js');
10
+
11
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
12
+
13
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
14
+
15
+ var OptionsListWithApply = React.forwardRef(function (_a, ref) {
16
+ var toggleMenu = _a.toggleMenu, defaultGetOptionProps = _a.getOptionProps, _b = _a.showClear, showClear = _b === void 0 ? true : _b, showHeaderWithSelectAll = _a.showHeaderWithSelectAll, _c = _a.selectedDraft, selectedDraft = _c === void 0 ? [] : _c, _d = _a.flatOptions, flatOptions = _d === void 0 ? [] : _d, _e = _a.OptionsList, OptionsList = _e === void 0 ? components_optionsList_Component.OptionsList : _e, _f = _a.onApply, onApply = _f === void 0 ? function () { return null; } : _f, _g = _a.onClear, onClear = _g === void 0 ? function () { return null; } : _g, _h = _a.onClose, onClose = _h === void 0 ? function () { return null; } : _h, _j = _a.visibleOptions, visibleOptions = _j === void 0 ? consts.DEFAULT_VISIBLE_OPTIONS : _j, _k = _a.Footer, Footer = _k === void 0 ? presets_useSelectWithApply_optionsListWithApply_footer_Component.Footer : _k, _l = _a.Header, Header = _l === void 0 ? presets_useSelectWithApply_optionsListWithApply_header_Component.Header : _l, headerProps = _a.headerProps, restProps = tslib.__rest(_a, ["toggleMenu", "getOptionProps", "showClear", "showHeaderWithSelectAll", "selectedDraft", "flatOptions", "OptionsList", "onApply", "onClear", "onClose", "visibleOptions", "Footer", "Header", "headerProps"]);
17
+ var getOptionProps = React.useCallback(function (option, index) {
18
+ var optionProps = defaultGetOptionProps(option, index);
19
+ var selected = option.key === SELECT_ALL_KEY
20
+ ? selectedDraft.length === flatOptions.length - 1
21
+ : selectedDraft.includes(option);
22
+ return tslib.__assign(tslib.__assign({}, optionProps), { selected: selected });
23
+ }, [defaultGetOptionProps, flatOptions.length, selectedDraft]);
24
+ var handleApply = React.useCallback(function () {
25
+ onApply();
26
+ toggleMenu();
27
+ }, [onApply, toggleMenu]);
28
+ var handleClear = React.useCallback(function () {
29
+ onClear();
30
+ toggleMenu();
31
+ }, [onClear, toggleMenu]);
32
+ React.useEffect(function () {
33
+ var activeElement = document.activeElement;
34
+ return function () {
35
+ onClose();
36
+ if (activeElement) {
37
+ activeElement.focus();
38
+ }
39
+ };
40
+ // eslint-disable-next-line react-hooks/exhaustive-deps
41
+ }, []);
42
+ return (React__default.default.createElement(OptionsList, tslib.__assign({}, restProps, { ref: ref, visibleOptions: visibleOptions, toggleMenu: toggleMenu, flatOptions: flatOptions, getOptionProps: getOptionProps, onApply: handleApply, onClear: handleClear, header: showHeaderWithSelectAll ? React__default.default.createElement(Header, tslib.__assign({}, headerProps)) : undefined, footer: React__default.default.createElement(Footer, { handleApply: handleApply, handleClear: handleClear, showClear: showClear, selectedDraft: selectedDraft }) })));
43
+ });
44
+
45
+ var SELECT_ALL_KEY = 'select_all';
46
+ var selectAllOption = { key: SELECT_ALL_KEY, content: 'Выбрать все' };
47
+ function useSelectWithApply(_a) {
48
+ var options = _a.options, selected = _a.selected, _b = _a.onChange, onChange = _b === void 0 ? function () { return null; } : _b, OptionsList = _a.OptionsList, _c = _a.optionsListProps, optionsListProps = _c === void 0 ? {} : _c, _d = _a.showClear, showClear = _d === void 0 ? true : _d, _e = _a.showSelectAll, showSelectAll = _e === void 0 ? false : _e, _f = _a.showHeaderWithSelectAll, showHeaderWithSelectAll = _f === void 0 ? false : _f;
49
+ var _g = React.useMemo(function () { return utils.processOptions(options, selected); }, [options, selected]), flatOptions = _g.flatOptions, selectedOptions = _g.selectedOptions;
50
+ var _h = React.useState(selectedOptions), selectedDraft = _h[0], setSelectedDraft = _h[1];
51
+ var selectedOptionsRef = React.useRef(selectedOptions);
52
+ var handleApply = function () {
53
+ onChange({
54
+ selected: selectedDraft[0],
55
+ selectedMultiple: selectedDraft,
56
+ initiator: null,
57
+ });
58
+ };
59
+ var handleClear = function () {
60
+ setSelectedDraft([]);
61
+ onChange({
62
+ selected: null,
63
+ selectedMultiple: [],
64
+ initiator: null,
65
+ });
66
+ };
67
+ var handleToggleAll = function () {
68
+ setSelectedDraft(flatOptions.length === selectedDraft.length ? [] : flatOptions);
69
+ };
70
+ var handleChange = function (_a) {
71
+ var initiator = _a.initiator, restArgs = tslib.__rest(_a, ["initiator"]);
72
+ if (!initiator) {
73
+ onChange(tslib.__assign({ initiator: null }, restArgs));
74
+ return;
75
+ }
76
+ var initiatorSelected = selectedDraft.includes(initiator) ||
77
+ (initiator.key === SELECT_ALL_KEY && selectedDraft.length === flatOptions.length);
78
+ if (initiator.key === SELECT_ALL_KEY) {
79
+ setSelectedDraft(initiatorSelected ? [] : flatOptions);
80
+ }
81
+ else {
82
+ setSelectedDraft(initiatorSelected
83
+ ? selectedDraft.filter(function (o) { return o !== initiator; })
84
+ : selectedDraft.concat(initiator));
85
+ }
86
+ };
87
+ var handleClose = function () { return setSelectedDraft(selectedOptionsRef.current); };
88
+ React.useEffect(function () {
89
+ setSelectedDraft(selectedOptions);
90
+ selectedOptionsRef.current = selectedOptions;
91
+ }, [selectedOptions]);
92
+ var memoizedOptions = React.useMemo(function () { return (showSelectAll ? tslib.__spreadArray([selectAllOption], options, true) : options); }, [options, showSelectAll]);
93
+ return {
94
+ OptionsList: OptionsListWithApply,
95
+ optionsListProps: tslib.__assign(tslib.__assign({}, optionsListProps), { OptionsList: OptionsList, showClear: showClear, onClear: handleClear, onApply: handleApply, onClose: handleClose, selectedDraft: selectedDraft, showHeaderWithSelectAll: showHeaderWithSelectAll, headerProps: {
96
+ indeterminate: !!selectedDraft.length && selectedDraft.length < flatOptions.length,
97
+ checked: selectedDraft.length === flatOptions.length,
98
+ onChange: handleToggleAll,
99
+ } }),
100
+ allowUnselect: true,
101
+ multiple: true,
102
+ options: memoizedOptions,
103
+ onChange: handleChange,
104
+ selected: selected,
105
+ };
106
+ }
107
+
108
+ exports.OptionsListWithApply = OptionsListWithApply;
109
+ exports.SELECT_ALL_KEY = SELECT_ALL_KEY;
110
+ exports.useSelectWithApply = useSelectWithApply;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { BaseSelectProps, OptionShape } from "./index";
2
+ import { BaseSelectProps, OptionShape } from "./typings";
3
3
  type UseSelectWithApplyProps = {
4
4
  /**
5
5
  * Список выбранных пунктов
@@ -36,18 +36,20 @@ type UseSelectWithApplyProps = {
36
36
  };
37
37
  declare const SELECT_ALL_KEY = "select_all";
38
38
  declare function useSelectWithApply({ options, selected, onChange, OptionsList, optionsListProps, showClear, showSelectAll, showHeaderWithSelectAll, }: UseSelectWithApplyProps): {
39
- OptionsList: import("react").ForwardRefExoticComponent<import("./index").OptionsListProps & {
39
+ OptionsList: import("react").ForwardRefExoticComponent<import("./typings").OptionsListProps & {
40
40
  showClear?: boolean | undefined;
41
41
  onClose?: (() => void) | undefined;
42
42
  selectedDraft?: OptionShape[] | undefined;
43
- OptionsList?: import("react").FC<import("./index").OptionsListProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
43
+ OptionsList?: import("react").FC<import("./typings").OptionsListProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
44
44
  Footer?: import("react").FC<import("./presets/useSelectWithApply/options-list-with-apply/footer/Component").FooterProps> | undefined;
45
45
  Header?: import("react").FC<import("./presets/useSelectWithApply/options-list-with-apply/header/Component").HeaderProps> | undefined;
46
- headerProps?: import("./presets/useSelectWithApply/options-list-with-apply/header/Component").HeaderProps | undefined;
46
+ headerProps?: import("./presets/useSelectWithApply/options-list-with-apply/header/Component").HeaderProps | undefined; /**
47
+ * Показывать кнопку очистки
48
+ */
47
49
  showHeaderWithSelectAll?: boolean | undefined;
48
50
  } & import("react").RefAttributes<HTMLDivElement>>;
49
51
  optionsListProps: {
50
- OptionsList: import("react").FC<import("./index").OptionsListProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
52
+ OptionsList: import("react").FC<import("./typings").OptionsListProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
51
53
  showClear: boolean;
52
54
  onClear: () => void;
53
55
  onApply: () => void;
@@ -62,11 +64,11 @@ declare function useSelectWithApply({ options, selected, onChange, OptionsList,
62
64
  };
63
65
  allowUnselect: boolean;
64
66
  multiple: boolean;
65
- options: (OptionShape | import("./index").GroupShape | {
67
+ options: (OptionShape | import("./typings").GroupShape | {
66
68
  key: string;
67
69
  content: string;
68
70
  })[];
69
- onChange: (payload: import("./index").BaseSelectChangePayload) => void;
71
+ onChange: (payload: import("./typings").BaseSelectChangePayload) => void;
70
72
  selected: string | OptionShape | (string | OptionShape)[] | null | undefined;
71
73
  };
72
74
  export { UseSelectWithApplyProps, SELECT_ALL_KEY, useSelectWithApply };
@@ -1,80 +1,40 @@
1
1
  /// <reference types="react" />
2
+ // TODO Вид кнопок зависит от порядка импорта стилей.
3
+ /* eslint-disable simple-import-sort/imports */
2
4
  import React from "react";
3
- import { ButtonHTMLAttributes, ElementType, FC, AnchorHTMLAttributes } from "react";
4
- import { ButtonProps } from "@alfalab/core-components-button";
5
- interface CloserProps extends ButtonHTMLAttributes<HTMLButtonElement> {
5
+ import { FC } from "react";
6
+ import { BaseButtonProps } from "./typings-9211a437";
7
+ /**
8
+ * Минимальное время отображения лоадера - 500мс,
9
+ * чтобы при быстрых ответах от сервера кнопка не «моргала».
10
+ */
11
+ declare const LOADER_MIN_DISPLAY_INTERVAL = 500;
12
+ declare const BaseButton: React.ForwardRefExoticComponent<BaseButtonProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
13
+ type SpinnerProps = {
6
14
  /**
7
- * Вид компонента
15
+ * Управление видимостью компонента
8
16
  */
9
- view: "desktop" | "mobile";
10
- /**
11
- * Дополнительный класс
12
- */
13
- className?: string;
14
- /**
15
- * Позиция крестика
16
- */
17
- align?: "left" | "right";
18
- /**
19
- * Фиксирует крестик
20
- */
21
- sticky?: boolean;
22
- /**
23
- * Иконка
24
- */
25
- icon?: ElementType;
26
- /**
27
- * Идентификатор для систем автоматизированного тестирования
28
- */
29
- dataTestId?: string;
30
- /**
31
- * Коллбэк закрытия.
32
- */
33
- onClose?: (event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, reason?: "backdropClick" | "escapeKeyDown" | "closerClick") => void;
34
- }
35
- declare const Closer: FC<CloserProps>;
36
- type IconButtonProps = {
37
- /**
38
- * Компонент иконки
39
- */
40
- icon: ElementType<{
41
- className?: string;
42
- }>;
43
- /**
44
- * Тип кнопки
45
- */
46
- view?: "primary" | "secondary" | "transparent" | "tertiary" | "negative";
17
+ visible?: boolean;
47
18
  /**
48
19
  * Размер компонента
49
20
  */
50
- size?: "xxs" | "xs" | "s";
21
+ size?: "xs" | "s" | "m";
51
22
  /**
52
23
  * Дополнительный класс
53
24
  */
54
25
  className?: string;
55
26
  /**
56
- * Выравнивание иконки
57
- * @default 'center'
27
+ * Идентификатор компонента в DOM
58
28
  */
59
- alignIcon?: "left" | "center" | "right";
29
+ id?: string;
60
30
  /**
61
31
  * Идентификатор для систем автоматизированного тестирования
62
32
  */
63
33
  dataTestId?: string;
64
34
  /**
65
- * Набор цветов для компонента
35
+ * Палитра, в контексте которой используется спиннер
66
36
  */
67
37
  colors?: "default" | "inverted";
68
- } & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "loading"> & Pick<AnchorHTMLAttributes<HTMLAnchorElement>, "target" | "download">;
69
- declare const IconButton: React.ForwardRefExoticComponent<{
70
- icon: ElementType<{
71
- className?: string;
72
- }>;
73
- view?: "primary" | "secondary" | "tertiary" | "negative" | "transparent" | undefined;
74
- size?: "s" | "xs" | "xxs" | undefined;
75
- className?: string | undefined;
76
- alignIcon?: "right" | "left" | "center" | undefined;
77
- dataTestId?: string | undefined;
78
- colors?: "default" | "inverted" | undefined;
79
- } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "loading"> & Pick<React.AnchorHTMLAttributes<HTMLAnchorElement>, "download" | "target"> & React.RefAttributes<HTMLButtonElement>>;
80
- export { CloserProps, Closer, IconButtonProps, IconButton };
38
+ };
39
+ declare const Spinner: FC<SpinnerProps>;
40
+ export { LOADER_MIN_DISPLAY_INTERVAL, BaseButton, SpinnerProps, Spinner };
package/cssm/index.d.ts CHANGED
@@ -1,5 +1,2 @@
1
- export * from "./Component";
2
- export * from "./components/index";
3
- export * from "./presets/index";
4
- export * from "./typings";
5
- export * from "./utils";
1
+ export { SelectResponsive as Select, SelectResponsiveProps as SelectProps } from "./Component.responsive";
2
+ export {};