@alfalab/core-components-select 19.1.10 → 19.2.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 (251) hide show
  1. package/components/arrow/index.css +4 -4
  2. package/components/arrow/index.module.css.js +1 -1
  3. package/components/base-checkmark/index.css +9 -9
  4. package/components/base-checkmark/index.module.css.js +1 -1
  5. package/components/base-option/index.css +14 -14
  6. package/components/base-option/index.module.css.js +1 -1
  7. package/components/base-select/Component.js +36 -49
  8. package/components/base-select/Component.js.map +1 -1
  9. package/components/base-select/index.css +70 -20
  10. package/components/base-select/index.module.css.js +1 -1
  11. package/components/base-select/index.module.css.js.map +1 -1
  12. package/components/base-select/mobile.css +12 -11
  13. package/components/base-select/mobile.module.css.js +1 -1
  14. package/components/base-select/mobile.module.css.js.map +1 -1
  15. package/components/checkmark/index.css +11 -11
  16. package/components/checkmark/index.module.css.js +1 -1
  17. package/components/checkmark-mobile/index.css +6 -6
  18. package/components/checkmark-mobile/index.module.css.js +1 -1
  19. package/components/clear-button/index.css +4 -4
  20. package/components/clear-button/index.module.css.js +1 -1
  21. package/components/field/index.css +13 -13
  22. package/components/field/index.module.css.js +1 -1
  23. package/components/footer/index.css +4 -4
  24. package/components/footer/index.module.css.js +1 -1
  25. package/components/optgroup/index.css +4 -4
  26. package/components/optgroup/index.module.css.js +1 -1
  27. package/components/option/desktop/index.css +23 -19
  28. package/components/option/desktop/index.module.css.js +1 -1
  29. package/components/option/desktop/index.module.css.js.map +1 -1
  30. package/components/option/mobile/index.css +20 -16
  31. package/components/option/mobile/index.module.css.js +1 -1
  32. package/components/option/mobile/index.module.css.js.map +1 -1
  33. package/components/options-list/Component.d.ts +4 -0
  34. package/components/options-list/Component.js +32 -53
  35. package/components/options-list/Component.js.map +1 -1
  36. package/components/options-list/index.css +13 -33
  37. package/components/options-list/index.module.css.js +1 -1
  38. package/components/options-list/index.module.css.js.map +1 -1
  39. package/components/search/index.css +1 -1
  40. package/components/search/index.module.css.js +1 -1
  41. package/components/virtual-options-list/Component.d.ts +4 -0
  42. package/components/virtual-options-list/Component.js +61 -48
  43. package/components/virtual-options-list/Component.js.map +1 -1
  44. package/cssm/components/base-select/Component.js +36 -49
  45. package/cssm/components/base-select/Component.js.map +1 -1
  46. package/cssm/components/base-select/index.module.css +61 -11
  47. package/cssm/components/base-select/mobile.module.css +1 -0
  48. package/cssm/components/option/desktop/index.module.css +4 -0
  49. package/cssm/components/option/mobile/index.module.css +4 -0
  50. package/cssm/components/options-list/Component.d.ts +4 -0
  51. package/cssm/components/options-list/Component.js +32 -53
  52. package/cssm/components/options-list/Component.js.map +1 -1
  53. package/cssm/components/options-list/index.module.css +6 -26
  54. package/cssm/components/virtual-options-list/Component.d.ts +4 -0
  55. package/cssm/components/virtual-options-list/Component.js +61 -48
  56. package/cssm/components/virtual-options-list/Component.js.map +1 -1
  57. package/cssm/presets/useSelectWithApply/hook.d.ts +12 -0
  58. package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +4 -0
  59. package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +0 -5
  60. package/cssm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +9 -6
  61. package/cssm/shared/index.js +0 -1
  62. package/cssm/shared/index.js.map +1 -1
  63. package/cssm/typings.d.ts +21 -1
  64. package/cssm/utils.d.ts +1 -6
  65. package/cssm/utils.js +19 -28
  66. package/cssm/utils.js.map +1 -1
  67. package/esm/components/arrow/index.css +4 -4
  68. package/esm/components/arrow/index.module.css.js +1 -1
  69. package/esm/components/base-checkmark/index.css +9 -9
  70. package/esm/components/base-checkmark/index.module.css.js +1 -1
  71. package/esm/components/base-option/index.css +14 -14
  72. package/esm/components/base-option/index.module.css.js +1 -1
  73. package/esm/components/base-select/Component.js +37 -50
  74. package/esm/components/base-select/Component.js.map +1 -1
  75. package/esm/components/base-select/index.css +70 -20
  76. package/esm/components/base-select/index.module.css.js +1 -1
  77. package/esm/components/base-select/index.module.css.js.map +1 -1
  78. package/esm/components/base-select/mobile.css +12 -11
  79. package/esm/components/base-select/mobile.module.css.js +1 -1
  80. package/esm/components/base-select/mobile.module.css.js.map +1 -1
  81. package/esm/components/checkmark/index.css +11 -11
  82. package/esm/components/checkmark/index.module.css.js +1 -1
  83. package/esm/components/checkmark-mobile/index.css +6 -6
  84. package/esm/components/checkmark-mobile/index.module.css.js +1 -1
  85. package/esm/components/clear-button/index.css +4 -4
  86. package/esm/components/clear-button/index.module.css.js +1 -1
  87. package/esm/components/field/index.css +13 -13
  88. package/esm/components/field/index.module.css.js +1 -1
  89. package/esm/components/footer/index.css +4 -4
  90. package/esm/components/footer/index.module.css.js +1 -1
  91. package/esm/components/optgroup/index.css +4 -4
  92. package/esm/components/optgroup/index.module.css.js +1 -1
  93. package/esm/components/option/desktop/index.css +23 -19
  94. package/esm/components/option/desktop/index.module.css.js +1 -1
  95. package/esm/components/option/desktop/index.module.css.js.map +1 -1
  96. package/esm/components/option/mobile/index.css +20 -16
  97. package/esm/components/option/mobile/index.module.css.js +1 -1
  98. package/esm/components/option/mobile/index.module.css.js.map +1 -1
  99. package/esm/components/options-list/Component.d.ts +4 -0
  100. package/esm/components/options-list/Component.js +33 -54
  101. package/esm/components/options-list/Component.js.map +1 -1
  102. package/esm/components/options-list/index.css +13 -33
  103. package/esm/components/options-list/index.module.css.js +1 -1
  104. package/esm/components/options-list/index.module.css.js.map +1 -1
  105. package/esm/components/search/index.css +1 -1
  106. package/esm/components/search/index.module.css.js +1 -1
  107. package/esm/components/virtual-options-list/Component.d.ts +4 -0
  108. package/esm/components/virtual-options-list/Component.js +63 -49
  109. package/esm/components/virtual-options-list/Component.js.map +1 -1
  110. package/esm/mobile/modal.mobile.css +1 -1
  111. package/esm/mobile/modal.mobile.module.css.js +1 -1
  112. package/esm/presets/useSelectWithApply/hook.d.ts +12 -0
  113. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +4 -0
  114. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +2 -7
  115. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  116. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js.map +1 -1
  117. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +12 -9
  118. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  119. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js.map +1 -1
  120. package/esm/presets/useSelectWithLoading/index.css +1 -1
  121. package/esm/presets/useSelectWithLoading/index.module.css.js +1 -1
  122. package/esm/shared/index.js +1 -1
  123. package/esm/typings.d.ts +21 -1
  124. package/esm/utils.d.ts +1 -6
  125. package/esm/utils.js +21 -29
  126. package/esm/utils.js.map +1 -1
  127. package/mobile/modal.mobile.css +1 -1
  128. package/mobile/modal.mobile.module.css.js +1 -1
  129. package/modern/components/arrow/index.css +4 -4
  130. package/modern/components/arrow/index.module.css.js +1 -1
  131. package/modern/components/base-checkmark/index.css +9 -9
  132. package/modern/components/base-checkmark/index.module.css.js +1 -1
  133. package/modern/components/base-option/index.css +14 -14
  134. package/modern/components/base-option/index.module.css.js +1 -1
  135. package/modern/components/base-select/Component.js +34 -47
  136. package/modern/components/base-select/Component.js.map +1 -1
  137. package/modern/components/base-select/index.css +70 -20
  138. package/modern/components/base-select/index.module.css.js +1 -1
  139. package/modern/components/base-select/index.module.css.js.map +1 -1
  140. package/modern/components/base-select/mobile.css +12 -11
  141. package/modern/components/base-select/mobile.module.css.js +1 -1
  142. package/modern/components/base-select/mobile.module.css.js.map +1 -1
  143. package/modern/components/checkmark/index.css +11 -11
  144. package/modern/components/checkmark/index.module.css.js +1 -1
  145. package/modern/components/checkmark-mobile/index.css +6 -6
  146. package/modern/components/checkmark-mobile/index.module.css.js +1 -1
  147. package/modern/components/clear-button/index.css +4 -4
  148. package/modern/components/clear-button/index.module.css.js +1 -1
  149. package/modern/components/field/index.css +13 -13
  150. package/modern/components/field/index.module.css.js +1 -1
  151. package/modern/components/footer/index.css +4 -4
  152. package/modern/components/footer/index.module.css.js +1 -1
  153. package/modern/components/optgroup/index.css +4 -4
  154. package/modern/components/optgroup/index.module.css.js +1 -1
  155. package/modern/components/option/desktop/index.css +23 -19
  156. package/modern/components/option/desktop/index.module.css.js +1 -1
  157. package/modern/components/option/desktop/index.module.css.js.map +1 -1
  158. package/modern/components/option/mobile/index.css +20 -16
  159. package/modern/components/option/mobile/index.module.css.js +1 -1
  160. package/modern/components/option/mobile/index.module.css.js.map +1 -1
  161. package/modern/components/options-list/Component.d.ts +4 -0
  162. package/modern/components/options-list/Component.js +29 -49
  163. package/modern/components/options-list/Component.js.map +1 -1
  164. package/modern/components/options-list/index.css +13 -33
  165. package/modern/components/options-list/index.module.css.js +1 -1
  166. package/modern/components/options-list/index.module.css.js.map +1 -1
  167. package/modern/components/search/index.css +1 -1
  168. package/modern/components/search/index.module.css.js +1 -1
  169. package/modern/components/virtual-options-list/Component.d.ts +4 -0
  170. package/modern/components/virtual-options-list/Component.js +59 -45
  171. package/modern/components/virtual-options-list/Component.js.map +1 -1
  172. package/modern/mobile/modal.mobile.css +1 -1
  173. package/modern/mobile/modal.mobile.module.css.js +1 -1
  174. package/modern/presets/useSelectWithApply/hook.d.ts +12 -0
  175. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +4 -0
  176. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +2 -7
  177. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  178. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js.map +1 -1
  179. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +12 -9
  180. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  181. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js.map +1 -1
  182. package/modern/presets/useSelectWithLoading/index.css +1 -1
  183. package/modern/presets/useSelectWithLoading/index.module.css.js +1 -1
  184. package/modern/shared/index.js +1 -1
  185. package/modern/typings.d.ts +21 -1
  186. package/modern/utils.d.ts +1 -6
  187. package/modern/utils.js +21 -29
  188. package/modern/utils.js.map +1 -1
  189. package/moderncssm/components/base-select/Component.js +34 -47
  190. package/moderncssm/components/base-select/Component.js.map +1 -1
  191. package/moderncssm/components/base-select/index.module.css +67 -9
  192. package/moderncssm/components/base-select/mobile.module.css +1 -0
  193. package/moderncssm/components/option/desktop/index.module.css +3 -0
  194. package/moderncssm/components/option/mobile/index.module.css +3 -0
  195. package/moderncssm/components/options-list/Component.d.ts +4 -0
  196. package/moderncssm/components/options-list/Component.js +29 -49
  197. package/moderncssm/components/options-list/Component.js.map +1 -1
  198. package/moderncssm/components/options-list/index.module.css +7 -32
  199. package/moderncssm/components/virtual-options-list/Component.d.ts +4 -0
  200. package/moderncssm/components/virtual-options-list/Component.js +59 -45
  201. package/moderncssm/components/virtual-options-list/Component.js.map +1 -1
  202. package/moderncssm/presets/useSelectWithApply/hook.d.ts +12 -0
  203. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +4 -0
  204. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +0 -4
  205. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +8 -6
  206. package/moderncssm/shared/index.js +1 -1
  207. package/moderncssm/typings.d.ts +21 -1
  208. package/moderncssm/utils.d.ts +1 -6
  209. package/moderncssm/utils.js +21 -29
  210. package/moderncssm/utils.js.map +1 -1
  211. package/package.json +13 -14
  212. package/presets/useSelectWithApply/hook.d.ts +12 -0
  213. package/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +4 -0
  214. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +2 -7
  215. package/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  216. package/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js.map +1 -1
  217. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +12 -9
  218. package/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  219. package/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js.map +1 -1
  220. package/presets/useSelectWithLoading/index.css +1 -1
  221. package/presets/useSelectWithLoading/index.module.css.js +1 -1
  222. package/shared/index.js +0 -1
  223. package/shared/index.js.map +1 -1
  224. package/src/components/base-select/Component.tsx +41 -55
  225. package/src/components/base-select/index.module.css +60 -8
  226. package/src/components/base-select/mobile.module.css +1 -0
  227. package/src/components/option/index.module.css +4 -0
  228. package/src/components/options-list/Component.tsx +54 -97
  229. package/src/components/options-list/index.module.css +7 -31
  230. package/src/components/virtual-options-list/Component.tsx +95 -72
  231. package/src/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +0 -4
  232. package/src/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +4 -4
  233. package/src/typings.ts +26 -0
  234. package/src/utils.ts +30 -34
  235. package/src/vars.css +3 -0
  236. package/typings.d.ts +21 -1
  237. package/utils.d.ts +1 -6
  238. package/utils.js +19 -28
  239. package/utils.js.map +1 -1
  240. package/components/virtual-options-list/index.css +0 -83
  241. package/components/virtual-options-list/index.module.css.js +0 -8
  242. package/components/virtual-options-list/index.module.css.js.map +0 -1
  243. package/cssm/components/virtual-options-list/index.module.css +0 -83
  244. package/esm/components/virtual-options-list/index.css +0 -83
  245. package/esm/components/virtual-options-list/index.module.css.js +0 -6
  246. package/esm/components/virtual-options-list/index.module.css.js.map +0 -1
  247. package/modern/components/virtual-options-list/index.css +0 -83
  248. package/modern/components/virtual-options-list/index.module.css.js +0 -6
  249. package/modern/components/virtual-options-list/index.module.css.js.map +0 -1
  250. package/moderncssm/components/virtual-options-list/index.module.css +0 -81
  251. package/src/components/virtual-options-list/index.module.css +0 -77
@@ -6,7 +6,7 @@
6
6
  --select-mobile-checkmark-display-icon: block;
7
7
  --select-mobile-checkmark-display-badge: none;
8
8
  }
9
- .select__checkmark_yxbfq {
9
+ .select__checkmark_4z873 {
10
10
  flex-shrink: 0;
11
11
  display: flex;
12
12
  align-items: center;
@@ -15,18 +15,18 @@
15
15
  height: 24px;
16
16
  opacity: 0;
17
17
  }
18
- .select__checkmark_yxbfq.select__selected_yxbfq {
18
+ .select__checkmark_4z873.select__selected_4z873 {
19
19
  opacity: 1;
20
20
  }
21
- .select__checkmark_yxbfq.select__before_yxbfq {
21
+ .select__checkmark_4z873.select__before_4z873 {
22
22
  margin-right: var(--gap-8);
23
23
  }
24
- .select__checkmark_yxbfq.select__after_yxbfq {
24
+ .select__checkmark_4z873.select__after_4z873 {
25
25
  margin-left: var(--gap-8);
26
26
  }
27
- .select__displayIcon_yxbfq {
27
+ .select__displayIcon_4z873 {
28
28
  display: var(--select-mobile-checkmark-display-icon);
29
29
  }
30
- .select__displayBadge_yxbfq {
30
+ .select__displayBadge_4z873 {
31
31
  display: var(--select-mobile-checkmark-display-badge);
32
32
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"checkmark":"select__checkmark_yxbfq","selected":"select__selected_yxbfq","before":"select__before_yxbfq","after":"select__after_yxbfq","displayIcon":"select__displayIcon_yxbfq","displayBadge":"select__displayBadge_yxbfq"};
5
+ var styles = {"checkmark":"select__checkmark_4z873","selected":"select__selected_4z873","before":"select__before_4z873","after":"select__after_4z873","displayIcon":"select__displayIcon_4z873","displayBadge":"select__displayBadge_4z873"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -6,16 +6,16 @@
6
6
  :root {
7
7
  --input-error-icon-display: none;
8
8
  }
9
- .select__clearIcon_weo53 {
9
+ .select__clearIcon_88ytj {
10
10
  display: block;
11
11
  color: var(--color-light-neutral-translucent-500);
12
12
  }
13
- .select__clearIcon_weo53:hover {
13
+ .select__clearIcon_88ytj:hover {
14
14
  color: var(--color-light-neutral-translucent-500-hover);
15
15
  }
16
- .select__clearIcon_weo53:active {
16
+ .select__clearIcon_88ytj:active {
17
17
  color: var(--color-light-neutral-translucent-500-press);
18
18
  }
19
- .select__clearButton_weo53 + [data-addon='error-icon'] {
19
+ .select__clearButton_88ytj + [data-addon='error-icon'] {
20
20
  display: var(--input-error-icon-display);
21
21
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"clearIcon":"select__clearIcon_weo53","clearButton":"select__clearButton_weo53"};
5
+ var styles = {"clearIcon":"select__clearIcon_88ytj","clearButton":"select__clearButton_88ytj"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -18,28 +18,28 @@
18
18
  :root {
19
19
  --select-arrow-hover-opacity: 0.7;
20
20
  }
21
- .select__component_1436i {
21
+ .select__component_1ddmf {
22
22
  width: 100%;
23
23
  outline: none;
24
24
  }
25
- .select__field_1436i:not(.select__disabled_1436i) {
25
+ .select__field_1ddmf:not(.select__disabled_1ddmf) {
26
26
  cursor: pointer;
27
27
  }
28
- .select__field_1436i:not(.select__disabled_1436i):hover .select__arrow_1436i {
28
+ .select__field_1ddmf:not(.select__disabled_1ddmf):hover .select__arrow_1ddmf {
29
29
  opacity: var(--select-arrow-hover-opacity);
30
30
  }
31
- .select__disabled_1436i {
31
+ .select__disabled_1ddmf {
32
32
  cursor: var(--disabled-cursor);
33
33
  }
34
- .select__placeholder_1436i {
34
+ .select__placeholder_1ddmf {
35
35
  color: var(--input-placeholder-color);
36
36
  transition: color 0.2s ease;
37
- animation: select__show-placeholder_1436i 0.2s ease;
37
+ animation: select__show-placeholder_1ddmf 0.2s ease;
38
38
  }
39
- .select__placeholder_1436i.select__focused_1436i {
39
+ .select__placeholder_1ddmf.select__focused_1ddmf {
40
40
  color: var(--input-focus-placeholder-color);
41
41
  }
42
- .select__contentWrapper_1436i {
42
+ .select__contentWrapper_1ddmf {
43
43
  font-size: 16px;
44
44
  line-height: 20px;
45
45
  font-weight: 400;
@@ -50,28 +50,28 @@
50
50
  overflow: hidden;
51
51
  width: 100%;
52
52
  }
53
- .select__contentWrapper_1436i.select__size-40_1436i {
53
+ .select__contentWrapper_1ddmf.select__size-40_1ddmf {
54
54
  font-size: 14px;
55
55
  line-height: 18px;
56
56
  font-weight: 400;
57
57
  font-family: var(--font-family-system);
58
58
  }
59
- .select__value_1436i {
59
+ .select__value_1ddmf {
60
60
  overflow: hidden;
61
61
  text-overflow: ellipsis;
62
62
  text-align: left;
63
63
  }
64
- .select__value_1436i.select__size-40_1436i {
64
+ .select__value_1ddmf.select__size-40_1ddmf {
65
65
  font-size: 14px;
66
66
  line-height: 18px;
67
67
  font-weight: 400;
68
68
  font-family: var(--font-family-system);
69
69
  }
70
- .select__focusVisible_1436i {
70
+ .select__focusVisible_1ddmf {
71
71
  outline: 2px solid var(--focus-color);
72
72
  outline-offset: 2px;
73
73
  }
74
- @keyframes select__show-placeholder_1436i {
74
+ @keyframes select__show-placeholder_1ddmf {
75
75
  from {
76
76
  opacity: 0;
77
77
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"select__component_1436i","field":"select__field_1436i","disabled":"select__disabled_1436i","arrow":"select__arrow_1436i","placeholder":"select__placeholder_1436i","show-placeholder":"select__show-placeholder_1436i","focused":"select__focused_1436i","contentWrapper":"select__contentWrapper_1436i","size-40":"select__size-40_1436i","value":"select__value_1436i","focusVisible":"select__focusVisible_1436i"};
5
+ var styles = {"component":"select__component_1ddmf","field":"select__field_1ddmf","disabled":"select__disabled_1ddmf","arrow":"select__arrow_1ddmf","placeholder":"select__placeholder_1ddmf","show-placeholder":"select__show-placeholder_1ddmf","focused":"select__focused_1ddmf","contentWrapper":"select__contentWrapper_1ddmf","size-40":"select__size-40_1ddmf","value":"select__value_1ddmf","focusVisible":"select__focusVisible_1ddmf"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -6,20 +6,20 @@
6
6
  --gap-m: 16px;
7
7
  --gap-16: var(--gap-m);
8
8
  }
9
- .select__footer_1p00t {
9
+ .select__footer_1hrgj {
10
10
  display: flex;
11
11
  box-sizing: border-box;
12
12
  width: 100%;
13
13
  padding: var(--gap-16) var(--gap-16);
14
14
  background-color: var(--color-light-modal-bg-primary);
15
15
  }
16
- .select__footer_1p00t .select__button_1p00t:first-of-type {
16
+ .select__footer_1hrgj .select__button_1hrgj:first-of-type {
17
17
  margin-right: var(--gap-16);
18
18
  }
19
- .select__button_1p00t {
19
+ .select__button_1hrgj {
20
20
  width: 50%;
21
21
  }
22
- .select__highlighted_1p00t {
22
+ .select__highlighted_1hrgj {
23
23
  border-top: 1px solid var(--color-light-neutral-300);
24
24
  background-color: var(--color-light-modal-bg-primary);
25
25
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"footer":"select__footer_1p00t","button":"select__button_1p00t","highlighted":"select__highlighted_1p00t"};
5
+ var styles = {"footer":"select__footer_1hrgj","button":"select__button_1hrgj","highlighted":"select__highlighted_1hrgj"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -23,7 +23,7 @@
23
23
  --select-optgroup-l-left-padding: var(--gap-16);
24
24
  --select-optgroup-l-right-padding: var(--gap-16);
25
25
  }
26
- .select__optgroup_9oduw {
26
+ .select__optgroup_10tuw {
27
27
  position: relative;
28
28
  display: flex;
29
29
  align-items: center;
@@ -33,10 +33,10 @@
33
33
  background: var(--select-optgroup-background);
34
34
  min-height: 40px;
35
35
  }
36
- .select__optgroup_9oduw + *[role='option']:before {
36
+ .select__optgroup_10tuw + *[role='option']:before {
37
37
  display: none;
38
38
  }
39
- .select__label_9oduw {
39
+ .select__label_10tuw {
40
40
  font-size: 12px;
41
41
  line-height: 16px;
42
42
  font-weight: 400;
@@ -47,7 +47,7 @@
47
47
  display: block;
48
48
  color: var(--select-optgroup-color);
49
49
  }
50
- .select__size-72_9oduw {
50
+ .select__size-72_10tuw {
51
51
  padding-left: var(--select-optgroup-l-left-padding);
52
52
  padding-right: var(--select-optgroup-l-right-padding);
53
53
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"optgroup":"select__optgroup_9oduw","label":"select__label_9oduw","size-72":"select__size-72_9oduw"};
5
+ var styles = {"optgroup":"select__optgroup_10tuw","label":"select__label_10tuw","size-72":"select__size-72_10tuw"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -19,6 +19,7 @@
19
19
  }
20
20
  :root {
21
21
  --disabled-cursor: not-allowed;
22
+ --size-xs-height: 40px;
22
23
  --size-s-height: 48px;
23
24
  --size-m-height: 56px;
24
25
  --size-l-height: 64px;
@@ -43,7 +44,7 @@
43
44
  --select-option-active-color: var(--color-light-text-primary);
44
45
  --select-option-disabled-color: var(--color-light-text-secondary);
45
46
  }
46
- .select__option_4b4g6 {
47
+ .select__option_16sm7 {
47
48
  font-size: 16px;
48
49
  line-height: 20px;
49
50
  font-weight: 400;
@@ -60,11 +61,11 @@
60
61
  position: relative;
61
62
  cursor: pointer;
62
63
  }
63
- .select__option_4b4g6:not(.select__disabled_4b4g6):active {
64
+ .select__option_16sm7:not(.select__disabled_16sm7):active {
64
65
  background: var(--select-option-active-background);
65
66
  color: var(--select-option-active-color);
66
67
  }
67
- .select__option_4b4g6:before {
68
+ .select__option_16sm7:before {
68
69
  content: '';
69
70
  position: absolute;
70
71
  left: var(--select-option-left-padding);
@@ -75,59 +76,62 @@
75
76
  display: var(--select-option-divider-display);
76
77
  transition: opacity 0.2s ease;
77
78
  }
78
- .select__option_4b4g6:first-child:before {
79
+ .select__option_16sm7:first-child:before {
79
80
  display: none;
80
81
  }
81
- .select__size-48_4b4g6 {
82
+ .select__size-40_16sm7 {
83
+ min-height: var(--size-xs-height);
84
+ }
85
+ .select__size-48_16sm7 {
82
86
  min-height: var(--size-s-height);
83
87
  }
84
- .select__size-56_4b4g6 {
88
+ .select__size-56_16sm7 {
85
89
  min-height: var(--size-m-height);
86
90
  }
87
- .select__size-64_4b4g6 {
91
+ .select__size-64_16sm7 {
88
92
  min-height: var(--size-l-height);
89
93
  }
90
- .select__size-72_4b4g6 {
94
+ .select__size-72_16sm7 {
91
95
  min-height: var(--size-xl-height);
92
96
  padding-left: var(--select-option-l-left-padding);
93
97
  padding-right: var(--select-option-l-right-padding);
94
98
  }
95
- .select__size-72_4b4g6:before {
99
+ .select__size-72_16sm7:before {
96
100
  left: var(--select-option-l-left-padding);
97
101
  right: var(--select-option-l-right-padding);
98
102
  }
99
- .select__selected_4b4g6 {
103
+ .select__selected_16sm7 {
100
104
  background: var(--select-option-selected-background);
101
105
  color: var(--select-option-selected-color);
102
106
  cursor: default;
103
107
  }
104
- .select__highlighted_4b4g6 {
108
+ .select__highlighted_16sm7 {
105
109
  background: var(--select-option-hover-background);
106
110
  color: var(--select-option-hover-color);
107
111
  }
108
- .select__highlighted_4b4g6:before,
109
- .select__highlighted_4b4g6 + .select__option_4b4g6:before {
112
+ .select__highlighted_16sm7:before,
113
+ .select__highlighted_16sm7 + .select__option_16sm7:before {
110
114
  opacity: 0;
111
115
  }
112
- .select__disabled_4b4g6 {
116
+ .select__disabled_16sm7 {
113
117
  cursor: var(--disabled-cursor);
114
118
  background: var(--select-option-disabled-background);
115
119
  color: var(--select-option-disabled-color);
116
120
  }
117
- .select__content_4b4g6 {
121
+ .select__content_16sm7 {
118
122
  overflow: hidden;
119
123
  flex: 1;
120
124
  text-overflow: ellipsis;
121
125
  }
122
- .select__textContent_4b4g6 {
126
+ .select__textContent_16sm7 {
123
127
  padding-top: var(--gap-12);
124
128
  padding-bottom: var(--gap-12);
125
129
  }
126
- .select__highlighted_4b4g6 {
130
+ .select__highlighted_16sm7 {
127
131
  background: var(--select-option-hover-background);
128
132
  color: var(--select-option-hover-color);
129
133
  }
130
- .select__highlighted_4b4g6:before,
131
- .select__highlighted_4b4g6 + .select__option_4b4g6:before {
134
+ .select__highlighted_16sm7:before,
135
+ .select__highlighted_16sm7 + .select__option_16sm7:before {
132
136
  opacity: 0;
133
137
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"option":"select__option_4b4g6","disabled":"select__disabled_4b4g6","size-48":"select__size-48_4b4g6","size-56":"select__size-56_4b4g6","size-64":"select__size-64_4b4g6","size-72":"select__size-72_4b4g6","selected":"select__selected_4b4g6","highlighted":"select__highlighted_4b4g6","content":"select__content_4b4g6","textContent":"select__textContent_4b4g6"};
5
+ var styles = {"option":"select__option_16sm7","disabled":"select__disabled_16sm7","size-40":"select__size-40_16sm7","size-48":"select__size-48_16sm7","size-56":"select__size-56_16sm7","size-64":"select__size-64_16sm7","size-72":"select__size-72_16sm7","selected":"select__selected_16sm7","highlighted":"select__highlighted_16sm7","content":"select__content_16sm7","textContent":"select__textContent_16sm7"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../../src/components/option/desktop/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../../vars.css';\n@import '../index.module.css';\n\n.highlighted {\n background: var(--select-option-hover-background);\n color: var(--select-option-hover-color);\n\n &:before,\n & + .option:before {\n opacity: 0;\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,UAAU,CAAC,wBAAwB,CAAC,aAAa,CAAC,2BAA2B,CAAC,SAAS,CAAC,uBAAuB,CAAC,aAAa,CAAC,2BAA2B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../../src/components/option/desktop/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../../vars.css';\n@import '../index.module.css';\n\n.highlighted {\n background: var(--select-option-hover-background);\n color: var(--select-option-hover-color);\n\n &:before,\n & + .option:before {\n opacity: 0;\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,UAAU,CAAC,wBAAwB,CAAC,aAAa,CAAC,2BAA2B,CAAC,SAAS,CAAC,uBAAuB,CAAC,aAAa,CAAC,2BAA2B,CAAC;;;;"}
@@ -19,6 +19,7 @@
19
19
  }
20
20
  :root {
21
21
  --disabled-cursor: not-allowed;
22
+ --size-xs-height: 40px;
22
23
  --size-s-height: 48px;
23
24
  --size-m-height: 56px;
24
25
  --size-l-height: 64px;
@@ -43,7 +44,7 @@
43
44
  --select-option-active-color: var(--color-light-text-primary);
44
45
  --select-option-disabled-color: var(--color-light-text-secondary);
45
46
  }
46
- .select__option_154ac {
47
+ .select__option_1q310 {
47
48
  font-size: 16px;
48
49
  line-height: 20px;
49
50
  font-weight: 400;
@@ -60,11 +61,11 @@
60
61
  position: relative;
61
62
  cursor: pointer;
62
63
  }
63
- .select__option_154ac:not(.select__disabled_154ac):active {
64
+ .select__option_1q310:not(.select__disabled_1q310):active {
64
65
  background: var(--select-option-active-background);
65
66
  color: var(--select-option-active-color);
66
67
  }
67
- .select__option_154ac:before {
68
+ .select__option_1q310:before {
68
69
  content: '';
69
70
  position: absolute;
70
71
  left: var(--select-option-left-padding);
@@ -75,51 +76,54 @@
75
76
  display: var(--select-option-divider-display);
76
77
  transition: opacity 0.2s ease;
77
78
  }
78
- .select__option_154ac:first-child:before {
79
+ .select__option_1q310:first-child:before {
79
80
  display: none;
80
81
  }
81
- .select__size-48_154ac {
82
+ .select__size-40_1q310 {
83
+ min-height: var(--size-xs-height);
84
+ }
85
+ .select__size-48_1q310 {
82
86
  min-height: var(--size-s-height);
83
87
  }
84
- .select__size-56_154ac {
88
+ .select__size-56_1q310 {
85
89
  min-height: var(--size-m-height);
86
90
  }
87
- .select__size-64_154ac {
91
+ .select__size-64_1q310 {
88
92
  min-height: var(--size-l-height);
89
93
  }
90
- .select__size-72_154ac {
94
+ .select__size-72_1q310 {
91
95
  min-height: var(--size-xl-height);
92
96
  padding-left: var(--select-option-l-left-padding);
93
97
  padding-right: var(--select-option-l-right-padding);
94
98
  }
95
- .select__size-72_154ac:before {
99
+ .select__size-72_1q310:before {
96
100
  left: var(--select-option-l-left-padding);
97
101
  right: var(--select-option-l-right-padding);
98
102
  }
99
- .select__selected_154ac {
103
+ .select__selected_1q310 {
100
104
  background: var(--select-option-selected-background);
101
105
  color: var(--select-option-selected-color);
102
106
  cursor: default;
103
107
  }
104
- .select__highlighted_154ac {
108
+ .select__highlighted_1q310 {
105
109
  background: var(--select-option-hover-background);
106
110
  color: var(--select-option-hover-color);
107
111
  }
108
- .select__highlighted_154ac:before,
109
- .select__highlighted_154ac + .select__option_154ac:before {
112
+ .select__highlighted_1q310:before,
113
+ .select__highlighted_1q310 + .select__option_1q310:before {
110
114
  opacity: 0;
111
115
  }
112
- .select__disabled_154ac {
116
+ .select__disabled_1q310 {
113
117
  cursor: var(--disabled-cursor);
114
118
  background: var(--select-option-disabled-background);
115
119
  color: var(--select-option-disabled-color);
116
120
  }
117
- .select__content_154ac {
121
+ .select__content_1q310 {
118
122
  overflow: hidden;
119
123
  flex: 1;
120
124
  text-overflow: ellipsis;
121
125
  }
122
- .select__textContent_154ac {
126
+ .select__textContent_1q310 {
123
127
  padding-top: var(--gap-12);
124
128
  padding-bottom: var(--gap-12);
125
129
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"option":"select__option_154ac","disabled":"select__disabled_154ac","size-48":"select__size-48_154ac","size-56":"select__size-56_154ac","size-64":"select__size-64_154ac","size-72":"select__size-72_154ac","selected":"select__selected_154ac","highlighted":"select__highlighted_154ac","content":"select__content_154ac","textContent":"select__textContent_154ac"};
5
+ var styles = {"option":"select__option_1q310","disabled":"select__disabled_1q310","size-40":"select__size-40_1q310","size-48":"select__size-48_1q310","size-56":"select__size-56_1q310","size-64":"select__size-64_1q310","size-72":"select__size-72_1q310","selected":"select__selected_1q310","highlighted":"select__highlighted_1q310","content":"select__content_1q310","textContent":"select__textContent_1q310"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../../src/components/option/mobile/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../../vars.css';\n@import '../index.module.css';\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,UAAU,CAAC,wBAAwB,CAAC,aAAa,CAAC,2BAA2B,CAAC,SAAS,CAAC,uBAAuB,CAAC,aAAa,CAAC,2BAA2B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../../src/components/option/mobile/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../../vars.css';\n@import '../index.module.css';\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,uBAAuB,CAAC,UAAU,CAAC,wBAAwB,CAAC,aAAa,CAAC,2BAA2B,CAAC,SAAS,CAAC,uBAAuB,CAAC,aAAa,CAAC,2BAA2B,CAAC;;;;"}
@@ -33,4 +33,8 @@ export declare const OptionsList: React.ForwardRefExoticComponent<Pick<import(".
33
33
  search?: string;
34
34
  multiple?: boolean;
35
35
  limitDynamicOptionGroupSize?: import("../../typings").BaseSelectProps["limitDynamicOptionGroupSize"];
36
+ scrollableNodeClassName?: string;
37
+ contentNodeClassName?: string;
38
+ listNodeClassName?: string;
39
+ ctrlRef?: React.Ref<import("../../typings").OptionsListController>;
36
40
  } & React.RefAttributes<HTMLDivElement>>;
@@ -6,7 +6,7 @@ var tslib = require('tslib');
6
6
  var React = require('react');
7
7
  var mergeRefs = require('react-merge-refs');
8
8
  var cn = require('classnames');
9
- var coreComponentsScrollbar = require('@alfalab/core-components-scrollbar');
9
+ var coreComponentsScrollbarPrivate = require('@alfalab/core-components-scrollbar-private');
10
10
  var consts = require('../../consts.js');
11
11
  var useNativeScrollbar = require('../../hooks/use-native-scrollbar.js');
12
12
  var utils = require('../../utils.js');
@@ -26,24 +26,34 @@ var createCounter = function () {
26
26
  };
27
27
  var OptionsList = React.forwardRef(function (_a, ref) {
28
28
  var _b, _c;
29
- var _d = _a.size, size = _d === void 0 ? 48 : _d, className = _a.className, optionGroupClassName = _a.optionGroupClassName, footerClassName = _a.footerClassName, scrollbarClassName = _a.scrollbarClassName, Option = _a.Option, getOptionProps = _a.getOptionProps, _e = _a.groupOptionProps, groupOptionProps = _e === void 0 ? {} : _e, _f = _a.options, options = _f === void 0 ? [] : _f, _g = _a.Optgroup, Optgroup = _g === void 0 ? Component.Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _h = _a.visibleOptions, visibleOptions = _h === void 0 ? consts.DEFAULT_VISIBLE_OPTIONS : _h, onScroll = _a.onScroll, open = _a.open, header = _a.header, footer = _a.footer, _j = _a.showFooter, showFooter = _j === void 0 ? true : _j, optionsListWidth = _a.optionsListWidth, nativeScrollbarProp = _a.nativeScrollbar, _k = _a.flatOptions, flatOptions = _k === void 0 ? [] : _k, setHighlightedIndex = _a.setHighlightedIndex, selectedItems = _a.selectedItems, search = _a.search, setSelectedItems = _a.setSelectedItems, multiple = _a.multiple, _l = _a.limitDynamicOptionGroupSize, limitDynamicOptionGroupSize = _l === void 0 ? false : _l, client = _a.client;
30
- var _m = React.useState(true), scrollTop = _m[0], setScrollTop = _m[1];
31
- var _o = React.useState(false), scrollBottom = _o[0], setScrollBottom = _o[1];
29
+ var _d = _a.size, size = _d === void 0 ? 48 : _d, className = _a.className, optionGroupClassName = _a.optionGroupClassName, footerClassName = _a.footerClassName, scrollbarClassName = _a.scrollbarClassName, Option = _a.Option, getOptionProps = _a.getOptionProps, _e = _a.groupOptionProps, groupOptionProps = _e === void 0 ? {} : _e, _f = _a.options, options = _f === void 0 ? [] : _f, _g = _a.Optgroup, Optgroup = _g === void 0 ? Component.Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _h = _a.visibleOptions, visibleOptions = _h === void 0 ? consts.DEFAULT_VISIBLE_OPTIONS : _h, onScroll = _a.onScroll, open = _a.open, header = _a.header, footer = _a.footer, _j = _a.showFooter, showFooter = _j === void 0 ? true : _j, nativeScrollbarProp = _a.nativeScrollbar, _k = _a.flatOptions, flatOptions = _k === void 0 ? [] : _k, setHighlightedIndex = _a.setHighlightedIndex, selectedItems = _a.selectedItems, search = _a.search, setSelectedItems = _a.setSelectedItems, multiple = _a.multiple, _l = _a.limitDynamicOptionGroupSize, limitDynamicOptionGroupSize = _l === void 0 ? false : _l, client = _a.client, scrollableNodeClassName = _a.scrollableNodeClassName, contentNodeClassName = _a.contentNodeClassName, listNodeClassName = _a.listNodeClassName;
30
+ var actualOptionsCount = limitDynamicOptionGroupSize && options.length > 0;
31
+ var listRef = React.useRef(null);
32
+ var scrollableNodeRef = React.useRef(null);
33
+ var _m = utils.useVisibleOptions({
34
+ visibleOptions: visibleOptions,
35
+ listRef: listRef,
36
+ open: open,
37
+ options: options,
38
+ actualOptionsCount: actualOptionsCount,
39
+ size: actualOptionsCount ? size : undefined,
40
+ }), maxHeight = _m[1];
41
+ var noOptions = options.length === 0;
42
+ var _o = React.useState(true), scrollTop = _o[0], setScrollTop = _o[1];
43
+ var _p = React.useState(false), scrollBottom = _p[0], setScrollBottom = _p[1];
32
44
  var nativeScrollbar = useNativeScrollbar.useNativeScrollbar({
33
45
  nativeScrollbar: nativeScrollbarProp,
34
46
  client: client,
35
47
  });
36
- var handleScroll = React.useCallback(function (event) {
48
+ var handleScroll = function (event) {
37
49
  var scrolledToHeader = event.currentTarget.scrollTop <= 0;
38
50
  var scrolledToFooter = event.currentTarget.scrollHeight - event.currentTarget.offsetHeight <=
39
51
  event.currentTarget.scrollTop;
40
52
  setScrollTop(scrolledToHeader);
41
53
  setScrollBottom(scrolledToFooter);
42
54
  onScroll === null || onScroll === void 0 ? void 0 : onScroll(event);
43
- }, [onScroll]);
55
+ };
44
56
  var renderOption = function (option, index) { return (React__default.default.createElement(Option, tslib.__assign({ key: option.key }, getOptionProps(option, index)))); };
45
- var listRef = React.useRef(null);
46
- var scrollbarRef = React.useRef(null);
47
57
  var counter = createCounter();
48
58
  var renderGroup = function (group) {
49
59
  var groupSelectedItems = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.filter(function (_a) {
@@ -59,59 +69,28 @@ var OptionsList = React.forwardRef(function (_a, ref) {
59
69
  };
60
70
  return (React__default.default.createElement(Optgroup, tslib.__assign({ className: optionGroupClassName, label: group.label, key: group.label, size: size, options: group.options, selectedItems: groupSelectedItems, setSelectedItems: handleSelectedItems, search: search, multiple: multiple }, groupOptionProps), group.options.map(function (option) { return renderOption(option, counter()); })));
61
71
  };
62
- var actualOptionsCount = limitDynamicOptionGroupSize && options.length > 0;
63
- var _p = utils.useVisibleOptions({
64
- visibleOptions: visibleOptions,
65
- listRef: listRef,
66
- open: open,
67
- options: options,
68
- actualOptionsCount: actualOptionsCount,
69
- size: actualOptionsCount
70
- ? (function () {
71
- switch (typeof size) {
72
- case 'string':
73
- throw new Error('OptionsList with `limitDynamicOptionGroupSize` enabled needs a `size` with number type');
74
- default:
75
- return size;
76
- }
77
- })()
78
- : undefined,
79
- }), measured = _p[0], maxHeight = _p[1];
80
72
  if (options.length === 0 && !emptyPlaceholder && !header && !footer) {
81
73
  return null;
82
74
  }
83
- var renderListItems = function () { return (React__default.default.createElement(React__default.default.Fragment, null,
84
- options.map(function (option) {
85
- return utils.isGroup(option) ? renderGroup(option) : renderOption(option, counter());
86
- }),
87
- emptyPlaceholder && options.length === 0 && (React__default.default.createElement("div", { className: index_module.emptyPlaceholder }, emptyPlaceholder)))); };
88
- var renderWithCustomScrollbar = function () {
89
- var _a, _b;
90
- var scrollableNodeProps = {
91
- onScroll: handleScroll,
92
- 'data-test-id': dataTestId,
93
- ref: ref,
94
- };
95
- return (React__default.default.createElement(coreComponentsScrollbar.Scrollbar, { className: cn__default.default(index_module.scrollable, scrollbarClassName), verticalBarClassName: cn__default.default(index_module.verticalBar, (_a = {},
96
- _a[index_module.verticalBarWithHeader] = Boolean(header),
97
- _a[index_module.verticalBarWithFooter] = Boolean(footer),
98
- _a)), ref: scrollbarRef, style: { maxHeight: maxHeight }, horizontalAutoStretch: optionsListWidth === 'content', scrollableNodeProps: scrollableNodeProps, contentNodeProps: { ref: listRef }, maskProps: {
99
- /*
100
- * Для корректного подсчета высоты опций(иначе для optionsListWidth: 'field'
101
- * высота опции всегда будет равна высоте одной строчки)
102
- */
103
- className: cn__default.default((_b = {},
104
- _b[index_module.mask] = optionsListWidth === 'content' && !measured,
105
- _b)),
106
- } }, renderListItems()));
107
- };
108
- var renderWithNativeScrollbar = function () { return (React__default.default.createElement("div", { className: cn__default.default(index_module.scrollable, scrollbarClassName), ref: mergeRefs__default.default([listRef, ref]), onScroll: handleScroll, style: { maxHeight: maxHeight } }, renderListItems())); };
109
75
  var resetHighlightedIndex = function () { return setHighlightedIndex === null || setHighlightedIndex === void 0 ? void 0 : setHighlightedIndex(-1); };
110
76
  return (React__default.default.createElement("div", tslib.__assign({}, (nativeScrollbar && { 'data-test-id': dataTestId }), { className: cn__default.default(index_module.optionsList, index_module["size-".concat(size)], className) }),
111
77
  header && (React__default.default.createElement("div", { className: cn__default.default(index_module.optionsListHeader, (_b = {},
112
78
  _b[index_module.headerHighlighted] = !scrollTop,
113
79
  _b)), onMouseEnter: resetHighlightedIndex }, header)),
114
- nativeScrollbar ? renderWithNativeScrollbar() : renderWithCustomScrollbar(),
80
+ !noOptions && (React__default.default.createElement(coreComponentsScrollbarPrivate.ScrollbarPrivate, { native: nativeScrollbar, className: scrollbarClassName, style: { maxHeight: maxHeight }, scrollableNodeProps: {
81
+ ref: mergeRefs__default.default([scrollableNodeRef, ref]),
82
+ onScroll: handleScroll,
83
+ className: scrollableNodeClassName,
84
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
85
+ // @ts-expect-error
86
+ 'data-test-id': nativeScrollbar ? undefined : dataTestId,
87
+ }, contentNodeProps: { className: contentNodeClassName } },
88
+ React__default.default.createElement("div", { className: listNodeClassName, ref: listRef }, options.map(function (option) {
89
+ return utils.isGroup(option)
90
+ ? renderGroup(option)
91
+ : renderOption(option, counter());
92
+ })))),
93
+ emptyPlaceholder && noOptions && (React__default.default.createElement("div", { className: index_module.emptyPlaceholder }, emptyPlaceholder)),
115
94
  showFooter && footer && (React__default.default.createElement("div", { onMouseEnter: resetHighlightedIndex, className: cn__default.default(index_module.optionsListFooter, footerClassName, (_c = {},
116
95
  _c[index_module.withBorder] = visibleOptions &&
117
96
  flatOptions.length > visibleOptions &&