@alfalab/core-components 47.0.0-beta.1 → 47.0.0-beta.2

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 (276) hide show
  1. package/base-modal/Component.js +2 -1
  2. package/base-modal/cssm/Component.js +2 -1
  3. package/base-modal/esm/Component.js +2 -1
  4. package/base-modal/esm/index.js +1 -0
  5. package/base-modal/modern/Component.js +2 -1
  6. package/base-modal/modern/index.js +1 -0
  7. package/calendar-range/utils.js +3 -1
  8. package/gallery/components/header/Component.js +1 -1
  9. package/gallery/components/header/buttons.js +1 -1
  10. package/gallery/components/image-viewer/component.js +1 -1
  11. package/gallery/components/image-viewer/slide.js +1 -1
  12. package/gallery/esm/Component.js +2 -2
  13. package/gallery/esm/components/header/Component.js +1 -1
  14. package/gallery/esm/components/header/buttons.js +1 -1
  15. package/gallery/esm/components/header/index.js +1 -1
  16. package/gallery/esm/components/image-preview/Component.js +1 -1
  17. package/gallery/esm/components/image-preview/index.js +1 -1
  18. package/gallery/esm/components/image-viewer/component.js +1 -1
  19. package/gallery/esm/components/image-viewer/index.js +1 -1
  20. package/gallery/esm/components/image-viewer/slide.js +1 -1
  21. package/gallery/esm/components/index.js +2 -2
  22. package/gallery/esm/components/navigation-bar/Component.js +1 -1
  23. package/gallery/esm/components/navigation-bar/index.js +1 -1
  24. package/gallery/esm/index.js +2 -2
  25. package/gallery/modern/Component.js +2 -2
  26. package/gallery/modern/components/header/Component.js +1 -1
  27. package/gallery/modern/components/header/buttons.js +1 -1
  28. package/gallery/modern/components/header/index.js +1 -1
  29. package/gallery/modern/components/image-preview/Component.js +1 -1
  30. package/gallery/modern/components/image-preview/index.js +1 -1
  31. package/gallery/modern/components/image-viewer/component.js +1 -1
  32. package/gallery/modern/components/image-viewer/index.js +1 -1
  33. package/gallery/modern/components/image-viewer/slide.js +1 -1
  34. package/gallery/modern/components/index.js +2 -2
  35. package/gallery/modern/components/navigation-bar/Component.js +1 -1
  36. package/gallery/modern/components/navigation-bar/index.js +1 -1
  37. package/gallery/modern/index.js +2 -2
  38. package/icon-button/Component.d.ts +10 -0
  39. package/icon-button/Component.js +4 -3
  40. package/icon-button/cssm/Component.d.ts +10 -0
  41. package/icon-button/cssm/Component.js +2 -1
  42. package/icon-button/cssm/default.module.css +35 -3
  43. package/icon-button/cssm/inverted.module.css +35 -3
  44. package/icon-button/default.css +35 -3
  45. package/icon-button/esm/Component.d.ts +10 -0
  46. package/icon-button/esm/Component.js +4 -3
  47. package/icon-button/esm/default.css +35 -3
  48. package/icon-button/esm/inverted.css +35 -3
  49. package/icon-button/inverted.css +35 -3
  50. package/icon-button/modern/Component.d.ts +10 -0
  51. package/icon-button/modern/Component.js +4 -3
  52. package/icon-button/modern/default.css +35 -3
  53. package/icon-button/modern/inverted.css +35 -3
  54. package/input/components/base-input/Component.d.ts +2 -2
  55. package/input/cssm/components/base-input/Component.d.ts +2 -2
  56. package/input/esm/components/base-input/Component.d.ts +2 -2
  57. package/input/modern/components/base-input/Component.d.ts +2 -2
  58. package/international-phone-input/{Component-1fe708ea.d.ts → Component-0f35b62f.d.ts} +1 -1
  59. package/international-phone-input/Component.responsive.d.ts +4 -4
  60. package/international-phone-input/components/base-international-phone-input/Component.d.ts +1 -1
  61. package/international-phone-input/cssm/{Component-1fe708ea.d.ts → Component-0f35b62f.d.ts} +1 -1
  62. package/international-phone-input/cssm/Component.responsive.d.ts +4 -4
  63. package/international-phone-input/cssm/components/base-international-phone-input/Component.d.ts +1 -1
  64. package/international-phone-input/cssm/index-7ca84eff.d.ts +15 -0
  65. package/international-phone-input/cssm/types.d.ts +1 -1
  66. package/international-phone-input/cssm/{typings-1fe708ea.d.ts → typings-0f35b62f.d.ts} +38 -0
  67. package/international-phone-input/cssm/utils-89376c31.d.ts +1 -1
  68. package/international-phone-input/esm/{Component-1fe708ea.d.ts → Component-0f35b62f.d.ts} +1 -1
  69. package/international-phone-input/esm/Component.responsive.d.ts +4 -4
  70. package/international-phone-input/esm/components/base-international-phone-input/Component.d.ts +1 -1
  71. package/international-phone-input/esm/index-7ca84eff.d.ts +15 -0
  72. package/international-phone-input/esm/types.d.ts +1 -1
  73. package/international-phone-input/esm/{typings-1fe708ea.d.ts → typings-0f35b62f.d.ts} +38 -0
  74. package/international-phone-input/esm/utils-89376c31.d.ts +1 -1
  75. package/international-phone-input/index-7ca84eff.d.ts +15 -0
  76. package/international-phone-input/modern/{Component-1fe708ea.d.ts → Component-0f35b62f.d.ts} +1 -1
  77. package/international-phone-input/modern/Component.responsive.d.ts +4 -4
  78. package/international-phone-input/modern/components/base-international-phone-input/Component.d.ts +1 -1
  79. package/international-phone-input/modern/index-7ca84eff.d.ts +15 -0
  80. package/international-phone-input/modern/types.d.ts +1 -1
  81. package/international-phone-input/modern/{typings-1fe708ea.d.ts → typings-0f35b62f.d.ts} +38 -0
  82. package/international-phone-input/modern/utils-89376c31.d.ts +1 -1
  83. package/international-phone-input/types.d.ts +1 -1
  84. package/international-phone-input/{typings-1fe708ea.d.ts → typings-0f35b62f.d.ts} +38 -0
  85. package/international-phone-input/utils-89376c31.d.ts +1 -1
  86. package/modal/components/controls/Component.js +1 -1
  87. package/modal/components/footer/Component.js +1 -1
  88. package/modal/esm/Component.responsive.js +1 -1
  89. package/modal/esm/components/controls/Component.js +1 -1
  90. package/modal/esm/components/controls/index.js +1 -1
  91. package/modal/esm/components/footer/Component.js +1 -1
  92. package/modal/esm/desktop/Component.desktop.js +1 -1
  93. package/modal/esm/desktop/index.js +1 -1
  94. package/modal/esm/index.js +1 -1
  95. package/modal/esm/mobile/Component.mobile.js +1 -1
  96. package/modal/esm/mobile/index.js +1 -1
  97. package/modal/modern/Component.responsive.js +1 -1
  98. package/modal/modern/components/controls/Component.js +1 -1
  99. package/modal/modern/components/controls/index.js +1 -1
  100. package/modal/modern/components/footer/Component.js +1 -1
  101. package/modal/modern/desktop/Component.desktop.js +1 -1
  102. package/modal/modern/desktop/index.js +1 -1
  103. package/modal/modern/index.js +1 -1
  104. package/modal/modern/mobile/Component.mobile.js +1 -1
  105. package/modal/modern/mobile/index.js +1 -1
  106. package/notification/Component.js +2 -1
  107. package/notification/cssm/Component.js +2 -1
  108. package/notification/esm/Component.js +2 -1
  109. package/notification/esm/index.js +1 -0
  110. package/notification/modern/Component.js +2 -1
  111. package/notification/modern/index.js +1 -0
  112. package/notification-manager/component.js +2 -1
  113. package/notification-manager/cssm/component.js +2 -1
  114. package/notification-manager/esm/component.js +2 -1
  115. package/notification-manager/esm/index.js +1 -0
  116. package/notification-manager/modern/component.js +2 -1
  117. package/notification-manager/modern/index.js +1 -0
  118. package/package.json +2 -1
  119. package/picker-button/Component-0f35b62f.d.ts +5 -0
  120. package/picker-button/Component-c44170fe.d.ts +2 -2
  121. package/picker-button/cssm/Component-0f35b62f.d.ts +5 -0
  122. package/picker-button/cssm/Component-c44170fe.d.ts +2 -2
  123. package/picker-button/cssm/field/Component.d.ts +1 -1
  124. package/picker-button/cssm/index-bdb4c6b9.d.ts +1 -13
  125. package/picker-button/cssm/{typings-1fe708ea.d.ts → typings-0f35b62f.d.ts} +32 -0
  126. package/picker-button/cssm/utils-89376c31.d.ts +1 -1
  127. package/picker-button/esm/Component-0f35b62f.d.ts +5 -0
  128. package/picker-button/esm/Component-c44170fe.d.ts +2 -2
  129. package/picker-button/esm/field/Component.d.ts +1 -1
  130. package/picker-button/esm/index-bdb4c6b9.d.ts +1 -13
  131. package/picker-button/esm/{typings-1fe708ea.d.ts → typings-0f35b62f.d.ts} +32 -0
  132. package/picker-button/esm/utils-89376c31.d.ts +1 -1
  133. package/picker-button/field/Component.d.ts +1 -1
  134. package/picker-button/index-bdb4c6b9.d.ts +1 -13
  135. package/picker-button/modern/Component-0f35b62f.d.ts +5 -0
  136. package/picker-button/modern/Component-c44170fe.d.ts +2 -2
  137. package/picker-button/modern/field/Component.d.ts +1 -1
  138. package/picker-button/modern/index-bdb4c6b9.d.ts +1 -13
  139. package/picker-button/modern/{typings-1fe708ea.d.ts → typings-0f35b62f.d.ts} +32 -0
  140. package/picker-button/modern/utils-89376c31.d.ts +1 -1
  141. package/picker-button/{typings-1fe708ea.d.ts → typings-0f35b62f.d.ts} +32 -0
  142. package/picker-button/utils-89376c31.d.ts +1 -1
  143. package/popover/Component.js +2 -1
  144. package/popover/cssm/Component.js +2 -1
  145. package/popover/esm/Component.js +2 -1
  146. package/popover/esm/index.js +1 -0
  147. package/popover/modern/Component.js +2 -1
  148. package/popover/modern/index.js +1 -0
  149. package/select/components/base-select/Component.js +2 -2
  150. package/select/components/options-list/Component.js +2 -2
  151. package/select/components/virtual-options-list/Component.js +4 -2
  152. package/select/cssm/components/base-select/Component.js +2 -2
  153. package/select/cssm/components/options-list/Component.js +2 -2
  154. package/select/cssm/components/virtual-options-list/Component.js +4 -2
  155. package/select/cssm/typings.d.ts +32 -0
  156. package/select/esm/components/base-select/Component.js +2 -2
  157. package/select/esm/components/options-list/Component.js +2 -2
  158. package/select/esm/components/virtual-options-list/Component.js +4 -2
  159. package/select/esm/typings.d.ts +32 -0
  160. package/select/modern/components/base-select/Component.js +2 -2
  161. package/select/modern/components/options-list/Component.js +2 -2
  162. package/select/modern/components/virtual-options-list/Component.js +2 -2
  163. package/select/modern/typings.d.ts +32 -0
  164. package/select/typings.d.ts +32 -0
  165. package/stack/component.js +4 -4
  166. package/stack/cssm/component.js +4 -4
  167. package/stack/cssm/index.d.ts +0 -1
  168. package/stack/cssm/index.js +0 -3
  169. package/stack/esm/component.js +1 -1
  170. package/stack/esm/index.d.ts +0 -1
  171. package/stack/esm/index.js +1 -1
  172. package/stack/index.d.ts +0 -1
  173. package/stack/index.js +0 -3
  174. package/stack/modern/component.js +1 -1
  175. package/stack/modern/index.d.ts +0 -1
  176. package/stack/modern/index.js +1 -1
  177. package/status/Component.d.ts +2 -1
  178. package/status/Component.js +2 -2
  179. package/status/cssm/Component.d.ts +2 -1
  180. package/status/cssm/Component.js +1 -1
  181. package/status/cssm/index.module.css +74 -29
  182. package/status/esm/Component.d.ts +2 -1
  183. package/status/esm/Component.js +2 -2
  184. package/status/esm/index.css +55 -27
  185. package/status/index.css +55 -27
  186. package/status/modern/Component.d.ts +2 -1
  187. package/status/modern/Component.js +2 -2
  188. package/status/modern/index.css +55 -27
  189. package/themes/click.css +0 -1516
  190. package/themes/compiled/mobile-dark-bluetint.css +210 -50
  191. package/themes/corp.css +0 -1516
  192. package/themes/intranet.css +0 -1516
  193. package/themes/mobile.css +0 -1516
  194. package/themes/site.css +0 -1516
  195. package/toast/components/base-toast/component.js +2 -1
  196. package/toast/cssm/components/base-toast/component.js +2 -1
  197. package/toast/esm/Component.responsive.js +1 -0
  198. package/toast/esm/components/base-toast/component.js +2 -1
  199. package/toast/esm/components/base-toast/index.js +1 -0
  200. package/toast/esm/desktop/Component.desktop.js +1 -0
  201. package/toast/esm/desktop/index.js +1 -0
  202. package/toast/esm/index.js +1 -0
  203. package/toast/esm/mobile/Component.mobile.js +1 -0
  204. package/toast/esm/mobile/index.js +1 -0
  205. package/toast/modern/Component.responsive.js +1 -0
  206. package/toast/modern/components/base-toast/component.js +2 -1
  207. package/toast/modern/components/base-toast/index.js +1 -0
  208. package/toast/modern/desktop/Component.desktop.js +1 -0
  209. package/toast/modern/desktop/index.js +1 -0
  210. package/toast/modern/index.js +1 -0
  211. package/toast/modern/mobile/Component.mobile.js +1 -0
  212. package/toast/modern/mobile/index.js +1 -0
  213. package/toast-plate/components/base-toast-plate/component.js +1 -1
  214. package/toast-plate/components/base-toast-plate/utils/getBaseToastPlateTestIds.js +1 -1
  215. package/toast-plate/esm/Component.responsive.js +1 -1
  216. package/toast-plate/esm/components/base-toast-plate/component.js +1 -1
  217. package/toast-plate/esm/components/base-toast-plate/index.js +1 -1
  218. package/toast-plate/esm/components/base-toast-plate/utils/getBaseToastPlateTestIds.js +1 -1
  219. package/toast-plate/esm/desktop/Component.desktop.js +1 -1
  220. package/toast-plate/esm/desktop/index.js +1 -1
  221. package/toast-plate/esm/index-307da6d7.d.ts +1 -1
  222. package/toast-plate/esm/index.js +1 -1
  223. package/toast-plate/esm/mobile/Component.mobile.js +1 -1
  224. package/toast-plate/esm/mobile/index.js +1 -1
  225. package/toast-plate/index-307da6d7.d.ts +1 -1
  226. package/toast-plate/modern/Component.responsive.js +1 -1
  227. package/toast-plate/modern/components/base-toast-plate/component.js +1 -1
  228. package/toast-plate/modern/components/base-toast-plate/index.js +1 -1
  229. package/toast-plate/modern/components/base-toast-plate/utils/getBaseToastPlateTestIds.js +1 -1
  230. package/toast-plate/modern/desktop/Component.desktop.js +1 -1
  231. package/toast-plate/modern/desktop/index.js +1 -1
  232. package/toast-plate/modern/index-307da6d7.d.ts +1 -1
  233. package/toast-plate/modern/index.js +1 -1
  234. package/toast-plate/modern/mobile/Component.mobile.js +1 -1
  235. package/toast-plate/modern/mobile/index.js +1 -1
  236. package/universal-date-input/cssm/index-5712fce2.d.ts +1 -13
  237. package/universal-date-input/esm/index-5712fce2.d.ts +1 -13
  238. package/universal-date-input/index-5712fce2.d.ts +1 -13
  239. package/universal-date-input/modern/index-5712fce2.d.ts +1 -13
  240. package/international-phone-input/cssm/index-136acbb1.d.ts +0 -28
  241. package/international-phone-input/esm/index-136acbb1.d.ts +0 -28
  242. package/international-phone-input/index-136acbb1.d.ts +0 -28
  243. package/international-phone-input/modern/index-136acbb1.d.ts +0 -28
  244. package/picker-button/Component-1fe708ea.d.ts +0 -5
  245. package/picker-button/cssm/Component-1fe708ea.d.ts +0 -5
  246. package/picker-button/esm/Component-1fe708ea.d.ts +0 -5
  247. package/picker-button/modern/Component-1fe708ea.d.ts +0 -5
  248. package/stack/context.d.ts +0 -29
  249. package/stack/context.js +0 -34
  250. package/stack/cssm/context.d.ts +0 -29
  251. package/stack/cssm/context.js +0 -34
  252. package/stack/esm/context.d.ts +0 -29
  253. package/stack/esm/context.js +0 -31
  254. package/stack/modern/context.d.ts +0 -29
  255. package/stack/modern/context.js +0 -31
  256. /package/gallery/{buttons-36b3ca68.d.ts → buttons-2c587253.d.ts} +0 -0
  257. /package/gallery/{buttons-36b3ca68.js → buttons-2c587253.js} +0 -0
  258. /package/gallery/esm/{buttons-49e609ab.d.ts → buttons-fb317559.d.ts} +0 -0
  259. /package/gallery/esm/{buttons-49e609ab.js → buttons-fb317559.js} +0 -0
  260. /package/gallery/esm/{slide-01af06f1.d.ts → slide-cb44c8ba.d.ts} +0 -0
  261. /package/gallery/esm/{slide-01af06f1.js → slide-cb44c8ba.js} +0 -0
  262. /package/gallery/modern/{buttons-9e01c41d.d.ts → buttons-0d4c9cc6.d.ts} +0 -0
  263. /package/gallery/modern/{buttons-9e01c41d.js → buttons-0d4c9cc6.js} +0 -0
  264. /package/gallery/modern/{slide-0932c021.d.ts → slide-3771e01f.d.ts} +0 -0
  265. /package/gallery/modern/{slide-0932c021.js → slide-3771e01f.js} +0 -0
  266. /package/gallery/{slide-cbb98cfd.d.ts → slide-a4b1c89f.d.ts} +0 -0
  267. /package/gallery/{slide-cbb98cfd.js → slide-a4b1c89f.js} +0 -0
  268. /package/modal/esm/{layout.module-8f4bb5c4.js → layout.module-5977466c.js} +0 -0
  269. /package/modal/{layout.module-dd4e6f62.js → layout.module-74b07012.js} +0 -0
  270. /package/modal/modern/{layout.module-6bc66458.js → layout.module-565c309a.js} +0 -0
  271. /package/toast-plate/esm/{getDataTestId-1e8085ca.d.ts → getDataTestId-32922464.d.ts} +0 -0
  272. /package/toast-plate/esm/{getDataTestId-1e8085ca.js → getDataTestId-32922464.js} +0 -0
  273. /package/toast-plate/{getDataTestId-4ff6c5ff.d.ts → getDataTestId-64de4ccf.d.ts} +0 -0
  274. /package/toast-plate/{getDataTestId-4ff6c5ff.js → getDataTestId-64de4ccf.js} +0 -0
  275. /package/toast-plate/modern/{getDataTestId-11ebf806.d.ts → getDataTestId-4d724a67.d.ts} +0 -0
  276. /package/toast-plate/modern/{getDataTestId-11ebf806.js → getDataTestId-4d724a67.js} +0 -0
@@ -174,18 +174,6 @@ declare function isScrolledToBottom(target: HTMLElement): boolean;
174
174
  declare function hasScrollbar(target: HTMLElement): boolean;
175
175
  declare const restoreContainerStyles: (container: HTMLElement) => void;
176
176
  declare const handleContainer: (container?: HTMLElement, shouldIOSLock?: boolean) => void;
177
- /**
178
- * Набор констант для z-index соответствующих классов компонентов.
179
- * Значения выбраны по приоритету.
180
- */
181
- declare const stackingOrder: {
182
- FOCUSED: number;
183
- DEFAULT: number;
184
- POPOVER: number;
185
- MODAL: number;
186
- TOAST: number;
187
- };
188
- declare const StackingContext: import("react").Context<number>;
189
177
  type StackProps = {
190
178
  /**
191
179
  * Render prop, в который передается функция.
@@ -226,5 +214,5 @@ declare class GlobalStore {
226
214
  constructor();
227
215
  getModalStore: () => ModalStore;
228
216
  }
229
- export { BaseModalProps, BaseModalContext, BaseModal, isScrolledToTop, isScrolledToBottom, hasScrollbar, restoreContainerStyles, handleContainer, stackingOrder, StackingContext, StackProps, Stack, lockScroll, unlockScroll, syncHeight, PORTAL_CONTAINER_ATTRIBUTE, getDefaultPortalContainer, setRef, getModalStore, GlobalStore };
217
+ export { BaseModalProps, BaseModalContext, BaseModal, isScrolledToTop, isScrolledToBottom, hasScrollbar, restoreContainerStyles, handleContainer, StackProps, Stack, lockScroll, unlockScroll, syncHeight, PORTAL_CONTAINER_ATTRIBUTE, getDefaultPortalContainer, setRef, getModalStore, GlobalStore };
230
218
  export type { SavedStyle };
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { OptgroupProps } from "./typings-0f35b62f";
4
+ declare const Optgroup: ({ children, className, label, size }: OptgroupProps) => React.JSX.Element;
5
+ export { Optgroup };
@@ -58,7 +58,7 @@ type BaseInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type
58
58
  /**
59
59
  * Атрибут type
60
60
  */
61
- type?: 'number' | 'card' | 'email' | 'money' | 'password' | 'tel' | 'text';
61
+ type?: 'number' | 'email' | 'money' | 'password' | 'tel' | 'text';
62
62
  /**
63
63
  * Ref для обертки input
64
64
  */
@@ -196,7 +196,7 @@ declare const BaseInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAtt
196
196
  /**
197
197
  * Атрибут type
198
198
  */
199
- type?: "number" | "text" | "tel" | "email" | "password" | "card" | "money" | undefined;
199
+ type?: "number" | "text" | "tel" | "email" | "password" | "money" | undefined;
200
200
  /**
201
201
  * Ref для обертки input
202
202
  */
@@ -2,7 +2,7 @@
2
2
  import React from 'react';
3
3
  import { ComponentType, SVGProps } from "react";
4
4
  import { ButtonProps } from "../../../button";
5
- import { FieldProps as BaseFieldProps } from "../typings-1fe708ea";
5
+ import { FieldProps as BaseFieldProps } from "../typings-0f35b62f";
6
6
  import { PickerButtonSize, PickerButtonVariant } from "../types";
7
7
  type FieldProps = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> & ButtonProps & {
8
8
  buttonSize?: PickerButtonSize;
@@ -174,18 +174,6 @@ declare function isScrolledToBottom(target: HTMLElement): boolean;
174
174
  declare function hasScrollbar(target: HTMLElement): boolean;
175
175
  declare const restoreContainerStyles: (container: HTMLElement) => void;
176
176
  declare const handleContainer: (container?: HTMLElement, shouldIOSLock?: boolean) => void;
177
- /**
178
- * Набор констант для z-index соответствующих классов компонентов.
179
- * Значения выбраны по приоритету.
180
- */
181
- declare const stackingOrder: {
182
- FOCUSED: number;
183
- DEFAULT: number;
184
- POPOVER: number;
185
- MODAL: number;
186
- TOAST: number;
187
- };
188
- declare const StackingContext: import("react").Context<number>;
189
177
  type StackProps = {
190
178
  /**
191
179
  * Render prop, в который передается функция.
@@ -226,5 +214,5 @@ declare class GlobalStore {
226
214
  constructor();
227
215
  getModalStore: () => ModalStore;
228
216
  }
229
- export { BaseModalProps, BaseModalContext, BaseModal, isScrolledToTop, isScrolledToBottom, hasScrollbar, restoreContainerStyles, handleContainer, stackingOrder, StackingContext, StackProps, Stack, lockScroll, unlockScroll, syncHeight, PORTAL_CONTAINER_ATTRIBUTE, getDefaultPortalContainer, setRef, getModalStore, GlobalStore };
217
+ export { BaseModalProps, BaseModalContext, BaseModal, isScrolledToTop, isScrolledToBottom, hasScrollbar, restoreContainerStyles, handleContainer, StackProps, Stack, lockScroll, unlockScroll, syncHeight, PORTAL_CONTAINER_ATTRIBUTE, getDefaultPortalContainer, setRef, getModalStore, GlobalStore };
230
218
  export type { SavedStyle };
@@ -881,6 +881,18 @@ type OptionsListProps = {
881
881
  * Указать индекс пункта для hover состояния
882
882
  */
883
883
  setHighlightedIndex?: (index: number) => void;
884
+ /**
885
+ * Обработчик добавления в список выбранных вариантов
886
+ */
887
+ addSelectedItem?: (item: OptionShape) => void;
888
+ /**
889
+ * Обработчик удаления из списка выбранных вариантов
890
+ */
891
+ removeSelectedItem?: (item: OptionShape) => void;
892
+ /**
893
+ * Значение поиска
894
+ */
895
+ search?: string;
884
896
  };
885
897
  type OptgroupProps = {
886
898
  /**
@@ -900,6 +912,26 @@ type OptgroupProps = {
900
912
  * Дочерние элементы
901
913
  */
902
914
  children?: ReactNode;
915
+ /**
916
+ * Список вариантов выбора в группе
917
+ */
918
+ options?: OptionShape[];
919
+ /**
920
+ * Список выбранных вариантов в группе
921
+ */
922
+ selectedItems?: OptionShape[];
923
+ /**
924
+ * Обработчик добавления в список выбранных вариантов
925
+ */
926
+ addSelectedItem?: (item: OptionShape) => void;
927
+ /**
928
+ * Обработчик удаления из списка выбранных вариантов
929
+ */
930
+ removeSelectedItem?: (item: OptionShape) => void;
931
+ /**
932
+ * Значение поиска
933
+ */
934
+ search?: string;
903
935
  };
904
936
  type OptionProps = {
905
937
  /**
@@ -1,5 +1,5 @@
1
1
  import { ReactNode, RefObject } from 'react';
2
- import { BaseSelectProps, GroupShape, OptionShape } from "./typings-1fe708ea";
2
+ import { BaseSelectProps, GroupShape, OptionShape } from "./typings-0f35b62f";
3
3
  declare const isGroup: (item: OptionShape | GroupShape) => item is GroupShape;
4
4
  declare const isOptionShape: (item: OptionShape | string | null) => item is OptionShape;
5
5
  declare const joinOptions: ({ selected, selectedMultiple, }: {
@@ -881,6 +881,18 @@ type OptionsListProps = {
881
881
  * Указать индекс пункта для hover состояния
882
882
  */
883
883
  setHighlightedIndex?: (index: number) => void;
884
+ /**
885
+ * Обработчик добавления в список выбранных вариантов
886
+ */
887
+ addSelectedItem?: (item: OptionShape) => void;
888
+ /**
889
+ * Обработчик удаления из списка выбранных вариантов
890
+ */
891
+ removeSelectedItem?: (item: OptionShape) => void;
892
+ /**
893
+ * Значение поиска
894
+ */
895
+ search?: string;
884
896
  };
885
897
  type OptgroupProps = {
886
898
  /**
@@ -900,6 +912,26 @@ type OptgroupProps = {
900
912
  * Дочерние элементы
901
913
  */
902
914
  children?: ReactNode;
915
+ /**
916
+ * Список вариантов выбора в группе
917
+ */
918
+ options?: OptionShape[];
919
+ /**
920
+ * Список выбранных вариантов в группе
921
+ */
922
+ selectedItems?: OptionShape[];
923
+ /**
924
+ * Обработчик добавления в список выбранных вариантов
925
+ */
926
+ addSelectedItem?: (item: OptionShape) => void;
927
+ /**
928
+ * Обработчик удаления из списка выбранных вариантов
929
+ */
930
+ removeSelectedItem?: (item: OptionShape) => void;
931
+ /**
932
+ * Значение поиска
933
+ */
934
+ search?: string;
903
935
  };
904
936
  type OptionProps = {
905
937
  /**
@@ -1,5 +1,5 @@
1
1
  import { ReactNode, RefObject } from 'react';
2
- import { BaseSelectProps, GroupShape, OptionShape } from "./typings-1fe708ea";
2
+ import { BaseSelectProps, GroupShape, OptionShape } from "./typings-0f35b62f";
3
3
  declare const isGroup: (item: OptionShape | GroupShape) => item is GroupShape;
4
4
  declare const isOptionShape: (item: OptionShape | string | null) => item is OptionShape;
5
5
  declare const joinOptions: ({ selected, selectedMultiple, }: {
@@ -11,6 +11,7 @@ var maxSize = require('popper-max-size-modifier');
11
11
  var coreComponentsPortal = require('../portal');
12
12
  var coreComponentsStack = require('../stack');
13
13
  var hooks = require('@alfalab/hooks');
14
+ var stackContext = require('@alfalab/stack-context');
14
15
 
15
16
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
16
17
 
@@ -65,7 +66,7 @@ function getArrowPadding(_a) {
65
66
  return 0;
66
67
  }
67
68
  var Popover = React.forwardRef(function (_a, ref) {
68
- var children = _a.children, getPortalContainer = _a.getPortalContainer, _b = _a.transition, transition = _b === void 0 ? DEFAULT_TRANSITION : _b, anchorElement = _a.anchorElement, useAnchorWidth = _a.useAnchorWidth, _c = _a.offset, offset = _c === void 0 ? DEFAULT_OFFSET : _c, _d = _a.withArrow, withArrow = _d === void 0 ? false : _d, _e = _a.withTransition, withTransition = _e === void 0 ? true : _e, _f = _a.position, position = _f === void 0 ? 'left' : _f, preventFlip = _a.preventFlip, popperClassName = _a.popperClassName, arrowClassName = _a.arrowClassName, className = _a.className, open = _a.open, dataTestId = _a.dataTestId, update = _a.update, _g = _a.transitionDuration, transitionDuration = _g === void 0 ? "".concat(transition.timeout, "ms") : _g, _h = _a.zIndex, zIndex = _h === void 0 ? coreComponentsStack.stackingOrder.POPOVER : _h, fallbackPlacements = _a.fallbackPlacements, _j = _a.preventOverflow, preventOverflow = _j === void 0 ? true : _j, _k = _a.availableHeight, availableHeight = _k === void 0 ? false : _k;
69
+ var children = _a.children, getPortalContainer = _a.getPortalContainer, _b = _a.transition, transition = _b === void 0 ? DEFAULT_TRANSITION : _b, anchorElement = _a.anchorElement, useAnchorWidth = _a.useAnchorWidth, _c = _a.offset, offset = _c === void 0 ? DEFAULT_OFFSET : _c, _d = _a.withArrow, withArrow = _d === void 0 ? false : _d, _e = _a.withTransition, withTransition = _e === void 0 ? true : _e, _f = _a.position, position = _f === void 0 ? 'left' : _f, preventFlip = _a.preventFlip, popperClassName = _a.popperClassName, arrowClassName = _a.arrowClassName, className = _a.className, open = _a.open, dataTestId = _a.dataTestId, update = _a.update, _g = _a.transitionDuration, transitionDuration = _g === void 0 ? "".concat(transition.timeout, "ms") : _g, _h = _a.zIndex, zIndex = _h === void 0 ? stackContext.stackingOrder.POPOVER : _h, fallbackPlacements = _a.fallbackPlacements, _j = _a.preventOverflow, preventOverflow = _j === void 0 ? true : _j, _k = _a.availableHeight, availableHeight = _k === void 0 ? false : _k;
69
70
  var _l = React.useState(anchorElement), referenceElement = _l[0], setReferenceElement = _l[1];
70
71
  var _m = React.useState(null), popperElement = _m[0], setPopperElement = _m[1];
71
72
  var _o = React.useState(null), arrowElement = _o[0], setArrowElement = _o[1];
@@ -11,6 +11,7 @@ var maxSize = require('popper-max-size-modifier');
11
11
  var coreComponentsPortal = require('../../portal/cssm');
12
12
  var coreComponentsStack = require('../../stack/cssm');
13
13
  var hooks = require('@alfalab/hooks');
14
+ var stackContext = require('@alfalab/stack-context');
14
15
  var styles = require('./index.module.css');
15
16
 
16
17
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -64,7 +65,7 @@ function getArrowPadding(_a) {
64
65
  return 0;
65
66
  }
66
67
  var Popover = React.forwardRef(function (_a, ref) {
67
- var children = _a.children, getPortalContainer = _a.getPortalContainer, _b = _a.transition, transition = _b === void 0 ? DEFAULT_TRANSITION : _b, anchorElement = _a.anchorElement, useAnchorWidth = _a.useAnchorWidth, _c = _a.offset, offset = _c === void 0 ? DEFAULT_OFFSET : _c, _d = _a.withArrow, withArrow = _d === void 0 ? false : _d, _e = _a.withTransition, withTransition = _e === void 0 ? true : _e, _f = _a.position, position = _f === void 0 ? 'left' : _f, preventFlip = _a.preventFlip, popperClassName = _a.popperClassName, arrowClassName = _a.arrowClassName, className = _a.className, open = _a.open, dataTestId = _a.dataTestId, update = _a.update, _g = _a.transitionDuration, transitionDuration = _g === void 0 ? "".concat(transition.timeout, "ms") : _g, _h = _a.zIndex, zIndex = _h === void 0 ? coreComponentsStack.stackingOrder.POPOVER : _h, fallbackPlacements = _a.fallbackPlacements, _j = _a.preventOverflow, preventOverflow = _j === void 0 ? true : _j, _k = _a.availableHeight, availableHeight = _k === void 0 ? false : _k;
68
+ var children = _a.children, getPortalContainer = _a.getPortalContainer, _b = _a.transition, transition = _b === void 0 ? DEFAULT_TRANSITION : _b, anchorElement = _a.anchorElement, useAnchorWidth = _a.useAnchorWidth, _c = _a.offset, offset = _c === void 0 ? DEFAULT_OFFSET : _c, _d = _a.withArrow, withArrow = _d === void 0 ? false : _d, _e = _a.withTransition, withTransition = _e === void 0 ? true : _e, _f = _a.position, position = _f === void 0 ? 'left' : _f, preventFlip = _a.preventFlip, popperClassName = _a.popperClassName, arrowClassName = _a.arrowClassName, className = _a.className, open = _a.open, dataTestId = _a.dataTestId, update = _a.update, _g = _a.transitionDuration, transitionDuration = _g === void 0 ? "".concat(transition.timeout, "ms") : _g, _h = _a.zIndex, zIndex = _h === void 0 ? stackContext.stackingOrder.POPOVER : _h, fallbackPlacements = _a.fallbackPlacements, _j = _a.preventOverflow, preventOverflow = _j === void 0 ? true : _j, _k = _a.availableHeight, availableHeight = _k === void 0 ? false : _k;
68
69
  var _l = React.useState(anchorElement), referenceElement = _l[0], setReferenceElement = _l[1];
69
70
  var _m = React.useState(null), popperElement = _m[0], setPopperElement = _m[1];
70
71
  var _o = React.useState(null), arrowElement = _o[0], setArrowElement = _o[1];
@@ -7,8 +7,9 @@ import { ResizeObserver } from '@juggle/resize-observer';
7
7
  import cn from 'classnames';
8
8
  import maxSize from 'popper-max-size-modifier';
9
9
  import { Portal } from '../../portal/esm';
10
- import { stackingOrder, Stack } from '../../stack/esm';
10
+ import { Stack } from '../../stack/esm';
11
11
  import { useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';
12
+ import { stackingOrder } from '@alfalab/stack-context';
12
13
 
13
14
  var styles = {"component":"popover__component_6dkfc","inner":"popover__inner_6dkfc","scrollableContent":"popover__scrollableContent_6dkfc","arrow":"popover__arrow_6dkfc","enter":"popover__enter_6dkfc","enterActive":"popover__enterActive_6dkfc","exit":"popover__exit_6dkfc","exitActive":"popover__exitActive_6dkfc"};
14
15
  require('./index.css');
@@ -10,3 +10,4 @@ import 'popper-max-size-modifier';
10
10
  import '../../portal/esm';
11
11
  import '../../stack/esm';
12
12
  import '@alfalab/hooks';
13
+ import '@alfalab/stack-context';
@@ -6,8 +6,9 @@ import { ResizeObserver } from '@juggle/resize-observer';
6
6
  import cn from 'classnames';
7
7
  import maxSize from 'popper-max-size-modifier';
8
8
  import { Portal } from '../../portal/modern';
9
- import { Stack, stackingOrder } from '../../stack/modern';
9
+ import { Stack } from '../../stack/modern';
10
10
  import { useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';
11
+ import { stackingOrder } from '@alfalab/stack-context';
11
12
 
12
13
  const styles = {"component":"popover__component_6dkfc","inner":"popover__inner_6dkfc","scrollableContent":"popover__scrollableContent_6dkfc","arrow":"popover__arrow_6dkfc","enter":"popover__enter_6dkfc","enterActive":"popover__enterActive_6dkfc","exit":"popover__exit_6dkfc","exitActive":"popover__exitActive_6dkfc"};
13
14
  require('./index.css');
@@ -9,3 +9,4 @@ import 'popper-max-size-modifier';
9
9
  import '../../portal/modern';
10
10
  import '../../stack/modern';
11
11
  import '@alfalab/hooks';
12
+ import '@alfalab/stack-context';
@@ -361,9 +361,9 @@ function (_a, ref) {
361
361
  return null;
362
362
  var listProps = optionsListProps;
363
363
  return (React__default.default.createElement("div", tslib.__assign({}, menuProps, { ref: view === 'desktop' ? menuRef : undefined, className: cn__default.default(optionsListClassName, view === 'mobile' && mobileStyles.optionsListWrapper, view === 'desktop' && styles.optionsListWrapper) }),
364
- React__default.default.createElement(OptionsList, tslib.__assign({}, listProps, { ref: view === 'desktop' ? listProps.ref : scrollableContainerRef, setHighlightedIndex: view === 'desktop' ? setHighlightedIndex : undefined, className: cn__default.default((_a = {}, _a[mobileStyles.optionsList] = view === 'mobile', _a)), scrollbarClassName: cn__default.default((_b = {}, _b[mobileStyles.scrollbar] = view === 'mobile', _b)), optionsListWidth: optionsListWidth, flatOptions: flatOptions, highlightedIndex: highlightedIndex, open: open, size: size, options: filteredOptions, Optgroup: Optgroup, Option: Option, selectedItems: selectedItems, setSelectedItems: setSelectedItems, toggleMenu: toggleMenu, getOptionProps: getOptionProps, visibleOptions: view === 'desktop' ? visibleOptions : 0, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'options-list'), header: renderOptionsListHeader(), optionGroupClassName: cn__default.default(optionGroupClassName, (_c = {},
364
+ React__default.default.createElement(OptionsList, tslib.__assign({}, listProps, { ref: view === 'desktop' ? listProps.ref : scrollableContainerRef, setHighlightedIndex: view === 'desktop' ? setHighlightedIndex : undefined, className: cn__default.default((_a = {}, _a[mobileStyles.optionsList] = view === 'mobile', _a)), scrollbarClassName: cn__default.default((_b = {}, _b[mobileStyles.scrollbar] = view === 'mobile', _b)), optionsListWidth: optionsListWidth, flatOptions: flatOptions, highlightedIndex: highlightedIndex, open: open, size: size, options: filteredOptions, Optgroup: Optgroup, Option: Option, selectedItems: selectedItems, setSelectedItems: setSelectedItems, addSelectedItem: addSelectedItem, removeSelectedItem: removeSelectedItem, toggleMenu: toggleMenu, getOptionProps: getOptionProps, visibleOptions: view === 'desktop' ? visibleOptions : 0, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'options-list'), header: renderOptionsListHeader(), optionGroupClassName: cn__default.default(optionGroupClassName, (_c = {},
365
365
  _c[mobileStyles.optionGroup] = view === 'mobile',
366
- _c)), emptyPlaceholder: renderEmptyPlaceholder(), onScroll: onScroll })),
366
+ _c)), emptyPlaceholder: renderEmptyPlaceholder(), onScroll: onScroll, search: search })),
367
367
  view === 'desktop' && React__default.default.createElement("div", { className: styles.optionsListBorder })));
368
368
  };
369
369
  var renderInPopover = function () {
@@ -27,7 +27,7 @@ var createCounter = function () {
27
27
  };
28
28
  var OptionsList = React.forwardRef(function (_a, ref) {
29
29
  var _b, _c;
30
- var _d = _a.size, size = _d === void 0 ? 48 : _d, className = _a.className, optionGroupClassName = _a.optionGroupClassName, scrollbarClassName = _a.scrollbarClassName, Option = _a.Option, getOptionProps = _a.getOptionProps, _e = _a.options, options = _e === void 0 ? [] : _e, _f = _a.Optgroup, Optgroup = _f === void 0 ? components_optgroup_Component.Optgroup : _f, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _g = _a.visibleOptions, visibleOptions = _g === void 0 ? consts.DEFAULT_VISIBLE_OPTIONS : _g, onScroll = _a.onScroll, open = _a.open, header = _a.header, footer = _a.footer, _h = _a.showFooter, showFooter = _h === void 0 ? true : _h, optionsListWidth = _a.optionsListWidth, nativeScrollbarProp = _a.nativeScrollbar, _j = _a.flatOptions, flatOptions = _j === void 0 ? [] : _j, setHighlightedIndex = _a.setHighlightedIndex;
30
+ var _d = _a.size, size = _d === void 0 ? 48 : _d, className = _a.className, optionGroupClassName = _a.optionGroupClassName, scrollbarClassName = _a.scrollbarClassName, Option = _a.Option, getOptionProps = _a.getOptionProps, _e = _a.options, options = _e === void 0 ? [] : _e, _f = _a.Optgroup, Optgroup = _f === void 0 ? components_optgroup_Component.Optgroup : _f, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _g = _a.visibleOptions, visibleOptions = _g === void 0 ? consts.DEFAULT_VISIBLE_OPTIONS : _g, onScroll = _a.onScroll, open = _a.open, header = _a.header, footer = _a.footer, _h = _a.showFooter, showFooter = _h === void 0 ? true : _h, optionsListWidth = _a.optionsListWidth, nativeScrollbarProp = _a.nativeScrollbar, _j = _a.flatOptions, flatOptions = _j === void 0 ? [] : _j, setHighlightedIndex = _a.setHighlightedIndex, selectedItems = _a.selectedItems, addSelectedItem = _a.addSelectedItem, removeSelectedItem = _a.removeSelectedItem, search = _a.search;
31
31
  var _k = React.useState(true), scrollTop = _k[0], setScrollTop = _k[1];
32
32
  var _l = React.useState(false), scrollBottom = _l[0], setScrollBottom = _l[1];
33
33
  var query = '(max-width: 1023px)';
@@ -47,7 +47,7 @@ var OptionsList = React.forwardRef(function (_a, ref) {
47
47
  var listRef = React.useRef(null);
48
48
  var scrollbarRef = React.useRef(null);
49
49
  var counter = createCounter();
50
- var renderGroup = function (group) { return (React__default.default.createElement(Optgroup, { className: optionGroupClassName, label: group.label, key: group.label, size: size }, group.options.map(function (option) { return renderOption(option, counter()); }))); };
50
+ var renderGroup = function (group) { return (React__default.default.createElement(Optgroup, { className: optionGroupClassName, label: group.label, key: group.label, size: size, options: group.options, selectedItems: selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.filter(function (item) { return group.options.includes(item); }), addSelectedItem: addSelectedItem, removeSelectedItem: removeSelectedItem, search: search }, group.options.map(function (option) { return renderOption(option, counter()); }))); };
51
51
  utils.useVisibleOptions(tslib.__assign(tslib.__assign({}, (!nativeScrollbar && { styleTargetRef: scrollbarRef })), { visibleOptions: visibleOptions, listRef: listRef, open: open, invalidate: options }));
52
52
  if (options.length === 0 && !emptyPlaceholder && !header && !footer) {
53
53
  return null;
@@ -23,7 +23,7 @@ require('./index.css');
23
23
 
24
24
  var VirtualOptionsList = React.forwardRef(function (_a, ref) {
25
25
  var _b;
26
- var _c = _a.size, size = _c === void 0 ? 48 : _c, _d = _a.flatOptions, flatOptions = _d === void 0 ? [] : _d, _e = _a.highlightedIndex, highlightedIndex = _e === void 0 ? -1 : _e, optionGroupClassName = _a.optionGroupClassName, className = _a.className, getOptionProps = _a.getOptionProps, Option = _a.Option, open = _a.open, _f = _a.options, options = _f === void 0 ? [] : _f, _g = _a.Optgroup, Optgroup = _g === void 0 ? components_optgroup_Component.Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _h = _a.visibleOptions, visibleOptions = _h === void 0 ? consts.DEFAULT_VISIBLE_OPTIONS : _h, header = _a.header, footer = _a.footer, _j = _a.showFooter, showFooter = _j === void 0 ? true : _j, optionsListWidth = _a.optionsListWidth, onScroll = _a.onScroll, nativeScrollbarProp = _a.nativeScrollbar, setHighlightedIndex = _a.setHighlightedIndex;
26
+ var _c = _a.size, size = _c === void 0 ? 48 : _c, _d = _a.flatOptions, flatOptions = _d === void 0 ? [] : _d, _e = _a.highlightedIndex, highlightedIndex = _e === void 0 ? -1 : _e, optionGroupClassName = _a.optionGroupClassName, className = _a.className, getOptionProps = _a.getOptionProps, Option = _a.Option, open = _a.open, _f = _a.options, options = _f === void 0 ? [] : _f, _g = _a.Optgroup, Optgroup = _g === void 0 ? components_optgroup_Component.Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _h = _a.visibleOptions, visibleOptions = _h === void 0 ? consts.DEFAULT_VISIBLE_OPTIONS : _h, header = _a.header, footer = _a.footer, _j = _a.showFooter, showFooter = _j === void 0 ? true : _j, optionsListWidth = _a.optionsListWidth, onScroll = _a.onScroll, nativeScrollbarProp = _a.nativeScrollbar, setHighlightedIndex = _a.setHighlightedIndex, selectedItems = _a.selectedItems, addSelectedItem = _a.addSelectedItem, removeSelectedItem = _a.removeSelectedItem, search = _a.search;
27
27
  var listRef = React.useRef(null);
28
28
  var parentRef = React.useRef(null);
29
29
  var scrollbarRef = React.useRef(null);
@@ -114,7 +114,9 @@ var VirtualOptionsList = React.forwardRef(function (_a, ref) {
114
114
  _a)), style: {
115
115
  transform: "translateY(".concat(virtualRow.start, "px)"),
116
116
  } },
117
- group && (React__default.default.createElement(Optgroup, { label: group.label, size: size, className: optionGroupClassName })),
117
+ group && (React__default.default.createElement(Optgroup, { label: group.label, size: size, className: optionGroupClassName, options: group.options, selectedItems: selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.filter(function (item) {
118
+ return group.options.includes(item);
119
+ }), addSelectedItem: addSelectedItem, removeSelectedItem: removeSelectedItem, search: search })),
118
120
  !utils.isGroup(option) && (React__default.default.createElement(Option, tslib.__assign({}, getOptionProps(option, virtualRow.index))))));
119
121
  });
120
122
  };
@@ -359,9 +359,9 @@ function (_a, ref) {
359
359
  return null;
360
360
  var listProps = optionsListProps;
361
361
  return (React__default.default.createElement("div", tslib.__assign({}, menuProps, { ref: view === 'desktop' ? menuRef : undefined, className: cn__default.default(optionsListClassName, view === 'mobile' && mobileStyles__default.default.optionsListWrapper, view === 'desktop' && styles__default.default.optionsListWrapper) }),
362
- React__default.default.createElement(OptionsList, tslib.__assign({}, listProps, { ref: view === 'desktop' ? listProps.ref : scrollableContainerRef, setHighlightedIndex: view === 'desktop' ? setHighlightedIndex : undefined, className: cn__default.default((_a = {}, _a[mobileStyles__default.default.optionsList] = view === 'mobile', _a)), scrollbarClassName: cn__default.default((_b = {}, _b[mobileStyles__default.default.scrollbar] = view === 'mobile', _b)), optionsListWidth: optionsListWidth, flatOptions: flatOptions, highlightedIndex: highlightedIndex, open: open, size: size, options: filteredOptions, Optgroup: Optgroup, Option: Option, selectedItems: selectedItems, setSelectedItems: setSelectedItems, toggleMenu: toggleMenu, getOptionProps: getOptionProps, visibleOptions: view === 'desktop' ? visibleOptions : 0, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'options-list'), header: renderOptionsListHeader(), optionGroupClassName: cn__default.default(optionGroupClassName, (_c = {},
362
+ React__default.default.createElement(OptionsList, tslib.__assign({}, listProps, { ref: view === 'desktop' ? listProps.ref : scrollableContainerRef, setHighlightedIndex: view === 'desktop' ? setHighlightedIndex : undefined, className: cn__default.default((_a = {}, _a[mobileStyles__default.default.optionsList] = view === 'mobile', _a)), scrollbarClassName: cn__default.default((_b = {}, _b[mobileStyles__default.default.scrollbar] = view === 'mobile', _b)), optionsListWidth: optionsListWidth, flatOptions: flatOptions, highlightedIndex: highlightedIndex, open: open, size: size, options: filteredOptions, Optgroup: Optgroup, Option: Option, selectedItems: selectedItems, setSelectedItems: setSelectedItems, addSelectedItem: addSelectedItem, removeSelectedItem: removeSelectedItem, toggleMenu: toggleMenu, getOptionProps: getOptionProps, visibleOptions: view === 'desktop' ? visibleOptions : 0, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'options-list'), header: renderOptionsListHeader(), optionGroupClassName: cn__default.default(optionGroupClassName, (_c = {},
363
363
  _c[mobileStyles__default.default.optionGroup] = view === 'mobile',
364
- _c)), emptyPlaceholder: renderEmptyPlaceholder(), onScroll: onScroll })),
364
+ _c)), emptyPlaceholder: renderEmptyPlaceholder(), onScroll: onScroll, search: search })),
365
365
  view === 'desktop' && React__default.default.createElement("div", { className: styles__default.default.optionsListBorder })));
366
366
  };
367
367
  var renderInPopover = function () {
@@ -26,7 +26,7 @@ var createCounter = function () {
26
26
  };
27
27
  var OptionsList = React.forwardRef(function (_a, ref) {
28
28
  var _b, _c;
29
- var _d = _a.size, size = _d === void 0 ? 48 : _d, className = _a.className, optionGroupClassName = _a.optionGroupClassName, scrollbarClassName = _a.scrollbarClassName, Option = _a.Option, getOptionProps = _a.getOptionProps, _e = _a.options, options = _e === void 0 ? [] : _e, _f = _a.Optgroup, Optgroup = _f === void 0 ? components_optgroup_Component.Optgroup : _f, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _g = _a.visibleOptions, visibleOptions = _g === void 0 ? consts.DEFAULT_VISIBLE_OPTIONS : _g, onScroll = _a.onScroll, open = _a.open, header = _a.header, footer = _a.footer, _h = _a.showFooter, showFooter = _h === void 0 ? true : _h, optionsListWidth = _a.optionsListWidth, nativeScrollbarProp = _a.nativeScrollbar, _j = _a.flatOptions, flatOptions = _j === void 0 ? [] : _j, setHighlightedIndex = _a.setHighlightedIndex;
29
+ var _d = _a.size, size = _d === void 0 ? 48 : _d, className = _a.className, optionGroupClassName = _a.optionGroupClassName, scrollbarClassName = _a.scrollbarClassName, Option = _a.Option, getOptionProps = _a.getOptionProps, _e = _a.options, options = _e === void 0 ? [] : _e, _f = _a.Optgroup, Optgroup = _f === void 0 ? components_optgroup_Component.Optgroup : _f, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _g = _a.visibleOptions, visibleOptions = _g === void 0 ? consts.DEFAULT_VISIBLE_OPTIONS : _g, onScroll = _a.onScroll, open = _a.open, header = _a.header, footer = _a.footer, _h = _a.showFooter, showFooter = _h === void 0 ? true : _h, optionsListWidth = _a.optionsListWidth, nativeScrollbarProp = _a.nativeScrollbar, _j = _a.flatOptions, flatOptions = _j === void 0 ? [] : _j, setHighlightedIndex = _a.setHighlightedIndex, selectedItems = _a.selectedItems, addSelectedItem = _a.addSelectedItem, removeSelectedItem = _a.removeSelectedItem, search = _a.search;
30
30
  var _k = React.useState(true), scrollTop = _k[0], setScrollTop = _k[1];
31
31
  var _l = React.useState(false), scrollBottom = _l[0], setScrollBottom = _l[1];
32
32
  var query = '(max-width: 1023px)';
@@ -46,7 +46,7 @@ var OptionsList = React.forwardRef(function (_a, ref) {
46
46
  var listRef = React.useRef(null);
47
47
  var scrollbarRef = React.useRef(null);
48
48
  var counter = createCounter();
49
- var renderGroup = function (group) { return (React__default.default.createElement(Optgroup, { className: optionGroupClassName, label: group.label, key: group.label, size: size }, group.options.map(function (option) { return renderOption(option, counter()); }))); };
49
+ var renderGroup = function (group) { return (React__default.default.createElement(Optgroup, { className: optionGroupClassName, label: group.label, key: group.label, size: size, options: group.options, selectedItems: selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.filter(function (item) { return group.options.includes(item); }), addSelectedItem: addSelectedItem, removeSelectedItem: removeSelectedItem, search: search }, group.options.map(function (option) { return renderOption(option, counter()); }))); };
50
50
  utils.useVisibleOptions(tslib.__assign(tslib.__assign({}, (!nativeScrollbar && { styleTargetRef: scrollbarRef })), { visibleOptions: visibleOptions, listRef: listRef, open: open, invalidate: options }));
51
51
  if (options.length === 0 && !emptyPlaceholder && !header && !footer) {
52
52
  return null;
@@ -22,7 +22,7 @@ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
22
22
 
23
23
  var VirtualOptionsList = React.forwardRef(function (_a, ref) {
24
24
  var _b;
25
- var _c = _a.size, size = _c === void 0 ? 48 : _c, _d = _a.flatOptions, flatOptions = _d === void 0 ? [] : _d, _e = _a.highlightedIndex, highlightedIndex = _e === void 0 ? -1 : _e, optionGroupClassName = _a.optionGroupClassName, className = _a.className, getOptionProps = _a.getOptionProps, Option = _a.Option, open = _a.open, _f = _a.options, options = _f === void 0 ? [] : _f, _g = _a.Optgroup, Optgroup = _g === void 0 ? components_optgroup_Component.Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _h = _a.visibleOptions, visibleOptions = _h === void 0 ? consts.DEFAULT_VISIBLE_OPTIONS : _h, header = _a.header, footer = _a.footer, _j = _a.showFooter, showFooter = _j === void 0 ? true : _j, optionsListWidth = _a.optionsListWidth, onScroll = _a.onScroll, nativeScrollbarProp = _a.nativeScrollbar, setHighlightedIndex = _a.setHighlightedIndex;
25
+ var _c = _a.size, size = _c === void 0 ? 48 : _c, _d = _a.flatOptions, flatOptions = _d === void 0 ? [] : _d, _e = _a.highlightedIndex, highlightedIndex = _e === void 0 ? -1 : _e, optionGroupClassName = _a.optionGroupClassName, className = _a.className, getOptionProps = _a.getOptionProps, Option = _a.Option, open = _a.open, _f = _a.options, options = _f === void 0 ? [] : _f, _g = _a.Optgroup, Optgroup = _g === void 0 ? components_optgroup_Component.Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _h = _a.visibleOptions, visibleOptions = _h === void 0 ? consts.DEFAULT_VISIBLE_OPTIONS : _h, header = _a.header, footer = _a.footer, _j = _a.showFooter, showFooter = _j === void 0 ? true : _j, optionsListWidth = _a.optionsListWidth, onScroll = _a.onScroll, nativeScrollbarProp = _a.nativeScrollbar, setHighlightedIndex = _a.setHighlightedIndex, selectedItems = _a.selectedItems, addSelectedItem = _a.addSelectedItem, removeSelectedItem = _a.removeSelectedItem, search = _a.search;
26
26
  var listRef = React.useRef(null);
27
27
  var parentRef = React.useRef(null);
28
28
  var scrollbarRef = React.useRef(null);
@@ -113,7 +113,9 @@ var VirtualOptionsList = React.forwardRef(function (_a, ref) {
113
113
  _a)), style: {
114
114
  transform: "translateY(".concat(virtualRow.start, "px)"),
115
115
  } },
116
- group && (React__default.default.createElement(Optgroup, { label: group.label, size: size, className: optionGroupClassName })),
116
+ group && (React__default.default.createElement(Optgroup, { label: group.label, size: size, className: optionGroupClassName, options: group.options, selectedItems: selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.filter(function (item) {
117
+ return group.options.includes(item);
118
+ }), addSelectedItem: addSelectedItem, removeSelectedItem: removeSelectedItem, search: search })),
117
119
  !utils.isGroup(option) && (React__default.default.createElement(Option, tslib.__assign({}, getOptionProps(option, virtualRow.index))))));
118
120
  });
119
121
  };
@@ -479,6 +479,18 @@ type OptionsListProps = {
479
479
  * Указать индекс пункта для hover состояния
480
480
  */
481
481
  setHighlightedIndex?: (index: number) => void;
482
+ /**
483
+ * Обработчик добавления в список выбранных вариантов
484
+ */
485
+ addSelectedItem?: (item: OptionShape) => void;
486
+ /**
487
+ * Обработчик удаления из списка выбранных вариантов
488
+ */
489
+ removeSelectedItem?: (item: OptionShape) => void;
490
+ /**
491
+ * Значение поиска
492
+ */
493
+ search?: string;
482
494
  };
483
495
  type OptgroupProps = {
484
496
  /**
@@ -498,6 +510,26 @@ type OptgroupProps = {
498
510
  * Дочерние элементы
499
511
  */
500
512
  children?: ReactNode;
513
+ /**
514
+ * Список вариантов выбора в группе
515
+ */
516
+ options?: OptionShape[];
517
+ /**
518
+ * Список выбранных вариантов в группе
519
+ */
520
+ selectedItems?: OptionShape[];
521
+ /**
522
+ * Обработчик добавления в список выбранных вариантов
523
+ */
524
+ addSelectedItem?: (item: OptionShape) => void;
525
+ /**
526
+ * Обработчик удаления из списка выбранных вариантов
527
+ */
528
+ removeSelectedItem?: (item: OptionShape) => void;
529
+ /**
530
+ * Значение поиска
531
+ */
532
+ search?: string;
501
533
  };
502
534
  type OptionProps = {
503
535
  /**
@@ -353,9 +353,9 @@ function (_a, ref) {
353
353
  return null;
354
354
  var listProps = optionsListProps;
355
355
  return (React.createElement("div", __assign({}, menuProps, { ref: view === 'desktop' ? menuRef : undefined, className: cn(optionsListClassName, view === 'mobile' && mobileStyles.optionsListWrapper, view === 'desktop' && styles.optionsListWrapper) }),
356
- React.createElement(OptionsList, __assign({}, listProps, { ref: view === 'desktop' ? listProps.ref : scrollableContainerRef, setHighlightedIndex: view === 'desktop' ? setHighlightedIndex : undefined, className: cn((_a = {}, _a[mobileStyles.optionsList] = view === 'mobile', _a)), scrollbarClassName: cn((_b = {}, _b[mobileStyles.scrollbar] = view === 'mobile', _b)), optionsListWidth: optionsListWidth, flatOptions: flatOptions, highlightedIndex: highlightedIndex, open: open, size: size, options: filteredOptions, Optgroup: Optgroup, Option: Option, selectedItems: selectedItems, setSelectedItems: setSelectedItems, toggleMenu: toggleMenu, getOptionProps: getOptionProps, visibleOptions: view === 'desktop' ? visibleOptions : 0, dataTestId: getDataTestId(dataTestId, 'options-list'), header: renderOptionsListHeader(), optionGroupClassName: cn(optionGroupClassName, (_c = {},
356
+ React.createElement(OptionsList, __assign({}, listProps, { ref: view === 'desktop' ? listProps.ref : scrollableContainerRef, setHighlightedIndex: view === 'desktop' ? setHighlightedIndex : undefined, className: cn((_a = {}, _a[mobileStyles.optionsList] = view === 'mobile', _a)), scrollbarClassName: cn((_b = {}, _b[mobileStyles.scrollbar] = view === 'mobile', _b)), optionsListWidth: optionsListWidth, flatOptions: flatOptions, highlightedIndex: highlightedIndex, open: open, size: size, options: filteredOptions, Optgroup: Optgroup, Option: Option, selectedItems: selectedItems, setSelectedItems: setSelectedItems, addSelectedItem: addSelectedItem, removeSelectedItem: removeSelectedItem, toggleMenu: toggleMenu, getOptionProps: getOptionProps, visibleOptions: view === 'desktop' ? visibleOptions : 0, dataTestId: getDataTestId(dataTestId, 'options-list'), header: renderOptionsListHeader(), optionGroupClassName: cn(optionGroupClassName, (_c = {},
357
357
  _c[mobileStyles.optionGroup] = view === 'mobile',
358
- _c)), emptyPlaceholder: renderEmptyPlaceholder(), onScroll: onScroll })),
358
+ _c)), emptyPlaceholder: renderEmptyPlaceholder(), onScroll: onScroll, search: search })),
359
359
  view === 'desktop' && React.createElement("div", { className: styles.optionsListBorder })));
360
360
  };
361
361
  var renderInPopover = function () {
@@ -19,7 +19,7 @@ var createCounter = function () {
19
19
  };
20
20
  var OptionsList = forwardRef(function (_a, ref) {
21
21
  var _b, _c;
22
- var _d = _a.size, size = _d === void 0 ? 48 : _d, className = _a.className, optionGroupClassName = _a.optionGroupClassName, scrollbarClassName = _a.scrollbarClassName, Option = _a.Option, getOptionProps = _a.getOptionProps, _e = _a.options, options = _e === void 0 ? [] : _e, _f = _a.Optgroup, Optgroup$1 = _f === void 0 ? Optgroup : _f, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _g = _a.visibleOptions, visibleOptions = _g === void 0 ? DEFAULT_VISIBLE_OPTIONS : _g, onScroll = _a.onScroll, open = _a.open, header = _a.header, footer = _a.footer, _h = _a.showFooter, showFooter = _h === void 0 ? true : _h, optionsListWidth = _a.optionsListWidth, nativeScrollbarProp = _a.nativeScrollbar, _j = _a.flatOptions, flatOptions = _j === void 0 ? [] : _j, setHighlightedIndex = _a.setHighlightedIndex;
22
+ var _d = _a.size, size = _d === void 0 ? 48 : _d, className = _a.className, optionGroupClassName = _a.optionGroupClassName, scrollbarClassName = _a.scrollbarClassName, Option = _a.Option, getOptionProps = _a.getOptionProps, _e = _a.options, options = _e === void 0 ? [] : _e, _f = _a.Optgroup, Optgroup$1 = _f === void 0 ? Optgroup : _f, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _g = _a.visibleOptions, visibleOptions = _g === void 0 ? DEFAULT_VISIBLE_OPTIONS : _g, onScroll = _a.onScroll, open = _a.open, header = _a.header, footer = _a.footer, _h = _a.showFooter, showFooter = _h === void 0 ? true : _h, optionsListWidth = _a.optionsListWidth, nativeScrollbarProp = _a.nativeScrollbar, _j = _a.flatOptions, flatOptions = _j === void 0 ? [] : _j, setHighlightedIndex = _a.setHighlightedIndex, selectedItems = _a.selectedItems, addSelectedItem = _a.addSelectedItem, removeSelectedItem = _a.removeSelectedItem, search = _a.search;
23
23
  var _k = useState(true), scrollTop = _k[0], setScrollTop = _k[1];
24
24
  var _l = useState(false), scrollBottom = _l[0], setScrollBottom = _l[1];
25
25
  var query = '(max-width: 1023px)';
@@ -39,7 +39,7 @@ var OptionsList = forwardRef(function (_a, ref) {
39
39
  var listRef = useRef(null);
40
40
  var scrollbarRef = useRef(null);
41
41
  var counter = createCounter();
42
- var renderGroup = function (group) { return (React.createElement(Optgroup$1, { className: optionGroupClassName, label: group.label, key: group.label, size: size }, group.options.map(function (option) { return renderOption(option, counter()); }))); };
42
+ var renderGroup = function (group) { return (React.createElement(Optgroup$1, { className: optionGroupClassName, label: group.label, key: group.label, size: size, options: group.options, selectedItems: selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.filter(function (item) { return group.options.includes(item); }), addSelectedItem: addSelectedItem, removeSelectedItem: removeSelectedItem, search: search }, group.options.map(function (option) { return renderOption(option, counter()); }))); };
43
43
  useVisibleOptions(__assign(__assign({}, (!nativeScrollbar && { styleTargetRef: scrollbarRef })), { visibleOptions: visibleOptions, listRef: listRef, open: open, invalidate: options }));
44
44
  if (options.length === 0 && !emptyPlaceholder && !header && !footer) {
45
45
  return null;
@@ -15,7 +15,7 @@ require('./index.css');
15
15
 
16
16
  var VirtualOptionsList = forwardRef(function (_a, ref) {
17
17
  var _b;
18
- var _c = _a.size, size = _c === void 0 ? 48 : _c, _d = _a.flatOptions, flatOptions = _d === void 0 ? [] : _d, _e = _a.highlightedIndex, highlightedIndex = _e === void 0 ? -1 : _e, optionGroupClassName = _a.optionGroupClassName, className = _a.className, getOptionProps = _a.getOptionProps, Option = _a.Option, open = _a.open, _f = _a.options, options = _f === void 0 ? [] : _f, _g = _a.Optgroup, Optgroup$1 = _g === void 0 ? Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _h = _a.visibleOptions, visibleOptions = _h === void 0 ? DEFAULT_VISIBLE_OPTIONS : _h, header = _a.header, footer = _a.footer, _j = _a.showFooter, showFooter = _j === void 0 ? true : _j, optionsListWidth = _a.optionsListWidth, onScroll = _a.onScroll, nativeScrollbarProp = _a.nativeScrollbar, setHighlightedIndex = _a.setHighlightedIndex;
18
+ var _c = _a.size, size = _c === void 0 ? 48 : _c, _d = _a.flatOptions, flatOptions = _d === void 0 ? [] : _d, _e = _a.highlightedIndex, highlightedIndex = _e === void 0 ? -1 : _e, optionGroupClassName = _a.optionGroupClassName, className = _a.className, getOptionProps = _a.getOptionProps, Option = _a.Option, open = _a.open, _f = _a.options, options = _f === void 0 ? [] : _f, _g = _a.Optgroup, Optgroup$1 = _g === void 0 ? Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _h = _a.visibleOptions, visibleOptions = _h === void 0 ? DEFAULT_VISIBLE_OPTIONS : _h, header = _a.header, footer = _a.footer, _j = _a.showFooter, showFooter = _j === void 0 ? true : _j, optionsListWidth = _a.optionsListWidth, onScroll = _a.onScroll, nativeScrollbarProp = _a.nativeScrollbar, setHighlightedIndex = _a.setHighlightedIndex, selectedItems = _a.selectedItems, addSelectedItem = _a.addSelectedItem, removeSelectedItem = _a.removeSelectedItem, search = _a.search;
19
19
  var listRef = useRef(null);
20
20
  var parentRef = useRef(null);
21
21
  var scrollbarRef = useRef(null);
@@ -106,7 +106,9 @@ var VirtualOptionsList = forwardRef(function (_a, ref) {
106
106
  _a)), style: {
107
107
  transform: "translateY(".concat(virtualRow.start, "px)"),
108
108
  } },
109
- group && (React.createElement(Optgroup$1, { label: group.label, size: size, className: optionGroupClassName })),
109
+ group && (React.createElement(Optgroup$1, { label: group.label, size: size, className: optionGroupClassName, options: group.options, selectedItems: selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.filter(function (item) {
110
+ return group.options.includes(item);
111
+ }), addSelectedItem: addSelectedItem, removeSelectedItem: removeSelectedItem, search: search })),
110
112
  !isGroup(option) && (React.createElement(Option, __assign({}, getOptionProps(option, virtualRow.index))))));
111
113
  });
112
114
  };
@@ -479,6 +479,18 @@ type OptionsListProps = {
479
479
  * Указать индекс пункта для hover состояния
480
480
  */
481
481
  setHighlightedIndex?: (index: number) => void;
482
+ /**
483
+ * Обработчик добавления в список выбранных вариантов
484
+ */
485
+ addSelectedItem?: (item: OptionShape) => void;
486
+ /**
487
+ * Обработчик удаления из списка выбранных вариантов
488
+ */
489
+ removeSelectedItem?: (item: OptionShape) => void;
490
+ /**
491
+ * Значение поиска
492
+ */
493
+ search?: string;
482
494
  };
483
495
  type OptgroupProps = {
484
496
  /**
@@ -498,6 +510,26 @@ type OptgroupProps = {
498
510
  * Дочерние элементы
499
511
  */
500
512
  children?: ReactNode;
513
+ /**
514
+ * Список вариантов выбора в группе
515
+ */
516
+ options?: OptionShape[];
517
+ /**
518
+ * Список выбранных вариантов в группе
519
+ */
520
+ selectedItems?: OptionShape[];
521
+ /**
522
+ * Обработчик добавления в список выбранных вариантов
523
+ */
524
+ addSelectedItem?: (item: OptionShape) => void;
525
+ /**
526
+ * Обработчик удаления из списка выбранных вариантов
527
+ */
528
+ removeSelectedItem?: (item: OptionShape) => void;
529
+ /**
530
+ * Значение поиска
531
+ */
532
+ search?: string;
501
533
  };
502
534
  type OptionProps = {
503
535
  /**
@@ -348,9 +348,9 @@ const BaseSelect = forwardRef(
348
348
  return null;
349
349
  const listProps = optionsListProps;
350
350
  return (React.createElement("div", { ...menuProps, ref: view === 'desktop' ? menuRef : undefined, className: cn(optionsListClassName, view === 'mobile' && mobileStyles.optionsListWrapper, view === 'desktop' && styles.optionsListWrapper) },
351
- React.createElement(OptionsList, { ...listProps, ref: view === 'desktop' ? listProps.ref : scrollableContainerRef, setHighlightedIndex: view === 'desktop' ? setHighlightedIndex : undefined, className: cn({ [mobileStyles.optionsList]: view === 'mobile' }), scrollbarClassName: cn({ [mobileStyles.scrollbar]: view === 'mobile' }), optionsListWidth: optionsListWidth, flatOptions: flatOptions, highlightedIndex: highlightedIndex, open: open, size: size, options: filteredOptions, Optgroup: Optgroup, Option: Option, selectedItems: selectedItems, setSelectedItems: setSelectedItems, toggleMenu: toggleMenu, getOptionProps: getOptionProps, visibleOptions: view === 'desktop' ? visibleOptions : 0, dataTestId: getDataTestId(dataTestId, 'options-list'), header: renderOptionsListHeader(), optionGroupClassName: cn(optionGroupClassName, {
351
+ React.createElement(OptionsList, { ...listProps, ref: view === 'desktop' ? listProps.ref : scrollableContainerRef, setHighlightedIndex: view === 'desktop' ? setHighlightedIndex : undefined, className: cn({ [mobileStyles.optionsList]: view === 'mobile' }), scrollbarClassName: cn({ [mobileStyles.scrollbar]: view === 'mobile' }), optionsListWidth: optionsListWidth, flatOptions: flatOptions, highlightedIndex: highlightedIndex, open: open, size: size, options: filteredOptions, Optgroup: Optgroup, Option: Option, selectedItems: selectedItems, setSelectedItems: setSelectedItems, addSelectedItem: addSelectedItem, removeSelectedItem: removeSelectedItem, toggleMenu: toggleMenu, getOptionProps: getOptionProps, visibleOptions: view === 'desktop' ? visibleOptions : 0, dataTestId: getDataTestId(dataTestId, 'options-list'), header: renderOptionsListHeader(), optionGroupClassName: cn(optionGroupClassName, {
352
352
  [mobileStyles.optionGroup]: view === 'mobile',
353
- }), emptyPlaceholder: renderEmptyPlaceholder(), onScroll: onScroll }),
353
+ }), emptyPlaceholder: renderEmptyPlaceholder(), onScroll: onScroll, search: search }),
354
354
  view === 'desktop' && React.createElement("div", { className: styles.optionsListBorder })));
355
355
  };
356
356
  const renderInPopover = () => {
@@ -16,7 +16,7 @@ const createCounter = () => {
16
16
  // eslint-disable-next-line no-plusplus
17
17
  return () => count++;
18
18
  };
19
- const OptionsList = forwardRef(({ size = 48, className, optionGroupClassName, scrollbarClassName, Option, getOptionProps, options = [], Optgroup: Optgroup$1 = Optgroup, dataTestId, emptyPlaceholder, visibleOptions = DEFAULT_VISIBLE_OPTIONS, onScroll, open, header, footer, showFooter = true, optionsListWidth, nativeScrollbar: nativeScrollbarProp, flatOptions = [], setHighlightedIndex, }, ref) => {
19
+ const OptionsList = forwardRef(({ size = 48, className, optionGroupClassName, scrollbarClassName, Option, getOptionProps, options = [], Optgroup: Optgroup$1 = Optgroup, dataTestId, emptyPlaceholder, visibleOptions = DEFAULT_VISIBLE_OPTIONS, onScroll, open, header, footer, showFooter = true, optionsListWidth, nativeScrollbar: nativeScrollbarProp, flatOptions = [], setHighlightedIndex, selectedItems, addSelectedItem, removeSelectedItem, search, }, ref) => {
20
20
  const [scrollTop, setScrollTop] = useState(true);
21
21
  const [scrollBottom, setScrollBottom] = useState(false);
22
22
  const query = '(max-width: 1023px)';
@@ -34,7 +34,7 @@ const OptionsList = forwardRef(({ size = 48, className, optionGroupClassName, sc
34
34
  const listRef = useRef(null);
35
35
  const scrollbarRef = useRef(null);
36
36
  const counter = createCounter();
37
- const renderGroup = (group) => (React.createElement(Optgroup$1, { className: optionGroupClassName, label: group.label, key: group.label, size: size }, group.options.map((option) => renderOption(option, counter()))));
37
+ const renderGroup = (group) => (React.createElement(Optgroup$1, { className: optionGroupClassName, label: group.label, key: group.label, size: size, options: group.options, selectedItems: selectedItems?.filter((item) => group.options.includes(item)), addSelectedItem: addSelectedItem, removeSelectedItem: removeSelectedItem, search: search }, group.options.map((option) => renderOption(option, counter()))));
38
38
  useVisibleOptions({
39
39
  ...(!nativeScrollbar && { styleTargetRef: scrollbarRef }),
40
40
  visibleOptions,
@@ -12,7 +12,7 @@ import { Optgroup } from '../optgroup/Component.js';
12
12
  const styles = {"virtualOptionsList":"select__virtualOptionsList_p60lz","virtualOptionsListHeader":"select__virtualOptionsListHeader_p60lz","virtualOptionsListFooter":"select__virtualOptionsListFooter_p60lz","withBorder":"select__withBorder_p60lz","scrollable":"select__scrollable_p60lz","inner":"select__inner_p60lz","virtualRow":"select__virtualRow_p60lz","highlighted":"select__highlighted_p60lz","emptyPlaceholder":"select__emptyPlaceholder_p60lz","size-64":"select__size-64_p60lz","size-72":"select__size-72_p60lz"};
13
13
  require('./index.css');
14
14
 
15
- const VirtualOptionsList = forwardRef(({ size = 48, flatOptions = [], highlightedIndex = -1, optionGroupClassName, className, getOptionProps, Option, open, options = [], Optgroup: Optgroup$1 = Optgroup, dataTestId, emptyPlaceholder, visibleOptions = DEFAULT_VISIBLE_OPTIONS, header, footer, showFooter = true, optionsListWidth, onScroll, nativeScrollbar: nativeScrollbarProp, setHighlightedIndex, }, ref) => {
15
+ const VirtualOptionsList = forwardRef(({ size = 48, flatOptions = [], highlightedIndex = -1, optionGroupClassName, className, getOptionProps, Option, open, options = [], Optgroup: Optgroup$1 = Optgroup, dataTestId, emptyPlaceholder, visibleOptions = DEFAULT_VISIBLE_OPTIONS, header, footer, showFooter = true, optionsListWidth, onScroll, nativeScrollbar: nativeScrollbarProp, setHighlightedIndex, selectedItems, addSelectedItem, removeSelectedItem, search, }, ref) => {
16
16
  const listRef = useRef(null);
17
17
  const parentRef = useRef(null);
18
18
  const scrollbarRef = useRef(null);
@@ -99,7 +99,7 @@ const VirtualOptionsList = forwardRef(({ size = 48, flatOptions = [], highlighte
99
99
  }), style: {
100
100
  transform: `translateY(${virtualRow.start}px)`,
101
101
  } },
102
- group && (React.createElement(Optgroup$1, { label: group.label, size: size, className: optionGroupClassName })),
102
+ group && (React.createElement(Optgroup$1, { label: group.label, size: size, className: optionGroupClassName, options: group.options, selectedItems: selectedItems?.filter((item) => group.options.includes(item)), addSelectedItem: addSelectedItem, removeSelectedItem: removeSelectedItem, search: search })),
103
103
  !isGroup(option) && (React.createElement(Option, { ...getOptionProps(option, virtualRow.index) }))));
104
104
  });
105
105
  const contentNodeProps = {