@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-0e9bf404.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/cssm');
10
10
  var mobile = require('@alfalab/core-components-modal/cssm/mobile');
11
11
  require('./Component.js');
12
- var components_baseSelect_Component = require('./Component-d0e84442.js');
12
+ var components_baseSelect_Component = require('./Component-1481ef6b.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');
@@ -43,6 +43,7 @@ var styles = require('./presets/useSelectWithApply/options-list-with-apply/index
43
43
  var components_baseCheckmark_Component = require('./components/base-checkmark/Component.js');
44
44
  var components_baseSelectMobile_checkmark_Component = require('./components/base-select-mobile/checkmark/Component.js');
45
45
  var components_baseSelectMobile_optionsList_Component = require('./components/base-select-mobile/options-list/Component.js');
46
+ var components_baseSelectMobile_virtualOptionsList_Component = require('./components/base-select-mobile/virtual-options-list/Component.js');
46
47
  var styles$1 = require('./components/base-select-mobile/index.module.css');
47
48
 
48
49
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -55,14 +56,14 @@ var styles__default$1 = /*#__PURE__*/_interopDefaultCompat(styles$1);
55
56
 
56
57
  var OptionsListWithApply = React.forwardRef(function (_a, ref) {
57
58
  var _b;
58
- 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"]);
59
+ 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"]);
59
60
  var footerRef = React.useRef(null);
60
61
  var getOptionProps = React.useCallback(function (option, index) {
61
62
  var optionProps = defaultGetOptionProps(option, index);
62
63
  var selected = option.key === SELECT_ALL_KEY
63
64
  ? selectedDraft.length === flatOptions.length - 1
64
65
  : selectedDraft.includes(option);
65
- return tslib_es6.__assign(tslib_es6.__assign({}, optionProps), { selected: selected });
66
+ return tslib.__assign(tslib.__assign({}, optionProps), { selected: selected });
66
67
  }, [defaultGetOptionProps, flatOptions.length, selectedDraft]);
67
68
  var handleApply = React.useCallback(function () {
68
69
  onApply();
@@ -87,7 +88,7 @@ var OptionsListWithApply = React.forwardRef(function (_a, ref) {
87
88
  };
88
89
  // eslint-disable-next-line react-hooks/exhaustive-deps
89
90
  }, []);
90
- 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", {
91
+ 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", {
91
92
  // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
92
93
  tabIndex: 0, className: cn__default.default(styles__default.default.footer, (_b = {},
93
94
  _b[styles__default.default.withBorder] = visibleOptions && flatOptions.length > visibleOptions,
@@ -119,9 +120,9 @@ function useSelectWithApply(_a) {
119
120
  });
120
121
  }, [onChange]);
121
122
  var handleChange = React.useCallback(function (_a) {
122
- var initiator = _a.initiator, restArgs = tslib_es6.__rest(_a, ["initiator"]);
123
+ var initiator = _a.initiator, restArgs = tslib.__rest(_a, ["initiator"]);
123
124
  if (!initiator) {
124
- onChange(tslib_es6.__assign({ initiator: null }, restArgs));
125
+ onChange(tslib.__assign({ initiator: null }, restArgs));
125
126
  return;
126
127
  }
127
128
  var initiatorSelected = selectedDraft.includes(initiator) ||
@@ -142,7 +143,7 @@ function useSelectWithApply(_a) {
142
143
  setSelectedDraft(selectedOptions);
143
144
  selectedOptionsRef.current = selectedOptions;
144
145
  }, [selectedOptions]);
145
- var memoizedOptions = React.useMemo(function () { return (showSelectAll ? tslib_es6.__spreadArray([selectAllOption], options, true) : options); }, [options, showSelectAll]);
146
+ var memoizedOptions = React.useMemo(function () { return (showSelectAll ? tslib.__spreadArray([selectAllOption], options, true) : options); }, [options, showSelectAll]);
146
147
  return {
147
148
  OptionsList: OptionsListWithApply,
148
149
  optionsListProps: {
@@ -161,9 +162,12 @@ function useSelectWithApply(_a) {
161
162
  };
162
163
  }
163
164
 
165
+ var VIRTUAL_OPTIONS_LIST_THRESHOLD = 30;
164
166
  var BaseSelectMobile = React.forwardRef(function (_a, ref) {
165
167
  var _b;
166
- 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;
168
+ 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
169
+ ? components_baseSelectMobile_virtualOptionsList_Component.VirtualOptionsList
170
+ : components_baseSelectMobile_optionsList_Component.OptionsList : _t, swipeable = _a.swipeable, footer = _a.footer, isBottomSheet = _a.isBottomSheet, bottomSheetProps = _a.bottomSheetProps;
167
171
  var rootRef = React.useRef(null);
168
172
  var fieldRef = React.useRef(null);
169
173
  var listRef = React.useRef(null);
@@ -171,6 +175,7 @@ var BaseSelectMobile = React.forwardRef(function (_a, ref) {
171
175
  var itemToString = function (option) { return (option ? option.key : ''); };
172
176
  var _u = React.useMemo(function () { return utils.processOptions(options, selected); }, [options, selected]), flatOptions = _u.flatOptions, selectedOptions = _u.selectedOptions;
173
177
  var selectedOptionsRef = React.useRef(selectedOptions);
178
+ var scrollableContainerRef = React.useRef(null);
174
179
  var _v = React.useState(selectedOptions), selectedDraft = _v[0], setSelectedDraft = _v[1];
175
180
  var useMultipleSelectionProps = {
176
181
  itemToString: itemToString,
@@ -253,7 +258,7 @@ var BaseSelectMobile = React.forwardRef(function (_a, ref) {
253
258
  }
254
259
  }
255
260
  }
256
- return tslib_es6.__assign(tslib_es6.__assign({}, changes), { isOpen: !closeOnSelect || multiple,
261
+ return tslib.__assign(tslib.__assign({}, changes), { isOpen: !closeOnSelect || multiple,
257
262
  // при closeOnSelect === false - сохраняем подсвеченный индекс
258
263
  highlightedIndex: state.isOpen && !closeOnSelect
259
264
  ? state.highlightedIndex
@@ -303,7 +308,7 @@ var BaseSelectMobile = React.forwardRef(function (_a, ref) {
303
308
  };
304
309
  var getOptionProps = function (option, index) {
305
310
  var selectedItem = selectedItems.includes(option);
306
- return tslib_es6.__assign(tslib_es6.__assign({}, optionProps), { mobile: true, className: cn__default.default(styles__default$1.default.option, optionClassName), innerProps: getItemProps({
311
+ return tslib.__assign(tslib.__assign({}, optionProps), { mobile: true, className: cn__default.default(styles__default$1.default.option, optionClassName), innerProps: getItemProps({
307
312
  index: index,
308
313
  item: option,
309
314
  disabled: option.disabled,
@@ -340,8 +345,8 @@ var BaseSelectMobile = React.forwardRef(function (_a, ref) {
340
345
  }
341
346
  toggleMenu();
342
347
  };
343
- 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__default$1.default.component, (_b = {}, _b[styles__default$1.default.block] = block, _b), className) })), { onKeyDown: disabled ? undefined : handleFieldKeyDown, tabIndex: -1, "data-test-id": components_baseSelect_Component.getDataTestId(dataTestId) }),
344
- 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: {
348
+ return (React__default.default.createElement("div", tslib.__assign({}, getComboboxProps(tslib.__assign(tslib.__assign({ ref: rootRef }, (disabled && { 'aria-disabled': true })), { className: cn__default.default(styles__default$1.default.component, (_b = {}, _b[styles__default$1.default.block] = block, _b), className) })), { onKeyDown: disabled ? undefined : handleFieldKeyDown, tabIndex: -1, "data-test-id": components_baseSelect_Component.getDataTestId(dataTestId) }),
349
+ 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: {
345
350
  onFocus: disabled ? undefined : handleFieldFocus,
346
351
  onClick: disabled ? undefined : handleFieldClick,
347
352
  tabIndex: disabled ? -1 : 0,
@@ -354,22 +359,22 @@ var BaseSelectMobile = React.forwardRef(function (_a, ref) {
354
359
  : undefined,
355
360
  }, dataTestId: components_baseSelect_Component.getDataTestId(dataTestId, 'field') }, fieldProps)),
356
361
  name && renderValue(),
357
- isBottomSheet ? (React__default.default.createElement(coreComponentsBottomSheet.BottomSheet, tslib_es6.__assign({ open: open, onClose: handleClose, className: styles__default$1.default.sheet, contentClassName: styles__default$1.default.sheetContent, containerClassName: styles__default$1.default.sheetContainer, title: placeholder, actionButton: footer, stickyHeader: true, hasCloser: true, swipeable: swipeable }, bottomSheetProps),
358
- React__default.default.createElement("div", tslib_es6.__assign({}, menuProps, { className: optionsListClassName }),
359
- 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__default$1.default.optionGroup, optionGroupClassName), onApply: handleApply, onClear: handleClear }))))) : (React__default.default.createElement(mobile.ModalMobile, { open: open, onClose: handleClose, contentClassName: styles__default$1.default.sheetContent, hasCloser: true },
360
- React__default.default.createElement(mobile.ModalMobile.Header, { hasCloser: true, title: placeholder, sticky: true }),
361
- React__default.default.createElement("div", tslib_es6.__assign({}, menuProps, { className: optionsListClassName }),
362
- 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__default$1.default.optionGroup, optionGroupClassName), onApply: handleApply, onClear: handleClear })))))));
362
+ isBottomSheet ? (React__default.default.createElement(coreComponentsBottomSheet.BottomSheet, tslib.__assign({ open: open, onClose: handleClose, className: styles__default$1.default.sheet, contentClassName: styles__default$1.default.sheetContent, containerClassName: styles__default$1.default.sheetContainer, title: label || placeholder, actionButton: footer, stickyHeader: true, hasCloser: true, swipeable: swipeable, scrollableContainerRef: scrollableContainerRef }, bottomSheetProps),
363
+ React__default.default.createElement("div", tslib.__assign({}, menuProps, { className: optionsListClassName }),
364
+ 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__default$1.default.optionGroup, optionGroupClassName), onApply: handleApply, onClear: handleClear, ref: scrollableContainerRef }))))) : (React__default.default.createElement(mobile.ModalMobile, { open: open, onClose: handleClose, contentClassName: styles__default$1.default.sheetContent, hasCloser: true, ref: scrollableContainerRef },
365
+ React__default.default.createElement(mobile.ModalMobile.Header, { hasCloser: true, sticky: true }, label || placeholder),
366
+ React__default.default.createElement("div", tslib.__assign({}, menuProps, { className: optionsListClassName }),
367
+ 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__default$1.default.optionGroup, optionGroupClassName), onApply: handleApply, onClear: handleClear, ref: scrollableContainerRef })))))));
363
368
  });
364
369
 
365
370
  var SelectMobile = React.forwardRef(function (_a, ref) {
366
- 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"]);
367
- 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)));
371
+ 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"]);
372
+ 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)));
368
373
  });
369
374
 
370
375
  var SelectModalMobile = React.forwardRef(function (_a, ref) {
371
- 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"]);
372
- 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)));
376
+ 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"]);
377
+ 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)));
373
378
  });
374
379
 
375
380
  exports.BaseSelectMobile = BaseSelectMobile;
package/cssm/Component.js CHANGED
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-0e9bf404.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var components_arrow_Component = require('./components/arrow/Component.js');
6
- var components_baseSelect_Component = require('./Component-d0e84442.js');
6
+ var components_baseSelect_Component = require('./Component-1481ef6b.js');
7
7
  var components_field_Component = require('./components/field/Component.js');
8
8
  var components_optgroup_Component = require('./components/optgroup/Component.js');
9
9
  var components_option_Component = require('./components/option/Component.js');
@@ -39,8 +39,8 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
39
39
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
40
40
 
41
41
  var Select = React.forwardRef(function (_a, ref) {
42
- var _b = _a.Arrow, Arrow = _b === void 0 ? components_arrow_Component.Arrow : _b, _c = _a.Field, Field = _c === void 0 ? components_field_Component.Field : _c, _d = _a.OptionsList, OptionsList = _d === void 0 ? components_optionsList_Component.OptionsList : _d, _e = _a.Optgroup, Optgroup = _e === void 0 ? components_optgroup_Component.Optgroup : _e, _f = _a.Option, Option = _f === void 0 ? components_option_Component.Option : _f, restProps = tslib_es6.__rest(_a, ["Arrow", "Field", "OptionsList", "Optgroup", "Option"]);
43
- return (React__default.default.createElement(components_baseSelect_Component.BaseSelect, tslib_es6.__assign({ ref: ref, Option: Option, Field: Field, Optgroup: Optgroup, OptionsList: OptionsList, Arrow: Arrow }, restProps)));
42
+ var _b = _a.Arrow, Arrow = _b === void 0 ? components_arrow_Component.Arrow : _b, _c = _a.Field, Field = _c === void 0 ? components_field_Component.Field : _c, _d = _a.OptionsList, OptionsList = _d === void 0 ? components_optionsList_Component.OptionsList : _d, _e = _a.Optgroup, Optgroup = _e === void 0 ? components_optgroup_Component.Optgroup : _e, _f = _a.Option, Option = _f === void 0 ? components_option_Component.Option : _f, restProps = tslib.__rest(_a, ["Arrow", "Field", "OptionsList", "Optgroup", "Option"]);
43
+ return (React__default.default.createElement(components_baseSelect_Component.BaseSelect, tslib.__assign({ ref: ref, Option: Option, Field: Field, Optgroup: Optgroup, OptionsList: OptionsList, Arrow: Arrow }, restProps)));
44
44
  });
45
45
 
46
46
  exports.Select = Select;