@alfalab/core-components-select 13.2.11 → 13.2.13

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 (260) hide show
  1. package/{cssm/Component-29488b22.d.ts → Component-088caba2.d.ts} +285 -51
  2. package/{Component-fc2a45a0.js → Component-088caba2.js} +31 -26
  3. package/{Component-0a2300e8.d.ts → Component-ca307b80.d.ts} +0 -0
  4. package/{Component-0a2300e8.js → Component-ca307b80.js} +10 -10
  5. package/Component.js +4 -4
  6. package/Component.responsive.js +7 -6
  7. package/components/arrow/Component.js +1 -1
  8. package/components/arrow/index.css +3 -3
  9. package/components/base-checkmark/Component.js +1 -1
  10. package/components/base-checkmark/index.css +4 -4
  11. package/components/base-option/Component.js +3 -3
  12. package/components/base-option/index.css +13 -13
  13. package/components/base-option/index.js +1 -1
  14. package/components/base-select/Component.js +2 -2
  15. package/components/base-select/index.css +7 -7
  16. package/components/base-select/index.d.ts +1 -1
  17. package/components/base-select/index.js +2 -2
  18. package/components/base-select-mobile/Component.js +5 -4
  19. package/components/base-select-mobile/checkmark/Component.js +1 -1
  20. package/components/base-select-mobile/checkmark/index.css +6 -6
  21. package/components/base-select-mobile/index.css +11 -11
  22. package/components/base-select-mobile/index.d.ts +1 -1
  23. package/components/base-select-mobile/index.js +5 -4
  24. package/components/base-select-mobile/options-list/Component.js +3 -3
  25. package/components/base-select-mobile/options-list/index.css +9 -9
  26. package/components/base-select-mobile/options-list/index.js +1 -1
  27. package/components/base-select-mobile/virtual-options-list/Component.d.ts +5 -0
  28. package/components/base-select-mobile/virtual-options-list/Component.js +112 -0
  29. package/components/base-select-mobile/virtual-options-list/index.css +89 -0
  30. package/components/base-select-mobile/virtual-options-list/index.d.ts +1 -0
  31. package/components/base-select-mobile/virtual-options-list/index.js +16 -0
  32. package/components/checkmark/Component.js +1 -1
  33. package/components/checkmark/index.css +10 -10
  34. package/components/field/Component.js +4 -4
  35. package/components/field/index.css +9 -9
  36. package/components/field/index.js +1 -1
  37. package/components/index.js +5 -4
  38. package/components/native-select/Component.js +4 -4
  39. package/components/native-select/index.js +1 -1
  40. package/components/optgroup/Component.js +1 -1
  41. package/components/optgroup/index.css +6 -6
  42. package/components/option/Component.js +3 -3
  43. package/components/option/index.css +20 -20
  44. package/components/option/index.js +1 -1
  45. package/components/options-list/Component.js +5 -5
  46. package/components/options-list/index.css +6 -6
  47. package/components/options-list/index.js +1 -1
  48. package/components/select-mobile/Component.js +5 -4
  49. package/components/select-mobile/index.d.ts +1 -1
  50. package/components/select-mobile/index.js +5 -4
  51. package/components/select-modal-mobile/Component.js +5 -4
  52. package/components/select-modal-mobile/index.d.ts +1 -1
  53. package/components/select-modal-mobile/index.js +5 -4
  54. package/components/virtual-options-list/Component.js +4 -4
  55. package/components/virtual-options-list/index.css +12 -12
  56. package/components/virtual-options-list/index.js +1 -1
  57. package/cssm/{Component-d0e84442.d.ts → Component-1481ef6b.d.ts} +0 -0
  58. package/cssm/{Component-d0e84442.js → Component-1481ef6b.js} +9 -9
  59. package/{modern/Component-3b90d09b.d.ts → cssm/Component-8f0723b4.d.ts} +285 -51
  60. package/cssm/{Component-29488b22.js → Component-8f0723b4.js} +28 -23
  61. package/cssm/Component.js +4 -4
  62. package/cssm/Component.responsive.js +7 -5
  63. package/cssm/components/base-option/Component.js +2 -2
  64. package/cssm/components/base-option/index.js +1 -1
  65. package/cssm/components/base-select/Component.js +2 -2
  66. package/cssm/components/base-select/index.d.ts +1 -1
  67. package/cssm/components/base-select/index.js +2 -2
  68. package/cssm/components/base-select-mobile/Component.js +5 -3
  69. package/cssm/components/base-select-mobile/index.d.ts +1 -1
  70. package/cssm/components/base-select-mobile/index.js +5 -3
  71. package/cssm/components/base-select-mobile/options-list/Component.js +2 -2
  72. package/cssm/components/base-select-mobile/options-list/index.js +1 -1
  73. package/cssm/components/base-select-mobile/virtual-options-list/Component.d.ts +5 -0
  74. package/cssm/components/base-select-mobile/virtual-options-list/Component.js +112 -0
  75. package/cssm/components/base-select-mobile/virtual-options-list/index.d.ts +1 -0
  76. package/cssm/components/base-select-mobile/virtual-options-list/index.js +18 -0
  77. package/cssm/components/base-select-mobile/virtual-options-list/index.module.css +88 -0
  78. package/cssm/components/field/Component.js +3 -3
  79. package/cssm/components/field/index.js +1 -1
  80. package/cssm/components/index.js +5 -3
  81. package/cssm/components/native-select/Component.js +4 -4
  82. package/cssm/components/native-select/index.js +1 -1
  83. package/cssm/components/option/Component.js +2 -2
  84. package/cssm/components/option/index.js +1 -1
  85. package/cssm/components/options-list/Component.js +4 -4
  86. package/cssm/components/options-list/index.js +1 -1
  87. package/cssm/components/select-mobile/Component.js +5 -3
  88. package/cssm/components/select-mobile/index.d.ts +1 -1
  89. package/cssm/components/select-mobile/index.js +5 -3
  90. package/cssm/components/select-modal-mobile/Component.js +5 -3
  91. package/cssm/components/select-modal-mobile/index.d.ts +1 -1
  92. package/cssm/components/select-modal-mobile/index.js +5 -3
  93. package/cssm/components/virtual-options-list/Component.js +3 -3
  94. package/cssm/components/virtual-options-list/index.js +1 -1
  95. package/cssm/index.js +5 -3
  96. package/cssm/presets/index.js +5 -3
  97. package/cssm/presets/useLazyLoading/hook.js +9 -9
  98. package/cssm/presets/useSelectWithApply/hook.js +5 -3
  99. package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.js +5 -3
  100. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  101. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.js +5 -3
  102. package/cssm/presets/useSelectWithLoading/hook.js +2 -2
  103. package/cssm/responsive.js +5 -3
  104. package/cssm/utils.js +1 -1
  105. package/{Component-fc2a45a0.d.ts → esm/Component-23df669b.d.ts} +285 -51
  106. package/esm/{Component-dd382646.js → Component-23df669b.js} +15 -10
  107. package/esm/{Component-4b015ad5.d.ts → Component-82c9c6a4.d.ts} +0 -0
  108. package/esm/{Component-4b015ad5.js → Component-82c9c6a4.js} +2 -2
  109. package/esm/Component.js +2 -2
  110. package/esm/Component.responsive.js +5 -4
  111. package/esm/components/arrow/Component.js +1 -1
  112. package/esm/components/arrow/index.css +3 -3
  113. package/esm/components/base-checkmark/Component.js +1 -1
  114. package/esm/components/base-checkmark/index.css +4 -4
  115. package/esm/components/base-option/Component.js +2 -2
  116. package/esm/components/base-option/index.css +13 -13
  117. package/esm/components/base-option/index.js +1 -1
  118. package/esm/components/base-select/Component.js +2 -2
  119. package/esm/components/base-select/index.css +7 -7
  120. package/esm/components/base-select/index.d.ts +1 -1
  121. package/esm/components/base-select/index.js +2 -2
  122. package/esm/components/base-select-mobile/Component.js +5 -4
  123. package/esm/components/base-select-mobile/checkmark/Component.js +1 -1
  124. package/esm/components/base-select-mobile/checkmark/index.css +6 -6
  125. package/esm/components/base-select-mobile/index.css +11 -11
  126. package/esm/components/base-select-mobile/index.d.ts +1 -1
  127. package/esm/components/base-select-mobile/index.js +5 -4
  128. package/esm/components/base-select-mobile/options-list/Component.js +2 -2
  129. package/esm/components/base-select-mobile/options-list/index.css +9 -9
  130. package/esm/components/base-select-mobile/options-list/index.js +1 -1
  131. package/esm/components/base-select-mobile/virtual-options-list/Component.d.ts +5 -0
  132. package/esm/components/base-select-mobile/virtual-options-list/Component.js +105 -0
  133. package/esm/components/base-select-mobile/virtual-options-list/index.css +89 -0
  134. package/esm/components/base-select-mobile/virtual-options-list/index.d.ts +1 -0
  135. package/esm/components/base-select-mobile/virtual-options-list/index.js +10 -0
  136. package/esm/components/checkmark/Component.js +1 -1
  137. package/esm/components/checkmark/index.css +10 -10
  138. package/esm/components/field/Component.js +2 -2
  139. package/esm/components/field/index.css +9 -9
  140. package/esm/components/field/index.js +1 -1
  141. package/esm/components/index.js +5 -4
  142. package/esm/components/native-select/Component.js +1 -1
  143. package/esm/components/native-select/index.js +1 -1
  144. package/esm/components/optgroup/Component.js +1 -1
  145. package/esm/components/optgroup/index.css +6 -6
  146. package/esm/components/option/Component.js +2 -2
  147. package/esm/components/option/index.css +20 -20
  148. package/esm/components/option/index.js +1 -1
  149. package/esm/components/options-list/Component.js +2 -2
  150. package/esm/components/options-list/index.css +6 -6
  151. package/esm/components/options-list/index.js +1 -1
  152. package/esm/components/select-mobile/Component.js +5 -4
  153. package/esm/components/select-mobile/index.d.ts +1 -1
  154. package/esm/components/select-mobile/index.js +5 -4
  155. package/esm/components/select-modal-mobile/Component.js +5 -4
  156. package/esm/components/select-modal-mobile/index.d.ts +1 -1
  157. package/esm/components/select-modal-mobile/index.js +5 -4
  158. package/esm/components/virtual-options-list/Component.js +2 -2
  159. package/esm/components/virtual-options-list/index.css +12 -12
  160. package/esm/components/virtual-options-list/index.js +1 -1
  161. package/esm/index.js +5 -4
  162. package/esm/{intersection-observer-48ccda2c.d.ts → intersection-observer-12c920c6.d.ts} +0 -0
  163. package/esm/{intersection-observer-48ccda2c.js → intersection-observer-12c920c6.js} +0 -0
  164. package/esm/presets/index.js +5 -4
  165. package/esm/presets/useLazyLoading/hook.js +3 -3
  166. package/esm/presets/useLazyLoading/index.css +2 -2
  167. package/esm/presets/useSelectWithApply/hook.js +5 -4
  168. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +5 -4
  169. package/esm/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
  170. package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  171. package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +5 -4
  172. package/esm/presets/useSelectWithLoading/hook.js +2 -2
  173. package/esm/presets/useSelectWithLoading/index.css +2 -2
  174. package/esm/responsive.js +5 -4
  175. package/esm/utils.js +1 -1
  176. package/index.js +5 -4
  177. package/{intersection-observer-404c5a30.d.ts → intersection-observer-31caed5c.d.ts} +0 -0
  178. package/{intersection-observer-404c5a30.js → intersection-observer-31caed5c.js} +0 -0
  179. package/{esm/Component-dd382646.d.ts → modern/Component-629f202b.d.ts} +285 -51
  180. package/modern/{Component-3b90d09b.js → Component-629f202b.js} +14 -9
  181. package/modern/{Component-19b9374d.d.ts → Component-c2743e76.d.ts} +0 -0
  182. package/modern/{Component-19b9374d.js → Component-c2743e76.js} +1 -1
  183. package/modern/Component.js +1 -1
  184. package/modern/Component.responsive.js +4 -3
  185. package/modern/components/arrow/Component.js +1 -1
  186. package/modern/components/arrow/index.css +3 -3
  187. package/modern/components/base-checkmark/Component.js +1 -1
  188. package/modern/components/base-checkmark/index.css +4 -4
  189. package/modern/components/base-option/Component.js +1 -1
  190. package/modern/components/base-option/index.css +13 -13
  191. package/modern/components/base-select/Component.js +1 -1
  192. package/modern/components/base-select/index.css +7 -7
  193. package/modern/components/base-select/index.d.ts +1 -1
  194. package/modern/components/base-select/index.js +1 -1
  195. package/modern/components/base-select-mobile/Component.js +4 -3
  196. package/modern/components/base-select-mobile/checkmark/Component.js +1 -1
  197. package/modern/components/base-select-mobile/checkmark/index.css +6 -6
  198. package/modern/components/base-select-mobile/index.css +11 -11
  199. package/modern/components/base-select-mobile/index.d.ts +1 -1
  200. package/modern/components/base-select-mobile/index.js +4 -3
  201. package/modern/components/base-select-mobile/options-list/Component.js +1 -1
  202. package/modern/components/base-select-mobile/options-list/index.css +9 -9
  203. package/modern/components/base-select-mobile/virtual-options-list/Component.d.ts +5 -0
  204. package/modern/components/base-select-mobile/virtual-options-list/Component.js +99 -0
  205. package/modern/components/base-select-mobile/virtual-options-list/index.css +89 -0
  206. package/modern/components/base-select-mobile/virtual-options-list/index.d.ts +1 -0
  207. package/modern/components/base-select-mobile/virtual-options-list/index.js +9 -0
  208. package/modern/components/checkmark/Component.js +1 -1
  209. package/modern/components/checkmark/index.css +10 -10
  210. package/modern/components/field/Component.js +1 -1
  211. package/modern/components/field/index.css +9 -9
  212. package/modern/components/index.js +4 -3
  213. package/modern/components/optgroup/Component.js +1 -1
  214. package/modern/components/optgroup/index.css +6 -6
  215. package/modern/components/option/Component.js +1 -1
  216. package/modern/components/option/index.css +20 -20
  217. package/modern/components/options-list/Component.js +1 -1
  218. package/modern/components/options-list/index.css +6 -6
  219. package/modern/components/select-mobile/Component.js +4 -3
  220. package/modern/components/select-mobile/index.d.ts +1 -1
  221. package/modern/components/select-mobile/index.js +4 -3
  222. package/modern/components/select-modal-mobile/Component.js +4 -3
  223. package/modern/components/select-modal-mobile/index.d.ts +1 -1
  224. package/modern/components/select-modal-mobile/index.js +4 -3
  225. package/modern/components/virtual-options-list/Component.js +1 -1
  226. package/modern/components/virtual-options-list/index.css +12 -12
  227. package/modern/index.js +4 -3
  228. package/modern/{intersection-observer-48ccda2c.d.ts → intersection-observer-12c920c6.d.ts} +0 -0
  229. package/modern/{intersection-observer-48ccda2c.js → intersection-observer-12c920c6.js} +0 -0
  230. package/modern/presets/index.js +4 -3
  231. package/modern/presets/useLazyLoading/hook.js +2 -2
  232. package/modern/presets/useLazyLoading/index.css +2 -2
  233. package/modern/presets/useSelectWithApply/hook.js +4 -3
  234. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +4 -3
  235. package/modern/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
  236. package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  237. package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +4 -3
  238. package/modern/presets/useSelectWithLoading/hook.js +1 -1
  239. package/modern/presets/useSelectWithLoading/index.css +2 -2
  240. package/modern/responsive.js +4 -3
  241. package/modern/utils.js +1 -1
  242. package/package.json +14 -13
  243. package/presets/index.js +5 -4
  244. package/presets/useLazyLoading/hook.js +11 -11
  245. package/presets/useLazyLoading/index.css +2 -2
  246. package/presets/useSelectWithApply/hook.js +5 -4
  247. package/presets/useSelectWithApply/options-list-with-apply/Component.js +5 -4
  248. package/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
  249. package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  250. package/presets/useSelectWithApply/options-list-with-apply/index.js +5 -4
  251. package/presets/useSelectWithLoading/hook.js +3 -3
  252. package/presets/useSelectWithLoading/index.css +2 -2
  253. package/responsive.js +5 -4
  254. package/utils.js +1 -1
  255. package/cssm/tslib.es6-0e9bf404.d.ts +0 -36
  256. package/cssm/tslib.es6-0e9bf404.js +0 -54
  257. package/esm/tslib.es6-427aef08.d.ts +0 -36
  258. package/esm/tslib.es6-427aef08.js +0 -51
  259. package/tslib.es6-a986f11c.d.ts +0 -36
  260. package/tslib.es6-a986f11c.js +0 -54
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import React from "react";
3
- import { ReactNode, FC, ButtonHTMLAttributes, ElementType, AnchorHTMLAttributes } from "react";
3
+ import { ReactNode, FC, ButtonHTMLAttributes, ElementType, ForwardRefExoticComponent, RefAttributes, HTMLAttributes, AnchorHTMLAttributes } from "react";
4
4
  import { BottomSheetProps } from "@alfalab/core-components-bottom-sheet";
5
5
  import { BaseSelectProps, OptionShape, OptionsListProps } from "./typings";
6
6
  import { BaseModalProps, BaseModalContext } from "@alfalab/core-components-base-modal";
@@ -97,35 +97,97 @@ type ContentProps = {
97
97
  */
98
98
  flex?: boolean;
99
99
  };
100
- type HeaderProps = {
100
+ interface CloserProps extends ButtonHTMLAttributes<HTMLButtonElement> {
101
+ /**
102
+ * Вид компонента
103
+ */
104
+ view: "desktop" | "mobile";
105
+ /**
106
+ * Дополнительный класс
107
+ */
108
+ className?: string;
109
+ /**
110
+ * Позиция крестика
111
+ */
112
+ align?: "left" | "right";
113
+ /**
114
+ * Фиксирует крестик
115
+ */
116
+ sticky?: boolean;
117
+ /**
118
+ * Иконка
119
+ */
120
+ icon?: ElementType;
121
+ /**
122
+ * Идентификатор для систем автоматизированного тестирования
123
+ */
124
+ dataTestId?: string;
125
+ /**
126
+ * Коллбэк закрытия.
127
+ */
128
+ onClose?: (event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, reason?: "backdropClick" | "escapeKeyDown" | "closerClick") => void;
129
+ }
130
+ type NavigationBarProps = {
101
131
  /**
102
132
  * Контент шапки
103
133
  */
104
134
  children?: ReactNode;
135
+ /**
136
+ * Заголовок шапки
137
+ */
138
+ title?: string;
139
+ /**
140
+ * Подзаголовок (доступен только в мобильной версии)
141
+ */
142
+ subtitle?: string;
143
+ /**
144
+ * Размер заголовка (compact доступен только в мобильной версии)
145
+ */
146
+ titleSize?: "default" | "compact";
147
+ /**
148
+ * Доп. класс для аддонов
149
+ */
150
+ addonClassName?: string;
105
151
  /**
106
152
  * Слот слева
107
153
  */
108
154
  leftAddons?: ReactNode;
155
+ /**
156
+ * Слот справа
157
+ */
158
+ rightAddons?: ReactNode;
159
+ /**
160
+ * Дополнительный класс для closer
161
+ */
162
+ closerClassName?: string;
163
+ /**
164
+ * Слот снизу
165
+ */
166
+ bottomAddons?: ReactNode;
109
167
  /**
110
168
  * Наличие компонента крестика
111
169
  */
112
- hasCloser?: ReactNode;
170
+ hasCloser?: boolean;
113
171
  /**
114
- * Дополнительный класс
172
+ * Наличие кнопки "Назад"
115
173
  */
116
- className?: string;
174
+ hasBackButton?: boolean;
117
175
  /**
118
- * Дополнительный класс для аддонов
176
+ * Дополнительный класс для правого аддона
119
177
  */
120
- addonClassName?: string;
178
+ backButtonClassName?: string;
179
+ /**
180
+ * Дополнительный класс
181
+ */
182
+ className?: string;
121
183
  /**
122
184
  * Дополнительный класс для контента
123
185
  */
124
186
  contentClassName?: string;
125
187
  /**
126
- * Заголовок шапки
188
+ * Дополнительный класс для нижнего аддона
127
189
  */
128
- title?: string;
190
+ bottomAddonsClassName?: string;
129
191
  /**
130
192
  * Выравнивание заголовка
131
193
  */
@@ -142,7 +204,32 @@ type HeaderProps = {
142
204
  * Идентификатор для систем автоматизированного тестирования
143
205
  */
144
206
  dataTestId?: string;
207
+ /**
208
+ * Фоновое изображение
209
+ */
210
+ imageUrl?: string;
211
+ /**
212
+ * Иконка closer.
213
+ */
214
+ closerIcon?: React.ElementType;
215
+ /**
216
+ * Обработчик закрытия
217
+ */
218
+ onClose?: CloserProps["onClose"];
219
+ /**
220
+ * обработчик клика по кнопке "назад"
221
+ */
222
+ onBack?: () => void;
223
+ /**
224
+ * Вид шапки - мобильный или десктоп
225
+ */
226
+ view: "desktop" | "mobile";
227
+ /**
228
+ * Ссылка на родительскую ноду.
229
+ */
230
+ parentRef?: React.RefObject<HTMLDivElement>;
145
231
  };
232
+ type HeaderProps = Omit<NavigationBarProps, "size" | "view" | "parentRef">;
146
233
  type FooterProps = {
147
234
  /**
148
235
  * Контент футера
@@ -165,77 +252,224 @@ type FooterProps = {
165
252
  */
166
253
  gap?: 16 | 24 | 32;
167
254
  };
168
- type IconButtonProps = {
255
+ declare const ModalMobile: React.ForwardRefExoticComponent<ModalMobileProps & React.RefAttributes<HTMLDivElement>> & {
256
+ Content: React.FC<ContentProps>;
257
+ Header: React.FC<HeaderProps>;
258
+ Footer: React.FC<FooterProps>;
259
+ Closer: React.FC<CloserProps>;
260
+ };
261
+ declare const Content: FC<ContentProps>;
262
+ declare const Modal: React.ForwardRefExoticComponent<import("@alfalab/core-components-base-modal").BaseModalProps & {
263
+ size?: "s" | "m" | "l" | "xl" | "fullscreen" | undefined;
264
+ fullscreen?: boolean | undefined;
265
+ fixedPosition?: boolean | undefined;
266
+ hasCloser?: boolean | undefined;
267
+ } & {
268
+ view: View;
269
+ } & React.RefAttributes<HTMLDivElement>>;
270
+ declare const ResponsiveContext: React.Context<TResponsiveModalContext>;
271
+ interface BackArrowAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
169
272
  /**
170
- * Компонент иконки
273
+ * Текст после иконки
171
274
  */
172
- icon: ElementType<{
173
- className?: string;
174
- }>;
275
+ text?: string;
175
276
  /**
176
- * Тип кнопки
277
+ * Дополнительный класс
177
278
  */
178
- view?: "primary" | "secondary" | "transparent" | "tertiary" | "negative";
279
+ className?: string;
179
280
  /**
180
- * Размер компонента
281
+ * Вид компонента
181
282
  */
182
- size?: "xxs" | "xs" | "s";
283
+ view: "mobile" | "desktop";
183
284
  /**
184
- * Дополнительный класс
285
+ * Прозрачность текста
286
+ */
287
+ textOpacity?: number;
288
+ /**
289
+ * Обработчик клика
290
+ */
291
+ onClick?: () => void;
292
+ }
293
+ declare const BackArrowAddon: React.FC<BackArrowAddonProps>;
294
+ declare const colors: readonly [
295
+ "tertiary",
296
+ "disabled",
297
+ "accent",
298
+ "primary",
299
+ "attention",
300
+ "positive",
301
+ "secondary",
302
+ "tertiary-inverted",
303
+ "primary-inverted",
304
+ "secondary-inverted",
305
+ "link",
306
+ "negative",
307
+ "static-primary-light",
308
+ "static-secondary-light",
309
+ "static-tertiary-light",
310
+ "static-primary-dark",
311
+ "static-secondary-dark",
312
+ "static-tertiary-dark",
313
+ "static-accent"
314
+ ];
315
+ type Color = (typeof colors)[number];
316
+ type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
317
+ type NativeProps = HTMLAttributes<HTMLSpanElement>;
318
+ type TextBaseProps = {
319
+ /**
320
+ * [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/guidelines-typography--page)
321
+ */
322
+ view?: "primary-large" | "primary-medium" | "primary-small" | "secondary-large" | "secondary-medium" | "secondary-small" | "component" | "caps";
323
+ /**
324
+ * Цвет текста
325
+ */
326
+ color?: Color;
327
+ /**
328
+ * Толщина шрифта
329
+ */
330
+ weight?: "regular" | "medium" | "bold";
331
+ /**
332
+ * Делает цифры моноширинными
333
+ */
334
+ monospaceNumbers?: boolean;
335
+ /**
336
+ * HTML тег
337
+ */
338
+ tag?: "span" | "div";
339
+ /**
340
+ * Css-класс для стилизации (native prop)
185
341
  */
186
342
  className?: string;
187
343
  /**
188
- * Идентификатор для систем автоматизированного тестирования
344
+ * Id компонента для тестов
189
345
  */
190
346
  dataTestId?: string;
191
347
  /**
192
- * Набор цветов для компонента
348
+ * Контент (native prop)
193
349
  */
194
- colors?: "default" | "inverted";
195
- } & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "loading"> & Pick<AnchorHTMLAttributes<HTMLAnchorElement>, "target" | "download">;
196
- type CloserProps = ButtonHTMLAttributes<HTMLButtonElement> & {
350
+ children?: React.ReactNode;
197
351
  /**
198
- * Дополнительный класс
352
+ * Добавляет отступы к тэгу 'p'
199
353
  */
200
- className?: string;
354
+ defaultMargins?: never;
201
355
  /**
202
- * Позиция крестика
356
+ * Количество строк (не поддерживает IE)
203
357
  */
204
- align?: "left" | "right";
358
+ rowLimit?: 1 | 2 | 3;
359
+ };
360
+ type TextPTagProps = Omit<TextBaseProps, "tag" | "defaultMargins"> & {
361
+ tag?: "p";
362
+ defaultMargins?: boolean;
363
+ };
364
+ type TextProps = Omit<NativeProps, "color"> & (TextBaseProps | TextPTagProps);
365
+ type NativeProps$0 = HTMLAttributes<HTMLHeadingElement>;
366
+ type TitleProps = Omit<NativeProps$0, "color"> & {
205
367
  /**
206
- * Размер кнопки
368
+ * HTML тег
207
369
  */
208
- size?: IconButtonProps["size"];
370
+ tag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div";
209
371
  /**
210
- * Фиксирует крестик
372
+ * [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/guidelines-typography--page)
211
373
  */
212
- sticky?: boolean;
374
+ view?: "xlarge" | "large" | "medium" | "small" | "xsmall";
213
375
  /**
214
- * Иконка
376
+ * Цвет текста
215
377
  */
216
- icon?: ElementType;
378
+ color?: Color;
217
379
  /**
218
- * Идентификатор для систем автоматизированного тестирования
380
+ * Толщина шрифта
381
+ */
382
+ weight?: "regular" | "medium" | "bold";
383
+ /**
384
+ * Шрифт текста
385
+ */
386
+ font?: "styrene" | "system";
387
+ /**
388
+ * Добавляет отступы
389
+ */
390
+ defaultMargins?: boolean;
391
+ /**
392
+ * Css-класс для стилизации (native prop)
393
+ */
394
+ className?: string;
395
+ /**
396
+ * Id компонента для тестов
219
397
  */
220
398
  dataTestId?: string;
399
+ /**
400
+ * Контент (native prop)
401
+ */
402
+ children?: React.ReactNode;
403
+ /**
404
+ * Количество строк (не поддерживает IE)
405
+ */
406
+ rowLimit?: 1 | 2 | 3;
221
407
  };
222
- declare const ModalMobile: React.ForwardRefExoticComponent<ModalMobileProps & React.RefAttributes<HTMLDivElement>> & {
223
- Content: React.FC<ContentProps>;
224
- Header: React.FC<HeaderProps>;
225
- Footer: React.FC<FooterProps>;
226
- Closer: React.FC<CloserProps>;
408
+ type TitleMobileProps = Omit<TitleProps, "defaultMargins">;
409
+ declare const Typography: {
410
+ Title: FC<TitleProps>;
411
+ Text: ForwardRefExoticComponent<TextProps & RefAttributes<TextElementType>>;
412
+ TitleResponsive: FC<TitleProps>;
413
+ TitleMobile: FC<TitleMobileProps>;
227
414
  };
228
- declare const Content: FC<ContentProps>;
229
- declare const Modal: React.ForwardRefExoticComponent<import("@alfalab/core-components-base-modal").BaseModalProps & {
230
- size?: "s" | "m" | "l" | "xl" | "fullscreen" | undefined;
231
- fullscreen?: boolean | undefined;
232
- fixedPosition?: boolean | undefined;
233
- hasCloser?: boolean | undefined;
234
- } & {
235
- view: View;
236
- } & React.RefAttributes<HTMLDivElement>>;
237
- declare const ResponsiveContext: React.Context<TResponsiveModalContext>;
415
+ declare const typographyPresets: {
416
+ mobile: {
417
+ list: {
418
+ text: {
419
+ primary: {
420
+ tag: string;
421
+ view: string;
422
+ };
423
+ secondary: {
424
+ tag: string;
425
+ color: string;
426
+ view: string;
427
+ };
428
+ };
429
+ };
430
+ };
431
+ };
432
+ declare const TitleResponsive: FC<TitleProps>;
433
+ type IconButtonProps = {
434
+ /**
435
+ * Компонент иконки
436
+ */
437
+ icon: ElementType<{
438
+ className?: string;
439
+ }>;
440
+ /**
441
+ * Тип кнопки
442
+ */
443
+ view?: "primary" | "secondary" | "transparent" | "tertiary" | "negative";
444
+ /**
445
+ * Размер компонента
446
+ */
447
+ size?: "xxs" | "xs" | "s";
448
+ /**
449
+ * Дополнительный класс
450
+ */
451
+ className?: string;
452
+ /**
453
+ * Идентификатор для систем автоматизированного тестирования
454
+ */
455
+ dataTestId?: string;
456
+ /**
457
+ * Набор цветов для компонента
458
+ */
459
+ colors?: "default" | "inverted";
460
+ } & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "loading"> & Pick<AnchorHTMLAttributes<HTMLAnchorElement>, "target" | "download">;
461
+ declare const IconButton: React.ForwardRefExoticComponent<{
462
+ icon: ElementType<{
463
+ className?: string;
464
+ }>;
465
+ view?: "primary" | "secondary" | "tertiary" | "transparent" | "negative" | undefined;
466
+ size?: "s" | "xs" | "xxs" | undefined;
467
+ className?: string | undefined;
468
+ dataTestId?: string | undefined;
469
+ colors?: "default" | "inverted" | undefined;
470
+ } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "loading"> & Pick<React.AnchorHTMLAttributes<HTMLAnchorElement>, "download" | "target"> & React.RefAttributes<HTMLButtonElement>>;
238
471
  declare const ModalContext: import("react").Context<BaseModalContext>;
239
472
  type SelectModalMobileProps = Omit<BaseSelectProps, 'Checkmark' | 'onScroll'>;
240
473
  declare const SelectModalMobile: React.ForwardRefExoticComponent<SelectModalMobileProps & React.RefAttributes<unknown>>;
241
- export { AdditionalMobileProps, SelectMobileProps, SelectMobile, BaseSelectMobile, OptionsListWithApply, ModalMobile, Content, Modal, ResponsiveContext, ModalContext, SelectModalMobileProps, SelectModalMobile };
474
+ export { AdditionalMobileProps, SelectMobileProps, SelectMobile, BaseSelectMobile, OptionsListWithApply, ModalMobile, Content, Modal, ResponsiveContext, BackArrowAddonProps, BackArrowAddon, Typography, typographyPresets, TitleResponsive, IconButtonProps, IconButton, ModalContext, SelectModalMobileProps, SelectModalMobile };
475
+ export type { TitleProps, TextProps, Color };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-a986f11c.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var components_arrow_Component = require('./components/arrow/Component.js');
6
6
  var mergeRefs = require('react-merge-refs');
@@ -9,7 +9,7 @@ var downshift = require('downshift');
9
9
  var coreComponentsBottomSheet = require('@alfalab/core-components-bottom-sheet');
10
10
  var mobile = require('@alfalab/core-components-modal/mobile');
11
11
  require('./Component.js');
12
- var components_baseSelect_Component = require('./Component-0a2300e8.js');
12
+ var components_baseSelect_Component = require('./Component-ca307b80.js');
13
13
  var components_field_Component = require('./components/field/Component.js');
14
14
  var components_optgroup_Component = require('./components/optgroup/Component.js');
15
15
  var components_option_Component = require('./components/option/Component.js');
@@ -20,7 +20,7 @@ require('@alfalab/hooks');
20
20
  var utils = require('./utils.js');
21
21
  var components_baseOption_Component = require('./components/base-option/Component.js');
22
22
  require('@alfalab/core-components-skeleton');
23
- require('./intersection-observer-404c5a30.js');
23
+ require('./intersection-observer-31caed5c.js');
24
24
  var coreComponentsButton = require('@alfalab/core-components-button');
25
25
  require('@alfalab/icons-glyph/ChevronDownMIcon');
26
26
  require('@alfalab/core-components-form-control');
@@ -31,6 +31,7 @@ require('@alfalab/icons-glyph/CheckmarkCircleMIcon');
31
31
  var components_baseCheckmark_Component = require('./components/base-checkmark/Component.js');
32
32
  var components_baseSelectMobile_checkmark_Component = require('./components/base-select-mobile/checkmark/Component.js');
33
33
  var components_baseSelectMobile_optionsList_Component = require('./components/base-select-mobile/options-list/Component.js');
34
+ var components_baseSelectMobile_virtualOptionsList_Component = require('./components/base-select-mobile/virtual-options-list/Component.js');
34
35
 
35
36
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
36
37
 
@@ -38,19 +39,19 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
38
39
  var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
39
40
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
40
41
 
41
- var styles$1 = {"footer":"select__footer_1mgwl","withBorder":"select__withBorder_1mgwl"};
42
+ var styles$1 = {"footer":"select__footer_l8orr","withBorder":"select__withBorder_l8orr"};
42
43
  require('./presets/useSelectWithApply/options-list-with-apply/index.css')
43
44
 
44
45
  var OptionsListWithApply = React.forwardRef(function (_a, ref) {
45
46
  var _b;
46
- var toggleMenu = _a.toggleMenu, _c = _a.OptionsList, OptionsList = _c === void 0 ? components_optionsList_Component.OptionsList : _c, defaultGetOptionProps = _a.getOptionProps, _d = _a.showClear, showClear = _d === void 0 ? true : _d, _e = _a.selectedDraft, selectedDraft = _e === void 0 ? [] : _e, _f = _a.flatOptions, flatOptions = _f === void 0 ? [] : _f, _g = _a.onApply, onApply = _g === void 0 ? function () { return null; } : _g, _h = _a.onClear, onClear = _h === void 0 ? function () { return null; } : _h, _j = _a.onClose, onClose = _j === void 0 ? function () { return null; } : _j, _k = _a.visibleOptions, visibleOptions = _k === void 0 ? 5 : _k, restProps = tslib_es6.__rest(_a, ["toggleMenu", "OptionsList", "getOptionProps", "showClear", "selectedDraft", "flatOptions", "onApply", "onClear", "onClose", "visibleOptions"]);
47
+ var toggleMenu = _a.toggleMenu, _c = _a.OptionsList, OptionsList = _c === void 0 ? components_optionsList_Component.OptionsList : _c, defaultGetOptionProps = _a.getOptionProps, _d = _a.showClear, showClear = _d === void 0 ? true : _d, _e = _a.selectedDraft, selectedDraft = _e === void 0 ? [] : _e, _f = _a.flatOptions, flatOptions = _f === void 0 ? [] : _f, _g = _a.onApply, onApply = _g === void 0 ? function () { return null; } : _g, _h = _a.onClear, onClear = _h === void 0 ? function () { return null; } : _h, _j = _a.onClose, onClose = _j === void 0 ? function () { return null; } : _j, _k = _a.visibleOptions, visibleOptions = _k === void 0 ? 5 : _k, restProps = tslib.__rest(_a, ["toggleMenu", "OptionsList", "getOptionProps", "showClear", "selectedDraft", "flatOptions", "onApply", "onClear", "onClose", "visibleOptions"]);
47
48
  var footerRef = React.useRef(null);
48
49
  var getOptionProps = React.useCallback(function (option, index) {
49
50
  var optionProps = defaultGetOptionProps(option, index);
50
51
  var selected = option.key === SELECT_ALL_KEY
51
52
  ? selectedDraft.length === flatOptions.length - 1
52
53
  : selectedDraft.includes(option);
53
- return tslib_es6.__assign(tslib_es6.__assign({}, optionProps), { selected: selected });
54
+ return tslib.__assign(tslib.__assign({}, optionProps), { selected: selected });
54
55
  }, [defaultGetOptionProps, flatOptions.length, selectedDraft]);
55
56
  var handleApply = React.useCallback(function () {
56
57
  onApply();
@@ -75,7 +76,7 @@ var OptionsListWithApply = React.forwardRef(function (_a, ref) {
75
76
  };
76
77
  // eslint-disable-next-line react-hooks/exhaustive-deps
77
78
  }, []);
78
- return (React__default.default.createElement(OptionsList, tslib_es6.__assign({}, restProps, { ref: ref, visibleOptions: visibleOptions, toggleMenu: toggleMenu, flatOptions: flatOptions, getOptionProps: getOptionProps, onApply: handleApply, onClear: handleClear, footer: React__default.default.createElement("div", {
79
+ return (React__default.default.createElement(OptionsList, tslib.__assign({}, restProps, { ref: ref, visibleOptions: visibleOptions, toggleMenu: toggleMenu, flatOptions: flatOptions, getOptionProps: getOptionProps, onApply: handleApply, onClear: handleClear, footer: React__default.default.createElement("div", {
79
80
  // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
80
81
  tabIndex: 0, className: cn__default.default(styles$1.footer, (_b = {},
81
82
  _b[styles$1.withBorder] = visibleOptions && flatOptions.length > visibleOptions,
@@ -107,9 +108,9 @@ function useSelectWithApply(_a) {
107
108
  });
108
109
  }, [onChange]);
109
110
  var handleChange = React.useCallback(function (_a) {
110
- var initiator = _a.initiator, restArgs = tslib_es6.__rest(_a, ["initiator"]);
111
+ var initiator = _a.initiator, restArgs = tslib.__rest(_a, ["initiator"]);
111
112
  if (!initiator) {
112
- onChange(tslib_es6.__assign({ initiator: null }, restArgs));
113
+ onChange(tslib.__assign({ initiator: null }, restArgs));
113
114
  return;
114
115
  }
115
116
  var initiatorSelected = selectedDraft.includes(initiator) ||
@@ -130,7 +131,7 @@ function useSelectWithApply(_a) {
130
131
  setSelectedDraft(selectedOptions);
131
132
  selectedOptionsRef.current = selectedOptions;
132
133
  }, [selectedOptions]);
133
- var memoizedOptions = React.useMemo(function () { return (showSelectAll ? tslib_es6.__spreadArray([selectAllOption], options, true) : options); }, [options, showSelectAll]);
134
+ var memoizedOptions = React.useMemo(function () { return (showSelectAll ? tslib.__spreadArray([selectAllOption], options, true) : options); }, [options, showSelectAll]);
134
135
  return {
135
136
  OptionsList: OptionsListWithApply,
136
137
  optionsListProps: {
@@ -149,12 +150,15 @@ function useSelectWithApply(_a) {
149
150
  };
150
151
  }
151
152
 
152
- var styles = {"component":"select__component_1kiva","popoverInner":"select__popoverInner_1kiva","sheet":"select__sheet_1kiva","sheetContent":"select__sheetContent_1kiva","sheetContainer":"select__sheetContainer_1kiva","block":"select__block_1kiva","option":"select__option_1kiva","optionGroup":"select__optionGroup_1kiva"};
153
+ var styles = {"component":"select__component_mpz1x","popoverInner":"select__popoverInner_mpz1x","sheet":"select__sheet_mpz1x","sheetContent":"select__sheetContent_mpz1x","sheetContainer":"select__sheetContainer_mpz1x","block":"select__block_mpz1x","option":"select__option_mpz1x","optionGroup":"select__optionGroup_mpz1x"};
153
154
  require('./components/base-select-mobile/index.css')
154
155
 
156
+ var VIRTUAL_OPTIONS_LIST_THRESHOLD = 30;
155
157
  var BaseSelectMobile = React.forwardRef(function (_a, ref) {
156
158
  var _b;
157
- var dataTestId = _a.dataTestId, className = _a.className, fieldClassName = _a.fieldClassName, optionsListClassName = _a.optionsListClassName, optionClassName = _a.optionClassName, optionGroupClassName = _a.optionGroupClassName, optionsListProps = _a.optionsListProps, options = _a.options, _c = _a.autocomplete, autocomplete = _c === void 0 ? false : _c, _d = _a.multiple, multiple = _d === void 0 ? false : _d, _e = _a.allowUnselect, allowUnselect = _e === void 0 ? false : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.closeOnSelect, closeOnSelect = _g === void 0 ? !multiple : _g, _h = _a.circularNavigation, circularNavigation = _h === void 0 ? false : _h, _j = _a.defaultOpen, defaultOpen = _j === void 0 ? false : _j, openProp = _a.open, name = _a.name, id = _a.id, selected = _a.selected, _k = _a.size, size = _k === void 0 ? 'm' : _k, _l = _a.optionsSize, optionsSize = _l === void 0 ? 'm' : _l, error = _a.error, hint = _a.hint, block = _a.block, label = _a.label, labelView = _a.labelView, placeholder = _a.placeholder, _m = _a.fieldProps, fieldProps = _m === void 0 ? {} : _m, _o = _a.optionProps, optionProps = _o === void 0 ? {} : _o, valueRenderer = _a.valueRenderer, onChange = _a.onChange, onOpen = _a.onOpen, onFocus = _a.onFocus, _p = _a.Arrow, Arrow = _p === void 0 ? components_arrow_Component.Arrow : _p, _q = _a.Field, Field = _q === void 0 ? components_field_Component.Field : _q, _r = _a.Optgroup, Optgroup = _r === void 0 ? components_optgroup_Component.Optgroup : _r, _s = _a.Option, Option = _s === void 0 ? components_option_Component.Option : _s, _t = _a.OptionsList, OptionsList = _t === void 0 ? components_baseSelectMobile_optionsList_Component.OptionsList : _t, swipeable = _a.swipeable, footer = _a.footer, isBottomSheet = _a.isBottomSheet, bottomSheetProps = _a.bottomSheetProps;
159
+ var dataTestId = _a.dataTestId, className = _a.className, fieldClassName = _a.fieldClassName, optionsListClassName = _a.optionsListClassName, optionClassName = _a.optionClassName, optionGroupClassName = _a.optionGroupClassName, optionsListProps = _a.optionsListProps, options = _a.options, _c = _a.autocomplete, autocomplete = _c === void 0 ? false : _c, _d = _a.multiple, multiple = _d === void 0 ? false : _d, _e = _a.allowUnselect, allowUnselect = _e === void 0 ? false : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.closeOnSelect, closeOnSelect = _g === void 0 ? !multiple : _g, _h = _a.circularNavigation, circularNavigation = _h === void 0 ? false : _h, _j = _a.defaultOpen, defaultOpen = _j === void 0 ? false : _j, openProp = _a.open, name = _a.name, id = _a.id, selected = _a.selected, _k = _a.size, size = _k === void 0 ? 'm' : _k, _l = _a.optionsSize, optionsSize = _l === void 0 ? 'm' : _l, error = _a.error, hint = _a.hint, block = _a.block, label = _a.label, labelView = _a.labelView, placeholder = _a.placeholder, _m = _a.fieldProps, fieldProps = _m === void 0 ? {} : _m, _o = _a.optionProps, optionProps = _o === void 0 ? {} : _o, valueRenderer = _a.valueRenderer, onChange = _a.onChange, onOpen = _a.onOpen, onFocus = _a.onFocus, _p = _a.Arrow, Arrow = _p === void 0 ? components_arrow_Component.Arrow : _p, _q = _a.Field, Field = _q === void 0 ? components_field_Component.Field : _q, _r = _a.Optgroup, Optgroup = _r === void 0 ? components_optgroup_Component.Optgroup : _r, _s = _a.Option, Option = _s === void 0 ? components_option_Component.Option : _s, _t = _a.OptionsList, OptionsList = _t === void 0 ? options.length > VIRTUAL_OPTIONS_LIST_THRESHOLD
160
+ ? components_baseSelectMobile_virtualOptionsList_Component.VirtualOptionsList
161
+ : components_baseSelectMobile_optionsList_Component.OptionsList : _t, swipeable = _a.swipeable, footer = _a.footer, isBottomSheet = _a.isBottomSheet, bottomSheetProps = _a.bottomSheetProps;
158
162
  var rootRef = React.useRef(null);
159
163
  var fieldRef = React.useRef(null);
160
164
  var listRef = React.useRef(null);
@@ -162,6 +166,7 @@ var BaseSelectMobile = React.forwardRef(function (_a, ref) {
162
166
  var itemToString = function (option) { return (option ? option.key : ''); };
163
167
  var _u = React.useMemo(function () { return utils.processOptions(options, selected); }, [options, selected]), flatOptions = _u.flatOptions, selectedOptions = _u.selectedOptions;
164
168
  var selectedOptionsRef = React.useRef(selectedOptions);
169
+ var scrollableContainerRef = React.useRef(null);
165
170
  var _v = React.useState(selectedOptions), selectedDraft = _v[0], setSelectedDraft = _v[1];
166
171
  var useMultipleSelectionProps = {
167
172
  itemToString: itemToString,
@@ -244,7 +249,7 @@ var BaseSelectMobile = React.forwardRef(function (_a, ref) {
244
249
  }
245
250
  }
246
251
  }
247
- return tslib_es6.__assign(tslib_es6.__assign({}, changes), { isOpen: !closeOnSelect || multiple,
252
+ return tslib.__assign(tslib.__assign({}, changes), { isOpen: !closeOnSelect || multiple,
248
253
  // при closeOnSelect === false - сохраняем подсвеченный индекс
249
254
  highlightedIndex: state.isOpen && !closeOnSelect
250
255
  ? state.highlightedIndex
@@ -294,7 +299,7 @@ var BaseSelectMobile = React.forwardRef(function (_a, ref) {
294
299
  };
295
300
  var getOptionProps = function (option, index) {
296
301
  var selectedItem = selectedItems.includes(option);
297
- return tslib_es6.__assign(tslib_es6.__assign({}, optionProps), { mobile: true, className: cn__default.default(styles.option, optionClassName), innerProps: getItemProps({
302
+ return tslib.__assign(tslib.__assign({}, optionProps), { mobile: true, className: cn__default.default(styles.option, optionClassName), innerProps: getItemProps({
298
303
  index: index,
299
304
  item: option,
300
305
  disabled: option.disabled,
@@ -331,8 +336,8 @@ var BaseSelectMobile = React.forwardRef(function (_a, ref) {
331
336
  }
332
337
  toggleMenu();
333
338
  };
334
- return (React__default.default.createElement("div", tslib_es6.__assign({}, getComboboxProps(tslib_es6.__assign(tslib_es6.__assign({ ref: rootRef }, (disabled && { 'aria-disabled': true })), { className: cn__default.default(styles.component, (_b = {}, _b[styles.block] = block, _b), className) })), { onKeyDown: disabled ? undefined : handleFieldKeyDown, tabIndex: -1, "data-test-id": components_baseSelect_Component.getDataTestId(dataTestId) }),
335
- React__default.default.createElement(Field, tslib_es6.__assign({ selectedMultiple: selectedDraft, selected: selectedItems[0], setSelectedItems: setSelectedItems, toggleMenu: toggleMenu, multiple: multiple, open: open, disabled: disabled, size: size, placeholder: placeholder, label: label && React__default.default.createElement("span", tslib_es6.__assign({}, getLabelProps()), label), labelView: labelView, Arrow: Arrow && React__default.default.createElement(Arrow, { open: open }), error: error, hint: hint, valueRenderer: valueRenderer, className: fieldClassName, innerProps: {
339
+ return (React__default.default.createElement("div", tslib.__assign({}, getComboboxProps(tslib.__assign(tslib.__assign({ ref: rootRef }, (disabled && { 'aria-disabled': true })), { className: cn__default.default(styles.component, (_b = {}, _b[styles.block] = block, _b), className) })), { onKeyDown: disabled ? undefined : handleFieldKeyDown, tabIndex: -1, "data-test-id": components_baseSelect_Component.getDataTestId(dataTestId) }),
340
+ React__default.default.createElement(Field, tslib.__assign({ selectedMultiple: selectedDraft, selected: selectedItems[0], setSelectedItems: setSelectedItems, toggleMenu: toggleMenu, multiple: multiple, open: open, disabled: disabled, size: size, placeholder: placeholder, label: label && React__default.default.createElement("span", tslib.__assign({}, getLabelProps()), label), labelView: labelView, Arrow: Arrow && React__default.default.createElement(Arrow, { open: open }), error: error, hint: hint, valueRenderer: valueRenderer, className: fieldClassName, innerProps: {
336
341
  onFocus: disabled ? undefined : handleFieldFocus,
337
342
  onClick: disabled ? undefined : handleFieldClick,
338
343
  tabIndex: disabled ? -1 : 0,
@@ -345,22 +350,22 @@ var BaseSelectMobile = React.forwardRef(function (_a, ref) {
345
350
  : undefined,
346
351
  }, dataTestId: components_baseSelect_Component.getDataTestId(dataTestId, 'field') }, fieldProps)),
347
352
  name && renderValue(),
348
- isBottomSheet ? (React__default.default.createElement(coreComponentsBottomSheet.BottomSheet, tslib_es6.__assign({ open: open, onClose: handleClose, className: styles.sheet, contentClassName: styles.sheetContent, containerClassName: styles.sheetContainer, title: placeholder, actionButton: footer, stickyHeader: true, hasCloser: true, swipeable: swipeable }, bottomSheetProps),
349
- React__default.default.createElement("div", tslib_es6.__assign({}, menuProps, { className: optionsListClassName }),
350
- React__default.default.createElement(OptionsListWithApply, tslib_es6.__assign({ showFooter: multiple }, optionsListProps, { flatOptions: flatOptions, highlightedIndex: highlightedIndex, size: size, options: options, OptionsList: OptionsList, Optgroup: Optgroup, Option: Option, selectedItems: selectedItems, setSelectedItems: setSelectedItems, toggleMenu: toggleMenu, getOptionProps: getOptionProps, dataTestId: components_baseSelect_Component.getDataTestId(dataTestId, 'options-list'), optionGroupClassName: cn__default.default(styles.optionGroup, optionGroupClassName), onApply: handleApply, onClear: handleClear }))))) : (React__default.default.createElement(mobile.ModalMobile, { open: open, onClose: handleClose, contentClassName: styles.sheetContent, hasCloser: true },
351
- React__default.default.createElement(mobile.ModalMobile.Header, { hasCloser: true, title: placeholder, sticky: true }),
352
- React__default.default.createElement("div", tslib_es6.__assign({}, menuProps, { className: optionsListClassName }),
353
- React__default.default.createElement(OptionsListWithApply, tslib_es6.__assign({ showFooter: multiple }, optionsListProps, { flatOptions: flatOptions, highlightedIndex: highlightedIndex, size: size, options: options, OptionsList: OptionsList, Optgroup: Optgroup, Option: Option, selectedItems: selectedItems, setSelectedItems: setSelectedItems, toggleMenu: toggleMenu, getOptionProps: getOptionProps, dataTestId: components_baseSelect_Component.getDataTestId(dataTestId, 'options-list'), optionGroupClassName: cn__default.default(styles.optionGroup, optionGroupClassName), onApply: handleApply, onClear: handleClear })))))));
353
+ isBottomSheet ? (React__default.default.createElement(coreComponentsBottomSheet.BottomSheet, tslib.__assign({ open: open, onClose: handleClose, className: styles.sheet, contentClassName: styles.sheetContent, containerClassName: styles.sheetContainer, title: label || placeholder, actionButton: footer, stickyHeader: true, hasCloser: true, swipeable: swipeable, scrollableContainerRef: scrollableContainerRef }, bottomSheetProps),
354
+ React__default.default.createElement("div", tslib.__assign({}, menuProps, { className: optionsListClassName }),
355
+ React__default.default.createElement(OptionsListWithApply, tslib.__assign({ showFooter: multiple }, optionsListProps, { flatOptions: flatOptions, highlightedIndex: highlightedIndex, size: size, options: options, OptionsList: OptionsList, Optgroup: Optgroup, Option: Option, selectedItems: selectedItems, setSelectedItems: setSelectedItems, toggleMenu: toggleMenu, getOptionProps: getOptionProps, dataTestId: components_baseSelect_Component.getDataTestId(dataTestId, 'options-list'), optionGroupClassName: cn__default.default(styles.optionGroup, optionGroupClassName), onApply: handleApply, onClear: handleClear, ref: scrollableContainerRef }))))) : (React__default.default.createElement(mobile.ModalMobile, { open: open, onClose: handleClose, contentClassName: styles.sheetContent, hasCloser: true, ref: scrollableContainerRef },
356
+ React__default.default.createElement(mobile.ModalMobile.Header, { hasCloser: true, sticky: true }, label || placeholder),
357
+ React__default.default.createElement("div", tslib.__assign({}, menuProps, { className: optionsListClassName }),
358
+ React__default.default.createElement(OptionsListWithApply, tslib.__assign({ showFooter: multiple }, optionsListProps, { flatOptions: flatOptions, highlightedIndex: highlightedIndex, size: size, options: options, OptionsList: OptionsList, Optgroup: Optgroup, Option: Option, selectedItems: selectedItems, setSelectedItems: setSelectedItems, toggleMenu: toggleMenu, getOptionProps: getOptionProps, dataTestId: components_baseSelect_Component.getDataTestId(dataTestId, 'options-list'), optionGroupClassName: cn__default.default(styles.optionGroup, optionGroupClassName), onApply: handleApply, onClear: handleClear, ref: scrollableContainerRef })))))));
354
359
  });
355
360
 
356
361
  var SelectMobile = React.forwardRef(function (_a, ref) {
357
- var _b = _a.autocomplete, autocomplete = _b === void 0 ? false : _b, _c = _a.multiple, multiple = _c === void 0 ? false : _c, _d = _a.allowUnselect, allowUnselect = _d === void 0 ? false : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.closeOnSelect, closeOnSelect = _f === void 0 ? !multiple : _f, _g = _a.circularNavigation, circularNavigation = _g === void 0 ? false : _g, _h = _a.defaultOpen, defaultOpen = _h === void 0 ? false : _h, openProp = _a.open, _j = _a.size, size = _j === void 0 ? 'm' : _j, _k = _a.optionsSize, optionsSize = _k === void 0 ? 'm' : _k, _l = _a.fieldProps, fieldProps = _l === void 0 ? {} : _l, _m = _a.optionProps, optionProps = _m === void 0 ? {} : _m, _o = _a.Arrow, Arrow = _o === void 0 ? components_arrow_Component.Arrow : _o, _p = _a.Field, Field = _p === void 0 ? components_field_Component.Field : _p, _q = _a.Optgroup, Optgroup = _q === void 0 ? components_optgroup_Component.Optgroup : _q, _r = _a.Option, Option = _r === void 0 ? components_option_Component.Option : _r, restProps = tslib_es6.__rest(_a, ["autocomplete", "multiple", "allowUnselect", "disabled", "closeOnSelect", "circularNavigation", "defaultOpen", "open", "size", "optionsSize", "fieldProps", "optionProps", "Arrow", "Field", "Optgroup", "Option"]);
358
- return (React__default.default.createElement(BaseSelectMobile, tslib_es6.__assign({ ref: ref, autocomplete: autocomplete, multiple: multiple, allowUnselect: allowUnselect, disabled: disabled, closeOnSelect: closeOnSelect, circularNavigation: circularNavigation, defaultOpen: defaultOpen, open: openProp, size: size, optionsSize: optionsSize, fieldProps: fieldProps, optionProps: optionProps, Arrow: Arrow, Field: Field, Optgroup: Optgroup, Option: Option, isBottomSheet: true }, restProps)));
362
+ var _b = _a.autocomplete, autocomplete = _b === void 0 ? false : _b, _c = _a.multiple, multiple = _c === void 0 ? false : _c, _d = _a.allowUnselect, allowUnselect = _d === void 0 ? false : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.closeOnSelect, closeOnSelect = _f === void 0 ? !multiple : _f, _g = _a.circularNavigation, circularNavigation = _g === void 0 ? false : _g, _h = _a.defaultOpen, defaultOpen = _h === void 0 ? false : _h, openProp = _a.open, _j = _a.size, size = _j === void 0 ? 'm' : _j, _k = _a.optionsSize, optionsSize = _k === void 0 ? 'm' : _k, _l = _a.fieldProps, fieldProps = _l === void 0 ? {} : _l, _m = _a.optionProps, optionProps = _m === void 0 ? {} : _m, _o = _a.Arrow, Arrow = _o === void 0 ? components_arrow_Component.Arrow : _o, _p = _a.Field, Field = _p === void 0 ? components_field_Component.Field : _p, _q = _a.Optgroup, Optgroup = _q === void 0 ? components_optgroup_Component.Optgroup : _q, _r = _a.Option, Option = _r === void 0 ? components_option_Component.Option : _r, restProps = tslib.__rest(_a, ["autocomplete", "multiple", "allowUnselect", "disabled", "closeOnSelect", "circularNavigation", "defaultOpen", "open", "size", "optionsSize", "fieldProps", "optionProps", "Arrow", "Field", "Optgroup", "Option"]);
363
+ return (React__default.default.createElement(BaseSelectMobile, tslib.__assign({ ref: ref, autocomplete: autocomplete, multiple: multiple, allowUnselect: allowUnselect, disabled: disabled, closeOnSelect: closeOnSelect, circularNavigation: circularNavigation, defaultOpen: defaultOpen, open: openProp, size: size, optionsSize: optionsSize, fieldProps: fieldProps, optionProps: optionProps, Arrow: Arrow, Field: Field, Optgroup: Optgroup, Option: Option, isBottomSheet: true }, restProps)));
359
364
  });
360
365
 
361
366
  var SelectModalMobile = React.forwardRef(function (_a, ref) {
362
- var _b = _a.autocomplete, autocomplete = _b === void 0 ? false : _b, _c = _a.multiple, multiple = _c === void 0 ? false : _c, _d = _a.allowUnselect, allowUnselect = _d === void 0 ? false : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.closeOnSelect, closeOnSelect = _f === void 0 ? !multiple : _f, _g = _a.circularNavigation, circularNavigation = _g === void 0 ? false : _g, _h = _a.defaultOpen, defaultOpen = _h === void 0 ? false : _h, openProp = _a.open, _j = _a.size, size = _j === void 0 ? 'm' : _j, _k = _a.optionsSize, optionsSize = _k === void 0 ? 'm' : _k, _l = _a.fieldProps, fieldProps = _l === void 0 ? {} : _l, _m = _a.optionProps, optionProps = _m === void 0 ? {} : _m, _o = _a.Arrow, Arrow = _o === void 0 ? components_arrow_Component.Arrow : _o, _p = _a.Field, Field = _p === void 0 ? components_field_Component.Field : _p, _q = _a.Optgroup, Optgroup = _q === void 0 ? components_optgroup_Component.Optgroup : _q, _r = _a.Option, Option = _r === void 0 ? components_option_Component.Option : _r, restProps = tslib_es6.__rest(_a, ["autocomplete", "multiple", "allowUnselect", "disabled", "closeOnSelect", "circularNavigation", "defaultOpen", "open", "size", "optionsSize", "fieldProps", "optionProps", "Arrow", "Field", "Optgroup", "Option"]);
363
- return (React__default.default.createElement(BaseSelectMobile, tslib_es6.__assign({ ref: ref, autocomplete: autocomplete, multiple: multiple, allowUnselect: allowUnselect, disabled: disabled, closeOnSelect: closeOnSelect, circularNavigation: circularNavigation, defaultOpen: defaultOpen, open: openProp, size: size, optionsSize: optionsSize, fieldProps: fieldProps, optionProps: optionProps, Arrow: Arrow, Field: Field, Optgroup: Optgroup, Option: Option, isBottomSheet: false }, restProps)));
367
+ var _b = _a.autocomplete, autocomplete = _b === void 0 ? false : _b, _c = _a.multiple, multiple = _c === void 0 ? false : _c, _d = _a.allowUnselect, allowUnselect = _d === void 0 ? false : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.closeOnSelect, closeOnSelect = _f === void 0 ? !multiple : _f, _g = _a.circularNavigation, circularNavigation = _g === void 0 ? false : _g, _h = _a.defaultOpen, defaultOpen = _h === void 0 ? false : _h, openProp = _a.open, _j = _a.size, size = _j === void 0 ? 'm' : _j, _k = _a.optionsSize, optionsSize = _k === void 0 ? 'm' : _k, _l = _a.fieldProps, fieldProps = _l === void 0 ? {} : _l, _m = _a.optionProps, optionProps = _m === void 0 ? {} : _m, _o = _a.Arrow, Arrow = _o === void 0 ? components_arrow_Component.Arrow : _o, _p = _a.Field, Field = _p === void 0 ? components_field_Component.Field : _p, _q = _a.Optgroup, Optgroup = _q === void 0 ? components_optgroup_Component.Optgroup : _q, _r = _a.Option, Option = _r === void 0 ? components_option_Component.Option : _r, restProps = tslib.__rest(_a, ["autocomplete", "multiple", "allowUnselect", "disabled", "closeOnSelect", "circularNavigation", "defaultOpen", "open", "size", "optionsSize", "fieldProps", "optionProps", "Arrow", "Field", "Optgroup", "Option"]);
368
+ return (React__default.default.createElement(BaseSelectMobile, tslib.__assign({ ref: ref, autocomplete: autocomplete, multiple: multiple, allowUnselect: allowUnselect, disabled: disabled, closeOnSelect: closeOnSelect, circularNavigation: circularNavigation, defaultOpen: defaultOpen, open: openProp, size: size, optionsSize: optionsSize, fieldProps: fieldProps, optionProps: optionProps, Arrow: Arrow, Field: Field, Optgroup: Optgroup, Option: Option, isBottomSheet: false }, restProps)));
364
369
  });
365
370
 
366
371
  exports.BaseSelectMobile = BaseSelectMobile;